summaryrefslogtreecommitdiff
path: root/src/shader_recompiler/backend/spirv
diff options
context:
space:
mode:
authorGravatar ReinUsesLisp2021-07-21 22:24:33 -0300
committerGravatar Fernando Sahmkow2021-11-16 22:11:27 +0100
commitfb924ea85c22353c1a6f108d38372ab14355695b (patch)
tree0918fdff8a4eef5ac26db4bd592f6be5aeab6943 /src/shader_recompiler/backend/spirv
parentgl_texture_cache: Implement ScaleDown (diff)
downloadyuzu-fb924ea85c22353c1a6f108d38372ab14355695b.tar.gz
yuzu-fb924ea85c22353c1a6f108d38372ab14355695b.tar.xz
yuzu-fb924ea85c22353c1a6f108d38372ab14355695b.zip
shader: Add resolution down factor opcode
Diffstat (limited to 'src/shader_recompiler/backend/spirv')
-rw-r--r--src/shader_recompiler/backend/spirv/emit_spirv_context_get_set.cpp5
-rw-r--r--src/shader_recompiler/backend/spirv/emit_spirv_instructions.h1
2 files changed, 6 insertions, 0 deletions
diff --git a/src/shader_recompiler/backend/spirv/emit_spirv_context_get_set.cpp b/src/shader_recompiler/backend/spirv/emit_spirv_context_get_set.cpp
index d3a93d5f4..43f440dfb 100644
--- a/src/shader_recompiler/backend/spirv/emit_spirv_context_get_set.cpp
+++ b/src/shader_recompiler/backend/spirv/emit_spirv_context_get_set.cpp
@@ -526,6 +526,11 @@ Id EmitYDirection(EmitContext& ctx) {
526 return ctx.Const(ctx.runtime_info.y_negate ? -1.0f : 1.0f); 526 return ctx.Const(ctx.runtime_info.y_negate ? -1.0f : 1.0f);
527} 527}
528 528
529Id EmitResolutionDownFactor(EmitContext& ctx) {
530 UNIMPLEMENTED();
531 return ctx.Const(1.0f);
532}
533
529Id EmitLoadLocal(EmitContext& ctx, Id word_offset) { 534Id EmitLoadLocal(EmitContext& ctx, Id word_offset) {
530 const Id pointer{ctx.OpAccessChain(ctx.private_u32, ctx.local_memory, word_offset)}; 535 const Id pointer{ctx.OpAccessChain(ctx.private_u32, ctx.local_memory, word_offset)};
531 return ctx.OpLoad(ctx.U32[1], pointer); 536 return ctx.OpLoad(ctx.U32[1], pointer);
diff --git a/src/shader_recompiler/backend/spirv/emit_spirv_instructions.h b/src/shader_recompiler/backend/spirv/emit_spirv_instructions.h
index c9db1c164..3d90b2286 100644
--- a/src/shader_recompiler/backend/spirv/emit_spirv_instructions.h
+++ b/src/shader_recompiler/backend/spirv/emit_spirv_instructions.h
@@ -75,6 +75,7 @@ Id EmitInvocationId(EmitContext& ctx);
75Id EmitSampleId(EmitContext& ctx); 75Id EmitSampleId(EmitContext& ctx);
76Id EmitIsHelperInvocation(EmitContext& ctx); 76Id EmitIsHelperInvocation(EmitContext& ctx);
77Id EmitYDirection(EmitContext& ctx); 77Id EmitYDirection(EmitContext& ctx);
78Id EmitResolutionDownFactor(EmitContext& ctx);
78Id EmitLoadLocal(EmitContext& ctx, Id word_offset); 79Id EmitLoadLocal(EmitContext& ctx, Id word_offset);
79void EmitWriteLocal(EmitContext& ctx, Id word_offset, Id value); 80void EmitWriteLocal(EmitContext& ctx, Id word_offset, Id value);
80Id EmitUndefU1(EmitContext& ctx); 81Id EmitUndefU1(EmitContext& ctx);