aboutsummaryrefslogtreecommitdiff
path: root/src/shader_recompiler/backend/glsl/emit_glsl.cpp
diff options
context:
space:
mode:
authorameerj <52414509+ameerj@users.noreply.github.com>2021-05-27 00:26:16 -0400
committerameerj <52414509+ameerj@users.noreply.github.com>2021-07-22 21:51:36 -0400
commited14d31f663e126a8f9fe0ea8abff8e27c46248b (patch)
tree6bfe4bec1eda9960aef7c80dfa5926ab97984bd3 /src/shader_recompiler/backend/glsl/emit_glsl.cpp
parentd171083d53e106c8c5131522fdc81d51360c562d (diff)
glsl: Fix non-immediate buffer access
and many other misc implementations
Diffstat (limited to 'src/shader_recompiler/backend/glsl/emit_glsl.cpp')
-rw-r--r--src/shader_recompiler/backend/glsl/emit_glsl.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/shader_recompiler/backend/glsl/emit_glsl.cpp b/src/shader_recompiler/backend/glsl/emit_glsl.cpp
index 35dbe19ec1..644da43f43 100644
--- a/src/shader_recompiler/backend/glsl/emit_glsl.cpp
+++ b/src/shader_recompiler/backend/glsl/emit_glsl.cpp
@@ -160,8 +160,13 @@ void EmitCode(EmitContext& ctx, const IR::Program& program) {
ctx.Add("return;");
break;
case IR::AbstractSyntaxNode::Type::Loop:
+ ctx.Add("do{{");
+ break;
case IR::AbstractSyntaxNode::Type::Repeat:
+ ctx.Add("}}while({});", ctx.reg_alloc.Consume(node.data.repeat.cond));
+ break;
default:
+ fmt::print("{}", node.type);
throw NotImplementedException("{}", node.type);
break;
}