packages feed

vulkan-3.27: src/Vulkan/Extensions/VK_ARM_shader_instrumentation.hs-boot

{-# language CPP #-}
-- | = Name
--
-- VK_ARM_shader_instrumentation - device extension
--
-- = VK_ARM_shader_instrumentation
--
-- [__Name String__]
--     @VK_ARM_shader_instrumentation@
--
-- [__Extension Type__]
--     Device extension
--
-- [__Registered Extension Number__]
--     608
--
-- [__Revision__]
--     1
--
-- [__Ratification Status__]
--     Not ratified
--
-- [__Extension and Version Dependencies__]
--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_get_physical_device_properties2 VK_KHR_get_physical_device_properties2>
--     or
--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#versions-1.1 Vulkan Version 1.1>
--
-- [__API Interactions__]
--
--     -   Interacts with VK_EXT_shader_object
--
-- [__Special Use__]
--
--     -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#extendingvulkan-compatibility-specialuse Developer tools>
--
-- [__Contact__]
--
--     -   Jan-Harald Fredriksen
--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_ARM_shader_instrumentation] @janharaldfredriksen-arm%0A*Here describe the issue or question you have about the VK_ARM_shader_instrumentation extension* >
--
-- [__Extension Proposal__]
--     <https://github.com/KhronosGroup/Vulkan-Docs/tree/main/proposals/VK_ARM_shader_instrumentation.adoc VK_ARM_shader_instrumentation>
--
-- == Other Extension Metadata
--
-- [__Last Modified Date__]
--     2026-02-26
--
-- [__IP Status__]
--     No known IP claims.
--
-- [__Contributors__]
--
--     -   Embla Flatlandsmo, Arm Ltd.
--
--     -   Jan-Harald Fredriksen, Arm Ltd.
--
--     -   Mikel Garai, Arm Ltd.
--
--     -   Peter Harris, Arm Ltd.
--
--     -   Ting Wei, Arm Ltd.
--
--     -   Torbjörn Nilsson, Arm Ltd.
--
-- == Description
--
-- This extension provides the ability to instrument shaders and capture
-- performance metrics per shader type from commands executed by a queue.
--
-- == New Object Types
--
-- -   'Vulkan.Extensions.Handles.ShaderInstrumentationARM'
--
-- == New Commands
--
-- -   'clearShaderInstrumentationMetricsARM'
--
-- -   'cmdBeginShaderInstrumentationARM'
--
-- -   'cmdEndShaderInstrumentationARM'
--
-- -   'createShaderInstrumentationARM'
--
-- -   'destroyShaderInstrumentationARM'
--
-- -   'enumeratePhysicalDeviceShaderInstrumentationMetricsARM'
--
-- -   'getShaderInstrumentationValuesARM'
--
-- == New Structures
--
-- -   'ShaderInstrumentationCreateInfoARM'
--
-- -   'ShaderInstrumentationMetricDataHeaderARM'
--
-- -   'ShaderInstrumentationMetricDescriptionARM'
--
-- -   Extending
--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',
--     'Vulkan.Core10.Device.DeviceCreateInfo':
--
--     -   'PhysicalDeviceShaderInstrumentationFeaturesARM'
--
-- -   Extending
--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceProperties2':
--
--     -   'PhysicalDeviceShaderInstrumentationPropertiesARM'
--
-- == New Bitmasks
--
-- -   'ShaderInstrumentationValuesFlagsARM'
--
-- == New Enum Constants
--
-- -   'ARM_SHADER_INSTRUMENTATION_EXTENSION_NAME'
--
-- -   'ARM_SHADER_INSTRUMENTATION_SPEC_VERSION'
--
-- -   Extending 'Vulkan.Core10.Enums.ObjectType.ObjectType':
--
--     -   'Vulkan.Core10.Enums.ObjectType.OBJECT_TYPE_SHADER_INSTRUMENTATION_ARM'
--
-- -   Extending
--     'Vulkan.Core14.Enums.PipelineCreateFlags2.PipelineCreateFlagBits2':
--
--     -   'Vulkan.Core14.Enums.PipelineCreateFlags2.PIPELINE_CREATE_2_INSTRUMENT_SHADERS_BIT_ARM'
--
-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
--
--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INSTRUMENTATION_FEATURES_ARM'
--
--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INSTRUMENTATION_PROPERTIES_ARM'
--
--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_SHADER_INSTRUMENTATION_CREATE_INFO_ARM'
--
--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_SHADER_INSTRUMENTATION_METRIC_DESCRIPTION_ARM'
--
-- If
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_shader_object VK_EXT_shader_object>
-- is supported:
--
-- -   Extending
--     'Vulkan.Extensions.VK_EXT_shader_object.ShaderCreateFlagBitsEXT':
--
--     -   'Vulkan.Extensions.VK_EXT_shader_object.SHADER_CREATE_INSTRUMENT_SHADER_BIT_ARM'
--
-- == Version History
--
-- -   Revision 1, 2026-02-26 (Embla Flatlandsmo, Jan-Harald Fredriksen)
--
--     -   Initial draft.
--
-- == See Also
--
-- No cross-references are available
--
-- == Document Notes
--
-- For more information, see the
-- <https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#VK_ARM_shader_instrumentation Vulkan Specification>.
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_ARM_shader_instrumentation  ( PhysicalDeviceShaderInstrumentationFeaturesARM
                                                        , PhysicalDeviceShaderInstrumentationPropertiesARM
                                                        , ShaderInstrumentationCreateInfoARM
                                                        , ShaderInstrumentationMetricDataHeaderARM
                                                        , ShaderInstrumentationMetricDescriptionARM
                                                        , ShaderInstrumentationValuesFlagsARM
                                                        ) where

import Vulkan.CStruct (FromCStruct)
import Vulkan.CStruct (ToCStruct)
import Data.Kind (Type)

data PhysicalDeviceShaderInstrumentationFeaturesARM

instance ToCStruct PhysicalDeviceShaderInstrumentationFeaturesARM
instance Show PhysicalDeviceShaderInstrumentationFeaturesARM

instance FromCStruct PhysicalDeviceShaderInstrumentationFeaturesARM


data PhysicalDeviceShaderInstrumentationPropertiesARM

instance ToCStruct PhysicalDeviceShaderInstrumentationPropertiesARM
instance Show PhysicalDeviceShaderInstrumentationPropertiesARM

instance FromCStruct PhysicalDeviceShaderInstrumentationPropertiesARM


data ShaderInstrumentationCreateInfoARM

instance ToCStruct ShaderInstrumentationCreateInfoARM
instance Show ShaderInstrumentationCreateInfoARM

instance FromCStruct ShaderInstrumentationCreateInfoARM


data ShaderInstrumentationMetricDataHeaderARM

instance ToCStruct ShaderInstrumentationMetricDataHeaderARM
instance Show ShaderInstrumentationMetricDataHeaderARM

instance FromCStruct ShaderInstrumentationMetricDataHeaderARM


data ShaderInstrumentationMetricDescriptionARM

instance ToCStruct ShaderInstrumentationMetricDescriptionARM
instance Show ShaderInstrumentationMetricDescriptionARM

instance FromCStruct ShaderInstrumentationMetricDescriptionARM


data ShaderInstrumentationValuesFlagsARM