{
    "$schema": "https://schema.khronos.org/vulkan/profiles-0.8.latest.json#",
    "capabilities": {
        "vulkan10requirements": {
            "extensions": {

            },
            "features": {
                "VkPhysicalDeviceFeatures": {
                    "robustBufferAccess": true
                }
            },
            "properties": {
                "VkPhysicalDeviceProperties": {
                    "limits": {
                        "maxImageDimension1D": 4096,
                        "maxImageDimension2D": 4096,
                        "maxImageDimension3D": 256,
                        "maxImageDimensionCube": 4096,
                        "maxImageArrayLayers": 256,
                        "maxTexelBufferElements": 65536,
                        "maxUniformBufferRange": 16384,
                        "maxStorageBufferRange": 134217728,
                        "maxPushConstantsSize": 128,
                        "maxMemoryAllocationCount": 4096,
                        "maxSamplerAllocationCount": 4000,
                        "bufferImageGranularity": 4096,
                        "sparseAddressSpaceSize": 0,
                        "maxPerStageDescriptorSamplers": 16,
                        "maxPerStageDescriptorUniformBuffers": 12,
                        "maxPerStageDescriptorStorageBuffers": 4,
                        "maxPerStageDescriptorSampledImages": 16,
                        "maxPerStageDescriptorStorageImages": 4,
                        "maxPerStageDescriptorInputAttachments": 4,
                        "maxPerStageResources": 128,
                        "maxDescriptorSetSamplers": 16,
                        "maxDescriptorSetUniformBuffers": 12,
                        "maxDescriptorSetUniformBuffersDynamic": 8,
                        "maxDescriptorSetStorageBuffers": 4,
                        "maxDescriptorSetStorageBuffersDynamic": 4,
                        "maxDescriptorSetSampledImages": 16,
                        "maxDescriptorSetStorageImages": 4,
                        "maxDescriptorSetInputAttachments": 4,
                        "maxVertexInputAttributes": 16,
                        "maxVertexInputBindings": 16,
                        "maxVertexInputAttributeOffset": 2047,
                        "maxVertexInputBindingStride": 2048,
                        "maxVertexOutputComponents": 64,
                        "maxTessellationGenerationLevel": 0,
                        "maxTessellationPatchSize": 0,
                        "maxTessellationControlPerVertexInputComponents": 0,
                        "maxTessellationControlPerVertexOutputComponents": 0,
                        "maxTessellationControlPerPatchOutputComponents": 0,
                        "maxTessellationControlTotalOutputComponents": 0,
                        "maxTessellationEvaluationInputComponents": 0,
                        "maxTessellationEvaluationOutputComponents": 0,
                        "maxGeometryShaderInvocations": 0,
                        "maxGeometryInputComponents": 0,
                        "maxGeometryOutputComponents": 0,
                        "maxGeometryOutputVertices": 0,
                        "maxGeometryTotalOutputComponents": 0,
                        "maxFragmentInputComponents": 64,
                        "maxFragmentOutputAttachments": 4,
                        "maxFragmentDualSrcAttachments": 0,
                        "maxFragmentCombinedOutputResources": 4,
                        "maxComputeSharedMemorySize": 16384,
                        "maxComputeWorkGroupCount": [ 65535, 65535, 65535 ],
                        "maxComputeWorkGroupInvocations": 128,
                        "maxComputeWorkGroupSize": [ 128, 128, 64 ],
                        "subPixelPrecisionBits": 4,
                        "subTexelPrecisionBits": 4,
                        "mipmapPrecisionBits": 4,
                        "maxDrawIndexedIndexValue": 16777215,
                        "maxDrawIndirectCount": 1,
                        "maxSamplerLodBias": 2,
                        "maxSamplerAnisotropy": 1,
                        "maxViewports": 1,
                        "maxViewportDimensions": [ 4096, 4096 ],
                        "viewportBoundsRange": [ -8192, 8192 ],
                        "viewportSubPixelBits": 0,
                        "minMemoryMapAlignment": 64,
                        "minTexelBufferOffsetAlignment": 256,
                        "minUniformBufferOffsetAlignment": 256,
                        "minStorageBufferOffsetAlignment": 256,
                        "minTexelOffset": -8,
                        "maxTexelOffset": 7,
                        "minTexelGatherOffset": 0,
                        "maxTexelGatherOffset": 0,
                        "minInterpolationOffset": 0.0,
                        "maxInterpolationOffset": 0.0,
                        "subPixelInterpolationOffsetBits": 0,
                        "maxFramebufferWidth": 4096,
                        "maxFramebufferHeight": 4096,
                        "maxFramebufferLayers": 256,
                        "framebufferColorSampleCounts": [ "VK_SAMPLE_COUNT_1_BIT", "VK_SAMPLE_COUNT_4_BIT" ],
                        "framebufferDepthSampleCounts": [ "VK_SAMPLE_COUNT_1_BIT", "VK_SAMPLE_COUNT_4_BIT" ],
                        "framebufferStencilSampleCounts": [ "VK_SAMPLE_COUNT_1_BIT", "VK_SAMPLE_COUNT_4_BIT" ],
                        "framebufferNoAttachmentsSampleCounts": [ "VK_SAMPLE_COUNT_1_BIT", "VK_SAMPLE_COUNT_4_BIT" ],
                        "maxColorAttachments": 4,
                        "sampledImageColorSampleCounts": [ "VK_SAMPLE_COUNT_1_BIT", "VK_SAMPLE_COUNT_4_BIT" ],
                        "sampledImageIntegerSampleCounts": [ "VK_SAMPLE_COUNT_1_BIT" ],
                        "sampledImageDepthSampleCounts": [ "VK_SAMPLE_COUNT_1_BIT", "VK_SAMPLE_COUNT_4_BIT" ],
                        "sampledImageStencilSampleCounts": [ "VK_SAMPLE_COUNT_1_BIT", "VK_SAMPLE_COUNT_4_BIT" ],
                        "storageImageSampleCounts": [ "VK_SAMPLE_COUNT_1_BIT" ],
                        "maxSampleMaskWords": 1,
                        "maxClipDistances": 0,
                        "maxCullDistances": 0,
                        "maxCombinedClipAndCullDistances": 0,
                        "discreteQueuePriorities": 2,
                        "pointSizeRange": [ 1.0, 1.0 ],
                        "lineWidthRange": [ 1.0, 1.0 ],
                        "pointSizeGranularity": 0.0,
                        "lineWidthGranularity": 0.0,
                        "nonCoherentAtomSize": 256
                    }
                }
            }
        },
        "vulkan10optionals": {
            "extensions": {
                "VK_KHR_variable_pointers": 1,
                "VK_KHR_8bit_storage": 1,
                "VK_KHR_push_descriptor": 2,
                "VK_KHR_multiview": 1,
                "VK_KHR_maintenance3": 1,
                "VK_EXT_descriptor_indexing": 2,
                "VK_EXT_inline_uniform_block": 1,
                "VK_KHR_timeline_semaphore": 2,
                "VK_EXT_scalar_block_layout": 1,
                "VK_EXT_subgroup_size_control": 1,
                "VK_EXT_device_memory_report": 1,
                "VK_EXT_global_priority_query": 1,
                "VK_KHR_global_priority": 1,
                "VK_KHR_imageless_framebuffer": 1,
                "VK_KHR_separate_depth_stencil_layouts": 1,
                "VK_EXT_host_query_reset": 1,
                "VK_KHR_uniform_buffer_standard_layout": 1,
                "VK_EXT_pipeline_creation_cache_control": 1,
                "VK_KHR_sampler_ycbcr_conversion": 14,
                "VK_KHR_pipeline_executable_properties": 1,
                "VK_EXT_texture_compression_astc_hdr": 1,
                "VK_EXT_depth_clip_enable": 1,
                "VK_EXT_memory_priority": 1,
                "VK_EXT_ycbcr_image_arrays": 1,
                "VK_EXT_index_type_uint8": 1,
                "VK_EXT_primitive_topology_list_restart": 1,
                "VK_EXT_shader_demote_to_helper_invocation": 1,
                "VK_EXT_texel_buffer_alignment": 1,
                "VK_KHR_vulkan_memory_model": 3,
                "VK_KHR_buffer_device_address": 1,
                "VK_KHR_performance_query": 1,
                "VK_EXT_transform_feedback": 1,
                "VK_EXT_conditional_rendering": 2,
                "VK_EXT_vertex_attribute_divisor": 3,
                "VK_EXT_fragment_density_map": 2,
                "VK_KHR_shader_clock": 1,
                "VK_KHR_shader_atomic_int64": 1,
                "VK_KHR_shader_float16_int8": 1,
                "VK_EXT_fragment_shader_interlock": 1,
                "VK_KHR_16bit_storage": 1,
                "VK_EXT_image_robustness": 1,
                "VK_EXT_4444_formats": 1,
                "VK_EXT_mutable_descriptor_type": 1,
                "VK_VALVE_mutable_descriptor_type": 1,
                "VK_EXT_shader_image_atomic_int64": 1,
                "VK_EXT_primitives_generated_query": 1,
                "VK_KHR_fragment_shading_rate": 2,
                "VK_EXT_pipeline_protected_access": 1,
                "VK_EXT_legacy_dithering": 1,
                "VK_KHR_shader_terminate_invocation": 1,
                "VK_KHR_zero_initialize_workgroup_memory": 1,
                "VK_KHR_workgroup_memory_explicit_layout": 1,
                "VK_EXT_vertex_input_dynamic_state": 2,
                "VK_KHR_synchronization2": 1,
                "VK_EXT_provoking_vertex": 1,
                "VK_KHR_shader_subgroup_uniform_control_flow": 1,
                "VK_EXT_border_color_swizzle": 1,
                "VK_EXT_multi_draw": 1,
                "VK_KHR_present_id": 1,
                "VK_KHR_present_wait": 1,
                "VK_KHR_shader_integer_dot_product": 1,
                "VK_EXT_image_2d_view_of_3d": 1,
                "VK_EXT_private_data": 1,
                "VK_EXT_extended_dynamic_state": 1,
                "VK_EXT_extended_dynamic_state2": 1,
                "VK_EXT_depth_clip_control": 1,
                "VK_EXT_image_view_min_lod": 1,
                "VK_NV_linear_color_attachment": 1,
                "VK_NV_present_barrier": 1,
                "VK_EXT_graphics_pipeline_library": 1,
                "VK_KHR_dynamic_rendering": 1,
                "VK_EXT_mesh_shader": 1,
                "VK_EXT_subpass_merge_feedback": 2,
                "VK_EXT_color_write_enable": 1,
                "VK_EXT_multisampled_render_to_single_sampled": 1,
                "VK_EXT_image_compression_control": 1,
                "VK_EXT_image_compression_control_swapchain": 1,
                "VK_AMD_shader_early_and_late_fragment_tests": 1,
                "VK_EXT_non_seamless_cube_map": 1,
                "VK_EXT_shader_module_identifier": 1,
                "VK_EXT_pipeline_robustness": 1,
                "VK_QCOM_image_processing": 1,
                "VK_QCOM_tile_properties": 1,
                "VK_EXT_attachment_feedback_loop_layout": 2,
                "VK_EXT_depth_clamp_zero_one": 1,
                "VK_EXT_device_fault": 1,
                "VK_EXT_device_address_binding_report": 1
            },
            "features": {
                "VkPhysicalDeviceFeatures": {
                    "shaderInt64": true
                },
                "VkPhysicalDeviceMultiviewFeaturesKHR": {
                    "multiview": true,
                    "multiviewGeometryShader": true,
                    "multiviewTessellationShader": true
                },
                "VkPhysicalDeviceDescriptorIndexingFeaturesEXT": {
                    "shaderSampledImageArrayDynamicIndexing": true,
                    "shaderStorageBufferArrayDynamicIndexing": true,
                    "shaderUniformTexelBufferArrayDynamicIndexing": true,
                    "shaderStorageTexelBufferArrayDynamicIndexing": true,
                    "shaderSampledImageArrayNonUniformIndexing": true,
                    "shaderStorageBufferArrayNonUniformIndexing": true,
                    "shaderUniformTexelBufferArrayNonUniformIndexing": true,
                    "descriptorBindingSampledImageUpdateAfterBind": true,
                    "descriptorBindingStorageImageUpdateAfterBind": true,
                    "descriptorBindingStorageBufferUpdateAfterBind": true,
                    "descriptorBindingUniformTexelBufferUpdateAfterBind": true,
                    "descriptorBindingStorageTexelBufferUpdateAfterBind": true,
                    "descriptorBindingUpdateUnusedWhilePending": true,
                    "descriptorBindingPartiallyBound": true,
                    "runtimeDescriptorArray": true
                },
                "VkPhysicalDeviceVariablePointersFeaturesKHR": {
                    "variablePointersStorageBuffer": true
                },
                "VkPhysicalDevice8BitStorageFeaturesKHR": {
                    "storageBuffer8BitAccess": true
                },
                "VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR": {
                    "uniformBufferStandardLayout": true
                },
                "VkPhysicalDeviceInlineUniformBlockFeaturesEXT": {
                    "inlineUniformBlock": true,
                    "descriptorBindingInlineUniformBlockUpdateAfterBind": true
                },
                "VkPhysicalDeviceScalarBlockLayoutFeaturesEXT": {
                    "scalarBlockLayout": true
                },
                "VkPhysicalDeviceTimelineSemaphoreFeaturesKHR": {
                    "timelineSemaphore": true
                },
                "VkPhysicalDeviceSubgroupSizeControlFeaturesEXT": {
                    "subgroupSizeControl": true,
                    "computeFullSubgroups": true
                },
                "VkPhysicalDeviceDeviceMemoryReportFeaturesEXT": {
                    "deviceMemoryReport": true
                },
                "VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT": {
                    "globalPriorityQuery": true
                },
                "VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR": {
                    "globalPriorityQuery": true
                },
                "VkPhysicalDeviceImagelessFramebufferFeaturesKHR": {
                    "imagelessFramebuffer": true
                },
                "VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR": {
                    "separateDepthStencilLayouts": true
                },
                "VkPhysicalDeviceHostQueryResetFeaturesEXT": {
                    "hostQueryReset": true
                },
                "VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT": {
                    "pipelineCreationCacheControl": true
                },
                "VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR": {
                    "samplerYcbcrConversion": true
                },
                "VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR": {
                    "pipelineExecutableInfo": true
                },
                "VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT": {
                    "textureCompressionASTC_HDR": true
                },
                "VkPhysicalDeviceDepthClipEnableFeaturesEXT": {
                    "depthClipEnable": true
                },
                "VkPhysicalDeviceMemoryPriorityFeaturesEXT": {
                    "memoryPriority": true
                },
                "VkPhysicalDeviceYcbcrImageArraysFeaturesEXT": {
                    "ycbcrImageArrays": true
                },
                "VkPhysicalDeviceIndexTypeUint8FeaturesEXT": {
                    "indexTypeUint8": true
                },
                "VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT": {
                    "primitiveTopologyListRestart": true
                },
                "VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT": {
                    "shaderDemoteToHelperInvocation": true
                },
                "VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT": {
                    "texelBufferAlignment": true
                },
                "VkPhysicalDeviceVulkanMemoryModelFeaturesKHR": {
                    "vulkanMemoryModel": true
                },
                "VkPhysicalDeviceBufferDeviceAddressFeaturesKHR": {
                    "bufferDeviceAddress": true
                },
                "VkPhysicalDevicePerformanceQueryFeaturesKHR": {
                    "performanceCounterQueryPools": true
                },
                "VkPhysicalDeviceTransformFeedbackFeaturesEXT": {
                    "transformFeedback": true
                },
                "VkPhysicalDeviceConditionalRenderingFeaturesEXT": {
                    "conditionalRendering": true
                },
                "VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT": {
                    "vertexAttributeInstanceRateDivisor": true
                },
                "VkPhysicalDeviceFragmentDensityMapFeaturesEXT": {
                    "fragmentDensityMap": true
                },
                "VkPhysicalDeviceShaderClockFeaturesKHR": {
                    "shaderSubgroupClock": true
                },
                "VkPhysicalDeviceShaderAtomicInt64FeaturesKHR": {
                    "shaderBufferInt64Atomics": true
                },
                "VkPhysicalDevice16BitStorageFeaturesKHR": {
                    "storageBuffer16BitAccess": true
                },
                "VkPhysicalDeviceImageRobustnessFeaturesEXT": {
                    "robustImageAccess": true
                },
                "VkPhysicalDevice4444FormatsFeaturesEXT": {
                    "formatA4R4G4B4": true
                },
                "VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT": {
                    "mutableDescriptorType": true
                },
                "VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE": {
                    "mutableDescriptorType": true
                },
                "VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT": {
                    "shaderImageInt64Atomics": true
                },
                "VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT": {
                    "primitivesGeneratedQuery": true
                },
                "VkPhysicalDeviceFragmentShadingRateFeaturesKHR": {
                    "pipelineFragmentShadingRate": true
                },
                "VkPhysicalDevicePipelineProtectedAccessFeaturesEXT": {
                    "pipelineProtectedAccess": true
                },
                "VkPhysicalDeviceLegacyDitheringFeaturesEXT": {
                    "legacyDithering": true
                },
                "VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR": {
                    "shaderTerminateInvocation": true
                },
                "VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR": {
                    "shaderZeroInitializeWorkgroupMemory": true
                },
                "VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR": {
                    "workgroupMemoryExplicitLayout": true
                },
                "VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT": {
                    "vertexInputDynamicState": true
                },
                "VkPhysicalDeviceSynchronization2FeaturesKHR": {
                    "synchronization2": true
                },
                "VkPhysicalDeviceProvokingVertexFeaturesEXT": {
                    "provokingVertexLast": true
                },
                "VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR": {
                    "shaderSubgroupUniformControlFlow": true
                },
                "VkPhysicalDeviceBorderColorSwizzleFeaturesEXT": {
                    "borderColorSwizzle": true
                },
                "VkPhysicalDeviceMultiDrawFeaturesEXT": {
                    "multiDraw": true
                },
                "VkPhysicalDevicePresentIdFeaturesKHR": {
                    "presentId": true
                },
                "VkPhysicalDevicePresentWaitFeaturesKHR": {
                    "presentWait": true
                },
                "VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR": {
                    "shaderIntegerDotProduct": true
                },
                "VkPhysicalDeviceImage2DViewOf3DFeaturesEXT": {
                    "image2DViewOf3D": true
                },
                "VkPhysicalDevicePrivateDataFeaturesEXT": {
                    "privateData": true
                },
                "VkPhysicalDeviceExtendedDynamicStateFeaturesEXT": {
                    "extendedDynamicState": true
                },
                "VkPhysicalDeviceExtendedDynamicState2FeaturesEXT": {
                    "extendedDynamicState2": true
                },
                "VkPhysicalDeviceDepthClipControlFeaturesEXT": {
                    "depthClipControl": true
                },
                "VkPhysicalDeviceImageViewMinLodFeaturesEXT": {
                    "minLod": true
                },
                "VkPhysicalDeviceLinearColorAttachmentFeaturesNV": {
                    "linearColorAttachment": true
                },
                "VkPhysicalDevicePresentBarrierFeaturesNV": {
                    "presentBarrier": true
                },
                "VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT": {
                    "graphicsPipelineLibrary": true
                },
                "VkPhysicalDeviceDynamicRenderingFeaturesKHR": {
                    "dynamicRendering": true
                },
                "VkPhysicalDeviceMeshShaderFeaturesEXT": {
                    "taskShader": true,
                    "meshShader": true
                },
                "VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT": {
                    "subpassMergeFeedback": true
                },
                "VkPhysicalDeviceColorWriteEnableFeaturesEXT": {
                    "colorWriteEnable": true
                },
                "VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT": {
                    "multisampledRenderToSingleSampled": true
                },
                "VkPhysicalDeviceImageCompressionControlFeaturesEXT": {
                    "imageCompressionControl": true
                },
                "VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT": {
                    "imageCompressionControlSwapchain": true
                },
                "VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD": {
                    "shaderEarlyAndLateFragmentTests": true
                },
                "VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT": {
                    "nonSeamlessCubeMap": true
                },
                "VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT": {
                    "shaderModuleIdentifier": true
                },
                "VkPhysicalDevicePipelineRobustnessFeaturesEXT": {
                    "pipelineRobustness": true
                },
                "VkPhysicalDeviceImageProcessingFeaturesQCOM": {
                    "textureSampleWeighted": true,
                    "textureBoxFilter": true,
                    "textureBlockMatch": true
                },
                "VkPhysicalDeviceTilePropertiesFeaturesQCOM": {
                    "tileProperties": true
                },
                "VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT": {
                    "attachmentFeedbackLoopLayout": true
                },
                "VkPhysicalDeviceDepthClampZeroOneFeaturesEXT": {
                    "depthClampZeroOne": true
                },
                "VkPhysicalDeviceFaultFeaturesEXT": {
                    "deviceFault": true
                },
                "VkPhysicalDeviceAddressBindingReportFeaturesEXT": {
                    "reportAddressBinding": true
                }
            },
            "properties": {
                "VkPhysicalDeviceProperties": {
                    "limits": {
                        "sparseAddressSpaceSize": 2147483648
                    }
                },
                "VkPhysicalDevicePushDescriptorPropertiesKHR": {
                    "maxPushDescriptors": 32
                },
                "VkPhysicalDeviceMultiviewPropertiesKHR": {
                    "maxMultiviewViewCount": 6,
                    "maxMultiviewInstanceIndex": 134217727
                },
                "VkPhysicalDeviceMaintenance3PropertiesKHR": {
                    "maxPerSetDescriptors": 1024,
                    "maxMemoryAllocationSize": 1073741824
                },
                "VkPhysicalDeviceDescriptorIndexingPropertiesEXT": {
                    "maxUpdateAfterBindDescriptorsInAllPools": 500000,
                    "shaderUniformBufferArrayNonUniformIndexingNative": false,
                    "shaderSampledImageArrayNonUniformIndexingNative": false,
                    "shaderStorageBufferArrayNonUniformIndexingNative": false,
                    "shaderStorageImageArrayNonUniformIndexingNative": false,
                    "shaderInputAttachmentArrayNonUniformIndexingNative": false,
                    "maxPerStageDescriptorUpdateAfterBindSamplers": 500000,
                    "maxPerStageDescriptorUpdateAfterBindUniformBuffers": 12,
                    "maxPerStageDescriptorUpdateAfterBindStorageBuffers": 500000,
                    "maxPerStageDescriptorUpdateAfterBindSampledImages": 500000,
                    "maxPerStageDescriptorUpdateAfterBindStorageImages": 500000,
                    "maxPerStageDescriptorUpdateAfterBindInputAttachments": 4,
                    "maxPerStageUpdateAfterBindResources": 500000,
                    "maxDescriptorSetUpdateAfterBindSamplers": 500000,
                    "maxDescriptorSetUpdateAfterBindUniformBuffers": 72,
                    "maxDescriptorSetUpdateAfterBindUniformBuffersDynamic": 8,
                    "maxDescriptorSetUpdateAfterBindStorageBuffers": 500000,
                    "maxDescriptorSetUpdateAfterBindStorageBuffersDynamic": 4,
                    "maxDescriptorSetUpdateAfterBindSampledImages": 500000,
                    "maxDescriptorSetUpdateAfterBindStorageImages": 500000,
                    "maxDescriptorSetUpdateAfterBindInputAttachments": 4
                },
                "VkPhysicalDeviceInlineUniformBlockPropertiesEXT": {
                    "maxInlineUniformBlockSize": 256,
                    "maxPerStageDescriptorInlineUniformBlocks": 4,
                    "maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks": 4,
                    "maxDescriptorSetInlineUniformBlocks": 4,
                    "maxDescriptorSetUpdateAfterBindInlineUniformBlocks": 4
                },
                "VkPhysicalDeviceTimelineSemaphorePropertiesKHR": {
                    "maxTimelineSemaphoreValueDifference": 2147483647
                },
                "VkPhysicalDeviceFragmentShadingRatePropertiesKHR": {
                    "minFragmentShadingRateAttachmentTexelSize": {
                        "width": 0,
                        "height": 0
                    },
                    "maxFragmentShadingRateAttachmentTexelSize": {
                        "width": 0,
                        "height": 0
                    },
                    "maxFragmentShadingRateAttachmentTexelSizeAspectRatio": 0,
                    "maxFragmentSize": {
                        "width": 2,
                        "height": 2
                    },
                    "maxFragmentSizeAspectRatio": 2,
                    "maxFragmentShadingRateCoverageSamples": 16,
                    "maxFragmentShadingRateRasterizationSamples": "VK_SAMPLE_COUNT_4_BIT"
                }
            }
        },
        "vulkan11requirements": {
            "extensions": {

            },
            "features": {
                "VkPhysicalDeviceVulkan11Features": {
                    "multiview": true
                }
            },
            "properties": {
                "VkPhysicalDeviceVulkan11Properties": {
                    "maxMultiviewViewCount": 6,
                    "maxMultiviewInstanceIndex": 134217727
                }
            }
        },
        "vulkan11optionals": {
            "extensions": {
                "VK_KHR_maintenance4": 2,
                "VK_KHR_ray_tracing_pipeline": 1,
                "VK_KHR_acceleration_structure": 13,
                "VK_KHR_buffer_device_address": 2,
                "VK_KHR_pipeline_library": 1,
                "VK_KHR_ray_query": 1,
                "VK_KHR_shader_subgroup_extended_types": 1,
                "VK_KHR_ray_tracing_maintenance1": 1,
                "VK_EXT_opacity_micromap": 2
            },
            "features": {
                "VkPhysicalDeviceMaintenance4FeaturesKHR": {
                    "maintenance4": true
                },
                "VkPhysicalDeviceRayTracingPipelineFeaturesKHR": {
                    "rayTracingPipeline": true,
                    "rayTracingPipelineShaderGroupHandleCaptureReplay": true

                },
                "VkPhysicalDeviceAccelerationStructureFeaturesKHR": {
                    "accelerationStructure": true,
                    "descriptorBindingAccelerationStructureUpdateAfterBind": true
                },
                "VkPhysicalDeviceBufferDeviceAddressFeaturesEXT": {
                    "bufferDeviceAddress": true
                },
                "VkPhysicalDeviceRayQueryFeaturesKHR": {
                    "rayQuery": true
                },
                "VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR": {
                    "shaderSubgroupExtendedTypes": true
                },
                "VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR": {
                    "rayTracingMaintenance1": true
                },
                "VkPhysicalDeviceOpacityMicromapFeaturesEXT": {
                    "micromap": true
                }
            },
            "properties": {
                "VkPhysicalDeviceMaintenance4PropertiesKHR": {
                    "maxBufferSize": 1073741824
                },
                "VkPhysicalDeviceRayTracingPipelinePropertiesKHR": {
                    "maxRayRecursionDepth": 1,
                    "maxShaderGroupStride": 4096,
                    "shaderGroupBaseAlignment": 64,
                    "shaderGroupHandleCaptureReplaySize": 64,
                    "maxRayDispatchInvocationCount": 1073741824,
                    "shaderGroupHandleAlignment": 32,
                    "maxRayHitAttributeSize": 32
                },
                "VkPhysicalDeviceAccelerationStructurePropertiesKHR": {
                    "maxGeometryCount": 16777215,
                    "maxInstanceCount": 16777215,
                    "maxPrimitiveCount": 536870911,
                    "maxPerStageDescriptorAccelerationStructures": 16,
                    "maxPerStageDescriptorUpdateAfterBindAccelerationStructures": 500000,
                    "maxDescriptorSetAccelerationStructures": 16,
                    "maxDescriptorSetUpdateAfterBindAccelerationStructures": 500000,
                    "minAccelerationStructureScratchOffsetAlignment": 256
                }
            }
        },
        "vulkan12requirements": {
            "extensions": {

            },
            "features": {
                "VkPhysicalDeviceVulkan12Features": {
                    "uniformBufferStandardLayout": true,
                    "subgroupBroadcastDynamicId": true,
                    "imagelessFramebuffer": true,
                    "separateDepthStencilLayouts": true,
                    "hostQueryReset": true,
                    "timelineSemaphore": true,
                    "shaderSubgroupExtendedTypes": true
                },
                "VkPhysicalDeviceHostQueryResetFeatures": {
                    "hostQueryReset": true
                },
                "VkPhysicalDeviceTimelineSemaphoreFeatures": {
                    "timelineSemaphore": true
                }
            },
            "properties": {
                "VkPhysicalDeviceVulkan12Properties": {
                    "maxTimelineSemaphoreValueDifference": 2147483647,
                    "framebufferIntegerColorSampleCounts": [ "VK_SAMPLE_COUNT_1_BIT" ]
                },
                "VkPhysicalDeviceTimelineSemaphoreProperties": {
                    "maxTimelineSemaphoreValueDifference": 2147483647
                }
            }
        },
        "vulkan12optionals": {
            "extensions": {

            },
            "features": {

            },
            "properties": {

            }
        },
        "vulkan13requirements": {
            "extensions": {

            },
            "features": {
                "VkPhysicalDeviceVulkan12Features": {
                    "vulkanMemoryModel": true,
                    "vulkanMemoryModelDeviceScope": true,
                    "bufferDeviceAddress": true
                },
                "VkPhysicalDeviceVulkan13Features": {
                    "robustImageAccess": true,
                    "shaderTerminateInvocation": true,
                    "shaderZeroInitializeWorkgroupMemory": true,
                    "synchronization2": true,
                    "shaderIntegerDotProduct": true,
                    "maintenance4": true,
                    "pipelineCreationCacheControl": true,
                    "privateData": true,
                    "subgroupSizeControl": true,
                    "computeFullSubgroups": true,
                    "shaderDemoteToHelperInvocation": true,
                    "inlineUniformBlock": true,
                    "dynamicRendering": true
                },
                "VkPhysicalDeviceInlineUniformBlockFeatures": {
                    "inlineUniformBlock": true
                },
                "VkPhysicalDeviceImageRobustnessFeatures": {
                    "robustImageAccess": true
                },
                "VkPhysicalDevicePrivateDataFeatures": {
                    "privateData": true
                }
            },
            "properties": {
                "VkPhysicalDeviceVulkan13Properties": {
                    "maxBufferSize": 1073741824,
                    "maxInlineUniformBlockSize": 256,
                    "maxPerStageDescriptorInlineUniformBlocks": 4,
                    "maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks": 4,
                    "maxDescriptorSetInlineUniformBlocks": 4,
                    "maxDescriptorSetUpdateAfterBindInlineUniformBlocks": 4,
                    "maxInlineUniformTotalSize": 256
                },
                "VkPhysicalDeviceInlineUniformBlockProperties": {
                    "maxInlineUniformBlockSize": 256,
                    "maxPerStageDescriptorInlineUniformBlocks": 4,
                    "maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks": 4,
                    "maxDescriptorSetInlineUniformBlocks": 4,
                    "maxDescriptorSetUpdateAfterBindInlineUniformBlocks": 4
                }
            }
        },
        "vulkan13optionals": {
            "extensions": {

            },
            "features": {

            },
            "properties": {

            }
        }
    },
    "profiles": {
        "VP_KHR_baseline_1_0": {
            "version": 1,
            "api-version": "1.0.232",
            "label": "Khronos Vulkan 1.0 Baseline profile",
            "description": "All the required capabilities and optionals capabilities for Vulkan 1.0.",
            "capabilities": [
                "vulkan10requirements"
            ],
            "optionals": [
                "vulkan10optionals"
            ]
        },
        "VP_KHR_baseline_1_1": {
            "version": 1,
            "api-version": "1.1.232",
            "label": "Khronos Vulkan 1.1 Baseline profile",
            "description": "All the required capabilities and optionals capabilities for Vulkan 1.1.",
            "capabilities": [
                "vulkan10requirements",
                "vulkan11requirements"
            ],
            "optionals": [
                "vulkan10optionals",
                "vulkan11optionals"
            ]
        },
        "VP_KHR_baseline_1_2": {
            "version": 1,
            "api-version": "1.2.232",
            "label": "Khronos Vulkan 1.2 Baseline profile",
            "description": "All the required capabilities and optionals capabilities for Vulkan 1.2.",
            "capabilities": [
                "vulkan10requirements",
                "vulkan11requirements",
                "vulkan12requirements"
            ],
            "optionals": [
                "vulkan10optionals",
                "vulkan11optionals",
                "vulkan12optionals"
            ]
        },
        "VP_KHR_baseline_1_3": {
            "version": 1,
            "api-version": "1.3.232",
            "label": "Khronos Vulkan 1.3 Baseline profile",
            "description": "All the required capabilities and optionals capabilities for Vulkan 1.3.",
            "capabilities": [
                "vulkan10requirements",
                "vulkan11requirements",
                "vulkan12requirements",
                "vulkan13requirements"
            ],
            "optionals": [
                "vulkan10optionals",
                "vulkan11optionals",
                "vulkan12optionals",
                "vulkan13optionals"
            ]
        }
    },
    "contributors": {
        "Christophe Riccio": {
            "company": "LunarG",
            "email": "christophe@lunarg.com"
        }
    },
    "history": [
        {
            "revision": 1,
            "date": "2022-11-01",
            "author": "Christophe Riccio",
            "comment": "Initial revision"
        }
    ]
}
