mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-03 13:40:11 +01:00
dzn: Make sure sampler heaps don't contain more than 2048 samplers
The spec says "The maximum number of samplers in a shader visible descriptor heap is 2048.". Let's make sure we follow this rule in dozen. Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com> Reviewed-by: Jesse Natalie <jenatali@microsoft.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15884>
This commit is contained in:
parent
3becb2729a
commit
31ea1fcd14
1 changed files with 8 additions and 0 deletions
|
|
@ -1446,6 +1446,14 @@ dzn_descriptor_heap_pool_alloc_slots(dzn_descriptor_heap_pool *pool,
|
|||
64 * 1024 : 4 * 1024;
|
||||
uint32_t alloc_step = ALIGN_POT(desc_count * pool->desc_sz, granularity);
|
||||
uint32_t heap_desc_count = MAX2(alloc_step / pool->desc_sz, 16);
|
||||
|
||||
/* Maximum of 2048 samplers per heap when shader_visible is true. */
|
||||
if (pool->shader_visible &&
|
||||
pool->type == D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER) {
|
||||
assert(desc_count <= 2048);
|
||||
heap_desc_count = MIN2(heap_desc_count, 2048);
|
||||
}
|
||||
|
||||
dzn_descriptor_heap_pool_entry *new_heap = NULL;
|
||||
|
||||
list_for_each_entry_safe(dzn_descriptor_heap_pool_entry, entry, &pool->free_heaps, link) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue