Procházet zdrojové kódy

spirv: Use OriginLowerLeft when requested

ReinUsesLisp před 5 roky
rodič
revize
cfd873275d

+ 5 - 1
src/shader_recompiler/backend/spirv/emit_spirv.cpp

@@ -212,7 +212,11 @@ void DefineEntryPoint(const IR::Program& program, EmitContext& ctx, Id main) {
         break;
         break;
     case Stage::Fragment:
     case Stage::Fragment:
         execution_model = spv::ExecutionModel::Fragment;
         execution_model = spv::ExecutionModel::Fragment;
-        ctx.AddExecutionMode(main, spv::ExecutionMode::OriginUpperLeft);
+        if (ctx.profile.lower_left_origin_mode) {
+            ctx.AddExecutionMode(main, spv::ExecutionMode::OriginLowerLeft);
+        } else {
+            ctx.AddExecutionMode(main, spv::ExecutionMode::OriginUpperLeft);
+        }
         if (program.info.stores_frag_depth) {
         if (program.info.stores_frag_depth) {
             ctx.AddExecutionMode(main, spv::ExecutionMode::DepthReplacing);
             ctx.AddExecutionMode(main, spv::ExecutionMode::DepthReplacing);
         }
         }