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

View file

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