summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/gl_rasterizer.h
diff options
context:
space:
mode:
authorSubv <subv2112@gmail.com>2015-12-02 19:23:51 +0100
committerYuri Kunde Schlesner <yuriks@yuriks.net>2016-06-28 06:14:13 +0200
commitf9be06b15f08cb559580e1d19b43158640a37d67 (patch)
tree9b20e75d7ef02e0feac2be0cb96843ebbb6814f8 /src/video_core/renderer_opengl/gl_rasterizer.h
parentMerge pull request #1930 from scurest/superfluous-moves (diff)
downloadyuzu-f9be06b15f08cb559580e1d19b43158640a37d67.tar
yuzu-f9be06b15f08cb559580e1d19b43158640a37d67.tar.gz
yuzu-f9be06b15f08cb559580e1d19b43158640a37d67.tar.bz2
yuzu-f9be06b15f08cb559580e1d19b43158640a37d67.tar.lz
yuzu-f9be06b15f08cb559580e1d19b43158640a37d67.tar.xz
yuzu-f9be06b15f08cb559580e1d19b43158640a37d67.tar.zst
yuzu-f9be06b15f08cb559580e1d19b43158640a37d67.zip
Diffstat (limited to 'src/video_core/renderer_opengl/gl_rasterizer.h')
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.h b/src/video_core/renderer_opengl/gl_rasterizer.h
index 42482df4b..193c10291 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.h
+++ b/src/video_core/renderer_opengl/gl_rasterizer.h
@@ -56,6 +56,8 @@ union PicaShaderConfig {
const auto& regs = Pica::g_state.regs;
+ state.scissor_test_mode = regs.scissor_test.mode;
+
state.depthmap_enable = regs.depthmap_enable;
state.alpha_test_func = regs.output_merger.alpha_test.enable ?
@@ -172,6 +174,7 @@ union PicaShaderConfig {
struct State {
Pica::Regs::CompareFunc alpha_test_func;
+ Pica::Regs::ScissorMode scissor_test_mode;
Pica::Regs::TextureConfig::TextureType texture0_type;
std::array<TevStageConfigRaw, 6> tev_stages;
u8 combiner_buffer_input;
@@ -328,6 +331,10 @@ private:
GLint alphatest_ref;
GLfloat depth_scale;
GLfloat depth_offset;
+ GLint scissor_right;
+ GLint scissor_bottom;
+ GLint scissor_left;
+ GLint scissor_top;
alignas(16) GLvec3 fog_color;
alignas(16) GLvec3 lighting_global_ambient;
LightSrc light_src[8];
@@ -335,7 +342,7 @@ private:
alignas(16) GLvec4 tev_combiner_buffer_color;
};
- static_assert(sizeof(UniformData) == 0x3A0, "The size of the UniformData structure has changed, update the structure in the shader");
+ static_assert(sizeof(UniformData) == 0x3B0, "The size of the UniformData structure has changed, update the structure in the shader");
static_assert(sizeof(UniformData) < 16384, "UniformData structure must be less than 16kb as per the OpenGL spec");
/// Sets the OpenGL shader in accordance with the current PICA register state
@@ -384,6 +391,9 @@ private:
/// Syncs the depth test states to match the PICA register
void SyncDepthTest();
+ /// Syncs the scissor test state to match the PICA register
+ void SyncScissorTest();
+
/// Syncs the TEV combiner color buffer to match the PICA register
void SyncCombinerColor();