Am 27.09.2010 um 12:57 schrieb Henri Verbeet: > On 27 September 2010 02:22, Travis Athougies <iamm...@gmail.com> wrote: >>>> + /* The Direct3D 9 docs state that we cannot lock a render target >>>> surface, >>>> + instead we must copy the render target onto this surface to lock >>>> it */ >>> I think you can, if you create it with D3DUSAGE_DYNAMIC | >>> D3DUSAGE_RENDERTARGET. If you want the backbuffer to be lockable you'll >>> need some device creation flag whose name I forgot. >> >> There is the lockable boolean argument that I think might work. I will >> look into using this >> > Please don't. I think GetRenderTargetData() is the correct way to do > this. I remember running into problems with this on some windows drivers(*) with surfaces from swapchains, which is why getPixelColor in the d3d9 tests uses StretchRect to a lockable offscreen render target to read the backbuffer. This may however be outdated and apparently doesn't apply to offscreen RTs - the d3d9 tests use GetRenderTargetData on offscreen RTs and I haven't seen an issue.
(*) I think it was my radeon 9000 mobility driver on the old acer travelmate 800.