diff options
author | bunnei <bunneidev@gmail.com> | 2018-08-31 17:20:47 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-31 17:20:47 +0200 |
commit | e205e74e1f08e2f5d504b0f346f8288b56920bf3 (patch) | |
tree | ed4206a055ad5930abab4cb15418d9ddbe2de826 | |
parent | Merge pull request #1195 from FearlessTobi/port-gamelist-compat (diff) | |
parent | Added predicate comparison GreaterEqualWithNan (diff) | |
download | yuzu-e205e74e1f08e2f5d504b0f346f8288b56920bf3.tar yuzu-e205e74e1f08e2f5d504b0f346f8288b56920bf3.tar.gz yuzu-e205e74e1f08e2f5d504b0f346f8288b56920bf3.tar.bz2 yuzu-e205e74e1f08e2f5d504b0f346f8288b56920bf3.tar.lz yuzu-e205e74e1f08e2f5d504b0f346f8288b56920bf3.tar.xz yuzu-e205e74e1f08e2f5d504b0f346f8288b56920bf3.tar.zst yuzu-e205e74e1f08e2f5d504b0f346f8288b56920bf3.zip |
-rw-r--r-- | src/video_core/engines/shader_bytecode.h | 1 | ||||
-rw-r--r-- | src/video_core/renderer_opengl/gl_shader_decompiler.cpp | 6 |
2 files changed, 4 insertions, 3 deletions
diff --git a/src/video_core/engines/shader_bytecode.h b/src/video_core/engines/shader_bytecode.h index 65e0c469f..3e4efbe0c 100644 --- a/src/video_core/engines/shader_bytecode.h +++ b/src/video_core/engines/shader_bytecode.h @@ -147,6 +147,7 @@ enum class PredCondition : u64 { LessThanWithNan = 9, GreaterThanWithNan = 12, NotEqualWithNan = 13, + GreaterEqualWithNan = 14, // TODO(Subv): Other condition types }; diff --git a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp index 842bfa0b7..391c92d47 100644 --- a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp +++ b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp @@ -729,8 +729,7 @@ private: {PredCondition::LessEqual, "<="}, {PredCondition::GreaterThan, ">"}, {PredCondition::NotEqual, "!="}, {PredCondition::GreaterEqual, ">="}, {PredCondition::LessThanWithNan, "<"}, {PredCondition::NotEqualWithNan, "!="}, - {PredCondition::GreaterThanWithNan, ">"}, - }; + {PredCondition::GreaterThanWithNan, ">"}, {PredCondition::GreaterEqualWithNan, ">="}}; const auto& comparison{PredicateComparisonStrings.find(condition)}; ASSERT_MSG(comparison != PredicateComparisonStrings.end(), @@ -739,7 +738,8 @@ private: std::string predicate{'(' + op_a + ") " + comparison->second + " (" + op_b + ')'}; if (condition == PredCondition::LessThanWithNan || condition == PredCondition::NotEqualWithNan || - condition == PredCondition::GreaterThanWithNan) { + condition == PredCondition::GreaterThanWithNan || + condition == PredCondition::GreaterEqualWithNan) { predicate += " || isnan(" + op_a + ") || isnan(" + op_b + ')'; } |