diff --git a/src/microsoft/vulkan/dzn_device.c b/src/microsoft/vulkan/dzn_device.c index 750a9cc54cd..a08fe1ba4cb 100644 --- a/src/microsoft/vulkan/dzn_device.c +++ b/src/microsoft/vulkan/dzn_device.c @@ -436,6 +436,9 @@ dzn_physical_device_cache_caps(struct dzn_physical_device *pdev) pdev->options19.MaxSamplerDescriptorHeapSizeWithStaticSamplers = pdev->options19.MaxSamplerDescriptorHeapSize; pdev->options19.MaxViewDescriptorHeapSize = D3D12_MAX_SHADER_VISIBLE_DESCRIPTOR_HEAP_SIZE_TIER_1; } + if (FAILED(ID3D12Device1_CheckFeatureSupport(pdev->dev, D3D12_FEATURE_D3D12_OPTIONS21, &pdev->options21, sizeof(pdev->options21)))) { + pdev->options21.ExecuteIndirectTier = D3D12_EXECUTE_INDIRECT_TIER_1_0; + } { D3D12_FEATURE_DATA_FORMAT_SUPPORT a4b4g4r4_support = { .Format = DXGI_FORMAT_A4B4G4R4_UNORM diff --git a/src/microsoft/vulkan/dzn_private.h b/src/microsoft/vulkan/dzn_private.h index 07cf8467d55..66a4b05871f 100644 --- a/src/microsoft/vulkan/dzn_private.h +++ b/src/microsoft/vulkan/dzn_private.h @@ -227,6 +227,7 @@ struct dzn_physical_device { D3D12_FEATURE_DATA_D3D12_OPTIONS16 options16; D3D12_FEATURE_DATA_D3D12_OPTIONS17 options17; D3D12_FEATURE_DATA_D3D12_OPTIONS19 options19; + D3D12_FEATURE_DATA_D3D12_OPTIONS21 options21; VkPhysicalDeviceMemoryProperties memory; D3D12_HEAP_FLAGS heap_flags_for_mem_type[VK_MAX_MEMORY_TYPES]; const struct vk_sync_type *sync_types[MAX_SYNC_TYPES + 1];