VK_EXT_legacy_vertex_attributes(3)

# VK_EXT_legacy_vertex_attributes(3) Manual Page

## Name

VK_EXT_legacy_vertex_attributes - device extension

Loading… please wait.

## Registered Extension Number

496

## Revision

1

## Ratification Status

Ratified

## Extension and Version Dependencies

VK_EXT_vertex_input_dynamic_state

## Special Use

- OpenGL / ES support

## Contact

- Mike Blumenkrantz [GitHub]zmike

## Extension Proposal

VK_EXT_legacy_vertex_attributes

## Other Extension Metadata

Last Modified Date

  2024-02-23

IP Status

  No known IP claims.

Contributors

  - Mike Blumenkrantz, Valve

  - Piers Daniell, NVIDIA

  - Spencer Fricke, LunarG

  - Alyssa Rosenzweig, Valve

## Description

This extension adds support for legacy features of (non-64-bit) vertex attributes as found in OpenGL:

- Vertex attributes loaded from arbitrary buffer alignments

- Vertex attributes using arbitrary strides

- Vertex attributes where the component data type of the binding does not match the component numeric type of the shader input

These features are only usable with dynamic vertex input. Unaligned loads of vertex attributes may incur performance penalties, indicated with a property.

## New Structures

- Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:

  - VkPhysicalDeviceLegacyVertexAttributesFeaturesEXT

- Extending VkPhysicalDeviceProperties2:

  - VkPhysicalDeviceLegacyVertexAttributesPropertiesEXT

## New Enum Constants

- `VK_EXT_LEGACY_VERTEX_ATTRIBUTES_EXTENSION_NAME`

- `VK_EXT_LEGACY_VERTEX_ATTRIBUTES_SPEC_VERSION`

- Extending VkStructureType:

  - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_FEATURES_EXT

  - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_PROPERTIES_EXT

## Issues

1.) Should implementations convert float/integer values?

RESOLVED: No. When fetching an integer data type from float values or float data types from integer values, the resulting shader values are implementation-dependent.

## Version History

- Revision 1, 2024-02-16 (Mike Blumenkrantz)

  - Initial revision

## See Also

No cross-references are available

## 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-2026 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0