1e8556ba3Sopenharmony_ci{ 2e8556ba3Sopenharmony_ci "$schema": "https://schema.khronos.org/vulkan/profiles-0.8.1-204.json#", 3e8556ba3Sopenharmony_ci "capabilities": { 4e8556ba3Sopenharmony_ci "vulkan10requirements": { 5e8556ba3Sopenharmony_ci "features": { 6e8556ba3Sopenharmony_ci "VkPhysicalDeviceFeatures": { 7e8556ba3Sopenharmony_ci "robustBufferAccess": true 8e8556ba3Sopenharmony_ci } 9e8556ba3Sopenharmony_ci } 10e8556ba3Sopenharmony_ci }, 11e8556ba3Sopenharmony_ci "vulkan10requirements_roadmap2022": { 12e8556ba3Sopenharmony_ci "features": { 13e8556ba3Sopenharmony_ci "VkPhysicalDeviceFeatures": { 14e8556ba3Sopenharmony_ci "fullDrawIndexUint32": true, 15e8556ba3Sopenharmony_ci "imageCubeArray": true, 16e8556ba3Sopenharmony_ci "independentBlend": true, 17e8556ba3Sopenharmony_ci "sampleRateShading": true, 18e8556ba3Sopenharmony_ci "drawIndirectFirstInstance": true, 19e8556ba3Sopenharmony_ci "depthClamp": true, 20e8556ba3Sopenharmony_ci "depthBiasClamp": true, 21e8556ba3Sopenharmony_ci "samplerAnisotropy": true, 22e8556ba3Sopenharmony_ci "occlusionQueryPrecise": true, 23e8556ba3Sopenharmony_ci "fragmentStoresAndAtomics": true, 24e8556ba3Sopenharmony_ci "shaderStorageImageExtendedFormats": true, 25e8556ba3Sopenharmony_ci "shaderUniformBufferArrayDynamicIndexing": true, 26e8556ba3Sopenharmony_ci "shaderSampledImageArrayDynamicIndexing": true, 27e8556ba3Sopenharmony_ci "shaderStorageBufferArrayDynamicIndexing": true, 28e8556ba3Sopenharmony_ci "shaderStorageImageArrayDynamicIndexing": true 29e8556ba3Sopenharmony_ci } 30e8556ba3Sopenharmony_ci }, 31e8556ba3Sopenharmony_ci "properties": { 32e8556ba3Sopenharmony_ci "VkPhysicalDeviceProperties": { 33e8556ba3Sopenharmony_ci "limits": { 34e8556ba3Sopenharmony_ci "maxImageDimension1D": 8192, 35e8556ba3Sopenharmony_ci "maxImageDimension2D": 8192, 36e8556ba3Sopenharmony_ci "maxImageDimensionCube": 8192, 37e8556ba3Sopenharmony_ci "maxImageArrayLayers": 2048, 38e8556ba3Sopenharmony_ci "maxUniformBufferRange": 65536, 39e8556ba3Sopenharmony_ci "bufferImageGranularity": 4096, 40e8556ba3Sopenharmony_ci "maxPerStageDescriptorSamplers": 64, 41e8556ba3Sopenharmony_ci "maxPerStageDescriptorUniformBuffers": 15, 42e8556ba3Sopenharmony_ci "maxPerStageDescriptorStorageBuffers": 30, 43e8556ba3Sopenharmony_ci "maxPerStageDescriptorSampledImages": 200, 44e8556ba3Sopenharmony_ci "maxPerStageDescriptorStorageImages": 16, 45e8556ba3Sopenharmony_ci "maxPerStageResources": 200, 46e8556ba3Sopenharmony_ci "maxDescriptorSetSamplers": 576, 47e8556ba3Sopenharmony_ci "maxDescriptorSetUniformBuffers": 90, 48e8556ba3Sopenharmony_ci "maxDescriptorSetStorageBuffers": 96, 49e8556ba3Sopenharmony_ci "maxDescriptorSetSampledImages": 1800, 50e8556ba3Sopenharmony_ci "maxDescriptorSetStorageImages": 144, 51e8556ba3Sopenharmony_ci "maxFragmentCombinedOutputResources": 16, 52e8556ba3Sopenharmony_ci "maxComputeWorkGroupInvocations": 256, 53e8556ba3Sopenharmony_ci "maxComputeWorkGroupSize": [ 256, 256, 64 ], 54e8556ba3Sopenharmony_ci "subTexelPrecisionBits": 8, 55e8556ba3Sopenharmony_ci "mipmapPrecisionBits": 6, 56e8556ba3Sopenharmony_ci "maxSamplerLodBias": 14, 57e8556ba3Sopenharmony_ci "standardSampleLocations": true, 58e8556ba3Sopenharmony_ci "maxColorAttachments": 7 59e8556ba3Sopenharmony_ci } 60e8556ba3Sopenharmony_ci } 61e8556ba3Sopenharmony_ci } 62e8556ba3Sopenharmony_ci }, 63e8556ba3Sopenharmony_ci "vulkan10optionals_roadmap2022": { 64e8556ba3Sopenharmony_ci "features": { 65e8556ba3Sopenharmony_ci "VkPhysicalDeviceFeatures": { 66e8556ba3Sopenharmony_ci "largePoints": true, 67e8556ba3Sopenharmony_ci "wideLines": true 68e8556ba3Sopenharmony_ci } 69e8556ba3Sopenharmony_ci }, 70e8556ba3Sopenharmony_ci "properties": { 71e8556ba3Sopenharmony_ci "VkPhysicalDeviceProperties": { 72e8556ba3Sopenharmony_ci "limits": { 73e8556ba3Sopenharmony_ci "pointSizeGranularity": 0.125, 74e8556ba3Sopenharmony_ci "lineWidthGranularity": 0.5 75e8556ba3Sopenharmony_ci } 76e8556ba3Sopenharmony_ci } 77e8556ba3Sopenharmony_ci } 78e8556ba3Sopenharmony_ci }, 79e8556ba3Sopenharmony_ci "vulkan11requirements": { 80e8556ba3Sopenharmony_ci "features": { 81e8556ba3Sopenharmony_ci "VkPhysicalDeviceVulkan11Features": { 82e8556ba3Sopenharmony_ci "multiview": true 83e8556ba3Sopenharmony_ci } 84e8556ba3Sopenharmony_ci }, 85e8556ba3Sopenharmony_ci "properties": { 86e8556ba3Sopenharmony_ci "VkPhysicalDeviceVulkan11Properties": { 87e8556ba3Sopenharmony_ci "maxMultiviewViewCount": 6, 88e8556ba3Sopenharmony_ci "maxMultiviewInstanceIndex": 134217727 89e8556ba3Sopenharmony_ci } 90e8556ba3Sopenharmony_ci } 91e8556ba3Sopenharmony_ci }, 92e8556ba3Sopenharmony_ci "vulkan11requirements_roadmap2022": { 93e8556ba3Sopenharmony_ci "features": { 94e8556ba3Sopenharmony_ci "VkPhysicalDeviceVulkan11Features": { 95e8556ba3Sopenharmony_ci "samplerYcbcrConversion": true 96e8556ba3Sopenharmony_ci } 97e8556ba3Sopenharmony_ci }, 98e8556ba3Sopenharmony_ci "properties": { 99e8556ba3Sopenharmony_ci "VkPhysicalDeviceVulkan11Properties": { 100e8556ba3Sopenharmony_ci "subgroupSize": 4, 101e8556ba3Sopenharmony_ci "subgroupSupportedStages": [ "VK_SHADER_STAGE_COMPUTE_BIT", "VK_SHADER_STAGE_FRAGMENT_BIT" ], 102e8556ba3Sopenharmony_ci "subgroupSupportedOperations": [ "VK_SUBGROUP_FEATURE_BASIC_BIT", "VK_SUBGROUP_FEATURE_VOTE_BIT", "VK_SUBGROUP_FEATURE_ARITHMETIC_BIT", "VK_SUBGROUP_FEATURE_BALLOT_BIT", "VK_SUBGROUP_FEATURE_SHUFFLE_BIT", "VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT", "VK_SUBGROUP_FEATURE_QUAD_BIT" ] 103e8556ba3Sopenharmony_ci } 104e8556ba3Sopenharmony_ci } 105e8556ba3Sopenharmony_ci }, 106e8556ba3Sopenharmony_ci "vulkan12requirements": { 107e8556ba3Sopenharmony_ci "features": { 108e8556ba3Sopenharmony_ci "VkPhysicalDeviceVulkan12Features": { 109e8556ba3Sopenharmony_ci "uniformBufferStandardLayout": true, 110e8556ba3Sopenharmony_ci "subgroupBroadcastDynamicId": true, 111e8556ba3Sopenharmony_ci "imagelessFramebuffer": true, 112e8556ba3Sopenharmony_ci "separateDepthStencilLayouts": true, 113e8556ba3Sopenharmony_ci "hostQueryReset": true, 114e8556ba3Sopenharmony_ci "timelineSemaphore": true, 115e8556ba3Sopenharmony_ci "shaderSubgroupExtendedTypes": true 116e8556ba3Sopenharmony_ci } 117e8556ba3Sopenharmony_ci }, 118e8556ba3Sopenharmony_ci "properties": { 119e8556ba3Sopenharmony_ci "VkPhysicalDeviceVulkan12Properties": { 120e8556ba3Sopenharmony_ci "maxTimelineSemaphoreValueDifference": 2147483647 121e8556ba3Sopenharmony_ci } 122e8556ba3Sopenharmony_ci } 123e8556ba3Sopenharmony_ci }, 124e8556ba3Sopenharmony_ci "vulkan12requirements_roadmap2022": { 125e8556ba3Sopenharmony_ci "features": { 126e8556ba3Sopenharmony_ci "VkPhysicalDeviceVulkan12Features": { 127e8556ba3Sopenharmony_ci "samplerMirrorClampToEdge": true, 128e8556ba3Sopenharmony_ci "descriptorIndexing": true, 129e8556ba3Sopenharmony_ci "shaderUniformTexelBufferArrayDynamicIndexing": true, 130e8556ba3Sopenharmony_ci "shaderStorageTexelBufferArrayDynamicIndexing": true, 131e8556ba3Sopenharmony_ci "shaderUniformBufferArrayNonUniformIndexing": true, 132e8556ba3Sopenharmony_ci "shaderSampledImageArrayNonUniformIndexing": true, 133e8556ba3Sopenharmony_ci "shaderStorageBufferArrayNonUniformIndexing": true, 134e8556ba3Sopenharmony_ci "shaderStorageImageArrayNonUniformIndexing": true, 135e8556ba3Sopenharmony_ci "shaderUniformTexelBufferArrayNonUniformIndexing": true, 136e8556ba3Sopenharmony_ci "shaderStorageTexelBufferArrayNonUniformIndexing": true, 137e8556ba3Sopenharmony_ci "descriptorBindingSampledImageUpdateAfterBind": true, 138e8556ba3Sopenharmony_ci "descriptorBindingStorageImageUpdateAfterBind": true, 139e8556ba3Sopenharmony_ci "descriptorBindingStorageBufferUpdateAfterBind": true, 140e8556ba3Sopenharmony_ci "descriptorBindingUniformTexelBufferUpdateAfterBind": true, 141e8556ba3Sopenharmony_ci "descriptorBindingStorageTexelBufferUpdateAfterBind": true, 142e8556ba3Sopenharmony_ci "descriptorBindingUpdateUnusedWhilePending": true, 143e8556ba3Sopenharmony_ci "descriptorBindingPartiallyBound": true, 144e8556ba3Sopenharmony_ci "descriptorBindingVariableDescriptorCount": true, 145e8556ba3Sopenharmony_ci "runtimeDescriptorArray": true, 146e8556ba3Sopenharmony_ci "scalarBlockLayout": true 147e8556ba3Sopenharmony_ci } 148e8556ba3Sopenharmony_ci }, 149e8556ba3Sopenharmony_ci "properties": { 150e8556ba3Sopenharmony_ci "VkPhysicalDeviceVulkan12Properties": { 151e8556ba3Sopenharmony_ci "shaderSignedZeroInfNanPreserveFloat16": true, 152e8556ba3Sopenharmony_ci "shaderSignedZeroInfNanPreserveFloat32": true, 153e8556ba3Sopenharmony_ci "maxPerStageDescriptorUpdateAfterBindSamplers": 500000, 154e8556ba3Sopenharmony_ci "maxPerStageDescriptorUpdateAfterBindUniformBuffers": 12, 155e8556ba3Sopenharmony_ci "maxPerStageDescriptorUpdateAfterBindStorageBuffers": 500000, 156e8556ba3Sopenharmony_ci "maxPerStageDescriptorUpdateAfterBindSampledImages": 500000, 157e8556ba3Sopenharmony_ci "maxPerStageDescriptorUpdateAfterBindStorageImages": 500000, 158e8556ba3Sopenharmony_ci "maxPerStageDescriptorUpdateAfterBindInputAttachments": 7, 159e8556ba3Sopenharmony_ci "maxPerStageUpdateAfterBindResources": 500000, 160e8556ba3Sopenharmony_ci "maxDescriptorSetUpdateAfterBindSamplers": 500000, 161e8556ba3Sopenharmony_ci "maxDescriptorSetUpdateAfterBindUniformBuffers": 72, 162e8556ba3Sopenharmony_ci "maxDescriptorSetUpdateAfterBindUniformBuffersDynamic": 8, 163e8556ba3Sopenharmony_ci "maxDescriptorSetUpdateAfterBindStorageBuffers": 500000, 164e8556ba3Sopenharmony_ci "maxDescriptorSetUpdateAfterBindStorageBuffersDynamic": 4, 165e8556ba3Sopenharmony_ci "maxDescriptorSetUpdateAfterBindSampledImages": 500000, 166e8556ba3Sopenharmony_ci "maxDescriptorSetUpdateAfterBindStorageImages": 500000, 167e8556ba3Sopenharmony_ci "maxDescriptorSetUpdateAfterBindInputAttachments": 7 168e8556ba3Sopenharmony_ci } 169e8556ba3Sopenharmony_ci } 170e8556ba3Sopenharmony_ci }, 171e8556ba3Sopenharmony_ci "vulkan13requirements": { 172e8556ba3Sopenharmony_ci "features": { 173e8556ba3Sopenharmony_ci "VkPhysicalDeviceVulkan12Features": { 174e8556ba3Sopenharmony_ci "vulkanMemoryModel": true, 175e8556ba3Sopenharmony_ci "vulkanMemoryModelDeviceScope": true, 176e8556ba3Sopenharmony_ci "bufferDeviceAddress": true 177e8556ba3Sopenharmony_ci }, 178e8556ba3Sopenharmony_ci "VkPhysicalDeviceVulkan13Features": { 179e8556ba3Sopenharmony_ci "robustImageAccess": true, 180e8556ba3Sopenharmony_ci "shaderTerminateInvocation": true, 181e8556ba3Sopenharmony_ci "shaderZeroInitializeWorkgroupMemory": true, 182e8556ba3Sopenharmony_ci "synchronization2": true, 183e8556ba3Sopenharmony_ci "shaderIntegerDotProduct": true, 184e8556ba3Sopenharmony_ci "maintenance4": true, 185e8556ba3Sopenharmony_ci "pipelineCreationCacheControl": true, 186e8556ba3Sopenharmony_ci "subgroupSizeControl": true, 187e8556ba3Sopenharmony_ci "computeFullSubgroups": true, 188e8556ba3Sopenharmony_ci "shaderDemoteToHelperInvocation": true, 189e8556ba3Sopenharmony_ci "inlineUniformBlock": true, 190e8556ba3Sopenharmony_ci "dynamicRendering": true 191e8556ba3Sopenharmony_ci } 192e8556ba3Sopenharmony_ci }, 193e8556ba3Sopenharmony_ci "properties": { 194e8556ba3Sopenharmony_ci "VkPhysicalDeviceVulkan13Properties": { 195e8556ba3Sopenharmony_ci "maxBufferSize": 1073741824, 196e8556ba3Sopenharmony_ci "maxInlineUniformBlockSize": 256, 197e8556ba3Sopenharmony_ci "maxPerStageDescriptorInlineUniformBlocks": 4, 198e8556ba3Sopenharmony_ci "maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks": 4, 199e8556ba3Sopenharmony_ci "maxDescriptorSetInlineUniformBlocks": 4, 200e8556ba3Sopenharmony_ci "maxDescriptorSetUpdateAfterBindInlineUniformBlocks": 4, 201e8556ba3Sopenharmony_ci "maxInlineUniformTotalSize": 256 202e8556ba3Sopenharmony_ci } 203e8556ba3Sopenharmony_ci } 204e8556ba3Sopenharmony_ci }, 205e8556ba3Sopenharmony_ci "vulkan13requirements_roadmap2022": { 206e8556ba3Sopenharmony_ci "extensions": { 207e8556ba3Sopenharmony_ci "VK_KHR_global_priority": 1 208e8556ba3Sopenharmony_ci }, 209e8556ba3Sopenharmony_ci "features": { 210e8556ba3Sopenharmony_ci "VkPhysicalDeviceVulkan13Features": { 211e8556ba3Sopenharmony_ci "descriptorBindingInlineUniformBlockUpdateAfterBind": true 212e8556ba3Sopenharmony_ci } 213e8556ba3Sopenharmony_ci } 214e8556ba3Sopenharmony_ci } 215e8556ba3Sopenharmony_ci }, 216e8556ba3Sopenharmony_ci "profiles": { 217e8556ba3Sopenharmony_ci "VP_KHR_roadmap_2022": { 218e8556ba3Sopenharmony_ci "version": 1, 219e8556ba3Sopenharmony_ci "api-version": "1.3.204", 220e8556ba3Sopenharmony_ci "label": "Khronos Vulkan Roadmap 2022 profile", 221e8556ba3Sopenharmony_ci "description": "This roadmap profile is intended to be supported by newer devices shipping in 2022 across mainstream smartphone, tablet, laptops, console and desktop devices.", 222e8556ba3Sopenharmony_ci "contributors": { 223e8556ba3Sopenharmony_ci "Tobias Hector": { 224e8556ba3Sopenharmony_ci "company": "AMD", 225e8556ba3Sopenharmony_ci "email": "tobias.hector@amd.com", 226e8556ba3Sopenharmony_ci "contact": true 227e8556ba3Sopenharmony_ci }, 228e8556ba3Sopenharmony_ci "Christophe Riccio": { 229e8556ba3Sopenharmony_ci "company": "LunarG", 230e8556ba3Sopenharmony_ci "email": "christophe@lunarg.com", 231e8556ba3Sopenharmony_ci "contact": true 232e8556ba3Sopenharmony_ci } 233e8556ba3Sopenharmony_ci }, 234e8556ba3Sopenharmony_ci "history": [ 235e8556ba3Sopenharmony_ci { 236e8556ba3Sopenharmony_ci "revision": 8, 237e8556ba3Sopenharmony_ci "date": "2023-11-02", 238e8556ba3Sopenharmony_ci "author": "Christophe Riccio", 239e8556ba3Sopenharmony_ci "comment": "Remove unreferenced capabilities blocks that were written against Vulkan 1.2 for testing before Vulkan 1.3 was released" 240e8556ba3Sopenharmony_ci }, 241e8556ba3Sopenharmony_ci { 242e8556ba3Sopenharmony_ci "revision": 7, 243e8556ba3Sopenharmony_ci "date": "2022-11-16", 244e8556ba3Sopenharmony_ci "author": "Christophe Riccio", 245e8556ba3Sopenharmony_ci "comment": "Fix wideLines and largePoints that are optionals" 246e8556ba3Sopenharmony_ci }, 247e8556ba3Sopenharmony_ci { 248e8556ba3Sopenharmony_ci "revision": 6, 249e8556ba3Sopenharmony_ci "date": "2022-11-02", 250e8556ba3Sopenharmony_ci "author": "Christophe Riccio", 251e8556ba3Sopenharmony_ci "comment": "Fix roadmap 2022 maxInlineUniformTotalSize limit, 256 instead of 4" 252e8556ba3Sopenharmony_ci }, 253e8556ba3Sopenharmony_ci { 254e8556ba3Sopenharmony_ci "revision": 5, 255e8556ba3Sopenharmony_ci "date": "2022-05-02", 256e8556ba3Sopenharmony_ci "author": "Christophe Riccio", 257e8556ba3Sopenharmony_ci "comment": "Add missing dynamicRendering that is a Vulkan 1.3 requirement" 258e8556ba3Sopenharmony_ci }, 259e8556ba3Sopenharmony_ci { 260e8556ba3Sopenharmony_ci "revision": 4, 261e8556ba3Sopenharmony_ci "date": "2022-03-08", 262e8556ba3Sopenharmony_ci "author": "Christophe Riccio", 263e8556ba3Sopenharmony_ci "comment": "Refactor requirements per Vulkan API version" 264e8556ba3Sopenharmony_ci }, 265e8556ba3Sopenharmony_ci { 266e8556ba3Sopenharmony_ci "revision": 3, 267e8556ba3Sopenharmony_ci "date": "2022-03-08", 268e8556ba3Sopenharmony_ci "author": "Christophe Riccio", 269e8556ba3Sopenharmony_ci "comment": "Fix Vulkan 1.3.204 API version requirement" 270e8556ba3Sopenharmony_ci }, 271e8556ba3Sopenharmony_ci { 272e8556ba3Sopenharmony_ci "revision": 2, 273e8556ba3Sopenharmony_ci "date": "2022-01-03", 274e8556ba3Sopenharmony_ci "author": "Christophe Riccio", 275e8556ba3Sopenharmony_ci "comment": "Rebase against Vulkan 1.3.203 revision" 276e8556ba3Sopenharmony_ci }, 277e8556ba3Sopenharmony_ci { 278e8556ba3Sopenharmony_ci "revision": 1, 279e8556ba3Sopenharmony_ci "date": "2021-12-08", 280e8556ba3Sopenharmony_ci "author": "Christophe Riccio", 281e8556ba3Sopenharmony_ci "comment": "Initial revision" 282e8556ba3Sopenharmony_ci } 283e8556ba3Sopenharmony_ci ], 284e8556ba3Sopenharmony_ci "capabilities": [ 285e8556ba3Sopenharmony_ci "vulkan10requirements", 286e8556ba3Sopenharmony_ci "vulkan10requirements_roadmap2022", 287e8556ba3Sopenharmony_ci "vulkan11requirements", 288e8556ba3Sopenharmony_ci "vulkan11requirements_roadmap2022", 289e8556ba3Sopenharmony_ci "vulkan12requirements", 290e8556ba3Sopenharmony_ci "vulkan12requirements_roadmap2022", 291e8556ba3Sopenharmony_ci "vulkan13requirements", 292e8556ba3Sopenharmony_ci "vulkan13requirements_roadmap2022" 293e8556ba3Sopenharmony_ci ], 294e8556ba3Sopenharmony_ci "optionals": [ 295e8556ba3Sopenharmony_ci "vulkan10optionals_roadmap2022" 296e8556ba3Sopenharmony_ci ] 297e8556ba3Sopenharmony_ci } 298e8556ba3Sopenharmony_ci } 299e8556ba3Sopenharmony_ci} 300