|
Blender V4.5
|
#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_Context * | getActiveDrawingContext () |
| Static Public Member Functions inherited from GHOST_IContext | |
| static GHOST_IContext * | getActiveDrawingContext () |
| Protected Attributes inherited from GHOST_Context | |
| bool | m_stereoVisual |
| void * | m_user_data = nullptr |
| Static Protected Attributes inherited from GHOST_Context | |
| static GHOST_Context * | active_context_ |
Definition at line 103 of file GHOST_ContextVK.hh.
| 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.
|
override |
Destructor.
Definition at line 602 of file GHOST_ContextVK.cc.
References GHOST_DeviceVK::instance, GHOST_DeviceVK::users, vulkan_device, and GHOST_DeviceVK::wait_idle().
|
overridevirtual |
Activates the drawing context of this window.
Implements GHOST_Context.
Definition at line 784 of file GHOST_ContextVK.cc.
References GHOST_Context::active_context_, and GHOST_kSuccess.
|
inlineoverridevirtual |
Gets the current swap interval for swapBuffers.
| intervalOut | Variable to store the swap interval if it can be read. |
Reimplemented from GHOST_Context.
Definition at line 198 of file GHOST_ContextVK.hh.
References GHOST_kFailure.
|
override |
Gets the Vulkan context related resource handles.
Definition at line 746 of file GHOST_ContextVK.cc.
References GHOST_kSuccess, and vulkan_device.
|
override |
Definition at line 736 of file GHOST_ContextVK.cc.
References GHOST_kSuccess.
|
overridevirtual |
Call immediately after new to initialize. If this fails then immediately delete the object.
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.
|
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.
|
overridevirtual |
Release the drawing context of the calling thread.
Implements GHOST_Context.
Definition at line 790 of file GHOST_ContextVK.cc.
References GHOST_Context::active_context_, and GHOST_kSuccess.
|
overridevirtual |
Removes references to native handles from this context and then returns
Implements GHOST_Context.
Definition at line 1355 of file GHOST_ContextVK.cc.
References GHOST_kSuccess.
|
inlineoverridevirtual |
Sets the swap interval for swapBuffers.
| interval | The swap interval to use. |
Reimplemented from GHOST_Context.
Definition at line 188 of file GHOST_ContextVK.hh.
References GHOST_kFailure.
|
override |
Definition at line 771 of file GHOST_ContextVK.cc.
References GHOST_kSuccess.
|
overridevirtual |
Swaps front and back buffers of a window.
Implements GHOST_Context.
Definition at line 621 of file GHOST_ContextVK.cc.
References GHOST_Frame::acquire_semaphore, assert, CLOG_ERROR, CLOG_INFO, GHOST_FrameDiscard::destroy(), GHOST_Frame::discard_pile, GHOST_kFailure, GHOST_kSuccess, lock, LOG, GHOST_SwapchainImage::present_semaphore, GHOST_Frame::submission_fence, UINT64_MAX, GHOST_SwapchainImage::vk_image, vulkan_device, and vulkan_error_as_string().
|
friend |
Definition at line 104 of file GHOST_ContextVK.hh.
References GHOST_XrGraphicsBindingVulkan.
Referenced by GHOST_XrGraphicsBindingVulkan.
|
friend |
Definition at line 105 of file GHOST_ContextVK.hh.
References Display, GHOST_XrGraphicsBindingVulkanD3D, Window, wl_display, and wl_surface.
Referenced by GHOST_XrGraphicsBindingVulkanD3D.