summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/shader_recompiler/backend/spirv/emit_spirv.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/shader_recompiler/backend/spirv/emit_spirv.cpp b/src/shader_recompiler/backend/spirv/emit_spirv.cpp
index 0cb075670..10de612cd 100644
--- a/src/shader_recompiler/backend/spirv/emit_spirv.cpp
+++ b/src/shader_recompiler/backend/spirv/emit_spirv.cpp
@@ -212,7 +212,11 @@ void DefineEntryPoint(const IR::Program& program, EmitContext& ctx, Id main) {
212 break; 212 break;
213 case Stage::Fragment: 213 case Stage::Fragment:
214 execution_model = spv::ExecutionModel::Fragment; 214 execution_model = spv::ExecutionModel::Fragment;
215 ctx.AddExecutionMode(main, spv::ExecutionMode::OriginUpperLeft); 215 if (ctx.profile.lower_left_origin_mode) {
216 ctx.AddExecutionMode(main, spv::ExecutionMode::OriginLowerLeft);
217 } else {
218 ctx.AddExecutionMode(main, spv::ExecutionMode::OriginUpperLeft);
219 }
216 if (program.info.stores_frag_depth) { 220 if (program.info.stores_frag_depth) {
217 ctx.AddExecutionMode(main, spv::ExecutionMode::DepthReplacing); 221 ctx.AddExecutionMode(main, spv::ExecutionMode::DepthReplacing);
218 } 222 }