Mesa (main): iris: Re-emit MEDIA_VFE_STATE for variable group size shaders
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Fri Jul 16 11:12:36 UTC 2021
Module: Mesa
Branch: main
Commit: e56d5db341eaf2112be366ee015a9956b2c3b704
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e56d5db341eaf2112be366ee015a9956b2c3b704
Author: Jason Ekstrand <jason at jlekstrand.net>
Date: Tue May 4 20:24:54 2021 -0500
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: 33c61eb2f105 "iris: Implement ARB_compute_variable_group_size"
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10640>
---
src/gallium/drivers/iris/iris_state.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/iris/iris_state.c b/src/gallium/drivers/iris/iris_state.c
index 067e5362147..2f0831a1078 100644
--- a/src/gallium/drivers/iris/iris_state.c
+++ b/src/gallium/drivers/iris/iris_state.c
@@ -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
More information about the mesa-commit
mailing list