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.



Reply via email to