mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 04:48:08 +02:00
anv: Properly size the push constant L3 area.
We were assuming it was 32kB everywhere, reducing the available URB space. It's actually 16kB on Ivybridge, Baytrail, and Haswell GT1-2.
This commit is contained in:
parent
7f9b03cc8b
commit
3f11517730
1 changed files with 8 additions and 3 deletions
|
|
@ -755,8 +755,6 @@ anv_pipeline_compile_cs(struct anv_pipeline *pipeline,
|
|||
return VK_SUCCESS;
|
||||
}
|
||||
|
||||
static const int gen8_push_size = 32 * 1024;
|
||||
|
||||
static void
|
||||
gen7_compute_urb_partition(struct anv_pipeline *pipeline)
|
||||
{
|
||||
|
|
@ -785,7 +783,14 @@ gen7_compute_urb_partition(struct anv_pipeline *pipeline)
|
|||
unsigned urb_chunks = devinfo->urb.size * 1024 / chunk_size_bytes;
|
||||
|
||||
/* Reserve space for push constants */
|
||||
unsigned push_constant_bytes = gen8_push_size;
|
||||
#if GEN_GEN >= 8
|
||||
unsigned push_constant_kb = 32;
|
||||
#elif GEN_IS_HASWELL
|
||||
unsigned push_constant_kb = pipeline->device->info.gt == 3 ? 32 : 16;
|
||||
#else
|
||||
unsigned push_constant_kb = 16;
|
||||
#endif
|
||||
unsigned push_constant_bytes = push_constant_kb * 1024;
|
||||
unsigned push_constant_chunks =
|
||||
push_constant_bytes / chunk_size_bytes;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue