iris: Re-emit push constants if we have a varying workgroup size

Fixes: 33c61eb2f1 "iris: Implement ARB_compute_variable_group_size"

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6570>
(cherry picked from commit bbaa62e4e1)
This commit is contained in:
Jason Ekstrand 2020-09-02 13:48:51 -05:00 committed by Dylan Baker
parent 937405eda6
commit 7958051f43
2 changed files with 3 additions and 2 deletions

View file

@ -2767,7 +2767,7 @@
"description": "iris: Re-emit push constants if we have a varying workgroup size",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"master_sha": null,
"because_sha": "33c61eb2f10526c0b90c5ad376e5b0433aec296d"
},

View file

@ -6658,7 +6658,8 @@ iris_upload_gpgpu_walker(struct iris_context *ice,
}
/* TODO: Combine subgroup-id with cbuf0 so we can push regular uniforms */
if (stage_dirty & IRIS_STAGE_DIRTY_CS) {
if ((stage_dirty & IRIS_STAGE_DIRTY_CS) ||
cs_prog_data->local_size[0] == 0 /* Variable local group size */) {
uint32_t curbe_data_offset = 0;
assert(cs_prog_data->push.cross_thread.dwords == 0 &&
cs_prog_data->push.per_thread.dwords == 1 &&