=?UTF-8?Q?J=C3=B3zef=20Kucia=20?=: vkd3d: Add more Vulkan feature checks.

Alexandre Julliard julliard at winehq.org
Thu Mar 28 18:33:18 CDT 2019


Module: vkd3d
Branch: master
Commit: 3d3f64059057565abafea6265a3cbe7b1c94754e
URL:    https://source.winehq.org/git/vkd3d.git/?a=commit;h=3d3f64059057565abafea6265a3cbe7b1c94754e

Author: Józef Kucia <jkucia at codeweavers.com>
Date:   Thu Mar 28 17:07:24 2019 +0100

vkd3d: Add more Vulkan feature checks.

Sort the list alphabetically.

Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 libs/vkd3d/device.c | 25 +++++++++++++++----------
 1 file changed, 15 insertions(+), 10 deletions(-)

diff --git a/libs/vkd3d/device.c b/libs/vkd3d/device.c
index 929e846..bc5f370 100644
--- a/libs/vkd3d/device.c
+++ b/libs/vkd3d/device.c
@@ -920,6 +920,9 @@ static void vkd3d_init_feature_level(struct vkd3d_vulkan_info *vk_info,
         have_11_0 = false; \
     }
 
+    if (!vk_info->device_limits.timestampComputeAndGraphics)
+        WARN("Timestamps are not supported on all graphics and compute queues.\n");
+
     CHECK_MIN_REQUIREMENT(maxPushConstantsSize, D3D12_MAX_ROOT_COST * sizeof(uint32_t));
     CHECK_MIN_REQUIREMENT(maxComputeSharedMemorySize, D3D12_CS_TGSM_REGISTER_COUNT * sizeof(uint32_t));
 
@@ -930,24 +933,26 @@ static void vkd3d_init_feature_level(struct vkd3d_vulkan_info *vk_info,
     CHECK_MIN_REQUIREMENT(maxPerStageDescriptorUniformBuffers,
             D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT);
 
+    CHECK_FEATURE(depthBiasClamp);
+    CHECK_FEATURE(depthClamp);
+    CHECK_FEATURE(drawIndirectFirstInstance);
+    CHECK_FEATURE(dualSrcBlend);
+    CHECK_FEATURE(fragmentStoresAndAtomics);
+    CHECK_FEATURE(fullDrawIndexUint32);
+    CHECK_FEATURE(geometryShader);
     CHECK_FEATURE(imageCubeArray);
     CHECK_FEATURE(independentBlend);
-    CHECK_FEATURE(geometryShader);
-    CHECK_FEATURE(tessellationShader);
-    CHECK_FEATURE(sampleRateShading);
-    CHECK_FEATURE(dualSrcBlend);
     CHECK_FEATURE(multiDrawIndirect);
-    CHECK_FEATURE(drawIndirectFirstInstance);
-    CHECK_FEATURE(depthClamp);
-    CHECK_FEATURE(depthBiasClamp);
     CHECK_FEATURE(multiViewport);
     CHECK_FEATURE(occlusionQueryPrecise);
     CHECK_FEATURE(pipelineStatisticsQuery);
-    CHECK_FEATURE(fragmentStoresAndAtomics);
-    CHECK_FEATURE(shaderImageGatherExtended);
-    CHECK_FEATURE(shaderStorageImageWriteWithoutFormat);
+    CHECK_FEATURE(samplerAnisotropy);
+    CHECK_FEATURE(sampleRateShading);
     CHECK_FEATURE(shaderClipDistance);
     CHECK_FEATURE(shaderCullDistance);
+    CHECK_FEATURE(shaderImageGatherExtended);
+    CHECK_FEATURE(shaderStorageImageWriteWithoutFormat);
+    CHECK_FEATURE(tessellationShader);
 
     if (!vk_info->EXT_transform_feedback)
         WARN("Stream output is not supported.\n");




More information about the wine-cvs mailing list