diff --git a/.pick_status.json b/.pick_status.json index 181cd01226a..a3df7e82c7e 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -517,7 +517,7 @@ "description": "nir: fix 2 bugs in nir_create_passthrough_tcs", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "a8e84f50bc6c855fa08af343c02d3e1b783d1586" }, diff --git a/src/compiler/nir/nir_passthrough_tcs.c b/src/compiler/nir/nir_passthrough_tcs.c index d0ddca21adc..0d2edbccd60 100644 --- a/src/compiler/nir/nir_passthrough_tcs.c +++ b/src/compiler/nir/nir_passthrough_tcs.c @@ -77,10 +77,9 @@ nir_create_passthrough_tcs_impl(const nir_shader_compiler_options *options, for (unsigned i = 0; i < num_locations; i++) { const struct glsl_type *type; unsigned semantic = locations[i]; - if (semantic < VARYING_SLOT_VAR31 && semantic != VARYING_SLOT_EDGE) + if ((semantic <= VARYING_SLOT_VAR31 && semantic != VARYING_SLOT_EDGE) || + semantic >= VARYING_SLOT_VAR0_16BIT) type = glsl_array_type(glsl_vec4_type(), 0, 0); - else if (semantic >= VARYING_SLOT_VAR0_16BIT) - type = glsl_array_type(glsl_vector_type(GLSL_TYPE_FLOAT16, 4), 0, 0); else continue;