iris: Re-emit MEDIA_VFE_STATE for variable group size shaders

It implicitly contains the number of threads via the CURBE allocation
size field.

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/10640>
This commit is contained in:
Jason Ekstrand 2021-05-04 20:24:54 -05:00 committed by Marge Bot
parent d7e1c0ec2e
commit e56d5db341
1 changed files with 2 additions and 1 deletions

View File

@ -6878,7 +6878,8 @@ iris_upload_gpgpu_walker(struct iris_context *ice,
const struct brw_cs_dispatch_info dispatch =
brw_cs_get_dispatch_info(devinfo, cs_prog_data, grid->block);
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 */) {
/* The MEDIA_VFE_STATE documentation for Gfx8+ says:
*
* "A stalling PIPE_CONTROL is required before MEDIA_VFE_STATE unless