d3d12: Actually suballocate and cache buffers
Reviewed-by: Sil Vilerino <sivileri@microsoft.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14933>
This commit is contained in:
@@ -95,7 +95,7 @@ d3d12_bo_new(ID3D12Device *dev, uint64_t size, const pb_desc *pb_desc)
|
||||
D3D12_RESOURCE_DESC res_desc;
|
||||
res_desc.Dimension = D3D12_RESOURCE_DIMENSION_BUFFER;
|
||||
res_desc.Format = DXGI_FORMAT_UNKNOWN;
|
||||
res_desc.Alignment = pb_desc->alignment;
|
||||
res_desc.Alignment = 0;
|
||||
res_desc.Width = size;
|
||||
res_desc.Height = 1;
|
||||
res_desc.DepthOrArraySize = 1;
|
||||
|
@@ -155,7 +155,7 @@ init_buffer(struct d3d12_screen *screen,
|
||||
if (templ->bind & PIPE_BIND_SAMPLER_VIEW)
|
||||
bufmgr = screen->cache_bufmgr;
|
||||
|
||||
buf_desc.alignment = D3D12_DEFAULT_RESOURCE_PLACEMENT_ALIGNMENT;
|
||||
buf_desc.alignment = D3D12_TEXTURE_DATA_PLACEMENT_ALIGNMENT;
|
||||
res->dxgi_format = DXGI_FORMAT_UNKNOWN;
|
||||
buf = bufmgr->create_buffer(bufmgr, templ->width0, &buf_desc);
|
||||
if (!buf)
|
||||
|
@@ -1198,12 +1198,14 @@ d3d12_init_screen(struct d3d12_screen *screen, struct sw_winsys *winsys, IUnknow
|
||||
desc.usage = (pb_usage_flags)(PB_USAGE_CPU_WRITE | PB_USAGE_GPU_READ);
|
||||
|
||||
screen->bufmgr = d3d12_bufmgr_create(screen);
|
||||
screen->cache_bufmgr = pb_cache_manager_create(screen->bufmgr, 0xfffff, 2, 0, 64 * 1024 * 1024);
|
||||
screen->slab_bufmgr = pb_slab_range_manager_create(screen->cache_bufmgr, 16, 512,
|
||||
screen->cache_bufmgr = pb_cache_manager_create(screen->bufmgr, 0xfffff, 2, 0, 512 * 1024 * 1024);
|
||||
screen->slab_bufmgr = pb_slab_range_manager_create(screen->cache_bufmgr, 16,
|
||||
D3D12_DEFAULT_RESOURCE_PLACEMENT_ALIGNMENT,
|
||||
D3D12_DEFAULT_RESOURCE_PLACEMENT_ALIGNMENT,
|
||||
&desc);
|
||||
desc.usage = (pb_usage_flags)(PB_USAGE_CPU_READ_WRITE | PB_USAGE_GPU_WRITE);
|
||||
screen->readback_slab_bufmgr = pb_slab_range_manager_create(screen->cache_bufmgr, 16, 512,
|
||||
screen->readback_slab_bufmgr = pb_slab_range_manager_create(screen->cache_bufmgr, 16,
|
||||
D3D12_DEFAULT_RESOURCE_PLACEMENT_ALIGNMENT,
|
||||
D3D12_DEFAULT_RESOURCE_PLACEMENT_ALIGNMENT,
|
||||
&desc);
|
||||
|
||||
|
Reference in New Issue
Block a user