| 483 | } |
| 484 | |
| 485 | void VulkanDeviceInfo::readPhysicalFeatures() |
| 486 | { |
| 487 | assert(device != NULL); |
| 488 | qInfo() << "Reading physical feattures"; |
| 489 | vkGetPhysicalDeviceFeatures(device, &deviceFeatures); |
| 490 | |
| 491 | features.clear(); |
| 492 | features["robustBufferAccess"] = deviceFeatures.robustBufferAccess; |
| 493 | features["fullDrawIndexUint32"] = deviceFeatures.fullDrawIndexUint32; |
| 494 | features["imageCubeArray"] = deviceFeatures.imageCubeArray; |
| 495 | features["independentBlend"] = deviceFeatures.independentBlend; |
| 496 | features["geometryShader"] = deviceFeatures.geometryShader; |
| 497 | features["tessellationShader"] = deviceFeatures.tessellationShader; |
| 498 | features["sampleRateShading"] = deviceFeatures.sampleRateShading; |
| 499 | features["dualSrcBlend"] = deviceFeatures.dualSrcBlend; |
| 500 | features["logicOp"] = deviceFeatures.logicOp; |
| 501 | features["multiDrawIndirect"] = deviceFeatures.multiDrawIndirect; |
| 502 | features["drawIndirectFirstInstance"] = deviceFeatures.drawIndirectFirstInstance; |
| 503 | features["depthClamp"] = deviceFeatures.depthClamp; |
| 504 | features["depthBiasClamp"] = deviceFeatures.depthBiasClamp; |
| 505 | features["fillModeNonSolid"] = deviceFeatures.fillModeNonSolid; |
| 506 | features["depthBounds"] = deviceFeatures.depthBounds; |
| 507 | features["wideLines"] = deviceFeatures.wideLines; |
| 508 | features["largePoints"] = deviceFeatures.largePoints; |
| 509 | features["alphaToOne"] = deviceFeatures.alphaToOne; |
| 510 | features["multiViewport"] = deviceFeatures.multiViewport; |
| 511 | features["samplerAnisotropy"] = deviceFeatures.samplerAnisotropy; |
| 512 | features["textureCompressionETC2"] = deviceFeatures.textureCompressionETC2; |
| 513 | features["textureCompressionASTC_LDR"] = deviceFeatures.textureCompressionASTC_LDR; |
| 514 | features["textureCompressionBC"] = deviceFeatures.textureCompressionBC; |
| 515 | features["occlusionQueryPrecise"] = deviceFeatures.occlusionQueryPrecise; |
| 516 | features["pipelineStatisticsQuery"] = deviceFeatures.pipelineStatisticsQuery; |
| 517 | features["vertexPipelineStoresAndAtomics"] = deviceFeatures.vertexPipelineStoresAndAtomics; |
| 518 | features["fragmentStoresAndAtomics"] = deviceFeatures.fragmentStoresAndAtomics; |
| 519 | features["shaderTessellationAndGeometryPointSize"] = deviceFeatures.shaderTessellationAndGeometryPointSize; |
| 520 | features["shaderImageGatherExtended"] = deviceFeatures.shaderImageGatherExtended; |
| 521 | features["shaderStorageImageExtendedFormats"] = deviceFeatures.shaderStorageImageExtendedFormats; |
| 522 | features["shaderStorageImageMultisample"] = deviceFeatures.shaderStorageImageMultisample; |
| 523 | features["shaderStorageImageReadWithoutFormat"] = deviceFeatures.shaderStorageImageReadWithoutFormat; |
| 524 | features["shaderStorageImageWriteWithoutFormat"] = deviceFeatures.shaderStorageImageWriteWithoutFormat; |
| 525 | features["shaderUniformBufferArrayDynamicIndexing"] = deviceFeatures.shaderUniformBufferArrayDynamicIndexing; |
| 526 | features["shaderSampledImageArrayDynamicIndexing"] = deviceFeatures.shaderSampledImageArrayDynamicIndexing; |
| 527 | features["shaderStorageBufferArrayDynamicIndexing"] = deviceFeatures.shaderStorageBufferArrayDynamicIndexing; |
| 528 | features["shaderStorageImageArrayDynamicIndexing"] = deviceFeatures.shaderStorageImageArrayDynamicIndexing; |
| 529 | features["shaderClipDistance"] = deviceFeatures.shaderClipDistance; |
| 530 | features["shaderCullDistance"] = deviceFeatures.shaderCullDistance; |
| 531 | features["shaderFloat64"] = deviceFeatures.shaderFloat64; |
| 532 | features["shaderInt64"] = deviceFeatures.shaderInt64; |
| 533 | features["shaderInt16"] = deviceFeatures.shaderInt16; |
| 534 | features["shaderResourceResidency"] = deviceFeatures.shaderResourceResidency; |
| 535 | features["shaderResourceMinLod"] = deviceFeatures.shaderResourceMinLod; |
| 536 | features["sparseBinding"] = deviceFeatures.sparseBinding; |
| 537 | features["sparseResidencyBuffer"] = deviceFeatures.sparseResidencyBuffer; |
| 538 | features["sparseResidencyImage2D"] = deviceFeatures.sparseResidencyImage2D; |
| 539 | features["sparseResidencyImage3D"] = deviceFeatures.sparseResidencyImage3D; |
| 540 | features["sparseResidency2Samples"] = deviceFeatures.sparseResidency2Samples; |
| 541 | features["sparseResidency4Samples"] = deviceFeatures.sparseResidency4Samples; |
| 542 | features["sparseResidency8Samples"] = deviceFeatures.sparseResidency8Samples; |