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:

committed by
Eric Engestrom

parent
8d2520cf95
commit
855bc8242a
@@ -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
|
||||
|
@@ -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
|
||||
|
Reference in New Issue
Block a user