{
    "$schema": "https://schema.khronos.org/vulkan/profiles-0.8.2-271.json",
    "capabilities": {
        "vulkan10requirements": {
            "features": {
                "VkPhysicalDeviceFeatures": {
                    "robustBufferAccess": true
                }
            }
        },
        "gl21_baseline": {
            "extensions": {
                "VK_KHR_maintenance1": 1,
                "VK_KHR_create_renderpass2": 1,
                "VK_KHR_imageless_framebuffer": 1,
                "VK_KHR_timeline_semaphore": 1,
                "VK_EXT_custom_border_color": 1,
                "VK_EXT_line_rasterization": 1,
                "VK_KHR_swapchain_mutable_format": 1,
                "VK_KHR_incremental_present": 1,
                "VK_EXT_border_color_swizzle": 1,
                "VK_KHR_descriptor_update_template": 1
            },
            "features": {
                "VkPhysicalDeviceFeatures": {
                    "logicOp": true,
                    "fillModeNonSolid": true,
                    "alphaToOne": true,
                    "shaderClipDistance": true
                },
                "VkPhysicalDeviceCustomBorderColorFeaturesEXT": {
                    "customBorderColorWithoutFormat": true
                },
                "VkPhysicalDeviceBorderColorSwizzleFeaturesEXT": {
                    "borderColorSwizzleFromImage": true
                },
                "VkPhysicalDeviceLineRasterizationFeaturesEXT": {
                    "rectangularLines": true
                }
            }
        },
        "gl21_baseline_vk10": {
            "extensions": {
                "VK_EXT_scalar_block_layout": 1
            },
            "features": {
                "VkPhysicalDeviceScalarBlockLayoutFeatures": {
                    "scalarBlockLayout": true
                },
                "VkPhysicalDeviceTimelineSemaphoreFeatures": {
                    "timelineSemaphore": true
                },
                "VkPhysicalDeviceImagelessFramebufferFeatures": {
                    "imagelessFramebuffer": true
                }
            }
        },
        "gl21_baseline_vk12": {
            "features": {
                "VkPhysicalDeviceVulkan12Features": {
                    "scalarBlockLayout": true,
                    "drawIndirectCount": true,
                    "imagelessFramebuffer": true,
                    "timelineSemaphore": true
                }
            }
        },
        "gl21_baseline_line_bresenham": {
        	"features": {
                "VkPhysicalDeviceLineRasterizationFeaturesEXT": {
                    "bresenhamLines": true
                }
            }
        },
        "gl21_baseline_line_non_strict": {
        	"properties": {
                "VkPhysicalDeviceProperties": {
                    "limits": {
                        "strictLines": false
                    }
                }
            }
        },
        "gl21_optional": {
            "extensions": {
                "VK_KHR_external_memory": 1
            }
        },
        "gl30_baseline": {
            "extensions": {
                "VK_EXT_transform_feedback": 1,
                "VK_EXT_conditional_rendering": 1
            },
            "features": {
                "VkPhysicalDeviceFeatures": {
                    "independentBlend": true
                },
                "VkPhysicalDeviceTransformFeedbackFeaturesEXT": {
                    "transformFeedback": true
                },
                "VkPhysicalDeviceConditionalRenderingFeaturesEXT": {
                    "conditionalRendering": true
                }
            },
            "formats": {
                "VK_FORMAT_D32_SFLOAT_S8_UINT": {
                    "VkFormatProperties": {
                        "optimalTilingFeatures": [
                            "VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT"
                        ]
                    }
                }
            }
        },
        "gl31_baseline": {
            "properties": {
                "VkPhysicalDeviceProperties": {
                    "limits": {
                        "maxPerStageDescriptorSamplers": 16
                    }
                }
            }
        },
        "gl32_baseline": {
            "extensions": {
                "VK_EXT_depth_clip_enable": 1
            },
            "features": {
                "VkPhysicalDeviceFeatures": {
                    "depthClamp": true,
                    "geometryShader": true,
                    "shaderTessellationAndGeometryPointSize": true
                },
                "VkPhysicalDeviceDepthClipEnableFeaturesEXT": {
                    "depthClipEnable": true
                }
            }
        },
        "gl33_baseline": {
            "extensions": {
                "VK_EXT_vertex_attribute_divisor": 1
            },
            "features": {
                "VkPhysicalDeviceFeatures": {
                    "dualSrcBlend": true
                },
                "VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT": {
                    "vertexAttributeInstanceRateDivisor": true
                }
            }
        },
        "gl40_baseline": {
            "extensions": {
                "VK_KHR_maintenance2": 1,
                "VK_KHR_maintenance3": 1,
                "VK_KHR_maintenance4": 1,
                "VK_KHR_maintenance5": 1
            },
            "features": {
                "VkPhysicalDeviceFeatures": {
                    "sampleRateShading": true,
                    "tessellationShader": true,
                    "imageCubeArray": true
                },
                "VkPhysicalDeviceMaintenance4Features": {
                    "maintenance4": true
                },
                "VkPhysicalDeviceMaintenance5FeaturesKHR": {
                    "maintenance5": true
                }
            },
            "formats": {
                "VK_FORMAT_R32G32B32_SFLOAT": {
                    "VkFormatProperties": {
                        "bufferFeatures": [
                            "VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT"
                        ]
                    }
                },
                "VK_FORMAT_R32G32B32_SINT": {
                    "VkFormatProperties": {
                        "bufferFeatures": [
                            "VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT"
                        ]
                    }
                },
                "VK_FORMAT_R32G32B32_UINT": {
                    "VkFormatProperties": {
                        "bufferFeatures": [
                            "VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT"
                        ]
                    }
                }
            }
        },
        "gl41_baseline": {
            "features": {
                "VkPhysicalDeviceFeatures": {
                    "multiViewport": true
                }
            },
            "properties": {
                "VkPhysicalDeviceProperties": {
                    "limits": {
                        "maxImageDimension1D": 16384,
                        "maxImageDimension2D": 16384,
                        "maxImageDimension3D": 2048,
                        "maxImageDimensionCube": 16384,
                        "maxImageArrayLayers": 2048,
                        "maxViewports": 16
                    }
                }
            }
        },
        "gl42_baseline": {
            "extensions": {
                "VK_EXT_image_2d_view_of_3d": 1
            },
            "features": {
                "VkPhysicalDeviceFeatures": {
                    "shaderStorageImageExtendedFormats": true,
                    "shaderStorageImageWriteWithoutFormat": true,
                    "vertexPipelineStoresAndAtomics": true,
                    "fragmentStoresAndAtomics": true
                },
                "VkPhysicalDeviceImage2DViewOf3DFeaturesEXT": {
                    "image2DViewOf3D": true
                }
            }
        },
        "gl42_baseline_vk10": {
            "extensions": {
                "VK_KHR_shader_draw_parameters": 1
            },
            "features": {
                "VkPhysicalDeviceShaderDrawParametersFeatures": {
                    "shaderDrawParameters": true
                }
            }
        },
        "gl42_baseline_vk12": {
            "features": {
                "VkPhysicalDeviceVulkan11Features": {
                    "shaderDrawParameters": true
                }
            }
        },
        "gl43_baseline_rb2": {
            "extensions": {
                "VK_EXT_robustness2": 1
            },
            "features": {
                "VkPhysicalDeviceRobustness2FeaturesEXT": {
                    "robustImageAccess2": true
                }
            }
        },
        "gl43_baseline_rb_image_vk13": {
            "features": {
                "VkPhysicalDeviceVulkan13Features": {
                    "robustImageAccess": true
                }
            }
        },
        "gl43_baseline_rb_image_ext": {
            "extensions": {
                "VK_EXT_image_robustness": 1
            },
            "features": {
                "VkPhysicalDeviceImageRobustnessFeatures": {
                    "robustImageAccess": true
                }
            }
        },
        "gl43_baseline": {
            "features": {
                "VkPhysicalDeviceFeatures": {
                    "robustBufferAccess": true,
                    "multiDrawIndirect": true
                }
            },
            "formats": {
                "VK_FORMAT_R8G8B8A8_UNORM": {
                    "VkFormatProperties": {
                        "linearTilingFeatures": [ 
                            "VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT"
                        ],
                        "optimalTilingFeatures": [ 
                            "VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT"
                        ]
                    }
                },
                "VK_FORMAT_R8G8B8A8_SRGB": {
                    "VkFormatProperties": {
                        "linearTilingFeatures": [ 
                            "VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT"
                        ],
                        "optimalTilingFeatures": [ 
                            "VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT"
                        ]
                    }
                },
                "VK_FORMAT_R16_UNORM": {
                    "VkFormatProperties": {
                        "linearTilingFeatures": [ 
                            "VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT"
                        ],
                        "optimalTilingFeatures": [ 
                            "VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT"
                        ]
                    }
                },
                "VK_FORMAT_R16G16_UNORM": {
                    "VkFormatProperties": {
                        "linearTilingFeatures": [ 
                            "VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT"
                        ],
                        "optimalTilingFeatures": [ 
                            "VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT"
                        ]
                    }
                },
                "VK_FORMAT_R16_SNORM": {
                    "VkFormatProperties": {
                        "linearTilingFeatures": [ 
                            "VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT"
                        ],
                        "optimalTilingFeatures": [ 
                            "VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT"
                        ]
                    }
                },
                "VK_FORMAT_R16G16_SNORM": {
                    "VkFormatProperties": {
                        "linearTilingFeatures": [ 
                            "VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT"
                        ],
                        "optimalTilingFeatures": [ 
                            "VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT"
                        ]
                    }
                },
                "VK_FORMAT_D32_SFLOAT_S8_UINT": {
                    "VkFormatProperties": {
                        "optimalTilingFeatures": [ 
                            "VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT"
                        ]
                    }
                }
            }
        },
        "gl44_baseline": {
            "formats": {
                "VK_FORMAT_B10G11R11_UFLOAT_PACK32": {
                    "VkFormatProperties": {
                        "bufferFeatures": [
                            "VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT"
                        ]
                    }
                }
            }
        },
        "gl44_baseline_ext": {
            "extensions": {
                "VK_KHR_sampler_mirror_clamp_to_edge": 1
            }
        },
        "gl44_baseline_vk12": {
            "features": {
                "VkPhysicalDeviceVulkan12Features": {
                    "samplerMirrorClampToEdge": true
                }
            }
        },
        "gl45_baseline": {
            "features": {
                "VkPhysicalDeviceFeatures": {
                    "shaderCullDistance": true
                }
            }
        },
        "gl46_baseline": {
            "extensions": {
                "VK_KHR_draw_indirect_count": 1
            },
            "features": {
                "VkPhysicalDeviceFeatures": {
                    "samplerAnisotropy": true,
                    "depthBiasClamp": true
                }
            }
        },
        "gl46_optimal": {
            "extensions": {
                "VK_EXT_extended_dynamic_state": 1,
                "VK_EXT_extended_dynamic_state2": 1,
                "VK_EXT_extended_dynamic_state3": 1,
                "VK_EXT_graphics_pipeline_library": 1,
                "VK_EXT_non_seamless_cube_map": 1,
                "VK_KHR_pipeline_library": 1,
                "VK_EXT_attachment_feedback_loop_layout": 1,
                "VK_EXT_attachment_feedback_loop_dynamic_state": 1,
                "VK_KHR_maintenance6": 1,
                "VK_KHR_maintenance7": 1
            },
            "features": {
                "VkPhysicalDeviceExtendedDynamicStateFeaturesEXT": {
                    "extendedDynamicState": true
                },
                "VkPhysicalDeviceExtendedDynamicState2FeaturesEXT": {
                    "extendedDynamicState2": true,
                    "extendedDynamicState2LogicOp": true,
                    "extendedDynamicState2PatchControlPoints": true
                },
                "VkPhysicalDeviceExtendedDynamicState3FeaturesEXT": {
                    "extendedDynamicState3PolygonMode": true,
                    "extendedDynamicState3DepthClampEnable": true,
                    "extendedDynamicState3DepthClipEnable": true,
                    "extendedDynamicState3ProvokingVertexMode": true,
                    "extendedDynamicState3LineRasterizationMode": true,
                    "extendedDynamicState3DepthClipNegativeOneToOne": true
                },
                "VkPhysicalDeviceFeatures": {
                    "textureCompressionBC": true
                },
                "VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT": {
                    "graphicsPipelineLibrary": true
                },
                "VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT": {
                    "nonSeamlessCubeMap": true
                },
                "VkPhysicalDeviceProvokingVertexFeaturesEXT": {
                    "provokingVertexLast": true
                },
                "VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT": {
                    "attachmentFeedbackLoopLayout": true
                },
                "VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT": {
                    "attachmentFeedbackLoopDynamicState": true
                },
                "VkPhysicalDeviceMaintenance6FeaturesKHR": {
                    "maintenance6": true
                },
                "VkPhysicalDeviceMaintenance7FeaturesKHR": {
                    "maintenance7": true
                }
            },
            "properties": {
                "VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT": {

                }
            }
        },
        "gl46_optimal_ext": {
            "extensions": {
                "VK_EXT_provoking_vertex": 1,
                "VK_KHR_dynamic_rendering": 1,
                "VK_KHR_dynamic_rendering_local_read": 1,
                "VK_EXT_dynamic_rendering_unused_attachments": 1,
                "VK_EXT_legacy_vertex_attributes": 1
            },
            "features": {
                "VkPhysicalDeviceDynamicRenderingFeatures": {
                    "dynamicRendering": true
                },
                "VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR": {
                    "dynamicRenderingLocalRead": true
                },
                "VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT": {
                    "dynamicRenderingUnusedAttachments": true
                },
                "VkPhysicalDeviceLegacyVertexAttributesFeaturesEXT": {
                    "legacyVertexAttributes": true
                }
            }
        },
        "gl46_optimal_vk13": {
            "features": {
                "VkPhysicalDeviceVulkan13Features": {
                    "dynamicRendering": true
                }
            }
        },
        "gl46_optional": {
            "extensions": {
                "VK_EXT_primitives_generated_query": 1,
                "VK_EXT_color_write_enable": 1,
                "VK_EXT_extended_dynamic_state3": 1,
                "VK_EXT_descriptor_buffer": 1
            },
            "features": {
                "VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT": {
                    "primitivesGeneratedQueryWithRasterizerDiscard": true
                },
                "VkPhysicalDeviceColorWriteEnableFeaturesEXT": {
                    "colorWriteEnable": true
                },
                "VkPhysicalDeviceExtendedDynamicState3FeaturesEXT": {
                    "extendedDynamicState3AlphaToOneEnable": true,
                    "extendedDynamicState3SampleMask": true,
                    "extendedDynamicState3AlphaToCoverageEnable": true,
                    "extendedDynamicState3ColorBlendEnable": true,
                    "extendedDynamicState3RasterizationSamples": true,
                    "extendedDynamicState3ColorWriteMask": true,
                    "extendedDynamicState3LogicOpEnable": true
                },
                "VkPhysicalDeviceDescriptorBufferFeaturesEXT": {
                    "descriptorBuffer": true
                }
            }
        },
        "gl46_optional_ext": {
            "extensions": {
                "VK_EXT_pipeline_creation_cache_control": 1
            },
            "features": {
                "VkPhysicalDevicePipelineCreationCacheControlFeatures": {
                    "pipelineCreationCacheControl": true
                }
            }
        },
        "gl46_optional_vk13": {
            "features": {
                "VkPhysicalDeviceVulkan13Features": {
                    "pipelineCreationCacheControl": true
                }
            }
        },
        "GL_ARB_bindless_texture": {
            "extensions": {
                "VK_EXT_descriptor_indexing": 1
            },
            "properties": {
                "VkPhysicalDeviceDescriptorIndexingProperties": {
                    "robustBufferAccessUpdateAfterBind": true
                }
            }
        },
        "GL_ARB_sparse_texture": {
            "features": {
                "VkPhysicalDeviceFeatures": {
                    "sparseResidencyImage2D": true,
                    "sparseResidencyImage3D": true
                }
            }
        },
        "GL_ARB_sparse_texture2": {
            "features": {
                "VkPhysicalDeviceFeatures": {
                    "sparseResidency2Samples": true
                }
            }
        },
        "GL_ARB_sparse_texture_clamp_2s": {
            "features": {
                "VkPhysicalDeviceFeatures": {
                    "sparseResidency2Samples": true
                }
            }
        },
        "GL_ARB_sparse_texture_clamp_4s": {
            "features": {
                "VkPhysicalDeviceFeatures": {
                    "sparseResidency4Samples": true
                }
            }
        },
        "GL_ARB_sparse_texture_clamp_8s": {
            "features": {
                "VkPhysicalDeviceFeatures": {
                    "sparseResidency8Samples": true
                }
            }
        },
        "GL_ARB_sparse_texture_clamp_16s": {
            "features": {
                "VkPhysicalDeviceFeatures": {
                    "sparseResidency16Samples": true
                }
            }
        },
        "GL_ARB_sparse_buffer": {
            "features": {
                "VkPhysicalDeviceFeatures": {
                    "sparseBinding": true,
                    "sparseResidencyBuffer": true
                }
            }
        },       
        "GL_ARB_shader_viewport_layer_array_ext": {
            "extensions": {
                "VK_EXT_shader_viewport_index_layer": 1
            }
        },
        "GL_ARB_shader_viewport_layer_array_vk12": {
            "features": {
                "VkPhysicalDeviceVulkan12Features": {
                    "shaderOutputViewportIndex": true,
                    "shaderOutputLayer": true
                }
            }
        },
        "GL_ARB_fragment_shader_interlock": {
            "extensions": {
                "VK_EXT_fragment_shader_interlock": 1
            }
        },
        "GL_ARB_shader_clock": {
            "extensions": {
                "VK_KHR_shader_clock": 1
            }
        },
        "GL_ARB_shader_ballot_ext": {
            "extensions": {
                "VK_EXT_shader_subgroup_ballot": 1
            }
        },
        "GL_ARB_shader_ballot_vk11": {
            "properties": {
                "VkPhysicalDeviceSubgroupProperties": {
                    "subgroupSize": 64,
                    "supportedOperations": [ "VK_SUBGROUP_FEATURE_BALLOT_BIT" ]
                }
            } 
        },
        "GL_ARB_sample_locations": {
            "extensions": {
                "VK_EXT_extended_dynamic_state": 1,
                "VK_EXT_sample_locations": 1
            },
            "features": {
                "VkPhysicalDeviceExtendedDynamicStateFeaturesEXT": {
                    "extendedDynamicState": true
                }
            }
        },
        "GL_ARB_shader_stencil_export": {
            "extensions": {
                "VK_EXT_shader_stencil_export": 1
            }
        },
        "GL_EXT_depth_bounds_test": {
            "features": {
                "VkPhysicalDeviceFeatures": {
                    "depthBounds": true
                }
            }
        },
        "GL_EXT_texture_filter_minmax_ext": {
            "extensions": {
                "VK_EXT_sampler_filter_minmax": 1
            },
            "properties": {
                "VkPhysicalDeviceSamplerFilterMinmaxProperties": {
                    "filterMinmaxSingleComponentFormats": true,
                    "filterMinmaxImageComponentMapping": true
                }
            } 
        },
        "GL_EXT_texture_filter_minmax_vk12": {
            "properties": {
                "VkPhysicalDeviceVulkan12Properties": {
                    "filterMinmaxSingleComponentFormats": true,
                    "filterMinmaxImageComponentMapping": true
                }
            }       
        }
    },
    "profiles": {
        "VP_ZINK_gl21_baseline": {
            "version": 1,
            "api-version": "1.2.0",
            "label": "Zink OpenGL 2.1 Baseline profile",
            "description": "Minimum requirements for Zink OpenGL 2.1 support.",
            "capabilities": [
                "vulkan10requirements",
                "gl21_baseline",
                [ "gl21_baseline_vk10", "gl21_baseline_vk12" ],
                [ "gl21_baseline_line_bresenham", "gl21_baseline_line_non_strict" ]
            ]
        },
        "VP_ZINK_gl30_baseline": {
            "version": 1,
            "api-version": "1.2.0",
            "label": "Zink OpenGL 3.0 Baseline profile",
            "description": "Minimum requirements for Zink OpenGL 3.0 support.",
            "capabilities": [
                "vulkan10requirements",
                "gl21_baseline",
                [ "gl21_baseline_vk10", "gl21_baseline_vk12" ],
                [ "gl21_baseline_line_bresenham", "gl21_baseline_line_non_strict" ],
                "gl30_baseline"
            ]
        },
        "VP_ZINK_gl31_baseline": {
            "version": 1,
            "api-version": "1.2.0",
            "label": "Zink OpenGL 3.1 Baseline profile",
            "description": "Minimum requirements for Zink OpenGL 3.1 support.",
            "capabilities": [
                "vulkan10requirements",
                "gl21_baseline",
                [ "gl21_baseline_vk10", "gl21_baseline_vk12" ],
                [ "gl21_baseline_line_bresenham", "gl21_baseline_line_non_strict" ],
                "gl30_baseline",
                "gl31_baseline"
            ]
        },
        "VP_ZINK_gl32_baseline": {
            "version": 1,
            "api-version": "1.2.0",
            "label": "Zink OpenGL 3.2 Baseline profile",
            "description": "Minimum requirements for Zink OpenGL 3.2 support.",
            "capabilities": [
                "vulkan10requirements",
                "gl21_baseline",
                [ "gl21_baseline_vk10", "gl21_baseline_vk12" ],
                [ "gl21_baseline_line_bresenham", "gl21_baseline_line_non_strict" ],
                "gl30_baseline",
                "gl31_baseline",
                "gl32_baseline"
            ]
        },
        "VP_ZINK_gl33_baseline": {
            "version": 1,
            "api-version": "1.2.0",
            "label": "Zink OpenGL 3.3 Baseline profile",
            "description": "Minimum requirements for Zink OpenGL 3.3 support.",
            "capabilities": [
                "vulkan10requirements",
                "gl21_baseline",
                [ "gl21_baseline_vk10", "gl21_baseline_vk12" ],
                [ "gl21_baseline_line_bresenham", "gl21_baseline_line_non_strict" ],
                "gl30_baseline",
                "gl31_baseline",
                "gl32_baseline",
                "gl33_baseline"
            ]
        },
        "VP_ZINK_gl40_baseline": {
            "version": 1,
            "api-version": "1.2.0",
            "label": "Zink OpenGL 4.0 Baseline profile",
            "description": "Minimum requirements for Zink OpenGL 4.0 support.",
            "capabilities": [
                "vulkan10requirements",
                "gl21_baseline",
                [ "gl21_baseline_vk10", "gl21_baseline_vk12" ],
                [ "gl21_baseline_line_bresenham", "gl21_baseline_line_non_strict" ],
                "gl30_baseline",
                "gl31_baseline",
                "gl32_baseline",
                "gl33_baseline",
                "gl40_baseline"
            ]
        },
        "VP_ZINK_gl41_baseline": {
            "version": 1,
            "api-version": "1.2.0",
            "label": "Zink OpenGL 4.1 Baseline profile",
            "description": "Minimum requirements for Zink OpenGL 4.1 support.",
            "capabilities": [
                "vulkan10requirements",
                "gl21_baseline",
                [ "gl21_baseline_vk10", "gl21_baseline_vk12" ],
                [ "gl21_baseline_line_bresenham", "gl21_baseline_line_non_strict" ],
                "gl30_baseline",
                "gl31_baseline",
                "gl32_baseline",
                "gl33_baseline",
                "gl40_baseline",
                "gl41_baseline"
            ]
        },
        "VP_ZINK_gl42_baseline": {
            "version": 1,
            "api-version": "1.2.0",
            "label": "Zink OpenGL 4.2 Baseline profile",
            "description": "Minimum requirements for Zink OpenGL 4.2 support.",
            "capabilities": [
                "vulkan10requirements",
                "gl21_baseline",
                [ "gl21_baseline_vk10", "gl21_baseline_vk12" ],
                [ "gl21_baseline_line_bresenham", "gl21_baseline_line_non_strict" ],
                "gl30_baseline",
                "gl31_baseline",
                "gl32_baseline",
                "gl33_baseline",
                "gl40_baseline",
                "gl41_baseline",
                "gl42_baseline",
                [ "gl42_baseline_vk10", "gl42_baseline_vk12" ]
            ]
        },
        "VP_ZINK_gl43_baseline": {
            "version": 1,
            "api-version": "1.3.0",
            "label": "Zink OpenGL 4.3 Baseline profile",
            "description": "Minimum requirements for Zink OpenGL 4.3 support.",
            "capabilities": [
                "vulkan10requirements",
                "gl21_baseline",
                [ "gl21_baseline_vk10", "gl21_baseline_vk12" ],
                [ "gl21_baseline_line_bresenham", "gl21_baseline_line_non_strict" ],
                "gl30_baseline",
                "gl31_baseline",
                "gl32_baseline",
                "gl33_baseline",
                "gl40_baseline",
                "gl41_baseline",
                "gl42_baseline",
                [ "gl42_baseline_vk10", "gl42_baseline_vk12" ],
                "gl43_baseline",
                [ "gl43_baseline_rb2", "gl43_baseline_rb_image_vk13", "gl43_baseline_rb_image_ext" ]
            ]
        },
        "VP_ZINK_gl44_baseline": {
            "version": 1,
            "api-version": "1.3.0",
            "label": "Zink OpenGL 4.4 Baseline profile",
            "description": "Minimum requirements for Zink OpenGL 4.4 support.",
            "capabilities": [
                "vulkan10requirements",
                "gl21_baseline",
                [ "gl21_baseline_vk10", "gl21_baseline_vk12" ],
                [ "gl21_baseline_line_bresenham", "gl21_baseline_line_non_strict" ],
                "gl30_baseline",
                "gl31_baseline",
                "gl32_baseline",
                "gl33_baseline",
                "gl40_baseline",
                "gl41_baseline",
                "gl42_baseline",
                [ "gl42_baseline_vk10", "gl42_baseline_vk12" ],
                "gl43_baseline",
                [ "gl43_baseline_rb2", "gl43_baseline_rb_image_vk13", "gl43_baseline_rb_image_ext" ],
                "gl44_baseline",
                [ "gl44_baseline_ext", "gl44_baseline_vk12" ]
            ]
        },
        "VP_ZINK_gl45_baseline": {
            "version": 1,
            "api-version": "1.3.0",
            "label": "Zink OpenGL 4.5 Baseline profile",
            "description": "Minimum requirements for Zink OpenGL 4.5 support.",
            "capabilities": [
                "vulkan10requirements",
                "gl21_baseline",
                [ "gl21_baseline_vk10", "gl21_baseline_vk12" ],
                [ "gl21_baseline_line_bresenham", "gl21_baseline_line_non_strict" ],
                "gl30_baseline",
                "gl31_baseline",
                "gl32_baseline",
                "gl33_baseline",
                "gl40_baseline",
                "gl41_baseline",
                "gl42_baseline",
                [ "gl42_baseline_vk10", "gl42_baseline_vk12" ],
                "gl43_baseline",
                [ "gl43_baseline_rb2", "gl43_baseline_rb_image_vk13", "gl43_baseline_rb_image_ext" ],
                "gl44_baseline",
                [ "gl44_baseline_ext", "gl44_baseline_vk12" ],
                "gl45_baseline"
            ]
        },
        "VP_ZINK_gl46_baseline": {
            "version": 1,
            "api-version": "1.3.0",
            "label": "Zink OpenGL 4.6 Baseline profile",
            "description": "Minimum requirements for Zink OpenGL 4.6 support.",
            "capabilities": [
                "vulkan10requirements",
                "gl21_baseline",
                [ "gl21_baseline_vk10", "gl21_baseline_vk12" ],
                [ "gl21_baseline_line_bresenham", "gl21_baseline_line_non_strict" ],
                "gl30_baseline",
                "gl31_baseline",
                "gl32_baseline",
                "gl33_baseline",
                "gl40_baseline",
                "gl41_baseline",
                "gl42_baseline",
                [ "gl42_baseline_vk10", "gl42_baseline_vk12" ],
                "gl43_baseline",
                [ "gl43_baseline_rb2", "gl43_baseline_rb_image_vk13", "gl43_baseline_rb_image_ext" ],
                "gl44_baseline",
                [ "gl44_baseline_ext", "gl44_baseline_vk12" ],
                "gl45_baseline",
                "gl46_baseline"
            ]
        },
        "VP_ZINK_gl46_optimal": {
            "version": 1,
            "api-version": "1.3.0",
            "label": "Zink OpenGL 4.6 Optimal profile",
            "description": "Requirements for Zink OpenGL 4.6 support with best performances.",
            "capabilities": [
                "vulkan10requirements",
                "gl21_baseline",
                [ "gl21_baseline_vk10", "gl21_baseline_vk12" ],
                [ "gl21_baseline_line_bresenham", "gl21_baseline_line_non_strict" ],
                "gl30_baseline",
                "gl31_baseline",
                "gl32_baseline",
                "gl33_baseline",
                "gl40_baseline",
                "gl41_baseline",
                "gl42_baseline",
                [ "gl42_baseline_vk10", "gl42_baseline_vk12" ],
                "gl43_baseline",
                [ "gl43_baseline_rb2", "gl43_baseline_rb_image_vk13", "gl43_baseline_rb_image_ext" ],
                "gl44_baseline",
                [ "gl44_baseline_ext", "gl44_baseline_vk12" ],
                "gl45_baseline",
                "gl46_baseline",
                "gl46_optimal",
                [ "gl46_optimal_ext", "gl46_optimal_vk13" ]
            ],
            "optionals": [
                "gl46_optional",
                [ "gl46_optional_ext", "gl46_optional_vk13" ],
                "GL_ARB_bindless_texture",
                "GL_ARB_sparse_texture",
                "GL_ARB_sparse_texture2",
                [ "GL_ARB_sparse_texture_clamp_2s", "GL_ARB_sparse_texture_clamp_4s", "GL_ARB_sparse_texture_clamp_8s", "GL_ARB_sparse_texture_clamp_16s" ],
                "GL_ARB_sparse_buffer",
                [ "GL_ARB_shader_viewport_layer_array_ext", "GL_ARB_shader_viewport_layer_array_vk12" ],
                "GL_ARB_fragment_shader_interlock",
                "GL_ARB_shader_clock",
                [ "GL_ARB_shader_ballot_ext", "GL_ARB_shader_ballot_vk11" ],
                "GL_ARB_sample_locations",
                "GL_ARB_shader_stencil_export",
                "GL_EXT_depth_bounds_test",
                [ "GL_EXT_texture_filter_minmax_ext", "GL_EXT_texture_filter_minmax_vk12" ]
            ]
        }
    },
    "contributors": {
        "Mike Blumenkrantz": {
            "company": "Valve"
        },
        "Christophe Riccio": {
            "company": "LunarG"
        },
        "Erik Faye-Lund": {
            "company": "Collabora"
        },
        "Soroush Faghihi": {
            "company": "Imagination Technologies"
        },
        "Connor Abbott": {
            "company": "Valve"
        }
    },
    "history": [
        {
            "revision": 1,
            "date": "2022-10-18",
            "author": "Christophe Riccio",
            "comment": "Initial revision"
        }
    ]
}
