mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-04-13 05:43:18 -07:00
libs/vkd3d: Add support for OffsetInDescriptorsFromTableStart.
This commit is contained in:
@@ -2543,6 +2543,13 @@ static void d3d12_command_list_set_descriptor_table(struct d3d12_command_list *l
|
||||
for (i = 0; i < descriptor_table->range_count; ++i)
|
||||
{
|
||||
range = &descriptor_table->ranges[i];
|
||||
|
||||
if (range->offset != D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND)
|
||||
{
|
||||
descriptor = (struct d3d12_desc *)(intptr_t)base_descriptor.ptr;
|
||||
descriptor += range->offset;
|
||||
}
|
||||
|
||||
for (j = 0; j < range->descriptor_count; ++j, ++descriptor)
|
||||
{
|
||||
if (!vk_write_descriptor_set_from_d3d12_desc(current_descriptor_write,
|
||||
|
@@ -309,8 +309,6 @@ static bool vk_binding_from_d3d12_descriptor_range(struct VkDescriptorSetLayoutB
|
||||
FIXME("Unhandled register space %u.\n", descriptor_range->RegisterSpace);
|
||||
return false;
|
||||
}
|
||||
if (descriptor_range->OffsetInDescriptorsFromTableStart != D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND)
|
||||
FIXME("Unhandled offset %#x.\n", descriptor_range->OffsetInDescriptorsFromTableStart);
|
||||
|
||||
binding_desc->stageFlags = stage_flags_from_visibility(shader_visibility);
|
||||
binding_desc->pImmutableSamplers = NULL;
|
||||
@@ -687,8 +685,9 @@ static HRESULT d3d12_root_signature_init_root_descriptor_tables(struct d3d12_roo
|
||||
++cur_binding;
|
||||
}
|
||||
|
||||
table->ranges[j].binding = vk_binding;
|
||||
table->ranges[j].offset = descriptor_range->OffsetInDescriptorsFromTableStart;
|
||||
table->ranges[j].descriptor_count = descriptor_range->NumDescriptors;
|
||||
table->ranges[j].binding = vk_binding;
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -275,8 +275,9 @@ struct d3d12_query_heap *unsafe_impl_from_ID3D12QueryHeap(ID3D12QueryHeap *iface
|
||||
|
||||
struct d3d12_root_descriptor_table_range
|
||||
{
|
||||
uint32_t binding;
|
||||
unsigned int offset;
|
||||
unsigned int descriptor_count;
|
||||
uint32_t binding;
|
||||
};
|
||||
|
||||
struct d3d12_root_descriptor_table
|
||||
|
Reference in New Issue
Block a user