• Home
  • Raw
  • Download

Lines Matching +full:- +full:- +full:auto +full:- +full:features

7 //    http://www.apache.org/licenses/LICENSE-2.0
37 static const VkPhysicalDeviceFeatures features{ in getFeatures() local
99 return features; in getFeatures()
103 static void getPhysicalDeviceSamplerYcbcrConversionFeatures(T *features) in getPhysicalDeviceSamplerYcbcrConversionFeatures() argument
105 features->samplerYcbcrConversion = VK_TRUE; in getPhysicalDeviceSamplerYcbcrConversionFeatures()
109 static void getPhysicalDevice16BitStorageFeatures(T *features) in getPhysicalDevice16BitStorageFeatures() argument
111 features->storageBuffer16BitAccess = VK_FALSE; in getPhysicalDevice16BitStorageFeatures()
112 features->storageInputOutput16 = VK_FALSE; in getPhysicalDevice16BitStorageFeatures()
113 features->storagePushConstant16 = VK_FALSE; in getPhysicalDevice16BitStorageFeatures()
114 features->uniformAndStorageBuffer16BitAccess = VK_FALSE; in getPhysicalDevice16BitStorageFeatures()
118 static void getPhysicalDeviceVariablePointersFeatures(T *features) in getPhysicalDeviceVariablePointersFeatures() argument
120 features->variablePointersStorageBuffer = VK_FALSE; in getPhysicalDeviceVariablePointersFeatures()
121 features->variablePointers = VK_FALSE; in getPhysicalDeviceVariablePointersFeatures()
125 static void getPhysicalDevice8BitStorageFeaturesKHR(T *features) in getPhysicalDevice8BitStorageFeaturesKHR() argument
127 features->storageBuffer8BitAccess = VK_FALSE; in getPhysicalDevice8BitStorageFeaturesKHR()
128 features->uniformAndStorageBuffer8BitAccess = VK_FALSE; in getPhysicalDevice8BitStorageFeaturesKHR()
129 features->storagePushConstant8 = VK_FALSE; in getPhysicalDevice8BitStorageFeaturesKHR()
133 static void getPhysicalDeviceMultiviewFeatures(T *features) in getPhysicalDeviceMultiviewFeatures() argument
135 features->multiview = VK_TRUE; in getPhysicalDeviceMultiviewFeatures()
136 features->multiviewGeometryShader = VK_FALSE; in getPhysicalDeviceMultiviewFeatures()
137 features->multiviewTessellationShader = VK_FALSE; in getPhysicalDeviceMultiviewFeatures()
141 static void getPhysicalDeviceProtectedMemoryFeatures(T *features) in getPhysicalDeviceProtectedMemoryFeatures() argument
143 features->protectedMemory = VK_FALSE; in getPhysicalDeviceProtectedMemoryFeatures()
147 static void getPhysicalDeviceShaderDrawParameterFeatures(T *features) in getPhysicalDeviceShaderDrawParameterFeatures() argument
149 features->shaderDrawParameters = VK_FALSE; in getPhysicalDeviceShaderDrawParameterFeatures()
153 static void getPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR(T *features) in getPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR() argument
155 features->separateDepthStencilLayouts = VK_TRUE; in getPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR()
159 static void getPhysicalDeviceLineRasterizationFeaturesEXT(T *features) in getPhysicalDeviceLineRasterizationFeaturesEXT() argument
161 features->rectangularLines = VK_TRUE; in getPhysicalDeviceLineRasterizationFeaturesEXT()
162 features->bresenhamLines = VK_TRUE; in getPhysicalDeviceLineRasterizationFeaturesEXT()
163 features->smoothLines = VK_FALSE; in getPhysicalDeviceLineRasterizationFeaturesEXT()
164 features->stippledRectangularLines = VK_FALSE; in getPhysicalDeviceLineRasterizationFeaturesEXT()
165 features->stippledBresenhamLines = VK_FALSE; in getPhysicalDeviceLineRasterizationFeaturesEXT()
166 features->stippledSmoothLines = VK_FALSE; in getPhysicalDeviceLineRasterizationFeaturesEXT()
170 static void getPhysicalDeviceProvokingVertexFeaturesEXT(T *features) in getPhysicalDeviceProvokingVertexFeaturesEXT() argument
172 features->provokingVertexLast = VK_TRUE; in getPhysicalDeviceProvokingVertexFeaturesEXT()
173 features->transformFeedbackPreservesProvokingVertex = VK_FALSE; in getPhysicalDeviceProvokingVertexFeaturesEXT()
177 static void getPhysicalDeviceHostQueryResetFeatures(T *features) in getPhysicalDeviceHostQueryResetFeatures() argument
179 features->hostQueryReset = VK_TRUE; in getPhysicalDeviceHostQueryResetFeatures()
183 static void getPhysicalDevicePipelineCreationCacheControlFeatures(T *features) in getPhysicalDevicePipelineCreationCacheControlFeatures() argument
185 features->pipelineCreationCacheControl = VK_TRUE; in getPhysicalDevicePipelineCreationCacheControlFeatures()
189 static void getPhysicalDeviceImageRobustnessFeatures(T *features) in getPhysicalDeviceImageRobustnessFeatures() argument
191 features->robustImageAccess = VK_TRUE; in getPhysicalDeviceImageRobustnessFeatures()
195 static void getPhysicalDeviceShaderDrawParametersFeatures(T *features) in getPhysicalDeviceShaderDrawParametersFeatures() argument
197 features->shaderDrawParameters = VK_FALSE; in getPhysicalDeviceShaderDrawParametersFeatures()
201 static void getPhysicalDeviceVulkan11Features(T *features) in getPhysicalDeviceVulkan11Features() argument
203 getPhysicalDevice16BitStorageFeatures(features); in getPhysicalDeviceVulkan11Features()
204 getPhysicalDeviceMultiviewFeatures(features); in getPhysicalDeviceVulkan11Features()
205 getPhysicalDeviceVariablePointersFeatures(features); in getPhysicalDeviceVulkan11Features()
206 getPhysicalDeviceProtectedMemoryFeatures(features); in getPhysicalDeviceVulkan11Features()
207 getPhysicalDeviceSamplerYcbcrConversionFeatures(features); in getPhysicalDeviceVulkan11Features()
208 getPhysicalDeviceShaderDrawParametersFeatures(features); in getPhysicalDeviceVulkan11Features()
212 static void getPhysicalDeviceImagelessFramebufferFeatures(T *features) in getPhysicalDeviceImagelessFramebufferFeatures() argument
214 features->imagelessFramebuffer = VK_TRUE; in getPhysicalDeviceImagelessFramebufferFeatures()
218 static void getPhysicalDeviceShaderSubgroupExtendedTypesFeatures(T *features) in getPhysicalDeviceShaderSubgroupExtendedTypesFeatures() argument
220 features->shaderSubgroupExtendedTypes = VK_TRUE; in getPhysicalDeviceShaderSubgroupExtendedTypesFeatures()
224 static void getPhysicalDeviceScalarBlockLayoutFeatures(T *features) in getPhysicalDeviceScalarBlockLayoutFeatures() argument
226 features->scalarBlockLayout = VK_TRUE; in getPhysicalDeviceScalarBlockLayoutFeatures()
231 static void getPhysicalDeviceDeviceMemoryReportFeaturesEXT(T *features) in getPhysicalDeviceDeviceMemoryReportFeaturesEXT() argument
233 features->deviceMemoryReport = VK_TRUE; in getPhysicalDeviceDeviceMemoryReportFeaturesEXT()
238 static void getPhysicalDeviceUniformBufferStandardLayoutFeatures(T *features) in getPhysicalDeviceUniformBufferStandardLayoutFeatures() argument
240 features->uniformBufferStandardLayout = VK_TRUE; in getPhysicalDeviceUniformBufferStandardLayoutFeatures()
244 static void getPhysicalDeviceDescriptorIndexingFeatures(T *features) in getPhysicalDeviceDescriptorIndexingFeatures() argument
246 features->shaderInputAttachmentArrayDynamicIndexing = VK_FALSE; in getPhysicalDeviceDescriptorIndexingFeatures()
247 features->shaderUniformTexelBufferArrayDynamicIndexing = VK_TRUE; in getPhysicalDeviceDescriptorIndexingFeatures()
248 features->shaderStorageTexelBufferArrayDynamicIndexing = VK_TRUE; in getPhysicalDeviceDescriptorIndexingFeatures()
249 features->shaderUniformBufferArrayNonUniformIndexing = VK_TRUE; in getPhysicalDeviceDescriptorIndexingFeatures()
250 features->shaderSampledImageArrayNonUniformIndexing = VK_TRUE; in getPhysicalDeviceDescriptorIndexingFeatures()
251 features->shaderStorageBufferArrayNonUniformIndexing = VK_TRUE; in getPhysicalDeviceDescriptorIndexingFeatures()
252 features->shaderStorageImageArrayNonUniformIndexing = VK_TRUE; in getPhysicalDeviceDescriptorIndexingFeatures()
253 features->shaderInputAttachmentArrayNonUniformIndexing = VK_FALSE; in getPhysicalDeviceDescriptorIndexingFeatures()
254 features->shaderUniformTexelBufferArrayNonUniformIndexing = VK_TRUE; in getPhysicalDeviceDescriptorIndexingFeatures()
255 features->shaderStorageTexelBufferArrayNonUniformIndexing = VK_TRUE; in getPhysicalDeviceDescriptorIndexingFeatures()
256 features->descriptorBindingUniformBufferUpdateAfterBind = VK_FALSE; in getPhysicalDeviceDescriptorIndexingFeatures()
257 features->descriptorBindingSampledImageUpdateAfterBind = VK_TRUE; in getPhysicalDeviceDescriptorIndexingFeatures()
258 features->descriptorBindingStorageImageUpdateAfterBind = VK_TRUE; in getPhysicalDeviceDescriptorIndexingFeatures()
259 features->descriptorBindingStorageBufferUpdateAfterBind = VK_TRUE; in getPhysicalDeviceDescriptorIndexingFeatures()
260 features->descriptorBindingUniformTexelBufferUpdateAfterBind = VK_TRUE; in getPhysicalDeviceDescriptorIndexingFeatures()
261 features->descriptorBindingStorageTexelBufferUpdateAfterBind = VK_TRUE; in getPhysicalDeviceDescriptorIndexingFeatures()
262 features->descriptorBindingUpdateUnusedWhilePending = VK_TRUE; in getPhysicalDeviceDescriptorIndexingFeatures()
263 features->descriptorBindingPartiallyBound = VK_TRUE; in getPhysicalDeviceDescriptorIndexingFeatures()
264 features->descriptorBindingVariableDescriptorCount = VK_TRUE; in getPhysicalDeviceDescriptorIndexingFeatures()
265 features->runtimeDescriptorArray = VK_TRUE; in getPhysicalDeviceDescriptorIndexingFeatures()
269 static void getPhysicalDeviceVulkanMemoryModelFeatures(T *features) in getPhysicalDeviceVulkanMemoryModelFeatures() argument
271 features->vulkanMemoryModel = VK_TRUE; in getPhysicalDeviceVulkanMemoryModelFeatures()
272 features->vulkanMemoryModelDeviceScope = VK_TRUE; in getPhysicalDeviceVulkanMemoryModelFeatures()
273 features->vulkanMemoryModelAvailabilityVisibilityChains = VK_TRUE; in getPhysicalDeviceVulkanMemoryModelFeatures()
277 static void getPhysicalDeviceTimelineSemaphoreFeatures(T *features) in getPhysicalDeviceTimelineSemaphoreFeatures() argument
279 features->timelineSemaphore = VK_TRUE; in getPhysicalDeviceTimelineSemaphoreFeatures()
283 static void getPhysicalDeviceShaderAtomicInt64Features(T *features) in getPhysicalDeviceShaderAtomicInt64Features() argument
285 features->shaderBufferInt64Atomics = VK_FALSE; in getPhysicalDeviceShaderAtomicInt64Features()
286 features->shaderSharedInt64Atomics = VK_FALSE; in getPhysicalDeviceShaderAtomicInt64Features()
290 static void getPhysicalDeviceShaderFloat16Int8Features(T *features) in getPhysicalDeviceShaderFloat16Int8Features() argument
292 features->shaderFloat16 = VK_FALSE; in getPhysicalDeviceShaderFloat16Int8Features()
293 features->shaderInt8 = VK_FALSE; in getPhysicalDeviceShaderFloat16Int8Features()
297 static void getPhysicalDeviceBufferDeviceAddressFeatures(T *features) in getPhysicalDeviceBufferDeviceAddressFeatures() argument
299 features->bufferDeviceAddress = VK_TRUE; in getPhysicalDeviceBufferDeviceAddressFeatures()
300 features->bufferDeviceAddressCaptureReplay = VK_FALSE; in getPhysicalDeviceBufferDeviceAddressFeatures()
301 features->bufferDeviceAddressMultiDevice = VK_FALSE; in getPhysicalDeviceBufferDeviceAddressFeatures()
305 static void getPhysicalDeviceDynamicRenderingFeatures(T *features) in getPhysicalDeviceDynamicRenderingFeatures() argument
307 features->dynamicRendering = VK_TRUE; in getPhysicalDeviceDynamicRenderingFeatures()
311 static void getPhysicalDeviceDynamicRenderingLocalReadFeatures(T *features) in getPhysicalDeviceDynamicRenderingLocalReadFeatures() argument
313 features->dynamicRenderingLocalRead = VK_TRUE; in getPhysicalDeviceDynamicRenderingLocalReadFeatures()
317 static void getPhysicalDeviceInlineUniformBlockFeatures(T *features) in getPhysicalDeviceInlineUniformBlockFeatures() argument
319 features->inlineUniformBlock = VK_TRUE; in getPhysicalDeviceInlineUniformBlockFeatures()
320 features->descriptorBindingInlineUniformBlockUpdateAfterBind = VK_TRUE; in getPhysicalDeviceInlineUniformBlockFeatures()
324 static void getPhysicalDevicePrivateDataFeatures(T *features) in getPhysicalDevicePrivateDataFeatures() argument
326 features->privateData = VK_TRUE; in getPhysicalDevicePrivateDataFeatures()
330 static void getPhysicalDeviceTextureCompressionASTCHDRFeatures(T *features) in getPhysicalDeviceTextureCompressionASTCHDRFeatures() argument
332 features->textureCompressionASTC_HDR = VK_FALSE; in getPhysicalDeviceTextureCompressionASTCHDRFeatures()
336 static void getPhysicalDeviceShaderDemoteToHelperInvocationFeatures(T *features) in getPhysicalDeviceShaderDemoteToHelperInvocationFeatures() argument
338 features->shaderDemoteToHelperInvocation = VK_TRUE; in getPhysicalDeviceShaderDemoteToHelperInvocationFeatures()
342 static void getPhysicalDeviceShaderTerminateInvocationFeatures(T *features) in getPhysicalDeviceShaderTerminateInvocationFeatures() argument
344 features->shaderTerminateInvocation = VK_TRUE; in getPhysicalDeviceShaderTerminateInvocationFeatures()
348 static void getPhysicalDeviceSubgroupSizeControlFeatures(T *features) in getPhysicalDeviceSubgroupSizeControlFeatures() argument
350 features->subgroupSizeControl = VK_TRUE; in getPhysicalDeviceSubgroupSizeControlFeatures()
351 features->computeFullSubgroups = VK_TRUE; in getPhysicalDeviceSubgroupSizeControlFeatures()
355 static void getPhysicalDeviceSynchronization2Features(T *features) in getPhysicalDeviceSynchronization2Features() argument
357 features->synchronization2 = VK_TRUE; in getPhysicalDeviceSynchronization2Features()
361 static void getPhysicalDeviceShaderIntegerDotProductFeatures(T *features) in getPhysicalDeviceShaderIntegerDotProductFeatures() argument
363 features->shaderIntegerDotProduct = VK_TRUE; in getPhysicalDeviceShaderIntegerDotProductFeatures()
367 static void getPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures(T *features) in getPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures() argument
369 features->shaderZeroInitializeWorkgroupMemory = VK_TRUE; in getPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures()
373 static void getPhysicalDeviceMaintenance4Features(T *features) in getPhysicalDeviceMaintenance4Features() argument
375 features->maintenance4 = VK_TRUE; in getPhysicalDeviceMaintenance4Features()
379 static void getPhysicalDevicePrimitiveTopologyListRestartFeatures(T *features) in getPhysicalDevicePrimitiveTopologyListRestartFeatures() argument
381 features->primitiveTopologyListRestart = VK_TRUE; in getPhysicalDevicePrimitiveTopologyListRestartFeatures()
382 features->primitiveTopologyPatchListRestart = VK_FALSE; in getPhysicalDevicePrimitiveTopologyListRestartFeatures()
386 static void getPhysicalDevicePipelineRobustnessFeatures(T *features) in getPhysicalDevicePipelineRobustnessFeatures() argument
388 features->pipelineRobustness = VK_TRUE; in getPhysicalDevicePipelineRobustnessFeatures()
392 static void getPhysicalDeviceGraphicsPipelineLibraryFeatures(T *features) in getPhysicalDeviceGraphicsPipelineLibraryFeatures() argument
394 features->graphicsPipelineLibrary = VK_TRUE; in getPhysicalDeviceGraphicsPipelineLibraryFeatures()
398 static void getPhysicalDeviceGlobalPriorityQueryFeatures(T *features) in getPhysicalDeviceGlobalPriorityQueryFeatures() argument
400 features->globalPriorityQuery = VK_TRUE; in getPhysicalDeviceGlobalPriorityQueryFeatures()
404 static void getPhysicalDeviceSwapchainMaintenance1FeaturesKHR(T *features) in getPhysicalDeviceSwapchainMaintenance1FeaturesKHR() argument
406 features->swapchainMaintenance1 = VK_TRUE; in getPhysicalDeviceSwapchainMaintenance1FeaturesKHR()
410 static void getPhysicalDeviceHostImageCopyFeatures(T *features) in getPhysicalDeviceHostImageCopyFeatures() argument
412 features->hostImageCopy = VK_TRUE; in getPhysicalDeviceHostImageCopyFeatures()
416 static void getPhysicalDeviceIndexTypeUint8Features(T *features) in getPhysicalDeviceIndexTypeUint8Features() argument
418 features->indexTypeUint8 = VK_TRUE; in getPhysicalDeviceIndexTypeUint8Features()
422 static void getPhysicalDeviceVulkan12Features(T *features) in getPhysicalDeviceVulkan12Features() argument
424 features->samplerMirrorClampToEdge = VK_TRUE; in getPhysicalDeviceVulkan12Features()
425 features->drawIndirectCount = VK_FALSE; in getPhysicalDeviceVulkan12Features()
426 getPhysicalDevice8BitStorageFeaturesKHR(features); in getPhysicalDeviceVulkan12Features()
427 getPhysicalDeviceShaderAtomicInt64Features(features); in getPhysicalDeviceVulkan12Features()
428 getPhysicalDeviceShaderFloat16Int8Features(features); in getPhysicalDeviceVulkan12Features()
429 features->descriptorIndexing = VK_TRUE; in getPhysicalDeviceVulkan12Features()
430 getPhysicalDeviceDescriptorIndexingFeatures(features); in getPhysicalDeviceVulkan12Features()
431 features->samplerFilterMinmax = VK_FALSE; in getPhysicalDeviceVulkan12Features()
432 getPhysicalDeviceScalarBlockLayoutFeatures(features); in getPhysicalDeviceVulkan12Features()
433 getPhysicalDeviceImagelessFramebufferFeatures(features); in getPhysicalDeviceVulkan12Features()
434 getPhysicalDeviceUniformBufferStandardLayoutFeatures(features); in getPhysicalDeviceVulkan12Features()
435 getPhysicalDeviceShaderSubgroupExtendedTypesFeatures(features); in getPhysicalDeviceVulkan12Features()
436 getPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR(features); in getPhysicalDeviceVulkan12Features()
437 getPhysicalDeviceHostQueryResetFeatures(features); in getPhysicalDeviceVulkan12Features()
438 getPhysicalDeviceTimelineSemaphoreFeatures(features); in getPhysicalDeviceVulkan12Features()
439 getPhysicalDeviceBufferDeviceAddressFeatures(features); in getPhysicalDeviceVulkan12Features()
440 getPhysicalDeviceVulkanMemoryModelFeatures(features); in getPhysicalDeviceVulkan12Features()
441 features->shaderOutputViewportIndex = VK_FALSE; in getPhysicalDeviceVulkan12Features()
442 features->shaderOutputLayer = VK_FALSE; in getPhysicalDeviceVulkan12Features()
443 features->subgroupBroadcastDynamicId = VK_TRUE; in getPhysicalDeviceVulkan12Features()
447 static void getPhysicalDeviceDepthClipEnableFeaturesEXT(T *features) in getPhysicalDeviceDepthClipEnableFeaturesEXT() argument
449 features->depthClipEnable = VK_TRUE; in getPhysicalDeviceDepthClipEnableFeaturesEXT()
453 static void getPhysicalDeviceVulkan13Features(T *features) in getPhysicalDeviceVulkan13Features() argument
455 getPhysicalDeviceImageRobustnessFeatures(features); in getPhysicalDeviceVulkan13Features()
456 getPhysicalDeviceInlineUniformBlockFeatures(features); in getPhysicalDeviceVulkan13Features()
457 getPhysicalDevicePipelineCreationCacheControlFeatures(features); in getPhysicalDeviceVulkan13Features()
458 getPhysicalDevicePrivateDataFeatures(features); in getPhysicalDeviceVulkan13Features()
459 getPhysicalDeviceShaderDemoteToHelperInvocationFeatures(features); in getPhysicalDeviceVulkan13Features()
460 getPhysicalDeviceShaderTerminateInvocationFeatures(features); in getPhysicalDeviceVulkan13Features()
461 getPhysicalDeviceSubgroupSizeControlFeatures(features); in getPhysicalDeviceVulkan13Features()
462 getPhysicalDeviceSynchronization2Features(features); in getPhysicalDeviceVulkan13Features()
463 getPhysicalDeviceTextureCompressionASTCHDRFeatures(features); in getPhysicalDeviceVulkan13Features()
464 getPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures(features); in getPhysicalDeviceVulkan13Features()
465 getPhysicalDeviceDynamicRenderingFeatures(features); in getPhysicalDeviceVulkan13Features()
466 getPhysicalDeviceShaderIntegerDotProductFeatures(features); in getPhysicalDeviceVulkan13Features()
467 getPhysicalDeviceMaintenance4Features(features); in getPhysicalDeviceVulkan13Features()
470 …tPhysicalDeviceCustomBorderColorFeaturesEXT(VkPhysicalDeviceCustomBorderColorFeaturesEXT *features) in getPhysicalDeviceCustomBorderColorFeaturesEXT() argument
472 features->customBorderColors = VK_TRUE; in getPhysicalDeviceCustomBorderColorFeaturesEXT()
473 features->customBorderColorWithoutFormat = VK_TRUE; in getPhysicalDeviceCustomBorderColorFeaturesEXT()
476 …eviceBlendOperationAdvancedFeaturesEXT(VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT *features) in getPhysicalDeviceBlendOperationAdvancedFeaturesEXT() argument
478 features->advancedBlendCoherentOperations = VK_FALSE; in getPhysicalDeviceBlendOperationAdvancedFeaturesEXT()
481 …calDeviceExtendedDynamicStateFeaturesEXT(VkPhysicalDeviceExtendedDynamicStateFeaturesEXT *features) in getPhysicalDeviceExtendedDynamicStateFeaturesEXT() argument
483 features->extendedDynamicState = VK_TRUE; in getPhysicalDeviceExtendedDynamicStateFeaturesEXT()
486 …iceVertexInputDynamicStateFeaturesEXT(VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT *features) in getPhysicalDeviceVertexInputDynamicStateFeaturesEXT() argument
488 features->vertexInputDynamicState = VK_TRUE; in getPhysicalDeviceVertexInputDynamicStateFeaturesEXT()
491 …atic void getPhysicalDevice4444FormatsFeaturesEXT(VkPhysicalDevice4444FormatsFeaturesEXT *features) in getPhysicalDevice4444FormatsFeaturesEXT() argument
493 features->formatA4R4G4B4 = VK_TRUE; in getPhysicalDevice4444FormatsFeaturesEXT()
494 features->formatA4B4G4R4 = VK_TRUE; in getPhysicalDevice4444FormatsFeaturesEXT()
497 …ttachmentAccessFeaturesEXT(VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT *features) in getPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT() argument
499 features->rasterizationOrderColorAttachmentAccess = VK_TRUE; in getPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT()
500 features->rasterizationOrderDepthAttachmentAccess = VK_TRUE; in getPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT()
501 features->rasterizationOrderStencilAttachmentAccess = VK_TRUE; in getPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT()
504 …getPhysicalDeviceDepthClipControlFeaturesExt(VkPhysicalDeviceDepthClipControlFeaturesEXT *features) in getPhysicalDeviceDepthClipControlFeaturesExt() argument
506 features->depthClipControl = VK_TRUE; in getPhysicalDeviceDepthClipControlFeaturesExt()
509 void PhysicalDevice::getFeatures2(VkPhysicalDeviceFeatures2 *features) const in getFeatures2()
511 features->features = getFeatures(); in getFeatures2()
512 VkBaseOutStructure *curExtension = reinterpret_cast<VkBaseOutStructure *>(features->pNext); in getFeatures2()
515 switch(curExtension->sType) in getFeatures2()
684 UNSUPPORTED("curExtension->sType: %s", vk::Stringify(curExtension->sType).c_str()); in getFeatures2()
687 curExtension = reinterpret_cast<VkBaseOutStructure *>(curExtension->pNext); in getFeatures2()
701 1 << (vk::MAX_IMAGE_LEVELS_1D - 1), // maxImageDimension1D in getLimits()
702 1 << (vk::MAX_IMAGE_LEVELS_2D - 1), // maxImageDimension2D in getLimits()
703 1 << (vk::MAX_IMAGE_LEVELS_3D - 1), // maxImageDimension3D in getLimits()
704 1 << (vk::MAX_IMAGE_LEVELS_CUBE - 1), // maxImageDimensionCube in getLimits()
766 { -2 * sw::MAX_VIEWPORT_DIM, in getLimits()
767 2 * sw::MAX_VIEWPORT_DIM - 1 }, // viewportBoundsRange[2] in getLimits()
777 -0.5, // minInterpolationOffset in getLimits()
816 auto getProperties = [&]() -> VkPhysicalDeviceProperties { in getProperties()
843 memset(properties->deviceUUID, 0, VK_UUID_SIZE); in getIdProperties()
844 memset(properties->driverUUID, 0, VK_UUID_SIZE); in getIdProperties()
845 memset(properties->deviceLUID, 0, VK_LUID_SIZE); in getIdProperties()
847 memcpy(properties->deviceUUID, SWIFTSHADER_UUID, VK_UUID_SIZE); in getIdProperties()
848 *((uint64_t *)properties->driverUUID) = DRIVER_VERSION; in getIdProperties()
850 properties->deviceNodeMask = 0; in getIdProperties()
851 properties->deviceLUIDValid = VK_FALSE; in getIdProperties()
862 properties->maxMemoryAllocationSize = MAX_MEMORY_ALLOCATION_SIZE; in getMaintenance3Properties()
863 properties->maxPerSetDescriptors = 1024; in getMaintenance3Properties()
869 properties->maxBufferSize = MAX_MEMORY_ALLOCATION_SIZE; in getMaintenance4Properties()
885 properties->maxMultiviewViewCount = 6; in getMultiviewProperties()
886 properties->maxMultiviewInstanceIndex = 1u << 27; in getMultiviewProperties()
897 properties->pointClippingBehavior = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES; in getPointClippingProperties()
908 properties->protectedNoFault = VK_FALSE; in getProtectedMemoryProperties()
919 properties->subgroupSize = sw::SIMD::Width; in getSubgroupProperties()
920 …properties->supportedStages = VK_SHADER_STAGE_VERTEX_BIT | VK_SHADER_STAGE_FRAGMENT_BIT | VK_SHADE… in getSubgroupProperties()
921 properties->supportedOperations = in getSubgroupProperties()
929 properties->quadOperationsInAllStages = VK_FALSE; in getSubgroupProperties()
946 properties->subgroupSize = subgroupProperties.subgroupSize; in getProperties()
947 properties->subgroupSupportedStages = subgroupProperties.supportedStages; in getProperties()
948 properties->subgroupSupportedOperations = subgroupProperties.supportedOperations; in getProperties()
949 properties->subgroupQuadOperationsInAllStages = subgroupProperties.quadOperationsInAllStages; in getProperties()
959 VkExternalMemoryProperties *extMemProperties = &properties->externalMemoryProperties; in getProperties()
963 extMemProperties->compatibleHandleTypes = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT; in getProperties()
964 extMemProperties->exportFromImportedHandleTypes = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT; in getProperties()
965 …extMemProperties->externalMemoryFeatures = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT | VK_EXTERNAL… in getProperties()
972 …extMemProperties->compatibleHandleTypes = VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_B… in getProperties()
973 …extMemProperties->exportFromImportedHandleTypes = VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_… in getProperties()
974 …extMemProperties->externalMemoryFeatures = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT | VK_EXTERNAL… in getProperties()
981 extMemProperties->compatibleHandleTypes = VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA; in getProperties()
982 …extMemProperties->exportFromImportedHandleTypes = VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FU… in getProperties()
983 …extMemProperties->externalMemoryFeatures = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT | VK_EXTERNAL… in getProperties()
987 extMemProperties->compatibleHandleTypes = 0; in getProperties()
988 extMemProperties->exportFromImportedHandleTypes = 0; in getProperties()
989 extMemProperties->externalMemoryFeatures = 0; in getProperties()
994 VkExternalMemoryProperties *extMemProperties = &properties->externalMemoryProperties; in getProperties()
998 extMemProperties->compatibleHandleTypes = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT; in getProperties()
999 extMemProperties->exportFromImportedHandleTypes = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT; in getProperties()
1000 …extMemProperties->externalMemoryFeatures = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT | VK_EXTERNAL… in getProperties()
1007 …extMemProperties->compatibleHandleTypes = VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_B… in getProperties()
1008 …extMemProperties->exportFromImportedHandleTypes = VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_… in getProperties()
1009 …extMemProperties->externalMemoryFeatures = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT | VK_EXTERNAL… in getProperties()
1016 extMemProperties->compatibleHandleTypes = VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA; in getProperties()
1017 …extMemProperties->exportFromImportedHandleTypes = VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FU… in getProperties()
1018 …extMemProperties->externalMemoryFeatures = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT | VK_EXTERNAL… in getProperties()
1022 extMemProperties->compatibleHandleTypes = 0; in getProperties()
1023 extMemProperties->exportFromImportedHandleTypes = 0; in getProperties()
1024 extMemProperties->externalMemoryFeatures = 0; in getProperties()
1029 …properties->combinedImageSamplerDescriptorCount = 1; // Need only one descriptor for YCbCr sampli… in getProperties()
1035 properties->sharedImage = VK_FALSE; in getProperties()
1041 …/www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#memory-external-android-har… in getProperties()
1044 ASSERT((pImageFormatInfo->flags & VK_IMAGE_CREATE_PROTECTED_BIT) == 0); in getProperties()
1056 …if((pImageFormatInfo->usage & VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT) || (pImageFormatInfo->usage & V… in getProperties()
1061 if(pImageFormatInfo->flags & VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT) in getProperties()
1066 if(pImageFormatInfo->flags & VK_IMAGE_CREATE_PROTECTED_BIT) in getProperties()
1071 ahbProperties->androidHardwareBufferUsage = ahbUsage; in getProperties()
1077 VkExternalMemoryProperties *properties = &pExternalBufferProperties->externalMemoryProperties; in getProperties()
1080 const VkExternalMemoryHandleTypeFlagBits *handleType = &pExternalBufferInfo->handleType; in getProperties()
1086 properties->compatibleHandleTypes = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT; in getProperties()
1087 properties->exportFromImportedHandleTypes = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT; in getProperties()
1088 …properties->externalMemoryFeatures = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT | VK_EXTERNAL_MEMOR… in getProperties()
1095 …properties->compatibleHandleTypes = VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_AND… in getProperties()
1096 …properties->exportFromImportedHandleTypes = VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER… in getProperties()
1097 …properties->externalMemoryFeatures = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT | VK_EXTERNAL_MEMOR… in getProperties()
1101 properties->compatibleHandleTypes = 0; in getProperties()
1102 properties->exportFromImportedHandleTypes = 0; in getProperties()
1103 properties->externalMemoryFeatures = 0; in getProperties()
1108 pExternalFenceProperties->compatibleHandleTypes = 0; in getProperties()
1109 pExternalFenceProperties->exportFromImportedHandleTypes = 0; in getProperties()
1110 pExternalFenceProperties->externalFenceFeatures = 0; in getProperties()
1115 …for(const auto *nextInfo = reinterpret_cast<const VkBaseInStructure *>(pExternalSemaphoreInfo->pNe… in getProperties()
1116 nextInfo != nullptr; nextInfo = nextInfo->pNext) in getProperties()
1118 switch(nextInfo->sType) in getProperties()
1122 const auto *tlsInfo = reinterpret_cast<const VkSemaphoreTypeCreateInfo *>(nextInfo); in getProperties()
1124 if(tlsInfo->semaphoreType == VK_SEMAPHORE_TYPE_TIMELINE) in getProperties()
1126 pExternalSemaphoreProperties->compatibleHandleTypes = 0; in getProperties()
1127 pExternalSemaphoreProperties->exportFromImportedHandleTypes = 0; in getProperties()
1128 pExternalSemaphoreProperties->externalSemaphoreFeatures = 0; in getProperties()
1134 WARN("nextInfo->sType = %s", vk::Stringify(nextInfo->sType).c_str()); in getProperties()
1140 if(pExternalSemaphoreInfo->handleType == VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT) in getProperties()
1142 …pExternalSemaphoreProperties->compatibleHandleTypes = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_… in getProperties()
1143 …pExternalSemaphoreProperties->exportFromImportedHandleTypes = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OP… in getProperties()
1144 …pExternalSemaphoreProperties->externalSemaphoreFeatures = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE… in getProperties()
1149 …if(pExternalSemaphoreInfo->handleType == VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSI… in getProperties()
1151 …pExternalSemaphoreProperties->compatibleHandleTypes = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVE… in getProperties()
1152 …pExternalSemaphoreProperties->exportFromImportedHandleTypes = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZI… in getProperties()
1153 …pExternalSemaphoreProperties->externalSemaphoreFeatures = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE… in getProperties()
1157 pExternalSemaphoreProperties->compatibleHandleTypes = 0; in getProperties()
1158 pExternalSemaphoreProperties->exportFromImportedHandleTypes = 0; in getProperties()
1159 pExternalSemaphoreProperties->externalSemaphoreFeatures = 0; in getProperties()
1164 properties->minImportedHostPointerAlignment = vk::MIN_IMPORTED_HOST_POINTER_ALIGNMENT; in getProperties()
1170 properties->driverID = VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR; in getDriverProperties()
1171 strcpy(properties->driverName, "SwiftShader driver"); in getDriverProperties()
1172 strcpy(properties->driverInfo, ""); in getDriverProperties()
1173 properties->conformanceVersion = { 1, 3, 3, 1 }; in getDriverProperties()
1183 properties->lineSubPixelPrecisionBits = vk::SUBPIXEL_PRECISION_BITS; in getProperties()
1188 properties->provokingVertexModePerPipeline = VK_TRUE; in getProperties()
1196 // sign of a zero, Nans and +/-infinity can be preserved in 32-bit floating-point in getFloatControlsProperties()
1198 // mode can be used for 32-bit floating-point types. in getFloatControlsProperties()
1205 properties->denormBehaviorIndependence = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE; in getFloatControlsProperties()
1206 properties->roundingModeIndependence = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE; in getFloatControlsProperties()
1207 properties->shaderSignedZeroInfNanPreserveFloat16 = VK_TRUE; in getFloatControlsProperties()
1208 properties->shaderSignedZeroInfNanPreserveFloat32 = VK_TRUE; in getFloatControlsProperties()
1209 properties->shaderSignedZeroInfNanPreserveFloat64 = VK_TRUE; in getFloatControlsProperties()
1210 properties->shaderDenormPreserveFloat16 = VK_FALSE; in getFloatControlsProperties()
1211 properties->shaderDenormPreserveFloat32 = VK_FALSE; in getFloatControlsProperties()
1212 properties->shaderDenormPreserveFloat64 = VK_FALSE; in getFloatControlsProperties()
1213 properties->shaderDenormFlushToZeroFloat16 = VK_FALSE; in getFloatControlsProperties()
1214 properties->shaderDenormFlushToZeroFloat32 = VK_FALSE; in getFloatControlsProperties()
1215 properties->shaderDenormFlushToZeroFloat64 = VK_FALSE; in getFloatControlsProperties()
1216 properties->shaderRoundingModeRTZFloat16 = VK_FALSE; in getFloatControlsProperties()
1217 properties->shaderRoundingModeRTZFloat32 = VK_FALSE; in getFloatControlsProperties()
1218 properties->shaderRoundingModeRTZFloat64 = VK_FALSE; in getFloatControlsProperties()
1219 properties->shaderRoundingModeRTEFloat16 = VK_FALSE; in getFloatControlsProperties()
1220 properties->shaderRoundingModeRTEFloat32 = VK_FALSE; in getFloatControlsProperties()
1221 properties->shaderRoundingModeRTEFloat64 = VK_FALSE; in getFloatControlsProperties()
1233 // the corresponding non-UpdateAfterBind limit." in getDescriptorIndexingProperties()
1237 // https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#limits-minmax in getDescriptorIndexingProperties()
1239 properties->maxUpdateAfterBindDescriptorsInAllPools = vk::MAX_UPDATE_AFTER_BIND_DESCRIPTORS; in getDescriptorIndexingProperties()
1240 properties->shaderUniformBufferArrayNonUniformIndexingNative = VK_FALSE; in getDescriptorIndexingProperties()
1241 properties->shaderSampledImageArrayNonUniformIndexingNative = VK_FALSE; in getDescriptorIndexingProperties()
1242 properties->shaderStorageBufferArrayNonUniformIndexingNative = VK_FALSE; in getDescriptorIndexingProperties()
1243 properties->shaderStorageImageArrayNonUniformIndexingNative = VK_FALSE; in getDescriptorIndexingProperties()
1244 properties->shaderInputAttachmentArrayNonUniformIndexingNative = VK_FALSE; in getDescriptorIndexingProperties()
1245 properties->robustBufferAccessUpdateAfterBind = VK_FALSE; in getDescriptorIndexingProperties()
1246 properties->quadDivergentImplicitLod = VK_FALSE; in getDescriptorIndexingProperties()
1247 properties->maxPerStageDescriptorUpdateAfterBindSamplers = vk::MAX_UPDATE_AFTER_BIND_DESCRIPTORS; in getDescriptorIndexingProperties()
1248 …properties->maxPerStageDescriptorUpdateAfterBindUniformBuffers = limits.maxPerStageDescriptorUnifo… in getDescriptorIndexingProperties()
1249 …properties->maxPerStageDescriptorUpdateAfterBindStorageBuffers = vk::MAX_UPDATE_AFTER_BIND_DESCRIP… in getDescriptorIndexingProperties()
1250 …properties->maxPerStageDescriptorUpdateAfterBindSampledImages = vk::MAX_UPDATE_AFTER_BIND_DESCRIPT… in getDescriptorIndexingProperties()
1251 …properties->maxPerStageDescriptorUpdateAfterBindStorageImages = vk::MAX_UPDATE_AFTER_BIND_DESCRIPT… in getDescriptorIndexingProperties()
1252 …properties->maxPerStageDescriptorUpdateAfterBindInputAttachments = limits.maxPerStageDescriptorInp… in getDescriptorIndexingProperties()
1253 properties->maxPerStageUpdateAfterBindResources = vk::MAX_UPDATE_AFTER_BIND_DESCRIPTORS; in getDescriptorIndexingProperties()
1254 properties->maxDescriptorSetUpdateAfterBindSamplers = vk::MAX_UPDATE_AFTER_BIND_DESCRIPTORS; in getDescriptorIndexingProperties()
1255 properties->maxDescriptorSetUpdateAfterBindUniformBuffers = limits.maxDescriptorSetUniformBuffers; in getDescriptorIndexingProperties()
1256 …properties->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = limits.maxDescriptorSetUniformB… in getDescriptorIndexingProperties()
1257 properties->maxDescriptorSetUpdateAfterBindStorageBuffers = vk::MAX_UPDATE_AFTER_BIND_DESCRIPTORS; in getDescriptorIndexingProperties()
1258 …properties->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = limits.maxDescriptorSetStorageB… in getDescriptorIndexingProperties()
1259 properties->maxDescriptorSetUpdateAfterBindSampledImages = vk::MAX_UPDATE_AFTER_BIND_DESCRIPTORS; in getDescriptorIndexingProperties()
1260 properties->maxDescriptorSetUpdateAfterBindStorageImages = vk::MAX_UPDATE_AFTER_BIND_DESCRIPTORS; in getDescriptorIndexingProperties()
1261 …properties->maxDescriptorSetUpdateAfterBindInputAttachments = limits.maxDescriptorSetInputAttachme… in getDescriptorIndexingProperties()
1272 properties->supportedDepthResolveModes = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT | VK_RESOLVE_MODE_NONE; in getDepthStencilResolveProperties()
1273 properties->supportedStencilResolveModes = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT | VK_RESOLVE_MODE_NONE; in getDepthStencilResolveProperties()
1274 properties->independentResolveNone = VK_TRUE; in getDepthStencilResolveProperties()
1275 properties->independentResolve = VK_TRUE; in getDepthStencilResolveProperties()
1285 properties->maxCustomBorderColorSamplers = MAX_SAMPLER_ALLOCATION_COUNT; in getProperties()
1290 properties->advancedBlendMaxColorAttachments = sw::MAX_COLOR_BUFFERS; in getProperties()
1291 properties->advancedBlendIndependentBlend = VK_FALSE; in getProperties()
1292 properties->advancedBlendNonPremultipliedSrcColor = VK_FALSE; in getProperties()
1293 properties->advancedBlendNonPremultipliedDstColor = VK_FALSE; in getProperties()
1294 properties->advancedBlendCorrelatedOverlap = VK_FALSE; in getProperties()
1295 properties->advancedBlendAllOperations = VK_FALSE; in getProperties()
1303 properties->minSubgroupSize = subgroupProperties.subgroupSize; in getSubgroupSizeControlProperties()
1304 properties->maxSubgroupSize = subgroupProperties.subgroupSize; in getSubgroupSizeControlProperties()
1305 properties->maxComputeWorkgroupSubgroups = vk::MAX_COMPUTE_WORKGROUP_INVOCATIONS / in getSubgroupSizeControlProperties()
1306 properties->minSubgroupSize; in getSubgroupSizeControlProperties()
1307 properties->requiredSubgroupSizeStages = subgroupProperties.supportedStages; in getSubgroupSizeControlProperties()
1318 properties->maxInlineUniformBlockSize = MAX_INLINE_UNIFORM_BLOCK_SIZE; in getInlineUniformBlockProperties()
1319 properties->maxPerStageDescriptorInlineUniformBlocks = 4; in getInlineUniformBlockProperties()
1320 properties->maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks = 4; in getInlineUniformBlockProperties()
1321 properties->maxDescriptorSetInlineUniformBlocks = 4; in getInlineUniformBlockProperties()
1322 properties->maxDescriptorSetUpdateAfterBindInlineUniformBlocks = 4; in getInlineUniformBlockProperties()
1333 properties->storageTexelBufferOffsetAlignmentBytes = vk::MIN_TEXEL_BUFFER_OFFSET_ALIGNMENT; in getTexelBufferAlignmentProperties()
1334 properties->storageTexelBufferOffsetSingleTexelAlignment = VK_FALSE; in getTexelBufferAlignmentProperties()
1335 properties->uniformTexelBufferOffsetAlignmentBytes = vk::MIN_TEXEL_BUFFER_OFFSET_ALIGNMENT; in getTexelBufferAlignmentProperties()
1336 properties->uniformTexelBufferOffsetSingleTexelAlignment = VK_FALSE; in getTexelBufferAlignmentProperties()
1347 properties->integerDotProduct8BitUnsignedAccelerated = VK_FALSE; in getShaderIntegerDotProductProperties()
1348 properties->integerDotProduct8BitSignedAccelerated = VK_FALSE; in getShaderIntegerDotProductProperties()
1349 properties->integerDotProduct8BitMixedSignednessAccelerated = VK_FALSE; in getShaderIntegerDotProductProperties()
1350 properties->integerDotProduct4x8BitPackedUnsignedAccelerated = VK_FALSE; in getShaderIntegerDotProductProperties()
1351 properties->integerDotProduct4x8BitPackedSignedAccelerated = VK_FALSE; in getShaderIntegerDotProductProperties()
1352 properties->integerDotProduct4x8BitPackedMixedSignednessAccelerated = VK_FALSE; in getShaderIntegerDotProductProperties()
1353 properties->integerDotProduct16BitUnsignedAccelerated = VK_FALSE; in getShaderIntegerDotProductProperties()
1354 properties->integerDotProduct16BitSignedAccelerated = VK_FALSE; in getShaderIntegerDotProductProperties()
1355 properties->integerDotProduct16BitMixedSignednessAccelerated = VK_FALSE; in getShaderIntegerDotProductProperties()
1356 properties->integerDotProduct32BitUnsignedAccelerated = VK_FALSE; in getShaderIntegerDotProductProperties()
1357 properties->integerDotProduct32BitSignedAccelerated = VK_FALSE; in getShaderIntegerDotProductProperties()
1358 properties->integerDotProduct32BitMixedSignednessAccelerated = VK_FALSE; in getShaderIntegerDotProductProperties()
1359 properties->integerDotProduct64BitUnsignedAccelerated = VK_FALSE; in getShaderIntegerDotProductProperties()
1360 properties->integerDotProduct64BitSignedAccelerated = VK_FALSE; in getShaderIntegerDotProductProperties()
1361 properties->integerDotProduct64BitMixedSignednessAccelerated = VK_FALSE; in getShaderIntegerDotProductProperties()
1362 properties->integerDotProductAccumulatingSaturating8BitUnsignedAccelerated = VK_FALSE; in getShaderIntegerDotProductProperties()
1363 properties->integerDotProductAccumulatingSaturating8BitSignedAccelerated = VK_FALSE; in getShaderIntegerDotProductProperties()
1364 properties->integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated = VK_FALSE; in getShaderIntegerDotProductProperties()
1365 properties->integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated = VK_FALSE; in getShaderIntegerDotProductProperties()
1366 properties->integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated = VK_FALSE; in getShaderIntegerDotProductProperties()
1367 …properties->integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated = VK_FAL… in getShaderIntegerDotProductProperties()
1368 properties->integerDotProductAccumulatingSaturating16BitUnsignedAccelerated = VK_FALSE; in getShaderIntegerDotProductProperties()
1369 properties->integerDotProductAccumulatingSaturating16BitSignedAccelerated = VK_FALSE; in getShaderIntegerDotProductProperties()
1370 properties->integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated = VK_FALSE; in getShaderIntegerDotProductProperties()
1371 properties->integerDotProductAccumulatingSaturating32BitUnsignedAccelerated = VK_FALSE; in getShaderIntegerDotProductProperties()
1372 properties->integerDotProductAccumulatingSaturating32BitSignedAccelerated = VK_FALSE; in getShaderIntegerDotProductProperties()
1373 properties->integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated = VK_FALSE; in getShaderIntegerDotProductProperties()
1374 properties->integerDotProductAccumulatingSaturating64BitUnsignedAccelerated = VK_FALSE; in getShaderIntegerDotProductProperties()
1375 properties->integerDotProductAccumulatingSaturating64BitSignedAccelerated = VK_FALSE; in getShaderIntegerDotProductProperties()
1376 properties->integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated = VK_FALSE; in getShaderIntegerDotProductProperties()
1389 properties->graphicsPipelineLibraryFastLinking = VK_TRUE; in getGraphicsPipelineLibraryProperties()
1391 properties->graphicsPipelineLibraryIndependentInterpolationDecoration = VK_FALSE; in getGraphicsPipelineLibraryProperties()
1402 properties->filterMinmaxSingleComponentFormats = VK_FALSE; in getSamplerFilterMinmaxProperties()
1403 properties->filterMinmaxImageComponentMapping = VK_FALSE; in getSamplerFilterMinmaxProperties()
1415 properties->maxTimelineSemaphoreValueDifference = (uint64_t)-1; in getTimelineSemaphoreProperties()
1427 properties->defaultRobustnessStorageBuffers = VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED_EXT; in getPipelineRobustnessProperties()
1428 properties->defaultRobustnessUniformBuffers = VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED_EXT; in getPipelineRobustnessProperties()
1429 properties->defaultRobustnessVertexInputs = VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED_EXT; in getPipelineRobustnessProperties()
1433 …properties->defaultRobustnessImages = VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_EX… in getPipelineRobustnessProperties()
1466 if(properties->pCopySrcLayouts == nullptr) in getHostImageCopyProperties()
1468 properties->copySrcLayoutCount = kAllLayoutsCount; in getHostImageCopyProperties()
1472 properties->copySrcLayoutCount = std::min(properties->copySrcLayoutCount, kAllLayoutsCount); in getHostImageCopyProperties()
1473 …memcpy(properties->pCopySrcLayouts, kAllLayouts, properties->copySrcLayoutCount * sizeof(*properti… in getHostImageCopyProperties()
1476 if(properties->pCopyDstLayouts == nullptr) in getHostImageCopyProperties()
1478 properties->copyDstLayoutCount = kAllLayoutsCount; in getHostImageCopyProperties()
1482 properties->copyDstLayoutCount = std::min(properties->copyDstLayoutCount, kAllLayoutsCount); in getHostImageCopyProperties()
1483 …memcpy(properties->pCopyDstLayouts, kAllLayouts, properties->copyDstLayoutCount * sizeof(*properti… in getHostImageCopyProperties()
1486 memcpy(properties->optimalTilingLayoutUUID, SWIFTSHADER_UUID, VK_UUID_SIZE); in getHostImageCopyProperties()
1487 properties->identicalMemoryTypeRequirements = VK_TRUE; in getHostImageCopyProperties()
1503 properties->framebufferIntegerColorSampleCounts = VK_SAMPLE_COUNT_1_BIT; in getProperties()
1510 properties->maxInlineUniformTotalSize = properties->maxInlineUniformBlockSize * in getProperties()
1511 properties->maxDescriptorSetInlineUniformBlocks; in getProperties()
1522 constexpr auto featureCount = sizeof(VkPhysicalDeviceFeatures) / sizeof(VkBool32); in hasFeatures()
1536 #define CheckFeature(requested, supported, feature) (requested->feature == VK_FALSE || supported.fe…
1541 VkPhysicalDeviceFeatures2 features; in getSupportedFeatures() local
1542 features.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2; in getSupportedFeatures()
1544 supported.sType = requested->sType; in getSupportedFeatures()
1546 features.pNext = &supported; in getSupportedFeatures()
1547 getFeatures2(&features); in getSupportedFeatures()
1553 auto supported = getSupportedFeatures(requested); in hasExtendedFeatures()
1565 auto supported = getSupportedFeatures(requested); in hasExtendedFeatures()
1573 auto supported = getSupportedFeatures(requested); in hasExtendedFeatures()
1591 auto supported = getSupportedFeatures(requested); in hasExtendedFeatures()
1644 auto supported = getSupportedFeatures(requested); in hasExtendedFeatures()
1665 auto supported = getSupportedFeatures(requested); in hasExtendedFeatures()
1672 auto supported = getSupportedFeatures(requested); in hasExtendedFeatures()
1679 auto supported = getSupportedFeatures(requested); in hasExtendedFeatures()
1687 auto supported = getSupportedFeatures(requested); in hasExtendedFeatures()
1694 auto supported = getSupportedFeatures(requested); in hasExtendedFeatures()
1701 auto supported = getSupportedFeatures(requested); in hasExtendedFeatures()
1708 auto supported = getSupportedFeatures(requested); in hasExtendedFeatures()
1715 auto supported = getSupportedFeatures(requested); in hasExtendedFeatures()
1722 auto supported = getSupportedFeatures(requested); in hasExtendedFeatures()
1729 auto supported = getSupportedFeatures(requested); in hasExtendedFeatures()
1736 auto supported = getSupportedFeatures(requested); in hasExtendedFeatures()
1744 auto supported = getSupportedFeatures(requested); in hasExtendedFeatures()
1751 auto supported = getSupportedFeatures(requested); in hasExtendedFeatures()
1759 auto supported = getSupportedFeatures(requested); in hasExtendedFeatures()
1766 auto supported = getSupportedFeatures(requested); in hasExtendedFeatures()
1773 auto supported = getSupportedFeatures(requested); in hasExtendedFeatures()
1780 auto supported = getSupportedFeatures(requested); in hasExtendedFeatures()
1787 auto supported = getSupportedFeatures(requested); in hasExtendedFeatures()
1813 auto supported = getSupportedFeatures(requested); in hasExtendedFeatures()
1820 auto supported = getSupportedFeatures(requested); in hasExtendedFeatures()
1827 auto supported = getSupportedFeatures(requested); in hasExtendedFeatures()
1836 auto supported = getSupportedFeatures(requested); in hasExtendedFeatures()
1842 static bool checkFormatUsage(VkImageUsageFlags usage, VkFormatFeatureFlags2KHR features) in checkFormatUsage() argument
1844 // Check for usage conflict with features in checkFormatUsage()
1845 if((usage & VK_IMAGE_USAGE_SAMPLED_BIT) && !(features & VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT)) in checkFormatUsage()
1850 if((usage & VK_IMAGE_USAGE_STORAGE_BIT) && !(features & VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT)) in checkFormatUsage()
1855 …if((usage & VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT) && !(features & VK_FORMAT_FEATURE_COLOR_ATTACHMEN… in checkFormatUsage()
1860 …if((usage & VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT) && !(features & VK_FORMAT_FEATURE_DEPTH_S… in checkFormatUsage()
1865 …if((usage & VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT) && !(features & (VK_FORMAT_FEATURE_COLOR_ATTACHME… in checkFormatUsage()
1870 if((usage & VK_IMAGE_USAGE_TRANSFER_SRC_BIT) && !(features & VK_FORMAT_FEATURE_TRANSFER_SRC_BIT)) in checkFormatUsage()
1875 if((usage & VK_IMAGE_USAGE_TRANSFER_DST_BIT) && !(features & VK_FORMAT_FEATURE_TRANSFER_DST_BIT)) in checkFormatUsage()
1880 …if((usage & VK_IMAGE_USAGE_HOST_TRANSFER_BIT_EXT) && !(features & VK_FORMAT_FEATURE_2_HOST_IMAGE_T… in checkFormatUsage()
1906 VkFormatFeatureFlags2KHR features; in isFormatSupported() local
1910 features = properties.linearTilingFeatures; in isFormatSupported()
1914 features = properties.optimalTilingFeatures; in isFormatSupported()
1919 features = 0; in isFormatSupported()
1922 if(features == 0) in isFormatSupported()
1928 if(!checkFormatUsage(usage, features)) in isFormatSupported()
1933 // which has already been checked. So only check non-zero stencilUsage. in isFormatSupported()
1934 if(stencilUsage != 0 && !checkFormatUsage(stencilUsage, features)) in isFormatSupported()
1939 auto allRecognizedUsageBits = VK_IMAGE_USAGE_SAMPLED_BIT | in isFormatSupported()
1963 else if(!(features & VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT)) in isFormatSupported()
2002 // VkFormatFeatureFlags2KHR is a 64-bit extension of the 32-bit VkFormatFeatureFlags, in GetFormatProperties()
2003 // so when querying the legacy flags just return the lower 32-bit portion. in GetFormatProperties()
2004 …pFormatProperties->linearTilingFeatures = static_cast<VkFormatFeatureFlags>(formatProperties3.line… in GetFormatProperties()
2005 …pFormatProperties->optimalTilingFeatures = static_cast<VkFormatFeatureFlags>(formatProperties3.opt… in GetFormatProperties()
2006 …pFormatProperties->bufferFeatures = static_cast<VkFormatFeatureFlags>(formatProperties3.bufferFeat… in GetFormatProperties()
2011 pFormatProperties->linearTilingFeatures = 0; // Unsupported format in GetFormatProperties()
2012 pFormatProperties->optimalTilingFeatures = 0; // Unsupported format in GetFormatProperties()
2013 pFormatProperties->bufferFeatures = 0; // Unsupported format in GetFormatProperties()
2116 pFormatProperties->optimalTilingFeatures |= in GetFormatProperties()
2144 pFormatProperties->optimalTilingFeatures |= in GetFormatProperties()
2156 pFormatProperties->optimalTilingFeatures |= in GetFormatProperties()
2174 pFormatProperties->optimalTilingFeatures |= in GetFormatProperties()
2176 pFormatProperties->bufferFeatures |= in GetFormatProperties()
2225 pFormatProperties->optimalTilingFeatures |= in GetFormatProperties()
2228 pFormatProperties->bufferFeatures |= in GetFormatProperties()
2288 pFormatProperties->optimalTilingFeatures |= in GetFormatProperties()
2296 pFormatProperties->optimalTilingFeatures |= in GetFormatProperties()
2308 pFormatProperties->optimalTilingFeatures |= in GetFormatProperties()
2317 pFormatProperties->optimalTilingFeatures |= in GetFormatProperties()
2389 pFormatProperties->bufferFeatures |= in GetFormatProperties()
2440 pFormatProperties->bufferFeatures |= in GetFormatProperties()
2447 if(pFormatProperties->optimalTilingFeatures) in GetFormatProperties()
2458 pFormatProperties->linearTilingFeatures |= VK_FORMAT_FEATURE_TRANSFER_SRC_BIT | in GetFormatProperties()
2468 …pFormatProperties->linearTilingFeatures |= (pFormatProperties->optimalTilingFeatures & transferabl… in GetFormatProperties()
2477 pImageFormatProperties->sampleCounts = VK_SAMPLE_COUNT_1_BIT; in getImageFormatProperties()
2478 pImageFormatProperties->maxArrayLayers = vk::MAX_IMAGE_ARRAY_LAYERS; in getImageFormatProperties()
2479 pImageFormatProperties->maxExtent.depth = 1; in getImageFormatProperties()
2484 pImageFormatProperties->maxMipLevels = vk::MAX_IMAGE_LEVELS_1D; in getImageFormatProperties()
2485 pImageFormatProperties->maxExtent.width = 1 << (vk::MAX_IMAGE_LEVELS_1D - 1); in getImageFormatProperties()
2486 pImageFormatProperties->maxExtent.height = 1; in getImageFormatProperties()
2491 pImageFormatProperties->maxMipLevels = vk::MAX_IMAGE_LEVELS_CUBE; in getImageFormatProperties()
2492 pImageFormatProperties->maxExtent.width = 1 << (vk::MAX_IMAGE_LEVELS_CUBE - 1); in getImageFormatProperties()
2493 pImageFormatProperties->maxExtent.height = 1 << (vk::MAX_IMAGE_LEVELS_CUBE - 1); in getImageFormatProperties()
2497 pImageFormatProperties->maxMipLevels = vk::MAX_IMAGE_LEVELS_2D; in getImageFormatProperties()
2498 pImageFormatProperties->maxExtent.width = 1 << (vk::MAX_IMAGE_LEVELS_2D - 1); in getImageFormatProperties()
2499 pImageFormatProperties->maxExtent.height = 1 << (vk::MAX_IMAGE_LEVELS_2D - 1); in getImageFormatProperties()
2503auto features = tiling == VK_IMAGE_TILING_LINEAR ? props.linearTilingFeatures : props.optimalTilin… in getImageFormatProperties() local
2504 …if(features & (VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT | VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT… in getImageFormatProperties()
2507 pImageFormatProperties->sampleCounts = getSampleCounts(); in getImageFormatProperties()
2512 pImageFormatProperties->maxMipLevels = vk::MAX_IMAGE_LEVELS_3D; in getImageFormatProperties()
2513 pImageFormatProperties->maxExtent.width = 1 << (vk::MAX_IMAGE_LEVELS_3D - 1); in getImageFormatProperties()
2514 pImageFormatProperties->maxExtent.height = 1 << (vk::MAX_IMAGE_LEVELS_3D - 1); in getImageFormatProperties()
2515 pImageFormatProperties->maxExtent.depth = 1 << (vk::MAX_IMAGE_LEVELS_3D - 1); in getImageFormatProperties()
2516 pImageFormatProperties->maxArrayLayers = 1; // no 3D + layers in getImageFormatProperties()
2523 pImageFormatProperties->maxResourceSize = 1u << 31; // Minimum value for maxResourceSize in getImageFormatProperties()
2529 pImageFormatProperties->maxMipLevels = 1; in getImageFormatProperties()
2530 pImageFormatProperties->maxArrayLayers = 1; in getImageFormatProperties()
2531 pImageFormatProperties->sampleCounts = VK_SAMPLE_COUNT_1_BIT; in getImageFormatProperties()
2538 …pImageFormatProperties->maxMipLevels = 1; // TODO(b/151263485): This is relied on by the sampler … in getImageFormatProperties()
2539 pImageFormatProperties->maxArrayLayers = 1; in getImageFormatProperties()
2540 pImageFormatProperties->sampleCounts = VK_SAMPLE_COUNT_1_BIT; in getImageFormatProperties()
2573 pQueueFamilyGlobalPriorityProperties->priorityCount = 1; in getQueueFamilyGlobalPriorityProperties()
2574 pQueueFamilyGlobalPriorityProperties->priorities[0] = VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR; in getQueueFamilyGlobalPriorityProperties()
2603 switch(extInfo->sType) in getQueueFamilyProperties()
2609 UNSUPPORTED("pQueueFamilyProperties->pNext sType = %s", vk::Stringify(extInfo->sType).c_str()); in getQueueFamilyProperties()
2613 extInfo = extInfo->pNext; in getQueueFamilyProperties()