blorp: implement Wa_16014912113 callback for drivers

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26920>
This commit is contained in:
Tapani Pälli
2024-01-23 14:31:32 +02:00
committed by Marge Bot
parent 1693d0b857
commit 5ae2b4882a
5 changed files with 40 additions and 0 deletions

View File

@@ -263,6 +263,13 @@ blorp_get_l3_config(struct blorp_batch *blorp_batch)
}
#endif
static void
blorp_pre_emit_urb_config(struct blorp_batch *blorp_batch,
struct intel_urb_config *urb_cfg)
{
/* Dummy. */
}
static void
blorp_emit_urb_config(struct blorp_batch *blorp_batch,
struct intel_urb_config *urb_cfg)

View File

@@ -274,6 +274,13 @@ blorp_flush_range(UNUSED struct blorp_batch *blorp_batch,
*/
}
static void
blorp_pre_emit_urb_config(struct blorp_batch *blorp_batch,
struct intel_urb_config *urb_cfg)
{
genX(urb_workaround)(blorp_batch->driver_batch, urb_cfg);
}
static const struct intel_l3_config *
blorp_get_l3_config(struct blorp_batch *blorp_batch)
{

View File

@@ -115,6 +115,10 @@ static const struct intel_l3_config *
blorp_get_l3_config(struct blorp_batch *batch);
#endif
static void
blorp_pre_emit_urb_config(struct blorp_batch *batch,
struct intel_urb_config *urb_config);
static void
blorp_emit_urb_config(struct blorp_batch *batch,
struct intel_urb_config *urb_config);
@@ -252,6 +256,9 @@ emit_urb_config(struct blorp_batch *batch,
false, false, &urb_cfg,
deref_block_size, &constrained);
/* Tell drivers about the config. */
blorp_pre_emit_urb_config(batch, &urb_cfg);
#if GFX_VERx10 == 70
/* From the IVB PRM Vol. 2, Part 1, Section 3.2.1:
*

View File

@@ -255,6 +255,18 @@ blorp_flush_range(struct blorp_batch *batch, void *start, size_t size)
*/
}
static void
blorp_pre_emit_urb_config(struct blorp_batch *blorp_batch,
struct intel_urb_config *urb_cfg)
{
struct anv_cmd_buffer *cmd_buffer = blorp_batch->driver_batch;
genX(urb_workaround)(cmd_buffer, urb_cfg);
/* Update urb config. */
memcpy(&cmd_buffer->state.gfx.urb_cfg, urb_cfg,
sizeof(struct intel_urb_config));
}
static const struct intel_l3_config *
blorp_get_l3_config(struct blorp_batch *batch)
{

View File

@@ -250,6 +250,13 @@ blorp_flush_range(struct blorp_batch *batch, void *start, size_t size)
*/
}
static void
blorp_pre_emit_urb_config(struct blorp_batch *blorp_batch,
struct intel_urb_config *urb_cfg)
{
/* Dummy. */
}
static const struct intel_l3_config *
blorp_get_l3_config(struct blorp_batch *batch)
{