diff options
Diffstat (limited to 'src/shader_recompiler/backend/spirv/emit_spirv.cpp')
| -rw-r--r-- | src/shader_recompiler/backend/spirv/emit_spirv.cpp | 6 |
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 | } |