diff options
| author | ReinUsesLisp <reinuseslisp@airmail.cc> | 2019-01-30 01:56:33 -0300 |
|---|---|---|
| committer | ReinUsesLisp <reinuseslisp@airmail.cc> | 2019-02-03 17:21:20 -0300 |
| commit | e3c0f29a4d0025a33b29c65dd498ba0455798d82 (patch) | |
| tree | 33118d3d594805f5ccc26466009317afd928a557 /src/video_core/shader/decode/shift.cpp | |
| parent | 896b6769d22107b7d558d7fd56c4a97265ddf3df (diff) | |
shader_ir: Pass decoded nodes as a whole instead of per basic blocks
Some games call LDG at the top of a basic block, making the tracking
heuristic to fail. This commit lets the heuristic the decoded nodes as a
whole instead of per basic blocks.
This may lead to some false positives but allows it the heuristic to
track cases it previously couldn't.
Diffstat (limited to 'src/video_core/shader/decode/shift.cpp')
| -rw-r--r-- | src/video_core/shader/decode/shift.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/video_core/shader/decode/shift.cpp b/src/video_core/shader/decode/shift.cpp index 6623f8ff95..0982fae592 100644 --- a/src/video_core/shader/decode/shift.cpp +++ b/src/video_core/shader/decode/shift.cpp @@ -12,7 +12,7 @@ namespace VideoCommon::Shader { using Tegra::Shader::Instruction; using Tegra::Shader::OpCode; -u32 ShaderIR::DecodeShift(BasicBlock& bb, const BasicBlock& code, u32 pc) { +u32 ShaderIR::DecodeShift(BasicBlock& bb, u32 pc) { const Instruction instr = {program_code[pc]}; const auto opcode = OpCode::Decode(instr); |
