From 68846ba4a8caf881649fd79e80b379b421aca1ca Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Fri, 4 Jun 2021 19:07:41 -0400 Subject: [PATCH] pan/mdg: Lower away gl_VertexID offset Technically we can stick the offset in the vertex ID attribute record, but this is a faster way to get the test passing and Midgard perf? what's that? Signed-off-by: Alyssa Rosenzweig Part-of: --- src/panfrost/lib/pan_shader.c | 2 +- src/panfrost/midgard/midgard_compile.c | 4 ++-- src/panfrost/midgard/midgard_compile.h | 1 + 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/panfrost/lib/pan_shader.c b/src/panfrost/lib/pan_shader.c index 3b302db..f1d4d44 100644 --- a/src/panfrost/lib/pan_shader.c +++ b/src/panfrost/lib/pan_shader.c @@ -193,7 +193,7 @@ pan_shader_compile(const struct panfrost_device *dev, info->attribute_count = util_bitcount64(s->info.inputs_read); bool vertex_id = BITSET_TEST(s->info.system_values_read, - SYSTEM_VALUE_VERTEX_ID); + SYSTEM_VALUE_VERTEX_ID_ZERO_BASE); if (vertex_id && !pan_is_bifrost(dev)) info->attribute_count = MAX2(info->attribute_count, PAN_VERTEX_ID + 1); diff --git a/src/panfrost/midgard/midgard_compile.c b/src/panfrost/midgard/midgard_compile.c index 37954c2..23d624e 100644 --- a/src/panfrost/midgard/midgard_compile.c +++ b/src/panfrost/midgard/midgard_compile.c @@ -1602,7 +1602,7 @@ static unsigned vertex_builtin_arg(nir_intrinsic_op op) { switch (op) { - case nir_intrinsic_load_vertex_id: + case nir_intrinsic_load_vertex_id_zero_base: return PAN_VERTEX_ID; case nir_intrinsic_load_instance_id: return PAN_INSTANCE_ID; @@ -2049,7 +2049,7 @@ emit_intrinsic(compiler_context *ctx, nir_intrinsic_instr *instr) emit_compute_builtin(ctx, instr); break; - case nir_intrinsic_load_vertex_id: + case nir_intrinsic_load_vertex_id_zero_base: case nir_intrinsic_load_instance_id: emit_vertex_builtin(ctx, instr); break; diff --git a/src/panfrost/midgard/midgard_compile.h b/src/panfrost/midgard/midgard_compile.h index 242ac11..d3bce99 100644 --- a/src/panfrost/midgard/midgard_compile.h +++ b/src/panfrost/midgard/midgard_compile.h @@ -93,6 +93,7 @@ static const nir_shader_compiler_options midgard_nir_options = { .vectorize_io = true, .use_interpolated_input_intrinsics = true, + .vertex_id_zero_based = true, .has_cs_global_id = true, .lower_cs_local_index_from_id = true, .max_unroll_iterations = 32, -- 2.7.4