Top Description Fields Constructors Methods
org.lwjgl.vulkan

public Class EXTPipelineProperties

extends Object
Class Inheritance
Imports
javax.annotation.*, org.lwjgl.system.*

Vulkan SC requires offline compilation of pipelines. In order to support this, the pipeline state is represented in a JSON schema that is read by an offline tool for compilation.

One method of developing a Vulkan SC application is to author a Vulkan application and use a layer to record and serialize the pipeline state and shaders for offline compilation. Each pipeline is represented by a separate JSON file, and can be identified with a pipelineIdentifier.

Once the pipelines have been compiled by the offline pipeline cache compiler, the Vulkan SC application can then use this pipelineIdentifier for identifying the pipeline via Vulkan SC’s VkPipelineIdentifierInfo structure.

This extension allows the Vulkan application to query the pipelineIdentifier associated with each pipeline so that the application can store this with its pipeline metadata and the Vulkan SC application will then use to map the same state to an entry in the Vulkan SC pipeline cache.

It is expected that this extension will initially be implemented in the json generation layer, although we can envision that there might be future uses for it in native Vulkan drivers as well.

VK_EXT_pipeline_properties
Name String
VK_EXT_pipeline_properties
Extension Type
Device extension
Registered Extension Number
373
Revision
1
Extension and Version Dependencies
VK_KHR_get_physical_device_properties2
Contact
Other Extension Metadata
Last Modified Date
2022-04-19
IP Status
No known IP claims.
Contributors
  • Mukund Keshava, NVIDIA
  • Daniel Koch, NVIDIA
  • Mark Bellamy, Arm

Field Summary

Modifier and TypeField and Description
public static final String
public static final int
VK_EXT_PIPELINE_PROPERTIES_SPEC_VERSION

The extension specification version.

public static final int
public static final int
VK_STRUCTURE_TYPE_PIPELINE_INFO_EXT

Extends VkStructureType.

public static final int

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
public static int
nvkGetPipelinePropertiesEXT(VkDevice device, long pPipelineInfo, long pPipelineProperties)

Unsafe version of: GetPipelinePropertiesEXT

public static int
vkGetPipelinePropertiesEXT(VkDevice
the logical device that created the pipeline.
device
,
VkPipelineInfoEXT
a pointer to a VkPipelineInfoEXT structure which describes the pipeline being queried.
pPipelineInfo
,
VkBaseOutStructure
a pointer to a VkBaseOutStructure structure in which the pipeline properties will be written.
pPipelineProperties
)

Query pipeline properties.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

VK_EXT_PIPELINE_PROPERTIES_EXTENSION_NAMEback to summary
public static final String VK_EXT_PIPELINE_PROPERTIES_EXTENSION_NAME

The extension name.

VK_EXT_PIPELINE_PROPERTIES_SPEC_VERSIONback to summary
public static final int VK_EXT_PIPELINE_PROPERTIES_SPEC_VERSION

The extension specification version.

VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXTback to summary
public static final int VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT

Extends VkStructureType.

Enum values:
VK_STRUCTURE_TYPE_PIPELINE_INFO_EXTback to summary
public static final int VK_STRUCTURE_TYPE_PIPELINE_INFO_EXT

Extends VkStructureType.

Enum values:
VK_STRUCTURE_TYPE_PIPELINE_PROPERTIES_IDENTIFIER_EXTback to summary
public static final int VK_STRUCTURE_TYPE_PIPELINE_PROPERTIES_IDENTIFIER_EXT

Extends VkStructureType.

Enum values:

Constructor Detail

EXTPipelinePropertiesback to summary
protected EXTPipelineProperties()

Method Detail

nvkGetPipelinePropertiesEXTback to summary
public static int nvkGetPipelinePropertiesEXT(VkDevice device, long pPipelineInfo, long pPipelineProperties)

Unsafe version of: GetPipelinePropertiesEXT

vkGetPipelinePropertiesEXTback to summary
public static int vkGetPipelinePropertiesEXT(VkDevice device, VkPipelineInfoEXT pPipelineInfo, VkBaseOutStructure pPipelineProperties)

Query pipeline properties.

C Specification

To query the pipeline properties call:


VkResult vkGetPipelinePropertiesEXT(
    VkDevice                                    device,
    const VkPipelineInfoEXT*                    pPipelineInfo,
    VkBaseOutStructure*                         pPipelineProperties);
Description

To query a pipeline’s pipelineIdentifier pass a VkPipelinePropertiesIdentifierEXT structure in pPipelineProperties. Each pipeline is associated with a pipelineIdentifier and the identifier is implementation specific.

Valid Usage
Valid Usage (Implicit)
  • device must be a valid VkDevice handle
  • pPipelineInfo must be a valid pointer to a valid VkPipelineInfoEXT structure
Return Codes
On success, this command returns
On failure, this command returns
See Also

VkBaseOutStructure, VkPipelineInfoEXT

Parameters
device:VkDevice

the logical device that created the pipeline.

pPipelineInfo:VkPipelineInfoEXT

a pointer to a VkPipelineInfoEXT structure which describes the pipeline being queried.

pPipelineProperties:VkBaseOutStructure

a pointer to a VkBaseOutStructure structure in which the pipeline properties will be written.

Annotations
@NativeType:VkResult