VK_KHR_multiview(3)

# VK_KHR_multiview(3) Manual Page

## Name

VK_KHR_multiview - device extension

Loading… please wait.

## Registered Extension Number

54

## Revision

1

## Extension and Version Dependencies

VK_KHR_get_physical_device_properties2

## Deprecation state

- Promoted to Vulkan 1.1

## Contact

- Jeff Bolz jeffbolznv

## Other Extension Metadata

Last Modified Date

  2016-10-28

IP Status

  No known IP claims.

Interactions and External Dependencies

  - Promoted to Vulkan 1.1 Core

  - This extension requires `SPV_KHR_multiview`

  - This extension provides API support for `GL_EXT_multiview`

Contributors

  - Jeff Bolz, NVIDIA

## Description

This extension has the same goal as the OpenGL ES `GL_OVR_multiview` extension. Multiview is a rendering technique originally designed for VR where it is more efficient to record a single set of commands to be executed with slightly different behavior for each “view”.

It includes a concise way to declare a render pass with multiple views, and gives implementations freedom to render the views in the most efficient way possible. This is done with a multiview configuration specified during render pass creation with the VkRenderPassMultiviewCreateInfo passed into VkRenderPassCreateInfo::`pNext`.

This extension enables the use of the `SPV_KHR_multiview` shader extension, which adds a new `ViewIndex` built-in type that allows shaders to control what to do for each view. If using GLSL there is also the `GL_EXT_multiview` extension that introduces a `highp int gl_ViewIndex;` built-in variable for vertex, tessellation, geometry, and fragment shaders.

## Promotion to Vulkan 1.1

All functionality in this extension is included in core Vulkan 1.1, with the KHR suffix omitted. The original type, enum and command names are still available as aliases of the core functionality.

## New Structures

- Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:

  - VkPhysicalDeviceMultiviewFeaturesKHR

- Extending VkPhysicalDeviceProperties2:

  - VkPhysicalDeviceMultiviewPropertiesKHR

- Extending VkRenderPassCreateInfo:

  - VkRenderPassMultiviewCreateInfoKHR

## New Enum Constants

- `VK_KHR_MULTIVIEW_EXTENSION_NAME`

- `VK_KHR_MULTIVIEW_SPEC_VERSION`

- Extending VkDependencyFlagBits:

  - `VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR`

- Extending VkStructureType:

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR`

  - `VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR`

## New Built-In Variables

- `ViewIndex`

## New SPIR-V Capabilities

- `MultiView`

## Additional Resources

- 'NVIDIA blog post'

- 'ARM blog post'

## Version History

- Revision 1, 2016-10-28 (Jeff Bolz)

  - Internal revisions

## See Also

VkPhysicalDeviceMultiviewFeaturesKHR, VkPhysicalDeviceMultiviewPropertiesKHR, VkRenderPassMultiviewCreateInfoKHR

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