02-27-2008 06:11 PM
Hi - When using DX9 Surfaces on XPPro with DG33TL motherboard (G33) and latest GFX drivers (188.8.131.52.4906), IDirect3DSurface9::LockRect() will sometimes return 88760827 - D3DERR_DRIVERINTERNALERROR. We use the D3DSurface9 to display bitmaps at 30 fps with: BeginScene() GetBackBuffer() LockRect() CopyMemory() UnlockRect() StretchRect() EndScene() Present() The code works with other graphics adapters and usually works with the G33. However, sometimes the G33 will fall over with the 88760827 error. Why does the driver return "internal error" from LockRect? How can I prevent this? Destroying the d3d device and surface, then recreating them doesn't fix the problem. It seems that the driver is hanging on to objects or getting into bad state that can't be recovered from. // Thanks, // J
04-29-2008 01:19 PM
It might be a driver bug... though I would think that you'd want to only do the StretchRect() between the BeginScene()/EndScene() pair. See if that doesn't help the driver behave any better...