Browse Source

zink: set ExecutionModeDepthReplacing when depth is written

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
tags/19.3-branchpoint
Erik Faye-Lund 6 years ago
parent
commit
a9770e2bd2
1 changed files with 5 additions and 1 deletions
  1. 5
    1
      src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c

+ 5
- 1
src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c View File

@@ -1523,9 +1523,13 @@ nir_to_spirv(struct nir_shader *s)
spirv_builder_emit_entry_point(&ctx.builder, exec_model, entry_point,
"main", ctx.entry_ifaces,
ctx.num_entry_ifaces);
if (s->info.stage == MESA_SHADER_FRAGMENT)
if (s->info.stage == MESA_SHADER_FRAGMENT) {
spirv_builder_emit_exec_mode(&ctx.builder, entry_point,
SpvExecutionModeOriginUpperLeft);
if (s->info.outputs_written & BITFIELD64_BIT(FRAG_RESULT_DEPTH))
spirv_builder_emit_exec_mode(&ctx.builder, entry_point,
SpvExecutionModeDepthReplacing);
}


spirv_builder_function(&ctx.builder, entry_point, type_void,

Loading…
Cancel
Save