vulkan-3.27: src/Vulkan/Extensions/VK_EXT_extended_dynamic_state3.hs-boot
{-# language CPP #-}
-- | = Name
--
-- VK_EXT_extended_dynamic_state3 - device extension
--
-- = VK_EXT_extended_dynamic_state3
--
-- [__Name String__]
-- @VK_EXT_extended_dynamic_state3@
--
-- [__Extension Type__]
-- Device extension
--
-- [__Registered Extension Number__]
-- 456
--
-- [__Revision__]
-- 2
--
-- [__Ratification Status__]
-- 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_VERSION_1_1
--
-- - Interacts with VK_EXT_blend_operation_advanced
--
-- - Interacts with VK_EXT_conservative_rasterization
--
-- - Interacts with VK_EXT_depth_clip_control
--
-- - Interacts with VK_EXT_depth_clip_enable
--
-- - Interacts with VK_EXT_line_rasterization
--
-- - Interacts with VK_EXT_provoking_vertex
--
-- - Interacts with VK_EXT_sample_locations
--
-- - Interacts with VK_EXT_transform_feedback
--
-- - Interacts with VK_KHR_maintenance2
--
-- - Interacts with VK_NV_clip_space_w_scaling
--
-- - Interacts with VK_NV_coverage_reduction_mode
--
-- - Interacts with VK_NV_fragment_coverage_to_color
--
-- - Interacts with VK_NV_framebuffer_mixed_samples
--
-- - Interacts with VK_NV_representative_fragment_test
--
-- - Interacts with VK_NV_shading_rate_image
--
-- - Interacts with VK_NV_viewport_swizzle
--
-- - Interacts with
-- VkPhysicalDeviceExtendedDynamicState3FeaturesEXT::extendedDynamicState3AlphaToOneEnable
--
-- - Interacts with
-- VkPhysicalDeviceExtendedDynamicState3FeaturesEXT::extendedDynamicState3DepthClampEnable
--
-- - Interacts with
-- VkPhysicalDeviceExtendedDynamicState3FeaturesEXT::extendedDynamicState3LogicOpEnable
--
-- - Interacts with
-- VkPhysicalDeviceExtendedDynamicState3FeaturesEXT::extendedDynamicState3PolygonMode
--
-- - Interacts with
-- VkPhysicalDeviceExtendedDynamicState3FeaturesEXT::extendedDynamicState3RasterizationStream
--
-- - Interacts with
-- VkPhysicalDeviceExtendedDynamicState3FeaturesEXT::extendedDynamicState3TessellationDomainOrigin
--
-- [__Contact__]
--
-- - Piers Daniell
-- <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_extended_dynamic_state3] @pdaniell-nv%0A*Here describe the issue or question you have about the VK_EXT_extended_dynamic_state3 extension* >
--
-- [__Extension Proposal__]
-- <https://github.com/KhronosGroup/Vulkan-Docs/tree/main/proposals/VK_EXT_extended_dynamic_state3.adoc VK_EXT_extended_dynamic_state3>
--
-- == Other Extension Metadata
--
-- [__Last Modified Date__]
-- 2022-09-02
--
-- [__IP Status__]
-- No known IP claims.
--
-- [__Contributors__]
--
-- - Daniel Story, Nintendo
--
-- - Jamie Madill, Google
--
-- - Jan-Harald Fredriksen, Arm
--
-- - Faith Ekstrand, Collabora
--
-- - Mike Blumenkrantz, Valve
--
-- - Ricardo Garcia, Igalia
--
-- - Samuel Pitoiset, Valve
--
-- - Shahbaz Youssefi, Google
--
-- - Stu Smith, AMD
--
-- - Tapani Pälli, Intel
--
-- == Description
--
-- This extension adds almost all of the remaining pipeline state as
-- dynamic state to help applications further reduce the number of
-- monolithic pipelines they need to create and bind.
--
-- == New Commands
--
-- - 'cmdSetAlphaToCoverageEnableEXT'
--
-- - 'cmdSetAlphaToOneEnableEXT'
--
-- - 'cmdSetColorBlendEnableEXT'
--
-- - 'cmdSetColorBlendEquationEXT'
--
-- - 'cmdSetColorWriteMaskEXT'
--
-- - 'cmdSetDepthClampEnableEXT'
--
-- - 'cmdSetLogicOpEnableEXT'
--
-- - 'cmdSetPolygonModeEXT'
--
-- - 'cmdSetRasterizationSamplesEXT'
--
-- - 'cmdSetSampleMaskEXT'
--
-- If
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_blend_operation_advanced VK_EXT_blend_operation_advanced>
-- is supported:
--
-- - 'cmdSetColorBlendAdvancedEXT'
--
-- If
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_conservative_rasterization VK_EXT_conservative_rasterization>
-- is supported:
--
-- - 'cmdSetConservativeRasterizationModeEXT'
--
-- - 'cmdSetExtraPrimitiveOverestimationSizeEXT'
--
-- If
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_depth_clip_control VK_EXT_depth_clip_control>
-- is supported:
--
-- - 'cmdSetDepthClipNegativeOneToOneEXT'
--
-- If
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_depth_clip_enable VK_EXT_depth_clip_enable>
-- is supported:
--
-- - 'cmdSetDepthClipEnableEXT'
--
-- If
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_line_rasterization VK_EXT_line_rasterization>
-- is supported:
--
-- - 'cmdSetLineRasterizationModeEXT'
--
-- - 'cmdSetLineStippleEnableEXT'
--
-- If
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_provoking_vertex VK_EXT_provoking_vertex>
-- is supported:
--
-- - 'cmdSetProvokingVertexModeEXT'
--
-- If
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_sample_locations VK_EXT_sample_locations>
-- is supported:
--
-- - 'cmdSetSampleLocationsEnableEXT'
--
-- If
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_transform_feedback VK_EXT_transform_feedback>
-- is supported:
--
-- - 'cmdSetRasterizationStreamEXT'
--
-- If
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance2 VK_KHR_maintenance2>
-- or
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#versions-1.1 Vulkan Version 1.1>
-- is supported:
--
-- - 'cmdSetTessellationDomainOriginEXT'
--
-- If
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_clip_space_w_scaling VK_NV_clip_space_w_scaling>
-- is supported:
--
-- - 'cmdSetViewportWScalingEnableNV'
--
-- If
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_coverage_reduction_mode VK_NV_coverage_reduction_mode>
-- is supported:
--
-- - 'cmdSetCoverageReductionModeNV'
--
-- If
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_fragment_coverage_to_color VK_NV_fragment_coverage_to_color>
-- is supported:
--
-- - 'cmdSetCoverageToColorEnableNV'
--
-- - 'cmdSetCoverageToColorLocationNV'
--
-- If
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_framebuffer_mixed_samples VK_NV_framebuffer_mixed_samples>
-- is supported:
--
-- - 'cmdSetCoverageModulationModeNV'
--
-- - 'cmdSetCoverageModulationTableEnableNV'
--
-- - 'cmdSetCoverageModulationTableNV'
--
-- If
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_representative_fragment_test VK_NV_representative_fragment_test>
-- is supported:
--
-- - 'cmdSetRepresentativeFragmentTestEnableNV'
--
-- If
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_shading_rate_image VK_NV_shading_rate_image>
-- is supported:
--
-- - 'cmdSetShadingRateImageEnableNV'
--
-- If
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_viewport_swizzle VK_NV_viewport_swizzle>
-- is supported:
--
-- - 'cmdSetViewportSwizzleNV'
--
-- == New Structures
--
-- - 'ColorBlendAdvancedEXT'
--
-- - 'ColorBlendEquationEXT'
--
-- - Extending
-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',
-- 'Vulkan.Core10.Device.DeviceCreateInfo':
--
-- - 'PhysicalDeviceExtendedDynamicState3FeaturesEXT'
--
-- - Extending
-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceProperties2':
--
-- - 'PhysicalDeviceExtendedDynamicState3PropertiesEXT'
--
-- == New Enum Constants
--
-- - 'EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME'
--
-- - 'EXT_EXTENDED_DYNAMIC_STATE_3_SPEC_VERSION'
--
-- - Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':
--
-- - 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT'
--
-- - 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT'
--
-- - 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT'
--
-- - 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT'
--
-- - 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_MASK_EXT'
--
-- - 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT'
--
-- - 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT'
--
-- - 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_POLYGON_MODE_EXT'
--
-- - 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT'
--
-- - 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SAMPLE_MASK_EXT'
--
-- - Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
--
-- - 'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT'
--
-- - 'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT'
--
-- If
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_blend_operation_advanced VK_EXT_blend_operation_advanced>
-- is supported:
--
-- - Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':
--
-- - 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT'
--
-- If
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_conservative_rasterization VK_EXT_conservative_rasterization>
-- is supported:
--
-- - Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':
--
-- - 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT'
--
-- - 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT'
--
-- If
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_depth_clip_control VK_EXT_depth_clip_control>
-- is supported:
--
-- - Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':
--
-- - 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT'
--
-- If
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_depth_clip_enable VK_EXT_depth_clip_enable>
-- is supported:
--
-- - Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':
--
-- - 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT'
--
-- If
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_line_rasterization VK_EXT_line_rasterization>
-- is supported:
--
-- - Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':
--
-- - 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT'
--
-- - 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT'
--
-- If
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_provoking_vertex VK_EXT_provoking_vertex>
-- is supported:
--
-- - Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':
--
-- - 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT'
--
-- If
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_sample_locations VK_EXT_sample_locations>
-- is supported:
--
-- - Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':
--
-- - 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT'
--
-- If
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_transform_feedback VK_EXT_transform_feedback>
-- is supported:
--
-- - Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':
--
-- - 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_RASTERIZATION_STREAM_EXT'
--
-- If
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance2 VK_KHR_maintenance2>
-- or
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#versions-1.1 Vulkan Version 1.1>
-- is supported:
--
-- - Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':
--
-- - 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT'
--
-- If
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_clip_space_w_scaling VK_NV_clip_space_w_scaling>
-- is supported:
--
-- - Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':
--
-- - 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV'
--
-- If
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_coverage_reduction_mode VK_NV_coverage_reduction_mode>
-- is supported:
--
-- - Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':
--
-- - 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV'
--
-- If
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_fragment_coverage_to_color VK_NV_fragment_coverage_to_color>
-- is supported:
--
-- - Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':
--
-- - 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV'
--
-- - 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COVERAGE_TO_COLOR_LOCATION_NV'
--
-- If
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_framebuffer_mixed_samples VK_NV_framebuffer_mixed_samples>
-- is supported:
--
-- - Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':
--
-- - 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COVERAGE_MODULATION_MODE_NV'
--
-- - 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV'
--
-- - 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV'
--
-- If
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_representative_fragment_test VK_NV_representative_fragment_test>
-- is supported:
--
-- - Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':
--
-- - 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV'
--
-- If
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_shading_rate_image VK_NV_shading_rate_image>
-- is supported:
--
-- - Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':
--
-- - 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV'
--
-- If
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_viewport_swizzle VK_NV_viewport_swizzle>
-- is supported:
--
-- - Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':
--
-- - 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV'
--
-- == Issues
--
-- 1) What about the VkPipelineMultisampleStateCreateInfo state
-- @sampleShadingEnable@ and @minSampleShading@?
--
-- @sampleShadingEnable@ and @minSampleShading@ are required when compiling
-- the fragment shader, and it is not meaningful to set them dynamically
-- since they always need to match the fragment shader state, so this
-- hardware state may as well just come from the pipeline with the fragment
-- shader.
--
-- == Version History
--
-- - Revision 2, 2022-07-18 (Piers Daniell)
--
-- - Added rasterizationSamples
--
-- - Revision 1, 2022-05-18 (Piers Daniell)
--
-- - Internal revisions
--
-- == 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_EXT_extended_dynamic_state3 Vulkan Specification>.
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_EXT_extended_dynamic_state3 ( ColorBlendAdvancedEXT
, ColorBlendEquationEXT
, PhysicalDeviceExtendedDynamicState3FeaturesEXT
, PhysicalDeviceExtendedDynamicState3PropertiesEXT
) where
import Vulkan.CStruct (FromCStruct)
import Vulkan.CStruct (ToCStruct)
import Data.Kind (Type)
data ColorBlendAdvancedEXT
instance ToCStruct ColorBlendAdvancedEXT
instance Show ColorBlendAdvancedEXT
instance FromCStruct ColorBlendAdvancedEXT
data ColorBlendEquationEXT
instance ToCStruct ColorBlendEquationEXT
instance Show ColorBlendEquationEXT
instance FromCStruct ColorBlendEquationEXT
data PhysicalDeviceExtendedDynamicState3FeaturesEXT
instance ToCStruct PhysicalDeviceExtendedDynamicState3FeaturesEXT
instance Show PhysicalDeviceExtendedDynamicState3FeaturesEXT
instance FromCStruct PhysicalDeviceExtendedDynamicState3FeaturesEXT
data PhysicalDeviceExtendedDynamicState3PropertiesEXT
instance ToCStruct PhysicalDeviceExtendedDynamicState3PropertiesEXT
instance Show PhysicalDeviceExtendedDynamicState3PropertiesEXT
instance FromCStruct PhysicalDeviceExtendedDynamicState3PropertiesEXT