ColorWriteEnable inconsistency

Hi,

I've been trying to use ColorWriteEnable to independently modify the red and green channels of a G16R16 rendertarget texture but am getting inconsistent results.

On most formats except G32R32F, the REF device works as expected but the HAL device only seems to honour the write mask for a limited set of formats. (Screenshots of REF and HAL, based on this test code).

For G32R32F, the HAL driver ignores the write mask and the REF driver seems to write data in the wrong order. From the mode name, I'd have expected the first 4 bytes to be green and the second 4 red but with the write mask set to red, the first 4 bytes are modified and the second 4 left alone.

Can anyone explain the difference in behaviour I was relying on using the write mask feature at least on G16R16 but it appears not to work.

Code built with VS2005 and DXSDK October 2005 (yes, I know there are newer ones)
Tested on:
XP Pro 64, DXSDK Oct 2005/9.0c, Debug and retail, REF and HAL, ATI X800, x64 and x86 code.
XP Pro 32, DX9.0c retail, HAL only, NVidia Quadro 285, x86 code.

Thanks,
Jim Keir



Answer this question

ColorWriteEnable inconsistency

  • ColorWriteEnable inconsistency