1{ 2 "$schema": "https://schema.khronos.org/vulkan/profiles-0.8.2-301.json#", 3 "capabilities": { 4 "MUST": { 5 "extensions": { 6 "VK_KHR_8bit_storage": 1, 7 "VK_KHR_load_store_op_none": 1, 8 "VK_KHR_maintenance6": 1, 9 "VK_KHR_map_memory2": 1, 10 "VK_KHR_shader_expect_assume": 1, 11 "VK_KHR_shader_float_controls2": 1, 12 "VK_KHR_shader_maximal_reconvergence": 1, 13 "VK_KHR_shader_subgroup_rotate": 1, 14 "VK_KHR_shader_subgroup_uniform_control_flow": 1, 15 "VK_KHR_swapchain_mutable_format": 1, 16 "VK_EXT_host_image_copy": 1, 17 "VK_EXT_image_2d_view_of_3d": 1, 18 "VK_EXT_pipeline_protected_access": 1, 19 "VK_EXT_pipeline_robustness": 1, 20 "VK_EXT_transform_feedback": 1 21 }, 22 "features": { 23 "VkPhysicalDeviceFeatures": { 24 "fullDrawIndexUint32": true, 25 "shaderInt16": true 26 }, 27 "VkPhysicalDeviceVulkan12Features": { 28 "samplerMirrorClampToEdge": true, 29 "scalarBlockLayout": true 30 }, 31 "VkPhysicalDeviceProtectedMemoryFeatures": { 32 "protectedMemory": true 33 }, 34 "VkPhysicalDeviceShaderIntegerDotProductFeatures": { 35 "shaderIntegerDotProduct": true 36 }, 37 "VkPhysicalDeviceTransformFeedbackFeaturesEXT": { 38 "transformFeedback": true 39 }, 40 "VkPhysicalDeviceImage2DViewOf3DFeaturesEXT": { 41 "image2DViewOf3D": true 42 }, 43 "VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR": { 44 "shaderSubgroupUniformControlFlow": true 45 } 46 }, 47 "properties": { 48 "VkPhysicalDeviceProperties": { 49 "limits": { 50 "bufferImageGranularity": 4096, 51 "lineWidthGranularity": 0.5, 52 "maxColorAttachments": 8, 53 "maxComputeWorkGroupInvocations": 256, 54 "maxComputeWorkGroupSize": [ 256, 256, 64 ], 55 "maxImageArrayLayers": 2048, 56 "maxImageDimension1D": 8192, 57 "maxImageDimension2D": 8192, 58 "maxImageDimensionCube": 8192, 59 "maxDescriptorSetStorageBuffers": 96, 60 "maxDescriptorSetUniformBuffers": 90, 61 "maxFragmentCombinedOutputResources": 16, 62 "maxPerStageDescriptorUniformBuffers": 15, 63 "maxPerStageResources": 200, 64 "maxSamplerLodBias": 14, 65 "maxUniformBufferRange": 65536, 66 "maxVertexOutputComponents": 72, 67 "mipmapPrecisionBits": 6, 68 "pointSizeGranularity": 0.125, 69 "standardSampleLocations": true, 70 "subTexelPrecisionBits": 8, 71 "timestampComputeAndGraphics": true 72 } 73 }, 74 "VkPhysicalDeviceFloatControlsProperties": { 75 "shaderSignedZeroInfNanPreserveFloat16": true, 76 "shaderSignedZeroInfNanPreserveFloat32": true 77 }, 78 "VkPhysicalDeviceVulkan11Properties": { 79 "subgroupSupportedStages": ["VK_SHADER_STAGE_COMPUTE_BIT"] 80 } 81 } 82 }, 83 "multisampledToSingleSampled": { 84 "extensions": { 85 "VK_EXT_multisampled_render_to_single_sampled": 1 86 } 87 }, 88 "shaderStencilExport": { 89 "extensions": { 90 "VK_EXT_shader_stencil_export": 1 91 } 92 } 93 }, 94 "profiles": { 95 "VP_ANDROID_16_minimums": { 96 "version": 1, 97 "api-version": "1.3.276", 98 "label": "Vulkan Minimum Requirements for Android 16", 99 "description": "Collection of functionality that is mandated on Android 16", 100 "contributors": { 101 "Ian Elliott": { 102 "company": "Google", 103 "email": "ianelliott@google.com", 104 "contact": true 105 } 106 }, 107 "history": [ 108 { 109 "revision": 1, 110 "date": "2024-02-20", 111 "author": "Ian Elliott", 112 "comment": "First draft" 113 }, 114 { 115 "revision": 2, 116 "date": "2024-07-22", 117 "author": "Ian Elliott", 118 "comment": "Added proposed Vulkan 1.4 scope" 119 }, 120 { 121 "revision": 3, 122 "date": "2024-11-15", 123 "author": "Ian Elliott", 124 "comment": "Delay some requirements that Mali Bifrost chipsets cannot do" 125 }, 126 { 127 "revision": 4, 128 "date": "2024-12-10", 129 "author": "Ian Elliott", 130 "comment": "Delay some requirements that Adreno A6xx chipsets cannot do" 131 }, 132 { 133 "revision": 5, 134 "date": "2024-12-11", 135 "author": "Ian Elliott", 136 "comment": "Delay VK_EXT_device_fault" 137 }, 138 { 139 "revision": 6, 140 "date": "2024-12-11", 141 "author": "Ian Elliott", 142 "comment": "Delay a requirement that IMG BXM-8-256 chipsets cannot do" 143 } 144 ], 145 "profiles": [ 146 "VP_ANDROID_15_minimums" 147 ], 148 "capabilities": [ 149 "MUST", 150 ["multisampledToSingleSampled", "shaderStencilExport"] 151 ] 152 } 153 } 154} 155