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:
@@ -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)
|
||||
|
@@ -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)
|
||||
{
|
||||
|
@@ -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:
|
||||
*
|
||||
|
@@ -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)
|
||||
{
|
||||
|
@@ -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)
|
||||
{
|
||||
|
Reference in New Issue
Block a user