My app uses a C++/CLI class which extends System.Windows.Forms.UserControl
and wraps a native C++ class which does Direct3d9 rendering using the Effects framework. Everything was working great until we upgraded our solution from VS2010 SP1 to VS2012.
In production machines, the apps work great, even a little faster than before. But when debugging, I randomly get one of two possible errors:
- A call to
LockRect
on a texture stays blocked forever - I get an access violation in
C:\Windows\SysWOW64\nvd3dum.dll
, version9.18.13.3182
.
I'm using Windows 7 Ultimate, 64 bits, with all latest updates. I'm using a dual monitor setup fed by a dual head Nvidia GeForce 210 GPU (one from the VGA output, another from the DVI with a DVI-to-VGA adapter).
Since this seems to be a graphics adapter problem, all I could think of was upgrading the Nvidia drivers to their latest version. This only made the errors even more frequent, rendering my dev box unusable for debugging. My coworkers have similar environments and don't experience this issue at all.
Perhaps the GPU has some physical damage? How can I check that? Any other tips on troubleshooting this?