MapLibre Native C API
Public C ABI for the MapLibre Native wrapper.
Toggle main menu visibility
Loading...
Searching...
No Matches
include
maplibre_native_c
vulkan.h
Go to the documentation of this file.
1
5
6
#ifndef MAPLIBRE_NATIVE_C_VULKAN_H
7
#define MAPLIBRE_NATIVE_C_VULKAN_H
8
9
#include <stdint.h>
10
11
#include "
base.h
"
12
#include "
render_target.h
"
13
14
#ifdef __cplusplus
15
extern
"C"
{
16
#endif
17
19
typedef
enum
MLN_BINDING(
20
"kind=bitmask"
21
)
mln_vulkan_device_option_field
: uint32_t {
22
MLN_VULKAN_DEVICE_OPTION_PRESENTATION
= 1U << 0U,
23
MLN_VULKAN_DEVICE_OPTION_DEVICE_UUID
= 1U << 1U,
24
MLN_VULKAN_DEVICE_OPTION_DEVICE_LUID
= 1U << 2U,
25
}
mln_vulkan_device_option_field
;
26
28
typedef
uint32_t
mln_vulkan_device_option_fields
;
29
31
typedef
struct
mln_vulkan_device_options
{
32
uint32_t
size
;
33
mln_vulkan_device_option_fields
fields
;
39
bool
presentation
40
MLN_BINDING(
"mask=fields;bit=MLN_VULKAN_DEVICE_OPTION_PRESENTATION"
);
45
mln_buffer_view
device_uuid
MLN_BINDING(
46
"encoding=bytes;mask=fields;bit=MLN_VULKAN_DEVICE_OPTION_DEVICE_UUID"
47
);
53
mln_buffer_view
device_luid
MLN_BINDING(
54
"encoding=bytes;mask=fields;bit=MLN_VULKAN_DEVICE_OPTION_DEVICE_LUID"
55
);
56
}
mln_vulkan_device_options
;
57
59
typedef
struct
mln_vulkan_device_context_result
{
60
uint32_t
size
;
61
mln_vulkan_context_descriptor
context
;
62
}
mln_vulkan_device_context_result
;
63
80
MLN_BINDING(
"platforms=android,freebsd,linux,macos,ohos,windows"
)
81
MLN_API
mln_status
mln_vulkan_device_create
(
82
const
mln_vulkan_device_options
* options MLN_BINDING(
"nullable=true"
),
83
mln_vulkan_device
* out_device MLN_BINDING(
"direction=out"
),
84
mln_diagnostic
* out_diagnostic
85
) MLN_NOEXCEPT;
86
98
MLN_BINDING(
"platforms=android,freebsd,linux,macos,ohos,windows"
)
99
MLN_API
mln_status
mln_vulkan_device_get_context
(
100
mln_vulkan_device
device,
101
mln_vulkan_device_context_result
* out_result MLN_BINDING(
"direction=out"
),
102
mln_diagnostic
* out_diagnostic
103
) MLN_NOEXCEPT;
104
116
MLN_API
void
mln_vulkan_device_release
(
mln_vulkan_device
device) MLN_NOEXCEPT;
117
118
#ifdef __cplusplus
119
}
120
#endif
121
122
#endif
// MAPLIBRE_NATIVE_C_VULKAN_H
base.h
mln_vulkan_device
uint64_t mln_vulkan_device
Definition
base.h:127
mln_status
mln_status
Definition
base.h:41
render_target.h
mln_buffer_view
Definition
base.h:178
mln_diagnostic
Definition
base.h:84
mln_vulkan_context_descriptor
Definition
render_target.h:210
mln_vulkan_device_context_result
Definition
vulkan.h:59
mln_vulkan_device_context_result::size
uint32_t size
Definition
vulkan.h:60
mln_vulkan_device_context_result::context
mln_vulkan_context_descriptor context
Definition
vulkan.h:61
mln_vulkan_device_options
Definition
vulkan.h:31
mln_vulkan_device_options::device_luid
mln_buffer_view device_luid
Definition
vulkan.h:55
mln_vulkan_device_options::presentation
bool presentation
Definition
vulkan.h:40
mln_vulkan_device_options::device_uuid
mln_buffer_view device_uuid
Definition
vulkan.h:47
mln_vulkan_device_options::size
uint32_t size
Definition
vulkan.h:32
mln_vulkan_device_options::fields
mln_vulkan_device_option_fields fields
Definition
vulkan.h:33
mln_vulkan_device_release
void mln_vulkan_device_release(mln_vulkan_device device)
mln_vulkan_device_create
mln_status mln_vulkan_device_create(const mln_vulkan_device_options *options, mln_vulkan_device *out_device, mln_diagnostic *out_diagnostic)
mln_vulkan_device_option_fields
uint32_t mln_vulkan_device_option_fields
Definition
vulkan.h:28
mln_vulkan_device_get_context
mln_status mln_vulkan_device_get_context(mln_vulkan_device device, mln_vulkan_device_context_result *out_result, mln_diagnostic *out_diagnostic)
mln_vulkan_device_option_field
mln_vulkan_device_option_field
Definition
vulkan.h:21
MLN_VULKAN_DEVICE_OPTION_DEVICE_UUID
@ MLN_VULKAN_DEVICE_OPTION_DEVICE_UUID
Definition
vulkan.h:23
MLN_VULKAN_DEVICE_OPTION_PRESENTATION
@ MLN_VULKAN_DEVICE_OPTION_PRESENTATION
Definition
vulkan.h:22
MLN_VULKAN_DEVICE_OPTION_DEVICE_LUID
@ MLN_VULKAN_DEVICE_OPTION_DEVICE_LUID
Definition
vulkan.h:24
Generated by
1.18.0