diff options
author | ReinUsesLisp <reinuseslisp@airmail.cc> | 2018-10-07 04:17:31 +0200 |
---|---|---|
committer | ReinUsesLisp <reinuseslisp@airmail.cc> | 2018-10-07 22:36:00 +0200 |
commit | ee4d53885099fee4290626b8940fcc3abbbb5e12 (patch) | |
tree | 07ed08b2ef168a1b13f6eca3f176f4ec651a9d82 /src/video_core/renderer_opengl/gl_shader_manager.cpp | |
parent | video_core: Allow LabelGLObject to use extra info on any object (diff) | |
download | yuzu-ee4d53885099fee4290626b8940fcc3abbbb5e12.tar yuzu-ee4d53885099fee4290626b8940fcc3abbbb5e12.tar.gz yuzu-ee4d53885099fee4290626b8940fcc3abbbb5e12.tar.bz2 yuzu-ee4d53885099fee4290626b8940fcc3abbbb5e12.tar.lz yuzu-ee4d53885099fee4290626b8940fcc3abbbb5e12.tar.xz yuzu-ee4d53885099fee4290626b8940fcc3abbbb5e12.tar.zst yuzu-ee4d53885099fee4290626b8940fcc3abbbb5e12.zip |
Diffstat (limited to '')
-rw-r--r-- | src/video_core/renderer_opengl/gl_shader_manager.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/video_core/renderer_opengl/gl_shader_manager.cpp b/src/video_core/renderer_opengl/gl_shader_manager.cpp index 022d32a86..010857ec6 100644 --- a/src/video_core/renderer_opengl/gl_shader_manager.cpp +++ b/src/video_core/renderer_opengl/gl_shader_manager.cpp @@ -18,6 +18,14 @@ void MaxwellUniformData::SetFromRegs(const Maxwell3D::State::ShaderStageInfo& sh // We only assign the instance to the first component of the vector, the rest is just padding. instance_id[0] = state.current_instance; + + // Assign in which stage the position has to be flipped + // (the last stage before the fragment shader). + if (gpu.regs.shader_config[static_cast<u32>(Maxwell3D::Regs::ShaderProgram::Geometry)].enable) { + flip_stage[0] = static_cast<u32>(Maxwell3D::Regs::ShaderProgram::Geometry); + } else { + flip_stage[0] = static_cast<u32>(Maxwell3D::Regs::ShaderProgram::VertexB); + } } } // namespace OpenGL::GLShader |