Skip to content

d3d12: Handle depth readback on drivers that require full-resource copies for depth

Jesse Natalie requested to merge jenatali/mesa:d3d12-depth-readback into main

Qualcomm's Windows D3D12 driver doesn't support the programmable MSAA feature, and without that, D3D requires all depth copies to be whole-subresource with no rects. When GL tries to do box-based copies (readback/upload) copy the whole resource instead. If we're [de-]interleaving for depth+stencil, only do that on the necessary pixel(s). Otherwise, just give the app the pointer to the data inside the larger subresource.

Without this, Blender 2.93 will visually freeze when using the cursor, due to executing an invalid command list which puts the D3D device into a lost state. With this fix, the cursor moves to the right position.

Merge request reports