summaryrefslogtreecommitdiff
path: root/src/shader_recompiler/backend/glsl/emit_glsl.cpp
diff options
context:
space:
mode:
authorGravatar ameerj2021-06-11 00:33:33 -0400
committerGravatar ameerj2021-07-22 21:51:38 -0400
commit4759db28d0b98c79f9a630b63ba13c4cd0df9109 (patch)
tree3cc20c600bf0733f464e3c844688b1cef766e191 /src/shader_recompiler/backend/glsl/emit_glsl.cpp
parentglsl: Reorganize backend code, remove unneeded [[maybe_unused]] (diff)
downloadyuzu-4759db28d0b98c79f9a630b63ba13c4cd0df9109.tar.gz
yuzu-4759db28d0b98c79f9a630b63ba13c4cd0df9109.tar.xz
yuzu-4759db28d0b98c79f9a630b63ba13c4cd0df9109.zip
glsl: Address Rodrigo's feedback
Diffstat (limited to 'src/shader_recompiler/backend/glsl/emit_glsl.cpp')
-rw-r--r--src/shader_recompiler/backend/glsl/emit_glsl.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/shader_recompiler/backend/glsl/emit_glsl.cpp b/src/shader_recompiler/backend/glsl/emit_glsl.cpp
index b189f6c11..3e6add7cd 100644
--- a/src/shader_recompiler/backend/glsl/emit_glsl.cpp
+++ b/src/shader_recompiler/backend/glsl/emit_glsl.cpp
@@ -5,6 +5,7 @@
5#include <ranges> 5#include <ranges>
6#include <string> 6#include <string>
7 7
8#include "common/alignment.h"
8#include "shader_recompiler/backend/glsl/emit_context.h" 9#include "shader_recompiler/backend/glsl/emit_context.h"
9#include "shader_recompiler/backend/glsl/emit_glsl.h" 10#include "shader_recompiler/backend/glsl/emit_glsl.h"
10#include "shader_recompiler/backend/glsl/emit_glsl_instructions.h" 11#include "shader_recompiler/backend/glsl/emit_glsl_instructions.h"
@@ -159,8 +160,7 @@ void EmitCode(EmitContext& ctx, const IR::Program& program) {
159 ctx.var_alloc.Consume(node.data.repeat.cond)); 160 ctx.var_alloc.Consume(node.data.repeat.cond));
160 break; 161 break;
161 default: 162 default:
162 throw NotImplementedException("AbstractSyntaxNode::Type {}", node.type); 163 throw NotImplementedException("AbstractSyntaxNode Type {}", node.type);
163 break;
164 } 164 }
165 } 165 }
166} 166}
@@ -209,10 +209,11 @@ std::string EmitGLSL(const Profile& profile, const RuntimeInfo& runtime_info, IR
209 const std::string version{fmt::format("#version 450{}\n", GlslVersionSpecifier(ctx))}; 209 const std::string version{fmt::format("#version 450{}\n", GlslVersionSpecifier(ctx))};
210 ctx.header.insert(0, version); 210 ctx.header.insert(0, version);
211 if (program.local_memory_size > 0) { 211 if (program.local_memory_size > 0) {
212 ctx.header += fmt::format("uint lmem[{}];", program.local_memory_size / 4); 212 ctx.header += fmt::format("uint lmem[{}];", Common::AlignUp(program.local_memory_size, 4));
213 } 213 }
214 if (program.shared_memory_size > 0) { 214 if (program.shared_memory_size > 0) {
215 ctx.header += fmt::format("shared uint smem[{}];", program.shared_memory_size / 4); 215 ctx.header +=
216 fmt::format("shared uint smem[{}];", Common::AlignUp(program.shared_memory_size, 4));
216 } 217 }
217 ctx.header += "\nvoid main(){\n"; 218 ctx.header += "\nvoid main(){\n";
218 if (program.stage == Stage::VertexA || program.stage == Stage::VertexB) { 219 if (program.stage == Stage::VertexA || program.stage == Stage::VertexB) {