VK_EXT_graphics_pipeline_library(3)

# VK_EXT_graphics_pipeline_library(3) Manual Page

## Name

VK_EXT_graphics_pipeline_library - device extension

Loading… please wait.

## Registered Extension Number

321

## Revision

1

## Ratification Status

Not ratified

## Extension and Version Dependencies

VK_KHR_get_physical_device_properties2
and
VK_KHR_pipeline_library

## Contact

- Tobias Hector tobski

## 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 VkGraphicsPipelineCreateInfo:

  - VkGraphicsPipelineLibraryCreateInfoEXT

- Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:

  - VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT

- Extending VkPhysicalDeviceProperties2:

  - VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT

## New Enums

- VkGraphicsPipelineLibraryFlagBitsEXT

- VkPipelineLayoutCreateFlagBits

## New Bitmasks

- VkGraphicsPipelineLibraryFlagsEXT

## New Enum Constants

- `VK_EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME`

- `VK_EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION`

- Extending VkPipelineCreateFlagBits:

  - `VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT`

  - `VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT`

- Extending VkPipelineLayoutCreateFlagBits:

  - `VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT`

- Extending VkStructureType:

  - `VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT`

## Version History

- Revision 1, 2021-08-17 (Tobias Hector)

  - Initial draft.

## See Also

VkGraphicsPipelineLibraryCreateInfoEXT, VkGraphicsPipelineLibraryFlagBitsEXT, VkGraphicsPipelineLibraryFlagsEXT, VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT, VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT, VkPipelineLayoutCreateFlagBits

## 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.

## Copyright

Copyright 2014-2023 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0