aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/renderer_opengl/gl_rasterizer.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2015-10-01 18:34:10 -0400
committerbunnei <bunneidev@gmail.com>2015-10-21 21:51:23 -0400
commit82f3e6dc69d23c3e70c1ad2805e2e15397cd9156 (patch)
treef12443b88d9f95d6bf2bbc1599ba4da47438df24 /src/video_core/renderer_opengl/gl_rasterizer.cpp
parente3f4233cefff611e03a2031c6194a118d946a5d9 (diff)
gl_shader_util: Fix precision bug with alpha testing.
- Alpha testing is not done with float32 precision, this makes the HW renderer match the SW renderer.
Diffstat (limited to 'src/video_core/renderer_opengl/gl_rasterizer.cpp')
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp
index 45329d561..38d184ae2 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.cpp
+++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp
@@ -195,7 +195,7 @@ void RasterizerOpenGL::RegenerateShaders() {
// Sync alpha reference
if (current_shader->uniform_alphatest_ref != -1)
- glUniform1f(current_shader->uniform_alphatest_ref, regs.output_merger.alpha_test.ref / 255.0f);
+ glUniform1i(current_shader->uniform_alphatest_ref, regs.output_merger.alpha_test.ref);
// Sync combiner buffer color
if (current_shader->uniform_tev_combiner_buffer_color != -1) {
@@ -655,7 +655,7 @@ void RasterizerOpenGL::SyncBlendColor() {
void RasterizerOpenGL::SyncAlphaTest() {
const auto& regs = Pica::g_state.regs;
if (current_shader->uniform_alphatest_ref != -1)
- glUniform1f(current_shader->uniform_alphatest_ref, regs.output_merger.alpha_test.ref / 255.0f);
+ glUniform1i(current_shader->uniform_alphatest_ref, regs.output_merger.alpha_test.ref);
}
void RasterizerOpenGL::SyncLogicOp() {