Skip to content

iris: Implement ARB_compute_variable_group_size (sysvals way)

This is an alternative to !4271 (closed). Instead of embedding the push constants, we allow the driver to lower the CS intrinsics earlier, so that it can lower the nir_intrinsic_load_local_group_size before handing NIR to the compiler (at brw_compile_cs). This allow the workgroup size to be handled as sysval in Iris.

I haven't changed i965 to the new approach, instead simply added an option to the compiler for it. We can further change i965 if needed.

Note to self: once things settle, try to normalize the nomenclature since each layer seems to prefer a different name.

Merge request reports