GdkVulkanContext

GdkVulkanContext — Vulkan draw context

Functions

Types and Values

Includes

#include <gdk/gdkwayland.h>

Description

GdkVulkanContext is an object representing the platform-specific Vulkan draw context.

GdkVulkanContexts are created for a GdkWindow using gdk_window_create_vulkan_context(), and the context will match the the characteristics of the window.

Support for GdkVulkanContext is platform-specific, context creation can fail, returning NULL context.

Functions

gdk_vulkan_context_get_device ()

VkDevice
gdk_vulkan_context_get_device (GdkVulkanContext *context);

Gets the Vulkan device that this context is using.

Parameters

context

a GdkVulkanContext

 

Returns

the VkDevice.

[transfer none]


gdk_vulkan_context_get_draw_index ()

uint32_t
gdk_vulkan_context_get_draw_index (GdkVulkanContext *context);

Gets the index of the image that is currently being drawn.

This function can only be used between gdk_window_begin_draw_frame() and gdk_window_end_draw_frame() calls for the toplevel window that the context is associated with.

Parameters

context

a GdkVulkanContext

 

Returns

the index of the images that is being drawn


gdk_vulkan_context_get_draw_semaphore ()

VkSemaphore
gdk_vulkan_context_get_draw_semaphore (GdkVulkanContext *context);

Gets the Vulkan semaphore that protects access to the image that is currently being drawn.

This function can only be used between gdk_window_begin_draw_frame() and gdk_window_end_draw_frame() calls for the toplevel window that the context is associated with.

Parameters

context

a GdkVulkanContext

 

Returns

the VkSemaphore.

[transfer none]


gdk_vulkan_context_get_image ()

VkImage
gdk_vulkan_context_get_image (GdkVulkanContext *context,
                              guint id);

Gets the image with index id that this context is using.

Parameters

context

a GdkVulkanContext

 

id

the index of the image to return

 

Returns

the VkImage.

[transfer none]


gdk_vulkan_context_get_image_format ()

VkFormat
gdk_vulkan_context_get_image_format (GdkVulkanContext *context);

Gets the image format that this context is using.

Parameters

context

a GdkVulkanContext

 

Returns

the VkFormat.

[transfer none]


gdk_vulkan_context_get_instance ()

VkInstance
gdk_vulkan_context_get_instance (GdkVulkanContext *context);

Gets the Vulkan instance that is associated with context .

Parameters

context

a GdkVulkanContext

 

Returns

the VkInstance.

[transfer none]


gdk_vulkan_context_get_n_images ()

uint32_t
gdk_vulkan_context_get_n_images (GdkVulkanContext *context);

Gets the number of images that this context is using in its swap chain.

Parameters

context

a GdkVulkanContext

 

Returns

the number of images


gdk_vulkan_context_get_physical_device ()

VkPhysicalDevice
gdk_vulkan_context_get_physical_device
                               (GdkVulkanContext *context);

Gets the Vulkan physical device that this context is using.

Parameters

context

a GdkVulkanContext

 

Returns

the VkPhysicalDevice.

[transfer none]


gdk_vulkan_context_get_queue ()

VkQueue
gdk_vulkan_context_get_queue (GdkVulkanContext *context);

Gets the Vulkan queue that this context is using.

Parameters

context

a GdkVulkanContext

 

Returns

the VkQueue.

[transfer none]


gdk_vulkan_context_get_queue_family_index ()

uint32_t
gdk_vulkan_context_get_queue_family_index
                               (GdkVulkanContext *context);

Gets the family index for the queue that this context is using. See vkGetPhysicalDeviceQueueFamilyProperties().

Parameters

context

a GdkVulkanContext

 

Returns

the index

Types and Values

GdkVulkanContext

typedef struct _GdkVulkanContext GdkVulkanContext;

The GdkVulkanContext struct contains only private fields and should not be accessed directly.


enum GdkVulkanError

Error enumeration for GdkVulkanContext.

Members

GDK_VULKAN_ERROR_UNSUPPORTED

Vulkan is not supported on this backend or has not been compiled in.

 

GDK_VULKAN_ERROR_NOT_AVAILABLE

Vulkan support is not available on this Window

 

Since: 3.90