mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 19:40:10 +01:00
intel/fs: Don't allocate a param array for zero push constants
Thanks to the ralloc invariant of "any pointer returned from ralloc can be used as a context", calling ralloc_size with a size of zero will cause it to allocate at least a header. If we don't have any push constants, then NULL is perfectly acceptable (and even preferred). Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
This commit is contained in:
parent
7b4387519c
commit
172e8e42c4
1 changed files with 8 additions and 1 deletions
|
|
@ -2092,7 +2092,14 @@ fs_visitor::assign_constant_locations()
|
|||
*/
|
||||
uint32_t *param = stage_prog_data->param;
|
||||
stage_prog_data->nr_params = num_push_constants;
|
||||
stage_prog_data->param = ralloc_array(mem_ctx, uint32_t, num_push_constants);
|
||||
if (num_push_constants) {
|
||||
stage_prog_data->param = ralloc_array(mem_ctx, uint32_t,
|
||||
num_push_constants);
|
||||
} else {
|
||||
stage_prog_data->param = NULL;
|
||||
}
|
||||
assert(stage_prog_data->nr_pull_params == 0);
|
||||
assert(stage_prog_data->pull_param == NULL);
|
||||
if (num_pull_constants > 0) {
|
||||
stage_prog_data->nr_pull_params = num_pull_constants;
|
||||
stage_prog_data->pull_param = ralloc_array(mem_ctx, uint32_t,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue