Browse Source

glsl: Implement barriers

nce_cpp
ameerj 5 years ago
parent
commit
1017c12427
  1. 1
      src/shader_recompiler/backend/glsl/emit_glsl_atomic.cpp
  2. 21
      src/shader_recompiler/backend/glsl/emit_glsl_barriers.cpp
  3. 12
      src/shader_recompiler/backend/glsl/emit_glsl_not_implemented.cpp

1
src/shader_recompiler/backend/glsl/emit_glsl_atomic.cpp

@ -1,4 +1,3 @@
// Copyright 2021 yuzu Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.

21
src/shader_recompiler/backend/glsl/emit_glsl_barriers.cpp

@ -0,0 +1,21 @@
// Copyright 2021 yuzu Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#include "shader_recompiler/backend/glsl/emit_context.h"
#include "shader_recompiler/backend/glsl/emit_glsl_instructions.h"
#include "shader_recompiler/frontend/ir/value.h"
namespace Shader::Backend::GLSL {
void EmitBarrier(EmitContext& ctx) {
ctx.Add("barrier();");
}
void EmitWorkgroupMemoryBarrier(EmitContext& ctx) {
ctx.Add("groupMemoryBarrier();");
}
void EmitDeviceMemoryBarrier(EmitContext& ctx) {
ctx.Add("memoryBarrier();");
}
} // namespace Shader::Backend::GLSL

12
src/shader_recompiler/backend/glsl/emit_glsl_not_implemented.cpp

@ -80,18 +80,6 @@ void EmitDemoteToHelperInvocation(EmitContext& ctx, std::string_view continue_la
ctx.Add("discard;");
}
void EmitBarrier(EmitContext& ctx) {
NotImplemented();
}
void EmitWorkgroupMemoryBarrier(EmitContext& ctx) {
NotImplemented();
}
void EmitDeviceMemoryBarrier(EmitContext& ctx) {
NotImplemented();
}
void EmitPrologue(EmitContext& ctx) {}
void EmitEpilogue(EmitContext& ctx) {}

Loading…
Cancel
Save