summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar FernandoS272021-04-18 09:07:48 +0200
committerGravatar ameerj2021-07-22 21:51:28 -0400
commitf69d0b91ffad7d9ab827f55a9297b8f6da815cc9 (patch)
tree5b75418c9ca3fa934f68fe0772ae4e876f802a5b
parentshader: Add coarse derivatives (diff)
downloadyuzu-f69d0b91ffad7d9ab827f55a9297b8f6da815cc9.tar.gz
yuzu-f69d0b91ffad7d9ab827f55a9297b8f6da815cc9.tar.xz
yuzu-f69d0b91ffad7d9ab827f55a9297b8f6da815cc9.zip
shader: Address feedback
-rw-r--r--src/shader_recompiler/backend/spirv/emit_spirv.cpp2
-rw-r--r--src/shader_recompiler/backend/spirv/emit_spirv_context_get_set.cpp5
-rw-r--r--src/shader_recompiler/ir_opt/collect_shader_info_pass.cpp2
-rw-r--r--src/shader_recompiler/shader_info.h2
4 files changed, 4 insertions, 7 deletions
diff --git a/src/shader_recompiler/backend/spirv/emit_spirv.cpp b/src/shader_recompiler/backend/spirv/emit_spirv.cpp
index c4d5874ca..5d6fdeb65 100644
--- a/src/shader_recompiler/backend/spirv/emit_spirv.cpp
+++ b/src/shader_recompiler/backend/spirv/emit_spirv.cpp
@@ -341,7 +341,7 @@ void SetupCapabilities(const Profile& profile, const Info& info, EmitContext& ct
341 if (!ctx.profile.xfb_varyings.empty()) { 341 if (!ctx.profile.xfb_varyings.empty()) {
342 ctx.AddCapability(spv::Capability::TransformFeedback); 342 ctx.AddCapability(spv::Capability::TransformFeedback);
343 } 343 }
344 if (info.uses_derivates) { 344 if (info.uses_derivatives) {
345 ctx.AddCapability(spv::Capability::DerivativeControl); 345 ctx.AddCapability(spv::Capability::DerivativeControl);
346 } 346 }
347 // TODO: Track this usage 347 // TODO: Track this usage
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 1030404c0..ed57e44a2 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
@@ -404,10 +404,7 @@ Id EmitIsHelperInvocation(EmitContext& ctx) {
404} 404}
405 405
406Id EmitYDirection(EmitContext& ctx) { 406Id EmitYDirection(EmitContext& ctx) {
407 if (ctx.profile.y_negate) { 407 return ctx.Constant(ctx.F32[1], ctx.profile.y_negate ? -1.0f : 1.0f);
408 return ctx.Constant(ctx.F32[1], -1.0f);
409 }
410 return ctx.Constant(ctx.F32[1], 1.0f);
411} 408}
412 409
413Id EmitLoadLocal(EmitContext& ctx, Id word_offset) { 410Id EmitLoadLocal(EmitContext& ctx, Id word_offset) {
diff --git a/src/shader_recompiler/ir_opt/collect_shader_info_pass.cpp b/src/shader_recompiler/ir_opt/collect_shader_info_pass.cpp
index 7473e0bc2..0500a5141 100644
--- a/src/shader_recompiler/ir_opt/collect_shader_info_pass.cpp
+++ b/src/shader_recompiler/ir_opt/collect_shader_info_pass.cpp
@@ -534,7 +534,7 @@ void VisitUsages(Info& info, IR::Inst& inst) {
534 case IR::Opcode::DPdyFine: 534 case IR::Opcode::DPdyFine:
535 case IR::Opcode::DPdxCoarse: 535 case IR::Opcode::DPdxCoarse:
536 case IR::Opcode::DPdyCoarse: 536 case IR::Opcode::DPdyCoarse:
537 info.uses_derivates = true; 537 info.uses_derivatives = true;
538 break; 538 break;
539 case IR::Opcode::LoadStorageU8: 539 case IR::Opcode::LoadStorageU8:
540 case IR::Opcode::LoadStorageS8: 540 case IR::Opcode::LoadStorageS8:
diff --git a/src/shader_recompiler/shader_info.h b/src/shader_recompiler/shader_info.h
index 3f22958e8..f808adeba 100644
--- a/src/shader_recompiler/shader_info.h
+++ b/src/shader_recompiler/shader_info.h
@@ -147,7 +147,7 @@ struct Info {
147 bool uses_subgroup_vote{}; 147 bool uses_subgroup_vote{};
148 bool uses_subgroup_mask{}; 148 bool uses_subgroup_mask{};
149 bool uses_fswzadd{}; 149 bool uses_fswzadd{};
150 bool uses_derivates{}; 150 bool uses_derivatives{};
151 bool uses_typeless_image_reads{}; 151 bool uses_typeless_image_reads{};
152 bool uses_typeless_image_writes{}; 152 bool uses_typeless_image_writes{};
153 bool uses_shared_increment{}; 153 bool uses_shared_increment{};