mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2024-11-21 16:46:41 -08:00
vkd3d: Validate tiled resources support during reserved resource creation.
Check directly for Vulkan support because the D3D12 tiled resources tier may in future be modified by a config option.
This commit is contained in:
parent
e93f2e7746
commit
1a0d85b8d6
Notes:
Alexandre Julliard
2023-06-27 23:33:57 +02:00
Approved-by: Giovanni Mascellani (@giomasce) Approved-by: Henri Verbeet (@hverbeet) Approved-by: Alexandre Julliard (@julliard) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/216
@ -1464,6 +1464,7 @@ static HRESULT vkd3d_init_device_caps(struct d3d12_device *device,
|
||||
|
||||
vulkan_info->device_limits = physical_device_info->properties2.properties.limits;
|
||||
vulkan_info->sparse_properties = physical_device_info->properties2.properties.sparseProperties;
|
||||
vulkan_info->sparse_binding = features->sparseBinding;
|
||||
vulkan_info->rasterization_stream = physical_device_info->xfb_properties.transformFeedbackRasterizationStreamSelect;
|
||||
vulkan_info->transform_feedback_queries = physical_device_info->xfb_properties.transformFeedbackQueries;
|
||||
vulkan_info->uav_read_without_format = features->shaderStorageImageReadWithoutFormat;
|
||||
|
@ -1740,6 +1740,12 @@ static HRESULT d3d12_resource_init(struct d3d12_resource *resource, struct d3d12
|
||||
|
||||
resource->desc = *desc;
|
||||
|
||||
if (!heap_properties && !device->vk_info.sparse_binding)
|
||||
{
|
||||
WARN("The device does not support tiled images.\n");
|
||||
return E_INVALIDARG;
|
||||
}
|
||||
|
||||
if (heap_properties && !d3d12_resource_validate_heap_properties(resource, heap_properties, initial_state))
|
||||
return E_INVALIDARG;
|
||||
|
||||
|
@ -147,9 +147,11 @@ struct vkd3d_vulkan_info
|
||||
unsigned int max_vertex_attrib_divisor;
|
||||
|
||||
VkPhysicalDeviceLimits device_limits;
|
||||
VkPhysicalDeviceSparseProperties sparse_properties;
|
||||
struct vkd3d_device_descriptor_limits descriptor_limits;
|
||||
|
||||
VkPhysicalDeviceSparseProperties sparse_properties;
|
||||
bool sparse_binding;
|
||||
|
||||
VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT texel_buffer_alignment_properties;
|
||||
|
||||
unsigned int shader_extension_count;
|
||||
|
Loading…
Reference in New Issue
Block a user