mirror of
https://github.com/KytyPS5/KytyPS5.git
synced 2026-10-27 16:02:37 +00:00
shader: simplify invariant execution masks in descriptor proofs
This commit is contained in:
1 parent
4e16234d32
commit
19799b3079
2 files changed
+36
-14
No files matched your search
@@ -1151,7 +1151,7 @@ private:
|
||||
}
|
||||
|
||||
bool HasActiveLane(Value mask, const Block* use) const {
|
||||
mask = mask.Resolve();
|
||||
mask = SimplifyGuard(mask);
|
||||
if (mask.IsImmediate()) return mask.GetType() == Type::U1 && mask.U1();
|
||||
const auto incoming_is_nonempty = [&](const Block* from, const Block* to,
|
||||
Value incoming, const Block* header) {
|
||||
@@ -1186,7 +1186,7 @@ private:
|
||||
|
||||
bool Implies(Value guard, Value required) const {
|
||||
guard = SimplifyGuard(guard);
|
||||
required = required.Resolve();
|
||||
required = SimplifyGuard(required);
|
||||
if (required == Value(true) || EquivalentValue(m_program, guard, required)) return true;
|
||||
const auto* test = required.TryInstruction();
|
||||
if (test != nullptr && test->GetOpcode() == ValueOpcode::INotEqual32) {
|
||||
|
||||
Reference in new issue
Block a user