We are developing DirectX 9 applications on a AMD Embedded G-Series APU with AMD Radeon™ HD 6310 graphics on Windows XP SP3 (graphics driver version 8.91).
There seems to be a problem in multihead mode. We noticed some undefined flickering on the edge of a simple rotating object. When we switched to DirectX debug mode (from the DirectX Control Panel) the whole object turned pink. The debug version of DirectX uses this color to fill the back buffer after a present so that we can check whether the whole back buffer is rendered. The strange thing is that the object is visible as a pink (very low resolution) silhouette although we clear the target completely before rendering the object.
I found some workarounds for this:
-don't use D3DSWAPEFFECT_DISCARD (D3DSWAPEFFECT_FLIP or D3DSWAPEFFECT_COPY work)
-use triple buffering
-use a lockable back buffer (D3DPRESENTFLAG_LOCKABLE_BACKBUFFER) and lock/unlock the back buffer each frame
None of these workarounds satisfy me.
I found an old multihead example on the AMD website:
This sample code uses D3DSWAPEFFECT_FLIP and if changed to D3DSWAPEFFECT_DISCARD shows the same effect.
Can anybody reproduce this and present a solution?