Device

enum hk_queue_flag_bits_e

Flags enum for queue selection.

Values:

enumerator HK_QUEUE_NONE

Invalid flag for completness/default.

enumerator HK_QUEUE_GRAPHICS_BIT

Flag specifying graphics queue

enumerator HK_QUEUE_COMPUTE_BIT

Flag specifying compute queue

enumerator HK_QUEUE_TRANSFER_BIT

Flag specifying transfer queue

struct hk_gfx_device_desc

Graphics device configuration data structure.

Public Members

uint32_t requested_queues

Combination of hk_queue_flag_bits_e flag bits to hint the search of a valid queue. Usual examples:

  • Compute-only program: HK_QUEUE_COMPUTE_BIT | HK_QUEUE_TRANSFER_BIT

  • Graphic-only program: HK_QUEUE_GRAPHICS_BIT | HK_QUEUE_TRANSFER_BIT

  • Real-time application: HK_QUEUE_GRAPHICS_BIT | HK_QUEUE_COMPUTE_BIT | HK_QUEUE_TRANSFER_BIT

bool enable_swapchain

Allows to create a surface and a swapchain object

bool enable_mesh_shading

Allows to use a mesh pipeline (task & mesh shaders)

hk_device_selector_t selector

Device selector parameters. Help chose a physical device.

hk_device_t *hkgfx_device_create(const hk_gfx_device_desc *desc)

Allocates a haiku device object.

void hkgfx_device_destroy(hk_device_t *device)

Deallocates a haiku device object.