d3d12: Update hard-coded heap sizes and batch limit

Increasing the heap sizes and active batch count reduces flushing
churn when rendering runs out of descriptors.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20589>
This commit is contained in:
Giancarlo Devich
2023-01-09 11:33:20 -08:00
committed by Marge Bot
parent 9c1fbc076a
commit e986d8c337
2 changed files with 3 additions and 4 deletions

View File

@@ -61,18 +61,17 @@ d3d12_init_batch(struct d3d12_context *ctx, struct d3d12_batch *batch)
IID_PPV_ARGS(&batch->cmdalloc))))
return false;
batch->sampler_heap =
d3d12_descriptor_heap_new(screen->dev,
D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER,
D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE,
128);
1024);
batch->view_heap =
d3d12_descriptor_heap_new(screen->dev,
D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV,
D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE,
1024);
8096);
if (!batch->sampler_heap && !batch->view_heap)
return false;

View File

@@ -177,7 +177,7 @@ struct d3d12_context {
struct hash_table *compute_transform_cache;
struct hash_table_u64 *bo_state_table;
struct d3d12_batch batches[4];
struct d3d12_batch batches[8];
unsigned current_batch_idx;
struct util_dynarray recently_destroyed_bos;