diff options
author | liamwhite <liamwhite@users.noreply.github.com> | 2022-12-17 22:08:10 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-17 22:08:10 +0100 |
commit | 5da72a891fb4c4ddddbeefc0b235079fa3830743 (patch) | |
tree | cd4006e1a4e50c298ebb3004341191203ac11c56 /src/shader_recompiler/backend | |
parent | Merge pull request #9461 from liamwhite/wanative (diff) | |
parent | Vulkan: Add support for VK_EXT_depth_clip_control. (diff) | |
download | yuzu-5da72a891fb4c4ddddbeefc0b235079fa3830743.tar yuzu-5da72a891fb4c4ddddbeefc0b235079fa3830743.tar.gz yuzu-5da72a891fb4c4ddddbeefc0b235079fa3830743.tar.bz2 yuzu-5da72a891fb4c4ddddbeefc0b235079fa3830743.tar.lz yuzu-5da72a891fb4c4ddddbeefc0b235079fa3830743.tar.xz yuzu-5da72a891fb4c4ddddbeefc0b235079fa3830743.tar.zst yuzu-5da72a891fb4c4ddddbeefc0b235079fa3830743.zip |
Diffstat (limited to 'src/shader_recompiler/backend')
-rw-r--r-- | src/shader_recompiler/backend/spirv/emit_spirv_context_get_set.cpp | 2 | ||||
-rw-r--r-- | src/shader_recompiler/backend/spirv/emit_spirv_special.cpp | 5 |
2 files changed, 4 insertions, 3 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 01f6ec9b5..73b67f0af 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 @@ -461,7 +461,7 @@ void EmitSetSampleMask(EmitContext& ctx, Id value) { } void EmitSetFragDepth(EmitContext& ctx, Id value) { - if (!ctx.runtime_info.convert_depth_mode) { + if (!ctx.runtime_info.convert_depth_mode || ctx.profile.support_native_ndc) { ctx.OpStore(ctx.frag_depth, value); return; } diff --git a/src/shader_recompiler/backend/spirv/emit_spirv_special.cpp b/src/shader_recompiler/backend/spirv/emit_spirv_special.cpp index 00be1f127..9f7b6bb4b 100644 --- a/src/shader_recompiler/backend/spirv/emit_spirv_special.cpp +++ b/src/shader_recompiler/backend/spirv/emit_spirv_special.cpp @@ -116,7 +116,8 @@ void EmitPrologue(EmitContext& ctx) { } void EmitEpilogue(EmitContext& ctx) { - if (ctx.stage == Stage::VertexB && ctx.runtime_info.convert_depth_mode) { + if (ctx.stage == Stage::VertexB && ctx.runtime_info.convert_depth_mode && + !ctx.profile.support_native_ndc) { ConvertDepthMode(ctx); } if (ctx.stage == Stage::Fragment) { @@ -125,7 +126,7 @@ void EmitEpilogue(EmitContext& ctx) { } void EmitEmitVertex(EmitContext& ctx, const IR::Value& stream) { - if (ctx.runtime_info.convert_depth_mode) { + if (ctx.runtime_info.convert_depth_mode && !ctx.profile.support_native_ndc) { ConvertDepthMode(ctx); } if (stream.IsImmediate()) { |