webgpu/dawn/include/dawn/dawn_proc_table.h
1
2#ifndef DAWN_DAWN_PROC_TABLE_H_
3#define DAWN_DAWN_PROC_TABLE_H_
4
5#include "dawn/webgpu.h"
6
7// Note: Often allocated as a static global. Do not add a complex constructor.
8typedef struct DawnProcTable {
9 WGPUProcAdapterPropertiesFreeMembers adapterPropertiesFreeMembers;
10 WGPUProcCreateInstance createInstance;
11 WGPUProcGetProcAddress getProcAddress;
12 WGPUProcSharedTextureMemoryEndAccessStateFreeMembers sharedTextureMemoryEndAccessStateFreeMembers;
13
14 WGPUProcAdapterCreateDevice adapterCreateDevice;
15 WGPUProcAdapterEnumerateFeatures adapterEnumerateFeatures;
16 WGPUProcAdapterGetInstance adapterGetInstance;
17 WGPUProcAdapterGetLimits adapterGetLimits;
18 WGPUProcAdapterGetProperties adapterGetProperties;
19 WGPUProcAdapterHasFeature adapterHasFeature;
20 WGPUProcAdapterRequestDevice adapterRequestDevice;
21 WGPUProcAdapterReference adapterReference;
22 WGPUProcAdapterRelease adapterRelease;
23
24 WGPUProcBindGroupSetLabel bindGroupSetLabel;
25 WGPUProcBindGroupReference bindGroupReference;
26 WGPUProcBindGroupRelease bindGroupRelease;
27
28 WGPUProcBindGroupLayoutSetLabel bindGroupLayoutSetLabel;
29 WGPUProcBindGroupLayoutReference bindGroupLayoutReference;
30 WGPUProcBindGroupLayoutRelease bindGroupLayoutRelease;
31
32 WGPUProcBufferDestroy bufferDestroy;
33 WGPUProcBufferGetConstMappedRange bufferGetConstMappedRange;
34 WGPUProcBufferGetMapState bufferGetMapState;
35 WGPUProcBufferGetMappedRange bufferGetMappedRange;
36 WGPUProcBufferGetSize bufferGetSize;
37 WGPUProcBufferGetUsage bufferGetUsage;
38 WGPUProcBufferMapAsync bufferMapAsync;
39 WGPUProcBufferSetLabel bufferSetLabel;
40 WGPUProcBufferUnmap bufferUnmap;
41 WGPUProcBufferReference bufferReference;
42 WGPUProcBufferRelease bufferRelease;
43
44 WGPUProcCommandBufferSetLabel commandBufferSetLabel;
45 WGPUProcCommandBufferReference commandBufferReference;
46 WGPUProcCommandBufferRelease commandBufferRelease;
47
48 WGPUProcCommandEncoderBeginComputePass commandEncoderBeginComputePass;
49 WGPUProcCommandEncoderBeginRenderPass commandEncoderBeginRenderPass;
50 WGPUProcCommandEncoderClearBuffer commandEncoderClearBuffer;
51 WGPUProcCommandEncoderCopyBufferToBuffer commandEncoderCopyBufferToBuffer;
52 WGPUProcCommandEncoderCopyBufferToTexture commandEncoderCopyBufferToTexture;
53 WGPUProcCommandEncoderCopyTextureToBuffer commandEncoderCopyTextureToBuffer;
54 WGPUProcCommandEncoderCopyTextureToTexture commandEncoderCopyTextureToTexture;
55 WGPUProcCommandEncoderFinish commandEncoderFinish;
56 WGPUProcCommandEncoderInjectValidationError commandEncoderInjectValidationError;
57 WGPUProcCommandEncoderInsertDebugMarker commandEncoderInsertDebugMarker;
58 WGPUProcCommandEncoderPopDebugGroup commandEncoderPopDebugGroup;
59 WGPUProcCommandEncoderPushDebugGroup commandEncoderPushDebugGroup;
60 WGPUProcCommandEncoderResolveQuerySet commandEncoderResolveQuerySet;
61 WGPUProcCommandEncoderSetLabel commandEncoderSetLabel;
62 WGPUProcCommandEncoderWriteBuffer commandEncoderWriteBuffer;
63 WGPUProcCommandEncoderWriteTimestamp commandEncoderWriteTimestamp;
64 WGPUProcCommandEncoderReference commandEncoderReference;
65 WGPUProcCommandEncoderRelease commandEncoderRelease;
66
67 WGPUProcComputePassEncoderDispatchWorkgroups computePassEncoderDispatchWorkgroups;
68 WGPUProcComputePassEncoderDispatchWorkgroupsIndirect computePassEncoderDispatchWorkgroupsIndirect;
69 WGPUProcComputePassEncoderEnd computePassEncoderEnd;
70 WGPUProcComputePassEncoderInsertDebugMarker computePassEncoderInsertDebugMarker;
71 WGPUProcComputePassEncoderPopDebugGroup computePassEncoderPopDebugGroup;
72 WGPUProcComputePassEncoderPushDebugGroup computePassEncoderPushDebugGroup;
73 WGPUProcComputePassEncoderSetBindGroup computePassEncoderSetBindGroup;
74 WGPUProcComputePassEncoderSetLabel computePassEncoderSetLabel;
75 WGPUProcComputePassEncoderSetPipeline computePassEncoderSetPipeline;
76 WGPUProcComputePassEncoderWriteTimestamp computePassEncoderWriteTimestamp;
77 WGPUProcComputePassEncoderReference computePassEncoderReference;
78 WGPUProcComputePassEncoderRelease computePassEncoderRelease;
79
80 WGPUProcComputePipelineGetBindGroupLayout computePipelineGetBindGroupLayout;
81 WGPUProcComputePipelineSetLabel computePipelineSetLabel;
82 WGPUProcComputePipelineReference computePipelineReference;
83 WGPUProcComputePipelineRelease computePipelineRelease;
84
85 WGPUProcDeviceCreateBindGroup deviceCreateBindGroup;
86 WGPUProcDeviceCreateBindGroupLayout deviceCreateBindGroupLayout;
87 WGPUProcDeviceCreateBuffer deviceCreateBuffer;
88 WGPUProcDeviceCreateCommandEncoder deviceCreateCommandEncoder;
89 WGPUProcDeviceCreateComputePipeline deviceCreateComputePipeline;
90 WGPUProcDeviceCreateComputePipelineAsync deviceCreateComputePipelineAsync;
91 WGPUProcDeviceCreateErrorBuffer deviceCreateErrorBuffer;
92 WGPUProcDeviceCreateErrorExternalTexture deviceCreateErrorExternalTexture;
93 WGPUProcDeviceCreateErrorShaderModule deviceCreateErrorShaderModule;
94 WGPUProcDeviceCreateErrorTexture deviceCreateErrorTexture;
95 WGPUProcDeviceCreateExternalTexture deviceCreateExternalTexture;
96 WGPUProcDeviceCreatePipelineLayout deviceCreatePipelineLayout;
97 WGPUProcDeviceCreateQuerySet deviceCreateQuerySet;
98 WGPUProcDeviceCreateRenderBundleEncoder deviceCreateRenderBundleEncoder;
99 WGPUProcDeviceCreateRenderPipeline deviceCreateRenderPipeline;
100 WGPUProcDeviceCreateRenderPipelineAsync deviceCreateRenderPipelineAsync;
101 WGPUProcDeviceCreateSampler deviceCreateSampler;
102 WGPUProcDeviceCreateShaderModule deviceCreateShaderModule;
103 WGPUProcDeviceCreateSwapChain deviceCreateSwapChain;
104 WGPUProcDeviceCreateTexture deviceCreateTexture;
105 WGPUProcDeviceDestroy deviceDestroy;
106 WGPUProcDeviceEnumerateFeatures deviceEnumerateFeatures;
107 WGPUProcDeviceForceLoss deviceForceLoss;
108 WGPUProcDeviceGetAdapter deviceGetAdapter;
109 WGPUProcDeviceGetLimits deviceGetLimits;
110 WGPUProcDeviceGetQueue deviceGetQueue;
111 WGPUProcDeviceGetSupportedSurfaceUsage deviceGetSupportedSurfaceUsage;
112 WGPUProcDeviceHasFeature deviceHasFeature;
113 WGPUProcDeviceImportSharedFence deviceImportSharedFence;
114 WGPUProcDeviceImportSharedTextureMemory deviceImportSharedTextureMemory;
115 WGPUProcDeviceInjectError deviceInjectError;
116 WGPUProcDevicePopErrorScope devicePopErrorScope;
117 WGPUProcDevicePushErrorScope devicePushErrorScope;
118 WGPUProcDeviceSetDeviceLostCallback deviceSetDeviceLostCallback;
119 WGPUProcDeviceSetLabel deviceSetLabel;
120 WGPUProcDeviceSetLoggingCallback deviceSetLoggingCallback;
121 WGPUProcDeviceSetUncapturedErrorCallback deviceSetUncapturedErrorCallback;
122 WGPUProcDeviceTick deviceTick;
123 WGPUProcDeviceValidateTextureDescriptor deviceValidateTextureDescriptor;
124 WGPUProcDeviceReference deviceReference;
125 WGPUProcDeviceRelease deviceRelease;
126
127 WGPUProcExternalTextureDestroy externalTextureDestroy;
128 WGPUProcExternalTextureExpire externalTextureExpire;
129 WGPUProcExternalTextureRefresh externalTextureRefresh;
130 WGPUProcExternalTextureSetLabel externalTextureSetLabel;
131 WGPUProcExternalTextureReference externalTextureReference;
132 WGPUProcExternalTextureRelease externalTextureRelease;
133
134 WGPUProcInstanceCreateSurface instanceCreateSurface;
135 WGPUProcInstanceProcessEvents instanceProcessEvents;
136 WGPUProcInstanceRequestAdapter instanceRequestAdapter;
137 WGPUProcInstanceReference instanceReference;
138 WGPUProcInstanceRelease instanceRelease;
139
140 WGPUProcPipelineLayoutSetLabel pipelineLayoutSetLabel;
141 WGPUProcPipelineLayoutReference pipelineLayoutReference;
142 WGPUProcPipelineLayoutRelease pipelineLayoutRelease;
143
144 WGPUProcQuerySetDestroy querySetDestroy;
145 WGPUProcQuerySetGetCount querySetGetCount;
146 WGPUProcQuerySetGetType querySetGetType;
147 WGPUProcQuerySetSetLabel querySetSetLabel;
148 WGPUProcQuerySetReference querySetReference;
149 WGPUProcQuerySetRelease querySetRelease;
150
151 WGPUProcQueueCopyExternalTextureForBrowser queueCopyExternalTextureForBrowser;
152 WGPUProcQueueCopyTextureForBrowser queueCopyTextureForBrowser;
153 WGPUProcQueueOnSubmittedWorkDone queueOnSubmittedWorkDone;
154 WGPUProcQueueSetLabel queueSetLabel;
155 WGPUProcQueueSubmit queueSubmit;
156 WGPUProcQueueWriteBuffer queueWriteBuffer;
157 WGPUProcQueueWriteTexture queueWriteTexture;
158 WGPUProcQueueReference queueReference;
159 WGPUProcQueueRelease queueRelease;
160
161 WGPUProcRenderBundleSetLabel renderBundleSetLabel;
162 WGPUProcRenderBundleReference renderBundleReference;
163 WGPUProcRenderBundleRelease renderBundleRelease;
164
165 WGPUProcRenderBundleEncoderDraw renderBundleEncoderDraw;
166 WGPUProcRenderBundleEncoderDrawIndexed renderBundleEncoderDrawIndexed;
167 WGPUProcRenderBundleEncoderDrawIndexedIndirect renderBundleEncoderDrawIndexedIndirect;
168 WGPUProcRenderBundleEncoderDrawIndirect renderBundleEncoderDrawIndirect;
169 WGPUProcRenderBundleEncoderFinish renderBundleEncoderFinish;
170 WGPUProcRenderBundleEncoderInsertDebugMarker renderBundleEncoderInsertDebugMarker;
171 WGPUProcRenderBundleEncoderPopDebugGroup renderBundleEncoderPopDebugGroup;
172 WGPUProcRenderBundleEncoderPushDebugGroup renderBundleEncoderPushDebugGroup;
173 WGPUProcRenderBundleEncoderSetBindGroup renderBundleEncoderSetBindGroup;
174 WGPUProcRenderBundleEncoderSetIndexBuffer renderBundleEncoderSetIndexBuffer;
175 WGPUProcRenderBundleEncoderSetLabel renderBundleEncoderSetLabel;
176 WGPUProcRenderBundleEncoderSetPipeline renderBundleEncoderSetPipeline;
177 WGPUProcRenderBundleEncoderSetVertexBuffer renderBundleEncoderSetVertexBuffer;
178 WGPUProcRenderBundleEncoderReference renderBundleEncoderReference;
179 WGPUProcRenderBundleEncoderRelease renderBundleEncoderRelease;
180
181 WGPUProcRenderPassEncoderBeginOcclusionQuery renderPassEncoderBeginOcclusionQuery;
182 WGPUProcRenderPassEncoderDraw renderPassEncoderDraw;
183 WGPUProcRenderPassEncoderDrawIndexed renderPassEncoderDrawIndexed;
184 WGPUProcRenderPassEncoderDrawIndexedIndirect renderPassEncoderDrawIndexedIndirect;
185 WGPUProcRenderPassEncoderDrawIndirect renderPassEncoderDrawIndirect;
186 WGPUProcRenderPassEncoderEnd renderPassEncoderEnd;
187 WGPUProcRenderPassEncoderEndOcclusionQuery renderPassEncoderEndOcclusionQuery;
188 WGPUProcRenderPassEncoderExecuteBundles renderPassEncoderExecuteBundles;
189 WGPUProcRenderPassEncoderInsertDebugMarker renderPassEncoderInsertDebugMarker;
190 WGPUProcRenderPassEncoderPopDebugGroup renderPassEncoderPopDebugGroup;
191 WGPUProcRenderPassEncoderPushDebugGroup renderPassEncoderPushDebugGroup;
192 WGPUProcRenderPassEncoderSetBindGroup renderPassEncoderSetBindGroup;
193 WGPUProcRenderPassEncoderSetBlendConstant renderPassEncoderSetBlendConstant;
194 WGPUProcRenderPassEncoderSetIndexBuffer renderPassEncoderSetIndexBuffer;
195 WGPUProcRenderPassEncoderSetLabel renderPassEncoderSetLabel;
196 WGPUProcRenderPassEncoderSetPipeline renderPassEncoderSetPipeline;
197 WGPUProcRenderPassEncoderSetScissorRect renderPassEncoderSetScissorRect;
198 WGPUProcRenderPassEncoderSetStencilReference renderPassEncoderSetStencilReference;
199 WGPUProcRenderPassEncoderSetVertexBuffer renderPassEncoderSetVertexBuffer;
200 WGPUProcRenderPassEncoderSetViewport renderPassEncoderSetViewport;
201 WGPUProcRenderPassEncoderWriteTimestamp renderPassEncoderWriteTimestamp;
202 WGPUProcRenderPassEncoderReference renderPassEncoderReference;
203 WGPUProcRenderPassEncoderRelease renderPassEncoderRelease;
204
205 WGPUProcRenderPipelineGetBindGroupLayout renderPipelineGetBindGroupLayout;
206 WGPUProcRenderPipelineSetLabel renderPipelineSetLabel;
207 WGPUProcRenderPipelineReference renderPipelineReference;
208 WGPUProcRenderPipelineRelease renderPipelineRelease;
209
210 WGPUProcSamplerSetLabel samplerSetLabel;
211 WGPUProcSamplerReference samplerReference;
212 WGPUProcSamplerRelease samplerRelease;
213
214 WGPUProcShaderModuleGetCompilationInfo shaderModuleGetCompilationInfo;
215 WGPUProcShaderModuleSetLabel shaderModuleSetLabel;
216 WGPUProcShaderModuleReference shaderModuleReference;
217 WGPUProcShaderModuleRelease shaderModuleRelease;
218
219 WGPUProcSharedFenceExportInfo sharedFenceExportInfo;
220 WGPUProcSharedFenceReference sharedFenceReference;
221 WGPUProcSharedFenceRelease sharedFenceRelease;
222
223 WGPUProcSharedTextureMemoryBeginAccess sharedTextureMemoryBeginAccess;
224 WGPUProcSharedTextureMemoryCreateTexture sharedTextureMemoryCreateTexture;
225 WGPUProcSharedTextureMemoryEndAccess sharedTextureMemoryEndAccess;
226 WGPUProcSharedTextureMemoryGetProperties sharedTextureMemoryGetProperties;
227 WGPUProcSharedTextureMemorySetLabel sharedTextureMemorySetLabel;
228 WGPUProcSharedTextureMemoryReference sharedTextureMemoryReference;
229 WGPUProcSharedTextureMemoryRelease sharedTextureMemoryRelease;
230
231 WGPUProcSurfaceReference surfaceReference;
232 WGPUProcSurfaceRelease surfaceRelease;
233
234 WGPUProcSwapChainGetCurrentTexture swapChainGetCurrentTexture;
235 WGPUProcSwapChainGetCurrentTextureView swapChainGetCurrentTextureView;
236 WGPUProcSwapChainPresent swapChainPresent;
237 WGPUProcSwapChainReference swapChainReference;
238 WGPUProcSwapChainRelease swapChainRelease;
239
240 WGPUProcTextureCreateView textureCreateView;
241 WGPUProcTextureDestroy textureDestroy;
242 WGPUProcTextureGetDepthOrArrayLayers textureGetDepthOrArrayLayers;
243 WGPUProcTextureGetDimension textureGetDimension;
244 WGPUProcTextureGetFormat textureGetFormat;
245 WGPUProcTextureGetHeight textureGetHeight;
246 WGPUProcTextureGetMipLevelCount textureGetMipLevelCount;
247 WGPUProcTextureGetSampleCount textureGetSampleCount;
248 WGPUProcTextureGetUsage textureGetUsage;
249 WGPUProcTextureGetWidth textureGetWidth;
250 WGPUProcTextureSetLabel textureSetLabel;
251 WGPUProcTextureReference textureReference;
252 WGPUProcTextureRelease textureRelease;
253
254 WGPUProcTextureViewSetLabel textureViewSetLabel;
255 WGPUProcTextureViewReference textureViewReference;
256 WGPUProcTextureViewRelease textureViewRelease;
257
258
259} DawnProcTable;
260
261#endif // DAWN_DAWN_PROC_TABLE_H_