## GulkanDevice

GulkanDevice

## Functions

GulkanDevice * | gulkan_device_new ()
gboolean | gulkan_device_create ()
gboolean | gulkan_device_memory_type_from_properties ()
VkDevice | gulkan_device_get_handle ()
VkPhysicalDevice | gulkan_device_get_physical_handle ()
gboolean | gulkan_device_get_memory_fd ()
void | gulkan_device_wait_idle ()
void | gulkan_device_print_memory_properties ()
void | gulkan_device_print_memory_budget ()
VkDeviceSize | gulkan_device_get_heap_budget ()
GulkanQueue * | gulkan_device_get_graphics_queue ()
GulkanQueue * | gulkan_device_get_transfer_queue ()

## Types and Values

#define | GULKAN_TYPE_DEVICE
| GulkanDevice

## Object Hierarchy

        GObject
        ╰── GulkanDevice

## Includes

    #include <gulkan.h>

## Description

## Functions

### gulkan_device_new ()

    GulkanDevice *
    gulkan_device_new (void);

### gulkan_device_create ()

    gboolean
    gulkan_device_create (GulkanDevice *self,
                          GulkanInstance *instance,
                          VkPhysicalDevice device,
                          GSList *extensions);

### gulkan_device_memory_type_from_properties ()

    gboolean
    gulkan_device_memory_type_from_properties
                                   (GulkanDevice *self,
                                    uint32_t memory_type_bits,
                                    VkMemoryPropertyFlags memory_property_flags,
                                    uint32_t *type_index_out);

### gulkan_device_get_handle ()

    VkDevice
    gulkan_device_get_handle (GulkanDevice *self);

### gulkan_device_get_physical_handle ()

    VkPhysicalDevice
    gulkan_device_get_physical_handle (GulkanDevice *self);

### gulkan_device_get_memory_fd ()

    gboolean
    gulkan_device_get_memory_fd (GulkanDevice *self,
                                 VkDeviceMemory image_memory,
                                 int *fd);

### gulkan_device_wait_idle ()

    void
    gulkan_device_wait_idle (GulkanDevice *self);

### gulkan_device_print_memory_properties ()

    void
    gulkan_device_print_memory_properties (GulkanDevice *self);

### gulkan_device_print_memory_budget ()

    void
    gulkan_device_print_memory_budget (GulkanDevice *self);

### gulkan_device_get_heap_budget ()

    VkDeviceSize
    gulkan_device_get_heap_budget (GulkanDevice *self,
                                   uint32_t i);

### gulkan_device_get_graphics_queue ()

    GulkanQueue *
    gulkan_device_get_graphics_queue (GulkanDevice *self);

### gulkan_device_get_transfer_queue ()

    GulkanQueue *
    gulkan_device_get_transfer_queue (GulkanDevice *self);

## Types and Values

### GULKAN_TYPE_DEVICE

    #define GULKAN_TYPE_DEVICE gulkan_device_get_type()

### GulkanDevice

    typedef struct _GulkanDevice GulkanDevice;