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

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