[test] Change forcerd order for CompareMask + forced refresh/ emit

This commit is contained in:
CamilleLaVey 2026-03-06 20:29:20 -04:00 committed by lizzie
parent 47fe86be7b
commit 15d575aa31
2 changed files with 9 additions and 1 deletions

View file

@ -1075,7 +1075,6 @@ void RasterizerVulkan::UpdateDynamicStates() {
UpdateDepthBias(regs); UpdateDepthBias(regs);
UpdateBlendConstants(regs); UpdateBlendConstants(regs);
UpdateDepthBounds(regs); UpdateDepthBounds(regs);
UpdateStencilFaces(regs);
UpdateLineWidth(regs); UpdateLineWidth(regs);
UpdateLineStipple(regs); UpdateLineStipple(regs);
@ -1094,6 +1093,8 @@ void RasterizerVulkan::UpdateDynamicStates() {
} }
} }
UpdateStencilFaces(regs);
// EDS2: PrimitiveRestart, RasterizerDiscard, DepthBias enable/disable // EDS2: PrimitiveRestart, RasterizerDiscard, DepthBias enable/disable
if (device.IsExtExtendedDynamicState2Supported() && pipeline && pipeline->UsesExtendedDynamicState2()) { if (device.IsExtExtendedDynamicState2Supported() && pipeline && pipeline->UsesExtendedDynamicState2()) {
UpdatePrimitiveRestartEnable(regs); UpdatePrimitiveRestartEnable(regs);
@ -1640,6 +1641,9 @@ void RasterizerVulkan::UpdateStencilTestEnable(Tegra::Engines::Maxwell3D::Regs&
if (!state_tracker.TouchStencilTestEnable()) { if (!state_tracker.TouchStencilTestEnable()) {
return; return;
} }
if (regs.stencil_enable != 0) {
state_tracker.ResetStencilState();
}
scheduler.Record([enable = regs.stencil_enable](vk::CommandBuffer cmdbuf) { scheduler.Record([enable = regs.stencil_enable](vk::CommandBuffer cmdbuf) {
cmdbuf.SetStencilTestEnableEXT(enable); cmdbuf.SetStencilTestEnableEXT(enable);
}); });

View file

@ -170,6 +170,10 @@ public:
return ExchangeCheck(back.compare_mask, new_value) || stencil_reset; return ExchangeCheck(back.compare_mask, new_value) || stencil_reset;
} }
void ResetStencilState() {
stencil_reset = true;
}
void ClearStencilReset() { void ClearStencilReset() {
stencil_reset = false; stencil_reset = false;
} }