From d339874a062abc735b4e148558508fb1da660c79 Mon Sep 17 00:00:00 2001 From: baldurk Date: Tue, 4 Dec 2018 18:16:34 +0000 Subject: [PATCH] Revert behaviour with cull mode not affecting texture overlays * This is kind of a "damned if you do, damned if you don't" situation. If the cullmode is wrong, having it show up as failures in depth/stencil overlays is misleading. However if the cullmode is deliberate setting it to no-cull may ruin the results of those overlays. * The original behaviour of leaving cullmode as is ends up being a better tradeoff, since at least when it is misleading you can use the culling overlay to show the failure there. If culling is disabled it makes depth/stencil overlays useless in situations with no recourse. * Also add a test of a depth-clipped triangle to overlay tests --- renderdoc/driver/d3d11/d3d11_overlay.cpp | 134 ++++++------------ renderdoc/driver/d3d12/d3d12_overlay.cpp | 5 +- renderdoc/driver/gl/gl_overlay.cpp | 12 +- renderdoc/driver/vulkan/vk_common.h | 2 +- renderdoc/driver/vulkan/vk_overlay.cpp | 70 ++++----- .../DebugOverlay.BackfaceCull.png | Bin 1182 -> 1229 bytes .../DebugOverlay.ClearBeforeDraw.png | Bin 2187 -> 2275 bytes .../DebugOverlay.ClearBeforePass.png | Bin 3135 -> 3225 bytes .../D3D11_Overlay_Test/DebugOverlay.Depth.png | Bin 1124 -> 1423 bytes .../DebugOverlay.Drawcall.png | Bin 1311 -> 1432 bytes .../DebugOverlay.QuadOverdrawDraw.png | Bin 1128 -> 1250 bytes .../DebugOverlay.QuadOverdrawPass.png | Bin 1874 -> 1991 bytes .../DebugOverlay.Stencil.png | Bin 1158 -> 1324 bytes .../DebugOverlay.TriangleSizeDraw.png | Bin 1041 -> 1112 bytes .../DebugOverlay.TriangleSizePass.png | Bin 1647 -> 1721 bytes .../data/D3D11_Overlay_Test/backbuffer.png | Bin 3788 -> 3851 bytes util/test/data/D3D11_Overlay_Test/depth.png | Bin 2246 -> 2633 bytes util/test/data/D3D11_Overlay_Test/stencil.png | Bin 1410 -> 1480 bytes .../DebugOverlay.BackfaceCull.png | Bin 1182 -> 1229 bytes .../DebugOverlay.ClearBeforeDraw.png | Bin 2187 -> 2275 bytes .../DebugOverlay.ClearBeforePass.png | Bin 3135 -> 3225 bytes .../D3D12_Overlay_Test/DebugOverlay.Depth.png | Bin 1124 -> 1423 bytes .../DebugOverlay.Drawcall.png | Bin 1311 -> 1432 bytes .../DebugOverlay.QuadOverdrawDraw.png | Bin 1128 -> 1250 bytes .../DebugOverlay.QuadOverdrawPass.png | Bin 1874 -> 1991 bytes .../DebugOverlay.Stencil.png | Bin 1158 -> 1324 bytes .../DebugOverlay.TriangleSizeDraw.png | Bin 1041 -> 1112 bytes .../DebugOverlay.TriangleSizePass.png | Bin 1647 -> 1721 bytes .../data/D3D12_Overlay_Test/backbuffer.png | Bin 3788 -> 3851 bytes util/test/data/D3D12_Overlay_Test/depth.png | Bin 2246 -> 2633 bytes util/test/data/D3D12_Overlay_Test/stencil.png | Bin 1410 -> 1480 bytes .../DebugOverlay.BackfaceCull.png | Bin 1182 -> 1229 bytes .../DebugOverlay.ClearBeforeDraw.png | Bin 2187 -> 2275 bytes .../DebugOverlay.ClearBeforePass.png | Bin 3135 -> 3225 bytes .../GL_Overlay_Test/DebugOverlay.Depth.png | Bin 1124 -> 1423 bytes .../GL_Overlay_Test/DebugOverlay.Drawcall.png | Bin 1311 -> 1432 bytes .../DebugOverlay.QuadOverdrawDraw.png | Bin 1128 -> 1250 bytes .../DebugOverlay.QuadOverdrawPass.png | Bin 1874 -> 1991 bytes .../GL_Overlay_Test/DebugOverlay.Stencil.png | Bin 1158 -> 1324 bytes .../DebugOverlay.TriangleSizeDraw.png | Bin 1041 -> 1112 bytes .../DebugOverlay.TriangleSizePass.png | Bin 1647 -> 1721 bytes util/test/data/GL_Overlay_Test/backbuffer.png | Bin 3788 -> 3851 bytes util/test/data/GL_Overlay_Test/depth.png | Bin 2246 -> 2633 bytes util/test/data/GL_Overlay_Test/stencil.png | Bin 1410 -> 1480 bytes .../DebugOverlay.BackfaceCull.png | Bin 1182 -> 1229 bytes .../DebugOverlay.ClearBeforeDraw.png | Bin 2187 -> 2275 bytes .../DebugOverlay.ClearBeforePass.png | Bin 3135 -> 3225 bytes .../VK_Overlay_Test/DebugOverlay.Depth.png | Bin 1124 -> 1423 bytes .../VK_Overlay_Test/DebugOverlay.Drawcall.png | Bin 1311 -> 1432 bytes .../DebugOverlay.QuadOverdrawDraw.png | Bin 1128 -> 1250 bytes .../DebugOverlay.QuadOverdrawPass.png | Bin 1874 -> 1991 bytes .../VK_Overlay_Test/DebugOverlay.Stencil.png | Bin 1158 -> 1324 bytes .../DebugOverlay.TriangleSizeDraw.png | Bin 1041 -> 1112 bytes .../DebugOverlay.TriangleSizePass.png | Bin 1647 -> 1721 bytes util/test/data/VK_Overlay_Test/backbuffer.png | Bin 3788 -> 3851 bytes util/test/data/VK_Overlay_Test/depth.png | Bin 2246 -> 2633 bytes util/test/data/VK_Overlay_Test/stencil.png | Bin 1410 -> 1480 bytes util/test/demos/d3d11/d3d11_overlay_test.cpp | 7 +- util/test/demos/d3d12/d3d12_overlay_test.cpp | 8 +- util/test/demos/gl/gl_overlay_test.cpp | 8 +- util/test/demos/vk/vk_overlay_test.cpp | 8 +- 61 files changed, 117 insertions(+), 137 deletions(-) diff --git a/renderdoc/driver/d3d11/d3d11_overlay.cpp b/renderdoc/driver/d3d11/d3d11_overlay.cpp index 71000350b..85eb9b3ad 100644 --- a/renderdoc/driver/d3d11/d3d11_overlay.cpp +++ b/renderdoc/driver/d3d11/d3d11_overlay.cpp @@ -1064,46 +1064,39 @@ ResourceId D3D11Replay::RenderOverlay(ResourceId texid, CompType typeHint, Debug if(!cur.StencilEnable) cur.StencilEnable = D3D11_COMPARISON_ALWAYS; - // ensure culling doesn't hide the render, we're only showing the result of the depth test + // ensure culling/depth clipping doesn't hide the render for the fail draw + ID3D11RasterizerState *rs = NULL; { - ID3D11RasterizerState *rs = NULL; + D3D11_RASTERIZER_DESC rdesc; + + m_pImmediateContext->RSGetState(&rs); + + if(rs) + { + rs->GetDesc(&rdesc); + } + else { - D3D11_RASTERIZER_DESC rdesc; - - m_pImmediateContext->RSGetState(&rs); - - if(rs) - { - rs->GetDesc(&rdesc); - } - else - { - rdesc.FillMode = D3D11_FILL_SOLID; - rdesc.CullMode = D3D11_CULL_BACK; - rdesc.FrontCounterClockwise = FALSE; - rdesc.DepthBias = D3D11_DEFAULT_DEPTH_BIAS; - rdesc.DepthBiasClamp = D3D11_DEFAULT_DEPTH_BIAS_CLAMP; - rdesc.SlopeScaledDepthBias = D3D11_DEFAULT_SLOPE_SCALED_DEPTH_BIAS; - rdesc.DepthClipEnable = TRUE; - rdesc.ScissorEnable = FALSE; - rdesc.MultisampleEnable = FALSE; - rdesc.AntialiasedLineEnable = FALSE; - } - - SAFE_RELEASE(rs); - rdesc.FillMode = D3D11_FILL_SOLID; - rdesc.CullMode = D3D11_CULL_NONE; - rdesc.DepthClipEnable = FALSE; + rdesc.CullMode = D3D11_CULL_BACK; + rdesc.FrontCounterClockwise = FALSE; + rdesc.DepthBias = D3D11_DEFAULT_DEPTH_BIAS; + rdesc.DepthBiasClamp = D3D11_DEFAULT_DEPTH_BIAS_CLAMP; + rdesc.SlopeScaledDepthBias = D3D11_DEFAULT_SLOPE_SCALED_DEPTH_BIAS; + rdesc.DepthClipEnable = TRUE; + rdesc.ScissorEnable = FALSE; + rdesc.MultisampleEnable = FALSE; + rdesc.AntialiasedLineEnable = FALSE; + } - hr = m_pDevice->CreateRasterizerState(&rdesc, &rs); - if(FAILED(hr)) - { - RDCERR("Failed to create wireframe rast state HRESULT: %s", ToStr(hr).c_str()); - return m_Overlay.resourceId; - } + rdesc.CullMode = D3D11_CULL_NONE; + rdesc.DepthClipEnable = FALSE; - m_pImmediateContext->RSSetState(rs); + hr = m_pDevice->CreateRasterizerState(&rdesc, &rs); + if(FAILED(hr)) + { + RDCERR("Failed to create wireframe rast state HRESULT: %s", ToStr(hr).c_str()); + return m_Overlay.resourceId; } } @@ -1118,20 +1111,7 @@ ResourceId D3D11Replay::RenderOverlay(ResourceId texid, CompType typeHint, Debug dsDesc.DepthEnable = d.DepthEnable = TRUE; dsDesc.StencilEnable = d.StencilEnable = FALSE; - switch(cur.DepthFunc) - { - case D3D11_COMPARISON_ALWAYS: d.DepthFunc = D3D11_COMPARISON_NEVER; break; - case D3D11_COMPARISON_NEVER: d.DepthFunc = D3D11_COMPARISON_ALWAYS; break; - - case D3D11_COMPARISON_EQUAL: d.DepthFunc = D3D11_COMPARISON_NOT_EQUAL; break; - case D3D11_COMPARISON_NOT_EQUAL: d.DepthFunc = D3D11_COMPARISON_EQUAL; break; - - case D3D11_COMPARISON_LESS: d.DepthFunc = D3D11_COMPARISON_GREATER_EQUAL; break; - case D3D11_COMPARISON_GREATER_EQUAL: d.DepthFunc = D3D11_COMPARISON_LESS; break; - - case D3D11_COMPARISON_GREATER: d.DepthFunc = D3D11_COMPARISON_LESS_EQUAL; break; - case D3D11_COMPARISON_LESS_EQUAL: d.DepthFunc = D3D11_COMPARISON_GREATER; break; - } + d.DepthFunc = D3D11_COMPARISON_ALWAYS; } else if(overlay == DebugOverlay::Stencil) { @@ -1143,51 +1123,7 @@ ResourceId D3D11Replay::RenderOverlay(ResourceId texid, CompType typeHint, Debug dsDesc.StencilReadMask = d.StencilReadMask = cur.StencilReadMask; dsDesc.StencilWriteMask = d.StencilWriteMask = cur.StencilWriteMask; - switch(cur.FrontFace.StencilFunc) - { - case D3D11_COMPARISON_ALWAYS: d.FrontFace.StencilFunc = D3D11_COMPARISON_NEVER; break; - case D3D11_COMPARISON_NEVER: d.FrontFace.StencilFunc = D3D11_COMPARISON_ALWAYS; break; - - case D3D11_COMPARISON_EQUAL: d.FrontFace.StencilFunc = D3D11_COMPARISON_NOT_EQUAL; break; - case D3D11_COMPARISON_NOT_EQUAL: d.FrontFace.StencilFunc = D3D11_COMPARISON_EQUAL; break; - - case D3D11_COMPARISON_LESS: - d.FrontFace.StencilFunc = D3D11_COMPARISON_GREATER_EQUAL; - break; - case D3D11_COMPARISON_GREATER_EQUAL: - d.FrontFace.StencilFunc = D3D11_COMPARISON_LESS; - break; - - case D3D11_COMPARISON_GREATER: - d.FrontFace.StencilFunc = D3D11_COMPARISON_LESS_EQUAL; - break; - case D3D11_COMPARISON_LESS_EQUAL: - d.FrontFace.StencilFunc = D3D11_COMPARISON_GREATER; - break; - } - - switch(cur.BackFace.StencilFunc) - { - case D3D11_COMPARISON_ALWAYS: d.BackFace.StencilFunc = D3D11_COMPARISON_NEVER; break; - case D3D11_COMPARISON_NEVER: d.BackFace.StencilFunc = D3D11_COMPARISON_ALWAYS; break; - - case D3D11_COMPARISON_EQUAL: d.BackFace.StencilFunc = D3D11_COMPARISON_NOT_EQUAL; break; - case D3D11_COMPARISON_NOT_EQUAL: d.BackFace.StencilFunc = D3D11_COMPARISON_EQUAL; break; - - case D3D11_COMPARISON_LESS: - d.BackFace.StencilFunc = D3D11_COMPARISON_GREATER_EQUAL; - break; - case D3D11_COMPARISON_GREATER_EQUAL: - d.BackFace.StencilFunc = D3D11_COMPARISON_LESS; - break; - - case D3D11_COMPARISON_GREATER: - d.BackFace.StencilFunc = D3D11_COMPARISON_LESS_EQUAL; - break; - case D3D11_COMPARISON_LESS_EQUAL: - d.BackFace.StencilFunc = D3D11_COMPARISON_GREATER; - break; - } + d.BackFace.StencilFunc = d.FrontFace.StencilFunc = D3D11_COMPARISON_ALWAYS; } SAFE_RELEASE(os); @@ -1195,6 +1131,7 @@ ResourceId D3D11Replay::RenderOverlay(ResourceId texid, CompType typeHint, Debug if(FAILED(hr)) { RDCERR("Failed to create depth/stencil overlay depth state HRESULT: %s", ToStr(hr).c_str()); + SAFE_RELEASE(rs); return m_Overlay.resourceId; } @@ -1210,8 +1147,15 @@ ResourceId D3D11Replay::RenderOverlay(ResourceId texid, CompType typeHint, Debug m_pImmediateContext->PSSetShader(m_General.FixedColPS, NULL, 0); + ID3D11RasterizerState *prevrs = NULL; + m_pImmediateContext->RSGetState(&prevrs); + + m_pImmediateContext->RSSetState(rs); + m_pDevice->ReplayLog(0, eventId, eReplay_OnlyDraw); + m_pImmediateContext->RSSetState(prevrs); + SAFE_RELEASE(os); m_pImmediateContext->CopyResource(renderDepth, preDrawDepth); @@ -1249,6 +1193,8 @@ ResourceId D3D11Replay::RenderOverlay(ResourceId texid, CompType typeHint, Debug SAFE_RELEASE(os); } + + SAFE_RELEASE(rs); } else { diff --git a/renderdoc/driver/d3d12/d3d12_overlay.cpp b/renderdoc/driver/d3d12/d3d12_overlay.cpp index 609e921eb..4ab4c3d7a 100644 --- a/renderdoc/driver/d3d12/d3d12_overlay.cpp +++ b/renderdoc/driver/d3d12/d3d12_overlay.cpp @@ -1196,12 +1196,10 @@ ResourceId D3D12Replay::RenderOverlay(ResourceId texid, CompType typeHint, Debug psoDesc.BlendState.RenderTarget[0].LogicOpEnable = FALSE; psoDesc.RasterizerState.FillMode = D3D12_FILL_MODE_SOLID; - psoDesc.RasterizerState.CullMode = D3D12_CULL_MODE_NONE; psoDesc.RasterizerState.FrontCounterClockwise = FALSE; psoDesc.RasterizerState.DepthBias = D3D12_DEFAULT_DEPTH_BIAS; psoDesc.RasterizerState.DepthBiasClamp = D3D12_DEFAULT_DEPTH_BIAS_CLAMP; psoDesc.RasterizerState.SlopeScaledDepthBias = D3D12_DEFAULT_SLOPE_SCALED_DEPTH_BIAS; - psoDesc.RasterizerState.DepthClipEnable = FALSE; psoDesc.RasterizerState.MultisampleEnable = FALSE; psoDesc.RasterizerState.AntialiasedLineEnable = FALSE; @@ -1227,6 +1225,9 @@ ResourceId D3D12Replay::RenderOverlay(ResourceId texid, CompType typeHint, Debug psoDesc.DepthStencilState.StencilEnable = FALSE; psoDesc.DepthStencilState.DepthBoundsTestEnable = FALSE; + psoDesc.RasterizerState.CullMode = D3D12_CULL_MODE_NONE; + psoDesc.RasterizerState.DepthClipEnable = FALSE; + psoDesc.PS.pShaderBytecode = red->GetBufferPointer(); psoDesc.PS.BytecodeLength = red->GetBufferSize(); diff --git a/renderdoc/driver/gl/gl_overlay.cpp b/renderdoc/driver/gl/gl_overlay.cpp index 3414d697c..64ade4f79 100644 --- a/renderdoc/driver/gl/gl_overlay.cpp +++ b/renderdoc/driver/gl/gl_overlay.cpp @@ -325,11 +325,14 @@ ResourceId GLReplay::RenderOverlay(ResourceId texid, CompType typeHint, DebugOve drv.glDisable(eGL_SCISSOR_TEST); drv.glDepthMask(GL_FALSE); drv.glDisable(eGL_CULL_FACE); - if(!IsGLES) - drv.glPolygonMode(eGL_FRONT_AND_BACK, eGL_FILL); drv.glDisable(eGL_DEPTH_TEST); drv.glDisable(eGL_STENCIL_TEST); drv.glStencilMask(0); + if(!IsGLES) + { + drv.glPolygonMode(eGL_FRONT_AND_BACK, eGL_FILL); + drv.glEnable(eGL_DEPTH_CLAMP); + } if(overlay == DebugOverlay::NaN || overlay == DebugOverlay::Clipping) { @@ -743,6 +746,11 @@ ResourceId GLReplay::RenderOverlay(ResourceId texid, CompType typeHint, DebugOve drv.glStencilMaskSeparate(eGL_BACK, rs.StencilBack.writemask); } + if(rs.Enabled[GLRenderState::eEnabled_CullFace]) + drv.glEnable(eGL_CULL_FACE); + if(!IsGLES && !rs.Enabled[GLRenderState::eEnabled_DepthClamp]) + drv.glDisable(eGL_DEPTH_CLAMP); + // get latest depth/stencil from read FBO (existing FBO) into draw FBO (overlay FBO) SafeBlitFramebuffer(0, 0, DebugData.overlayTexWidth, DebugData.overlayTexHeight, 0, 0, DebugData.overlayTexWidth, DebugData.overlayTexHeight, diff --git a/renderdoc/driver/vulkan/vk_common.h b/renderdoc/driver/vulkan/vk_common.h index 7d0de71a1..c13f8d433 100644 --- a/renderdoc/driver/vulkan/vk_common.h +++ b/renderdoc/driver/vulkan/vk_common.h @@ -72,7 +72,7 @@ // enable this to enable validation layers on replay, useful for debugging // problems with new replay code -#define FORCE_VALIDATION_LAYERS OPTION_OFF +#define FORCE_VALIDATION_LAYERS OPTION_ON // enable this to send replay-time validation layer messages to the UI. // By default we only display saved validation layer messages from capture, and then any runtime diff --git a/renderdoc/driver/vulkan/vk_overlay.cpp b/renderdoc/driver/vulkan/vk_overlay.cpp index 44820fde1..8a426e353 100644 --- a/renderdoc/driver/vulkan/vk_overlay.cpp +++ b/renderdoc/driver/vulkan/vk_overlay.cpp @@ -1320,17 +1320,17 @@ ResourceId VulkanReplay::RenderOverlay(ResourceId texid, CompType typeHint, Debu VulkanRenderState prevstate = m_pDriver->m_RenderState; // make patched shader - VkShaderModule mod[2] = {0}; - VkPipeline pipe[2] = {0}; + VkShaderModule failmod = {}, passmod = {}; + VkPipeline failpipe = {}, passpipe = {}; - // first shader, no depth testing, writes red - GetDebugManager()->PatchFixedColShader(mod[0], highlightCol); + // first shader, no depth/stencil testing, writes red + GetDebugManager()->PatchFixedColShader(failmod, highlightCol); highlightCol[0] = 0.0f; highlightCol[1] = 1.0f; - // second shader, enabled depth testing, writes green - GetDebugManager()->PatchFixedColShader(mod[1], highlightCol); + // second shader, enabled depth/stencil testing, writes green + GetDebugManager()->PatchFixedColShader(passmod, highlightCol); // make patched pipeline VkGraphicsPipelineCreateInfo pipeCreateInfo; @@ -1348,14 +1348,6 @@ ResourceId VulkanReplay::RenderOverlay(ResourceId texid, CompType typeHint, Debu ds->stencilTestEnable = false; ds->depthBoundsTestEnable = false; - VkPipelineRasterizationStateCreateInfo *rs = - (VkPipelineRasterizationStateCreateInfo *)pipeCreateInfo.pRasterizationState; - rs->cullMode = VK_CULL_MODE_NONE; - rs->rasterizerDiscardEnable = false; - - if(m_pDriver->GetDeviceFeatures().depthClamp) - rs->depthClampEnable = true; - VkPipelineColorBlendStateCreateInfo *cb = (VkPipelineColorBlendStateCreateInfo *)pipeCreateInfo.pColorBlendState; cb->logicOpEnable = false; @@ -1378,8 +1370,7 @@ ResourceId VulkanReplay::RenderOverlay(ResourceId texid, CompType typeHint, Debu sc.extent.height = 16384; } - // set our renderpass and shader - pipeCreateInfo.renderPass = m_Overlay.NoDepthRP; + // subpass 0 in either render pass pipeCreateInfo.subpass = 0; VkPipelineShaderStageCreateInfo *fragShader = NULL; @@ -1390,7 +1381,6 @@ ResourceId VulkanReplay::RenderOverlay(ResourceId texid, CompType typeHint, Debu (VkPipelineShaderStageCreateInfo &)pipeCreateInfo.pStages[i]; if(sh.stage == VK_SHADER_STAGE_FRAGMENT_BIT) { - sh.module = mod[0]; sh.pName = "main"; fragShader = &sh; break; @@ -1407,21 +1397,13 @@ ResourceId VulkanReplay::RenderOverlay(ResourceId texid, CompType typeHint, Debu sh.sType = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO; sh.pNext = NULL; sh.stage = VK_SHADER_STAGE_FRAGMENT_BIT; - sh.module = mod[0]; sh.pName = "main"; sh.pSpecializationInfo = NULL; fragShader = &sh; } - vkr = vt->EndCommandBuffer(Unwrap(cmd)); - RDCASSERTEQUAL(vkr, VK_SUCCESS); - - vkr = m_pDriver->vkCreateGraphicsPipelines(m_Device, VK_NULL_HANDLE, 1, &pipeCreateInfo, NULL, - &pipe[0]); - RDCASSERTEQUAL(vkr, VK_SUCCESS); - - fragShader->module = mod[1]; + fragShader->module = passmod; if(depthRP != VK_NULL_HANDLE) { @@ -1433,7 +1415,25 @@ ResourceId VulkanReplay::RenderOverlay(ResourceId texid, CompType typeHint, Debu } vkr = m_pDriver->vkCreateGraphicsPipelines(m_Device, VK_NULL_HANDLE, 1, &pipeCreateInfo, NULL, - &pipe[1]); + &passpipe); + RDCASSERTEQUAL(vkr, VK_SUCCESS); + + fragShader->module = failmod; + + // set our renderpass and shader + pipeCreateInfo.renderPass = m_Overlay.NoDepthRP; + + // disable culling/discard and enable depth clamp. That way we show any failures due to these + VkPipelineRasterizationStateCreateInfo *rs = + (VkPipelineRasterizationStateCreateInfo *)pipeCreateInfo.pRasterizationState; + rs->cullMode = VK_CULL_MODE_NONE; + rs->rasterizerDiscardEnable = false; + + if(m_pDriver->GetDeviceFeatures().depthClamp) + rs->depthClampEnable = true; + + vkr = m_pDriver->vkCreateGraphicsPipelines(m_Device, VK_NULL_HANDLE, 1, &pipeCreateInfo, NULL, + &failpipe); RDCASSERTEQUAL(vkr, VK_SUCCESS); // modify state @@ -1441,7 +1441,7 @@ ResourceId VulkanReplay::RenderOverlay(ResourceId texid, CompType typeHint, Debu m_pDriver->m_RenderState.subpass = 0; m_pDriver->m_RenderState.framebuffer = GetResID(m_Overlay.NoDepthFB); - m_pDriver->m_RenderState.graphics.pipeline = GetResID(pipe[0]); + m_pDriver->m_RenderState.graphics.pipeline = GetResID(failpipe); // set dynamic scissors in case pipeline was using them for(size_t i = 0; i < m_pDriver->m_RenderState.scissors.size(); i++) @@ -1452,9 +1452,12 @@ ResourceId VulkanReplay::RenderOverlay(ResourceId texid, CompType typeHint, Debu m_pDriver->m_RenderState.scissors[i].extent.height = 16384; } + vkr = vt->EndCommandBuffer(Unwrap(cmd)); + RDCASSERTEQUAL(vkr, VK_SUCCESS); + m_pDriver->ReplayLog(0, eventId, eReplay_OnlyDraw); - m_pDriver->m_RenderState.graphics.pipeline = GetResID(pipe[1]); + m_pDriver->m_RenderState.graphics.pipeline = GetResID(passpipe); if(depthRP != VK_NULL_HANDLE) { m_pDriver->m_RenderState.renderPass = GetResID(depthRP); @@ -1475,11 +1478,10 @@ ResourceId VulkanReplay::RenderOverlay(ResourceId texid, CompType typeHint, Debu // restore state m_pDriver->m_RenderState = prevstate; - for(int i = 0; i < 2; i++) - { - m_pDriver->vkDestroyPipeline(m_Device, pipe[i], NULL); - m_pDriver->vkDestroyShaderModule(m_Device, mod[i], NULL); - } + m_pDriver->vkDestroyPipeline(m_Device, failpipe, NULL); + m_pDriver->vkDestroyShaderModule(m_Device, failmod, NULL); + m_pDriver->vkDestroyPipeline(m_Device, passpipe, NULL); + m_pDriver->vkDestroyShaderModule(m_Device, passmod, NULL); if(depthRP != VK_NULL_HANDLE) { diff --git a/util/test/data/D3D11_Overlay_Test/DebugOverlay.BackfaceCull.png b/util/test/data/D3D11_Overlay_Test/DebugOverlay.BackfaceCull.png index e4ca3087e90a7a5b9a77ef8873e57de9161e0d2a..6ecd1dfd9d37de54ea36bc0866681916c9aa4b08 100644 GIT binary patch literal 1229 zcmeAS@N?(olHy`uVBq!ia0y~yV4MKNIvi|3k+<8Q9%5i%nd0f<7*cWT?OpGnrw%-> zj^FlYCOEM$vrT!WzS1av1LO9$&X3!F{s3yA9$>4f<7aSU{3*%M!la~x#axG~xJ4WX zLL6LJut;hg^cG>{V0Uq0s43@jSoZ#0D@#LxLkmm8%7zY3hRckCLJZ58lvEgeSY13A zW^i>(VBk10iBUlziRr-H1`f^!AZGXuQos~sr1FUMf{MaFcP5auf`Sv1!$YVNurgO> zB{c@HQjl^W-XkTT$S45DhG6=^RV4KwJq;j7AZr1$lbql-fNW7vP*Z7Wm@z@eW^0Qu z%aN881*!e}gXVt*YW7^0v4pQfUbm@%!}DGS2M0$7r>BLCCiA16A{-qPp7gn$YWPvW z3}W`TH8eEbXjY6A?F(W2D3~oEaJzVOv}`Ys^D#?6AiDbSZAo56M#hb4ik70iCX64w z=P4+dm4DtX*!P<8<1z*Tf$q0yCM+y0M~*B>bJ&x_#&YCU`;tFDc{n=ma(Z?bO9}{B z%L@SwFjPD#E0FKS#<(#~F|(A9nJMXcl9B?*50=cI4$PkD=L3JM4a zY!2|aHE%o6arY){u}gP!IP>kOi-Uv187IZe`h86eGv0EZ6n?J7(GmHnfq^Nhu7#DO z&pRB~(Q_SSrKhW(%Q~loCIDKKHi7^E literal 1182 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 diff --git a/util/test/data/D3D11_Overlay_Test/DebugOverlay.ClearBeforePass.png b/util/test/data/D3D11_Overlay_Test/DebugOverlay.ClearBeforePass.png index 2fdab134d6f7c8649265b14ddb050c9c536f6660..40f4912edcb9484bd566f54417f4f913bc085546 100644 GIT binary patch literal 3225 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 literal 1124 zcmcgrZAer>6umS1UX35CvuaskGHZ)jCYwfKW%aZbwM0b}2|?9L;sK>8IuxXim}&N=tYJYIEPPKGsb zK_CEFvoc-z0K|*6jLkx1tm9obfEJ(SO5IZSVr(FFf6wyZ^ale|Pxr2RdHzgMec$5@ zr(0liZu~bZ1-2&*#N!3zCz68IB8_(C88ELi|-CblpjokhSrJ{ZqI+)#UyG{yn+X_8||U+xg! z7ZHwH&h4b>;7^K4yFzT?U^*xltQ;#2VrKcw)m{7>Uug`(ul*r0<%#y`32F-G;bDf6 zo%!KdJCH~D;jV8MT1YALoRer9z|c+Li$v<*P-smK=NQ1iNQ7LS zeDmqTx7|um#?WHOjvlNkfMJhT4|Tt$asHa4!oLwEwvce%bjVcOLJ84a$=L>O^=R5i zG*`ZrCMy(K+l-QDClW+gpX}cld0Rp~Ep+aDLTPD;XHKV2*G9s4{L%SAEN`WF{x)nb zZ`x#Bn|K#5x^|EosST|Xa&`a7UF{gH%3V?$pt41^`0$pZ>FFA5yX^uxW}EpYIG1eA&l8#L7-Q0j7*`tqof&hB6G%<*EJs_h; zVu2=o*;yeWI5>0i7UkZa!G(+&mt=Oz1|SoS;_z9ZL;9ij+3Gg(hl4QLsWtoXs%rZ> zEzIM_Pw0lcSYfVhPPOiVw#C1C9>}1QQfRPHxG2Gh6EplP{|^fNYKgp4e!VSo>!2E% Mm7e2jO)IGQ0sZ#(pa1{> diff --git a/util/test/data/D3D11_Overlay_Test/DebugOverlay.Drawcall.png b/util/test/data/D3D11_Overlay_Test/DebugOverlay.Drawcall.png index dd93fc4b22589b9554f98e81a8578099b863d110..be31d5b0fe30f3abe1ad1d241e42ed0b00a034bb 100644 GIT binary patch literal 1432 zcmeAS@N?(olHy`uVBq!ia0y~yV4MKNIvi|3k+<8Q9%5i%jrVkM45_&F_AaB}Y6lUA zz^pqhzhC@Y^ZT{kowlnjF4A2k5(&@t77GbaTAyjH79;=Rp$X67RE7riy%9_dEG!I+ zj1CSA0sR;-egJ^5wVEjXVr9z%B!8g1Zxi zm(gwgv8my}s|gXTKThARU^HlCP*7mt;9y{40-}Zn4BiC=^FS6xM#08YcY3FXT3`G8 z{O4h>22PePrAPWD0s;a;2^+(`9o|mpxy_f~$jRcP+R&h&g1`+E9JtmUTGR=YUw4N| zm}7>QgM)(y1EV7tf2)jL&3_qauwMB(zio#<#cMn z)h~JqPAa_3S#HqSuoCEPkk=s?(ZBurbqVL_6| zvE1;yL?%WbRhYRDx?#eEj@26;JOI1%5DU``F987u50G0y_)&e@{-570JNf3m4Ou)d z=e?rT#d>xorp|v>?`z$!U0(9>_ujhv?v93rl`bY4Ph>b)I6YrmKbv>{sn6bgMU%#c z&Ldj_|443}`>`=%Xkm&~VE7 zpN^oQfP;E$9s&Xhffmp9h5GaQ0+=o=faw^7O+fS-CZHeKL0CZnhCA4RsY?cg48NMt?i5xg*!|kIn4_J~+`3=k#nt?fP{l|bME`z75pUXO@geCyh CM0v;n literal 1311 zcmeAS@N?(olHy`uVBq!ia0y~yV4MKNIvi|3k+<8Q9%5i%dFJWj7*cWT?cKY%%?2V3 z7rm#bZesu4`sTP?y=l{-h)c9ElX8JL(F8W8835$Tyi~7dO6%;s-u!2efXIWxl*Mud>*4u&FmI;CMI5>duq}qAcUmZ?= zcg%aTdbs%QhZSXs7i;z$Vd;CQtFuo@?OqlWBO}Or5UdvC@?1#K^SIuQW=<9#RRskF z6&P-4XqezoT9$ZF9w=Xy*N85!pa7Jg78?;@2z2K;T_1&pl`JeQEl5~ENbiWAj)et6 zo{W0 z(ZR{Ylq27Fr>)^k(RkTW-28dazZ#2;&zzB zQF#shHF6w(4nGfRXgIJ4Xb}g84xjtGjZRGs4FzldMH)h^Vqw|F-#!BvnKHBO)=vP^ zQp=ybcZrJcWUw%nZT;0wC-Hq7Q2U zQ$zs>GcYy5a0W0(9AX4vk=IH|8+aJblx}80&crBLjDhMrc)0=2(lq7){d%Ct{@v-L W$1ZQZeiB&lF?hQAxvXAObcTgHG~2b7&HVl!WFt$L^v3@SWby{C^51!H83?6 zu?Fq(SoVEo3sCI>2Z@aiS(?HS=1vC@PM`xtIJjIULX7NS1sl1*ApmBMn~s1h6Bi2u zYZFtT+5!iL0EGn}P+eYNT@H;4T#haC09p^!r2@5G6>5ybL=9oE!=^x8!w8hAD&x!R zpMD?Q`E|>fs zd;_^nLm(npsaV*wE9LBO7f?7PL{FSyAlmr}EEk}(SJYEKb<qm4|A4vh}nPZyd@VFUS%>E&tXObtG8w2HJt^(_4qAl1bTj^Hmql_Kn5 zm0ix6;5fPvR0%hz>iGdJsP0R%zFEApUx%bi}=7z%X4h1SKY3sm;&^lS4~D}ZBV ziALYnD$U6^_VNPb9q5_^a!)T-&0O-!Y$}r@DD)P%6kdr_*;%)LAuy!?19!zr8?UJ+ z1{cshqlQjB1{hx0Hw%wr+oT^kFo5U@eGOJ^*6E_!2 z!?Byp3$wbIA)&+$v6K%Sz7B=p#NG4=n7DvBV<{uhynzHBFZgFyZ-1ER|05FQ3{O`- Jmvv4FO#nz5URD4A literal 1128 zcmeAS@N?(olHy`uVBq!ia0y~yV4MKNIvi|3k+<8Q9%5i%(f4$545_&F_O3VAAp;SI zKvDCBw+sH?zL-0s(P`tB44>bhEYrgTw&YLo&Z)8hYNHn5dG#qt$e`SaiJ?fQm*E*ARHbiP53aA*NA7C_n)y)S)fl%EZOOz{*s}Dio{o{&$Ge z0tcY}o(P4lQ#c{a7zMC?E*92B9uAER4NQqgm;zP6avCt*%3>W#jI2xzOpc8j!eEmF zRG_+4!MYYW1Slm3tAJgkAq26rNeF7p0uQiTML4{m4r~C*peSVm%7ATL;35L@mI#N2 zP-+v%F9@ZABAj5KbitJdfD8dD6@)5Pazq#cQOe@F$bkWFh|`>2hF9gj%dUSv5(4(b z3)d_6j;Ck#9Gce-w(C)VR2MVIn~i3toeMSiSeY2OSdK0<5n%@#r#q$nQh*fL&MEr* zOBY%|LP7?rXWA*}ObtF@RB*AJnhsPc192VS(nfHkct3?3^z^P!FjRWV*L#mQY=;_k zW8SBTa(^FSNIQu4xjCr#PkS!fZYuyb(o5v{_A1TEclPqKf&=D&+|!FyGpGDAp9+i= zh6N4^i!8GAC#{`#KR^L&@0Ad_z|>9Gg&zYW78G%nUkc>+PxHJY8449B{PJS6N0y~% zcq1_6Gp2oSJaCGuK69zPS0mWH2c{kU`2P7+P?(Ew{E3%21xjRGERVXCzyB76#)R^} z@0!A3VUcztkgE;-9;AIo01!U$NTY*)}EP!chfrCRKP%i^((<7i^K$ZwQ(2YQc n@_{7-q=3m5O9r5uP(#x^iM;641G2&8AUi!>{an^LB{Ts5t_K7S diff --git a/util/test/data/D3D11_Overlay_Test/DebugOverlay.QuadOverdrawPass.png b/util/test/data/D3D11_Overlay_Test/DebugOverlay.QuadOverdrawPass.png index d098d97012b89483f6f98e77daa1116ec36fbdd3..402d112007ed32433dff8488bd4f32cff0d5036e 100644 GIT binary patch literal 1991 zcma)7X;4#F7`+Ke2mvKxq-qgEfHo}Rf(t0(QxgHT7|^K}nQ|L-eq^p3r7T>o4(7&1QCS5#Y;5NiU; zgE*g|Z zcBk~0X1-KDJQT}kIZd_4L&7J&F=utjI&<}&CNLypo{>)gC0{cq{rtnBx9ae@Z2$a) zessX37ENn-n)$2#5POa}I}gc6cuuoaQu4b~?-$O2kL$xo86^bX))nm@kJRC1F6=O* zJ0_wkF-vY!{@&9}#GjJXNo=cT6-|@i4f-_r(bt{{NPmy9MEy)E+rQXbh9oBDVUhj} z_v0*)K`hD{5GA7I$6lT z8g$;ME>9esq4^=x^$UiFVk@&(vc>{&lrp6s1&iSmYeBd zVL#21;3zGvFLXoP39@5t(?1`JLIN|X9IMmEZ3h$`)5!2azSa8rB}JLr1hO_f;VXHv z!BuZv%nRmMxyi(c8K%{7tfEqkhb|EXWX&;}I$Ix<9~w znCkK9+tm_SgAzeG?yt)2-6JDGOV%}GiRDqA0aj1S9x8*dp}u*h1`Eo5lItP_!`1lGL;W0_ zN5YQPTx{3+?=ZO7kKf{TqVKZ4)#;>_cB6uda{R1sxlG<=_@>~NL#%d>kEIw6pJ&q* z=JoUYh8#}1Yr{Xpb~vI~sMR+SOSY>HHkQn)P~O!MP`l|3W=VHx#z+(IxxCpaN3Uz+ zKcuA?y_ZMW2ajSv={JL=aa+ejCRVG;U5FteXyg@)JAT_W6msOGnsJ? z>S;*@&JfLgVg|wK1&{s}{0)Kf0{y>&j}a&?>PFyQ%5+L8DtQXuP! literal 1874 zcma)6X;4#F6n+T=Vw5GB0BTYiGbj%f9V=zgR3GplKu1l~LKTozEHpvtQpgB4VaSkB zC13$JMneFLA_7tpWf6*k7EsiIsvt{2p;M)71(D6(`+^St+BcJ#y!)N=opZkXy`vQD z;G57^(hvkO@$trYAqXiQ{MJ#8z{!yARXu_jukgX$_QZD#b%|p-y_U;`wj*m!&mFSu zjMdU9=A;Wsn^f+>Zq<=_CMDHR{l`Pzts4`QF#SKDN6pSEWPYN*Z@lOI?U6mbMZ?x4 z#MB&NbCA1{2C|*MciubiV92B*G{c7*%vO_WhKMm020ST~J?bbYPzrewN+I_*dnnZy zQb!_74Gg8FBF-zo|%%2zAgFGs$}-K zXccOX2so%}h;l=~1vK%GtN4hnW*-~;4{0!RUsC=<-|SwkInh#P3WG#}WnfeCXPCF$ z%t9qKhDlI5D8zm^T%WWhZC+dr2)=1Ga;LTHRG$Y>!5|cJlZR4DhK;~ZaS&qu^bRI{YTl4mxi3_r$gN7bV;r02R zjG+NZk0uz}mr>QD5V z(^6HMYWZdMg+eYE3)=*eJx8zR{rK|v(~9+{ikUtqOPql`Oa=Me@l9RRm6O^0Os;ae zGd_zL$32bg`d8%ipT|B4vVPoz!_h))w;5|hzAprGyd@y>bg9f{t-M_9kP%Sw?LU)c zS==ka^N^9+PK$WG{n%WkCOd^I+`EW9dMMR8&oAY!n*Z!pe^=gtj0*Q$yu znMwykpgeii_p)_Yv-wXyBa)cZvZeXQm3!7QC`n`zCQHx5GQErSgrMu+gq+lTzYG*= zMZ;w;^YO!$N;1$%jWNAVQf>S{LMZ)!2HFHQXDS$10&QqSF_4ZggcwpZ_-3Y(p-)yY zLIX2EEJ2Gh8m*KJAqTPoAmJQJhYrPMD811_NnQZBp$UNMBd|CFQt1J;cjK84R8-%H z>R_vjU@nBB!2~wp*LsQ%umBsZ>l=}vL>W*JH<=nA$Wm|t;5hO(9lOnVaKa;)HeA>m z!H0u#-ac^gjXD}SPE04T_U-3s&0r#_A=hQV;@((-Xw`x@qu9Z0;&M>af{nF~3+FY> z9#J^~Y+oF*spBMQnrj2NAT|Ax_wvjOBexnd=H6YbFu@&60~GKM)V#x){Psaf+bLdW zV=fLfqQqNS7BqSM+K!rlH~DicDfY;T>n@esO85cTL|>_#DB9GYGd7Z-?W(JaA&RA^ z$A#v)FvhOiLz$BYZ$_`f&X&>)p+F#ykAkPUZ!dF~qys$o>9U z{L#E?yVk_C0Md>!*|H}Stz*G+C&!{&Z@nIjN4G$s@1DBpC&3fvyS7#ZDnVTQ{i;&* zD|Wyk^}#G9YXgwOx>S~v-#kgL;CUr>MOvho;4AE*ZJYA$Jl)i^-4EO?_+a*R%PDa& zQ@WVxAlfq6rH%ciabcdz{<*;{pS0oKdO=XLFsqager?&1R`Wj5lW^+@yECQFrGLWi zC)b{PT3`VwS!ms6Zwjmk$O7MqtDC~l>~#*Sm1om4fwsN4leznDxR?Z-nrB;?#)-AV zV&d{NJf<=12;M3Qw9mY6tu<>P>E>%gmJ*J6mFtMXNtx7C17L)a;Gu11cPB}2+7lOW z5|OT7Y=IS>nCR2Gy_Fxxk<}UuiIu`7DlHmgDTWNr7ED`$GXbZ`K)?kB^*j2ey-xOQ ztF-VcOq6z0G`z)`JD(ilXw5i9Z=ft{e;H~(hU&b2W2*Z6mci`9ELz4al;B|v5 diff --git a/util/test/data/D3D11_Overlay_Test/DebugOverlay.Stencil.png b/util/test/data/D3D11_Overlay_Test/DebugOverlay.Stencil.png index 2b827ba898e7525729372824f2da74532aa848a6..4b7c7ed8e973d1fdfbc0c34d6c271aadf246be6e 100644 GIT binary patch literal 1324 zcmcgreM}o=7=PdEb>3BI-)q-ZMf>pne4i6h7DWG4Zal9yo z1X`$MBuQrIR_@X_eR-?XSW0rw&3DdOrhDY!l}LEUeqhfzbN_{MMGWC^_fFsAXYVqM z&a&R#?a#Cbd;f&OTQ^)!e?0r`q)XCDMR{|sdn_?P=%vH$TEn?f`-DrXT`kJd+*Osc zO$T?W+}9>mEpbH05`B7??=P+7l~C^aa^=|bIQ&C{FYA+@YdWV;l=?$2CwlZIwX2g? zpSnCaPB{Njt@DkG>ylrHWmpNyzO@&#=QASI?|#k4vaI3@yLV#qR?8;Snk*z7cSOxe zBy6`**KUJQ|6!LN*513@d*q=JwA=C`c}*OwtAoGf=uJ1qjVJa)p0Fuq*+0%QVHIbl(Jsp3vXz9>#P zcnH05M88u~{u3-4JM(2GLN+s1;=O_>XJ)EVpUbxrzyyAelw*vmi&+*SO2XLFR77uz ztxbIOtVbl|dZaPPwHcN%fyhuYSnVu8Xot1q^otW@FR44VecWz)AdQW^+d8?$r`Iy9 z9p8DI1~G1^FK&s&paGtY$JPD1$4M*_Qwpyz+~*6oHrnJ)E4f| zA!LC(+Po36O0hiZz&M=U{2>jBOsXJE;Y|Yr4l(zz e#IydtQjG`lXEKirT_0+z(pUN`YLs5Ne&63KZC0oN literal 1158 zcmcgreMl5R6o0#}I(K63p610RHMgZ1Nv9TdV9I!{ne?HU1VM#Vl!TO$kcs8=0qs%5 z^{GKw6x2UaN?}44XI-F>eOQE)l^p~|nL&YBk-fRDQt;1c;Wsn;-f!Ofy*D%7qUHIq zR)-Y;Vha`<#Q>5Ikw&7>GI0IPZ2)CifstEM{cNB&xA;!FYCP&4>E0cC>HL(er)4kS zO>Qmu%Gb25MfyMc{CkE5fm%CW;b5BMg?;|1FhNRmbaJn?&c9t62b_?i1s&)bXJ zoD!X2`k=^aHb7B$75WViq$4?kv4Fxi$@+8Thf7|MwSY^XH?3XL;O zVqr6^b|^|XPqoB#q%YEiWvS2ks0wSV@nxG8Iq&~6h&3%{9cUl zjG+k6Jw;Ihf2=t-n<8=VtTj)BgyXI<3}U!jaw0hI@!7kDv7)?kHb~9wuCs#q`pefH zn6S1v;q+t_;667;A*Ln2s!=HM-cO`7g<^H1fYOmcum_{ifGt1=rK6F8%{f)KDh7GS zgc8-)eK(E5-iYpjlR!G!2W^Vd=jT;*D?!eD|6(_Xxz-NvgE+?8W|)o1oL9FeWv{@i zcc_0@2sa)$@Jy%Gd_X}-A(Y3fcp=@;>Y_l*GN>qIfHgtiEe`%-2BkA8e60L6Hzla! eyqN!H;;v!I-db~|eqGLIk+dLhxpCQ3y5}eDrUm5y diff --git a/util/test/data/D3D11_Overlay_Test/DebugOverlay.TriangleSizeDraw.png b/util/test/data/D3D11_Overlay_Test/DebugOverlay.TriangleSizeDraw.png index 4592428164bbae01c9d31c83299d304db70237fb..10d16dd38b23cdb494520d2ac38ad268ab56e8b9 100644 GIT binary patch literal 1112 zcmchWT}TvB6vxlp8FxohcXpMs#dLODLea=T(r}e=9oscFGl?KF$W6otMI(eQ6mPb& zqa|(+ks+3Sy-J4pQJA)_9}y)*l33vf`4F+?+SWr6b!T0DvbSj9$2s%=pZ~e{VWy?H z$PyKyj{tzELaS5)K)DHNtcobUfn^T>lUOL_9dXS0-aTn^rbmj0=N1m+1PU$$#ww%Z zE&6!&^y>8ws=J5@h9Ys8BE zg(0GXV>fR`JfD((KkcG}3UFNGWnkqFf*agfK~M3`NPI8RZ#$S%qIo%$Tl5Aa;VrkB26*$cf;h)mHJ`9w5fx$02=>Il z4nnO`Wz||Aw+P-1V_j4Rh{0(H(V?oLC@z|yN#bG2z=MaN)L>u6FrtZ&6{@C77(7Je zG@6GPWY-$3HL3jp2G;7QckzHq0_j`W(NXGYf6N;-Yn`0eF--RuE}y^hiDt_0)u<72 zC-XUl(=CV5uBY-WOTl9PtJH&EZG6qUfX*a0RkI10=+Q zX&ZMujN@Ly!Zke0lb9N&!@LtP7|V5{g%Yuf#Ur#m6-p!IYN$=&`#1S3{-5-El{z;( U(G?l!^C^cG78FT6=95i-098#6-2eap literal 1041 zcmcgrOK1~882)DyliAqN1fvxR?KYwy9dAwD`bB%_%6tmLi5i!`MbL zIVkaDpdPG;Ko3?B-xXuiKo1rvy;OWa2n|{!!3srCD*n4knuGNwE`0m{JKtk}n3>qI zu6CsKPx5I1!&|?%tta%Z@L}ruh-~w<&1XAX7k$HvBYDG> z4&aOPZG@2R^|Hj{mTt2h9 z$p-=y3kt0SK!9EEtHwfMP z+^-+-I=PlC*NF`MOtW7zXj~Z%EBYvpuVL?na)vBtN?A9zqt;c1qE`=a%@T{RRmr6Y zk}DucZmlW;<5XmEgjPBJIi4tqt40wQkQU*%26^N-g&>)7M}{Y*lbK8OUvQ24U!bzK|juaF&Hzovty%!L%6@~pI>T3 z+W!0z+IcWiEUpm2<-{F#!V8ZyQG+CTHAMP*f!M836!}IxJSwQ?O;EBomH diff --git a/util/test/data/D3D11_Overlay_Test/DebugOverlay.TriangleSizePass.png b/util/test/data/D3D11_Overlay_Test/DebugOverlay.TriangleSizePass.png index 8e6b2d69338552a88a0b94ca4843ae5d141c3b35..aa3e72a3ff9be82c7c8ed40bf871f0feed1baee7 100644 GIT binary patch literal 1721 zcmcgtYfKbZ6uvV%%ib*2y|ZO0L0M)OR4k<0#8hflye!KrHlRpxp;Q(mp-F#;50cS> z4hwW=v09C>wKlC96S3jlNAT^enu=AxwghQu1=i9Mw}eGXw_;0sXP{J*HnIKDN$#D= zH|Kok`_7!1aj(fpouduc0s!Wur`fUqp!Sg!2ZIPQ(l&GnfFL2=mYB_dJ@Tz*?Yz|? zHHCY2N1yA-YK>X4;A9v~dgh#`S13$5oX|EJcyYV#i{rmP-&j%}PtqUfkn-C4Mt-;+ z+02~VG^UpxjPc`DAI5cUFz`Ot+W-VJ#+HNzgpfT#$5!q-eTkOn%G4%ZEW(v9O~UzVK;GHY47Cnj^ygj{6fl6DZTHztWCt&Vk5CXzv&Wh9_+%P1v|PYTdahU z@GaR=qZZWk@mnr~QxJF&{_0Zb(sCnnAWeHsWUR|L9wHv&qh$opDmER8bJ0cA z4?YZN%+~nzb^u||)${Lll{B*u5t$bF0K;=dxEh3NAD? z7QD;z9SDU-hQFHRQ&blsFgFf>naqPT&r_Z$6?}oJX zmvtAK4G5jst~IdDi)rVgavMW=5^2&9F%ZF2H@e)aWE;k%M*-~=vo~9e=llKC#XW6< zg#*inpPQrtzTy__-&Pw4r#v1S!igwzv@w(QQSY8`+}N4OV6gxVxyz2TV-%#*qM}BushKG>S(%Yz`ScLRrVLx8m^{F(hiE_27ooc!@bAr%72;F>j zX^k4{X*zzGML3>#96YrDqI>QWcXlCGHazQ++=?ZlZDipYlfOBM^G16KrwILjYW~@#e~_%S zVYW^G#%IM-4O5mDvc&qP#>{o=kf3y!Ca)W&z)e@Ns?+c+o|mE2=N}DJS(4IX*o(!`5VVIR5~h CpE@f5 literal 1647 zcmchXe@q)?7{}jxIq0qB$9q8egB5zcZN>=_X67iNZrARR@(?0z0Z^L6&2*g=#%vTfS7!zxCsENfvj{UijeWoM|%K>T9+@{pOr6<4}Mw3 z+Y@u2xy&zX-yCnKY~aQY6KNU%%4Z z1%cSjUDX?af!;*y+!)IWQ$oNVt0^`WN}OcA2tOU%a{>hfR9|_?d9ET^;)*5$pE(dh zaV$mIi9_#iDGW$r2J)J+j^6VKzE&5BBi&P5>o68>kwQKxUj(vLKq9iP-=1yXfU&Fk zV61O@WOs3A9+o}9)mye(I4+fUe5cjwBDHf|e}zr-=obOSOKQEk80dJ1^*ISJ%)mFD zCqPu>r@5!kh32}YVlz(L7i!VD( z9^SEKcYVv4zj1%vc$&r#KI210k7Rq+i37;#3Dh;s$g?qR4=c|K6Acl9VZm81t!E@n~aNT8+uv zDmr5Cma%g3>^|;+B2vO)5hzwP(fklfW^Ck_3=^&0Qt^R*t<8 diff --git a/util/test/data/D3D11_Overlay_Test/backbuffer.png b/util/test/data/D3D11_Overlay_Test/backbuffer.png index 1802999514ba07dd8df116d3697680c44e572027..69e126168c8daa1bef8d85bd84ca8afc0756f7cb 100644 GIT binary patch literal 3851 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 YPciUKR>qU>&?^;YX>Lm_F>{alHypHf8~^|S diff --git a/util/test/data/D3D11_Overlay_Test/depth.png b/util/test/data/D3D11_Overlay_Test/depth.png index ce449099f289c15740053dccf4e8e9fe75d61f0d..1c4c2c5c2ad23c1c6376a80a34ef53994ab85d93 100644 GIT binary patch literal 2633 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 OpCHSI1fkZHR`hQ+OzH#x diff --git a/util/test/data/D3D11_Overlay_Test/stencil.png b/util/test/data/D3D11_Overlay_Test/stencil.png index 39bffad97b6dc79e3b6022a64d114b3096c4bcdc..57b210a779da5d120398df2f7dc38ba37cbab681 100644 GIT binary patch literal 1480 zcmcIke{2&~9DnzATVD&TN9l^xZr*iUlgSdhI0wj#w^~`NYcsIGFoBd|6k{Mq2lqZ*lh&S1^r%27Z?9t@;h9KeJ~^PcG4aaZy5^yEw#2K)=SXSNxN;gHne9C=p?DrK45DdiEGNq( z$!1u>e)+a~R7279*R^H~&xb4VnU-6ZU(7>wEFuJ9EQ$yQ`+pWo*sro|K&P76>`LZ_ zX-S!pW#g7Go+7rq}cnZ5LlnZ5GgTCRUq z{!{VVI~CZ#aNQFX9nbMRvznvm^Syo|XW7c9TZx>Is+T#68m?3omo#GR@t+3O$4}`^ zn2>Q>u}NBTJgiE2hFYUjy9<8ZKR0^h#Hseqi?_~;ayoAL#@uK^RE@cP9|TnG8I{p= z+#e7{796hr@#eM#zvZ=^8}GHRH@cnLig!iP*>z`u=Z)#q^AEvxsNuZnqaM+zZC$lq>M_mcavT4-k-i>%#xTCY1}qe zWMnYzD~oM!_-cWP?&&GI^7E0g6xI+k|M^LbiTuK!%wWo8 z4g~v@Zyg@|?%1vkYl!pF)D|0$xU#~wv!N=A^3s6VJjaRwf32W=jAEy@{Jx{iz=)v> zs<=-?CVi3Qg)viE5>kTLT&*}4^}^2-_^@GIf6gs75gEn_ zPDcpw?T3~ z8TWLQGeG6nKKiFedZ&e-A5*cqMre-$Z*qK}2AaVeb$FmcKeT*MvLe1G;IinH;-DTP zgB5^3FY{z|QV!_jEVNLHAOQ`urcd_Cj&cg65B8D+ik69GY_s{6nZX?-{3x6Jz%eKv Rv(LZ{jjYew%{?Zk=U>BSg%1D# literal 1410 zcmeAS@N?(olHy`uVBq!ia0y~yV4MKNIvi|3k+<8Q9%5i%_4IUc45_&F_HJz6VgrWO zz~)`9VJDS1gOW5uMYwK={GX%z(QL72<%8G05=Jco(-;`od;J(0n3x(G7!(v3I5U?DH4$jHc;&0-{ZExAyNVS@vMfB*vv3j-q~5IJD-G`iJ4 zHZ?dDc{JR&=@n<-2C0N7gXu%zH8NFpC~#cN^*E)3knK3IAqlIa&U5R z=$&z5VrnuCa`QOC!oniB(aXVMg)K-K$KACc&p5iQ;_a+BSngb57do*|@83>2!=mR$ zuOE&D?ltp;Sy-}{^i1dgI!7sKszchmW3QXeI{wq=j8I6J z*wD~00fZeyZMeCO+EhMSa*A;z0L_93LudvkC-*z8tmf@1MbE`R(h3S_(o2ETqHW01 z2qi$>j6mtRE$Gr9B?rpwT-fcLgnk~7S0E4Gjex>>x!_ixfc$fb2sc4IS-h3L1e1bg(07fG7gSyUZd+rY3Y#D>&FWIDjSr zHMJKU_%A(|=?L=%2LZkVOpZ1nr!}xua&tdq&=EMoEC9qBbGC1QN^-Nnga!B?9F30P zU{7dNkOSHS#tz*zY)thP|39f+WMOQ)dr?3bm@{Pi*4k^U0DbBH>Aom1!dsku92_3} zD(K(@`lj&Zevn*8TWC{*1uIAUjD`jW)`vH$&N?*#Js+V83LK!Af>aVP!4z1qD=0iz z1k%R{!azR&@ggV<@)HM80StGr0Rs`}MFp7yd55cX{FoWs2TifTfKrH1g9j`N3+^$8 Y3drB`3e9~EEL#~oUHx3vIVCg!03DlZ@c;k- diff --git a/util/test/data/D3D12_Overlay_Test/DebugOverlay.BackfaceCull.png b/util/test/data/D3D12_Overlay_Test/DebugOverlay.BackfaceCull.png index e4ca3087e90a7a5b9a77ef8873e57de9161e0d2a..6ecd1dfd9d37de54ea36bc0866681916c9aa4b08 100644 GIT binary patch literal 1229 zcmeAS@N?(olHy`uVBq!ia0y~yV4MKNIvi|3k+<8Q9%5i%nd0f<7*cWT?OpGnrw%-> zj^FlYCOEM$vrT!WzS1av1LO9$&X3!F{s3yA9$>4f<7aSU{3*%M!la~x#axG~xJ4WX zLL6LJut;hg^cG>{V0Uq0s43@jSoZ#0D@#LxLkmm8%7zY3hRckCLJZ58lvEgeSY13A zW^i>(VBk10iBUlziRr-H1`f^!AZGXuQos~sr1FUMf{MaFcP5auf`Sv1!$YVNurgO> zB{c@HQjl^W-XkTT$S45DhG6=^RV4KwJq;j7AZr1$lbql-fNW7vP*Z7Wm@z@eW^0Qu z%aN881*!e}gXVt*YW7^0v4pQfUbm@%!}DGS2M0$7r>BLCCiA16A{-qPp7gn$YWPvW z3}W`TH8eEbXjY6A?F(W2D3~oEaJzVOv}`Ys^D#?6AiDbSZAo56M#hb4ik70iCX64w z=P4+dm4DtX*!P<8<1z*Tf$q0yCM+y0M~*B>bJ&x_#&YCU`;tFDc{n=ma(Z?bO9}{B z%L@SwFjPD#E0FKS#<(#~F|(A9nJMXcl9B?*50=cI4$PkD=L3JM4a zY!2|aHE%o6arY){u}gP!IP>kOi-Uv187IZe`h86eGv0EZ6n?J7(GmHnfq^Nhu7#DO z&pRB~(Q_SSrKhW(%Q~loCIDKKHi7^E literal 1182 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 diff --git a/util/test/data/D3D12_Overlay_Test/DebugOverlay.ClearBeforePass.png b/util/test/data/D3D12_Overlay_Test/DebugOverlay.ClearBeforePass.png index 2fdab134d6f7c8649265b14ddb050c9c536f6660..40f4912edcb9484bd566f54417f4f913bc085546 100644 GIT binary patch literal 3225 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 literal 1124 zcmcgrZAer>6umS1UX35CvuaskGHZ)jCYwfKW%aZbwM0b}2|?9L;sK>8IuxXim}&N=tYJYIEPPKGsb zK_CEFvoc-z0K|*6jLkx1tm9obfEJ(SO5IZSVr(FFf6wyZ^ale|Pxr2RdHzgMec$5@ zr(0liZu~bZ1-2&*#N!3zCz68IB8_(C88ELi|-CblpjokhSrJ{ZqI+)#UyG{yn+X_8||U+xg! z7ZHwH&h4b>;7^K4yFzT?U^*xltQ;#2VrKcw)m{7>Uug`(ul*r0<%#y`32F-G;bDf6 zo%!KdJCH~D;jV8MT1YALoRer9z|c+Li$v<*P-smK=NQ1iNQ7LS zeDmqTx7|um#?WHOjvlNkfMJhT4|Tt$asHa4!oLwEwvce%bjVcOLJ84a$=L>O^=R5i zG*`ZrCMy(K+l-QDClW+gpX}cld0Rp~Ep+aDLTPD;XHKV2*G9s4{L%SAEN`WF{x)nb zZ`x#Bn|K#5x^|EosST|Xa&`a7UF{gH%3V?$pt41^`0$pZ>FFA5yX^uxW}EpYIG1eA&l8#L7-Q0j7*`tqof&hB6G%<*EJs_h; zVu2=o*;yeWI5>0i7UkZa!G(+&mt=Oz1|SoS;_z9ZL;9ij+3Gg(hl4QLsWtoXs%rZ> zEzIM_Pw0lcSYfVhPPOiVw#C1C9>}1QQfRPHxG2Gh6EplP{|^fNYKgp4e!VSo>!2E% Mm7e2jO)IGQ0sZ#(pa1{> diff --git a/util/test/data/D3D12_Overlay_Test/DebugOverlay.Drawcall.png b/util/test/data/D3D12_Overlay_Test/DebugOverlay.Drawcall.png index dd93fc4b22589b9554f98e81a8578099b863d110..be31d5b0fe30f3abe1ad1d241e42ed0b00a034bb 100644 GIT binary patch literal 1432 zcmeAS@N?(olHy`uVBq!ia0y~yV4MKNIvi|3k+<8Q9%5i%jrVkM45_&F_AaB}Y6lUA zz^pqhzhC@Y^ZT{kowlnjF4A2k5(&@t77GbaTAyjH79;=Rp$X67RE7riy%9_dEG!I+ zj1CSA0sR;-egJ^5wVEjXVr9z%B!8g1Zxi zm(gwgv8my}s|gXTKThARU^HlCP*7mt;9y{40-}Zn4BiC=^FS6xM#08YcY3FXT3`G8 z{O4h>22PePrAPWD0s;a;2^+(`9o|mpxy_f~$jRcP+R&h&g1`+E9JtmUTGR=YUw4N| zm}7>QgM)(y1EV7tf2)jL&3_qauwMB(zio#<#cMn z)h~JqPAa_3S#HqSuoCEPkk=s?(ZBurbqVL_6| zvE1;yL?%WbRhYRDx?#eEj@26;JOI1%5DU``F987u50G0y_)&e@{-570JNf3m4Ou)d z=e?rT#d>xorp|v>?`z$!U0(9>_ujhv?v93rl`bY4Ph>b)I6YrmKbv>{sn6bgMU%#c z&Ldj_|443}`>`=%Xkm&~VE7 zpN^oQfP;E$9s&Xhffmp9h5GaQ0+=o=faw^7O+fS-CZHeKL0CZnhCA4RsY?cg48NMt?i5xg*!|kIn4_J~+`3=k#nt?fP{l|bME`z75pUXO@geCyh CM0v;n literal 1311 zcmeAS@N?(olHy`uVBq!ia0y~yV4MKNIvi|3k+<8Q9%5i%dFJWj7*cWT?cKY%%?2V3 z7rm#bZesu4`sTP?y=l{-h)c9ElX8JL(F8W8835$Tyi~7dO6%;s-u!2efXIWxl*Mud>*4u&FmI;CMI5>duq}qAcUmZ?= zcg%aTdbs%QhZSXs7i;z$Vd;CQtFuo@?OqlWBO}Or5UdvC@?1#K^SIuQW=<9#RRskF z6&P-4XqezoT9$ZF9w=Xy*N85!pa7Jg78?;@2z2K;T_1&pl`JeQEl5~ENbiWAj)et6 zo{W0 z(ZR{Ylq27Fr>)^k(RkTW-28dazZ#2;&zzB zQF#shHF6w(4nGfRXgIJ4Xb}g84xjtGjZRGs4FzldMH)h^Vqw|F-#!BvnKHBO)=vP^ zQp=ybcZrJcWUw%nZT;0wC-Hq7Q2U zQ$zs>GcYy5a0W0(9AX4vk=IH|8+aJblx}80&crBLjDhMrc)0=2(lq7){d%Ct{@v-L W$1ZQZeiB&lF?hQAxvXAObcTgHG~2b7&HVl!WFt$L^v3@SWby{C^51!H83?6 zu?Fq(SoVEo3sCI>2Z@aiS(?HS=1vC@PM`xtIJjIULX7NS1sl1*ApmBMn~s1h6Bi2u zYZFtT+5!iL0EGn}P+eYNT@H;4T#haC09p^!r2@5G6>5ybL=9oE!=^x8!w8hAD&x!R zpMD?Q`E|>fs zd;_^nLm(npsaV*wE9LBO7f?7PL{FSyAlmr}EEk}(SJYEKb<qm4|A4vh}nPZyd@VFUS%>E&tXObtG8w2HJt^(_4qAl1bTj^Hmql_Kn5 zm0ix6;5fPvR0%hz>iGdJsP0R%zFEApUx%bi}=7z%X4h1SKY3sm;&^lS4~D}ZBV ziALYnD$U6^_VNPb9q5_^a!)T-&0O-!Y$}r@DD)P%6kdr_*;%)LAuy!?19!zr8?UJ+ z1{cshqlQjB1{hx0Hw%wr+oT^kFo5U@eGOJ^*6E_!2 z!?Byp3$wbIA)&+$v6K%Sz7B=p#NG4=n7DvBV<{uhynzHBFZgFyZ-1ER|05FQ3{O`- Jmvv4FO#nz5URD4A literal 1128 zcmeAS@N?(olHy`uVBq!ia0y~yV4MKNIvi|3k+<8Q9%5i%(f4$545_&F_O3VAAp;SI zKvDCBw+sH?zL-0s(P`tB44>bhEYrgTw&YLo&Z)8hYNHn5dG#qt$e`SaiJ?fQm*E*ARHbiP53aA*NA7C_n)y)S)fl%EZOOz{*s}Dio{o{&$Ge z0tcY}o(P4lQ#c{a7zMC?E*92B9uAER4NQqgm;zP6avCt*%3>W#jI2xzOpc8j!eEmF zRG_+4!MYYW1Slm3tAJgkAq26rNeF7p0uQiTML4{m4r~C*peSVm%7ATL;35L@mI#N2 zP-+v%F9@ZABAj5KbitJdfD8dD6@)5Pazq#cQOe@F$bkWFh|`>2hF9gj%dUSv5(4(b z3)d_6j;Ck#9Gce-w(C)VR2MVIn~i3toeMSiSeY2OSdK0<5n%@#r#q$nQh*fL&MEr* zOBY%|LP7?rXWA*}ObtF@RB*AJnhsPc192VS(nfHkct3?3^z^P!FjRWV*L#mQY=;_k zW8SBTa(^FSNIQu4xjCr#PkS!fZYuyb(o5v{_A1TEclPqKf&=D&+|!FyGpGDAp9+i= zh6N4^i!8GAC#{`#KR^L&@0Ad_z|>9Gg&zYW78G%nUkc>+PxHJY8449B{PJS6N0y~% zcq1_6Gp2oSJaCGuK69zPS0mWH2c{kU`2P7+P?(Ew{E3%21xjRGERVXCzyB76#)R^} z@0!A3VUcztkgE;-9;AIo01!U$NTY*)}EP!chfrCRKP%i^((<7i^K$ZwQ(2YQc n@_{7-q=3m5O9r5uP(#x^iM;641G2&8AUi!>{an^LB{Ts5t_K7S diff --git a/util/test/data/D3D12_Overlay_Test/DebugOverlay.QuadOverdrawPass.png b/util/test/data/D3D12_Overlay_Test/DebugOverlay.QuadOverdrawPass.png index d098d97012b89483f6f98e77daa1116ec36fbdd3..402d112007ed32433dff8488bd4f32cff0d5036e 100644 GIT binary patch literal 1991 zcma)7X;4#F7`+Ke2mvKxq-qgEfHo}Rf(t0(QxgHT7|^K}nQ|L-eq^p3r7T>o4(7&1QCS5#Y;5NiU; zgE*g|Z zcBk~0X1-KDJQT}kIZd_4L&7J&F=utjI&<}&CNLypo{>)gC0{cq{rtnBx9ae@Z2$a) zessX37ENn-n)$2#5POa}I}gc6cuuoaQu4b~?-$O2kL$xo86^bX))nm@kJRC1F6=O* zJ0_wkF-vY!{@&9}#GjJXNo=cT6-|@i4f-_r(bt{{NPmy9MEy)E+rQXbh9oBDVUhj} z_v0*)K`hD{5GA7I$6lT z8g$;ME>9esq4^=x^$UiFVk@&(vc>{&lrp6s1&iSmYeBd zVL#21;3zGvFLXoP39@5t(?1`JLIN|X9IMmEZ3h$`)5!2azSa8rB}JLr1hO_f;VXHv z!BuZv%nRmMxyi(c8K%{7tfEqkhb|EXWX&;}I$Ix<9~w znCkK9+tm_SgAzeG?yt)2-6JDGOV%}GiRDqA0aj1S9x8*dp}u*h1`Eo5lItP_!`1lGL;W0_ zN5YQPTx{3+?=ZO7kKf{TqVKZ4)#;>_cB6uda{R1sxlG<=_@>~NL#%d>kEIw6pJ&q* z=JoUYh8#}1Yr{Xpb~vI~sMR+SOSY>HHkQn)P~O!MP`l|3W=VHx#z+(IxxCpaN3Uz+ zKcuA?y_ZMW2ajSv={JL=aa+ejCRVG;U5FteXyg@)JAT_W6msOGnsJ? z>S;*@&JfLgVg|wK1&{s}{0)Kf0{y>&j}a&?>PFyQ%5+L8DtQXuP! literal 1874 zcma)6X;4#F6n+T=Vw5GB0BTYiGbj%f9V=zgR3GplKu1l~LKTozEHpvtQpgB4VaSkB zC13$JMneFLA_7tpWf6*k7EsiIsvt{2p;M)71(D6(`+^St+BcJ#y!)N=opZkXy`vQD z;G57^(hvkO@$trYAqXiQ{MJ#8z{!yARXu_jukgX$_QZD#b%|p-y_U;`wj*m!&mFSu zjMdU9=A;Wsn^f+>Zq<=_CMDHR{l`Pzts4`QF#SKDN6pSEWPYN*Z@lOI?U6mbMZ?x4 z#MB&NbCA1{2C|*MciubiV92B*G{c7*%vO_WhKMm020ST~J?bbYPzrewN+I_*dnnZy zQb!_74Gg8FBF-zo|%%2zAgFGs$}-K zXccOX2so%}h;l=~1vK%GtN4hnW*-~;4{0!RUsC=<-|SwkInh#P3WG#}WnfeCXPCF$ z%t9qKhDlI5D8zm^T%WWhZC+dr2)=1Ga;LTHRG$Y>!5|cJlZR4DhK;~ZaS&qu^bRI{YTl4mxi3_r$gN7bV;r02R zjG+NZk0uz}mr>QD5V z(^6HMYWZdMg+eYE3)=*eJx8zR{rK|v(~9+{ikUtqOPql`Oa=Me@l9RRm6O^0Os;ae zGd_zL$32bg`d8%ipT|B4vVPoz!_h))w;5|hzAprGyd@y>bg9f{t-M_9kP%Sw?LU)c zS==ka^N^9+PK$WG{n%WkCOd^I+`EW9dMMR8&oAY!n*Z!pe^=gtj0*Q$yu znMwykpgeii_p)_Yv-wXyBa)cZvZeXQm3!7QC`n`zCQHx5GQErSgrMu+gq+lTzYG*= zMZ;w;^YO!$N;1$%jWNAVQf>S{LMZ)!2HFHQXDS$10&QqSF_4ZggcwpZ_-3Y(p-)yY zLIX2EEJ2Gh8m*KJAqTPoAmJQJhYrPMD811_NnQZBp$UNMBd|CFQt1J;cjK84R8-%H z>R_vjU@nBB!2~wp*LsQ%umBsZ>l=}vL>W*JH<=nA$Wm|t;5hO(9lOnVaKa;)HeA>m z!H0u#-ac^gjXD}SPE04T_U-3s&0r#_A=hQV;@((-Xw`x@qu9Z0;&M>af{nF~3+FY> z9#J^~Y+oF*spBMQnrj2NAT|Ax_wvjOBexnd=H6YbFu@&60~GKM)V#x){Psaf+bLdW zV=fLfqQqNS7BqSM+K!rlH~DicDfY;T>n@esO85cTL|>_#DB9GYGd7Z-?W(JaA&RA^ z$A#v)FvhOiLz$BYZ$_`f&X&>)p+F#ykAkPUZ!dF~qys$o>9U z{L#E?yVk_C0Md>!*|H}Stz*G+C&!{&Z@nIjN4G$s@1DBpC&3fvyS7#ZDnVTQ{i;&* zD|Wyk^}#G9YXgwOx>S~v-#kgL;CUr>MOvho;4AE*ZJYA$Jl)i^-4EO?_+a*R%PDa& zQ@WVxAlfq6rH%ciabcdz{<*;{pS0oKdO=XLFsqager?&1R`Wj5lW^+@yECQFrGLWi zC)b{PT3`VwS!ms6Zwjmk$O7MqtDC~l>~#*Sm1om4fwsN4leznDxR?Z-nrB;?#)-AV zV&d{NJf<=12;M3Qw9mY6tu<>P>E>%gmJ*J6mFtMXNtx7C17L)a;Gu11cPB}2+7lOW z5|OT7Y=IS>nCR2Gy_Fxxk<}UuiIu`7DlHmgDTWNr7ED`$GXbZ`K)?kB^*j2ey-xOQ ztF-VcOq6z0G`z)`JD(ilXw5i9Z=ft{e;H~(hU&b2W2*Z6mci`9ELz4al;B|v5 diff --git a/util/test/data/D3D12_Overlay_Test/DebugOverlay.Stencil.png b/util/test/data/D3D12_Overlay_Test/DebugOverlay.Stencil.png index 2b827ba898e7525729372824f2da74532aa848a6..4b7c7ed8e973d1fdfbc0c34d6c271aadf246be6e 100644 GIT binary patch literal 1324 zcmcgreM}o=7=PdEb>3BI-)q-ZMf>pne4i6h7DWG4Zal9yo z1X`$MBuQrIR_@X_eR-?XSW0rw&3DdOrhDY!l}LEUeqhfzbN_{MMGWC^_fFsAXYVqM z&a&R#?a#Cbd;f&OTQ^)!e?0r`q)XCDMR{|sdn_?P=%vH$TEn?f`-DrXT`kJd+*Osc zO$T?W+}9>mEpbH05`B7??=P+7l~C^aa^=|bIQ&C{FYA+@YdWV;l=?$2CwlZIwX2g? zpSnCaPB{Njt@DkG>ylrHWmpNyzO@&#=QASI?|#k4vaI3@yLV#qR?8;Snk*z7cSOxe zBy6`**KUJQ|6!LN*513@d*q=JwA=C`c}*OwtAoGf=uJ1qjVJa)p0Fuq*+0%QVHIbl(Jsp3vXz9>#P zcnH05M88u~{u3-4JM(2GLN+s1;=O_>XJ)EVpUbxrzyyAelw*vmi&+*SO2XLFR77uz ztxbIOtVbl|dZaPPwHcN%fyhuYSnVu8Xot1q^otW@FR44VecWz)AdQW^+d8?$r`Iy9 z9p8DI1~G1^FK&s&paGtY$JPD1$4M*_Qwpyz+~*6oHrnJ)E4f| zA!LC(+Po36O0hiZz&M=U{2>jBOsXJE;Y|Yr4l(zz e#IydtQjG`lXEKirT_0+z(pUN`YLs5Ne&63KZC0oN literal 1158 zcmcgreMl5R6o0#}I(K63p610RHMgZ1Nv9TdV9I!{ne?HU1VM#Vl!TO$kcs8=0qs%5 z^{GKw6x2UaN?}44XI-F>eOQE)l^p~|nL&YBk-fRDQt;1c;Wsn;-f!Ofy*D%7qUHIq zR)-Y;Vha`<#Q>5Ikw&7>GI0IPZ2)CifstEM{cNB&xA;!FYCP&4>E0cC>HL(er)4kS zO>Qmu%Gb25MfyMc{CkE5fm%CW;b5BMg?;|1FhNRmbaJn?&c9t62b_?i1s&)bXJ zoD!X2`k=^aHb7B$75WViq$4?kv4Fxi$@+8Thf7|MwSY^XH?3XL;O zVqr6^b|^|XPqoB#q%YEiWvS2ks0wSV@nxG8Iq&~6h&3%{9cUl zjG+k6Jw;Ihf2=t-n<8=VtTj)BgyXI<3}U!jaw0hI@!7kDv7)?kHb~9wuCs#q`pefH zn6S1v;q+t_;667;A*Ln2s!=HM-cO`7g<^H1fYOmcum_{ifGt1=rK6F8%{f)KDh7GS zgc8-)eK(E5-iYpjlR!G!2W^Vd=jT;*D?!eD|6(_Xxz-NvgE+?8W|)o1oL9FeWv{@i zcc_0@2sa)$@Jy%Gd_X}-A(Y3fcp=@;>Y_l*GN>qIfHgtiEe`%-2BkA8e60L6Hzla! eyqN!H;;v!I-db~|eqGLIk+dLhxpCQ3y5}eDrUm5y diff --git a/util/test/data/D3D12_Overlay_Test/DebugOverlay.TriangleSizeDraw.png b/util/test/data/D3D12_Overlay_Test/DebugOverlay.TriangleSizeDraw.png index 4592428164bbae01c9d31c83299d304db70237fb..10d16dd38b23cdb494520d2ac38ad268ab56e8b9 100644 GIT binary patch literal 1112 zcmchWT}TvB6vxlp8FxohcXpMs#dLODLea=T(r}e=9oscFGl?KF$W6otMI(eQ6mPb& zqa|(+ks+3Sy-J4pQJA)_9}y)*l33vf`4F+?+SWr6b!T0DvbSj9$2s%=pZ~e{VWy?H z$PyKyj{tzELaS5)K)DHNtcobUfn^T>lUOL_9dXS0-aTn^rbmj0=N1m+1PU$$#ww%Z zE&6!&^y>8ws=J5@h9Ys8BE zg(0GXV>fR`JfD((KkcG}3UFNGWnkqFf*agfK~M3`NPI8RZ#$S%qIo%$Tl5Aa;VrkB26*$cf;h)mHJ`9w5fx$02=>Il z4nnO`Wz||Aw+P-1V_j4Rh{0(H(V?oLC@z|yN#bG2z=MaN)L>u6FrtZ&6{@C77(7Je zG@6GPWY-$3HL3jp2G;7QckzHq0_j`W(NXGYf6N;-Yn`0eF--RuE}y^hiDt_0)u<72 zC-XUl(=CV5uBY-WOTl9PtJH&EZG6qUfX*a0RkI10=+Q zX&ZMujN@Ly!Zke0lb9N&!@LtP7|V5{g%Yuf#Ur#m6-p!IYN$=&`#1S3{-5-El{z;( U(G?l!^C^cG78FT6=95i-098#6-2eap literal 1041 zcmcgrOK1~882)DyliAqN1fvxR?KYwy9dAwD`bB%_%6tmLi5i!`MbL zIVkaDpdPG;Ko3?B-xXuiKo1rvy;OWa2n|{!!3srCD*n4knuGNwE`0m{JKtk}n3>qI zu6CsKPx5I1!&|?%tta%Z@L}ruh-~w<&1XAX7k$HvBYDG> z4&aOPZG@2R^|Hj{mTt2h9 z$p-=y3kt0SK!9EEtHwfMP z+^-+-I=PlC*NF`MOtW7zXj~Z%EBYvpuVL?na)vBtN?A9zqt;c1qE`=a%@T{RRmr6Y zk}DucZmlW;<5XmEgjPBJIi4tqt40wQkQU*%26^N-g&>)7M}{Y*lbK8OUvQ24U!bzK|juaF&Hzovty%!L%6@~pI>T3 z+W!0z+IcWiEUpm2<-{F#!V8ZyQG+CTHAMP*f!M836!}IxJSwQ?O;EBomH diff --git a/util/test/data/D3D12_Overlay_Test/DebugOverlay.TriangleSizePass.png b/util/test/data/D3D12_Overlay_Test/DebugOverlay.TriangleSizePass.png index 8e6b2d69338552a88a0b94ca4843ae5d141c3b35..aa3e72a3ff9be82c7c8ed40bf871f0feed1baee7 100644 GIT binary patch literal 1721 zcmcgtYfKbZ6uvV%%ib*2y|ZO0L0M)OR4k<0#8hflye!KrHlRpxp;Q(mp-F#;50cS> z4hwW=v09C>wKlC96S3jlNAT^enu=AxwghQu1=i9Mw}eGXw_;0sXP{J*HnIKDN$#D= zH|Kok`_7!1aj(fpouduc0s!Wur`fUqp!Sg!2ZIPQ(l&GnfFL2=mYB_dJ@Tz*?Yz|? zHHCY2N1yA-YK>X4;A9v~dgh#`S13$5oX|EJcyYV#i{rmP-&j%}PtqUfkn-C4Mt-;+ z+02~VG^UpxjPc`DAI5cUFz`Ot+W-VJ#+HNzgpfT#$5!q-eTkOn%G4%ZEW(v9O~UzVK;GHY47Cnj^ygj{6fl6DZTHztWCt&Vk5CXzv&Wh9_+%P1v|PYTdahU z@GaR=qZZWk@mnr~QxJF&{_0Zb(sCnnAWeHsWUR|L9wHv&qh$opDmER8bJ0cA z4?YZN%+~nzb^u||)${Lll{B*u5t$bF0K;=dxEh3NAD? z7QD;z9SDU-hQFHRQ&blsFgFf>naqPT&r_Z$6?}oJX zmvtAK4G5jst~IdDi)rVgavMW=5^2&9F%ZF2H@e)aWE;k%M*-~=vo~9e=llKC#XW6< zg#*inpPQrtzTy__-&Pw4r#v1S!igwzv@w(QQSY8`+}N4OV6gxVxyz2TV-%#*qM}BushKG>S(%Yz`ScLRrVLx8m^{F(hiE_27ooc!@bAr%72;F>j zX^k4{X*zzGML3>#96YrDqI>QWcXlCGHazQ++=?ZlZDipYlfOBM^G16KrwILjYW~@#e~_%S zVYW^G#%IM-4O5mDvc&qP#>{o=kf3y!Ca)W&z)e@Ns?+c+o|mE2=N}DJS(4IX*o(!`5VVIR5~h CpE@f5 literal 1647 zcmchXe@q)?7{}jxIq0qB$9q8egB5zcZN>=_X67iNZrARR@(?0z0Z^L6&2*g=#%vTfS7!zxCsENfvj{UijeWoM|%K>T9+@{pOr6<4}Mw3 z+Y@u2xy&zX-yCnKY~aQY6KNU%%4Z z1%cSjUDX?af!;*y+!)IWQ$oNVt0^`WN}OcA2tOU%a{>hfR9|_?d9ET^;)*5$pE(dh zaV$mIi9_#iDGW$r2J)J+j^6VKzE&5BBi&P5>o68>kwQKxUj(vLKq9iP-=1yXfU&Fk zV61O@WOs3A9+o}9)mye(I4+fUe5cjwBDHf|e}zr-=obOSOKQEk80dJ1^*ISJ%)mFD zCqPu>r@5!kh32}YVlz(L7i!VD( z9^SEKcYVv4zj1%vc$&r#KI210k7Rq+i37;#3Dh;s$g?qR4=c|K6Acl9VZm81t!E@n~aNT8+uv zDmr5Cma%g3>^|;+B2vO)5hzwP(fklfW^Ck_3=^&0Qt^R*t<8 diff --git a/util/test/data/D3D12_Overlay_Test/backbuffer.png b/util/test/data/D3D12_Overlay_Test/backbuffer.png index 1802999514ba07dd8df116d3697680c44e572027..69e126168c8daa1bef8d85bd84ca8afc0756f7cb 100644 GIT binary patch literal 3851 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 YPciUKR>qU>&?^;YX>Lm_F>{alHypHf8~^|S diff --git a/util/test/data/D3D12_Overlay_Test/depth.png b/util/test/data/D3D12_Overlay_Test/depth.png index ce449099f289c15740053dccf4e8e9fe75d61f0d..1c4c2c5c2ad23c1c6376a80a34ef53994ab85d93 100644 GIT binary patch literal 2633 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 OpCHSI1fkZHR`hQ+OzH#x diff --git a/util/test/data/D3D12_Overlay_Test/stencil.png b/util/test/data/D3D12_Overlay_Test/stencil.png index 39bffad97b6dc79e3b6022a64d114b3096c4bcdc..57b210a779da5d120398df2f7dc38ba37cbab681 100644 GIT binary patch literal 1480 zcmcIke{2&~9DnzATVD&TN9l^xZr*iUlgSdhI0wj#w^~`NYcsIGFoBd|6k{Mq2lqZ*lh&S1^r%27Z?9t@;h9KeJ~^PcG4aaZy5^yEw#2K)=SXSNxN;gHne9C=p?DrK45DdiEGNq( z$!1u>e)+a~R7279*R^H~&xb4VnU-6ZU(7>wEFuJ9EQ$yQ`+pWo*sro|K&P76>`LZ_ zX-S!pW#g7Go+7rq}cnZ5LlnZ5GgTCRUq z{!{VVI~CZ#aNQFX9nbMRvznvm^Syo|XW7c9TZx>Is+T#68m?3omo#GR@t+3O$4}`^ zn2>Q>u}NBTJgiE2hFYUjy9<8ZKR0^h#Hseqi?_~;ayoAL#@uK^RE@cP9|TnG8I{p= z+#e7{796hr@#eM#zvZ=^8}GHRH@cnLig!iP*>z`u=Z)#q^AEvxsNuZnqaM+zZC$lq>M_mcavT4-k-i>%#xTCY1}qe zWMnYzD~oM!_-cWP?&&GI^7E0g6xI+k|M^LbiTuK!%wWo8 z4g~v@Zyg@|?%1vkYl!pF)D|0$xU#~wv!N=A^3s6VJjaRwf32W=jAEy@{Jx{iz=)v> zs<=-?CVi3Qg)viE5>kTLT&*}4^}^2-_^@GIf6gs75gEn_ zPDcpw?T3~ z8TWLQGeG6nKKiFedZ&e-A5*cqMre-$Z*qK}2AaVeb$FmcKeT*MvLe1G;IinH;-DTP zgB5^3FY{z|QV!_jEVNLHAOQ`urcd_Cj&cg65B8D+ik69GY_s{6nZX?-{3x6Jz%eKv Rv(LZ{jjYew%{?Zk=U>BSg%1D# literal 1410 zcmeAS@N?(olHy`uVBq!ia0y~yV4MKNIvi|3k+<8Q9%5i%_4IUc45_&F_HJz6VgrWO zz~)`9VJDS1gOW5uMYwK={GX%z(QL72<%8G05=Jco(-;`od;J(0n3x(G7!(v3I5U?DH4$jHc;&0-{ZExAyNVS@vMfB*vv3j-q~5IJD-G`iJ4 zHZ?dDc{JR&=@n<-2C0N7gXu%zH8NFpC~#cN^*E)3knK3IAqlIa&U5R z=$&z5VrnuCa`QOC!oniB(aXVMg)K-K$KACc&p5iQ;_a+BSngb57do*|@83>2!=mR$ zuOE&D?ltp;Sy-}{^i1dgI!7sKszchmW3QXeI{wq=j8I6J z*wD~00fZeyZMeCO+EhMSa*A;z0L_93LudvkC-*z8tmf@1MbE`R(h3S_(o2ETqHW01 z2qi$>j6mtRE$Gr9B?rpwT-fcLgnk~7S0E4Gjex>>x!_ixfc$fb2sc4IS-h3L1e1bg(07fG7gSyUZd+rY3Y#D>&FWIDjSr zHMJKU_%A(|=?L=%2LZkVOpZ1nr!}xua&tdq&=EMoEC9qBbGC1QN^-Nnga!B?9F30P zU{7dNkOSHS#tz*zY)thP|39f+WMOQ)dr?3bm@{Pi*4k^U0DbBH>Aom1!dsku92_3} zD(K(@`lj&Zevn*8TWC{*1uIAUjD`jW)`vH$&N?*#Js+V83LK!Af>aVP!4z1qD=0iz z1k%R{!azR&@ggV<@)HM80StGr0Rs`}MFp7yd55cX{FoWs2TifTfKrH1g9j`N3+^$8 Y3drB`3e9~EEL#~oUHx3vIVCg!03DlZ@c;k- diff --git a/util/test/data/GL_Overlay_Test/DebugOverlay.BackfaceCull.png b/util/test/data/GL_Overlay_Test/DebugOverlay.BackfaceCull.png index e4ca3087e90a7a5b9a77ef8873e57de9161e0d2a..6ecd1dfd9d37de54ea36bc0866681916c9aa4b08 100644 GIT binary patch literal 1229 zcmeAS@N?(olHy`uVBq!ia0y~yV4MKNIvi|3k+<8Q9%5i%nd0f<7*cWT?OpGnrw%-> zj^FlYCOEM$vrT!WzS1av1LO9$&X3!F{s3yA9$>4f<7aSU{3*%M!la~x#axG~xJ4WX zLL6LJut;hg^cG>{V0Uq0s43@jSoZ#0D@#LxLkmm8%7zY3hRckCLJZ58lvEgeSY13A zW^i>(VBk10iBUlziRr-H1`f^!AZGXuQos~sr1FUMf{MaFcP5auf`Sv1!$YVNurgO> zB{c@HQjl^W-XkTT$S45DhG6=^RV4KwJq;j7AZr1$lbql-fNW7vP*Z7Wm@z@eW^0Qu z%aN881*!e}gXVt*YW7^0v4pQfUbm@%!}DGS2M0$7r>BLCCiA16A{-qPp7gn$YWPvW z3}W`TH8eEbXjY6A?F(W2D3~oEaJzVOv}`Ys^D#?6AiDbSZAo56M#hb4ik70iCX64w z=P4+dm4DtX*!P<8<1z*Tf$q0yCM+y0M~*B>bJ&x_#&YCU`;tFDc{n=ma(Z?bO9}{B z%L@SwFjPD#E0FKS#<(#~F|(A9nJMXcl9B?*50=cI4$PkD=L3JM4a zY!2|aHE%o6arY){u}gP!IP>kOi-Uv187IZe`h86eGv0EZ6n?J7(GmHnfq^Nhu7#DO z&pRB~(Q_SSrKhW(%Q~loCIDKKHi7^E literal 1182 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 diff --git a/util/test/data/GL_Overlay_Test/DebugOverlay.ClearBeforePass.png b/util/test/data/GL_Overlay_Test/DebugOverlay.ClearBeforePass.png index 2fdab134d6f7c8649265b14ddb050c9c536f6660..40f4912edcb9484bd566f54417f4f913bc085546 100644 GIT binary patch literal 3225 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 literal 1124 zcmcgrZAer>6umS1UX35CvuaskGHZ)jCYwfKW%aZbwM0b}2|?9L;sK>8IuxXim}&N=tYJYIEPPKGsb zK_CEFvoc-z0K|*6jLkx1tm9obfEJ(SO5IZSVr(FFf6wyZ^ale|Pxr2RdHzgMec$5@ zr(0liZu~bZ1-2&*#N!3zCz68IB8_(C88ELi|-CblpjokhSrJ{ZqI+)#UyG{yn+X_8||U+xg! z7ZHwH&h4b>;7^K4yFzT?U^*xltQ;#2VrKcw)m{7>Uug`(ul*r0<%#y`32F-G;bDf6 zo%!KdJCH~D;jV8MT1YALoRer9z|c+Li$v<*P-smK=NQ1iNQ7LS zeDmqTx7|um#?WHOjvlNkfMJhT4|Tt$asHa4!oLwEwvce%bjVcOLJ84a$=L>O^=R5i zG*`ZrCMy(K+l-QDClW+gpX}cld0Rp~Ep+aDLTPD;XHKV2*G9s4{L%SAEN`WF{x)nb zZ`x#Bn|K#5x^|EosST|Xa&`a7UF{gH%3V?$pt41^`0$pZ>FFA5yX^uxW}EpYIG1eA&l8#L7-Q0j7*`tqof&hB6G%<*EJs_h; zVu2=o*;yeWI5>0i7UkZa!G(+&mt=Oz1|SoS;_z9ZL;9ij+3Gg(hl4QLsWtoXs%rZ> zEzIM_Pw0lcSYfVhPPOiVw#C1C9>}1QQfRPHxG2Gh6EplP{|^fNYKgp4e!VSo>!2E% Mm7e2jO)IGQ0sZ#(pa1{> diff --git a/util/test/data/GL_Overlay_Test/DebugOverlay.Drawcall.png b/util/test/data/GL_Overlay_Test/DebugOverlay.Drawcall.png index dd93fc4b22589b9554f98e81a8578099b863d110..be31d5b0fe30f3abe1ad1d241e42ed0b00a034bb 100644 GIT binary patch literal 1432 zcmeAS@N?(olHy`uVBq!ia0y~yV4MKNIvi|3k+<8Q9%5i%jrVkM45_&F_AaB}Y6lUA zz^pqhzhC@Y^ZT{kowlnjF4A2k5(&@t77GbaTAyjH79;=Rp$X67RE7riy%9_dEG!I+ zj1CSA0sR;-egJ^5wVEjXVr9z%B!8g1Zxi zm(gwgv8my}s|gXTKThARU^HlCP*7mt;9y{40-}Zn4BiC=^FS6xM#08YcY3FXT3`G8 z{O4h>22PePrAPWD0s;a;2^+(`9o|mpxy_f~$jRcP+R&h&g1`+E9JtmUTGR=YUw4N| zm}7>QgM)(y1EV7tf2)jL&3_qauwMB(zio#<#cMn z)h~JqPAa_3S#HqSuoCEPkk=s?(ZBurbqVL_6| zvE1;yL?%WbRhYRDx?#eEj@26;JOI1%5DU``F987u50G0y_)&e@{-570JNf3m4Ou)d z=e?rT#d>xorp|v>?`z$!U0(9>_ujhv?v93rl`bY4Ph>b)I6YrmKbv>{sn6bgMU%#c z&Ldj_|443}`>`=%Xkm&~VE7 zpN^oQfP;E$9s&Xhffmp9h5GaQ0+=o=faw^7O+fS-CZHeKL0CZnhCA4RsY?cg48NMt?i5xg*!|kIn4_J~+`3=k#nt?fP{l|bME`z75pUXO@geCyh CM0v;n literal 1311 zcmeAS@N?(olHy`uVBq!ia0y~yV4MKNIvi|3k+<8Q9%5i%dFJWj7*cWT?cKY%%?2V3 z7rm#bZesu4`sTP?y=l{-h)c9ElX8JL(F8W8835$Tyi~7dO6%;s-u!2efXIWxl*Mud>*4u&FmI;CMI5>duq}qAcUmZ?= zcg%aTdbs%QhZSXs7i;z$Vd;CQtFuo@?OqlWBO}Or5UdvC@?1#K^SIuQW=<9#RRskF z6&P-4XqezoT9$ZF9w=Xy*N85!pa7Jg78?;@2z2K;T_1&pl`JeQEl5~ENbiWAj)et6 zo{W0 z(ZR{Ylq27Fr>)^k(RkTW-28dazZ#2;&zzB zQF#shHF6w(4nGfRXgIJ4Xb}g84xjtGjZRGs4FzldMH)h^Vqw|F-#!BvnKHBO)=vP^ zQp=ybcZrJcWUw%nZT;0wC-Hq7Q2U zQ$zs>GcYy5a0W0(9AX4vk=IH|8+aJblx}80&crBLjDhMrc)0=2(lq7){d%Ct{@v-L W$1ZQZeiB&lF?hQAxvXAObcTgHG~2b7&HVl!WFt$L^v3@SWby{C^51!H83?6 zu?Fq(SoVEo3sCI>2Z@aiS(?HS=1vC@PM`xtIJjIULX7NS1sl1*ApmBMn~s1h6Bi2u zYZFtT+5!iL0EGn}P+eYNT@H;4T#haC09p^!r2@5G6>5ybL=9oE!=^x8!w8hAD&x!R zpMD?Q`E|>fs zd;_^nLm(npsaV*wE9LBO7f?7PL{FSyAlmr}EEk}(SJYEKb<qm4|A4vh}nPZyd@VFUS%>E&tXObtG8w2HJt^(_4qAl1bTj^Hmql_Kn5 zm0ix6;5fPvR0%hz>iGdJsP0R%zFEApUx%bi}=7z%X4h1SKY3sm;&^lS4~D}ZBV ziALYnD$U6^_VNPb9q5_^a!)T-&0O-!Y$}r@DD)P%6kdr_*;%)LAuy!?19!zr8?UJ+ z1{cshqlQjB1{hx0Hw%wr+oT^kFo5U@eGOJ^*6E_!2 z!?Byp3$wbIA)&+$v6K%Sz7B=p#NG4=n7DvBV<{uhynzHBFZgFyZ-1ER|05FQ3{O`- Jmvv4FO#nz5URD4A literal 1128 zcmeAS@N?(olHy`uVBq!ia0y~yV4MKNIvi|3k+<8Q9%5i%(f4$545_&F_O3VAAp;SI zKvDCBw+sH?zL-0s(P`tB44>bhEYrgTw&YLo&Z)8hYNHn5dG#qt$e`SaiJ?fQm*E*ARHbiP53aA*NA7C_n)y)S)fl%EZOOz{*s}Dio{o{&$Ge z0tcY}o(P4lQ#c{a7zMC?E*92B9uAER4NQqgm;zP6avCt*%3>W#jI2xzOpc8j!eEmF zRG_+4!MYYW1Slm3tAJgkAq26rNeF7p0uQiTML4{m4r~C*peSVm%7ATL;35L@mI#N2 zP-+v%F9@ZABAj5KbitJdfD8dD6@)5Pazq#cQOe@F$bkWFh|`>2hF9gj%dUSv5(4(b z3)d_6j;Ck#9Gce-w(C)VR2MVIn~i3toeMSiSeY2OSdK0<5n%@#r#q$nQh*fL&MEr* zOBY%|LP7?rXWA*}ObtF@RB*AJnhsPc192VS(nfHkct3?3^z^P!FjRWV*L#mQY=;_k zW8SBTa(^FSNIQu4xjCr#PkS!fZYuyb(o5v{_A1TEclPqKf&=D&+|!FyGpGDAp9+i= zh6N4^i!8GAC#{`#KR^L&@0Ad_z|>9Gg&zYW78G%nUkc>+PxHJY8449B{PJS6N0y~% zcq1_6Gp2oSJaCGuK69zPS0mWH2c{kU`2P7+P?(Ew{E3%21xjRGERVXCzyB76#)R^} z@0!A3VUcztkgE;-9;AIo01!U$NTY*)}EP!chfrCRKP%i^((<7i^K$ZwQ(2YQc n@_{7-q=3m5O9r5uP(#x^iM;641G2&8AUi!>{an^LB{Ts5t_K7S diff --git a/util/test/data/GL_Overlay_Test/DebugOverlay.QuadOverdrawPass.png b/util/test/data/GL_Overlay_Test/DebugOverlay.QuadOverdrawPass.png index d098d97012b89483f6f98e77daa1116ec36fbdd3..402d112007ed32433dff8488bd4f32cff0d5036e 100644 GIT binary patch literal 1991 zcma)7X;4#F7`+Ke2mvKxq-qgEfHo}Rf(t0(QxgHT7|^K}nQ|L-eq^p3r7T>o4(7&1QCS5#Y;5NiU; zgE*g|Z zcBk~0X1-KDJQT}kIZd_4L&7J&F=utjI&<}&CNLypo{>)gC0{cq{rtnBx9ae@Z2$a) zessX37ENn-n)$2#5POa}I}gc6cuuoaQu4b~?-$O2kL$xo86^bX))nm@kJRC1F6=O* zJ0_wkF-vY!{@&9}#GjJXNo=cT6-|@i4f-_r(bt{{NPmy9MEy)E+rQXbh9oBDVUhj} z_v0*)K`hD{5GA7I$6lT z8g$;ME>9esq4^=x^$UiFVk@&(vc>{&lrp6s1&iSmYeBd zVL#21;3zGvFLXoP39@5t(?1`JLIN|X9IMmEZ3h$`)5!2azSa8rB}JLr1hO_f;VXHv z!BuZv%nRmMxyi(c8K%{7tfEqkhb|EXWX&;}I$Ix<9~w znCkK9+tm_SgAzeG?yt)2-6JDGOV%}GiRDqA0aj1S9x8*dp}u*h1`Eo5lItP_!`1lGL;W0_ zN5YQPTx{3+?=ZO7kKf{TqVKZ4)#;>_cB6uda{R1sxlG<=_@>~NL#%d>kEIw6pJ&q* z=JoUYh8#}1Yr{Xpb~vI~sMR+SOSY>HHkQn)P~O!MP`l|3W=VHx#z+(IxxCpaN3Uz+ zKcuA?y_ZMW2ajSv={JL=aa+ejCRVG;U5FteXyg@)JAT_W6msOGnsJ? z>S;*@&JfLgVg|wK1&{s}{0)Kf0{y>&j}a&?>PFyQ%5+L8DtQXuP! literal 1874 zcma)6X;4#F6n+T=Vw5GB0BTYiGbj%f9V=zgR3GplKu1l~LKTozEHpvtQpgB4VaSkB zC13$JMneFLA_7tpWf6*k7EsiIsvt{2p;M)71(D6(`+^St+BcJ#y!)N=opZkXy`vQD z;G57^(hvkO@$trYAqXiQ{MJ#8z{!yARXu_jukgX$_QZD#b%|p-y_U;`wj*m!&mFSu zjMdU9=A;Wsn^f+>Zq<=_CMDHR{l`Pzts4`QF#SKDN6pSEWPYN*Z@lOI?U6mbMZ?x4 z#MB&NbCA1{2C|*MciubiV92B*G{c7*%vO_WhKMm020ST~J?bbYPzrewN+I_*dnnZy zQb!_74Gg8FBF-zo|%%2zAgFGs$}-K zXccOX2so%}h;l=~1vK%GtN4hnW*-~;4{0!RUsC=<-|SwkInh#P3WG#}WnfeCXPCF$ z%t9qKhDlI5D8zm^T%WWhZC+dr2)=1Ga;LTHRG$Y>!5|cJlZR4DhK;~ZaS&qu^bRI{YTl4mxi3_r$gN7bV;r02R zjG+NZk0uz}mr>QD5V z(^6HMYWZdMg+eYE3)=*eJx8zR{rK|v(~9+{ikUtqOPql`Oa=Me@l9RRm6O^0Os;ae zGd_zL$32bg`d8%ipT|B4vVPoz!_h))w;5|hzAprGyd@y>bg9f{t-M_9kP%Sw?LU)c zS==ka^N^9+PK$WG{n%WkCOd^I+`EW9dMMR8&oAY!n*Z!pe^=gtj0*Q$yu znMwykpgeii_p)_Yv-wXyBa)cZvZeXQm3!7QC`n`zCQHx5GQErSgrMu+gq+lTzYG*= zMZ;w;^YO!$N;1$%jWNAVQf>S{LMZ)!2HFHQXDS$10&QqSF_4ZggcwpZ_-3Y(p-)yY zLIX2EEJ2Gh8m*KJAqTPoAmJQJhYrPMD811_NnQZBp$UNMBd|CFQt1J;cjK84R8-%H z>R_vjU@nBB!2~wp*LsQ%umBsZ>l=}vL>W*JH<=nA$Wm|t;5hO(9lOnVaKa;)HeA>m z!H0u#-ac^gjXD}SPE04T_U-3s&0r#_A=hQV;@((-Xw`x@qu9Z0;&M>af{nF~3+FY> z9#J^~Y+oF*spBMQnrj2NAT|Ax_wvjOBexnd=H6YbFu@&60~GKM)V#x){Psaf+bLdW zV=fLfqQqNS7BqSM+K!rlH~DicDfY;T>n@esO85cTL|>_#DB9GYGd7Z-?W(JaA&RA^ z$A#v)FvhOiLz$BYZ$_`f&X&>)p+F#ykAkPUZ!dF~qys$o>9U z{L#E?yVk_C0Md>!*|H}Stz*G+C&!{&Z@nIjN4G$s@1DBpC&3fvyS7#ZDnVTQ{i;&* zD|Wyk^}#G9YXgwOx>S~v-#kgL;CUr>MOvho;4AE*ZJYA$Jl)i^-4EO?_+a*R%PDa& zQ@WVxAlfq6rH%ciabcdz{<*;{pS0oKdO=XLFsqager?&1R`Wj5lW^+@yECQFrGLWi zC)b{PT3`VwS!ms6Zwjmk$O7MqtDC~l>~#*Sm1om4fwsN4leznDxR?Z-nrB;?#)-AV zV&d{NJf<=12;M3Qw9mY6tu<>P>E>%gmJ*J6mFtMXNtx7C17L)a;Gu11cPB}2+7lOW z5|OT7Y=IS>nCR2Gy_Fxxk<}UuiIu`7DlHmgDTWNr7ED`$GXbZ`K)?kB^*j2ey-xOQ ztF-VcOq6z0G`z)`JD(ilXw5i9Z=ft{e;H~(hU&b2W2*Z6mci`9ELz4al;B|v5 diff --git a/util/test/data/GL_Overlay_Test/DebugOverlay.Stencil.png b/util/test/data/GL_Overlay_Test/DebugOverlay.Stencil.png index 2b827ba898e7525729372824f2da74532aa848a6..4b7c7ed8e973d1fdfbc0c34d6c271aadf246be6e 100644 GIT binary patch literal 1324 zcmcgreM}o=7=PdEb>3BI-)q-ZMf>pne4i6h7DWG4Zal9yo z1X`$MBuQrIR_@X_eR-?XSW0rw&3DdOrhDY!l}LEUeqhfzbN_{MMGWC^_fFsAXYVqM z&a&R#?a#Cbd;f&OTQ^)!e?0r`q)XCDMR{|sdn_?P=%vH$TEn?f`-DrXT`kJd+*Osc zO$T?W+}9>mEpbH05`B7??=P+7l~C^aa^=|bIQ&C{FYA+@YdWV;l=?$2CwlZIwX2g? zpSnCaPB{Njt@DkG>ylrHWmpNyzO@&#=QASI?|#k4vaI3@yLV#qR?8;Snk*z7cSOxe zBy6`**KUJQ|6!LN*513@d*q=JwA=C`c}*OwtAoGf=uJ1qjVJa)p0Fuq*+0%QVHIbl(Jsp3vXz9>#P zcnH05M88u~{u3-4JM(2GLN+s1;=O_>XJ)EVpUbxrzyyAelw*vmi&+*SO2XLFR77uz ztxbIOtVbl|dZaPPwHcN%fyhuYSnVu8Xot1q^otW@FR44VecWz)AdQW^+d8?$r`Iy9 z9p8DI1~G1^FK&s&paGtY$JPD1$4M*_Qwpyz+~*6oHrnJ)E4f| zA!LC(+Po36O0hiZz&M=U{2>jBOsXJE;Y|Yr4l(zz e#IydtQjG`lXEKirT_0+z(pUN`YLs5Ne&63KZC0oN literal 1158 zcmcgreMl5R6o0#}I(K63p610RHMgZ1Nv9TdV9I!{ne?HU1VM#Vl!TO$kcs8=0qs%5 z^{GKw6x2UaN?}44XI-F>eOQE)l^p~|nL&YBk-fRDQt;1c;Wsn;-f!Ofy*D%7qUHIq zR)-Y;Vha`<#Q>5Ikw&7>GI0IPZ2)CifstEM{cNB&xA;!FYCP&4>E0cC>HL(er)4kS zO>Qmu%Gb25MfyMc{CkE5fm%CW;b5BMg?;|1FhNRmbaJn?&c9t62b_?i1s&)bXJ zoD!X2`k=^aHb7B$75WViq$4?kv4Fxi$@+8Thf7|MwSY^XH?3XL;O zVqr6^b|^|XPqoB#q%YEiWvS2ks0wSV@nxG8Iq&~6h&3%{9cUl zjG+k6Jw;Ihf2=t-n<8=VtTj)BgyXI<3}U!jaw0hI@!7kDv7)?kHb~9wuCs#q`pefH zn6S1v;q+t_;667;A*Ln2s!=HM-cO`7g<^H1fYOmcum_{ifGt1=rK6F8%{f)KDh7GS zgc8-)eK(E5-iYpjlR!G!2W^Vd=jT;*D?!eD|6(_Xxz-NvgE+?8W|)o1oL9FeWv{@i zcc_0@2sa)$@Jy%Gd_X}-A(Y3fcp=@;>Y_l*GN>qIfHgtiEe`%-2BkA8e60L6Hzla! eyqN!H;;v!I-db~|eqGLIk+dLhxpCQ3y5}eDrUm5y diff --git a/util/test/data/GL_Overlay_Test/DebugOverlay.TriangleSizeDraw.png b/util/test/data/GL_Overlay_Test/DebugOverlay.TriangleSizeDraw.png index 4592428164bbae01c9d31c83299d304db70237fb..10d16dd38b23cdb494520d2ac38ad268ab56e8b9 100644 GIT binary patch literal 1112 zcmchWT}TvB6vxlp8FxohcXpMs#dLODLea=T(r}e=9oscFGl?KF$W6otMI(eQ6mPb& zqa|(+ks+3Sy-J4pQJA)_9}y)*l33vf`4F+?+SWr6b!T0DvbSj9$2s%=pZ~e{VWy?H z$PyKyj{tzELaS5)K)DHNtcobUfn^T>lUOL_9dXS0-aTn^rbmj0=N1m+1PU$$#ww%Z zE&6!&^y>8ws=J5@h9Ys8BE zg(0GXV>fR`JfD((KkcG}3UFNGWnkqFf*agfK~M3`NPI8RZ#$S%qIo%$Tl5Aa;VrkB26*$cf;h)mHJ`9w5fx$02=>Il z4nnO`Wz||Aw+P-1V_j4Rh{0(H(V?oLC@z|yN#bG2z=MaN)L>u6FrtZ&6{@C77(7Je zG@6GPWY-$3HL3jp2G;7QckzHq0_j`W(NXGYf6N;-Yn`0eF--RuE}y^hiDt_0)u<72 zC-XUl(=CV5uBY-WOTl9PtJH&EZG6qUfX*a0RkI10=+Q zX&ZMujN@Ly!Zke0lb9N&!@LtP7|V5{g%Yuf#Ur#m6-p!IYN$=&`#1S3{-5-El{z;( U(G?l!^C^cG78FT6=95i-098#6-2eap literal 1041 zcmcgrOK1~882)DyliAqN1fvxR?KYwy9dAwD`bB%_%6tmLi5i!`MbL zIVkaDpdPG;Ko3?B-xXuiKo1rvy;OWa2n|{!!3srCD*n4knuGNwE`0m{JKtk}n3>qI zu6CsKPx5I1!&|?%tta%Z@L}ruh-~w<&1XAX7k$HvBYDG> z4&aOPZG@2R^|Hj{mTt2h9 z$p-=y3kt0SK!9EEtHwfMP z+^-+-I=PlC*NF`MOtW7zXj~Z%EBYvpuVL?na)vBtN?A9zqt;c1qE`=a%@T{RRmr6Y zk}DucZmlW;<5XmEgjPBJIi4tqt40wQkQU*%26^N-g&>)7M}{Y*lbK8OUvQ24U!bzK|juaF&Hzovty%!L%6@~pI>T3 z+W!0z+IcWiEUpm2<-{F#!V8ZyQG+CTHAMP*f!M836!}IxJSwQ?O;EBomH diff --git a/util/test/data/GL_Overlay_Test/DebugOverlay.TriangleSizePass.png b/util/test/data/GL_Overlay_Test/DebugOverlay.TriangleSizePass.png index 8e6b2d69338552a88a0b94ca4843ae5d141c3b35..aa3e72a3ff9be82c7c8ed40bf871f0feed1baee7 100644 GIT binary patch literal 1721 zcmcgtYfKbZ6uvV%%ib*2y|ZO0L0M)OR4k<0#8hflye!KrHlRpxp;Q(mp-F#;50cS> z4hwW=v09C>wKlC96S3jlNAT^enu=AxwghQu1=i9Mw}eGXw_;0sXP{J*HnIKDN$#D= zH|Kok`_7!1aj(fpouduc0s!Wur`fUqp!Sg!2ZIPQ(l&GnfFL2=mYB_dJ@Tz*?Yz|? zHHCY2N1yA-YK>X4;A9v~dgh#`S13$5oX|EJcyYV#i{rmP-&j%}PtqUfkn-C4Mt-;+ z+02~VG^UpxjPc`DAI5cUFz`Ot+W-VJ#+HNzgpfT#$5!q-eTkOn%G4%ZEW(v9O~UzVK;GHY47Cnj^ygj{6fl6DZTHztWCt&Vk5CXzv&Wh9_+%P1v|PYTdahU z@GaR=qZZWk@mnr~QxJF&{_0Zb(sCnnAWeHsWUR|L9wHv&qh$opDmER8bJ0cA z4?YZN%+~nzb^u||)${Lll{B*u5t$bF0K;=dxEh3NAD? z7QD;z9SDU-hQFHRQ&blsFgFf>naqPT&r_Z$6?}oJX zmvtAK4G5jst~IdDi)rVgavMW=5^2&9F%ZF2H@e)aWE;k%M*-~=vo~9e=llKC#XW6< zg#*inpPQrtzTy__-&Pw4r#v1S!igwzv@w(QQSY8`+}N4OV6gxVxyz2TV-%#*qM}BushKG>S(%Yz`ScLRrVLx8m^{F(hiE_27ooc!@bAr%72;F>j zX^k4{X*zzGML3>#96YrDqI>QWcXlCGHazQ++=?ZlZDipYlfOBM^G16KrwILjYW~@#e~_%S zVYW^G#%IM-4O5mDvc&qP#>{o=kf3y!Ca)W&z)e@Ns?+c+o|mE2=N}DJS(4IX*o(!`5VVIR5~h CpE@f5 literal 1647 zcmchXe@q)?7{}jxIq0qB$9q8egB5zcZN>=_X67iNZrARR@(?0z0Z^L6&2*g=#%vTfS7!zxCsENfvj{UijeWoM|%K>T9+@{pOr6<4}Mw3 z+Y@u2xy&zX-yCnKY~aQY6KNU%%4Z z1%cSjUDX?af!;*y+!)IWQ$oNVt0^`WN}OcA2tOU%a{>hfR9|_?d9ET^;)*5$pE(dh zaV$mIi9_#iDGW$r2J)J+j^6VKzE&5BBi&P5>o68>kwQKxUj(vLKq9iP-=1yXfU&Fk zV61O@WOs3A9+o}9)mye(I4+fUe5cjwBDHf|e}zr-=obOSOKQEk80dJ1^*ISJ%)mFD zCqPu>r@5!kh32}YVlz(L7i!VD( z9^SEKcYVv4zj1%vc$&r#KI210k7Rq+i37;#3Dh;s$g?qR4=c|K6Acl9VZm81t!E@n~aNT8+uv zDmr5Cma%g3>^|;+B2vO)5hzwP(fklfW^Ck_3=^&0Qt^R*t<8 diff --git a/util/test/data/GL_Overlay_Test/backbuffer.png b/util/test/data/GL_Overlay_Test/backbuffer.png index 1802999514ba07dd8df116d3697680c44e572027..69e126168c8daa1bef8d85bd84ca8afc0756f7cb 100644 GIT binary patch literal 3851 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 YPciUKR>qU>&?^;YX>Lm_F>{alHypHf8~^|S diff --git a/util/test/data/GL_Overlay_Test/depth.png b/util/test/data/GL_Overlay_Test/depth.png index ce449099f289c15740053dccf4e8e9fe75d61f0d..1c4c2c5c2ad23c1c6376a80a34ef53994ab85d93 100644 GIT binary patch literal 2633 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 OpCHSI1fkZHR`hQ+OzH#x diff --git a/util/test/data/GL_Overlay_Test/stencil.png b/util/test/data/GL_Overlay_Test/stencil.png index 39bffad97b6dc79e3b6022a64d114b3096c4bcdc..57b210a779da5d120398df2f7dc38ba37cbab681 100644 GIT binary patch literal 1480 zcmcIke{2&~9DnzATVD&TN9l^xZr*iUlgSdhI0wj#w^~`NYcsIGFoBd|6k{Mq2lqZ*lh&S1^r%27Z?9t@;h9KeJ~^PcG4aaZy5^yEw#2K)=SXSNxN;gHne9C=p?DrK45DdiEGNq( z$!1u>e)+a~R7279*R^H~&xb4VnU-6ZU(7>wEFuJ9EQ$yQ`+pWo*sro|K&P76>`LZ_ zX-S!pW#g7Go+7rq}cnZ5LlnZ5GgTCRUq z{!{VVI~CZ#aNQFX9nbMRvznvm^Syo|XW7c9TZx>Is+T#68m?3omo#GR@t+3O$4}`^ zn2>Q>u}NBTJgiE2hFYUjy9<8ZKR0^h#Hseqi?_~;ayoAL#@uK^RE@cP9|TnG8I{p= z+#e7{796hr@#eM#zvZ=^8}GHRH@cnLig!iP*>z`u=Z)#q^AEvxsNuZnqaM+zZC$lq>M_mcavT4-k-i>%#xTCY1}qe zWMnYzD~oM!_-cWP?&&GI^7E0g6xI+k|M^LbiTuK!%wWo8 z4g~v@Zyg@|?%1vkYl!pF)D|0$xU#~wv!N=A^3s6VJjaRwf32W=jAEy@{Jx{iz=)v> zs<=-?CVi3Qg)viE5>kTLT&*}4^}^2-_^@GIf6gs75gEn_ zPDcpw?T3~ z8TWLQGeG6nKKiFedZ&e-A5*cqMre-$Z*qK}2AaVeb$FmcKeT*MvLe1G;IinH;-DTP zgB5^3FY{z|QV!_jEVNLHAOQ`urcd_Cj&cg65B8D+ik69GY_s{6nZX?-{3x6Jz%eKv Rv(LZ{jjYew%{?Zk=U>BSg%1D# literal 1410 zcmeAS@N?(olHy`uVBq!ia0y~yV4MKNIvi|3k+<8Q9%5i%_4IUc45_&F_HJz6VgrWO zz~)`9VJDS1gOW5uMYwK={GX%z(QL72<%8G05=Jco(-;`od;J(0n3x(G7!(v3I5U?DH4$jHc;&0-{ZExAyNVS@vMfB*vv3j-q~5IJD-G`iJ4 zHZ?dDc{JR&=@n<-2C0N7gXu%zH8NFpC~#cN^*E)3knK3IAqlIa&U5R z=$&z5VrnuCa`QOC!oniB(aXVMg)K-K$KACc&p5iQ;_a+BSngb57do*|@83>2!=mR$ zuOE&D?ltp;Sy-}{^i1dgI!7sKszchmW3QXeI{wq=j8I6J z*wD~00fZeyZMeCO+EhMSa*A;z0L_93LudvkC-*z8tmf@1MbE`R(h3S_(o2ETqHW01 z2qi$>j6mtRE$Gr9B?rpwT-fcLgnk~7S0E4Gjex>>x!_ixfc$fb2sc4IS-h3L1e1bg(07fG7gSyUZd+rY3Y#D>&FWIDjSr zHMJKU_%A(|=?L=%2LZkVOpZ1nr!}xua&tdq&=EMoEC9qBbGC1QN^-Nnga!B?9F30P zU{7dNkOSHS#tz*zY)thP|39f+WMOQ)dr?3bm@{Pi*4k^U0DbBH>Aom1!dsku92_3} zD(K(@`lj&Zevn*8TWC{*1uIAUjD`jW)`vH$&N?*#Js+V83LK!Af>aVP!4z1qD=0iz z1k%R{!azR&@ggV<@)HM80StGr0Rs`}MFp7yd55cX{FoWs2TifTfKrH1g9j`N3+^$8 Y3drB`3e9~EEL#~oUHx3vIVCg!03DlZ@c;k- diff --git a/util/test/data/VK_Overlay_Test/DebugOverlay.BackfaceCull.png b/util/test/data/VK_Overlay_Test/DebugOverlay.BackfaceCull.png index e4ca3087e90a7a5b9a77ef8873e57de9161e0d2a..6ecd1dfd9d37de54ea36bc0866681916c9aa4b08 100644 GIT binary patch literal 1229 zcmeAS@N?(olHy`uVBq!ia0y~yV4MKNIvi|3k+<8Q9%5i%nd0f<7*cWT?OpGnrw%-> zj^FlYCOEM$vrT!WzS1av1LO9$&X3!F{s3yA9$>4f<7aSU{3*%M!la~x#axG~xJ4WX zLL6LJut;hg^cG>{V0Uq0s43@jSoZ#0D@#LxLkmm8%7zY3hRckCLJZ58lvEgeSY13A zW^i>(VBk10iBUlziRr-H1`f^!AZGXuQos~sr1FUMf{MaFcP5auf`Sv1!$YVNurgO> zB{c@HQjl^W-XkTT$S45DhG6=^RV4KwJq;j7AZr1$lbql-fNW7vP*Z7Wm@z@eW^0Qu z%aN881*!e}gXVt*YW7^0v4pQfUbm@%!}DGS2M0$7r>BLCCiA16A{-qPp7gn$YWPvW z3}W`TH8eEbXjY6A?F(W2D3~oEaJzVOv}`Ys^D#?6AiDbSZAo56M#hb4ik70iCX64w z=P4+dm4DtX*!P<8<1z*Tf$q0yCM+y0M~*B>bJ&x_#&YCU`;tFDc{n=ma(Z?bO9}{B z%L@SwFjPD#E0FKS#<(#~F|(A9nJMXcl9B?*50=cI4$PkD=L3JM4a zY!2|aHE%o6arY){u}gP!IP>kOi-Uv187IZe`h86eGv0EZ6n?J7(GmHnfq^Nhu7#DO z&pRB~(Q_SSrKhW(%Q~loCIDKKHi7^E literal 1182 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 diff --git a/util/test/data/VK_Overlay_Test/DebugOverlay.ClearBeforePass.png b/util/test/data/VK_Overlay_Test/DebugOverlay.ClearBeforePass.png index 2fdab134d6f7c8649265b14ddb050c9c536f6660..40f4912edcb9484bd566f54417f4f913bc085546 100644 GIT binary patch literal 3225 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 literal 1124 zcmcgrZAer>6umS1UX35CvuaskGHZ)jCYwfKW%aZbwM0b}2|?9L;sK>8IuxXim}&N=tYJYIEPPKGsb zK_CEFvoc-z0K|*6jLkx1tm9obfEJ(SO5IZSVr(FFf6wyZ^ale|Pxr2RdHzgMec$5@ zr(0liZu~bZ1-2&*#N!3zCz68IB8_(C88ELi|-CblpjokhSrJ{ZqI+)#UyG{yn+X_8||U+xg! z7ZHwH&h4b>;7^K4yFzT?U^*xltQ;#2VrKcw)m{7>Uug`(ul*r0<%#y`32F-G;bDf6 zo%!KdJCH~D;jV8MT1YALoRer9z|c+Li$v<*P-smK=NQ1iNQ7LS zeDmqTx7|um#?WHOjvlNkfMJhT4|Tt$asHa4!oLwEwvce%bjVcOLJ84a$=L>O^=R5i zG*`ZrCMy(K+l-QDClW+gpX}cld0Rp~Ep+aDLTPD;XHKV2*G9s4{L%SAEN`WF{x)nb zZ`x#Bn|K#5x^|EosST|Xa&`a7UF{gH%3V?$pt41^`0$pZ>FFA5yX^uxW}EpYIG1eA&l8#L7-Q0j7*`tqof&hB6G%<*EJs_h; zVu2=o*;yeWI5>0i7UkZa!G(+&mt=Oz1|SoS;_z9ZL;9ij+3Gg(hl4QLsWtoXs%rZ> zEzIM_Pw0lcSYfVhPPOiVw#C1C9>}1QQfRPHxG2Gh6EplP{|^fNYKgp4e!VSo>!2E% Mm7e2jO)IGQ0sZ#(pa1{> diff --git a/util/test/data/VK_Overlay_Test/DebugOverlay.Drawcall.png b/util/test/data/VK_Overlay_Test/DebugOverlay.Drawcall.png index dd93fc4b22589b9554f98e81a8578099b863d110..be31d5b0fe30f3abe1ad1d241e42ed0b00a034bb 100644 GIT binary patch literal 1432 zcmeAS@N?(olHy`uVBq!ia0y~yV4MKNIvi|3k+<8Q9%5i%jrVkM45_&F_AaB}Y6lUA zz^pqhzhC@Y^ZT{kowlnjF4A2k5(&@t77GbaTAyjH79;=Rp$X67RE7riy%9_dEG!I+ zj1CSA0sR;-egJ^5wVEjXVr9z%B!8g1Zxi zm(gwgv8my}s|gXTKThARU^HlCP*7mt;9y{40-}Zn4BiC=^FS6xM#08YcY3FXT3`G8 z{O4h>22PePrAPWD0s;a;2^+(`9o|mpxy_f~$jRcP+R&h&g1`+E9JtmUTGR=YUw4N| zm}7>QgM)(y1EV7tf2)jL&3_qauwMB(zio#<#cMn z)h~JqPAa_3S#HqSuoCEPkk=s?(ZBurbqVL_6| zvE1;yL?%WbRhYRDx?#eEj@26;JOI1%5DU``F987u50G0y_)&e@{-570JNf3m4Ou)d z=e?rT#d>xorp|v>?`z$!U0(9>_ujhv?v93rl`bY4Ph>b)I6YrmKbv>{sn6bgMU%#c z&Ldj_|443}`>`=%Xkm&~VE7 zpN^oQfP;E$9s&Xhffmp9h5GaQ0+=o=faw^7O+fS-CZHeKL0CZnhCA4RsY?cg48NMt?i5xg*!|kIn4_J~+`3=k#nt?fP{l|bME`z75pUXO@geCyh CM0v;n literal 1311 zcmeAS@N?(olHy`uVBq!ia0y~yV4MKNIvi|3k+<8Q9%5i%dFJWj7*cWT?cKY%%?2V3 z7rm#bZesu4`sTP?y=l{-h)c9ElX8JL(F8W8835$Tyi~7dO6%;s-u!2efXIWxl*Mud>*4u&FmI;CMI5>duq}qAcUmZ?= zcg%aTdbs%QhZSXs7i;z$Vd;CQtFuo@?OqlWBO}Or5UdvC@?1#K^SIuQW=<9#RRskF z6&P-4XqezoT9$ZF9w=Xy*N85!pa7Jg78?;@2z2K;T_1&pl`JeQEl5~ENbiWAj)et6 zo{W0 z(ZR{Ylq27Fr>)^k(RkTW-28dazZ#2;&zzB zQF#shHF6w(4nGfRXgIJ4Xb}g84xjtGjZRGs4FzldMH)h^Vqw|F-#!BvnKHBO)=vP^ zQp=ybcZrJcWUw%nZT;0wC-Hq7Q2U zQ$zs>GcYy5a0W0(9AX4vk=IH|8+aJblx}80&crBLjDhMrc)0=2(lq7){d%Ct{@v-L W$1ZQZeiB&lF?hQAxvXAObcTgHG~2b7&HVl!WFt$L^v3@SWby{C^51!H83?6 zu?Fq(SoVEo3sCI>2Z@aiS(?HS=1vC@PM`xtIJjIULX7NS1sl1*ApmBMn~s1h6Bi2u zYZFtT+5!iL0EGn}P+eYNT@H;4T#haC09p^!r2@5G6>5ybL=9oE!=^x8!w8hAD&x!R zpMD?Q`E|>fs zd;_^nLm(npsaV*wE9LBO7f?7PL{FSyAlmr}EEk}(SJYEKb<qm4|A4vh}nPZyd@VFUS%>E&tXObtG8w2HJt^(_4qAl1bTj^Hmql_Kn5 zm0ix6;5fPvR0%hz>iGdJsP0R%zFEApUx%bi}=7z%X4h1SKY3sm;&^lS4~D}ZBV ziALYnD$U6^_VNPb9q5_^a!)T-&0O-!Y$}r@DD)P%6kdr_*;%)LAuy!?19!zr8?UJ+ z1{cshqlQjB1{hx0Hw%wr+oT^kFo5U@eGOJ^*6E_!2 z!?Byp3$wbIA)&+$v6K%Sz7B=p#NG4=n7DvBV<{uhynzHBFZgFyZ-1ER|05FQ3{O`- Jmvv4FO#nz5URD4A literal 1128 zcmeAS@N?(olHy`uVBq!ia0y~yV4MKNIvi|3k+<8Q9%5i%(f4$545_&F_O3VAAp;SI zKvDCBw+sH?zL-0s(P`tB44>bhEYrgTw&YLo&Z)8hYNHn5dG#qt$e`SaiJ?fQm*E*ARHbiP53aA*NA7C_n)y)S)fl%EZOOz{*s}Dio{o{&$Ge z0tcY}o(P4lQ#c{a7zMC?E*92B9uAER4NQqgm;zP6avCt*%3>W#jI2xzOpc8j!eEmF zRG_+4!MYYW1Slm3tAJgkAq26rNeF7p0uQiTML4{m4r~C*peSVm%7ATL;35L@mI#N2 zP-+v%F9@ZABAj5KbitJdfD8dD6@)5Pazq#cQOe@F$bkWFh|`>2hF9gj%dUSv5(4(b z3)d_6j;Ck#9Gce-w(C)VR2MVIn~i3toeMSiSeY2OSdK0<5n%@#r#q$nQh*fL&MEr* zOBY%|LP7?rXWA*}ObtF@RB*AJnhsPc192VS(nfHkct3?3^z^P!FjRWV*L#mQY=;_k zW8SBTa(^FSNIQu4xjCr#PkS!fZYuyb(o5v{_A1TEclPqKf&=D&+|!FyGpGDAp9+i= zh6N4^i!8GAC#{`#KR^L&@0Ad_z|>9Gg&zYW78G%nUkc>+PxHJY8449B{PJS6N0y~% zcq1_6Gp2oSJaCGuK69zPS0mWH2c{kU`2P7+P?(Ew{E3%21xjRGERVXCzyB76#)R^} z@0!A3VUcztkgE;-9;AIo01!U$NTY*)}EP!chfrCRKP%i^((<7i^K$ZwQ(2YQc n@_{7-q=3m5O9r5uP(#x^iM;641G2&8AUi!>{an^LB{Ts5t_K7S diff --git a/util/test/data/VK_Overlay_Test/DebugOverlay.QuadOverdrawPass.png b/util/test/data/VK_Overlay_Test/DebugOverlay.QuadOverdrawPass.png index d098d97012b89483f6f98e77daa1116ec36fbdd3..402d112007ed32433dff8488bd4f32cff0d5036e 100644 GIT binary patch literal 1991 zcma)7X;4#F7`+Ke2mvKxq-qgEfHo}Rf(t0(QxgHT7|^K}nQ|L-eq^p3r7T>o4(7&1QCS5#Y;5NiU; zgE*g|Z zcBk~0X1-KDJQT}kIZd_4L&7J&F=utjI&<}&CNLypo{>)gC0{cq{rtnBx9ae@Z2$a) zessX37ENn-n)$2#5POa}I}gc6cuuoaQu4b~?-$O2kL$xo86^bX))nm@kJRC1F6=O* zJ0_wkF-vY!{@&9}#GjJXNo=cT6-|@i4f-_r(bt{{NPmy9MEy)E+rQXbh9oBDVUhj} z_v0*)K`hD{5GA7I$6lT z8g$;ME>9esq4^=x^$UiFVk@&(vc>{&lrp6s1&iSmYeBd zVL#21;3zGvFLXoP39@5t(?1`JLIN|X9IMmEZ3h$`)5!2azSa8rB}JLr1hO_f;VXHv z!BuZv%nRmMxyi(c8K%{7tfEqkhb|EXWX&;}I$Ix<9~w znCkK9+tm_SgAzeG?yt)2-6JDGOV%}GiRDqA0aj1S9x8*dp}u*h1`Eo5lItP_!`1lGL;W0_ zN5YQPTx{3+?=ZO7kKf{TqVKZ4)#;>_cB6uda{R1sxlG<=_@>~NL#%d>kEIw6pJ&q* z=JoUYh8#}1Yr{Xpb~vI~sMR+SOSY>HHkQn)P~O!MP`l|3W=VHx#z+(IxxCpaN3Uz+ zKcuA?y_ZMW2ajSv={JL=aa+ejCRVG;U5FteXyg@)JAT_W6msOGnsJ? z>S;*@&JfLgVg|wK1&{s}{0)Kf0{y>&j}a&?>PFyQ%5+L8DtQXuP! literal 1874 zcma)6X;4#F6n+T=Vw5GB0BTYiGbj%f9V=zgR3GplKu1l~LKTozEHpvtQpgB4VaSkB zC13$JMneFLA_7tpWf6*k7EsiIsvt{2p;M)71(D6(`+^St+BcJ#y!)N=opZkXy`vQD z;G57^(hvkO@$trYAqXiQ{MJ#8z{!yARXu_jukgX$_QZD#b%|p-y_U;`wj*m!&mFSu zjMdU9=A;Wsn^f+>Zq<=_CMDHR{l`Pzts4`QF#SKDN6pSEWPYN*Z@lOI?U6mbMZ?x4 z#MB&NbCA1{2C|*MciubiV92B*G{c7*%vO_WhKMm020ST~J?bbYPzrewN+I_*dnnZy zQb!_74Gg8FBF-zo|%%2zAgFGs$}-K zXccOX2so%}h;l=~1vK%GtN4hnW*-~;4{0!RUsC=<-|SwkInh#P3WG#}WnfeCXPCF$ z%t9qKhDlI5D8zm^T%WWhZC+dr2)=1Ga;LTHRG$Y>!5|cJlZR4DhK;~ZaS&qu^bRI{YTl4mxi3_r$gN7bV;r02R zjG+NZk0uz}mr>QD5V z(^6HMYWZdMg+eYE3)=*eJx8zR{rK|v(~9+{ikUtqOPql`Oa=Me@l9RRm6O^0Os;ae zGd_zL$32bg`d8%ipT|B4vVPoz!_h))w;5|hzAprGyd@y>bg9f{t-M_9kP%Sw?LU)c zS==ka^N^9+PK$WG{n%WkCOd^I+`EW9dMMR8&oAY!n*Z!pe^=gtj0*Q$yu znMwykpgeii_p)_Yv-wXyBa)cZvZeXQm3!7QC`n`zCQHx5GQErSgrMu+gq+lTzYG*= zMZ;w;^YO!$N;1$%jWNAVQf>S{LMZ)!2HFHQXDS$10&QqSF_4ZggcwpZ_-3Y(p-)yY zLIX2EEJ2Gh8m*KJAqTPoAmJQJhYrPMD811_NnQZBp$UNMBd|CFQt1J;cjK84R8-%H z>R_vjU@nBB!2~wp*LsQ%umBsZ>l=}vL>W*JH<=nA$Wm|t;5hO(9lOnVaKa;)HeA>m z!H0u#-ac^gjXD}SPE04T_U-3s&0r#_A=hQV;@((-Xw`x@qu9Z0;&M>af{nF~3+FY> z9#J^~Y+oF*spBMQnrj2NAT|Ax_wvjOBexnd=H6YbFu@&60~GKM)V#x){Psaf+bLdW zV=fLfqQqNS7BqSM+K!rlH~DicDfY;T>n@esO85cTL|>_#DB9GYGd7Z-?W(JaA&RA^ z$A#v)FvhOiLz$BYZ$_`f&X&>)p+F#ykAkPUZ!dF~qys$o>9U z{L#E?yVk_C0Md>!*|H}Stz*G+C&!{&Z@nIjN4G$s@1DBpC&3fvyS7#ZDnVTQ{i;&* zD|Wyk^}#G9YXgwOx>S~v-#kgL;CUr>MOvho;4AE*ZJYA$Jl)i^-4EO?_+a*R%PDa& zQ@WVxAlfq6rH%ciabcdz{<*;{pS0oKdO=XLFsqager?&1R`Wj5lW^+@yECQFrGLWi zC)b{PT3`VwS!ms6Zwjmk$O7MqtDC~l>~#*Sm1om4fwsN4leznDxR?Z-nrB;?#)-AV zV&d{NJf<=12;M3Qw9mY6tu<>P>E>%gmJ*J6mFtMXNtx7C17L)a;Gu11cPB}2+7lOW z5|OT7Y=IS>nCR2Gy_Fxxk<}UuiIu`7DlHmgDTWNr7ED`$GXbZ`K)?kB^*j2ey-xOQ ztF-VcOq6z0G`z)`JD(ilXw5i9Z=ft{e;H~(hU&b2W2*Z6mci`9ELz4al;B|v5 diff --git a/util/test/data/VK_Overlay_Test/DebugOverlay.Stencil.png b/util/test/data/VK_Overlay_Test/DebugOverlay.Stencil.png index 2b827ba898e7525729372824f2da74532aa848a6..4b7c7ed8e973d1fdfbc0c34d6c271aadf246be6e 100644 GIT binary patch literal 1324 zcmcgreM}o=7=PdEb>3BI-)q-ZMf>pne4i6h7DWG4Zal9yo z1X`$MBuQrIR_@X_eR-?XSW0rw&3DdOrhDY!l}LEUeqhfzbN_{MMGWC^_fFsAXYVqM z&a&R#?a#Cbd;f&OTQ^)!e?0r`q)XCDMR{|sdn_?P=%vH$TEn?f`-DrXT`kJd+*Osc zO$T?W+}9>mEpbH05`B7??=P+7l~C^aa^=|bIQ&C{FYA+@YdWV;l=?$2CwlZIwX2g? zpSnCaPB{Njt@DkG>ylrHWmpNyzO@&#=QASI?|#k4vaI3@yLV#qR?8;Snk*z7cSOxe zBy6`**KUJQ|6!LN*513@d*q=JwA=C`c}*OwtAoGf=uJ1qjVJa)p0Fuq*+0%QVHIbl(Jsp3vXz9>#P zcnH05M88u~{u3-4JM(2GLN+s1;=O_>XJ)EVpUbxrzyyAelw*vmi&+*SO2XLFR77uz ztxbIOtVbl|dZaPPwHcN%fyhuYSnVu8Xot1q^otW@FR44VecWz)AdQW^+d8?$r`Iy9 z9p8DI1~G1^FK&s&paGtY$JPD1$4M*_Qwpyz+~*6oHrnJ)E4f| zA!LC(+Po36O0hiZz&M=U{2>jBOsXJE;Y|Yr4l(zz e#IydtQjG`lXEKirT_0+z(pUN`YLs5Ne&63KZC0oN literal 1158 zcmcgreMl5R6o0#}I(K63p610RHMgZ1Nv9TdV9I!{ne?HU1VM#Vl!TO$kcs8=0qs%5 z^{GKw6x2UaN?}44XI-F>eOQE)l^p~|nL&YBk-fRDQt;1c;Wsn;-f!Ofy*D%7qUHIq zR)-Y;Vha`<#Q>5Ikw&7>GI0IPZ2)CifstEM{cNB&xA;!FYCP&4>E0cC>HL(er)4kS zO>Qmu%Gb25MfyMc{CkE5fm%CW;b5BMg?;|1FhNRmbaJn?&c9t62b_?i1s&)bXJ zoD!X2`k=^aHb7B$75WViq$4?kv4Fxi$@+8Thf7|MwSY^XH?3XL;O zVqr6^b|^|XPqoB#q%YEiWvS2ks0wSV@nxG8Iq&~6h&3%{9cUl zjG+k6Jw;Ihf2=t-n<8=VtTj)BgyXI<3}U!jaw0hI@!7kDv7)?kHb~9wuCs#q`pefH zn6S1v;q+t_;667;A*Ln2s!=HM-cO`7g<^H1fYOmcum_{ifGt1=rK6F8%{f)KDh7GS zgc8-)eK(E5-iYpjlR!G!2W^Vd=jT;*D?!eD|6(_Xxz-NvgE+?8W|)o1oL9FeWv{@i zcc_0@2sa)$@Jy%Gd_X}-A(Y3fcp=@;>Y_l*GN>qIfHgtiEe`%-2BkA8e60L6Hzla! eyqN!H;;v!I-db~|eqGLIk+dLhxpCQ3y5}eDrUm5y diff --git a/util/test/data/VK_Overlay_Test/DebugOverlay.TriangleSizeDraw.png b/util/test/data/VK_Overlay_Test/DebugOverlay.TriangleSizeDraw.png index 4592428164bbae01c9d31c83299d304db70237fb..10d16dd38b23cdb494520d2ac38ad268ab56e8b9 100644 GIT binary patch literal 1112 zcmchWT}TvB6vxlp8FxohcXpMs#dLODLea=T(r}e=9oscFGl?KF$W6otMI(eQ6mPb& zqa|(+ks+3Sy-J4pQJA)_9}y)*l33vf`4F+?+SWr6b!T0DvbSj9$2s%=pZ~e{VWy?H z$PyKyj{tzELaS5)K)DHNtcobUfn^T>lUOL_9dXS0-aTn^rbmj0=N1m+1PU$$#ww%Z zE&6!&^y>8ws=J5@h9Ys8BE zg(0GXV>fR`JfD((KkcG}3UFNGWnkqFf*agfK~M3`NPI8RZ#$S%qIo%$Tl5Aa;VrkB26*$cf;h)mHJ`9w5fx$02=>Il z4nnO`Wz||Aw+P-1V_j4Rh{0(H(V?oLC@z|yN#bG2z=MaN)L>u6FrtZ&6{@C77(7Je zG@6GPWY-$3HL3jp2G;7QckzHq0_j`W(NXGYf6N;-Yn`0eF--RuE}y^hiDt_0)u<72 zC-XUl(=CV5uBY-WOTl9PtJH&EZG6qUfX*a0RkI10=+Q zX&ZMujN@Ly!Zke0lb9N&!@LtP7|V5{g%Yuf#Ur#m6-p!IYN$=&`#1S3{-5-El{z;( U(G?l!^C^cG78FT6=95i-098#6-2eap literal 1041 zcmcgrOK1~882)DyliAqN1fvxR?KYwy9dAwD`bB%_%6tmLi5i!`MbL zIVkaDpdPG;Ko3?B-xXuiKo1rvy;OWa2n|{!!3srCD*n4knuGNwE`0m{JKtk}n3>qI zu6CsKPx5I1!&|?%tta%Z@L}ruh-~w<&1XAX7k$HvBYDG> z4&aOPZG@2R^|Hj{mTt2h9 z$p-=y3kt0SK!9EEtHwfMP z+^-+-I=PlC*NF`MOtW7zXj~Z%EBYvpuVL?na)vBtN?A9zqt;c1qE`=a%@T{RRmr6Y zk}DucZmlW;<5XmEgjPBJIi4tqt40wQkQU*%26^N-g&>)7M}{Y*lbK8OUvQ24U!bzK|juaF&Hzovty%!L%6@~pI>T3 z+W!0z+IcWiEUpm2<-{F#!V8ZyQG+CTHAMP*f!M836!}IxJSwQ?O;EBomH diff --git a/util/test/data/VK_Overlay_Test/DebugOverlay.TriangleSizePass.png b/util/test/data/VK_Overlay_Test/DebugOverlay.TriangleSizePass.png index 8e6b2d69338552a88a0b94ca4843ae5d141c3b35..aa3e72a3ff9be82c7c8ed40bf871f0feed1baee7 100644 GIT binary patch literal 1721 zcmcgtYfKbZ6uvV%%ib*2y|ZO0L0M)OR4k<0#8hflye!KrHlRpxp;Q(mp-F#;50cS> z4hwW=v09C>wKlC96S3jlNAT^enu=AxwghQu1=i9Mw}eGXw_;0sXP{J*HnIKDN$#D= zH|Kok`_7!1aj(fpouduc0s!Wur`fUqp!Sg!2ZIPQ(l&GnfFL2=mYB_dJ@Tz*?Yz|? zHHCY2N1yA-YK>X4;A9v~dgh#`S13$5oX|EJcyYV#i{rmP-&j%}PtqUfkn-C4Mt-;+ z+02~VG^UpxjPc`DAI5cUFz`Ot+W-VJ#+HNzgpfT#$5!q-eTkOn%G4%ZEW(v9O~UzVK;GHY47Cnj^ygj{6fl6DZTHztWCt&Vk5CXzv&Wh9_+%P1v|PYTdahU z@GaR=qZZWk@mnr~QxJF&{_0Zb(sCnnAWeHsWUR|L9wHv&qh$opDmER8bJ0cA z4?YZN%+~nzb^u||)${Lll{B*u5t$bF0K;=dxEh3NAD? z7QD;z9SDU-hQFHRQ&blsFgFf>naqPT&r_Z$6?}oJX zmvtAK4G5jst~IdDi)rVgavMW=5^2&9F%ZF2H@e)aWE;k%M*-~=vo~9e=llKC#XW6< zg#*inpPQrtzTy__-&Pw4r#v1S!igwzv@w(QQSY8`+}N4OV6gxVxyz2TV-%#*qM}BushKG>S(%Yz`ScLRrVLx8m^{F(hiE_27ooc!@bAr%72;F>j zX^k4{X*zzGML3>#96YrDqI>QWcXlCGHazQ++=?ZlZDipYlfOBM^G16KrwILjYW~@#e~_%S zVYW^G#%IM-4O5mDvc&qP#>{o=kf3y!Ca)W&z)e@Ns?+c+o|mE2=N}DJS(4IX*o(!`5VVIR5~h CpE@f5 literal 1647 zcmchXe@q)?7{}jxIq0qB$9q8egB5zcZN>=_X67iNZrARR@(?0z0Z^L6&2*g=#%vTfS7!zxCsENfvj{UijeWoM|%K>T9+@{pOr6<4}Mw3 z+Y@u2xy&zX-yCnKY~aQY6KNU%%4Z z1%cSjUDX?af!;*y+!)IWQ$oNVt0^`WN}OcA2tOU%a{>hfR9|_?d9ET^;)*5$pE(dh zaV$mIi9_#iDGW$r2J)J+j^6VKzE&5BBi&P5>o68>kwQKxUj(vLKq9iP-=1yXfU&Fk zV61O@WOs3A9+o}9)mye(I4+fUe5cjwBDHf|e}zr-=obOSOKQEk80dJ1^*ISJ%)mFD zCqPu>r@5!kh32}YVlz(L7i!VD( z9^SEKcYVv4zj1%vc$&r#KI210k7Rq+i37;#3Dh;s$g?qR4=c|K6Acl9VZm81t!E@n~aNT8+uv zDmr5Cma%g3>^|;+B2vO)5hzwP(fklfW^Ck_3=^&0Qt^R*t<8 diff --git a/util/test/data/VK_Overlay_Test/backbuffer.png b/util/test/data/VK_Overlay_Test/backbuffer.png index 1802999514ba07dd8df116d3697680c44e572027..69e126168c8daa1bef8d85bd84ca8afc0756f7cb 100644 GIT binary patch literal 3851 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 YPciUKR>qU>&?^;YX>Lm_F>{alHypHf8~^|S diff --git a/util/test/data/VK_Overlay_Test/depth.png b/util/test/data/VK_Overlay_Test/depth.png index ce449099f289c15740053dccf4e8e9fe75d61f0d..1c4c2c5c2ad23c1c6376a80a34ef53994ab85d93 100644 GIT binary patch literal 2633 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 OpCHSI1fkZHR`hQ+OzH#x diff --git a/util/test/data/VK_Overlay_Test/stencil.png b/util/test/data/VK_Overlay_Test/stencil.png index 39bffad97b6dc79e3b6022a64d114b3096c4bcdc..57b210a779da5d120398df2f7dc38ba37cbab681 100644 GIT binary patch literal 1480 zcmcIke{2&~9DnzATVD&TN9l^xZr*iUlgSdhI0wj#w^~`NYcsIGFoBd|6k{Mq2lqZ*lh&S1^r%27Z?9t@;h9KeJ~^PcG4aaZy5^yEw#2K)=SXSNxN;gHne9C=p?DrK45DdiEGNq( z$!1u>e)+a~R7279*R^H~&xb4VnU-6ZU(7>wEFuJ9EQ$yQ`+pWo*sro|K&P76>`LZ_ zX-S!pW#g7Go+7rq}cnZ5LlnZ5GgTCRUq z{!{VVI~CZ#aNQFX9nbMRvznvm^Syo|XW7c9TZx>Is+T#68m?3omo#GR@t+3O$4}`^ zn2>Q>u}NBTJgiE2hFYUjy9<8ZKR0^h#Hseqi?_~;ayoAL#@uK^RE@cP9|TnG8I{p= z+#e7{796hr@#eM#zvZ=^8}GHRH@cnLig!iP*>z`u=Z)#q^AEvxsNuZnqaM+zZC$lq>M_mcavT4-k-i>%#xTCY1}qe zWMnYzD~oM!_-cWP?&&GI^7E0g6xI+k|M^LbiTuK!%wWo8 z4g~v@Zyg@|?%1vkYl!pF)D|0$xU#~wv!N=A^3s6VJjaRwf32W=jAEy@{Jx{iz=)v> zs<=-?CVi3Qg)viE5>kTLT&*}4^}^2-_^@GIf6gs75gEn_ zPDcpw?T3~ z8TWLQGeG6nKKiFedZ&e-A5*cqMre-$Z*qK}2AaVeb$FmcKeT*MvLe1G;IinH;-DTP zgB5^3FY{z|QV!_jEVNLHAOQ`urcd_Cj&cg65B8D+ik69GY_s{6nZX?-{3x6Jz%eKv Rv(LZ{jjYew%{?Zk=U>BSg%1D# literal 1410 zcmeAS@N?(olHy`uVBq!ia0y~yV4MKNIvi|3k+<8Q9%5i%_4IUc45_&F_HJz6VgrWO zz~)`9VJDS1gOW5uMYwK={GX%z(QL72<%8G05=Jco(-;`od;J(0n3x(G7!(v3I5U?DH4$jHc;&0-{ZExAyNVS@vMfB*vv3j-q~5IJD-G`iJ4 zHZ?dDc{JR&=@n<-2C0N7gXu%zH8NFpC~#cN^*E)3knK3IAqlIa&U5R z=$&z5VrnuCa`QOC!oniB(aXVMg)K-K$KACc&p5iQ;_a+BSngb57do*|@83>2!=mR$ zuOE&D?ltp;Sy-}{^i1dgI!7sKszchmW3QXeI{wq=j8I6J z*wD~00fZeyZMeCO+EhMSa*A;z0L_93LudvkC-*z8tmf@1MbE`R(h3S_(o2ETqHW01 z2qi$>j6mtRE$Gr9B?rpwT-fcLgnk~7S0E4Gjex>>x!_ixfc$fb2sc4IS-h3L1e1bg(07fG7gSyUZd+rY3Y#D>&FWIDjSr zHMJKU_%A(|=?L=%2LZkVOpZ1nr!}xua&tdq&=EMoEC9qBbGC1QN^-Nnga!B?9F30P zU{7dNkOSHS#tz*zY)thP|39f+WMOQ)dr?3bm@{Pi*4k^U0DbBH>Aom1!dsku92_3} zD(K(@`lj&Zevn*8TWC{*1uIAUjD`jW)`vH$&N?*#Js+V83LK!Af>aVP!4z1qD=0iz z1k%R{!azR&@ggV<@)HM80StGr0Rs`}MFp7yd55cX{FoWs2TifTfKrH1g9j`N3+^$8 Y3drB`3e9~EEL#~oUHx3vIVCg!03DlZ@c;k- diff --git a/util/test/demos/d3d11/d3d11_overlay_test.cpp b/util/test/demos/d3d11/d3d11_overlay_test.cpp index 55c81afba..270a0a894 100644 --- a/util/test/demos/d3d11/d3d11_overlay_test.cpp +++ b/util/test/demos/d3d11/d3d11_overlay_test.cpp @@ -75,6 +75,11 @@ struct D3D11_Overlay_Test : D3D11GraphicsTest {Vec3f(0.5f, -0.2f, 0.5f), Vec4f(0.0f, 0.0f, 0.0f, 1.0f), Vec2f(0.0f, 1.0f)}, {Vec3f(0.5f, 0.2f, 0.5f), Vec4f(0.0f, 0.0f, 0.0f, 1.0f), Vec2f(1.0f, 0.0f)}, + // depth clipped (i.e. not clamped) + {Vec3f(0.6f, 0.0f, 0.5f), Vec4f(0.0f, 0.0f, 0.0f, 1.0f), Vec2f(0.0f, 0.0f)}, + {Vec3f(0.7f, 0.2f, 0.5f), Vec4f(0.0f, 0.0f, 0.0f, 1.0f), Vec2f(0.0f, 1.0f)}, + {Vec3f(0.8f, 0.0f, 1.5f), Vec4f(0.0f, 0.0f, 0.0f, 1.0f), Vec2f(1.0f, 0.0f)}, + // small triangles // size=0.01 {Vec3f(0.0f, 0.4f, 0.5f), Vec4f(0.0f, 1.0f, 0.0f, 1.0f), Vec2f(0.0f, 0.0f)}, @@ -153,7 +158,7 @@ struct D3D11_Overlay_Test : D3D11GraphicsTest depth.StencilEnable = TRUE; depth.FrontFace.StencilFunc = D3D11_COMPARISON_GREATER; SetDepthState(depth); - ctx->Draw(21, 9); + ctx->Draw(24, 9); Present(); } diff --git a/util/test/demos/d3d12/d3d12_overlay_test.cpp b/util/test/demos/d3d12/d3d12_overlay_test.cpp index edc4929e6..c3b9bf1d4 100644 --- a/util/test/demos/d3d12/d3d12_overlay_test.cpp +++ b/util/test/demos/d3d12/d3d12_overlay_test.cpp @@ -70,6 +70,11 @@ struct D3D12_Overlay_Test : D3D12GraphicsTest {Vec3f(0.5f, -0.2f, 0.5f), Vec4f(0.0f, 0.0f, 0.0f, 1.0f), Vec2f(0.0f, 1.0f)}, {Vec3f(0.5f, 0.2f, 0.5f), Vec4f(0.0f, 0.0f, 0.0f, 1.0f), Vec2f(1.0f, 0.0f)}, + // depth clipped (i.e. not clamped) + {Vec3f(0.6f, 0.0f, 0.5f), Vec4f(0.0f, 0.0f, 0.0f, 1.0f), Vec2f(0.0f, 0.0f)}, + {Vec3f(0.7f, 0.2f, 0.5f), Vec4f(0.0f, 0.0f, 0.0f, 1.0f), Vec2f(0.0f, 1.0f)}, + {Vec3f(0.8f, 0.0f, 1.5f), Vec4f(0.0f, 0.0f, 0.0f, 1.0f), Vec2f(1.0f, 0.0f)}, + // small triangles // size=0.005 {Vec3f(0.0f, 0.4f, 0.5f), Vec4f(0.0f, 1.0f, 0.0f, 1.0f), Vec2f(0.0f, 0.0f)}, @@ -100,6 +105,7 @@ struct D3D12_Overlay_Test : D3D12GraphicsTest DXGI_FORMAT_D32_FLOAT_S8X24_UINT); creator.GraphicsDesc.RasterizerState.CullMode = D3D12_CULL_MODE_BACK; + creator.GraphicsDesc.RasterizerState.DepthClipEnable = TRUE; creator.GraphicsDesc.DepthStencilState.DepthEnable = TRUE; creator.GraphicsDesc.DepthStencilState.DepthWriteMask = D3D12_DEPTH_WRITE_MASK_ALL; @@ -173,7 +179,7 @@ struct D3D12_Overlay_Test : D3D12GraphicsTest cmd->SetMarker(1, "Test Begin", sizeof("Test Begin")); cmd->SetPipelineState(pipe); - cmd->DrawInstanced(21, 1, 9, 0); + cmd->DrawInstanced(24, 1, 9, 0); FinishUsingBackbuffer(cmd, D3D12_RESOURCE_STATE_RENDER_TARGET); diff --git a/util/test/demos/gl/gl_overlay_test.cpp b/util/test/demos/gl/gl_overlay_test.cpp index 406cdf890..b643f6eb9 100644 --- a/util/test/demos/gl/gl_overlay_test.cpp +++ b/util/test/demos/gl/gl_overlay_test.cpp @@ -116,6 +116,11 @@ void main() {Vec3f(0.5f, -0.2f, 0.0f), Vec4f(0.0f, 0.0f, 0.0f, 1.0f), Vec2f(0.0f, 1.0f)}, {Vec3f(0.5f, 0.2f, 0.0f), Vec4f(0.0f, 0.0f, 0.0f, 1.0f), Vec2f(1.0f, 0.0f)}, + // depth clipped (i.e. not clamped) + {Vec3f(0.6f, 0.0f, 0.0f), Vec4f(0.0f, 0.0f, 0.0f, 1.0f), Vec2f(0.0f, 0.0f)}, + {Vec3f(0.7f, 0.2f, 0.0f), Vec4f(0.0f, 0.0f, 0.0f, 1.0f), Vec2f(0.0f, 1.0f)}, + {Vec3f(0.8f, 0.0f, 2.0f), Vec4f(0.0f, 0.0f, 0.0f, 1.0f), Vec2f(1.0f, 0.0f)}, + // small triangles // size=0.005 {Vec3f(0.0f, 0.4f, 0.0f), Vec4f(0.0f, 1.0f, 0.0f, 1.0f), Vec2f(0.0f, 0.0f)}, @@ -180,6 +185,7 @@ void main() glDepthMask(GL_TRUE); glEnable(GL_DEPTH_TEST); + glDisable(GL_DEPTH_CLAMP); glDisable(GL_STENCIL_TEST); glStencilOp(GL_KEEP, GL_KEEP, GL_REPLACE); glStencilFunc(GL_ALWAYS, 0x55, 0xff); @@ -210,7 +216,7 @@ void main() glEnable(GL_STENCIL_TEST); glStencilFunc(GL_GREATER, 0x55, 0xff); - glDrawArrays(GL_TRIANGLES, 9, 21); + glDrawArrays(GL_TRIANGLES, 9, 24); glBindFramebuffer(GL_READ_FRAMEBUFFER, fbo); glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0); diff --git a/util/test/demos/vk/vk_overlay_test.cpp b/util/test/demos/vk/vk_overlay_test.cpp index c74114a3b..75e9da05f 100644 --- a/util/test/demos/vk/vk_overlay_test.cpp +++ b/util/test/demos/vk/vk_overlay_test.cpp @@ -115,6 +115,11 @@ void main() {Vec3f(0.5f, 0.2f, 0.5f), Vec4f(0.0f, 0.0f, 0.0f, 1.0f), Vec2f(0.0f, 1.0f)}, {Vec3f(0.5f, -0.2f, 0.5f), Vec4f(0.0f, 0.0f, 0.0f, 1.0f), Vec2f(1.0f, 0.0f)}, + // depth clipped (i.e. not clamped) + {Vec3f(0.6f, 0.0f, 0.5f), Vec4f(0.0f, 0.0f, 0.0f, 1.0f), Vec2f(0.0f, 0.0f)}, + {Vec3f(0.7f, -0.2f, 0.5f), Vec4f(0.0f, 0.0f, 0.0f, 1.0f), Vec2f(0.0f, 1.0f)}, + {Vec3f(0.8f, 0.0f, 1.5f), Vec4f(0.0f, 0.0f, 0.0f, 1.0f), Vec2f(1.0f, 0.0f)}, + // small triangles // size=0.005 {Vec3f(0.0f, -0.4f, 0.5f), Vec4f(0.0f, 1.0f, 0.0f, 1.0f), Vec2f(0.0f, 0.0f)}, @@ -195,6 +200,7 @@ void main() CompileShaderModule(common + pixel, ShaderLang::glsl, ShaderStage::frag, "main"), }; + pipeCreateInfo.rasterizationState.depthClampEnable = VK_FALSE; pipeCreateInfo.rasterizationState.cullMode = VK_CULL_MODE_BACK_BIT; pipeCreateInfo.depthStencilState.depthTestEnable = VK_TRUE; @@ -263,7 +269,7 @@ void main() setMarker(cmd, "Test Begin"); vkCmdBindPipeline(cmd, VK_PIPELINE_BIND_POINT_GRAPHICS, pipe); - vkCmdDraw(cmd, 21, 1, 9, 0); + vkCmdDraw(cmd, 24, 1, 9, 0); vkCmdEndRenderPass(cmd);