Blender V4.5
GHOST_ContextVK Class Reference

#include <GHOST_ContextVK.hh>

Inherits GHOST_Context.

Public Member Functions

 GHOST_ContextVK (bool stereoVisual, GHOST_TVulkanPlatformType platform, Window window, Display *display, wl_surface *wayland_surface, wl_display *wayland_display, const GHOST_ContextVK_WindowInfo *wayland_window_info, int contextMajorVersion, int contextMinorVersion, int debug, const GHOST_GPUDevice &preferred_device)
 ~GHOST_ContextVK () override
GHOST_TSuccess swapBuffers () override
GHOST_TSuccess activateDrawingContext () override
GHOST_TSuccess releaseDrawingContext () override
GHOST_TSuccess initializeDrawingContext () override
GHOST_TSuccess releaseNativeHandles () override
GHOST_TSuccess getVulkanHandles (GHOST_VulkanHandles &r_handles) override
GHOST_TSuccess getVulkanSwapChainFormat (GHOST_VulkanSwapChainData *r_swap_chain_data) override
GHOST_TSuccess setVulkanSwapBuffersCallbacks (std::function< void(const GHOST_VulkanSwapChainData *)> swap_buffers_pre_callback, std::function< void(void)> swap_buffers_post_callback, std::function< void(GHOST_VulkanOpenXRData *)> openxr_acquire_framebuffer_image_callback, std::function< void(GHOST_VulkanOpenXRData *)> openxr_release_framebuffer_image_callback) override
GHOST_TSuccess setSwapInterval (int) override
GHOST_TSuccess getSwapInterval (int &) override
bool isUpsideDown () const override
Public Member Functions inherited from GHOST_Context
 GHOST_Context (bool stereoVisual)
 ~GHOST_Context () override
virtual GHOST_TSuccess updateDrawingContext ()
void * getUserData ()
void setUserData (void *user_data)
bool isStereoVisual () const
unsigned int getDefaultFramebuffer () override
Public Member Functions inherited from GHOST_IContext
virtual ~GHOST_IContext ()=default

Friends

class GHOST_XrGraphicsBindingVulkan
class GHOST_XrGraphicsBindingVulkanD3D

Additional Inherited Members

Static Public Member Functions inherited from GHOST_Context
static GHOST_ContextgetActiveDrawingContext ()
Static Public Member Functions inherited from GHOST_IContext
static GHOST_IContextgetActiveDrawingContext ()
Protected Attributes inherited from GHOST_Context
bool m_stereoVisual
void * m_user_data = nullptr
Static Protected Attributes inherited from GHOST_Context
static GHOST_Contextactive_context_

Detailed Description

Definition at line 103 of file GHOST_ContextVK.hh.

Constructor & Destructor Documentation

◆ GHOST_ContextVK()

GHOST_ContextVK::GHOST_ContextVK ( bool stereoVisual,
GHOST_TVulkanPlatformType platform,
Window window,
Display * display,
wl_surface * wayland_surface,
wl_display * wayland_display,
const GHOST_ContextVK_WindowInfo * wayland_window_info,
int contextMajorVersion,
int contextMinorVersion,
int debug,
const GHOST_GPUDevice & preferred_device )

Constructor.

Definition at line 557 of file GHOST_ContextVK.cc.

References Display, GHOST_Context::GHOST_Context(), GHOST_FRAMES_IN_FLIGHT, Window, wl_display, and wl_surface.

◆ ~GHOST_ContextVK()

GHOST_ContextVK::~GHOST_ContextVK ( )
override

Member Function Documentation

◆ activateDrawingContext()

GHOST_TSuccess GHOST_ContextVK::activateDrawingContext ( )
overridevirtual

Activates the drawing context of this window.

Returns
A boolean success indicator.

Implements GHOST_Context.

Definition at line 784 of file GHOST_ContextVK.cc.

References GHOST_Context::active_context_, and GHOST_kSuccess.

◆ getSwapInterval()

GHOST_TSuccess GHOST_ContextVK::getSwapInterval ( int & )
inlineoverridevirtual

Gets the current swap interval for swapBuffers.

Parameters
intervalOutVariable to store the swap interval if it can be read.
Returns
Whether the swap interval can be read.

Reimplemented from GHOST_Context.

Definition at line 198 of file GHOST_ContextVK.hh.

References GHOST_kFailure.

◆ getVulkanHandles()

GHOST_TSuccess GHOST_ContextVK::getVulkanHandles ( GHOST_VulkanHandles & r_handles)
override

Gets the Vulkan context related resource handles.

Returns
A boolean success indicator.

Definition at line 746 of file GHOST_ContextVK.cc.

References GHOST_kSuccess, and vulkan_device.

◆ getVulkanSwapChainFormat()

GHOST_TSuccess GHOST_ContextVK::getVulkanSwapChainFormat ( GHOST_VulkanSwapChainData * r_swap_chain_data)
override

Definition at line 736 of file GHOST_ContextVK.cc.

References GHOST_kSuccess.

◆ initializeDrawingContext()

GHOST_TSuccess GHOST_ContextVK::initializeDrawingContext ( )
overridevirtual

Call immediately after new to initialize. If this fails then immediately delete the object.

Returns
Indication as to whether initialization has succeeded.

Implements GHOST_Context.

Definition at line 1181 of file GHOST_ContextVK.cc.

References GHOST_Context::active_context_, contains_extension(), ensure_vulkan_device(), getExtensionsAvailable(), GHOST_kFailure, GHOST_kSuccess, GHOST_kVulkanPlatformHeadless, requireExtension(), VK_CHECK, vulkan_device, and Window.

◆ isUpsideDown()

bool GHOST_ContextVK::isUpsideDown ( ) const
inlineoverridevirtual

Returns if the context is rendered upside down compared to OpenGL.

Vulkan is always rendered upside down.

Reimplemented from GHOST_Context.

Definition at line 208 of file GHOST_ContextVK.hh.

◆ releaseDrawingContext()

GHOST_TSuccess GHOST_ContextVK::releaseDrawingContext ( )
overridevirtual

Release the drawing context of the calling thread.

Returns
A boolean success indicator.

Implements GHOST_Context.

Definition at line 790 of file GHOST_ContextVK.cc.

References GHOST_Context::active_context_, and GHOST_kSuccess.

◆ releaseNativeHandles()

GHOST_TSuccess GHOST_ContextVK::releaseNativeHandles ( )
overridevirtual

Removes references to native handles from this context and then returns

Returns
GHOST_kSuccess if it is OK for the parent to release the handles and GHOST_kFailure if releasing the handles will interfere with sharing

Implements GHOST_Context.

Definition at line 1355 of file GHOST_ContextVK.cc.

References GHOST_kSuccess.

◆ setSwapInterval()

GHOST_TSuccess GHOST_ContextVK::setSwapInterval ( int )
inlineoverridevirtual

Sets the swap interval for swapBuffers.

Parameters
intervalThe swap interval to use.
Returns
A boolean success indicator.

Reimplemented from GHOST_Context.

Definition at line 188 of file GHOST_ContextVK.hh.

References GHOST_kFailure.

◆ setVulkanSwapBuffersCallbacks()

GHOST_TSuccess GHOST_ContextVK::setVulkanSwapBuffersCallbacks ( std::function< void(const GHOST_VulkanSwapChainData *)> swap_buffers_pre_callback,
std::function< void(void)> swap_buffers_post_callback,
std::function< void(GHOST_VulkanOpenXRData *)> openxr_acquire_framebuffer_image_callback,
std::function< void(GHOST_VulkanOpenXRData *)> openxr_release_framebuffer_image_callback )
override

Definition at line 771 of file GHOST_ContextVK.cc.

References GHOST_kSuccess.

◆ swapBuffers()

◆ GHOST_XrGraphicsBindingVulkan

Definition at line 104 of file GHOST_ContextVK.hh.

References GHOST_XrGraphicsBindingVulkan.

Referenced by GHOST_XrGraphicsBindingVulkan.

◆ GHOST_XrGraphicsBindingVulkanD3D

friend class GHOST_XrGraphicsBindingVulkanD3D
friend

The documentation for this class was generated from the following files: