Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Name
VK_EXT_graphics_pipeline_library - device extension
VK_EXT_graphics_pipeline_library
- Name String
VK_EXT_graphics_pipeline_library
- Extension Type
- Device extension
- Registered Extension Number
- 321
- Revision
- 1
- Extension and Version Dependencies
- Requires support for Vulkan 1.0
- Requires
VK_KHR_get_physical_device_properties2
to be enabled for any device-level functionality - Requires
VK_KHR_pipeline_library
to be enabled for any device-level functionality
- Contact
- Extension Proposal
- VK_EXT_graphics_pipeline_library
Other Extension Metadata
- Last Modified Date
- 2021-08-17
- Contributors
- Tobias Hector, AMD
- Chris Glover, Google
- Jeff Leger, Qualcomm
- Jan-Harald Fredriksen, Arm
- Piers Daniell, NVidia
- Boris Zanin, Mobica
- Krzysztof Niski, NVidia
- Dan Ginsburg, Valve
- Sebastian Aaltonen, Unity
- Arseny Kapoulkine, Roblox
- Calle Lejdfors, Ubisoft
- Tiago Rodrigues, Ubisoft
- Francois Duranleau, Gameloft
Description
This extension allows the separate compilation of four distinct parts of graphics pipelines, with the intent of allowing faster pipeline loading for applications reusing the same shaders or state in multiple pipelines. Each part can be independently compiled into a graphics pipeline library, with a final link step required to create an executable pipeline that can be bound to a command buffer.
New Structures
Extending
PhysicalDeviceFeatures2
,DeviceCreateInfo
:Extending
PhysicalDeviceProperties2
:
New Enums
New Bitmasks
New Enum Constants
EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION
Extending
PipelineCreateFlagBits
:Extending
PipelineLayoutCreateFlagBits
:Extending
StructureType
:
Version History
Revision 1, 2021-08-17 (Tobias Hector)
- Initial draft.
See Also
GraphicsPipelineLibraryCreateInfoEXT
,
GraphicsPipelineLibraryFlagBitsEXT
, GraphicsPipelineLibraryFlagsEXT
,
PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT
,
PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT
,
PipelineLayoutCreateFlagBits
Document Notes
For more information, see the Vulkan Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Synopsis
- data PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT = PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT {}
- data PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT = PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT {}
- data GraphicsPipelineLibraryCreateInfoEXT = GraphicsPipelineLibraryCreateInfoEXT {}
- type GraphicsPipelineLibraryFlagsEXT = GraphicsPipelineLibraryFlagBitsEXT
- newtype GraphicsPipelineLibraryFlagBitsEXT where
- GraphicsPipelineLibraryFlagBitsEXT Flags
- pattern GRAPHICS_PIPELINE_LIBRARY_VERTEX_INPUT_INTERFACE_BIT_EXT :: GraphicsPipelineLibraryFlagBitsEXT
- pattern GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT :: GraphicsPipelineLibraryFlagBitsEXT
- pattern GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT :: GraphicsPipelineLibraryFlagBitsEXT
- pattern GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT :: GraphicsPipelineLibraryFlagBitsEXT
- type EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION = 1
- pattern EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION :: forall a. Integral a => a
- type EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME = "VK_EXT_graphics_pipeline_library"
- pattern EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
Documentation
data PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT Source #
VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT - Structure describing support for graphics pipeline libraries
Members
This structure describes the following feature:
Description
If the PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT
structure is
included in the pNext
chain of the
PhysicalDeviceFeatures2
structure passed to
getPhysicalDeviceFeatures2
,
it is filled in to indicate whether each corresponding feature is
supported. PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT
can also
be used in the pNext
chain of DeviceCreateInfo
to selectively enable these features.
Valid Usage (Implicit)
See Also
PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT | |
|
Instances
data PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT Source #
VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT - Structure describing additional properties of graphics pipeline libraries
Description
If the PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT
structure is
included in the pNext
chain of the
PhysicalDeviceProperties2
structure passed to
getPhysicalDeviceProperties2
,
it is filled in with each corresponding implementation-dependent
property.
Valid Usage (Implicit)
See Also
PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT | |
|
Instances
data GraphicsPipelineLibraryCreateInfoEXT Source #
VkGraphicsPipelineLibraryCreateInfoEXT - Structure specifying the subsets of the graphics pipeline being compiled
Description
If a GraphicsPipelineLibraryCreateInfoEXT
structure is included in the
pNext
chain of GraphicsPipelineCreateInfo
, it
specifies the
subsets of the graphics pipeline
being created, excluding any subsets from linked pipeline libraries. If
the pipeline is created with pipeline libraries, state from those
libraries is aggregated with said subset.
If this structure is omitted, and either
GraphicsPipelineCreateInfo
::flags
includes
PIPELINE_CREATE_LIBRARY_BIT_KHR
or the GraphicsPipelineCreateInfo
::pNext
chain includes a
PipelineLibraryCreateInfoKHR
structure with a libraryCount
greater than 0
, it is as if flags
is
0
. Otherwise if this structure is omitted, it is as if flags
includes all possible subsets of the graphics pipeline (i.e. a
complete graphics pipeline).
Valid Usage (Implicit)
See Also
VK_EXT_graphics_pipeline_library,
GraphicsPipelineLibraryFlagsEXT
,
StructureType
GraphicsPipelineLibraryCreateInfoEXT | |
|
Instances
newtype GraphicsPipelineLibraryFlagBitsEXT Source #
VkGraphicsPipelineLibraryFlagBitsEXT - Bitmask specifying the subset of a graphics pipeline to compile
See Also
VK_EXT_graphics_pipeline_library,
GraphicsPipelineLibraryFlagsEXT
pattern GRAPHICS_PIPELINE_LIBRARY_VERTEX_INPUT_INTERFACE_BIT_EXT :: GraphicsPipelineLibraryFlagBitsEXT |
|
pattern GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT :: GraphicsPipelineLibraryFlagBitsEXT |
|
pattern GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT :: GraphicsPipelineLibraryFlagBitsEXT |
|
pattern GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT :: GraphicsPipelineLibraryFlagBitsEXT |
|
Instances
pattern EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION :: forall a. Integral a => a Source #
type EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME = "VK_EXT_graphics_pipeline_library" Source #
pattern EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #