Mesa (master): freedreno/ir3: allow layer/viewport output for VS/GS/DS

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Sep 15 16:32:22 UTC 2020


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

Author: Jonathan Marek <jonathan at marek.ca>
Date:   Thu Jul  9 14:22:12 2020 -0400

freedreno/ir3: allow layer/viewport output for VS/GS/DS

With VK_EXT_shader_viewport_index_layer, these stages can all output the
viewport or layer id, and not just GS anymore.

Signed-off-by: Jonathan Marek <jonathan at marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5832>

---

 src/freedreno/ir3/ir3_compiler_nir.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/freedreno/ir3/ir3_compiler_nir.c b/src/freedreno/ir3/ir3_compiler_nir.c
index 1438d31e74c..05613a8794f 100644
--- a/src/freedreno/ir3/ir3_compiler_nir.c
+++ b/src/freedreno/ir3/ir3_compiler_nir.c
@@ -3140,7 +3140,6 @@ setup_output(struct ir3_context *ctx, nir_intrinsic_instr *intr)
 			so->writes_psize = true;
 			break;
 		case VARYING_SLOT_PRIMITIVE_ID:
-		case VARYING_SLOT_LAYER:
 		case VARYING_SLOT_GS_VERTEX_FLAGS_IR3:
 			debug_assert(ctx->so->type == MESA_SHADER_GEOMETRY);
 			/* fall through */
@@ -3152,6 +3151,8 @@ setup_output(struct ir3_context *ctx, nir_intrinsic_instr *intr)
 		case VARYING_SLOT_CLIP_DIST0:
 		case VARYING_SLOT_CLIP_DIST1:
 		case VARYING_SLOT_CLIP_VERTEX:
+		case VARYING_SLOT_LAYER:
+		case VARYING_SLOT_VIEWPORT:
 			break;
 		default:
 			if (slot >= VARYING_SLOT_VAR0)



More information about the mesa-commit mailing list