From 63c938fd1838d372674db70b7ff0199594a85cd0 Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Fri, 29 Sep 2017 11:09:04 -0700 Subject: [PATCH] anv/pipeline: Whack nir->num_uniforms to MAX_PUSH_CONSTANT_SIZE This way any image uniforms end up having locations higher than MAX_PUSH_CONSTANT_SIZE. There's no bug here at the moment, but this consistency will make the next commit easier. Also, because nir_apply_pipeline_layout properly increments nir->num_uniforms when it expands the param array, we no longer need to stomp it to match prog_data::nr_params because it already does. Reviewed-by: Jordan Justen Reviewed-by: Kenneth Graunke --- src/intel/vulkan/anv_pipeline.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/intel/vulkan/anv_pipeline.c b/src/intel/vulkan/anv_pipeline.c index 148d080e9c3..bac2a1eeea6 100644 --- a/src/intel/vulkan/anv_pipeline.c +++ b/src/intel/vulkan/anv_pipeline.c @@ -401,6 +401,7 @@ anv_pipeline_compile(struct anv_pipeline *pipeline, * them the maximum possible number */ assert(nir->num_uniforms <= MAX_PUSH_CONSTANTS_SIZE); + nir->num_uniforms = MAX_PUSH_CONSTANTS_SIZE; prog_data->nr_params += MAX_PUSH_CONSTANTS_SIZE / sizeof(float); } @@ -433,10 +434,7 @@ anv_pipeline_compile(struct anv_pipeline *pipeline, if (pipeline->layout) anv_nir_apply_pipeline_layout(pipeline, nir, prog_data, map); - /* nir_lower_io will only handle the push constants; we need to set this - * to the full number of possible uniforms. - */ - nir->num_uniforms = prog_data->nr_params * 4; + assert(nir->num_uniforms == prog_data->nr_params * 4); return nir; } -- 2.30.2