summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/gl_shader_manager.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2018-08-17 06:07:06 +0200
committerGitHub <noreply@github.com>2018-08-17 06:07:06 +0200
commit727136a9c941e11f98ada3a972e860d2d945d96f (patch)
tree6ee9b1dfda590eaa0cc8bf906c262a07ff82de9f /src/video_core/renderer_opengl/gl_shader_manager.cpp
parentMerge pull request #1087 from MerryMage/dynarmic (diff)
parentRasterizer: Implemented instanced rendering. (diff)
downloadyuzu-727136a9c941e11f98ada3a972e860d2d945d96f.tar
yuzu-727136a9c941e11f98ada3a972e860d2d945d96f.tar.gz
yuzu-727136a9c941e11f98ada3a972e860d2d945d96f.tar.bz2
yuzu-727136a9c941e11f98ada3a972e860d2d945d96f.tar.lz
yuzu-727136a9c941e11f98ada3a972e860d2d945d96f.tar.xz
yuzu-727136a9c941e11f98ada3a972e860d2d945d96f.tar.zst
yuzu-727136a9c941e11f98ada3a972e860d2d945d96f.zip
Diffstat (limited to 'src/video_core/renderer_opengl/gl_shader_manager.cpp')
-rw-r--r--src/video_core/renderer_opengl/gl_shader_manager.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/video_core/renderer_opengl/gl_shader_manager.cpp b/src/video_core/renderer_opengl/gl_shader_manager.cpp
index 415d42fda..f0886caac 100644
--- a/src/video_core/renderer_opengl/gl_shader_manager.cpp
+++ b/src/video_core/renderer_opengl/gl_shader_manager.cpp
@@ -37,11 +37,16 @@ void SetShaderUniformBlockBindings(GLuint shader) {
} // namespace Impl
void MaxwellUniformData::SetFromRegs(const Maxwell3D::State::ShaderStageInfo& shader_stage) {
- const auto& regs = Core::System::GetInstance().GPU().Maxwell3D().regs;
+ const auto& gpu = Core::System::GetInstance().GPU().Maxwell3D();
+ const auto& regs = gpu.regs;
+ const auto& state = gpu.state;
// TODO(bunnei): Support more than one viewport
viewport_flip[0] = regs.viewport_transform[0].scale_x < 0.0 ? -1.0f : 1.0f;
viewport_flip[1] = regs.viewport_transform[0].scale_y < 0.0 ? -1.0f : 1.0f;
+
+ // We only assign the instance to the first component of the vector, the rest is just padding.
+ instance_id[0] = state.current_instance;
}
} // namespace GLShader