summaryrefslogtreecommitdiff
path: root/src/video_core/renderer_opengl
diff options
context:
space:
mode:
authorGravatar bunnei2019-02-01 13:24:04 -0500
committerGravatar GitHub2019-02-01 13:24:04 -0500
commiteceab45dac2b67392a896fa322af15e6aa81c242 (patch)
treeefe4c76ad073669099073c556201fb7c456807f2 /src/video_core/renderer_opengl
parentMerge pull request #2073 from lioncash/opus (diff)
parentshader_ir: Unify constant buffer offset values (diff)
downloadyuzu-eceab45dac2b67392a896fa322af15e6aa81c242.tar.gz
yuzu-eceab45dac2b67392a896fa322af15e6aa81c242.tar.xz
yuzu-eceab45dac2b67392a896fa322af15e6aa81c242.zip
Merge pull request #2074 from ReinUsesLisp/shader-ir-unify-offset
shader_ir: Unify constant buffer offset values
Diffstat (limited to 'src/video_core/renderer_opengl')
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer.cpp2
-rw-r--r--src/video_core/renderer_opengl/gl_shader_decompiler.cpp5
2 files changed, 4 insertions, 3 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp
index e3163389f..9f7c837d6 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.cpp
+++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp
@@ -954,7 +954,7 @@ void RasterizerOpenGL::SetupConstBuffers(Tegra::Engines::Maxwell3D::Regs::Shader
954 } 954 }
955 } else { 955 } else {
956 // Buffer is accessed directly, upload just what we use 956 // Buffer is accessed directly, upload just what we use
957 size = used_buffer.GetSize() * sizeof(float); 957 size = used_buffer.GetSize();
958 } 958 }
959 959
960 // Align the actual size so it ends up being a multiple of vec4 to meet the OpenGL std140 960 // Align the actual size so it ends up being a multiple of vec4 to meet the OpenGL std140
diff --git a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
index 004245431..36035d0d2 100644
--- a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
+++ b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
@@ -543,8 +543,9 @@ private:
543 if (const auto immediate = std::get_if<ImmediateNode>(offset)) { 543 if (const auto immediate = std::get_if<ImmediateNode>(offset)) {
544 // Direct access 544 // Direct access
545 const u32 offset_imm = immediate->GetValue(); 545 const u32 offset_imm = immediate->GetValue();
546 return fmt::format("{}[{}][{}]", GetConstBuffer(cbuf->GetIndex()), offset_imm / 4, 546 ASSERT_MSG(offset_imm % 4 == 0, "Unaligned cbuf direct access");
547 offset_imm % 4); 547 return fmt::format("{}[{}][{}]", GetConstBuffer(cbuf->GetIndex()),
548 offset_imm / (4 * 4), (offset_imm / 4) % 4);
548 549
549 } else if (std::holds_alternative<OperationNode>(*offset)) { 550 } else if (std::holds_alternative<OperationNode>(*offset)) {
550 // Indirect access 551 // Indirect access