diff --git a/src/freedreno/ir3/ir3_nir_lower_tess.c b/src/freedreno/ir3/ir3_nir_lower_tess.c index a038cd6c41e..db96893aa75 100644 --- a/src/freedreno/ir3/ir3_nir_lower_tess.c +++ b/src/freedreno/ir3/ir3_nir_lower_tess.c @@ -29,7 +29,8 @@ struct state { uint32_t topology; struct primitive_map { - unsigned loc[32 + 4]; /* +POSITION +PSIZE +CLIP_DIST0 +CLIP_DIST1 */ + /* +POSITION, +PSIZE, ... - see shader_io_get_unique_index */ + unsigned loc[32 + 6]; unsigned stride; } map; @@ -106,8 +107,12 @@ shader_io_get_unique_index(gl_varying_slot slot) return 2; if (slot == VARYING_SLOT_CLIP_DIST1) return 3; + if (slot == VARYING_SLOT_VIEWPORT) + return 4; + if (slot == VARYING_SLOT_LAYER) + return 5; if (slot >= VARYING_SLOT_VAR0 && slot <= VARYING_SLOT_VAR31) - return 4 + (slot - VARYING_SLOT_VAR0); + return 6 + (slot - VARYING_SLOT_VAR0); unreachable("illegal slot in get unique index\n"); } diff --git a/src/freedreno/ir3/ir3_shader.h b/src/freedreno/ir3/ir3_shader.h index 79dde853974..e91c2df6cc1 100644 --- a/src/freedreno/ir3/ir3_shader.h +++ b/src/freedreno/ir3/ir3_shader.h @@ -625,8 +625,9 @@ struct ir3_shader_variant { /* Map from location to offset in per-primitive storage. In dwords for * HS, where varyings are read in the next stage via ldg with a dword * offset, and in bytes for all other stages. + * +POSITION, +PSIZE, ... - see shader_io_get_unique_index */ - unsigned output_loc[32 + 4]; /* +POSITION +PSIZE +CLIP_DIST0 +CLIP_DIST1 */ + unsigned output_loc[32 + 6]; /* attributes (VS) / varyings (FS): * Note that sysval's should come *after* normal inputs. diff --git a/src/gallium/drivers/zink/ci/zink-tu-a630-fails.txt b/src/gallium/drivers/zink/ci/zink-tu-a630-fails.txt index e67864e2cb5..d6a2e02fda7 100644 --- a/src/gallium/drivers/zink/ci/zink-tu-a630-fails.txt +++ b/src/gallium/drivers/zink/ci/zink-tu-a630-fails.txt @@ -230,9 +230,6 @@ KHR-GL46.shader_image_load_store.multiple-uniforms,Fail KHR-GL46.shader_storage_buffer_object.basic-atomic-case1,Fail KHR-GL46.shader_storage_buffer_object.basic-stdLayout-case3-cs,Crash KHR-GL46.shader_storage_buffer_object.basic-stdLayout-case3-vs,Crash -KHR-GL46.shader_viewport_layer_array.ShaderLayerFramebufferLayeredTestCase,Crash -KHR-GL46.shader_viewport_layer_array.ShaderLayerFramebufferNonLayeredTestCase,Crash -KHR-GL46.shader_viewport_layer_array.ShaderViewportIndexTestCase,Crash KHR-GL46.tessellation_shader.vertex.vertex_ordering,Fail KHR-GL46.texture_cube_map_array.color_depth_attachments,Fail KHR-GL46.texture_cube_map_array.image_op_geometry_sh,Fail