Преглед изворни кода

glsl: Declare local memory in main

ameerj пре 5 година
родитељ
комит
00fa09dc45
1 измењених фајлова са 3 додато и 3 уклоњено
  1. 3 3
      src/shader_recompiler/backend/glsl/emit_glsl.cpp

+ 3 - 3
src/shader_recompiler/backend/glsl/emit_glsl.cpp

@@ -217,14 +217,14 @@ std::string EmitGLSL(const Profile& profile, const RuntimeInfo& runtime_info, IR
     EmitCode(ctx, program);
     const std::string version{fmt::format("#version 450{}\n", GlslVersionSpecifier(ctx))};
     ctx.header.insert(0, version);
-    if (program.local_memory_size > 0) {
-        ctx.header += fmt::format("uint lmem[{}];", Common::AlignUp(program.local_memory_size, 4));
-    }
     if (program.shared_memory_size > 0) {
         ctx.header +=
             fmt::format("shared uint smem[{}];", Common::AlignUp(program.shared_memory_size, 4));
     }
     ctx.header += "void main(){\n";
+    if (program.local_memory_size > 0) {
+        ctx.header += fmt::format("uint lmem[{}];", Common::AlignUp(program.local_memory_size, 4));
+    }
     DefineVariables(ctx, ctx.header);
     if (ctx.uses_cc_carry) {
         ctx.header += "uint carry;";