7#ifndef LOOMC_TARGET_SPIRV_VULKAN_H_
8#define LOOMC_TARGET_SPIRV_VULKAN_H_
11#include "vulkan/vulkan.h"
91 PFN_vkEnumerateDeviceExtensionProperties
#define LOOMC_API_EXPORT
Exports a public Loom C API symbol from a shared library build.
Definition base.h:34
size_t loomc_host_size_t
Host allocation and container size type.
Definition base.h:45
loomc_structure_type_t
Structure type values used by extensible public descriptors.
Definition base.h:181
struct iree_status_handle_t * loomc_status_t
Opaque status handle.
Definition base.h:55
struct loomc_result_t loomc_result_t
Immutable operation result.
Definition result.h:63
SPIR-V target profile facts.
Host allocator used for persistent Loom object storage.
Definition base.h:375
Vulkan query functions used by the raw Vulkan SPIR-V profile adapter.
Definition vulkan.h:68
loomc_structure_type_t type
Structure type.
Definition vulkan.h:71
const void * next
Reserved extension chain. Must be NULL.
Definition vulkan.h:77
PFN_vkGetPhysicalDeviceProperties2 get_physical_device_properties2
Vulkan physical-device properties query function.
Definition vulkan.h:80
PFN_vkGetPhysicalDeviceFeatures2 get_physical_device_features2
Vulkan physical-device features query function.
Definition vulkan.h:83
PFN_vkEnumerateDeviceExtensionProperties enumerate_device_extension_properties
Optional Vulkan physical-device extension enumeration function.
Definition vulkan.h:92
loomc_host_size_t structure_size
Size of this structure in bytes.
Definition vulkan.h:74
Raw Vulkan profile creation options.
Definition vulkan.h:96
const void * next
Reserved extension chain. Must be NULL.
Definition vulkan.h:105
VkPhysicalDevice physical_device
Vulkan physical device to query.
Definition vulkan.h:111
loomc_string_view_t identifier
Stable profile identifier used in diagnostics.
Definition vulkan.h:108
const loomc_spirv_vulkan_function_table_t * functions
Borrowed Vulkan function table.
Definition vulkan.h:114
loomc_structure_type_t type
Structure type.
Definition vulkan.h:99
loomc_host_size_t structure_size
Size of this structure in bytes.
Definition vulkan.h:102
Non-owning string view over bytes that need not be NUL-terminated.
Definition base.h:63
struct loomc_target_environment_t loomc_target_environment_t
Prepared immutable target environment.
Definition target.h:123
struct loomc_target_profile_t loomc_target_profile_t
Prepared immutable target profile.
Definition target.h:135
loomc_status_t loomc_target_profile_create_spirv_vulkan(loomc_target_environment_t *target_environment, const loomc_spirv_vulkan_profile_options_t *options, loomc_allocator_t allocator, loomc_target_profile_t **out_profile, loomc_result_t **out_result)
Creates a SPIR-V target profile from a raw Vulkan physical device.