mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-09-12 18:50:22 -07:00
vkd3d: Lay out virtual descriptor heap buffer and image bindings consecutively instead of interleaving them.
Slightly simplifies descriptor write addressing, and makes layouts essentially the same as array layouts, differing only in the binding details, and therefore easier to understand. This also simplifies the addition of storage buffer bindings, which can all be added onto the end.
This commit is contained in:
committed by
Henri Verbeet
parent
0b8a53d75d
commit
bfaab9700d
Notes:
Henri Verbeet
2024-10-17 17:39:00 +02:00
Approved-by: Giovanni Mascellani (@giomasce) Approved-by: Conor McCarthy (@cmccarthy) Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1070
@@ -930,10 +930,16 @@ static HRESULT d3d12_root_signature_init_descriptor_table_binding(struct d3d12_r
|
||||
register_space, range->base_register_idx + i, is_buffer, shader_visibility,
|
||||
vk_binding_array_count, context, NULL, NULL)))
|
||||
return hr;
|
||||
}
|
||||
|
||||
if (descriptor_type != VKD3D_SHADER_DESCRIPTOR_TYPE_SRV && descriptor_type != VKD3D_SHADER_DESCRIPTOR_TYPE_UAV)
|
||||
continue;
|
||||
if (descriptor_type != VKD3D_SHADER_DESCRIPTOR_TYPE_SRV && descriptor_type != VKD3D_SHADER_DESCRIPTOR_TYPE_UAV)
|
||||
{
|
||||
context->unbounded_offset = UINT_MAX;
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
for (i = 0; i < bindings_per_range; ++i)
|
||||
{
|
||||
if (FAILED(hr = d3d12_root_signature_append_vk_binding(root_signature, descriptor_type,
|
||||
register_space, range->base_register_idx + i, false, shader_visibility,
|
||||
vk_binding_array_count, context, NULL, NULL)))
|
||||
|
||||
Reference in New Issue
Block a user