iris: parse global bindings for every gen

This fixes OpenCL support on gen 12.5+

Cc: mesa-stable
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34548>
(cherry picked from commit 57ccfd0502953124df1d245d1a4e529c0fe8661c)
This commit is contained in:
Karol Herbst
2025-04-15 11:41:45 +02:00
committed by Eric Engestrom
parent 8d2520cf95
commit 855bc8242a
2 changed files with 17 additions and 10 deletions

View File

@@ -374,7 +374,7 @@
"description": "iris: parse global bindings for every gen",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": null,
"notes": null

View File

@@ -9263,15 +9263,6 @@ iris_upload_gpgpu_walker(struct iris_context *ice,
}
}
for (unsigned i = 0; i < IRIS_MAX_GLOBAL_BINDINGS; i++) {
struct pipe_resource *res = ice->state.global_bindings[i];
if (!res)
break;
iris_use_pinned_bo(batch, iris_resource_bo(res),
true, IRIS_DOMAIN_NONE);
}
if (stage_dirty & (IRIS_STAGE_DIRTY_SAMPLER_STATES_CS |
IRIS_STAGE_DIRTY_BINDINGS_CS |
IRIS_STAGE_DIRTY_CONSTANTS_CS |
@@ -9326,6 +9317,20 @@ iris_upload_gpgpu_walker(struct iris_context *ice,
#endif /* #if GFX_VERx10 >= 125 */
static void
iris_use_global_bindings(struct iris_context *ice,
struct iris_batch *batch)
{
for (unsigned i = 0; i < IRIS_MAX_GLOBAL_BINDINGS; i++) {
struct pipe_resource *res = ice->state.global_bindings[i];
if (!res)
break;
iris_use_pinned_bo(batch, iris_resource_bo(res),
true, IRIS_DOMAIN_NONE);
}
}
static void
iris_upload_compute_state(struct iris_context *ice,
struct iris_batch *batch,
@@ -9367,6 +9372,8 @@ iris_upload_compute_state(struct iris_context *ice,
iris_use_pinned_bo(batch, border_color_pool->bo, false,
IRIS_DOMAIN_NONE);
iris_use_global_bindings(ice, batch);
#if GFX_VER >= 12
genX(invalidate_aux_map_state)(batch);
#endif