diff options
author | Jason Ekstrand <[email protected]> | 2017-09-29 11:09:04 -0700 |
---|---|---|
committer | Jason Ekstrand <[email protected]> | 2017-10-12 22:39:31 -0700 |
commit | 63c938fd1838d372674db70b7ff0199594a85cd0 (patch) | |
tree | ce8210536c31794e5810c7cdcde68b93374a40b5 | |
parent | 4dfb8b3416e2c7c069ac11736362e9dc3860f72c (diff) |
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 <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
-rw-r--r-- | src/intel/vulkan/anv_pipeline.c | 6 |
1 files 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; } |