Merge pull request #111032 from Joonnas/bugfix-stencil-issue-d3d12

Fix d3d12 stencil buffer not clearing
This commit is contained in:
Thaddeus Crews 2025-09-30 11:19:20 -05:00
commit 31b25d5971
No known key found for this signature in database
GPG key ID: 8C6E5FEB5FC03CCC

View file

@ -4619,9 +4619,12 @@ void RenderingDeviceDriverD3D12::command_begin_render_pass(CommandBufferID p_cmd
tex_info->pending_clear.remove_from_list(); tex_info->pending_clear.remove_from_list();
} }
} else if ((tex_info->desc.Flags & D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL)) { } else if ((tex_info->desc.Flags & D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL)) {
if (pass_info->attachments[i].stencil_load_op == ATTACHMENT_LOAD_OP_CLEAR) { if (pass_info->attachments[i].load_op == ATTACHMENT_LOAD_OP_CLEAR) {
clear.aspect.set_flag(TEXTURE_ASPECT_DEPTH_BIT); clear.aspect.set_flag(TEXTURE_ASPECT_DEPTH_BIT);
} }
if (pass_info->attachments[i].stencil_load_op == ATTACHMENT_LOAD_OP_CLEAR) {
clear.aspect.set_flag(TEXTURE_ASPECT_STENCIL_BIT);
}
} }
if (!clear.aspect.is_empty()) { if (!clear.aspect.is_empty()) {
clear.value = p_attachment_clears[i]; clear.value = p_attachment_clears[i];