Header menu logo Nu

VulkanContext Type

Exposes the vulkan handles that must be globally accessible within the renderer. TODO: P1: group fields / properties by role rather than type.

Record fields

Record Field Description

DebugMessengerOpt_

Full Usage: DebugMessengerOpt_

Field type: VkDebugUtilsMessengerEXT option
Field type: VkDebugUtilsMessengerEXT option

Device_

Full Usage: Device_

Field type: VkDevice
Field type: VkDevice

FrameAbandoned_

Full Usage: FrameAbandoned_

Field type: bool
Modifiers: mutable
Field type: bool

Instance_

Full Usage: Instance_

Field type: VkInstance
Field type: VkInstance

PhysicalDevice_

Full Usage: PhysicalDevice_

Field type: PhysicalDevice
Field type: PhysicalDevice

PresentQueue_

Full Usage: PresentQueue_

Field type: ConcurrentCommandQueue
Field type: ConcurrentCommandQueue

RenderCommandBuffersCursor_

Full Usage: RenderCommandBuffersCursor_

Field type: int
Modifiers: mutable
Field type: int

RenderCommandBuffers_

Full Usage: RenderCommandBuffers_

Field type: List<VkCommandBuffer>
Field type: List<VkCommandBuffer>

RenderCommandPool_

Full Usage: RenderCommandPool_

Field type: VkCommandPool
Field type: VkCommandPool

RenderFence_

Full Usage: RenderFence_

Field type: VkFence
Field type: VkFence

RenderQueue_

Full Usage: RenderQueue_

Field type: ConcurrentCommandQueue
Field type: ConcurrentCommandQueue

RenderSemaphore_

Full Usage: RenderSemaphore_

Field type: VkSemaphore
Field type: VkSemaphore

SwapchainImageSemaphore_

Full Usage: SwapchainImageSemaphore_

Field type: VkSemaphore
Field type: VkSemaphore

Swapchain_

Full Usage: Swapchain_

Field type: Swapchain
Field type: Swapchain

TextureCommandPool_

Full Usage: TextureCommandPool_

Field type: VkCommandPool
Field type: VkCommandPool

TextureFence_

Full Usage: TextureFence_

Field type: VkFence
Field type: VkFence

TextureQueue_

Full Usage: TextureQueue_

Field type: ConcurrentCommandQueue
Field type: ConcurrentCommandQueue

TransientCommandPool_

Full Usage: TransientCommandPool_

Field type: VkCommandPool
Field type: VkCommandPool

TransientFence_

Full Usage: TransientFence_

Field type: VkFence
Field type: VkFence

TryCreateVkSurface_

Full Usage: TryCreateVkSurface_

Field type: nativeptr<SDL_Window> -> VkInstance -> VkSurfaceKHR option
Field type: nativeptr<SDL_Window> -> VkInstance -> VkSurfaceKHR option

VmaAllocator_

Full Usage: VmaAllocator_

Field type: VmaAllocator
Field type: VmaAllocator

Instance members

Instance member Description

this.AnisotropySupported

Full Usage: this.AnisotropySupported

Returns: bool

Anisotropy supported.

Returns: bool

this.DeviceApi

Full Usage: this.DeviceApi

Returns: VkDeviceApi

The vulkan device API. Provided for use from user lambda callbacks.

Returns: VkDeviceApi

this.InstanceApi

Full Usage: this.InstanceApi

Returns: VkInstanceApi

The vulkan instance API. Provided for use from user lambda callbacks.

Returns: VkInstanceApi

this.MaxAnisotropy

Full Usage: this.MaxAnisotropy

Returns: float32

Maximum anisotropy.

Returns: float32

this.PhysicalDevice

Full Usage: this.PhysicalDevice

Returns: PhysicalDevice

The physical device.

Returns: PhysicalDevice

this.RenderCommandBuffer

Full Usage: this.RenderCommandBuffer

Returns: VkCommandBuffer

The current render command buffer.

Returns: VkCommandBuffer

this.RenderQueue

Full Usage: this.RenderQueue

Returns: ConcurrentCommandQueue

The render command queue.

Returns: ConcurrentCommandQueue

this.TextureCommandPool

Full Usage: this.TextureCommandPool

Returns: VkCommandPool

The command pool for texture command buffers.

Returns: VkCommandPool

this.TextureFence

Full Usage: this.TextureFence

Returns: VkFence

The texture fence.

Returns: VkFence

this.TextureQueue

Full Usage: this.TextureQueue

Returns: ConcurrentCommandQueue

The texture command queue.

Returns: ConcurrentCommandQueue

this.TransientCommandPool

Full Usage: this.TransientCommandPool

Returns: VkCommandPool

The command pool for transient command buffers.

Returns: VkCommandPool

this.TransientFence

Full Usage: this.TransientFence

Returns: VkFence

The transient fence.

Returns: VkFence

this.VmaAllocator

Full Usage: this.VmaAllocator

Returns: VmaAllocator

The VMA allocator.

Returns: VmaAllocator

Static members

Static member Description

VulkanContext.advanceRenderCommandBuffer context

Full Usage: VulkanContext.advanceRenderCommandBuffer context

Parameters:

Submit the current render command buffer and then start new one.

context : VulkanContext

VulkanContext.beginFrame resolveImage context

Full Usage: VulkanContext.beginFrame resolveImage context

Parameters:

Begin the frame.

resolveImage : VkImage
context : VulkanContext

VulkanContext.cleanUp context

Full Usage: VulkanContext.cleanUp context

Parameters:

Clean-up a vulkan context. NOTE: intended to be invoked from the main thread.

context : VulkanContext

VulkanContext.endFrame windowViewport resolveImage context

Full Usage: VulkanContext.endFrame windowViewport resolveImage context

Parameters:

End the frame.

windowViewport : Viewport
resolveImage : VkImage
context : VulkanContext

VulkanContext.present context

Full Usage: VulkanContext.present context

Parameters:

Present the image back to the swapchain to appear on screen.

context : VulkanContext

VulkanContext.tryCreate tryCreateVkSurface window

Full Usage: VulkanContext.tryCreate tryCreateVkSurface window

Parameters:
Returns: VulkanContext option

Attempt to create a VulkanContext. NOTE: this procedure is intended to be invoked from the main thread to satisfy the requirements of Mac and iOS surface creation, and possibly other platforms.

tryCreateVkSurface : nativeptr<SDL_Window> -> VkInstance -> VkSurfaceKHR option
window : nativeptr<SDL_Window>
Returns: VulkanContext option

VulkanContext.waitIdle arg1

Full Usage: VulkanContext.waitIdle arg1

Parameters:

Wait for all device operations to complete before cleaning up resources.

arg0 : VulkanContext

Type something to start searching.