diff options
author | ReinUsesLisp <reinuseslisp@airmail.cc> | 2021-04-13 16:56:22 -0300 |
---|---|---|
committer | ameerj <52414509+ameerj@users.noreply.github.com> | 2021-07-22 21:51:27 -0400 |
commit | a83579b50a167ab9483e5058fd1c748018ef6d7c (patch) | |
tree | ad924ec0219e4cbd6d2efae934061082751d9b27 /src/shader_recompiler/backend/spirv/emit_spirv.cpp | |
parent | 09165ae18989c17661faf188e6825a9eb4e03a27 (diff) |
shader: Implement early Z tests
Diffstat (limited to 'src/shader_recompiler/backend/spirv/emit_spirv.cpp')
-rw-r--r-- | src/shader_recompiler/backend/spirv/emit_spirv.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/shader_recompiler/backend/spirv/emit_spirv.cpp b/src/shader_recompiler/backend/spirv/emit_spirv.cpp index 61a2018d7a..7ad00c4343 100644 --- a/src/shader_recompiler/backend/spirv/emit_spirv.cpp +++ b/src/shader_recompiler/backend/spirv/emit_spirv.cpp @@ -178,6 +178,9 @@ void DefineEntryPoint(const IR::Program& program, EmitContext& ctx, Id main) { if (program.info.stores_frag_depth) { ctx.AddExecutionMode(main, spv::ExecutionMode::DepthReplacing); } + if (ctx.profile.force_early_z) { + ctx.AddExecutionMode(main, spv::ExecutionMode::EarlyFragmentTests); + } break; default: throw NotImplementedException("Stage {}", program.stage); |