GulkanClient

GulkanClient

Functions

Types and Values

Object Hierarchy

    GObject
    ╰── GulkanClient
        ╰── GulkanRenderer

Includes

#include <gulkan.h>

Description

Functions

gulkan_client_new ()

GulkanClient *
gulkan_client_new (void);

gulkan_client_init_command_pool ()

bool
gulkan_client_init_command_pool (GulkanClient *self);

gulkan_client_init_vulkan ()

bool
gulkan_client_init_vulkan (GulkanClient *self,
                           GSList *instance_extensions,
                           GSList *device_extensions);

gulkan_client_transfer_layout ()

bool
gulkan_client_transfer_layout (GulkanClient *self,
                               GulkanTexture *texture,
                               VkImageLayout src_layout,
                               VkImageLayout dst_layout);

gulkan_client_upload_cairo_surface ()

bool
gulkan_client_upload_cairo_surface (GulkanClient *self,
                                    GulkanTexture *texture,
                                    cairo_surface_t *surface,
                                    VkImageLayout layout);

gulkan_client_upload_pixbuf ()

bool
gulkan_client_upload_pixbuf (GulkanClient *self,
                             GulkanTexture *texture,
                             GdkPixbuf *pixbuf,
                             VkImageLayout layout);

gulkan_client_upload_pixels ()

bool
gulkan_client_upload_pixels (GulkanClient *self,
                             GulkanTexture *texture,
                             guchar *pixels,
                             gsize size,
                             VkImageLayout layout);

gulkan_client_begin_cmd_buffer ()

bool
gulkan_client_begin_cmd_buffer (GulkanClient *self,
                                GulkanCommandBuffer *buffer);

gulkan_client_get_command_pool ()

VkCommandPool
gulkan_client_get_command_pool (GulkanClient *self);

gulkan_client_get_device ()

GulkanDevice *
gulkan_client_get_device (GulkanClient *self);

gulkan_client_get_device_handle ()

VkDevice
gulkan_client_get_device_handle (GulkanClient *self);

gulkan_client_get_instance ()

GulkanInstance *
gulkan_client_get_instance (GulkanClient *self);

gulkan_client_get_instance_handle ()

VkInstance
gulkan_client_get_instance_handle (GulkanClient *self);

gulkan_client_get_physical_device_handle ()

VkPhysicalDevice
gulkan_client_get_physical_device_handle
                               (GulkanClient *self);

gulkan_client_init_vulkan_full ()

bool
gulkan_client_init_vulkan_full (GulkanClient *self,
                                GSList *instance_extensions,
                                GSList *device_extensions,
                                VkPhysicalDevice physical_device);

gulkan_client_submit_cmd_buffer ()

bool
gulkan_client_submit_cmd_buffer (GulkanClient *self,
                                 GulkanCommandBuffer *buffer);

gulkan_client_texture_new_from_cairo_surface ()

GulkanTexture *
gulkan_client_texture_new_from_cairo_surface
                               (GulkanClient *self,
                                cairo_surface_t *surface,
                                VkFormat format,
                                VkImageLayout layout);

gulkan_client_texture_new_from_pixbuf ()

GulkanTexture *
gulkan_client_texture_new_from_pixbuf (GulkanClient *self,
                                       GdkPixbuf *pixbuf,
                                       VkFormat format,
                                       VkImageLayout layout,
                                       bool create_mipmaps);

gulkan_client_transfer_layout_full ()

bool
gulkan_client_transfer_layout_full (GulkanClient *self,
                                    GulkanTexture *texture,
                                    VkAccessFlags src_access_mask,
                                    VkAccessFlags dst_access_mask,
                                    VkImageLayout src_layout,
                                    VkImageLayout dst_layout,
                                    VkPipelineStageFlags src_stage_mask,
                                    VkPipelineStageFlags dst_stage_mask);

gulkan_cmd_buffer_begin ()

bool
gulkan_cmd_buffer_begin (GulkanCommandBuffer *buffer,
                         GulkanDevice *device,
                         VkCommandPool command_pool);

gulkan_cmd_buffer_submit ()

bool
gulkan_cmd_buffer_submit (GulkanCommandBuffer *buffer,
                          GulkanDevice *device,
                          VkCommandPool command_pool);

Types and Values

GulkanClient

typedef struct _GulkanClient GulkanClient;

struct GulkanClientClass

struct GulkanClientClass {
  GObjectClass parent_class;
};

GULKAN_TYPE_CLIENT

#define GULKAN_TYPE_CLIENT gulkan_client_get_type()

GulkanCommandBuffer

typedef struct {
  VkCommandBuffer handle;
  VkFence fence;
} GulkanCommandBuffer;

Structure that contains a command buffer handle and a fence.

Members

VkCommandBuffer handle;

The VkCommandBuffer handle of the buffer.

 

VkFence fence;

A VkFence used with the buffer.