Don't scissor shaderOut in pixel history

* This is not strictly necessary, just reduced wasted GPU work, but potentially
  this could affect accurate output for these values. We only need to scissor
  for cases where we're doing counters for checking writes and test passes.
This commit is contained in:
baldurk
2025-01-31 13:54:51 +00:00
parent 1befd5c32a
commit 6c87445a03
2 changed files with 0 additions and 20 deletions
@@ -2083,17 +2083,6 @@ struct D3D12PixelHistoryPerFragmentCallback : D3D12PixelHistoryCallback
PerFragmentPipelines pipes = CreatePerFragmentPipelines(state, eid, 0, renderTargetIndex);
for(uint32_t i = 0; i < state.views.size(); i++)
{
ScissorToPixel(state.views[i], state.scissors[i]);
// Set scissor to the whole pixel quad
state.scissors[i].left &= ~0x1;
state.scissors[i].top &= ~0x1;
state.scissors[i].right = state.scissors[i].left + 2;
state.scissors[i].bottom = state.scissors[i].top + 2;
}
ID3D12PipelineState *psosIter[2];
psosIter[0] = pipes.primitiveIdPipe;
psosIter[1] = pipes.shaderOutPipe;
@@ -3140,15 +3140,6 @@ struct VulkanPixelHistoryPerFragmentCallback : VulkanPixelHistoryCallback
shads = CreatePerFragmentShaders(state, eid, colorOutputIndex);
}
for(uint32_t i = 0; i < state.views.size(); i++)
{
ScissorToPixel(state.views[i], state.scissors[i]);
state.scissors[i].offset.x &= ~0x1;
state.scissors[i].offset.y &= ~0x1;
state.scissors[i].extent = {2, 2};
}
VkPipeline pipesIter[2];
pipesIter[0] = pipes.primitiveIdPipe;
pipesIter[1] = pipes.shaderOutPipe;