[PATCH vkd3d 06/10] vkd3d: Do not trace features for all available physical devices.

Józef Kucia joseph.kucia at gmail.com
Thu Oct 25 04:24:04 CDT 2018


From: Józef Kucia <jkucia at codeweavers.com>

Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
---
 libs/vkd3d/device.c | 119 +++++++++++++++++++++++---------------------
 1 file changed, 62 insertions(+), 57 deletions(-)

diff --git a/libs/vkd3d/device.c b/libs/vkd3d/device.c
index fca446160db8..be8c15e394cb 100644
--- a/libs/vkd3d/device.c
+++ b/libs/vkd3d/device.c
@@ -542,7 +542,6 @@ static void vkd3d_trace_physical_device(VkPhysicalDevice device,
     VkPhysicalDeviceMemoryProperties memory_properties;
     VkPhysicalDeviceProperties device_properties;
     VkQueueFamilyProperties *queue_properties;
-    VkPhysicalDeviceFeatures features;
     VkPhysicalDeviceLimits *limits;
     unsigned int i, j;
     uint32_t count;
@@ -702,64 +701,68 @@ static void vkd3d_trace_physical_device(VkPhysicalDevice device,
     TRACE("  optimalBufferCopyOffsetAlignment: %#"PRIx64".\n", limits->optimalBufferCopyOffsetAlignment);
     TRACE("  optimalBufferCopyRowPitchAlignment: %#"PRIx64".\n", limits->optimalBufferCopyRowPitchAlignment);
     TRACE("  nonCoherentAtomSize: %#"PRIx64".\n", limits->nonCoherentAtomSize);
+}
+
+static void vkd3d_trace_physical_device_features(const VkPhysicalDeviceFeatures2KHR *features2)
+{
+    const VkPhysicalDeviceFeatures *features = &features2->features;
 
-    VK_CALL(vkGetPhysicalDeviceFeatures(device, &features));
     TRACE("Device features:\n");
-    TRACE("  robustBufferAccess: %#x.\n", features.robustBufferAccess);
-    TRACE("  fullDrawIndexUint32: %#x.\n", features.fullDrawIndexUint32);
-    TRACE("  imageCubeArray: %#x.\n", features.imageCubeArray);
-    TRACE("  independentBlend: %#x.\n", features.independentBlend);
-    TRACE("  geometryShader: %#x.\n", features.geometryShader);
-    TRACE("  tessellationShader: %#x.\n", features.tessellationShader);
-    TRACE("  sampleRateShading: %#x.\n", features.sampleRateShading);
-    TRACE("  dualSrcBlend: %#x.\n", features.dualSrcBlend);
-    TRACE("  logicOp: %#x.\n", features.logicOp);
-    TRACE("  multiDrawIndirect: %#x.\n", features.multiDrawIndirect);
-    TRACE("  drawIndirectFirstInstance: %#x.\n", features.drawIndirectFirstInstance);
-    TRACE("  depthClamp: %#x.\n", features.depthClamp);
-    TRACE("  depthBiasClamp: %#x.\n", features.depthBiasClamp);
-    TRACE("  fillModeNonSolid: %#x.\n", features.fillModeNonSolid);
-    TRACE("  depthBounds: %#x.\n", features.depthBounds);
-    TRACE("  wideLines: %#x.\n", features.wideLines);
-    TRACE("  largePoints: %#x.\n", features.largePoints);
-    TRACE("  alphaToOne: %#x.\n", features.alphaToOne);
-    TRACE("  multiViewport: %#x.\n", features.multiViewport);
-    TRACE("  samplerAnisotropy: %#x.\n", features.samplerAnisotropy);
-    TRACE("  textureCompressionETC2: %#x.\n", features.textureCompressionETC2);
-    TRACE("  textureCompressionASTC_LDR: %#x.\n", features.textureCompressionASTC_LDR);
-    TRACE("  textureCompressionBC: %#x.\n", features.textureCompressionBC);
-    TRACE("  occlusionQueryPrecise: %#x.\n", features.occlusionQueryPrecise);
-    TRACE("  pipelineStatisticsQuery: %#x.\n", features.pipelineStatisticsQuery);
-    TRACE("  vertexOipelineStoresAndAtomics: %#x.\n", features.vertexPipelineStoresAndAtomics);
-    TRACE("  fragmentStoresAndAtomics: %#x.\n", features.fragmentStoresAndAtomics);
-    TRACE("  shaderTessellationAndGeometryPointSize: %#x.\n", features.shaderTessellationAndGeometryPointSize);
-    TRACE("  shaderImageGatherExtended: %#x.\n", features.shaderImageGatherExtended);
-    TRACE("  shaderStorageImageExtendedFormats: %#x.\n", features.shaderStorageImageExtendedFormats);
-    TRACE("  shaderStorageImageMultisample: %#x.\n", features.shaderStorageImageMultisample);
-    TRACE("  shaderStorageImageReadWithoutFormat: %#x.\n", features.shaderStorageImageReadWithoutFormat);
-    TRACE("  shaderStorageImageWriteWithoutFormat: %#x.\n", features.shaderStorageImageWriteWithoutFormat);
-    TRACE("  shaderUniformBufferArrayDynamicIndexing: %#x.\n", features.shaderUniformBufferArrayDynamicIndexing);
-    TRACE("  shaderSampledImageArrayDynamicIndexing: %#x.\n", features.shaderSampledImageArrayDynamicIndexing);
-    TRACE("  shaderStorageBufferArrayDynamicIndexing: %#x.\n", features.shaderStorageBufferArrayDynamicIndexing);
-    TRACE("  shaderStorageImageArrayDynamicIndexing: %#x.\n", features.shaderStorageImageArrayDynamicIndexing);
-    TRACE("  shaderClipDistance: %#x.\n", features.shaderClipDistance);
-    TRACE("  shaderCullDistance: %#x.\n", features.shaderCullDistance);
-    TRACE("  shaderFloat64: %#x.\n", features.shaderFloat64);
-    TRACE("  shaderInt64: %#x.\n", features.shaderInt64);
-    TRACE("  shaderInt16: %#x.\n", features.shaderInt16);
-    TRACE("  shaderResourceResidency: %#x.\n", features.shaderResourceResidency);
-    TRACE("  shaderResourceMinLod: %#x.\n", features.shaderResourceMinLod);
-    TRACE("  sparseBinding: %#x.\n", features.sparseBinding);
-    TRACE("  sparseResidencyBuffer: %#x.\n", features.sparseResidencyBuffer);
-    TRACE("  sparseResidencyImage2D: %#x.\n", features.sparseResidencyImage2D);
-    TRACE("  sparseResidencyImage3D: %#x.\n", features.sparseResidencyImage3D);
-    TRACE("  sparseResidency2Samples: %#x.\n", features.sparseResidency2Samples);
-    TRACE("  sparseResidency4Samples: %#x.\n", features.sparseResidency4Samples);
-    TRACE("  sparseResidency8Samples: %#x.\n", features.sparseResidency8Samples);
-    TRACE("  sparseResidency16Samples: %#x.\n", features.sparseResidency16Samples);
-    TRACE("  sparseResidencyAliased: %#x.\n", features.sparseResidencyAliased);
-    TRACE("  variableMultisampleRate: %#x.\n", features.variableMultisampleRate);
-    TRACE("  inheritedQueries: %#x.\n", features.inheritedQueries);
+    TRACE("  robustBufferAccess: %#x.\n", features->robustBufferAccess);
+    TRACE("  fullDrawIndexUint32: %#x.\n", features->fullDrawIndexUint32);
+    TRACE("  imageCubeArray: %#x.\n", features->imageCubeArray);
+    TRACE("  independentBlend: %#x.\n", features->independentBlend);
+    TRACE("  geometryShader: %#x.\n", features->geometryShader);
+    TRACE("  tessellationShader: %#x.\n", features->tessellationShader);
+    TRACE("  sampleRateShading: %#x.\n", features->sampleRateShading);
+    TRACE("  dualSrcBlend: %#x.\n", features->dualSrcBlend);
+    TRACE("  logicOp: %#x.\n", features->logicOp);
+    TRACE("  multiDrawIndirect: %#x.\n", features->multiDrawIndirect);
+    TRACE("  drawIndirectFirstInstance: %#x.\n", features->drawIndirectFirstInstance);
+    TRACE("  depthClamp: %#x.\n", features->depthClamp);
+    TRACE("  depthBiasClamp: %#x.\n", features->depthBiasClamp);
+    TRACE("  fillModeNonSolid: %#x.\n", features->fillModeNonSolid);
+    TRACE("  depthBounds: %#x.\n", features->depthBounds);
+    TRACE("  wideLines: %#x.\n", features->wideLines);
+    TRACE("  largePoints: %#x.\n", features->largePoints);
+    TRACE("  alphaToOne: %#x.\n", features->alphaToOne);
+    TRACE("  multiViewport: %#x.\n", features->multiViewport);
+    TRACE("  samplerAnisotropy: %#x.\n", features->samplerAnisotropy);
+    TRACE("  textureCompressionETC2: %#x.\n", features->textureCompressionETC2);
+    TRACE("  textureCompressionASTC_LDR: %#x.\n", features->textureCompressionASTC_LDR);
+    TRACE("  textureCompressionBC: %#x.\n", features->textureCompressionBC);
+    TRACE("  occlusionQueryPrecise: %#x.\n", features->occlusionQueryPrecise);
+    TRACE("  pipelineStatisticsQuery: %#x.\n", features->pipelineStatisticsQuery);
+    TRACE("  vertexOipelineStoresAndAtomics: %#x.\n", features->vertexPipelineStoresAndAtomics);
+    TRACE("  fragmentStoresAndAtomics: %#x.\n", features->fragmentStoresAndAtomics);
+    TRACE("  shaderTessellationAndGeometryPointSize: %#x.\n", features->shaderTessellationAndGeometryPointSize);
+    TRACE("  shaderImageGatherExtended: %#x.\n", features->shaderImageGatherExtended);
+    TRACE("  shaderStorageImageExtendedFormats: %#x.\n", features->shaderStorageImageExtendedFormats);
+    TRACE("  shaderStorageImageMultisample: %#x.\n", features->shaderStorageImageMultisample);
+    TRACE("  shaderStorageImageReadWithoutFormat: %#x.\n", features->shaderStorageImageReadWithoutFormat);
+    TRACE("  shaderStorageImageWriteWithoutFormat: %#x.\n", features->shaderStorageImageWriteWithoutFormat);
+    TRACE("  shaderUniformBufferArrayDynamicIndexing: %#x.\n", features->shaderUniformBufferArrayDynamicIndexing);
+    TRACE("  shaderSampledImageArrayDynamicIndexing: %#x.\n", features->shaderSampledImageArrayDynamicIndexing);
+    TRACE("  shaderStorageBufferArrayDynamicIndexing: %#x.\n", features->shaderStorageBufferArrayDynamicIndexing);
+    TRACE("  shaderStorageImageArrayDynamicIndexing: %#x.\n", features->shaderStorageImageArrayDynamicIndexing);
+    TRACE("  shaderClipDistance: %#x.\n", features->shaderClipDistance);
+    TRACE("  shaderCullDistance: %#x.\n", features->shaderCullDistance);
+    TRACE("  shaderFloat64: %#x.\n", features->shaderFloat64);
+    TRACE("  shaderInt64: %#x.\n", features->shaderInt64);
+    TRACE("  shaderInt16: %#x.\n", features->shaderInt16);
+    TRACE("  shaderResourceResidency: %#x.\n", features->shaderResourceResidency);
+    TRACE("  shaderResourceMinLod: %#x.\n", features->shaderResourceMinLod);
+    TRACE("  sparseBinding: %#x.\n", features->sparseBinding);
+    TRACE("  sparseResidencyBuffer: %#x.\n", features->sparseResidencyBuffer);
+    TRACE("  sparseResidencyImage2D: %#x.\n", features->sparseResidencyImage2D);
+    TRACE("  sparseResidencyImage3D: %#x.\n", features->sparseResidencyImage3D);
+    TRACE("  sparseResidency2Samples: %#x.\n", features->sparseResidency2Samples);
+    TRACE("  sparseResidency4Samples: %#x.\n", features->sparseResidency4Samples);
+    TRACE("  sparseResidency8Samples: %#x.\n", features->sparseResidency8Samples);
+    TRACE("  sparseResidency16Samples: %#x.\n", features->sparseResidency16Samples);
+    TRACE("  sparseResidencyAliased: %#x.\n", features->sparseResidencyAliased);
+    TRACE("  variableMultisampleRate: %#x.\n", features->variableMultisampleRate);
+    TRACE("  inheritedQueries: %#x.\n", features->inheritedQueries);
 }
 
 static void vkd3d_check_feature_level_11_requirements(const VkPhysicalDeviceLimits *limits,
@@ -1095,6 +1098,8 @@ static HRESULT vkd3d_create_vk_device(struct d3d12_device *device,
     else
         VK_CALL(vkGetPhysicalDeviceFeatures(physical_device, &features2.features));
 
+    vkd3d_trace_physical_device_features(&features2);
+
     if (FAILED(hr = vkd3d_init_device_caps(device, create_info, &features2.features, &extension_count)))
         goto done;
 
-- 
2.18.1




More information about the wine-devel mailing list