Error in driver for Optimus based Notebooks with Geforce 820M

Some of our customers that bought NVidia Optimus based Notebooks with Geforce 820M complain about malfunctions of our D3D9 Renderer: No graphics output at all or weird framerates.
We narrowed that down and found out:

  • When creating a device with D3DPRESENTFLAG_DEVICECLIP, IDirect3DDevice9::Present() always fails
  • IDirect3DDevice9::GetRasterStatus() and IDirect3DSwapChain9::GetRasterStatus() always fails, even though D3DCAPS_READ_SCANLINE is set.
    Using Intel HD Graphics, all works fine, but with less performance, of course.
    Only the 820M seems to be affected by this, others work fine.
    Both functions, but in first line the GetRasterStatus() function, are essential for an exact timing of our rendering system. Can anything be done about this?
    Thank you!

hi RollerStevenson,

I’ve encountered the same problem with GeForce 840M as well and it doesn’t have a problem when it comes to Intel Integrated Graphics albeit slower.

However, you mentioned the use of D3DPRESENTFLAG_DEVICECLIP? I set the flags to 0 and the Present() call works. I seriously wonder why this is happening since the original code with device clip works with GTX 550 Ti…

Nvidia folks, could you enlighten us please?