glsl: Fix shared and local memory declarations
account for the fact that program.*memory_size is in units of bytes.
This commit is contained in:
parent
8289eb108f
commit
65daec8b75
|
@ -5,7 +5,7 @@
|
|||
#include <ranges>
|
||||
#include <string>
|
||||
|
||||
#include "common/alignment.h"
|
||||
#include "common/div_ceil.h"
|
||||
#include "common/settings.h"
|
||||
#include "shader_recompiler/backend/glsl/emit_context.h"
|
||||
#include "shader_recompiler/backend/glsl/emit_glsl.h"
|
||||
|
@ -219,11 +219,11 @@ std::string EmitGLSL(const Profile& profile, const RuntimeInfo& runtime_info, IR
|
|||
ctx.header.insert(0, version);
|
||||
if (program.shared_memory_size > 0) {
|
||||
ctx.header +=
|
||||
fmt::format("shared uint smem[{}];", Common::AlignUp(program.shared_memory_size, 4));
|
||||
fmt::format("shared uint smem[{}];", Common::DivCeil(program.shared_memory_size, 4U));
|
||||
}
|
||||
ctx.header += "void main(){\n";
|
||||
if (program.local_memory_size > 0) {
|
||||
ctx.header += fmt::format("uint lmem[{}];", Common::AlignUp(program.local_memory_size, 4));
|
||||
ctx.header += fmt::format("uint lmem[{}];", Common::DivCeil(program.local_memory_size, 4U));
|
||||
}
|
||||
DefineVariables(ctx, ctx.header);
|
||||
if (ctx.uses_cc_carry) {
|
||||
|
|
Reference in New Issue