瀏覽代碼

D3D12: Avoid cases of redundant render target clears

Pedro J. Estébanez 1 年之前
父節點
當前提交
8cf2903c7f
共有 1 個文件被更改,包括 1 次插入0 次删除
  1. 1 0
      drivers/d3d12/rendering_device_driver_d3d12.cpp

+ 1 - 0
drivers/d3d12/rendering_device_driver_d3d12.cpp

@@ -5057,6 +5057,7 @@ void RenderingDeviceDriverD3D12::command_begin_render_pass(CommandBufferID p_cmd
 			if (pass_info->attachments[i].load_op == ATTACHMENT_LOAD_OP_CLEAR) {
 			if (pass_info->attachments[i].load_op == ATTACHMENT_LOAD_OP_CLEAR) {
 				clear.aspect.set_flag(TEXTURE_ASPECT_COLOR_BIT);
 				clear.aspect.set_flag(TEXTURE_ASPECT_COLOR_BIT);
 				clear.color_attachment = i;
 				clear.color_attachment = i;
+				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].stencil_load_op == ATTACHMENT_LOAD_OP_CLEAR) {