anv: limit URB reconfigurations when using blorp
If the last graphics pipeline bound to the command buffer has enough space in its VS URB entries for Blorp then avoid reconfiguring the URB partitions. v2: s/0/MESA_SHADER_VERTEX/ (Caio) Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
This commit is contained in:
@@ -308,18 +308,18 @@ genX(emit_urb_setup)(struct anv_device *device, struct anv_batch *batch,
|
||||
static void
|
||||
emit_urb_setup(struct anv_pipeline *pipeline)
|
||||
{
|
||||
unsigned entry_size[4];
|
||||
for (int i = MESA_SHADER_VERTEX; i <= MESA_SHADER_GEOMETRY; i++) {
|
||||
const struct brw_vue_prog_data *prog_data =
|
||||
!anv_pipeline_has_stage(pipeline, i) ? NULL :
|
||||
(const struct brw_vue_prog_data *) pipeline->shaders[i]->prog_data;
|
||||
|
||||
entry_size[i] = prog_data ? prog_data->urb_entry_size : 1;
|
||||
pipeline->urb.entry_size[i] = prog_data ? prog_data->urb_entry_size : 1;
|
||||
}
|
||||
|
||||
genX(emit_urb_setup)(pipeline->device, &pipeline->batch,
|
||||
pipeline->urb.l3_config,
|
||||
pipeline->active_stages, entry_size);
|
||||
pipeline->active_stages,
|
||||
pipeline->urb.entry_size);
|
||||
}
|
||||
|
||||
static void
|
||||
|
Reference in New Issue
Block a user