diff options
author | Yuri Kunde Schlesner <yuriks@yuriks.net> | 2016-06-28 07:16:04 +0200 |
---|---|---|
committer | Yuri Kunde Schlesner <yuriks@yuriks.net> | 2016-06-28 07:16:04 +0200 |
commit | ecf6ecf32537634db15946630d62ac3bdc4fe8c9 (patch) | |
tree | 02bf917874b79e350e5f3c29c16599dc869b3d57 /src/video_core/renderer_opengl/gl_shader_gen.cpp | |
parent | PICA: Scissor fixes and cleanups (diff) | |
download | yuzu-ecf6ecf32537634db15946630d62ac3bdc4fe8c9.tar yuzu-ecf6ecf32537634db15946630d62ac3bdc4fe8c9.tar.gz yuzu-ecf6ecf32537634db15946630d62ac3bdc4fe8c9.tar.bz2 yuzu-ecf6ecf32537634db15946630d62ac3bdc4fe8c9.tar.lz yuzu-ecf6ecf32537634db15946630d62ac3bdc4fe8c9.tar.xz yuzu-ecf6ecf32537634db15946630d62ac3bdc4fe8c9.tar.zst yuzu-ecf6ecf32537634db15946630d62ac3bdc4fe8c9.zip |
Diffstat (limited to 'src/video_core/renderer_opengl/gl_shader_gen.cpp')
-rw-r--r-- | src/video_core/renderer_opengl/gl_shader_gen.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/video_core/renderer_opengl/gl_shader_gen.cpp b/src/video_core/renderer_opengl/gl_shader_gen.cpp index b2e452afe..36513dedc 100644 --- a/src/video_core/renderer_opengl/gl_shader_gen.cpp +++ b/src/video_core/renderer_opengl/gl_shader_gen.cpp @@ -554,6 +554,7 @@ struct LightSrc { }; layout (std140) uniform shader_data { + vec2 framebuffer_scale; int alphatest_ref; float depth_scale; float depth_offset; @@ -595,8 +596,10 @@ vec4 secondary_fragment_color = vec4(0.0); if (state.scissor_test_mode == Regs::ScissorMode::Include) out += "!"; // x2,y2 have +1 added to cover the entire pixel area - out += "(gl_FragCoord.x >= scissor_x1 && gl_FragCoord.x < scissor_x2 + 1 && " - "gl_FragCoord.y >= scissor_y1 && gl_FragCoord.y < scissor_y2 + 1)) discard;\n"; + out += "(gl_FragCoord.x >= scissor_x1 * framebuffer_scale.x && " + "gl_FragCoord.y >= scissor_y1 * framebuffer_scale.y && " + "gl_FragCoord.x < (scissor_x2 + 1) * framebuffer_scale.x && " + "gl_FragCoord.y < (scissor_y2 + 1) * framebuffer_scale.y)) discard;\n"; } out += "float z_over_w = 1.0 - gl_FragCoord.z * 2.0;\n"; |