-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathadapter.c3i
84 lines (64 loc) · 1.98 KB
/
adapter.c3i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
module webgpu;
distinct Adapter = void*;
fault AdapterError {
REQUEST_FAILED
}
fn usz Adapter.enumerateFeatures(Adapter adapter, FeatureName* features) @extern("wgpuAdapterEnumerateFeatures");
fn CBool Adapter.getLimits(Adapter adapter, SupportedLimits* limits) @extern("wgpuAdapterGetLimits");
fn void Adapter.getProperties(Adapter adapter, AdapterProperties* properties) @extern("wgpuAdapterGetProperties");
fn CBool Adapter.hasFeature(Adapter adapter, FeatureName feature) @extern("wgpuAdapterHasFeature");
fn void Adapter.requestAdapterInfo(Adapter adapter, RequestAdapterInfoCallback callback, UserData data) @extern("wgpuAdapterRequestAdapterInfo");
fn void Adapter.requestDeviceAsync(Adapter adapter,
DeviceDescriptor* descriptor, RequestDeviceCallback callback,
UserData data) @extern("wgpuAdapterRequestDevice");
fn void Adapter.reference(Adapter adapter) @extern("wgpuAdapterReference");
fn void Adapter.release(Adapter adapter) @extern("wgpuAdapterRelease");
def RequestAdapterInfoCallback = fn void(AdapterInfo info, UserData data);
def RequestDeviceCallback = fn void (RequestDeviceStatus status,
Device device, ZString message, UserData data);
enum AdapterType {
DISCRETE_GPU,
INTEGRATED_GPU,
CPU,
UNKNOWN
}
struct AdapterInfo {
ZString vendor;
ZString architecture;
ZString device;
ZString description;
}
struct AdapterProperties {
ChainedStructOut* next;
CUInt vendorID;
ZString vendorName;
ZString architecture;
CUInt deviceID;
ZString name;
ZString driverDescription;
AdapterType adapterType;
BackendType backendType;
}
struct RequestAdapterOptions {
ChainedStruct* next;
Surface compatibleSurface;
PowerPreference powerPreference;
BackendType backendType;
CBool forceFallbackAdapter;
}
enum PowerPreference {
UNDEFINED,
LOW_POWER,
HIGH_PERFORMANCE
}
enum BackendType {
UNDEFINED,
NULL,
WEBGPU,
D3_D11,
D3_D12,
METAL,
VULKAN,
OPENGL,
OPENGL_ES
}