diff options
| author | 2021-05-23 04:18:22 -0300 | |
|---|---|---|
| committer | 2021-07-22 21:51:29 -0400 | |
| commit | cfd873275d705f124efff6ceae33efc8994e64fa (patch) | |
| tree | c527727ef66eee90f6f64d6598faebfaa4163a5e | |
| parent | spirv: Only add image operands mask when needed (diff) | |
| download | yuzu-cfd873275d705f124efff6ceae33efc8994e64fa.tar.gz yuzu-cfd873275d705f124efff6ceae33efc8994e64fa.tar.xz yuzu-cfd873275d705f124efff6ceae33efc8994e64fa.zip | |
spirv: Use OriginLowerLeft when requested
| -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 | } |