Mesa (master): st/glsl_to_nir/radeonsi: enable tessellation shaders

Timothy Arceri tarceri at kemper.freedesktop.org
Fri Jan 5 01:09:09 UTC 2018


Module: Mesa
Branch: master
Commit: 71f82dc9a3d9823f91e4cf9d5ab9d54047ba8ce4
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=71f82dc9a3d9823f91e4cf9d5ab9d54047ba8ce4

Author: Timothy Arceri <tarceri at itsqueeze.com>
Date:   Wed Dec  6 13:32:17 2017 +1100

st/glsl_to_nir/radeonsi: enable tessellation shaders

Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>

---

 src/gallium/drivers/radeonsi/si_shader_nir.c | 2 ++
 src/mesa/state_tracker/st_glsl_to_nir.cpp    | 4 +++-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/radeonsi/si_shader_nir.c b/src/gallium/drivers/radeonsi/si_shader_nir.c
index d331dfeaaa..d5b8f835b9 100644
--- a/src/gallium/drivers/radeonsi/si_shader_nir.c
+++ b/src/gallium/drivers/radeonsi/si_shader_nir.c
@@ -157,6 +157,8 @@ void si_nir_scan_shader(const struct nir_shader *nir,
 
 	assert(nir->info.stage == MESA_SHADER_VERTEX ||
 	       nir->info.stage == MESA_SHADER_GEOMETRY ||
+	       nir->info.stage == MESA_SHADER_TESS_CTRL ||
+	       nir->info.stage == MESA_SHADER_TESS_EVAL ||
 	       nir->info.stage == MESA_SHADER_FRAGMENT);
 
 	info->processor = pipe_shader_type_from_mesa(nir->info.stage);
diff --git a/src/mesa/state_tracker/st_glsl_to_nir.cpp b/src/mesa/state_tracker/st_glsl_to_nir.cpp
index 276450a64a..5683dfcccc 100644
--- a/src/mesa/state_tracker/st_glsl_to_nir.cpp
+++ b/src/mesa/state_tracker/st_glsl_to_nir.cpp
@@ -675,7 +675,9 @@ st_finalize_nir(struct st_context *st, struct gl_program *prog,
                                   &nir->num_outputs,
                                   nir->info.stage);
       st_nir_fixup_varying_slots(st, &nir->outputs);
-   } else if (nir->info.stage == MESA_SHADER_GEOMETRY) {
+   } else if (nir->info.stage == MESA_SHADER_GEOMETRY ||
+              nir->info.stage == MESA_SHADER_TESS_CTRL ||
+              nir->info.stage == MESA_SHADER_TESS_EVAL) {
       sort_varyings(&nir->inputs);
       st_nir_assign_var_locations(&nir->inputs,
                                   &nir->num_inputs,




More information about the mesa-commit mailing list