aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2021-05-21 21:14:11 -0300
committerameerj <52414509+ameerj@users.noreply.github.com>2021-07-22 21:51:33 -0400
commite565eb361a3518f61cc7c23cf4fbba3e0a0ea0f6 (patch)
tree5d8b69eca891b9dd1b76a4f8af9cd62af1b9c0c8
parent89e341d56ab49ca38a83ba798c78453243006c12 (diff)
glasm: Implement gl_Layer stores
-rw-r--r--src/shader_recompiler/backend/glasm/emit_glasm_context_get_set.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/shader_recompiler/backend/glasm/emit_glasm_context_get_set.cpp b/src/shader_recompiler/backend/glasm/emit_glasm_context_get_set.cpp
index 14fdc88f66..7a7297801a 100644
--- a/src/shader_recompiler/backend/glasm/emit_glasm_context_get_set.cpp
+++ b/src/shader_recompiler/backend/glasm/emit_glasm_context_get_set.cpp
@@ -134,6 +134,13 @@ void EmitSetAttribute(EmitContext& ctx, IR::Attribute attr, ScalarF32 value,
ctx.Add("MOV.F result.clip[{}].x,{};", index, value);
break;
}
+ case IR::Attribute::Layer:
+ if (ctx.stage == Stage::Geometry || ctx.profile.support_viewport_index_layer_non_geometry) {
+ ctx.Add("MOV.F result.layer.x,{};", value);
+ } else {
+ // LOG_WARNING
+ }
+ break;
case IR::Attribute::ViewportIndex:
if (ctx.stage == Stage::Geometry || ctx.profile.support_viewport_index_layer_non_geometry) {
ctx.Add("MOV.F result.viewport.x,{};", value);