[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