diff options
Diffstat (limited to 'registry/profiles/VP_KHR_roadmap.json')
-rw-r--r-- | registry/profiles/VP_KHR_roadmap.json | 390 |
1 files changed, 390 insertions, 0 deletions
diff --git a/registry/profiles/VP_KHR_roadmap.json b/registry/profiles/VP_KHR_roadmap.json new file mode 100644 index 0000000..e7a8500 --- /dev/null +++ b/registry/profiles/VP_KHR_roadmap.json @@ -0,0 +1,390 @@ +{ + "$schema": "https://schema.khronos.org/vulkan/profiles-0.8.2-276.json#", + "capabilities": { + "vulkan10requirements": { + "features": { + "VkPhysicalDeviceFeatures": { + "robustBufferAccess": true + } + } + }, + "vulkan11requirements": { + "features": { + "VkPhysicalDeviceVulkan11Features": { + "multiview": true + } + }, + "properties": { + "VkPhysicalDeviceVulkan11Properties": { + "maxMultiviewViewCount": 6, + "maxMultiviewInstanceIndex": 134217727 + } + } + }, + "vulkan12requirements": { + "features": { + "VkPhysicalDeviceVulkan12Features": { + "uniformBufferStandardLayout": true, + "subgroupBroadcastDynamicId": true, + "imagelessFramebuffer": true, + "separateDepthStencilLayouts": true, + "hostQueryReset": true, + "timelineSemaphore": true, + "shaderSubgroupExtendedTypes": true + } + }, + "properties": { + "VkPhysicalDeviceVulkan12Properties": { + "maxTimelineSemaphoreValueDifference": 2147483647 + } + } + }, + "vulkan13requirements": { + "features": { + "VkPhysicalDeviceVulkan12Features": { + "vulkanMemoryModel": true, + "vulkanMemoryModelDeviceScope": true, + "bufferDeviceAddress": true + }, + "VkPhysicalDeviceVulkan13Features": { + "robustImageAccess": true, + "shaderTerminateInvocation": true, + "shaderZeroInitializeWorkgroupMemory": true, + "synchronization2": true, + "shaderIntegerDotProduct": true, + "maintenance4": true, + "pipelineCreationCacheControl": true, + "subgroupSizeControl": true, + "computeFullSubgroups": true, + "shaderDemoteToHelperInvocation": true, + "inlineUniformBlock": true, + "dynamicRendering": true + } + }, + "properties": { + "VkPhysicalDeviceVulkan13Properties": { + "maxBufferSize": 1073741824, + "maxInlineUniformBlockSize": 256, + "maxPerStageDescriptorInlineUniformBlocks": 4, + "maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks": 4, + "maxDescriptorSetInlineUniformBlocks": 4, + "maxDescriptorSetUpdateAfterBindInlineUniformBlocks": 4, + "maxInlineUniformTotalSize": 256 + } + } + }, + "vulkan10requirements_roadmap2022": { + "features": { + "VkPhysicalDeviceFeatures": { + "fullDrawIndexUint32": true, + "imageCubeArray": true, + "independentBlend": true, + "sampleRateShading": true, + "drawIndirectFirstInstance": true, + "depthClamp": true, + "depthBiasClamp": true, + "samplerAnisotropy": true, + "occlusionQueryPrecise": true, + "fragmentStoresAndAtomics": true, + "shaderStorageImageExtendedFormats": true, + "shaderUniformBufferArrayDynamicIndexing": true, + "shaderSampledImageArrayDynamicIndexing": true, + "shaderStorageBufferArrayDynamicIndexing": true, + "shaderStorageImageArrayDynamicIndexing": true + } + }, + "properties": { + "VkPhysicalDeviceProperties": { + "limits": { + "maxImageDimension1D": 8192, + "maxImageDimension2D": 8192, + "maxImageDimensionCube": 8192, + "maxImageArrayLayers": 2048, + "maxUniformBufferRange": 65536, + "bufferImageGranularity": 4096, + "maxPerStageDescriptorSamplers": 64, + "maxPerStageDescriptorUniformBuffers": 15, + "maxPerStageDescriptorStorageBuffers": 30, + "maxPerStageDescriptorSampledImages": 200, + "maxPerStageDescriptorStorageImages": 16, + "maxPerStageResources": 200, + "maxDescriptorSetSamplers": 576, + "maxDescriptorSetUniformBuffers": 90, + "maxDescriptorSetStorageBuffers": 96, + "maxDescriptorSetSampledImages": 1800, + "maxDescriptorSetStorageImages": 144, + "maxFragmentCombinedOutputResources": 16, + "maxComputeWorkGroupInvocations": 256, + "maxComputeWorkGroupSize": [ 256, 256, 64 ], + "subTexelPrecisionBits": 8, + "mipmapPrecisionBits": 6, + "maxSamplerLodBias": 14, + "standardSampleLocations": true, + "maxColorAttachments": 7 + } + } + } + }, + "vulkan10optionals_roadmap2022": { + "features": { + "VkPhysicalDeviceFeatures": { + "largePoints": true, + "wideLines": true + } + }, + "properties": { + "VkPhysicalDeviceProperties": { + "limits": { + "pointSizeGranularity": 0.125, + "lineWidthGranularity": 0.5 + } + } + } + }, + "vulkan11requirements_roadmap2022": { + "features": { + "VkPhysicalDeviceVulkan11Features": { + "samplerYcbcrConversion": true + } + }, + "properties": { + "VkPhysicalDeviceVulkan11Properties": { + "subgroupSize": 4, + "subgroupSupportedStages": [ "VK_SHADER_STAGE_COMPUTE_BIT", "VK_SHADER_STAGE_FRAGMENT_BIT" ], + "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" ] + } + } + }, + "vulkan12requirements_roadmap2022": { + "features": { + "VkPhysicalDeviceVulkan12Features": { + "samplerMirrorClampToEdge": true, + "descriptorIndexing": true, + "shaderUniformTexelBufferArrayDynamicIndexing": true, + "shaderStorageTexelBufferArrayDynamicIndexing": true, + "shaderUniformBufferArrayNonUniformIndexing": true, + "shaderSampledImageArrayNonUniformIndexing": true, + "shaderStorageBufferArrayNonUniformIndexing": true, + "shaderStorageImageArrayNonUniformIndexing": true, + "shaderUniformTexelBufferArrayNonUniformIndexing": true, + "shaderStorageTexelBufferArrayNonUniformIndexing": true, + "descriptorBindingSampledImageUpdateAfterBind": true, + "descriptorBindingStorageImageUpdateAfterBind": true, + "descriptorBindingStorageBufferUpdateAfterBind": true, + "descriptorBindingUniformTexelBufferUpdateAfterBind": true, + "descriptorBindingStorageTexelBufferUpdateAfterBind": true, + "descriptorBindingUpdateUnusedWhilePending": true, + "descriptorBindingPartiallyBound": true, + "descriptorBindingVariableDescriptorCount": true, + "runtimeDescriptorArray": true, + "scalarBlockLayout": true + } + }, + "properties": { + "VkPhysicalDeviceVulkan12Properties": { + "shaderSignedZeroInfNanPreserveFloat16": true, + "shaderSignedZeroInfNanPreserveFloat32": true, + "maxPerStageDescriptorUpdateAfterBindSamplers": 500000, + "maxPerStageDescriptorUpdateAfterBindUniformBuffers": 12, + "maxPerStageDescriptorUpdateAfterBindStorageBuffers": 500000, + "maxPerStageDescriptorUpdateAfterBindSampledImages": 500000, + "maxPerStageDescriptorUpdateAfterBindStorageImages": 500000, + "maxPerStageDescriptorUpdateAfterBindInputAttachments": 7, + "maxPerStageUpdateAfterBindResources": 500000, + "maxDescriptorSetUpdateAfterBindSamplers": 500000, + "maxDescriptorSetUpdateAfterBindUniformBuffers": 72, + "maxDescriptorSetUpdateAfterBindUniformBuffersDynamic": 8, + "maxDescriptorSetUpdateAfterBindStorageBuffers": 500000, + "maxDescriptorSetUpdateAfterBindStorageBuffersDynamic": 4, + "maxDescriptorSetUpdateAfterBindSampledImages": 500000, + "maxDescriptorSetUpdateAfterBindStorageImages": 500000, + "maxDescriptorSetUpdateAfterBindInputAttachments": 7 + } + } + }, + "vulkan13requirements_roadmap2022": { + "extensions": { + "VK_KHR_global_priority": 1 + }, + "features": { + "VkPhysicalDeviceVulkan13Features": { + "descriptorBindingInlineUniformBlockUpdateAfterBind": true + } + } + }, + "vulkan10requirements_roadmap2024": { + "features": { + "VkPhysicalDeviceFeatures": { + "multiDrawIndirect": true, + "shaderInt16": true, + "shaderImageGatherExtended": true + } + }, + "properties": { + "VkPhysicalDeviceProperties": { + "limits": { + "timestampComputeAndGraphics": true, + "maxColorAttachments": 8, + "maxBoundDescriptorSets": 7 + } + } + } + }, + "vulkan11requirements_roadmap2024": { + "features": { + "VkPhysicalDeviceVulkan11Features": { + "shaderDrawParameters": true, + "storageBuffer16BitAccess": true + } + } + }, + "vulkan12requirements_roadmap2024": { + "features": { + "VkPhysicalDeviceVulkan12Features": { + "shaderInt8": true, + "shaderFloat16": true, + "storageBuffer8BitAccess": true + } + }, + "properties": { + "VkPhysicalDeviceVulkan12Properties": { + "shaderRoundingModeRTEFloat16": true, + "shaderRoundingModeRTEFloat32": true + } + } + }, + "vulkan13requirements_roadmap2024": { + "features": { + "VkPhysicalDeviceVulkan13Features": { + } + }, + "properties": { + "VkPhysicalDeviceVulkan13Properties": { + } + } + }, + "vulkanextensionrequirements_roadmap2024": { + "extensions": { + "VK_KHR_dynamic_rendering_local_read": 1, + "VK_KHR_load_store_op_none": 1, + "VK_KHR_shader_quad_control": 1, + "VK_KHR_shader_maximal_reconvergence": 1, + "VK_KHR_shader_subgroup_uniform_control_flow": 1, + "VK_KHR_shader_subgroup_rotate": 1, + "VK_KHR_shader_float_controls2": 1, + "VK_KHR_shader_expect_assume": 1, + "VK_KHR_line_rasterization": 1, + "VK_KHR_vertex_attribute_divisor": 1, + "VK_KHR_index_type_uint8": 1, + "VK_KHR_map_memory2": 1, + "VK_KHR_maintenance5": 1, + "VK_KHR_push_descriptor": 1 + } + } + }, + "profiles": { + "VP_KHR_roadmap_2024": { + "version": 1, + "api-version": "1.3.276", + "label": "Khronos Vulkan Roadmap 2024 profile", + "description": "This roadmap profile is intended to be supported by newer devices shipping in 2024 across mainstream smartphone, tablet, laptops, console and desktop devices.", + "profiles": [ + "VP_KHR_roadmap_2022" + ], + "capabilities": [ + "vulkan10requirements_roadmap2024", + "vulkan11requirements_roadmap2024", + "vulkan12requirements_roadmap2024", + "vulkan13requirements_roadmap2024", + "vulkanextensionrequirements_roadmap2024" + ] + }, + "VP_KHR_roadmap_2022": { + "version": 1, + "api-version": "1.3.204", + "label": "Khronos Vulkan Roadmap 2022 profile", + "description": "This roadmap profile is intended to be supported by newer devices shipping in 2022 across mainstream smartphone, tablet, laptops, console and desktop devices.", + "contributors": { + "Tobias Hector": { + "company": "AMD", + "email": "[email protected]", + "contact": true + }, + "Christophe Riccio": { + "company": "LunarG", + "email": "[email protected]", + "contact": true + } + }, + "history": [ + { + "revision": 9, + "date": "2024-01-16", + "author": "Tobias Hector", + "comment": "Add Roadmap 2024 profile" + }, + { + "revision": 8, + "date": "2023-11-02", + "author": "Christophe Riccio", + "comment": "Remove unreferenced capabilities blocks that were written against Vulkan 1.2 for testing before Vulkan 1.3 was released" + }, + { + "revision": 7, + "date": "2022-11-16", + "author": "Christophe Riccio", + "comment": "Fix wideLines and largePoints that are optionals" + }, + { + "revision": 6, + "date": "2022-11-02", + "author": "Christophe Riccio", + "comment": "Fix roadmap 2022 maxInlineUniformTotalSize limit, 256 instead of 4" + }, + { + "revision": 5, + "date": "2022-05-02", + "author": "Christophe Riccio", + "comment": "Add missing dynamicRendering that is a Vulkan 1.3 requirement" + }, + { + "revision": 4, + "date": "2022-03-08", + "author": "Christophe Riccio", + "comment": "Refactor requirements per Vulkan API version" + }, + { + "revision": 3, + "date": "2022-03-08", + "author": "Christophe Riccio", + "comment": "Fix Vulkan 1.3.204 API version requirement" + }, + { + "revision": 2, + "date": "2022-01-03", + "author": "Christophe Riccio", + "comment": "Rebase against Vulkan 1.3.203 revision" + }, + { + "revision": 1, + "date": "2021-12-08", + "author": "Christophe Riccio", + "comment": "Initial revision" + } + ], + "capabilities": [ + "vulkan10requirements", + "vulkan10requirements_roadmap2022", + "vulkan11requirements", + "vulkan11requirements_roadmap2022", + "vulkan12requirements", + "vulkan12requirements_roadmap2022", + "vulkan13requirements", + "vulkan13requirements_roadmap2022" + ], + "optionals": [ + "vulkan10optionals_roadmap2022" + ] + } + } +} |