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_