From d1246b099e1628783d4176553c69ca6e715d6b5d Mon Sep 17 00:00:00 2001 From: Jonas Seidl Date: Mon, 29 Sep 2025 13:16:29 +0200 Subject: [PATCH] Fix d3d12 stencil buffer not clearing --- drivers/d3d12/rendering_device_driver_d3d12.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/d3d12/rendering_device_driver_d3d12.cpp b/drivers/d3d12/rendering_device_driver_d3d12.cpp index 06abc31c55a..69ba096f4f0 100644 --- a/drivers/d3d12/rendering_device_driver_d3d12.cpp +++ b/drivers/d3d12/rendering_device_driver_d3d12.cpp @@ -4619,9 +4619,12 @@ void RenderingDeviceDriverD3D12::command_begin_render_pass(CommandBufferID p_cmd tex_info->pending_clear.remove_from_list(); } } 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); } + 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()) { clear.value = p_attachment_clears[i];