summaryrefslogtreecommitdiffstats
path: root/src/intel
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2017-09-29 11:09:04 -0700
committerJason Ekstrand <[email protected]>2017-10-12 22:39:31 -0700
commit63c938fd1838d372674db70b7ff0199594a85cd0 (patch)
treece8210536c31794e5810c7cdcde68b93374a40b5 /src/intel
parent4dfb8b3416e2c7c069ac11736362e9dc3860f72c (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]>
Diffstat (limited to 'src/intel')
-rw-r--r--src/intel/vulkan/anv_pipeline.c6
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;
}