We have render engine in DX9 and have discovered with the recent drivers that when we have rendered the frames and tried reading back from the rendertargets the raster images are not updated cleanly as if it has mixed previous frames data. We assumed on calling functions like stretchrect and GetRendertargetdata the GPU flushed on its own and all the driver commands batched are executed.
But now we have to include a force flush by using IDirect3DQuery9 and do an ISSUE_END in each frame to get the data.This happens when sequentially multiple frames are rendered faster than real time.
Also one more observation regarding ID3DXFont which we use to show diagnostics on screen and drawn at the end of each frame. Sometimes they do not get cleared from the rendertarget even after calling Device Clear.This i am sure after one of the driver update.
We didnt notice this earlier is it this some some driver issue ?