openxr-0.1: Bindings to the OpenXR API
Safe HaskellNone
LanguageHaskell2010

OpenXR.Extensions.XR_KHR_vulkan_enable

Description

Name

XR_KHR_vulkan_enable - instance extension

Specification

See XR_KHR_vulkan_enable in the main specification for complete information.

Registered Extension Number

26

Revision

7

Extension and Version Dependencies

  • Requires OpenXR 1.0

See Also

GraphicsBindingVulkanKHR, GraphicsRequirementsVulkanKHR, SwapchainImageVulkanKHR, getVulkanDeviceExtensionsKHR, getVulkanGraphicsDeviceKHR, getVulkanGraphicsRequirementsKHR, getVulkanInstanceExtensionsKHR

Document Notes

For more information, see the OpenXR Specification

This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.

Synopsis

Documentation

getVulkanInstanceExtensionsKHR :: forall io. MonadIO io => Instance -> SystemId -> io ("buffer" ::: ByteString) Source #

xrGetVulkanInstanceExtensionsKHR - Get list of required Vulkan instance extensions for an OpenXR instance and system

Parameter Descriptions

  • systemId is an https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XrSystemId handle for the system which will be used to create a session.
  • bufferCapacityInput is the capacity of the buffer, or 0 to indicate a request to retrieve the required capacity.
  • bufferCountOutput is a pointer to the count of characters written (including terminating \0), or a pointer to the required capacity in the case that bufferCapacityInput is 0.
  • buffer is a pointer to an array of characters, but can be NULL if bufferCapacityInput is 0. The format of the output is a single space (ASCII 0x20) delimited string of extension names.
  • See Buffer Size Parameters chapter for a detailed description of retrieving the required buffer size.

Valid Usage (Implicit)

  • instance must be a valid Instance handle
  • bufferCountOutput must be a pointer to a uint32_t value
  • If bufferCapacityInput is not 0, buffer must be a pointer to an array of bufferCapacityInput null-terminated UTF-8 strings

Return Codes

Success
Failure

See Also

Instance, https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XrSystemId, getVulkanDeviceExtensionsKHR

getVulkanDeviceExtensionsKHR :: forall io. MonadIO io => Instance -> SystemId -> io ("buffer" ::: ByteString) Source #

xrGetVulkanDeviceExtensionsKHR - Get list of required Vulkan device extensions for an OpenXR instance and system

Parameter Descriptions

  • systemId is an https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XrSystemId handle for the system which will be used to create a session.
  • bufferCapacityInput is the capacity of the buffer, or 0 to indicate a request to retrieve the required capacity.
  • bufferCountOutput is a pointer to the count of characters written (including terminating \0), or a pointer to the required capacity in the case that bufferCapacityInput is 0.
  • buffer is a pointer to an array of characters, but can be NULL if bufferCapacityInput is 0. The format of the output is a single space (ASCII 0x20) delimited string of extension names.
  • See Buffer Size Parameters chapter for a detailed description of retrieving the required buffer size.

Valid Usage (Implicit)

  • instance must be a valid Instance handle
  • bufferCountOutput must be a pointer to a uint32_t value
  • If bufferCapacityInput is not 0, buffer must be a pointer to an array of bufferCapacityInput null-terminated UTF-8 strings

Return Codes

Success
Failure

See Also

Instance, https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XrSystemId, getVulkanInstanceExtensionsKHR

getVulkanGraphicsDeviceKHR Source #

Arguments

:: forall io. MonadIO io 
=> Instance

instance is an Instance handle previously created with createInstance.

-> SystemId

systemId is an https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XrSystemId handle for the system which will be used to create a session.

-> ("vkInstance" ::: Ptr Instance_T)

vkInstance is a valid Vulkan VkInstance.

-> io ("vkPhysicalDevice" ::: Ptr PhysicalDevice_T) 

xrGetVulkanGraphicsDeviceKHR - Retrieve the Vulkan physical device associated with an OpenXR instance and system

Parameter Descriptions

Description

getVulkanGraphicsDeviceKHR function identifies to the application what graphics device (Vulkan VkPhysicalDevice) needs to be used. getVulkanGraphicsDeviceKHR must be called prior to calling createSession, and the VkPhysicalDevice that getVulkanGraphicsDeviceKHR returns should be passed to createSession in the GraphicsBindingVulkanKHR.

Valid Usage (Implicit)

  • instance must be a valid Instance handle
  • vkInstance must be a valid VkInstance value
  • vkPhysicalDevice must be a pointer to a VkPhysicalDevice value

Return Codes

Success
Failure

See Also

Instance, https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XrSystemId

getVulkanGraphicsRequirementsKHR Source #

Arguments

:: forall io. MonadIO io 
=> Instance

instance is an Instance handle previously created with createInstance.

-> SystemId

systemId is an https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XrSystemId handle for the system which will be used to create a session.

-> io GraphicsRequirementsVulkanKHR 

xrGetVulkanGraphicsRequirementsKHR - Retrieve the Vulkan version requirements for an instance and system

Parameter Descriptions

Description

The getVulkanGraphicsRequirementsKHR function identifies to the application the minimum Vulkan version requirement and the highest known tested Vulkan version. The runtime must return ERROR_GRAPHICS_REQUIREMENTS_CALL_MISSING (ERROR_VALIDATION_FAILURE may be returned due to legacy behavior) on calls to createSession if getVulkanGraphicsRequirementsKHR has not been called for the same instance and systemId.

Valid Usage (Implicit)

Return Codes

Success
Failure

See Also

GraphicsRequirementsVulkanKHR, Instance, https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XrSystemId

data GraphicsBindingVulkanKHR Source #

XrGraphicsBindingVulkanKHR - The graphics binding structure to be passed at session creation to use Vulkan

Member Descriptions

Description

When creating a Vulkan-backed Session, the application will provide a pointer to an GraphicsBindingVulkanKHR in the next chain of the SessionCreateInfo.

Valid Usage

Valid Usage (Implicit)

See Also

StructureType, createSession

Constructors

GraphicsBindingVulkanKHR 

Fields

Instances

Instances details
Eq GraphicsBindingVulkanKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable

Show GraphicsBindingVulkanKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable

Storable GraphicsBindingVulkanKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable

Zero GraphicsBindingVulkanKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable

ToCStruct GraphicsBindingVulkanKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable

FromCStruct GraphicsBindingVulkanKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable

data SwapchainImageVulkanKHR Source #

XrSwapchainImageVulkanKHR - Vulkan-specific swapchain image structure

Member Descriptions

Description

If a given session was created with GraphicsBindingVulkanKHR, the following conditions must apply.

The OpenXR runtime must interpret the top-left corner of the swapchain image as the coordinate origin unless specified otherwise by extension functionality.

The OpenXR runtime must interpret the swapchain images in a clip space of positive Y pointing down, near Z plane at 0, and far Z plane at 1.

Valid Usage (Implicit)

See Also

StructureType, SwapchainImageBaseHeader

Constructors

SwapchainImageVulkanKHR 

Fields

  • image :: Image

    image is a valid Vulkan VkImage to use.

Instances

Instances details
Eq SwapchainImageVulkanKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable

Show SwapchainImageVulkanKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable

Storable SwapchainImageVulkanKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable

Zero SwapchainImageVulkanKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable

ToCStruct SwapchainImageVulkanKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable

FromCStruct SwapchainImageVulkanKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable

IsSwapchainImage SwapchainImageVulkanKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable

data GraphicsRequirementsVulkanKHR Source #

XrGraphicsRequirementsVulkanKHR - Vulkan API version requirements

Member Descriptions

Description

GraphicsRequirementsVulkanKHR is populated by getVulkanGraphicsRequirementsKHR with the runtime’s Vulkan API version requirements.

Valid Usage (Implicit)

See Also

StructureType, https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XrVersion, getVulkanGraphicsRequirements2KHR, getVulkanGraphicsRequirementsKHR

Constructors

GraphicsRequirementsVulkanKHR 

Fields

  • minApiVersionSupported :: Version

    minApiVersionSupported is the minimum Vulkan Instance API version that the runtime supports. Uses MAKE_VERSION on major and minor API version, ignoring any patch version component.

  • maxApiVersionSupported :: Version

    maxApiVersionSupported is the maximum Vulkan Instance API version that the runtime has been tested on and is known to support. Newer Vulkan Instance API versions might work if they are compatible. Uses MAKE_VERSION on major and minor API version, ignoring any patch version component.

Instances

Instances details
Eq GraphicsRequirementsVulkanKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable

Show GraphicsRequirementsVulkanKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable

Storable GraphicsRequirementsVulkanKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable

Zero GraphicsRequirementsVulkanKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable

ToCStruct GraphicsRequirementsVulkanKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable

FromCStruct GraphicsRequirementsVulkanKHR Source # 
Instance details

Defined in OpenXR.Extensions.XR_KHR_vulkan_enable

pattern KHR_vulkan_enable_SPEC_VERSION :: forall a. Integral a => a Source #

type KHR_VULKAN_ENABLE_EXTENSION_NAME = "XR_KHR_vulkan_enable" Source #

pattern KHR_VULKAN_ENABLE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #