shader: recognize unconditional predicates in implication proofs

This commit is contained in:
nmzik committed 2026-10-13 21:33:50 +00:00
1 parent 50595d1c13
commit 34893dd8c8
2 files changed
+11 -5

No files matched your search

@@ -1187,7 +1187,7 @@ private:
bool Implies(Value guard, Value required) const {
guard = SimplifyGuard(guard);
required = required.Resolve();
if (EquivalentValue(m_program, guard, required)) return true;
if (required == Value(true) || EquivalentValue(m_program, guard, required)) return true;
const auto* test = required.TryInstruction();
if (test != nullptr && test->GetOpcode() == ValueOpcode::INotEqual32) {
for (uint32_t arg = 0; arg < 2u; ++arg)