diff options
author | aroulin <andy.roulin@epfl.ch> | 2015-08-19 13:57:01 +0200 |
---|---|---|
committer | aroulin <andy.roulin@epfl.ch> | 2015-08-19 14:29:39 +0200 |
commit | 863730f6a7cee392600773747574a26155d9f385 (patch) | |
tree | 884fbb50dd341af5f108e88e9bded6065960290c /src/video_core/shader | |
parent | Merge pull request #996 from yuriks/texture-copy (diff) | |
download | yuzu-863730f6a7cee392600773747574a26155d9f385.tar yuzu-863730f6a7cee392600773747574a26155d9f385.tar.gz yuzu-863730f6a7cee392600773747574a26155d9f385.tar.bz2 yuzu-863730f6a7cee392600773747574a26155d9f385.tar.lz yuzu-863730f6a7cee392600773747574a26155d9f385.tar.xz yuzu-863730f6a7cee392600773747574a26155d9f385.tar.zst yuzu-863730f6a7cee392600773747574a26155d9f385.zip |
Diffstat (limited to 'src/video_core/shader')
-rw-r--r-- | src/video_core/shader/shader_interpreter.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/video_core/shader/shader_interpreter.cpp b/src/video_core/shader/shader_interpreter.cpp index 646171a19..063cc38f0 100644 --- a/src/video_core/shader/shader_interpreter.cpp +++ b/src/video_core/shader/shader_interpreter.cpp @@ -278,6 +278,20 @@ void RunInterpreter(UnitState<Debug>& state) { break; } + case OpCode::Id::SGE: + case OpCode::Id::SGEI: + Record<DebugDataRecord::SRC1>(state.debug, iteration, src1); + Record<DebugDataRecord::SRC2>(state.debug, iteration, src2); + Record<DebugDataRecord::DEST_IN>(state.debug, iteration, dest); + for (int i = 0; i < 4; ++i) { + if (!swizzle.DestComponentEnabled(i)) + continue; + + dest[i] = (src1[i] >= src2[i]) ? float24::FromFloat32(1.0f) : float24::FromFloat32(0.0f); + } + Record<DebugDataRecord::DEST_OUT>(state.debug, iteration, dest); + break; + case OpCode::Id::SLT: case OpCode::Id::SLTI: Record<DebugDataRecord::SRC1>(state.debug, iteration, src1); |