diff options
author | Paulo Zanoni <[email protected]> | 2020-01-31 15:51:41 -0800 |
---|---|---|
committer | Marge Bot <[email protected]> | 2020-03-03 00:36:10 +0000 |
commit | 1efe139cad150072985db02227be947aec532e2b (patch) | |
tree | 2a331c9f2b64005df21df625656af6595914d9e8 /src/gallium/drivers/iris/iris_program.c | |
parent | d0c66869c1f9d454fc1c9adbd762a7a9b2756e86 (diff) |
intel: fix the gen 11 compute shader scratch IDs
Scratch space allocation is based on the number of threads in the base
configuration, and we only have one base configuration for ICL, with 8
subslices.
This fixes an issue with Aztec on Vulkan in a machine with a
configuration that's not the base. The issue looks like a regression
from b9e93db20896, but it seems things are broken since forever, just
not easily reproducible.
v2: Reimplement it using the subslices variable. Don't touch TGL.
Cc: [email protected]
Reviewed-by: Jason Ekstrand <[email protected]>
Reviewed-by: Lionel Landwerlin <[email protected]>
Signed-off-by: Paulo Zanoni <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4006>
Diffstat (limited to 'src/gallium/drivers/iris/iris_program.c')
-rw-r--r-- | src/gallium/drivers/iris/iris_program.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/gallium/drivers/iris/iris_program.c b/src/gallium/drivers/iris/iris_program.c index 01b08f24b93..701cfa20aea 100644 --- a/src/gallium/drivers/iris/iris_program.c +++ b/src/gallium/drivers/iris/iris_program.c @@ -2053,9 +2053,14 @@ iris_get_scratch_space(struct iris_context *ice, * as well. This is not currently documented at all. * * This hack is no longer necessary on Gen11+. + * + * For, ICL, scratch space allocation is based on the number of threads + * in the base configuration. */ unsigned subslice_total = screen->subslice_total; - if (devinfo->gen < 11) + if (devinfo->gen == 11) + subslice_total = 8; + else if (devinfo->gen < 11) subslice_total = 4 * devinfo->num_slices; assert(subslice_total >= screen->subslice_total); |