mirror of
https://github.com/KytyPS5/KytyPS5.git
synced 2026-10-28 08:13:05 +00:00
shader: bound table keys by an inclusive guard with a constant limit
This commit is contained in:
1 parent
f297c0bfe1
commit
a3ac6d0d32
2 files changed
+84
No files matched your search
@@ -2038,6 +2038,10 @@ private:
|
||||
EquivalentValue(m_program, test->Arg(0), value)) return test->Arg(1);
|
||||
if ((positive ? op == ValueOpcode::UGreaterThan32 : op == ValueOpcode::ULessThanEqual32) &&
|
||||
EquivalentValue(m_program, test->Arg(1), value)) return test->Arg(0);
|
||||
uint32_t limit = 0;
|
||||
if ((positive ? op == ValueOpcode::ULessThanEqual32 : op == ValueOpcode::UGreaterThan32) &&
|
||||
ImmediateU32(test->Arg(1), limit) && limit != UINT32_MAX &&
|
||||
EquivalentValue(m_program, test->Arg(0), value)) return Value(limit + 1u);
|
||||
const auto* scan = value.Resolve().TryInstruction();
|
||||
if (finite_bitscan && scan != nullptr && scan->GetOpcode() == ValueOpcode::FindILsb32 &&
|
||||
(positive ? op == ValueOpcode::INotEqual32 : op == ValueOpcode::IEqual32)) {
|
||||
|
||||
Reference in new issue
Block a user