Direct3D9 application won't write to depth buffer
- by DeadMG
I've got an application written in D3D9 which will not write any values to the depth buffer, resulting in incorrect values for the depth test. Things I've checked so far:
D3DRS_ZENABLE, set to TRUE
D3DRS_ZWRITEENABLE, set to TRUE
D3DRS_ZFUNC, set to D3DCMP_LESSEQUAL
The depth buffer is definitely bound to the pipeline at the relevant time
The depth buffer was correctly cleared before use.
I've used PIX to confirm that all of these things occurred as expected. For example, if I clear the depth buffer to 0 instead of 1, then correctly nothing is drawn, and PIX confirms that all the pixels failed the depth test. But I've also used PIX to confirm that my submitted geometry does not write to the depth buffer and so is not correctly rendered.
Any other suggestions?