glsl: Implement barriers

This commit is contained in:
ameerj 2021-06-07 15:52:44 -04:00
parent 421847cf1e
commit 465903468e
3 changed files with 21 additions and 13 deletions

View file

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

View file

@ -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

View file

@ -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) {}