浏览代码

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

Fix d3d12 stencil buffer not clearing
Thaddeus Crews 1 周之前
父节点
当前提交
31b25d5971
共有 1 个文件被更改,包括 4 次插入1 次删除
  1. 4 1
      drivers/d3d12/rendering_device_driver_d3d12.cpp

+ 4 - 1
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];