diff options
author | Jason Ekstrand <[email protected]> | 2017-04-28 07:12:24 -0700 |
---|---|---|
committer | Jason Ekstrand <[email protected]> | 2017-09-20 17:21:06 -0700 |
commit | fc91cbe20ba580930bac06632e7a6d4ed39bc3ab (patch) | |
tree | f6557eea44c7d124d5ab0b98726beb97e963736b /src/compiler | |
parent | 28911156711c661d42807aaaf89e33eeba53537e (diff) |
spirv: Flip the tessellation winding order
It's not SPIR-V that's backwards from GLSL, it's Vulkan that's backwards
from GL. Let's make NIR consistent with the source language and do the
flipping inside the Vulkan driver instead.
Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/compiler')
-rw-r--r-- | src/compiler/spirv/spirv_to_nir.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/src/compiler/spirv/spirv_to_nir.c b/src/compiler/spirv/spirv_to_nir.c index 86536856b6f..6ce9d1ada34 100644 --- a/src/compiler/spirv/spirv_to_nir.c +++ b/src/compiler/spirv/spirv_to_nir.c @@ -2951,17 +2951,12 @@ vtn_handle_execution_mode(struct vtn_builder *b, struct vtn_value *entry_point, case SpvExecutionModeVertexOrderCw: assert(b->shader->stage == MESA_SHADER_TESS_CTRL || b->shader->stage == MESA_SHADER_TESS_EVAL); - /* Vulkan's notion of CCW seems to match the hardware backends, - * but be the opposite of OpenGL. Currently NIR follows GL semantics, - * so we set it backwards here. - */ - b->shader->info.tess.ccw = true; + b->shader->info.tess.ccw = false; break; case SpvExecutionModeVertexOrderCcw: assert(b->shader->stage == MESA_SHADER_TESS_CTRL || b->shader->stage == MESA_SHADER_TESS_EVAL); - /* Backwards; see above */ - b->shader->info.tess.ccw = false; + b->shader->info.tess.ccw = true; break; case SpvExecutionModePointMode: assert(b->shader->stage == MESA_SHADER_TESS_CTRL || |