diff options
| author | 2018-12-12 00:54:21 -0300 | |
|---|---|---|
| committer | 2018-12-22 19:19:18 -0300 | |
| commit | bbf8d6bf01b7eb745e47143ec3e01dc19e9f05bd (patch) | |
| tree | 73c6dff76a3e7ce95df64e7ef849b71466f6585e /src | |
| parent | Handle RZ cases evaluating the expression instead of the register value. (diff) | |
| download | yuzu-bbf8d6bf01b7eb745e47143ec3e01dc19e9f05bd.tar.gz yuzu-bbf8d6bf01b7eb745e47143ec3e01dc19e9f05bd.tar.xz yuzu-bbf8d6bf01b7eb745e47143ec3e01dc19e9f05bd.zip | |
Includde saturation in the evaluation of the control code
Diffstat (limited to 'src')
| -rw-r--r-- | src/video_core/renderer_opengl/gl_shader_decompiler.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp index 7a16dccc9..c7812d377 100644 --- a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp +++ b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp | |||
| @@ -416,12 +416,13 @@ public: | |||
| 416 | u64 dest_num_components, u64 value_num_components, | 416 | u64 dest_num_components, u64 value_num_components, |
| 417 | bool is_saturated = false, bool sets_cc = false, u64 dest_elem = 0, | 417 | bool is_saturated = false, bool sets_cc = false, u64 dest_elem = 0, |
| 418 | bool precise = false) { | 418 | bool precise = false) { |
| 419 | 419 | const const std::string clamped_value = | |
| 420 | SetRegister(reg, elem, is_saturated ? "clamp(" + value + ", 0.0, 1.0)" : value, | 420 | is_saturated ? "clamp(" + value + ", 0.0, 1.0)" : value; |
| 421 | SetRegister(reg, elem, clamped_value, | ||
| 421 | dest_num_components, value_num_components, dest_elem, precise); | 422 | dest_num_components, value_num_components, dest_elem, precise); |
| 422 | if (sets_cc) { | 423 | if (sets_cc) { |
| 423 | if (reg == Register::ZeroIndex) { | 424 | if (reg == Register::ZeroIndex) { |
| 424 | SetConditionalCodesFromExpression(value); | 425 | SetConditionalCodesFromExpression(clamped_value); |
| 425 | } else { | 426 | } else { |
| 426 | SetConditionalCodesFromRegister(reg, dest_elem); | 427 | SetConditionalCodesFromRegister(reg, dest_elem); |
| 427 | } | 428 | } |