diff options
author | Ilia Mirkin <imirkin@alum.mit.edu> | 2021-11-22 17:54:50 -0500 |
---|---|---|
committer | Marge Bot <emma+marge@anholt.net> | 2021-11-28 04:44:56 +0000 |
commit | 7efb1c4b2940bba97624e9c92c47121c3f1ab19e (patch) | |
tree | 671c2526b0ca09bee81ff2f6512e5b14018c6990 | |
parent | 3bf47700e2ad504bd6ee493f93c7dd1e0a7b7dbd (diff) |
nir/lower_clip: increment num_inputs/outputs by appropriate amount
The inputs/outputs are meant to be in vec4 units.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13917>
-rw-r--r-- | src/compiler/nir/nir_lower_clip.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/compiler/nir/nir_lower_clip.c b/src/compiler/nir/nir_lower_clip.c index e7220127dc4..3513834c17d 100644 --- a/src/compiler/nir/nir_lower_clip.c +++ b/src/compiler/nir/nir_lower_clip.c @@ -46,13 +46,14 @@ create_clipdist_var(nir_shader *shader, { nir_variable *var = rzalloc(shader, nir_variable); - /* TODO use type_size() for num_inputs/outputs */ if (output) { - var->data.driver_location = shader->num_outputs++; + var->data.driver_location = shader->num_outputs; var->data.mode = nir_var_shader_out; + shader->num_outputs += MAX2(1, DIV_ROUND_UP(array_size, 4)); } else { - var->data.driver_location = shader->num_inputs++; + var->data.driver_location = shader->num_inputs; var->data.mode = nir_var_shader_in; + shader->num_inputs += MAX2(1, DIV_ROUND_UP(array_size, 4)); } var->name = ralloc_asprintf(var, "clipdist_%d", var->data.driver_location); var->data.index = 0; |