Compute shaders bind the depth and stencil planes of a depth surface as storage images, to read the depth or to write it before later draws test against it. The driver kept depth on the GPU and refused such bindings. A depth surface now owns one storage image per plane (R32_SFLOAT or R16_UNORM for depth, R8_UINT for stencil). Binding copies the plane into it through a staging buffer; a written element is copied back into the depth image during write-back, so the next draw sees the shader's depth. A view whose extent differs from the surface's means the memory was reused for another texture and takes the ordinary texture path; this applies to sampled views of a depth surface too. PPSA15304 copies depth and stencil through storage images every frame. |
||
|---|---|---|
| .. | ||
| Decoder | ||
| libs | ||
| relinker | ||
| shader/recompiler | ||