Halide 16.0.0
Halide compiler and libraries
Loading...
Searching...
No Matches
mini_webgpu.h
Go to the documentation of this file.
1// BSD 3-Clause License
2//
3// Copyright (c) 2019, "WebGPU native" developers
4// All rights reserved.
5//
6// Redistribution and use in source and binary forms, with or without
7// modification, are permitted provided that the following conditions are met:
8//
9// 1. Redistributions of source code must retain the above copyright notice, this
10// list of conditions and the following disclaimer.
11//
12// 2. Redistributions in binary form must reproduce the above copyright notice,
13// this list of conditions and the following disclaimer in the documentation
14// and/or other materials provided with the distribution.
15//
16// 3. Neither the name of the copyright holder nor the names of its
17// contributors may be used to endorse or promote products derived from
18// this software without specific prior written permission.
19//
20// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
23// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
24// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
26// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
27// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
28// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30#ifndef WEBGPU_H_
31#define WEBGPU_H_
32
33// clang-format off
34
35#if defined(WGPU_SHARED_LIBRARY)
36#if defined(_WIN32)
37#if defined(WGPU_IMPLEMENTATION)
38#define WGPU_EXPORT __declspec(dllexport)
39#else
40#define WGPU_EXPORT __declspec(dllimport)
41#endif
42#else // defined(_WIN32)
43#if defined(WGPU_IMPLEMENTATION)
44#define WGPU_EXPORT __attribute__((visibility("default")))
45#else
46#define WGPU_EXPORT
47#endif
48#endif // defined(_WIN32)
49#else // defined(WGPU_SHARED_LIBRARY)
50#define WGPU_EXPORT
51#endif // defined(WGPU_SHARED_LIBRARY)
52
53#define WGPU_ARRAY_LAYER_COUNT_UNDEFINED (0xffffffffUL)
54#define WGPU_COPY_STRIDE_UNDEFINED (0xffffffffUL)
55#define WGPU_LIMIT_U32_UNDEFINED (0xffffffffUL)
56#define WGPU_LIMIT_U64_UNDEFINED (0xffffffffffffffffULL)
57#define WGPU_MIP_LEVEL_COUNT_UNDEFINED (0xffffffffUL)
58#define WGPU_STRIDE_UNDEFINED (0xffffffffUL)
59#define WGPU_WHOLE_MAP_SIZE SIZE_MAX
60#define WGPU_WHOLE_SIZE (0xffffffffffffffffULL)
61
63
64typedef struct WGPUAdapterImpl *WGPUAdapter;
65typedef struct WGPUBindGroupImpl *WGPUBindGroup;
66typedef struct WGPUBindGroupLayoutImpl *WGPUBindGroupLayout;
67typedef struct WGPUBufferImpl *WGPUBuffer;
68typedef struct WGPUCommandBufferImpl *WGPUCommandBuffer;
69typedef struct WGPUCommandEncoderImpl *WGPUCommandEncoder;
70typedef struct WGPUComputePassEncoderImpl *WGPUComputePassEncoder;
71typedef struct WGPUComputePipelineImpl *WGPUComputePipeline;
72typedef struct WGPUDeviceImpl *WGPUDevice;
73typedef struct WGPUExternalTextureImpl *WGPUExternalTexture;
74typedef struct WGPUInstanceImpl *WGPUInstance;
75typedef struct WGPUPipelineLayoutImpl *WGPUPipelineLayout;
76typedef struct WGPUQuerySetImpl *WGPUQuerySet;
77typedef struct WGPUQueueImpl *WGPUQueue;
78typedef struct WGPURenderBundleImpl *WGPURenderBundle;
79typedef struct WGPURenderBundleEncoderImpl *WGPURenderBundleEncoder;
80typedef struct WGPURenderPassEncoderImpl *WGPURenderPassEncoder;
81typedef struct WGPURenderPipelineImpl *WGPURenderPipeline;
82typedef struct WGPUSamplerImpl *WGPUSampler;
83typedef struct WGPUShaderModuleImpl *WGPUShaderModule;
84typedef struct WGPUSurfaceImpl *WGPUSurface;
85typedef struct WGPUSwapChainImpl *WGPUSwapChain;
86typedef struct WGPUTextureImpl *WGPUTexture;
87typedef struct WGPUTextureViewImpl *WGPUTextureView;
88
96
103
110
122
139
148
156
166
173
186
194
201
207
217
218typedef enum WGPUCullMode {
219 WGPUCullMode_None = 0x00000000,
220 WGPUCullMode_Front = 0x00000001,
221 WGPUCullMode_Back = 0x00000002,
222 WGPUCullMode_Force32 = 0x7FFFFFFF
224
230
237
247
255
277
283
284typedef enum WGPUFrontFace {
285 WGPUFrontFace_CCW = 0x00000000,
286 WGPUFrontFace_CW = 0x00000001,
287 WGPUFrontFace_Force32 = 0x7FFFFFFF
289
296
297typedef enum WGPULoadOp {
299 WGPULoadOp_Clear = 0x00000001,
300 WGPULoadOp_Load = 0x00000002,
301 WGPULoadOp_Force32 = 0x7FFFFFFF
303
311
320
327
334
343
350
358
364
372
379
380typedef enum WGPUSType {
381 WGPUSType_Invalid = 0x00000000,
405 WGPUSType_Force32 = 0x7FFFFFFF
407
415
427
433
434typedef enum WGPUStoreOp {
436 WGPUStoreOp_Store = 0x00000001,
438 WGPUStoreOp_Force32 = 0x7FFFFFFF
440
449
457
464
465typedef enum WGPUTextureFormat {
562 WGPUTextureFormat_Force32 = 0x7FFFFFFF
564
574
585
620
627
643
654
655typedef enum WGPUMapMode {
656 WGPUMapMode_None = 0x00000000,
657 WGPUMapMode_Read = 0x00000001,
658 WGPUMapMode_Write = 0x00000002,
659 WGPUMapMode_Force32 = 0x7FFFFFFF
662
671
683
688
693
705
715
721
728
736
737typedef struct WGPUColor {
738 double r;
739 double g;
740 double b;
741 double a;
743
748
753
766
772
778
790
791// Can be chained in WGPUAdapterProperties
796
797// Can be chained in WGPUBufferDescriptor
802
803// Can be chained in WGPUDeviceDescriptor
808
809// Can be chained in WGPUCommandEncoderDescriptor
814
815// Can be chained in WGPUInstanceDescriptor
821
822// Can be chained in WGPUShaderModuleDescriptor
827
828// Can be chained in WGPUTextureDescriptor
833
834// Can be chained in WGPUInstanceDescriptor
835// Can be chained in WGPUDeviceDescriptor
843
844// Can be chained in WGPUDeviceDescriptor
852
857
863
864// Can be chained in WGPUBindGroupEntry
869
870// Can be chained in WGPUBindGroupLayoutEntry
874
878
913
920
925
931
938
939// Can be chained in WGPUPrimitiveState
944
952
961
966
971
982
994
995// Can be chained in WGPURenderPassDescriptor
1000
1006
1013
1018
1033
1038
1039// Can be chained in WGPUShaderModuleDescriptor
1045
1046// Can be chained in WGPUShaderModuleDescriptor
1052
1059
1066
1071
1072// Can be chained in WGPUSurfaceDescriptor
1077
1078// Can be chained in WGPUSurfaceDescriptor
1083
1084// Can be chained in WGPUSurfaceDescriptor
1089
1090// Can be chained in WGPUSurfaceDescriptor
1096
1097// Can be chained in WGPUSurfaceDescriptor
1102
1103// Can be chained in WGPUSurfaceDescriptor
1109
1110// Can be chained in WGPUSurfaceDescriptor
1115
1116// Can be chained in WGPUSurfaceDescriptor
1122
1133
1140
1147
1159
1165
1173
1183
1188
1194
1201
1215
1231
1237
1243
1251
1259
1267
1272
1277
1290
1297
1304
1311
1318
1327
1338
1348
1358
1369
1370#ifdef __cplusplus
1371extern "C" {
1372#endif
1373
1374typedef void (*WGPUBufferMapCallback)(WGPUBufferMapAsyncStatus status, void *userdata);
1375typedef void (*WGPUCompilationInfoCallback)(WGPUCompilationInfoRequestStatus status, WGPUCompilationInfo const *compilationInfo, void *userdata);
1376typedef void (*WGPUCreateComputePipelineAsyncCallback)(WGPUCreatePipelineAsyncStatus status, WGPUComputePipeline pipeline, char const *message, void *userdata);
1377typedef void (*WGPUCreateRenderPipelineAsyncCallback)(WGPUCreatePipelineAsyncStatus status, WGPURenderPipeline pipeline, char const *message, void *userdata);
1378typedef void (*WGPUDeviceLostCallback)(WGPUDeviceLostReason reason, char const *message, void *userdata);
1379typedef void (*WGPUErrorCallback)(WGPUErrorType type, char const *message, void *userdata);
1380typedef void (*WGPULoggingCallback)(WGPULoggingType type, char const *message, void *userdata);
1381typedef void (*WGPUProc)();
1382typedef void (*WGPUQueueWorkDoneCallback)(WGPUQueueWorkDoneStatus status, void *userdata);
1383typedef void (*WGPURequestAdapterCallback)(WGPURequestAdapterStatus status, WGPUAdapter adapter, char const *message, void *userdata);
1384typedef void (*WGPURequestDeviceCallback)(WGPURequestDeviceStatus status, WGPUDevice device, char const *message, void *userdata);
1385
1386#if !defined(WGPU_SKIP_PROCS)
1387
1389typedef WGPUProc (*WGPUProcGetProcAddress)(WGPUDevice device, char const *procName);
1390
1391// Procs of Adapter
1392typedef WGPUDevice (*WGPUProcAdapterCreateDevice)(WGPUAdapter adapter, WGPUDeviceDescriptor const *descriptor /* nullable */);
1397typedef void (*WGPUProcAdapterRequestDevice)(WGPUAdapter adapter, WGPUDeviceDescriptor const *descriptor /* nullable */, WGPURequestDeviceCallback callback, void *userdata);
1398typedef void (*WGPUProcAdapterReference)(WGPUAdapter adapter);
1399typedef void (*WGPUProcAdapterRelease)(WGPUAdapter adapter);
1400
1401// Procs of BindGroup
1402typedef void (*WGPUProcBindGroupSetLabel)(WGPUBindGroup bindGroup, char const *label);
1404typedef void (*WGPUProcBindGroupRelease)(WGPUBindGroup bindGroup);
1405
1406// Procs of BindGroupLayout
1407typedef void (*WGPUProcBindGroupLayoutSetLabel)(WGPUBindGroupLayout bindGroupLayout, char const *label);
1410
1411// Procs of Buffer
1412typedef void (*WGPUProcBufferDestroy)(WGPUBuffer buffer);
1413typedef void const *(*WGPUProcBufferGetConstMappedRange)(WGPUBuffer buffer, size_t offset, size_t size);
1415typedef void *(*WGPUProcBufferGetMappedRange)(WGPUBuffer buffer, size_t offset, size_t size);
1418typedef void (*WGPUProcBufferMapAsync)(WGPUBuffer buffer, WGPUMapModeFlags mode, size_t offset, size_t size, WGPUBufferMapCallback callback, void *userdata);
1419typedef void (*WGPUProcBufferSetLabel)(WGPUBuffer buffer, char const *label);
1420typedef void (*WGPUProcBufferUnmap)(WGPUBuffer buffer);
1421typedef void (*WGPUProcBufferReference)(WGPUBuffer buffer);
1422typedef void (*WGPUProcBufferRelease)(WGPUBuffer buffer);
1423
1424// Procs of CommandBuffer
1425typedef void (*WGPUProcCommandBufferSetLabel)(WGPUCommandBuffer commandBuffer, char const *label);
1428
1429// Procs of CommandEncoder
1432typedef void (*WGPUProcCommandEncoderClearBuffer)(WGPUCommandEncoder commandEncoder, WGPUBuffer buffer, uint64_t offset, uint64_t size);
1433typedef void (*WGPUProcCommandEncoderCopyBufferToBuffer)(WGPUCommandEncoder commandEncoder, WGPUBuffer source, uint64_t sourceOffset, WGPUBuffer destination, uint64_t destinationOffset, uint64_t size);
1434typedef void (*WGPUProcCommandEncoderCopyBufferToTexture)(WGPUCommandEncoder commandEncoder, WGPUImageCopyBuffer const *source, WGPUImageCopyTexture const *destination, WGPUExtent3D const *copySize);
1435typedef void (*WGPUProcCommandEncoderCopyTextureToBuffer)(WGPUCommandEncoder commandEncoder, WGPUImageCopyTexture const *source, WGPUImageCopyBuffer const *destination, WGPUExtent3D const *copySize);
1436typedef void (*WGPUProcCommandEncoderCopyTextureToTexture)(WGPUCommandEncoder commandEncoder, WGPUImageCopyTexture const *source, WGPUImageCopyTexture const *destination, WGPUExtent3D const *copySize);
1437typedef void (*WGPUProcCommandEncoderCopyTextureToTextureInternal)(WGPUCommandEncoder commandEncoder, WGPUImageCopyTexture const *source, WGPUImageCopyTexture const *destination, WGPUExtent3D const *copySize);
1438typedef WGPUCommandBuffer (*WGPUProcCommandEncoderFinish)(WGPUCommandEncoder commandEncoder, WGPUCommandBufferDescriptor const *descriptor /* nullable */);
1439typedef void (*WGPUProcCommandEncoderInjectValidationError)(WGPUCommandEncoder commandEncoder, char const *message);
1440typedef void (*WGPUProcCommandEncoderInsertDebugMarker)(WGPUCommandEncoder commandEncoder, char const *markerLabel);
1442typedef void (*WGPUProcCommandEncoderPushDebugGroup)(WGPUCommandEncoder commandEncoder, char const *groupLabel);
1443typedef void (*WGPUProcCommandEncoderResolveQuerySet)(WGPUCommandEncoder commandEncoder, WGPUQuerySet querySet, uint32_t firstQuery, uint32_t queryCount, WGPUBuffer destination, uint64_t destinationOffset);
1444typedef void (*WGPUProcCommandEncoderSetLabel)(WGPUCommandEncoder commandEncoder, char const *label);
1445typedef void (*WGPUProcCommandEncoderWriteBuffer)(WGPUCommandEncoder commandEncoder, WGPUBuffer buffer, uint64_t bufferOffset, uint8_t const *data, uint64_t size);
1446typedef void (*WGPUProcCommandEncoderWriteTimestamp)(WGPUCommandEncoder commandEncoder, WGPUQuerySet querySet, uint32_t queryIndex);
1449
1450// Procs of ComputePassEncoder
1451typedef void (*WGPUProcComputePassEncoderDispatch)(WGPUComputePassEncoder computePassEncoder, uint32_t workgroupCountX, uint32_t workgroupCountY, uint32_t workgroupCountZ);
1452typedef void (*WGPUProcComputePassEncoderDispatchIndirect)(WGPUComputePassEncoder computePassEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset);
1453typedef void (*WGPUProcComputePassEncoderDispatchWorkgroups)(WGPUComputePassEncoder computePassEncoder, uint32_t workgroupCountX, uint32_t workgroupCountY, uint32_t workgroupCountZ);
1454typedef void (*WGPUProcComputePassEncoderDispatchWorkgroupsIndirect)(WGPUComputePassEncoder computePassEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset);
1455typedef void (*WGPUProcComputePassEncoderEnd)(WGPUComputePassEncoder computePassEncoder);
1457typedef void (*WGPUProcComputePassEncoderInsertDebugMarker)(WGPUComputePassEncoder computePassEncoder, char const *markerLabel);
1459typedef void (*WGPUProcComputePassEncoderPushDebugGroup)(WGPUComputePassEncoder computePassEncoder, char const *groupLabel);
1460typedef void (*WGPUProcComputePassEncoderSetBindGroup)(WGPUComputePassEncoder computePassEncoder, uint32_t groupIndex, WGPUBindGroup group, uint32_t dynamicOffsetCount, uint32_t const *dynamicOffsets);
1461typedef void (*WGPUProcComputePassEncoderSetLabel)(WGPUComputePassEncoder computePassEncoder, char const *label);
1463typedef void (*WGPUProcComputePassEncoderWriteTimestamp)(WGPUComputePassEncoder computePassEncoder, WGPUQuerySet querySet, uint32_t queryIndex);
1466
1467// Procs of ComputePipeline
1469typedef void (*WGPUProcComputePipelineSetLabel)(WGPUComputePipeline computePipeline, char const *label);
1472
1473// Procs of Device
1489typedef WGPUSampler (*WGPUProcDeviceCreateSampler)(WGPUDevice device, WGPUSamplerDescriptor const *descriptor /* nullable */);
1491typedef WGPUSwapChain (*WGPUProcDeviceCreateSwapChain)(WGPUDevice device, WGPUSurface surface /* nullable */, WGPUSwapChainDescriptor const *descriptor);
1493typedef void (*WGPUProcDeviceDestroy)(WGPUDevice device);
1495typedef void (*WGPUProcDeviceForceLoss)(WGPUDevice device, WGPUDeviceLostReason type, char const *message);
1499typedef bool (*WGPUProcDeviceHasFeature)(WGPUDevice device, WGPUFeatureName feature);
1500typedef void (*WGPUProcDeviceInjectError)(WGPUDevice device, WGPUErrorType type, char const *message);
1501typedef bool (*WGPUProcDevicePopErrorScope)(WGPUDevice device, WGPUErrorCallback callback, void *userdata);
1503typedef void (*WGPUProcDeviceSetDeviceLostCallback)(WGPUDevice device, WGPUDeviceLostCallback callback, void *userdata);
1504typedef void (*WGPUProcDeviceSetLabel)(WGPUDevice device, char const *label);
1505typedef void (*WGPUProcDeviceSetLoggingCallback)(WGPUDevice device, WGPULoggingCallback callback, void *userdata);
1506typedef void (*WGPUProcDeviceSetUncapturedErrorCallback)(WGPUDevice device, WGPUErrorCallback callback, void *userdata);
1507typedef void (*WGPUProcDeviceTick)(WGPUDevice device);
1509typedef void (*WGPUProcDeviceReference)(WGPUDevice device);
1510typedef void (*WGPUProcDeviceRelease)(WGPUDevice device);
1511
1512// Procs of ExternalTexture
1516typedef void (*WGPUProcExternalTextureSetLabel)(WGPUExternalTexture externalTexture, char const *label);
1519
1520// Procs of Instance
1522typedef void (*WGPUProcInstanceRequestAdapter)(WGPUInstance instance, WGPURequestAdapterOptions const *options /* nullable */, WGPURequestAdapterCallback callback, void *userdata);
1523typedef void (*WGPUProcInstanceReference)(WGPUInstance instance);
1524typedef void (*WGPUProcInstanceRelease)(WGPUInstance instance);
1525
1526// Procs of PipelineLayout
1527typedef void (*WGPUProcPipelineLayoutSetLabel)(WGPUPipelineLayout pipelineLayout, char const *label);
1530
1531// Procs of QuerySet
1532typedef void (*WGPUProcQuerySetDestroy)(WGPUQuerySet querySet);
1535typedef void (*WGPUProcQuerySetSetLabel)(WGPUQuerySet querySet, char const *label);
1536typedef void (*WGPUProcQuerySetReference)(WGPUQuerySet querySet);
1537typedef void (*WGPUProcQuerySetRelease)(WGPUQuerySet querySet);
1538
1539// Procs of Queue
1541typedef void (*WGPUProcQueueCopyTextureForBrowser)(WGPUQueue queue, WGPUImageCopyTexture const *source, WGPUImageCopyTexture const *destination, WGPUExtent3D const *copySize, WGPUCopyTextureForBrowserOptions const *options);
1542typedef void (*WGPUProcQueueOnSubmittedWorkDone)(WGPUQueue queue, uint64_t signalValue, WGPUQueueWorkDoneCallback callback, void *userdata);
1543typedef void (*WGPUProcQueueSetLabel)(WGPUQueue queue, char const *label);
1544typedef void (*WGPUProcQueueSubmit)(WGPUQueue queue, uint32_t commandCount, WGPUCommandBuffer const *commands);
1545typedef void (*WGPUProcQueueWriteBuffer)(WGPUQueue queue, WGPUBuffer buffer, uint64_t bufferOffset, void const *data, size_t size);
1546typedef void (*WGPUProcQueueWriteTexture)(WGPUQueue queue, WGPUImageCopyTexture const *destination, void const *data, size_t dataSize, WGPUTextureDataLayout const *dataLayout, WGPUExtent3D const *writeSize);
1547typedef void (*WGPUProcQueueReference)(WGPUQueue queue);
1548typedef void (*WGPUProcQueueRelease)(WGPUQueue queue);
1549
1550// Procs of RenderBundle
1552typedef void (*WGPUProcRenderBundleRelease)(WGPURenderBundle renderBundle);
1553
1554// Procs of RenderBundleEncoder
1555typedef void (*WGPUProcRenderBundleEncoderDraw)(WGPURenderBundleEncoder renderBundleEncoder, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance);
1556typedef void (*WGPUProcRenderBundleEncoderDrawIndexed)(WGPURenderBundleEncoder renderBundleEncoder, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t baseVertex, uint32_t firstInstance);
1557typedef void (*WGPUProcRenderBundleEncoderDrawIndexedIndirect)(WGPURenderBundleEncoder renderBundleEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset);
1558typedef void (*WGPUProcRenderBundleEncoderDrawIndirect)(WGPURenderBundleEncoder renderBundleEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset);
1559typedef WGPURenderBundle (*WGPUProcRenderBundleEncoderFinish)(WGPURenderBundleEncoder renderBundleEncoder, WGPURenderBundleDescriptor const *descriptor /* nullable */);
1560typedef void (*WGPUProcRenderBundleEncoderInsertDebugMarker)(WGPURenderBundleEncoder renderBundleEncoder, char const *markerLabel);
1562typedef void (*WGPUProcRenderBundleEncoderPushDebugGroup)(WGPURenderBundleEncoder renderBundleEncoder, char const *groupLabel);
1563typedef void (*WGPUProcRenderBundleEncoderSetBindGroup)(WGPURenderBundleEncoder renderBundleEncoder, uint32_t groupIndex, WGPUBindGroup group, uint32_t dynamicOffsetCount, uint32_t const *dynamicOffsets);
1565typedef void (*WGPUProcRenderBundleEncoderSetLabel)(WGPURenderBundleEncoder renderBundleEncoder, char const *label);
1567typedef void (*WGPUProcRenderBundleEncoderSetVertexBuffer)(WGPURenderBundleEncoder renderBundleEncoder, uint32_t slot, WGPUBuffer buffer, uint64_t offset, uint64_t size);
1570
1571// Procs of RenderPassEncoder
1573typedef void (*WGPUProcRenderPassEncoderDraw)(WGPURenderPassEncoder renderPassEncoder, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance);
1574typedef void (*WGPUProcRenderPassEncoderDrawIndexed)(WGPURenderPassEncoder renderPassEncoder, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t baseVertex, uint32_t firstInstance);
1575typedef void (*WGPUProcRenderPassEncoderDrawIndexedIndirect)(WGPURenderPassEncoder renderPassEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset);
1576typedef void (*WGPUProcRenderPassEncoderDrawIndirect)(WGPURenderPassEncoder renderPassEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset);
1577typedef void (*WGPUProcRenderPassEncoderEnd)(WGPURenderPassEncoder renderPassEncoder);
1580typedef void (*WGPUProcRenderPassEncoderExecuteBundles)(WGPURenderPassEncoder renderPassEncoder, uint32_t bundleCount, WGPURenderBundle const *bundles);
1581typedef void (*WGPUProcRenderPassEncoderInsertDebugMarker)(WGPURenderPassEncoder renderPassEncoder, char const *markerLabel);
1583typedef void (*WGPUProcRenderPassEncoderPushDebugGroup)(WGPURenderPassEncoder renderPassEncoder, char const *groupLabel);
1584typedef void (*WGPUProcRenderPassEncoderSetBindGroup)(WGPURenderPassEncoder renderPassEncoder, uint32_t groupIndex, WGPUBindGroup group, uint32_t dynamicOffsetCount, uint32_t const *dynamicOffsets);
1585typedef void (*WGPUProcRenderPassEncoderSetBlendConstant)(WGPURenderPassEncoder renderPassEncoder, WGPUColor const *color);
1586typedef void (*WGPUProcRenderPassEncoderSetIndexBuffer)(WGPURenderPassEncoder renderPassEncoder, WGPUBuffer buffer, WGPUIndexFormat format, uint64_t offset, uint64_t size);
1587typedef void (*WGPUProcRenderPassEncoderSetLabel)(WGPURenderPassEncoder renderPassEncoder, char const *label);
1591typedef void (*WGPUProcRenderPassEncoderSetVertexBuffer)(WGPURenderPassEncoder renderPassEncoder, uint32_t slot, WGPUBuffer buffer, uint64_t offset, uint64_t size);
1592typedef void (*WGPUProcRenderPassEncoderSetViewport)(WGPURenderPassEncoder renderPassEncoder, float x, float y, float width, float height, float minDepth, float maxDepth);
1593typedef void (*WGPUProcRenderPassEncoderWriteTimestamp)(WGPURenderPassEncoder renderPassEncoder, WGPUQuerySet querySet, uint32_t queryIndex);
1596
1597// Procs of RenderPipeline
1599typedef void (*WGPUProcRenderPipelineSetLabel)(WGPURenderPipeline renderPipeline, char const *label);
1602
1603// Procs of Sampler
1604typedef void (*WGPUProcSamplerSetLabel)(WGPUSampler sampler, char const *label);
1605typedef void (*WGPUProcSamplerReference)(WGPUSampler sampler);
1606typedef void (*WGPUProcSamplerRelease)(WGPUSampler sampler);
1607
1608// Procs of ShaderModule
1609typedef void (*WGPUProcShaderModuleGetCompilationInfo)(WGPUShaderModule shaderModule, WGPUCompilationInfoCallback callback, void *userdata);
1610typedef void (*WGPUProcShaderModuleSetLabel)(WGPUShaderModule shaderModule, char const *label);
1612typedef void (*WGPUProcShaderModuleRelease)(WGPUShaderModule shaderModule);
1613
1614// Procs of Surface
1615typedef void (*WGPUProcSurfaceReference)(WGPUSurface surface);
1616typedef void (*WGPUProcSurfaceRelease)(WGPUSurface surface);
1617
1618// Procs of SwapChain
1619typedef void (*WGPUProcSwapChainConfigure)(WGPUSwapChain swapChain, WGPUTextureFormat format, WGPUTextureUsageFlags allowedUsage, uint32_t width, uint32_t height);
1621typedef void (*WGPUProcSwapChainPresent)(WGPUSwapChain swapChain);
1623typedef void (*WGPUProcSwapChainRelease)(WGPUSwapChain swapChain);
1624
1625// Procs of Texture
1626typedef WGPUTextureView (*WGPUProcTextureCreateView)(WGPUTexture texture, WGPUTextureViewDescriptor const *descriptor /* nullable */);
1627typedef void (*WGPUProcTextureDestroy)(WGPUTexture texture);
1636typedef void (*WGPUProcTextureSetLabel)(WGPUTexture texture, char const *label);
1637typedef void (*WGPUProcTextureReference)(WGPUTexture texture);
1638typedef void (*WGPUProcTextureRelease)(WGPUTexture texture);
1639
1640// Procs of TextureView
1641typedef void (*WGPUProcTextureViewSetLabel)(WGPUTextureView textureView, char const *label);
1643typedef void (*WGPUProcTextureViewRelease)(WGPUTextureView textureView);
1644
1645#endif // !defined(WGPU_SKIP_PROCS)
1646
1647#if !defined(WGPU_SKIP_DECLARATIONS)
1648
1651
1652// Methods of Adapter
1658WGPU_EXPORT void wgpuAdapterRequestDevice(WGPUAdapter adapter, WGPUDeviceDescriptor const *descriptor /* nullable */, WGPURequestDeviceCallback callback, void *userdata);
1661
1662// Methods of BindGroup
1663WGPU_EXPORT void wgpuBindGroupSetLabel(WGPUBindGroup bindGroup, char const *label);
1666
1667// Methods of BindGroupLayout
1668WGPU_EXPORT void wgpuBindGroupLayoutSetLabel(WGPUBindGroupLayout bindGroupLayout, char const *label);
1671
1672// Methods of Buffer
1674WGPU_EXPORT void const *wgpuBufferGetConstMappedRange(WGPUBuffer buffer, size_t offset, size_t size);
1676WGPU_EXPORT void *wgpuBufferGetMappedRange(WGPUBuffer buffer, size_t offset, size_t size);
1679WGPU_EXPORT void wgpuBufferMapAsync(WGPUBuffer buffer, WGPUMapModeFlags mode, size_t offset, size_t size, WGPUBufferMapCallback callback, void *userdata);
1680WGPU_EXPORT void wgpuBufferSetLabel(WGPUBuffer buffer, char const *label);
1684
1685// Methods of CommandBuffer
1686WGPU_EXPORT void wgpuCommandBufferSetLabel(WGPUCommandBuffer commandBuffer, char const *label);
1689
1690// Methods of CommandEncoder
1694WGPU_EXPORT void wgpuCommandEncoderCopyBufferToBuffer(WGPUCommandEncoder commandEncoder, WGPUBuffer source, uint64_t sourceOffset, WGPUBuffer destination, uint64_t destinationOffset, uint64_t size);
1701WGPU_EXPORT void wgpuCommandEncoderInsertDebugMarker(WGPUCommandEncoder commandEncoder, char const *markerLabel);
1703WGPU_EXPORT void wgpuCommandEncoderPushDebugGroup(WGPUCommandEncoder commandEncoder, char const *groupLabel);
1704WGPU_EXPORT void wgpuCommandEncoderResolveQuerySet(WGPUCommandEncoder commandEncoder, WGPUQuerySet querySet, uint32_t firstQuery, uint32_t queryCount, WGPUBuffer destination, uint64_t destinationOffset);
1705WGPU_EXPORT void wgpuCommandEncoderSetLabel(WGPUCommandEncoder commandEncoder, char const *label);
1706WGPU_EXPORT void wgpuCommandEncoderWriteBuffer(WGPUCommandEncoder commandEncoder, WGPUBuffer buffer, uint64_t bufferOffset, uint8_t const *data, uint64_t size);
1710
1711// Methods of ComputePassEncoder
1712WGPU_EXPORT void wgpuComputePassEncoderDispatch(WGPUComputePassEncoder computePassEncoder, uint32_t workgroupCountX, uint32_t workgroupCountY, uint32_t workgroupCountZ);
1714WGPU_EXPORT void wgpuComputePassEncoderDispatchWorkgroups(WGPUComputePassEncoder computePassEncoder, uint32_t workgroupCountX, uint32_t workgroupCountY, uint32_t workgroupCountZ);
1718WGPU_EXPORT void wgpuComputePassEncoderInsertDebugMarker(WGPUComputePassEncoder computePassEncoder, char const *markerLabel);
1720WGPU_EXPORT void wgpuComputePassEncoderPushDebugGroup(WGPUComputePassEncoder computePassEncoder, char const *groupLabel);
1721WGPU_EXPORT void wgpuComputePassEncoderSetBindGroup(WGPUComputePassEncoder computePassEncoder, uint32_t groupIndex, WGPUBindGroup group, uint32_t dynamicOffsetCount, uint32_t const *dynamicOffsets);
1722WGPU_EXPORT void wgpuComputePassEncoderSetLabel(WGPUComputePassEncoder computePassEncoder, char const *label);
1727
1728// Methods of ComputePipeline
1730WGPU_EXPORT void wgpuComputePipelineSetLabel(WGPUComputePipeline computePipeline, char const *label);
1733
1734// Methods of Device
1756WGPU_EXPORT void wgpuDeviceForceLoss(WGPUDevice device, WGPUDeviceLostReason type, char const *message);
1761WGPU_EXPORT void wgpuDeviceInjectError(WGPUDevice device, WGPUErrorType type, char const *message);
1765WGPU_EXPORT void wgpuDeviceSetLabel(WGPUDevice device, char const *label);
1772
1773// Methods of ExternalTexture
1777WGPU_EXPORT void wgpuExternalTextureSetLabel(WGPUExternalTexture externalTexture, char const *label);
1780
1781// Methods of Instance
1783WGPU_EXPORT void wgpuInstanceRequestAdapter(WGPUInstance instance, WGPURequestAdapterOptions const *options /* nullable */, WGPURequestAdapterCallback callback, void *userdata);
1786
1787// Methods of PipelineLayout
1788WGPU_EXPORT void wgpuPipelineLayoutSetLabel(WGPUPipelineLayout pipelineLayout, char const *label);
1791
1792// Methods of QuerySet
1796WGPU_EXPORT void wgpuQuerySetSetLabel(WGPUQuerySet querySet, char const *label);
1799
1800// Methods of Queue
1804WGPU_EXPORT void wgpuQueueSetLabel(WGPUQueue queue, char const *label);
1805WGPU_EXPORT void wgpuQueueSubmit(WGPUQueue queue, uint32_t commandCount, WGPUCommandBuffer const *commands);
1806WGPU_EXPORT void wgpuQueueWriteBuffer(WGPUQueue queue, WGPUBuffer buffer, uint64_t bufferOffset, void const *data, size_t size);
1807WGPU_EXPORT void wgpuQueueWriteTexture(WGPUQueue queue, WGPUImageCopyTexture const *destination, void const *data, size_t dataSize, WGPUTextureDataLayout const *dataLayout, WGPUExtent3D const *writeSize);
1810
1811// Methods of RenderBundle
1814
1815// Methods of RenderBundleEncoder
1816WGPU_EXPORT void wgpuRenderBundleEncoderDraw(WGPURenderBundleEncoder renderBundleEncoder, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance);
1817WGPU_EXPORT void wgpuRenderBundleEncoderDrawIndexed(WGPURenderBundleEncoder renderBundleEncoder, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t baseVertex, uint32_t firstInstance);
1819WGPU_EXPORT void wgpuRenderBundleEncoderDrawIndirect(WGPURenderBundleEncoder renderBundleEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset);
1821WGPU_EXPORT void wgpuRenderBundleEncoderInsertDebugMarker(WGPURenderBundleEncoder renderBundleEncoder, char const *markerLabel);
1823WGPU_EXPORT void wgpuRenderBundleEncoderPushDebugGroup(WGPURenderBundleEncoder renderBundleEncoder, char const *groupLabel);
1824WGPU_EXPORT void wgpuRenderBundleEncoderSetBindGroup(WGPURenderBundleEncoder renderBundleEncoder, uint32_t groupIndex, WGPUBindGroup group, uint32_t dynamicOffsetCount, uint32_t const *dynamicOffsets);
1826WGPU_EXPORT void wgpuRenderBundleEncoderSetLabel(WGPURenderBundleEncoder renderBundleEncoder, char const *label);
1831
1832// Methods of RenderPassEncoder
1834WGPU_EXPORT void wgpuRenderPassEncoderDraw(WGPURenderPassEncoder renderPassEncoder, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance);
1835WGPU_EXPORT void wgpuRenderPassEncoderDrawIndexed(WGPURenderPassEncoder renderPassEncoder, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t baseVertex, uint32_t firstInstance);
1837WGPU_EXPORT void wgpuRenderPassEncoderDrawIndirect(WGPURenderPassEncoder renderPassEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset);
1842WGPU_EXPORT void wgpuRenderPassEncoderInsertDebugMarker(WGPURenderPassEncoder renderPassEncoder, char const *markerLabel);
1844WGPU_EXPORT void wgpuRenderPassEncoderPushDebugGroup(WGPURenderPassEncoder renderPassEncoder, char const *groupLabel);
1845WGPU_EXPORT void wgpuRenderPassEncoderSetBindGroup(WGPURenderPassEncoder renderPassEncoder, uint32_t groupIndex, WGPUBindGroup group, uint32_t dynamicOffsetCount, uint32_t const *dynamicOffsets);
1848WGPU_EXPORT void wgpuRenderPassEncoderSetLabel(WGPURenderPassEncoder renderPassEncoder, char const *label);
1853WGPU_EXPORT void wgpuRenderPassEncoderSetViewport(WGPURenderPassEncoder renderPassEncoder, float x, float y, float width, float height, float minDepth, float maxDepth);
1857
1858// Methods of RenderPipeline
1860WGPU_EXPORT void wgpuRenderPipelineSetLabel(WGPURenderPipeline renderPipeline, char const *label);
1863
1864// Methods of Sampler
1865WGPU_EXPORT void wgpuSamplerSetLabel(WGPUSampler sampler, char const *label);
1868
1869// Methods of ShaderModule
1871WGPU_EXPORT void wgpuShaderModuleSetLabel(WGPUShaderModule shaderModule, char const *label);
1874
1875// Methods of Surface
1878
1879// Methods of SwapChain
1885
1886// Methods of Texture
1897WGPU_EXPORT void wgpuTextureSetLabel(WGPUTexture texture, char const *label);
1900
1901// Methods of TextureView
1902WGPU_EXPORT void wgpuTextureViewSetLabel(WGPUTextureView textureView, char const *label);
1905
1906#endif // !defined(WGPU_SKIP_DECLARATIONS)
1907
1908#ifdef __cplusplus
1909} // extern "C"
1910#endif
1911
1912// clang-format on
1913
1914#endif // WEBGPU_H_
uint32_t(* WGPUProcTextureGetMipLevelCount)(WGPUTexture texture)
WGPU_EXPORT void wgpuRenderPassEncoderDrawIndirect(WGPURenderPassEncoder renderPassEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset)
WGPUQuerySet(* WGPUProcDeviceCreateQuerySet)(WGPUDevice device, WGPUQuerySetDescriptor const *descriptor)
void(* WGPUProcQuerySetRelease)(WGPUQuerySet querySet)
WGPU_EXPORT WGPUSampler wgpuDeviceCreateSampler(WGPUDevice device, WGPUSamplerDescriptor const *descriptor)
WGPU_EXPORT void wgpuDeviceSetUncapturedErrorCallback(WGPUDevice device, WGPUErrorCallback callback, void *userdata)
WGPUIndexFormat
@ WGPUIndexFormat_Force32
@ WGPUIndexFormat_Uint16
@ WGPUIndexFormat_Undefined
@ WGPUIndexFormat_Uint32
void(* WGPUProcRenderBundleEncoderDraw)(WGPURenderBundleEncoder renderBundleEncoder, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance)
WGPURequestAdapterStatus
@ WGPURequestAdapterStatus_Unavailable
@ WGPURequestAdapterStatus_Success
@ WGPURequestAdapterStatus_Error
@ WGPURequestAdapterStatus_Unknown
@ WGPURequestAdapterStatus_Force32
WGPU_EXPORT void wgpuQueueWriteBuffer(WGPUQueue queue, WGPUBuffer buffer, uint64_t bufferOffset, void const *data, size_t size)
void(* WGPUProcRenderBundleEncoderPopDebugGroup)(WGPURenderBundleEncoder renderBundleEncoder)
WGPU_EXPORT bool wgpuDevicePopErrorScope(WGPUDevice device, WGPUErrorCallback callback, void *userdata)
void(* WGPUProcTextureViewReference)(WGPUTextureView textureView)
void(* WGPULoggingCallback)(WGPULoggingType type, char const *message, void *userdata)
void(* WGPUProcComputePassEncoderInsertDebugMarker)(WGPUComputePassEncoder computePassEncoder, char const *markerLabel)
WGPU_EXPORT void wgpuSurfaceReference(WGPUSurface surface)
void(* WGPUProcRenderPassEncoderWriteTimestamp)(WGPURenderPassEncoder renderPassEncoder, WGPUQuerySet querySet, uint32_t queryIndex)
WGPUFeatureName
@ WGPUFeatureName_TextureCompressionASTC
@ WGPUFeatureName_Force32
@ WGPUFeatureName_DawnInternalUsages
@ WGPUFeatureName_Depth32FloatStencil8
@ WGPUFeatureName_RG11B10UfloatRenderable
@ WGPUFeatureName_BGRA8UnormStorage
@ WGPUFeatureName_DawnShaderFloat16
@ WGPUFeatureName_DawnMultiPlanarFormats
@ WGPUFeatureName_ChromiumExperimentalDp4a
@ WGPUFeatureName_TimestampQueryInsidePasses
@ WGPUFeatureName_ShaderF16
@ WGPUFeatureName_TimestampQuery
@ WGPUFeatureName_TextureCompressionBC
@ WGPUFeatureName_TextureCompressionETC2
@ WGPUFeatureName_IndirectFirstInstance
@ WGPUFeatureName_DepthClipControl
@ WGPUFeatureName_PipelineStatisticsQuery
@ WGPUFeatureName_DawnNative
@ WGPUFeatureName_Undefined
struct WGPUPipelineLayoutImpl * WGPUPipelineLayout
Definition mini_webgpu.h:75
WGPUVertexFormat
@ WGPUVertexFormat_Sint32x4
@ WGPUVertexFormat_Float32x2
@ WGPUVertexFormat_Sint32x2
@ WGPUVertexFormat_Float32
@ WGPUVertexFormat_Float16x4
@ WGPUVertexFormat_Uint16x4
@ WGPUVertexFormat_Snorm8x2
@ WGPUVertexFormat_Uint8x4
@ WGPUVertexFormat_Undefined
@ WGPUVertexFormat_Sint8x2
@ WGPUVertexFormat_Unorm8x4
@ WGPUVertexFormat_Force32
@ WGPUVertexFormat_Uint8x2
@ WGPUVertexFormat_Float32x4
@ WGPUVertexFormat_Float16x2
@ WGPUVertexFormat_Uint32
@ WGPUVertexFormat_Uint32x4
@ WGPUVertexFormat_Sint32
@ WGPUVertexFormat_Uint32x2
@ WGPUVertexFormat_Uint32x3
@ WGPUVertexFormat_Sint16x4
@ WGPUVertexFormat_Unorm16x2
@ WGPUVertexFormat_Unorm8x2
@ WGPUVertexFormat_Sint32x3
@ WGPUVertexFormat_Sint16x2
@ WGPUVertexFormat_Snorm8x4
@ WGPUVertexFormat_Sint8x4
@ WGPUVertexFormat_Uint16x2
@ WGPUVertexFormat_Snorm16x2
@ WGPUVertexFormat_Unorm16x4
@ WGPUVertexFormat_Float32x3
@ WGPUVertexFormat_Snorm16x4
void(* WGPUProcAdapterGetProperties)(WGPUAdapter adapter, WGPUAdapterProperties *properties)
void(* WGPUProcQueueSubmit)(WGPUQueue queue, uint32_t commandCount, WGPUCommandBuffer const *commands)
WGPU_EXPORT void wgpuQuerySetRelease(WGPUQuerySet querySet)
WGPU_EXPORT void wgpuRenderBundleEncoderSetPipeline(WGPURenderBundleEncoder renderBundleEncoder, WGPURenderPipeline pipeline)
WGPUBufferMapState(* WGPUProcBufferGetMapState)(WGPUBuffer buffer)
WGPUSType
@ WGPUSType_Force32
@ WGPUSType_DawnBufferDescriptorErrorInfoFromWireClient
@ WGPUSType_SurfaceDescriptorFromMetalLayer
@ WGPUSType_SurfaceDescriptorFromWindowsHWND
@ WGPUSType_ShaderModuleSPIRVDescriptor
@ WGPUSType_DawnTogglesDeviceDescriptor
@ WGPUSType_RenderPassDescriptorMaxDrawCount
@ WGPUSType_SurfaceDescriptorFromWindowsCoreWindow
@ WGPUSType_SurfaceDescriptorFromWaylandSurface
@ WGPUSType_SurfaceDescriptorFromCanvasHTMLSelector
@ WGPUSType_DawnInstanceDescriptor
@ WGPUSType_ExternalTextureBindingEntry
@ WGPUSType_SurfaceDescriptorFromAndroidNativeWindow
@ WGPUSType_PrimitiveDepthClipControl
@ WGPUSType_DawnShaderModuleSPIRVOptionsDescriptor
@ WGPUSType_SurfaceDescriptorFromWindowsSwapChainPanel
@ WGPUSType_SurfaceDescriptorFromXlibWindow
@ WGPUSType_DawnEncoderInternalUsageDescriptor
@ WGPUSType_DawnCacheDeviceDescriptor
@ WGPUSType_DawnTogglesDescriptor
@ WGPUSType_DawnAdapterPropertiesPowerPreference
@ WGPUSType_ShaderModuleWGSLDescriptor
@ WGPUSType_Invalid
@ WGPUSType_ExternalTextureBindingLayout
@ WGPUSType_DawnTextureInternalUsageDescriptor
WGPU_EXPORT bool wgpuAdapterHasFeature(WGPUAdapter adapter, WGPUFeatureName feature)
WGPU_EXPORT void wgpuExternalTextureRefresh(WGPUExternalTexture externalTexture)
void(* WGPUProcRenderBundleEncoderDrawIndexed)(WGPURenderBundleEncoder renderBundleEncoder, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t baseVertex, uint32_t firstInstance)
WGPUTextureUsage(* WGPUProcTextureGetUsage)(WGPUTexture texture)
struct WGPUSamplerImpl * WGPUSampler
Definition mini_webgpu.h:82
WGPUBufferBindingType
@ WGPUBufferBindingType_Storage
@ WGPUBufferBindingType_Undefined
@ WGPUBufferBindingType_Force32
@ WGPUBufferBindingType_ReadOnlyStorage
@ WGPUBufferBindingType_Uniform
WGPUTextureFormat(* WGPUProcTextureGetFormat)(WGPUTexture texture)
WGPUShaderModule(* WGPUProcDeviceCreateShaderModule)(WGPUDevice device, WGPUShaderModuleDescriptor const *descriptor)
void(* WGPUProcRenderPipelineReference)(WGPURenderPipeline renderPipeline)
WGPUBindGroupLayout(* WGPUProcRenderPipelineGetBindGroupLayout)(WGPURenderPipeline renderPipeline, uint32_t groupIndex)
void(* WGPUProcCommandEncoderInsertDebugMarker)(WGPUCommandEncoder commandEncoder, char const *markerLabel)
void(* WGPUProcAdapterRelease)(WGPUAdapter adapter)
WGPU_EXPORT uint32_t wgpuTextureGetHeight(WGPUTexture texture)
WGPU_EXPORT void wgpuDeviceRelease(WGPUDevice device)
void(* WGPUProcQueueSetLabel)(WGPUQueue queue, char const *label)
WGPUAlphaMode
@ WGPUAlphaMode_Unpremultiplied
@ WGPUAlphaMode_Opaque
@ WGPUAlphaMode_Premultiplied
@ WGPUAlphaMode_Force32
void(* WGPUProcRenderPassEncoderDrawIndexed)(WGPURenderPassEncoder renderPassEncoder, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t baseVertex, uint32_t firstInstance)
WGPU_EXPORT void wgpuComputePipelineRelease(WGPUComputePipeline computePipeline)
void(* WGPUProcTextureSetLabel)(WGPUTexture texture, char const *label)
WGPURenderPassTimestampLocation
@ WGPURenderPassTimestampLocation_Beginning
@ WGPURenderPassTimestampLocation_End
@ WGPURenderPassTimestampLocation_Force32
WGPU_EXPORT void wgpuComputePassEncoderSetPipeline(WGPUComputePassEncoder computePassEncoder, WGPUComputePipeline pipeline)
void(* WGPUProcCommandEncoderInjectValidationError)(WGPUCommandEncoder commandEncoder, char const *message)
WGPU_EXPORT void wgpuQueueRelease(WGPUQueue queue)
WGPU_EXPORT WGPUComputePipeline wgpuDeviceCreateComputePipeline(WGPUDevice device, WGPUComputePipelineDescriptor const *descriptor)
WGPU_EXPORT void wgpuRenderPassEncoderSetViewport(WGPURenderPassEncoder renderPassEncoder, float x, float y, float width, float height, float minDepth, float maxDepth)
void(* WGPUProcSwapChainPresent)(WGPUSwapChain swapChain)
struct WGPUExternalTextureImpl * WGPUExternalTexture
Definition mini_webgpu.h:73
void(* WGPUProcSwapChainConfigure)(WGPUSwapChain swapChain, WGPUTextureFormat format, WGPUTextureUsageFlags allowedUsage, uint32_t width, uint32_t height)
void(* WGPUProcRenderPassEncoderSetIndexBuffer)(WGPURenderPassEncoder renderPassEncoder, WGPUBuffer buffer, WGPUIndexFormat format, uint64_t offset, uint64_t size)
void(* WGPUProcDeviceTick)(WGPUDevice device)
void(* WGPUProcRenderPassEncoderBeginOcclusionQuery)(WGPURenderPassEncoder renderPassEncoder, uint32_t queryIndex)
void(* WGPUProcCommandEncoderCopyTextureToBuffer)(WGPUCommandEncoder commandEncoder, WGPUImageCopyTexture const *source, WGPUImageCopyBuffer const *destination, WGPUExtent3D const *copySize)
WGPU_EXPORT void wgpuTextureSetLabel(WGPUTexture texture, char const *label)
WGPU_EXPORT void wgpuExternalTextureDestroy(WGPUExternalTexture externalTexture)
WGPUMapMode
@ WGPUMapMode_None
@ WGPUMapMode_Read
@ WGPUMapMode_Write
@ WGPUMapMode_Force32
void(* WGPUProcComputePassEncoderSetLabel)(WGPUComputePassEncoder computePassEncoder, char const *label)
WGPU_EXPORT void wgpuRenderBundleEncoderDraw(WGPURenderBundleEncoder renderBundleEncoder, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance)
void(* WGPUProcRenderBundleEncoderSetLabel)(WGPURenderBundleEncoder renderBundleEncoder, char const *label)
WGPU_EXPORT void wgpuExternalTextureReference(WGPUExternalTexture externalTexture)
WGPUDeviceLostReason
@ WGPUDeviceLostReason_Destroyed
@ WGPUDeviceLostReason_Undefined
@ WGPUDeviceLostReason_Force32
WGPU_EXPORT void wgpuRenderBundleReference(WGPURenderBundle renderBundle)
void(* WGPUProcComputePassEncoderDispatchIndirect)(WGPUComputePassEncoder computePassEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset)
WGPU_EXPORT WGPUTexture wgpuDeviceCreateTexture(WGPUDevice device, WGPUTextureDescriptor const *descriptor)
WGPU_EXPORT void wgpuComputePassEncoderDispatchWorkgroupsIndirect(WGPUComputePassEncoder computePassEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset)
WGPUBufferUsage
@ WGPUBufferUsage_Force32
@ WGPUBufferUsage_Storage
@ WGPUBufferUsage_Uniform
@ WGPUBufferUsage_MapWrite
@ WGPUBufferUsage_Vertex
@ WGPUBufferUsage_MapRead
@ WGPUBufferUsage_QueryResolve
@ WGPUBufferUsage_None
@ WGPUBufferUsage_CopyDst
@ WGPUBufferUsage_CopySrc
@ WGPUBufferUsage_Index
@ WGPUBufferUsage_Indirect
void(* WGPUProcBindGroupLayoutSetLabel)(WGPUBindGroupLayout bindGroupLayout, char const *label)
WGPU_EXPORT WGPUTexture wgpuDeviceCreateErrorTexture(WGPUDevice device, WGPUTextureDescriptor const *descriptor)
WGPU_EXPORT void wgpuQuerySetReference(WGPUQuerySet querySet)
#define WGPU_EXPORT
Definition mini_webgpu.h:50
WGPUInstance(* WGPUProcCreateInstance)(WGPUInstanceDescriptor const *descriptor)
WGPU_EXPORT void wgpuRenderBundleEncoderPopDebugGroup(WGPURenderBundleEncoder renderBundleEncoder)
WGPU_EXPORT void wgpuCommandEncoderCopyBufferToBuffer(WGPUCommandEncoder commandEncoder, WGPUBuffer source, uint64_t sourceOffset, WGPUBuffer destination, uint64_t destinationOffset, uint64_t size)
void(* WGPUProcRenderPassEncoderDraw)(WGPURenderPassEncoder renderPassEncoder, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance)
void(* WGPUProcPipelineLayoutSetLabel)(WGPUPipelineLayout pipelineLayout, char const *label)
struct WGPUQueueImpl * WGPUQueue
Definition mini_webgpu.h:77
struct WGPUSurfaceImpl * WGPUSurface
Definition mini_webgpu.h:84
WGPUCompareFunction
@ WGPUCompareFunction_Force32
@ WGPUCompareFunction_Always
@ WGPUCompareFunction_Never
@ WGPUCompareFunction_NotEqual
@ WGPUCompareFunction_Less
@ WGPUCompareFunction_Undefined
@ WGPUCompareFunction_GreaterEqual
@ WGPUCompareFunction_Equal
@ WGPUCompareFunction_LessEqual
@ WGPUCompareFunction_Greater
WGPUCullMode
@ WGPUCullMode_Force32
@ WGPUCullMode_Back
@ WGPUCullMode_Front
@ WGPUCullMode_None
WGPU_EXPORT void wgpuDeviceCreateRenderPipelineAsync(WGPUDevice device, WGPURenderPipelineDescriptor const *descriptor, WGPUCreateRenderPipelineAsyncCallback callback, void *userdata)
WGPU_EXPORT void wgpuCommandEncoderInsertDebugMarker(WGPUCommandEncoder commandEncoder, char const *markerLabel)
WGPU_EXPORT void wgpuTextureRelease(WGPUTexture texture)
void(* WGPUProcRenderPassEncoderExecuteBundles)(WGPURenderPassEncoder renderPassEncoder, uint32_t bundleCount, WGPURenderBundle const *bundles)
struct WGPURenderBundleImpl * WGPURenderBundle
Definition mini_webgpu.h:78
void(* WGPUProcShaderModuleGetCompilationInfo)(WGPUShaderModule shaderModule, WGPUCompilationInfoCallback callback, void *userdata)
struct WGPUComputePassEncoderImpl * WGPUComputePassEncoder
Definition mini_webgpu.h:70
void(* WGPUProcPipelineLayoutReference)(WGPUPipelineLayout pipelineLayout)
WGPU_EXPORT void wgpuBufferUnmap(WGPUBuffer buffer)
void(* WGPUProcBindGroupReference)(WGPUBindGroup bindGroup)
WGPU_EXPORT void wgpuShaderModuleGetCompilationInfo(WGPUShaderModule shaderModule, WGPUCompilationInfoCallback callback, void *userdata)
WGPU_EXPORT void wgpuPipelineLayoutReference(WGPUPipelineLayout pipelineLayout)
WGPU_EXPORT WGPURenderBundleEncoder wgpuDeviceCreateRenderBundleEncoder(WGPUDevice device, WGPURenderBundleEncoderDescriptor const *descriptor)
WGPU_EXPORT void wgpuComputePassEncoderPopDebugGroup(WGPUComputePassEncoder computePassEncoder)
WGPUTextureDimension
@ WGPUTextureDimension_2D
@ WGPUTextureDimension_Force32
@ WGPUTextureDimension_3D
@ WGPUTextureDimension_1D
WGPU_EXPORT WGPUBufferMapState wgpuBufferGetMapState(WGPUBuffer buffer)
void(* WGPUProcExternalTextureReference)(WGPUExternalTexture externalTexture)
void(* WGPUProcDeviceDestroy)(WGPUDevice device)
void(* WGPUProcInstanceReference)(WGPUInstance instance)
WGPU_EXPORT void wgpuBufferDestroy(WGPUBuffer buffer)
void(* WGPUProcRenderPassEncoderSetBindGroup)(WGPURenderPassEncoder renderPassEncoder, uint32_t groupIndex, WGPUBindGroup group, uint32_t dynamicOffsetCount, uint32_t const *dynamicOffsets)
bool(* WGPUProcDeviceGetLimits)(WGPUDevice device, WGPUSupportedLimits *limits)
WGPU_EXPORT uint32_t wgpuQuerySetGetCount(WGPUQuerySet querySet)
WGPUTextureUsage
@ WGPUTextureUsage_RenderAttachment
@ WGPUTextureUsage_Force32
@ WGPUTextureUsage_TextureBinding
@ WGPUTextureUsage_CopySrc
@ WGPUTextureUsage_Present
@ WGPUTextureUsage_CopyDst
@ WGPUTextureUsage_None
@ WGPUTextureUsage_StorageBinding
WGPUQueue(* WGPUProcDeviceGetQueue)(WGPUDevice device)
void(* WGPURequestDeviceCallback)(WGPURequestDeviceStatus status, WGPUDevice device, char const *message, void *userdata)
WGPUSurface(* WGPUProcInstanceCreateSurface)(WGPUInstance instance, WGPUSurfaceDescriptor const *descriptor)
WGPURequestDeviceStatus
@ WGPURequestDeviceStatus_Success
@ WGPURequestDeviceStatus_Unknown
@ WGPURequestDeviceStatus_Error
@ WGPURequestDeviceStatus_Force32
WGPU_EXPORT void wgpuComputePassEncoderEnd(WGPUComputePassEncoder computePassEncoder)
WGPU_EXPORT void wgpuRenderBundleEncoderSetBindGroup(WGPURenderBundleEncoder renderBundleEncoder, uint32_t groupIndex, WGPUBindGroup group, uint32_t dynamicOffsetCount, uint32_t const *dynamicOffsets)
WGPU_EXPORT WGPUQueue wgpuDeviceGetQueue(WGPUDevice device)
void(* WGPUProcComputePassEncoderWriteTimestamp)(WGPUComputePassEncoder computePassEncoder, WGPUQuerySet querySet, uint32_t queryIndex)
WGPU_EXPORT void wgpuDeviceCreateComputePipelineAsync(WGPUDevice device, WGPUComputePipelineDescriptor const *descriptor, WGPUCreateComputePipelineAsyncCallback callback, void *userdata)
void(* WGPUProcPipelineLayoutRelease)(WGPUPipelineLayout pipelineLayout)
WGPU_EXPORT void wgpuSwapChainReference(WGPUSwapChain swapChain)
WGPU_EXPORT void wgpuTextureDestroy(WGPUTexture texture)
WGPU_EXPORT void wgpuRenderBundleEncoderPushDebugGroup(WGPURenderBundleEncoder renderBundleEncoder, char const *groupLabel)
WGPU_EXPORT uint32_t wgpuTextureGetWidth(WGPUTexture texture)
void(* WGPUProcQueueCopyTextureForBrowser)(WGPUQueue queue, WGPUImageCopyTexture const *source, WGPUImageCopyTexture const *destination, WGPUExtent3D const *copySize, WGPUCopyTextureForBrowserOptions const *options)
struct WGPUBindGroupImpl * WGPUBindGroup
Definition mini_webgpu.h:65
WGPUTexture(* WGPUProcDeviceCreateTexture)(WGPUDevice device, WGPUTextureDescriptor const *descriptor)
WGPUCompilationMessageType
@ WGPUCompilationMessageType_Force32
@ WGPUCompilationMessageType_Info
@ WGPUCompilationMessageType_Warning
@ WGPUCompilationMessageType_Error
WGPUCreatePipelineAsyncStatus
@ WGPUCreatePipelineAsyncStatus_Force32
@ WGPUCreatePipelineAsyncStatus_ValidationError
@ WGPUCreatePipelineAsyncStatus_Success
@ WGPUCreatePipelineAsyncStatus_Unknown
@ WGPUCreatePipelineAsyncStatus_DeviceDestroyed
@ WGPUCreatePipelineAsyncStatus_DeviceLost
@ WGPUCreatePipelineAsyncStatus_InternalError
void(* WGPUProcBufferReference)(WGPUBuffer buffer)
WGPU_EXPORT void wgpuCommandEncoderRelease(WGPUCommandEncoder commandEncoder)
void(* WGPUProcCommandEncoderPopDebugGroup)(WGPUCommandEncoder commandEncoder)
WGPU_EXPORT void wgpuTextureReference(WGPUTexture texture)
struct WGPUInstanceImpl * WGPUInstance
Definition mini_webgpu.h:74
void(* WGPUProcCommandEncoderReference)(WGPUCommandEncoder commandEncoder)
uint32_t(* WGPUProcQuerySetGetCount)(WGPUQuerySet querySet)
WGPU_EXPORT WGPUSwapChain wgpuDeviceCreateSwapChain(WGPUDevice device, WGPUSurface surface, WGPUSwapChainDescriptor const *descriptor)
WGPU_EXPORT void wgpuAdapterRequestDevice(WGPUAdapter adapter, WGPUDeviceDescriptor const *descriptor, WGPURequestDeviceCallback callback, void *userdata)
void(* WGPUProcTextureViewSetLabel)(WGPUTextureView textureView, char const *label)
void(* WGPUProcRenderBundleEncoderSetIndexBuffer)(WGPURenderBundleEncoder renderBundleEncoder, WGPUBuffer buffer, WGPUIndexFormat format, uint64_t offset, uint64_t size)
void(* WGPUProcBindGroupLayoutReference)(WGPUBindGroupLayout bindGroupLayout)
WGPU_EXPORT void wgpuComputePassEncoderRelease(WGPUComputePassEncoder computePassEncoder)
void(* WGPUErrorCallback)(WGPUErrorType type, char const *message, void *userdata)
void(* WGPUProcBufferUnmap)(WGPUBuffer buffer)
WGPU_EXPORT void wgpuCommandEncoderWriteBuffer(WGPUCommandEncoder commandEncoder, WGPUBuffer buffer, uint64_t bufferOffset, uint8_t const *data, uint64_t size)
WGPU_EXPORT void wgpuRenderPassEncoderEnd(WGPURenderPassEncoder renderPassEncoder)
bool(* WGPUProcAdapterGetLimits)(WGPUAdapter adapter, WGPUSupportedLimits *limits)
WGPU_EXPORT WGPUCommandBuffer wgpuCommandEncoderFinish(WGPUCommandEncoder commandEncoder, WGPUCommandBufferDescriptor const *descriptor)
WGPUTextureDimension(* WGPUProcTextureGetDimension)(WGPUTexture texture)
bool(* WGPUProcAdapterHasFeature)(WGPUAdapter adapter, WGPUFeatureName feature)
WGPU_EXPORT void wgpuRenderPassEncoderDrawIndexed(WGPURenderPassEncoder renderPassEncoder, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t baseVertex, uint32_t firstInstance)
WGPU_EXPORT void wgpuRenderBundleEncoderSetIndexBuffer(WGPURenderBundleEncoder renderBundleEncoder, WGPUBuffer buffer, WGPUIndexFormat format, uint64_t offset, uint64_t size)
WGPUTextureViewDimension
@ WGPUTextureViewDimension_Cube
@ WGPUTextureViewDimension_2DArray
@ WGPUTextureViewDimension_2D
@ WGPUTextureViewDimension_3D
@ WGPUTextureViewDimension_1D
@ WGPUTextureViewDimension_CubeArray
@ WGPUTextureViewDimension_Undefined
@ WGPUTextureViewDimension_Force32
WGPU_EXPORT void wgpuQueueSetLabel(WGPUQueue queue, char const *label)
WGPU_EXPORT void wgpuDeviceDestroy(WGPUDevice device)
struct WGPUBindGroupLayoutImpl * WGPUBindGroupLayout
Definition mini_webgpu.h:66
WGPU_EXPORT void wgpuCommandBufferRelease(WGPUCommandBuffer commandBuffer)
WGPU_EXPORT void wgpuBindGroupLayoutRelease(WGPUBindGroupLayout bindGroupLayout)
WGPU_EXPORT WGPUTextureView wgpuSwapChainGetCurrentTextureView(WGPUSwapChain swapChain)
void(* WGPUProcQuerySetReference)(WGPUQuerySet querySet)
WGPUBuffer(* WGPUProcDeviceCreateErrorBuffer)(WGPUDevice device, WGPUBufferDescriptor const *descriptor)
WGPU_EXPORT void wgpuRenderPipelineReference(WGPURenderPipeline renderPipeline)
WGPU_EXPORT void wgpuRenderPassEncoderInsertDebugMarker(WGPURenderPassEncoder renderPassEncoder, char const *markerLabel)
WGPUPrimitiveTopology
@ WGPUPrimitiveTopology_LineList
@ WGPUPrimitiveTopology_LineStrip
@ WGPUPrimitiveTopology_TriangleList
@ WGPUPrimitiveTopology_PointList
@ WGPUPrimitiveTopology_TriangleStrip
@ WGPUPrimitiveTopology_Force32
WGPU_EXPORT void wgpuRenderPassEncoderSetIndexBuffer(WGPURenderPassEncoder renderPassEncoder, WGPUBuffer buffer, WGPUIndexFormat format, uint64_t offset, uint64_t size)
WGPU_EXPORT void wgpuAdapterReference(WGPUAdapter adapter)
void(* WGPUProcAdapterReference)(WGPUAdapter adapter)
WGPU_EXPORT void * wgpuBufferGetMappedRange(WGPUBuffer buffer, size_t offset, size_t size)
struct WGPUTextureViewImpl * WGPUTextureView
Definition mini_webgpu.h:87
WGPUPipelineStatisticName
@ WGPUPipelineStatisticName_VertexShaderInvocations
@ WGPUPipelineStatisticName_FragmentShaderInvocations
@ WGPUPipelineStatisticName_ClipperInvocations
@ WGPUPipelineStatisticName_ComputeShaderInvocations
@ WGPUPipelineStatisticName_ClipperPrimitivesOut
@ WGPUPipelineStatisticName_Force32
void(* WGPUProcDeviceCreateComputePipelineAsync)(WGPUDevice device, WGPUComputePipelineDescriptor const *descriptor, WGPUCreateComputePipelineAsyncCallback callback, void *userdata)
void(* WGPUProcRenderBundleReference)(WGPURenderBundle renderBundle)
bool(* WGPUProcDevicePopErrorScope)(WGPUDevice device, WGPUErrorCallback callback, void *userdata)
WGPU_EXPORT void wgpuRenderPassEncoderSetPipeline(WGPURenderPassEncoder renderPassEncoder, WGPURenderPipeline pipeline)
void(* WGPUProcCommandBufferReference)(WGPUCommandBuffer commandBuffer)
WGPU_EXPORT void wgpuSwapChainConfigure(WGPUSwapChain swapChain, WGPUTextureFormat format, WGPUTextureUsageFlags allowedUsage, uint32_t width, uint32_t height)
void(* WGPUProcQueueRelease)(WGPUQueue queue)
WGPUTextureFormat
@ WGPUTextureFormat_ASTC12x10Unorm
@ WGPUTextureFormat_BC5RGSnorm
@ WGPUTextureFormat_BC7RGBAUnorm
@ WGPUTextureFormat_RGBA8Unorm
@ WGPUTextureFormat_RG8Unorm
@ WGPUTextureFormat_ETC2RGB8Unorm
@ WGPUTextureFormat_ASTC4x4Unorm
@ WGPUTextureFormat_ETC2RGB8A1UnormSrgb
@ WGPUTextureFormat_EACR11Snorm
@ WGPUTextureFormat_BC4RSnorm
@ WGPUTextureFormat_RGBA8Snorm
@ WGPUTextureFormat_ASTC10x6Unorm
@ WGPUTextureFormat_BGRA8UnormSrgb
@ WGPUTextureFormat_ASTC6x6Unorm
@ WGPUTextureFormat_ETC2RGB8A1Unorm
@ WGPUTextureFormat_ASTC10x8Unorm
@ WGPUTextureFormat_ASTC8x8Unorm
@ WGPUTextureFormat_RGBA32Float
@ WGPUTextureFormat_BC6HRGBUfloat
@ WGPUTextureFormat_RG32Sint
@ WGPUTextureFormat_RGBA16Float
@ WGPUTextureFormat_ASTC10x10Unorm
@ WGPUTextureFormat_Depth32FloatStencil8
@ WGPUTextureFormat_RG8Snorm
@ WGPUTextureFormat_ASTC12x10UnormSrgb
@ WGPUTextureFormat_Depth24Plus
@ WGPUTextureFormat_RG16Sint
@ WGPUTextureFormat_EACRG11Unorm
@ WGPUTextureFormat_ETC2RGB8UnormSrgb
@ WGPUTextureFormat_BC6HRGBFloat
@ WGPUTextureFormat_R32Float
@ WGPUTextureFormat_BC7RGBAUnormSrgb
@ WGPUTextureFormat_R16Sint
@ WGPUTextureFormat_R8Sint
@ WGPUTextureFormat_RGBA8UnormSrgb
@ WGPUTextureFormat_BC3RGBAUnormSrgb
@ WGPUTextureFormat_RGBA8Uint
@ WGPUTextureFormat_EACRG11Snorm
@ WGPUTextureFormat_RGBA16Uint
@ WGPUTextureFormat_ASTC10x10UnormSrgb
@ WGPUTextureFormat_RGB10A2Unorm
@ WGPUTextureFormat_ASTC10x5UnormSrgb
@ WGPUTextureFormat_ASTC5x5Unorm
@ WGPUTextureFormat_R32Uint
@ WGPUTextureFormat_ETC2RGBA8UnormSrgb
@ WGPUTextureFormat_ASTC5x4Unorm
@ WGPUTextureFormat_BC3RGBAUnorm
@ WGPUTextureFormat_R8BG8Biplanar420Unorm
@ WGPUTextureFormat_BGRA8Unorm
@ WGPUTextureFormat_BC4RUnorm
@ WGPUTextureFormat_BC5RGUnorm
@ WGPUTextureFormat_Force32
@ WGPUTextureFormat_BC1RGBAUnorm
@ WGPUTextureFormat_ASTC5x5UnormSrgb
@ WGPUTextureFormat_ASTC8x6UnormSrgb
@ WGPUTextureFormat_R32Sint
@ WGPUTextureFormat_BC2RGBAUnormSrgb
@ WGPUTextureFormat_RGBA32Uint
@ WGPUTextureFormat_Stencil8
@ WGPUTextureFormat_EACR11Unorm
@ WGPUTextureFormat_ASTC6x6UnormSrgb
@ WGPUTextureFormat_RG16Uint
@ WGPUTextureFormat_ASTC10x8UnormSrgb
@ WGPUTextureFormat_RGB9E5Ufloat
@ WGPUTextureFormat_Depth16Unorm
@ WGPUTextureFormat_RG8Sint
@ WGPUTextureFormat_ASTC8x8UnormSrgb
@ WGPUTextureFormat_R16Uint
@ WGPUTextureFormat_Undefined
@ WGPUTextureFormat_ASTC10x6UnormSrgb
@ WGPUTextureFormat_R16Float
@ WGPUTextureFormat_ASTC5x4UnormSrgb
@ WGPUTextureFormat_RG32Float
@ WGPUTextureFormat_RG11B10Ufloat
@ WGPUTextureFormat_ASTC12x12UnormSrgb
@ WGPUTextureFormat_RGBA32Sint
@ WGPUTextureFormat_BC1RGBAUnormSrgb
@ WGPUTextureFormat_RG16Float
@ WGPUTextureFormat_ASTC6x5Unorm
@ WGPUTextureFormat_Depth24PlusStencil8
@ WGPUTextureFormat_ASTC10x5Unorm
@ WGPUTextureFormat_RGBA16Sint
@ WGPUTextureFormat_R8Unorm
@ WGPUTextureFormat_Depth32Float
@ WGPUTextureFormat_BC2RGBAUnorm
@ WGPUTextureFormat_ASTC8x6Unorm
@ WGPUTextureFormat_RG8Uint
@ WGPUTextureFormat_R8Uint
@ WGPUTextureFormat_ASTC8x5Unorm
@ WGPUTextureFormat_ASTC12x12Unorm
@ WGPUTextureFormat_ASTC4x4UnormSrgb
@ WGPUTextureFormat_ETC2RGBA8Unorm
@ WGPUTextureFormat_RG32Uint
@ WGPUTextureFormat_ASTC8x5UnormSrgb
@ WGPUTextureFormat_RGBA8Sint
@ WGPUTextureFormat_R8Snorm
@ WGPUTextureFormat_ASTC6x5UnormSrgb
void(* WGPUProcRenderBundleEncoderSetBindGroup)(WGPURenderBundleEncoder renderBundleEncoder, uint32_t groupIndex, WGPUBindGroup group, uint32_t dynamicOffsetCount, uint32_t const *dynamicOffsets)
WGPU_EXPORT void const * wgpuBufferGetConstMappedRange(WGPUBuffer buffer, size_t offset, size_t size)
void(* WGPUProcBufferMapAsync)(WGPUBuffer buffer, WGPUMapModeFlags mode, size_t offset, size_t size, WGPUBufferMapCallback callback, void *userdata)
void(* WGPUProcCommandEncoderPushDebugGroup)(WGPUCommandEncoder commandEncoder, char const *groupLabel)
void(* WGPUProcDeviceSetLoggingCallback)(WGPUDevice device, WGPULoggingCallback callback, void *userdata)
WGPU_EXPORT void wgpuDeviceSetLoggingCallback(WGPUDevice device, WGPULoggingCallback callback, void *userdata)
bool(* WGPUProcDeviceHasFeature)(WGPUDevice device, WGPUFeatureName feature)
WGPU_EXPORT void wgpuRenderPassEncoderSetStencilReference(WGPURenderPassEncoder renderPassEncoder, uint32_t reference)
void(* WGPUProcRenderPassEncoderSetStencilReference)(WGPURenderPassEncoder renderPassEncoder, uint32_t reference)
WGPU_EXPORT void wgpuComputePassEncoderWriteTimestamp(WGPUComputePassEncoder computePassEncoder, WGPUQuerySet querySet, uint32_t queryIndex)
struct WGPURenderPassEncoderImpl * WGPURenderPassEncoder
Definition mini_webgpu.h:80
void(* WGPUProcCommandEncoderWriteTimestamp)(WGPUCommandEncoder commandEncoder, WGPUQuerySet querySet, uint32_t queryIndex)
WGPU_EXPORT void wgpuAdapterRelease(WGPUAdapter adapter)
WGPU_EXPORT void wgpuRenderPassEncoderPushDebugGroup(WGPURenderPassEncoder renderPassEncoder, char const *groupLabel)
void(* WGPUProcRenderBundleEncoderInsertDebugMarker)(WGPURenderBundleEncoder renderBundleEncoder, char const *markerLabel)
WGPUSwapChain(* WGPUProcDeviceCreateSwapChain)(WGPUDevice device, WGPUSurface surface, WGPUSwapChainDescriptor const *descriptor)
WGPU_EXPORT void wgpuBindGroupLayoutReference(WGPUBindGroupLayout bindGroupLayout)
uint32_t(* WGPUProcTextureGetDepthOrArrayLayers)(WGPUTexture texture)
WGPUPipelineLayout(* WGPUProcDeviceCreatePipelineLayout)(WGPUDevice device, WGPUPipelineLayoutDescriptor const *descriptor)
WGPUSampler(* WGPUProcDeviceCreateSampler)(WGPUDevice device, WGPUSamplerDescriptor const *descriptor)
WGPU_EXPORT void wgpuRenderPassEncoderExecuteBundles(WGPURenderPassEncoder renderPassEncoder, uint32_t bundleCount, WGPURenderBundle const *bundles)
WGPU_EXPORT void wgpuQueueCopyTextureForBrowser(WGPUQueue queue, WGPUImageCopyTexture const *source, WGPUImageCopyTexture const *destination, WGPUExtent3D const *copySize, WGPUCopyTextureForBrowserOptions const *options)
WGPU_EXPORT void wgpuExternalTextureRelease(WGPUExternalTexture externalTexture)
WGPUStencilOperation
@ WGPUStencilOperation_DecrementClamp
@ WGPUStencilOperation_Replace
@ WGPUStencilOperation_Keep
@ WGPUStencilOperation_DecrementWrap
@ WGPUStencilOperation_IncrementWrap
@ WGPUStencilOperation_IncrementClamp
@ WGPUStencilOperation_Invert
@ WGPUStencilOperation_Force32
@ WGPUStencilOperation_Zero
WGPU_EXPORT WGPUExternalTexture wgpuDeviceCreateExternalTexture(WGPUDevice device, WGPUExternalTextureDescriptor const *externalTextureDescriptor)
WGPU_EXPORT WGPURenderPipeline wgpuDeviceCreateRenderPipeline(WGPUDevice device, WGPURenderPipelineDescriptor const *descriptor)
WGPU_EXPORT void wgpuComputePassEncoderSetBindGroup(WGPUComputePassEncoder computePassEncoder, uint32_t groupIndex, WGPUBindGroup group, uint32_t dynamicOffsetCount, uint32_t const *dynamicOffsets)
WGPU_EXPORT void wgpuRenderBundleEncoderReference(WGPURenderBundleEncoder renderBundleEncoder)
WGPU_EXPORT void wgpuQuerySetSetLabel(WGPUQuerySet querySet, char const *label)
WGPU_EXPORT WGPUQueryType wgpuQuerySetGetType(WGPUQuerySet querySet)
struct WGPUShaderModuleImpl * WGPUShaderModule
Definition mini_webgpu.h:83
void(* WGPUProcQueueReference)(WGPUQueue queue)
WGPU_EXPORT void wgpuCommandEncoderCopyBufferToTexture(WGPUCommandEncoder commandEncoder, WGPUImageCopyBuffer const *source, WGPUImageCopyTexture const *destination, WGPUExtent3D const *copySize)
void(* WGPUProcCommandEncoderSetLabel)(WGPUCommandEncoder commandEncoder, char const *label)
WGPUAddressMode
Definition mini_webgpu.h:97
@ WGPUAddressMode_Repeat
Definition mini_webgpu.h:98
@ WGPUAddressMode_MirrorRepeat
Definition mini_webgpu.h:99
@ WGPUAddressMode_ClampToEdge
@ WGPUAddressMode_Force32
WGPU_EXPORT void wgpuRenderPassEncoderSetBindGroup(WGPURenderPassEncoder renderPassEncoder, uint32_t groupIndex, WGPUBindGroup group, uint32_t dynamicOffsetCount, uint32_t const *dynamicOffsets)
WGPU_EXPORT void wgpuComputePassEncoderReference(WGPUComputePassEncoder computePassEncoder)
struct WGPUQuerySetImpl * WGPUQuerySet
Definition mini_webgpu.h:76
void(* WGPUProcRenderBundleRelease)(WGPURenderBundle renderBundle)
WGPUExternalTexture(* WGPUProcDeviceCreateExternalTexture)(WGPUDevice device, WGPUExternalTextureDescriptor const *externalTextureDescriptor)
void(* WGPUProcBufferRelease)(WGPUBuffer buffer)
WGPU_EXPORT uint64_t wgpuBufferGetSize(WGPUBuffer buffer)
WGPU_EXPORT size_t wgpuAdapterEnumerateFeatures(WGPUAdapter adapter, WGPUFeatureName *features)
void(* WGPUProcCommandEncoderCopyBufferToBuffer)(WGPUCommandEncoder commandEncoder, WGPUBuffer source, uint64_t sourceOffset, WGPUBuffer destination, uint64_t destinationOffset, uint64_t size)
WGPUShaderStage
@ WGPUShaderStage_Fragment
@ WGPUShaderStage_Compute
@ WGPUShaderStage_Force32
@ WGPUShaderStage_Vertex
@ WGPUShaderStage_None
WGPU_EXPORT void wgpuCommandBufferSetLabel(WGPUCommandBuffer commandBuffer, char const *label)
WGPU_EXPORT void wgpuRenderPassEncoderDrawIndexedIndirect(WGPURenderPassEncoder renderPassEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset)
WGPU_EXPORT void wgpuDeviceReference(WGPUDevice device)
void(* WGPUProcDeviceSetUncapturedErrorCallback)(WGPUDevice device, WGPUErrorCallback callback, void *userdata)
void(* WGPUProcSurfaceRelease)(WGPUSurface surface)
struct WGPUCommandBufferImpl * WGPUCommandBuffer
Definition mini_webgpu.h:68
WGPU_EXPORT void wgpuQueueSubmit(WGPUQueue queue, uint32_t commandCount, WGPUCommandBuffer const *commands)
void(* WGPUProcComputePassEncoderDispatchWorkgroupsIndirect)(WGPUComputePassEncoder computePassEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset)
WGPUTexture(* WGPUProcDeviceCreateErrorTexture)(WGPUDevice device, WGPUTextureDescriptor const *descriptor)
void(* WGPUProcRenderPassEncoderEndOcclusionQuery)(WGPURenderPassEncoder renderPassEncoder)
WGPU_EXPORT void wgpuDeviceInjectError(WGPUDevice device, WGPUErrorType type, char const *message)
WGPUBindGroupLayout(* WGPUProcDeviceCreateBindGroupLayout)(WGPUDevice device, WGPUBindGroupLayoutDescriptor const *descriptor)
void(* WGPUDeviceLostCallback)(WGPUDeviceLostReason reason, char const *message, void *userdata)
WGPU_EXPORT void wgpuRenderPassEncoderSetLabel(WGPURenderPassEncoder renderPassEncoder, char const *label)
WGPURenderBundle(* WGPUProcRenderBundleEncoderFinish)(WGPURenderBundleEncoder renderBundleEncoder, WGPURenderBundleDescriptor const *descriptor)
WGPUTextureAspect
@ WGPUTextureAspect_DepthOnly
@ WGPUTextureAspect_Plane1Only
@ WGPUTextureAspect_Force32
@ WGPUTextureAspect_All
@ WGPUTextureAspect_Plane0Only
@ WGPUTextureAspect_StencilOnly
WGPUBufferMapState
@ WGPUBufferMapState_Pending
@ WGPUBufferMapState_Mapped
@ WGPUBufferMapState_Unmapped
@ WGPUBufferMapState_Force32
void(* WGPUProcDeviceSetDeviceLostCallback)(WGPUDevice device, WGPUDeviceLostCallback callback, void *userdata)
void(* WGPUProcRenderPassEncoderDrawIndexedIndirect)(WGPURenderPassEncoder renderPassEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset)
struct WGPURenderBundleEncoderImpl * WGPURenderBundleEncoder
Definition mini_webgpu.h:79
struct WGPUDeviceImpl * WGPUDevice
Definition mini_webgpu.h:72
void(* WGPUProcRenderPipelineSetLabel)(WGPURenderPipeline renderPipeline, char const *label)
WGPU_EXPORT void wgpuCommandEncoderPushDebugGroup(WGPUCommandEncoder commandEncoder, char const *groupLabel)
void(* WGPUProcQuerySetDestroy)(WGPUQuerySet querySet)
WGPU_EXPORT void wgpuBufferSetLabel(WGPUBuffer buffer, char const *label)
WGPURenderBundleEncoder(* WGPUProcDeviceCreateRenderBundleEncoder)(WGPUDevice device, WGPURenderBundleEncoderDescriptor const *descriptor)
WGPUFilterMode
@ WGPUFilterMode_Force32
@ WGPUFilterMode_Nearest
@ WGPUFilterMode_Linear
void(* WGPUProcExternalTextureRelease)(WGPUExternalTexture externalTexture)
void(* WGPUProcRenderPassEncoderSetScissorRect)(WGPURenderPassEncoder renderPassEncoder, uint32_t x, uint32_t y, uint32_t width, uint32_t height)
void(* WGPUProcRenderPassEncoderSetPipeline)(WGPURenderPassEncoder renderPassEncoder, WGPURenderPipeline pipeline)
WGPUBackendType
@ WGPUBackendType_Vulkan
@ WGPUBackendType_OpenGL
@ WGPUBackendType_Force32
@ WGPUBackendType_OpenGLES
@ WGPUBackendType_WebGPU
@ WGPUBackendType_D3D11
@ WGPUBackendType_D3D12
@ WGPUBackendType_Null
@ WGPUBackendType_Metal
void(* WGPURequestAdapterCallback)(WGPURequestAdapterStatus status, WGPUAdapter adapter, char const *message, void *userdata)
void(* WGPUProcSurfaceReference)(WGPUSurface surface)
void(* WGPUQueueWorkDoneCallback)(WGPUQueueWorkDoneStatus status, void *userdata)
void(* WGPUProcRenderBundleEncoderSetVertexBuffer)(WGPURenderBundleEncoder renderBundleEncoder, uint32_t slot, WGPUBuffer buffer, uint64_t offset, uint64_t size)
WGPUBlendFactor
@ WGPUBlendFactor_DstAlpha
@ WGPUBlendFactor_One
@ WGPUBlendFactor_Zero
@ WGPUBlendFactor_OneMinusDst
@ WGPUBlendFactor_Force32
@ WGPUBlendFactor_Constant
@ WGPUBlendFactor_OneMinusSrc
@ WGPUBlendFactor_SrcAlphaSaturated
@ WGPUBlendFactor_Src
@ WGPUBlendFactor_OneMinusSrcAlpha
@ WGPUBlendFactor_SrcAlpha
@ WGPUBlendFactor_OneMinusConstant
@ WGPUBlendFactor_OneMinusDstAlpha
@ WGPUBlendFactor_Dst
WGPUBindGroup(* WGPUProcDeviceCreateBindGroup)(WGPUDevice device, WGPUBindGroupDescriptor const *descriptor)
WGPU_EXPORT uint32_t wgpuTextureGetMipLevelCount(WGPUTexture texture)
void(* WGPUProcDeviceInjectError)(WGPUDevice device, WGPUErrorType type, char const *message)
WGPU_EXPORT void wgpuInstanceRelease(WGPUInstance instance)
WGPU_EXPORT void wgpuQuerySetDestroy(WGPUQuerySet querySet)
WGPUProc(* WGPUProcGetProcAddress)(WGPUDevice device, char const *procName)
WGPU_EXPORT void wgpuTextureViewRelease(WGPUTextureView textureView)
WGPU_EXPORT WGPUBuffer wgpuDeviceCreateErrorBuffer(WGPUDevice device, WGPUBufferDescriptor const *descriptor)
WGPU_EXPORT void wgpuComputePassEncoderSetLabel(WGPUComputePassEncoder computePassEncoder, char const *label)
WGPUBuffer(* WGPUProcDeviceCreateBuffer)(WGPUDevice device, WGPUBufferDescriptor const *descriptor)
WGPUSamplerBindingType
@ WGPUSamplerBindingType_NonFiltering
@ WGPUSamplerBindingType_Force32
@ WGPUSamplerBindingType_Filtering
@ WGPUSamplerBindingType_Undefined
@ WGPUSamplerBindingType_Comparison
WGPUAdapter(* WGPUProcDeviceGetAdapter)(WGPUDevice device)
void(* WGPUProcCommandEncoderWriteBuffer)(WGPUCommandEncoder commandEncoder, WGPUBuffer buffer, uint64_t bufferOffset, uint8_t const *data, uint64_t size)
void(* WGPUProcCommandEncoderCopyTextureToTexture)(WGPUCommandEncoder commandEncoder, WGPUImageCopyTexture const *source, WGPUImageCopyTexture const *destination, WGPUExtent3D const *copySize)
WGPU_EXPORT WGPUTextureDimension wgpuTextureGetDimension(WGPUTexture texture)
WGPU_EXPORT WGPUTextureFormat wgpuTextureGetFormat(WGPUTexture texture)
WGPU_EXPORT void wgpuRenderBundleEncoderDrawIndexed(WGPURenderBundleEncoder renderBundleEncoder, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t baseVertex, uint32_t firstInstance)
void(* WGPUProcRenderPassEncoderSetViewport)(WGPURenderPassEncoder renderPassEncoder, float x, float y, float width, float height, float minDepth, float maxDepth)
WGPULoadOp
@ WGPULoadOp_Load
@ WGPULoadOp_Force32
@ WGPULoadOp_Undefined
@ WGPULoadOp_Clear
void(* WGPUProcCommandEncoderRelease)(WGPUCommandEncoder commandEncoder)
WGPU_EXPORT void wgpuShaderModuleRelease(WGPUShaderModule shaderModule)
WGPU_EXPORT WGPUSurface wgpuInstanceCreateSurface(WGPUInstance instance, WGPUSurfaceDescriptor const *descriptor)
WGPU_EXPORT WGPUBindGroup wgpuDeviceCreateBindGroup(WGPUDevice device, WGPUBindGroupDescriptor const *descriptor)
void(* WGPUProcSamplerReference)(WGPUSampler sampler)
void(* WGPUProcComputePipelineRelease)(WGPUComputePipeline computePipeline)
WGPU_EXPORT void wgpuDeviceSetDeviceLostCallback(WGPUDevice device, WGPUDeviceLostCallback callback, void *userdata)
WGPUComputePassEncoder(* WGPUProcCommandEncoderBeginComputePass)(WGPUCommandEncoder commandEncoder, WGPUComputePassDescriptor const *descriptor)
WGPU_EXPORT void wgpuCommandEncoderCopyTextureToTexture(WGPUCommandEncoder commandEncoder, WGPUImageCopyTexture const *source, WGPUImageCopyTexture const *destination, WGPUExtent3D const *copySize)
void(* WGPUProcQueueWriteTexture)(WGPUQueue queue, WGPUImageCopyTexture const *destination, void const *data, size_t dataSize, WGPUTextureDataLayout const *dataLayout, WGPUExtent3D const *writeSize)
WGPUTextureComponentType
@ WGPUTextureComponentType_DepthComparison
@ WGPUTextureComponentType_Uint
@ WGPUTextureComponentType_Float
@ WGPUTextureComponentType_Sint
@ WGPUTextureComponentType_Force32
void(* WGPUProcBindGroupSetLabel)(WGPUBindGroup bindGroup, char const *label)
WGPU_EXPORT void wgpuAdapterGetProperties(WGPUAdapter adapter, WGPUAdapterProperties *properties)
WGPU_EXPORT void wgpuCommandEncoderPopDebugGroup(WGPUCommandEncoder commandEncoder)
void(* WGPUProcTextureDestroy)(WGPUTexture texture)
WGPU_EXPORT WGPUQuerySet wgpuDeviceCreateQuerySet(WGPUDevice device, WGPUQuerySetDescriptor const *descriptor)
void(* WGPUProcRenderPassEncoderDrawIndirect)(WGPURenderPassEncoder renderPassEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset)
void(* WGPUProcComputePassEncoderPopDebugGroup)(WGPUComputePassEncoder computePassEncoder)
WGPUStorageTextureAccess
@ WGPUStorageTextureAccess_Undefined
@ WGPUStorageTextureAccess_WriteOnly
@ WGPUStorageTextureAccess_Force32
WGPUPowerPreference
@ WGPUPowerPreference_Force32
@ WGPUPowerPreference_HighPerformance
@ WGPUPowerPreference_LowPower
@ WGPUPowerPreference_Undefined
WGPU_EXPORT void wgpuRenderBundleRelease(WGPURenderBundle renderBundle)
WGPU_EXPORT void wgpuRenderPassEncoderWriteTimestamp(WGPURenderPassEncoder renderPassEncoder, WGPUQuerySet querySet, uint32_t queryIndex)
void(* WGPUProcRenderBundleEncoderPushDebugGroup)(WGPURenderBundleEncoder renderBundleEncoder, char const *groupLabel)
uint32_t(* WGPUProcTextureGetSampleCount)(WGPUTexture texture)
WGPU_EXPORT void wgpuCommandBufferReference(WGPUCommandBuffer commandBuffer)
void(* WGPUProcSwapChainRelease)(WGPUSwapChain swapChain)
struct WGPUCommandEncoderImpl * WGPUCommandEncoder
Definition mini_webgpu.h:69
WGPU_EXPORT void wgpuRenderPassEncoderSetScissorRect(WGPURenderPassEncoder renderPassEncoder, uint32_t x, uint32_t y, uint32_t width, uint32_t height)
WGPU_EXPORT uint32_t wgpuTextureGetDepthOrArrayLayers(WGPUTexture texture)
WGPU_EXPORT void wgpuInstanceReference(WGPUInstance instance)
WGPU_EXPORT void wgpuRenderPassEncoderDraw(WGPURenderPassEncoder renderPassEncoder, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance)
void(* WGPUProcSwapChainReference)(WGPUSwapChain swapChain)
WGPU_EXPORT WGPUProc wgpuGetProcAddress(WGPUDevice device, char const *procName)
WGPU_EXPORT size_t wgpuDeviceEnumerateFeatures(WGPUDevice device, WGPUFeatureName *features)
uint32_t(* WGPUProcTextureGetWidth)(WGPUTexture texture)
WGPUPresentMode
@ WGPUPresentMode_Fifo
@ WGPUPresentMode_Force32
@ WGPUPresentMode_Immediate
@ WGPUPresentMode_Mailbox
WGPU_EXPORT WGPUBuffer wgpuDeviceCreateBuffer(WGPUDevice device, WGPUBufferDescriptor const *descriptor)
void(* WGPUProcExternalTextureSetLabel)(WGPUExternalTexture externalTexture, char const *label)
void(* WGPUProcComputePassEncoderDispatch)(WGPUComputePassEncoder computePassEncoder, uint32_t workgroupCountX, uint32_t workgroupCountY, uint32_t workgroupCountZ)
WGPUComputePipeline(* WGPUProcDeviceCreateComputePipeline)(WGPUDevice device, WGPUComputePipelineDescriptor const *descriptor)
void(* WGPUProcInstanceRelease)(WGPUInstance instance)
void(* WGPUProcCommandBufferSetLabel)(WGPUCommandBuffer commandBuffer, char const *label)
void(* WGPUProcComputePassEncoderPushDebugGroup)(WGPUComputePassEncoder computePassEncoder, char const *groupLabel)
void(* WGPUProcRenderPassEncoderSetBlendConstant)(WGPURenderPassEncoder renderPassEncoder, WGPUColor const *color)
WGPU_EXPORT WGPUBindGroupLayout wgpuComputePipelineGetBindGroupLayout(WGPUComputePipeline computePipeline, uint32_t groupIndex)
void(* WGPUProcRenderBundleEncoderReference)(WGPURenderBundleEncoder renderBundleEncoder)
void(* WGPUProcComputePassEncoderReference)(WGPUComputePassEncoder computePassEncoder)
void(* WGPUProcRenderPassEncoderEndPass)(WGPURenderPassEncoder renderPassEncoder)
size_t(* WGPUProcAdapterEnumerateFeatures)(WGPUAdapter adapter, WGPUFeatureName *features)
struct WGPUTextureImpl * WGPUTexture
Definition mini_webgpu.h:86
WGPU_EXPORT void wgpuQueueOnSubmittedWorkDone(WGPUQueue queue, uint64_t signalValue, WGPUQueueWorkDoneCallback callback, void *userdata)
WGPULoggingType
@ WGPULoggingType_Verbose
@ WGPULoggingType_Info
@ WGPULoggingType_Error
@ WGPULoggingType_Force32
@ WGPULoggingType_Warning
void(* WGPUProcRenderPassEncoderPushDebugGroup)(WGPURenderPassEncoder renderPassEncoder, char const *groupLabel)
WGPU_EXPORT void wgpuComputePassEncoderDispatchIndirect(WGPUComputePassEncoder computePassEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset)
WGPUBlendOperation
@ WGPUBlendOperation_Max
@ WGPUBlendOperation_Subtract
@ WGPUBlendOperation_Min
@ WGPUBlendOperation_Add
@ WGPUBlendOperation_Force32
@ WGPUBlendOperation_ReverseSubtract
void(* WGPUProcRenderBundleEncoderSetPipeline)(WGPURenderBundleEncoder renderBundleEncoder, WGPURenderPipeline pipeline)
WGPUFlags WGPUColorWriteMaskFlags
struct WGPUComputePipelineImpl * WGPUComputePipeline
Definition mini_webgpu.h:71
WGPU_EXPORT void wgpuRenderBundleEncoderSetLabel(WGPURenderBundleEncoder renderBundleEncoder, char const *label)
WGPUExternalTexture(* WGPUProcDeviceCreateErrorExternalTexture)(WGPUDevice device)
WGPU_EXPORT void wgpuComputePassEncoderEndPass(WGPUComputePassEncoder computePassEncoder)
void(* WGPUProcComputePassEncoderDispatchWorkgroups)(WGPUComputePassEncoder computePassEncoder, uint32_t workgroupCountX, uint32_t workgroupCountY, uint32_t workgroupCountZ)
WGPU_EXPORT void wgpuRenderBundleEncoderInsertDebugMarker(WGPURenderBundleEncoder renderBundleEncoder, char const *markerLabel)
void(* WGPUProcRenderPipelineRelease)(WGPURenderPipeline renderPipeline)
WGPU_EXPORT void wgpuBindGroupReference(WGPUBindGroup bindGroup)
void(* WGPUProcQueueOnSubmittedWorkDone)(WGPUQueue queue, uint64_t signalValue, WGPUQueueWorkDoneCallback callback, void *userdata)
WGPU_EXPORT void wgpuTextureViewReference(WGPUTextureView textureView)
WGPUQueueWorkDoneStatus
@ WGPUQueueWorkDoneStatus_Unknown
@ WGPUQueueWorkDoneStatus_Error
@ WGPUQueueWorkDoneStatus_DeviceLost
@ WGPUQueueWorkDoneStatus_Success
@ WGPUQueueWorkDoneStatus_Force32
void(* WGPUProcTextureReference)(WGPUTexture texture)
void(* WGPUProcTextureRelease)(WGPUTexture texture)
void(* WGPUProc)()
WGPUFlags WGPUShaderStageFlags
WGPU_EXPORT void wgpuBindGroupSetLabel(WGPUBindGroup bindGroup, char const *label)
WGPU_EXPORT void wgpuRenderPassEncoderEndPass(WGPURenderPassEncoder renderPassEncoder)
void(* WGPUProcExternalTextureExpire)(WGPUExternalTexture externalTexture)
void(* WGPUProcCommandEncoderResolveQuerySet)(WGPUCommandEncoder commandEncoder, WGPUQuerySet querySet, uint32_t firstQuery, uint32_t queryCount, WGPUBuffer destination, uint64_t destinationOffset)
WGPUFlags WGPUTextureUsageFlags
WGPU_EXPORT void wgpuSamplerSetLabel(WGPUSampler sampler, char const *label)
WGPURenderPassEncoder(* WGPUProcCommandEncoderBeginRenderPass)(WGPUCommandEncoder commandEncoder, WGPURenderPassDescriptor const *descriptor)
WGPU_EXPORT void wgpuShaderModuleReference(WGPUShaderModule shaderModule)
WGPU_EXPORT void wgpuQueueCopyExternalTextureForBrowser(WGPUQueue queue, WGPUImageCopyExternalTexture const *source, WGPUImageCopyTexture const *destination, WGPUExtent3D const *copySize, WGPUCopyTextureForBrowserOptions const *options)
WGPU_EXPORT void wgpuCommandEncoderInjectValidationError(WGPUCommandEncoder commandEncoder, char const *message)
WGPUCommandEncoder(* WGPUProcDeviceCreateCommandEncoder)(WGPUDevice device, WGPUCommandEncoderDescriptor const *descriptor)
WGPU_EXPORT void wgpuRenderBundleEncoderSetVertexBuffer(WGPURenderBundleEncoder renderBundleEncoder, uint32_t slot, WGPUBuffer buffer, uint64_t offset, uint64_t size)
WGPU_EXPORT void wgpuRenderPassEncoderReference(WGPURenderPassEncoder renderPassEncoder)
void(* WGPUProcDeviceRelease)(WGPUDevice device)
WGPU_EXPORT WGPURenderPassEncoder wgpuCommandEncoderBeginRenderPass(WGPUCommandEncoder commandEncoder, WGPURenderPassDescriptor const *descriptor)
void(* WGPUProcQueueCopyExternalTextureForBrowser)(WGPUQueue queue, WGPUImageCopyExternalTexture const *source, WGPUImageCopyTexture const *destination, WGPUExtent3D const *copySize, WGPUCopyTextureForBrowserOptions const *options)
WGPU_EXPORT void wgpuRenderPassEncoderSetBlendConstant(WGPURenderPassEncoder renderPassEncoder, WGPUColor const *color)
WGPU_EXPORT WGPUComputePassEncoder wgpuCommandEncoderBeginComputePass(WGPUCommandEncoder commandEncoder, WGPUComputePassDescriptor const *descriptor)
WGPU_EXPORT WGPUDevice wgpuAdapterCreateDevice(WGPUAdapter adapter, WGPUDeviceDescriptor const *descriptor)
WGPU_EXPORT WGPUTextureView wgpuTextureCreateView(WGPUTexture texture, WGPUTextureViewDescriptor const *descriptor)
WGPU_EXPORT void wgpuComputePassEncoderInsertDebugMarker(WGPUComputePassEncoder computePassEncoder, char const *markerLabel)
WGPUBindGroupLayout(* WGPUProcComputePipelineGetBindGroupLayout)(WGPUComputePipeline computePipeline, uint32_t groupIndex)
void(* WGPUProcComputePassEncoderSetPipeline)(WGPUComputePassEncoder computePassEncoder, WGPUComputePipeline pipeline)
struct WGPUSwapChainImpl * WGPUSwapChain
Definition mini_webgpu.h:85
void(* WGPUProcComputePassEncoderRelease)(WGPUComputePassEncoder computePassEncoder)
WGPU_EXPORT bool wgpuAdapterGetLimits(WGPUAdapter adapter, WGPUSupportedLimits *limits)
WGPU_EXPORT void wgpuCommandEncoderWriteTimestamp(WGPUCommandEncoder commandEncoder, WGPUQuerySet querySet, uint32_t queryIndex)
WGPUVertexStepMode
@ WGPUVertexStepMode_VertexBufferNotUsed
@ WGPUVertexStepMode_Instance
@ WGPUVertexStepMode_Vertex
@ WGPUVertexStepMode_Force32
void(* WGPUProcCommandBufferRelease)(WGPUCommandBuffer commandBuffer)
WGPU_EXPORT WGPUCommandEncoder wgpuDeviceCreateCommandEncoder(WGPUDevice device, WGPUCommandEncoderDescriptor const *descriptor)
WGPU_EXPORT void wgpuRenderPassEncoderEndOcclusionQuery(WGPURenderPassEncoder renderPassEncoder)
WGPUQueryType
@ WGPUQueryType_Occlusion
@ WGPUQueryType_Timestamp
@ WGPUQueryType_PipelineStatistics
@ WGPUQueryType_Force32
struct WGPURenderPipelineImpl * WGPURenderPipeline
Definition mini_webgpu.h:81
WGPURenderPipeline(* WGPUProcDeviceCreateRenderPipeline)(WGPUDevice device, WGPURenderPipelineDescriptor const *descriptor)
WGPU_EXPORT void wgpuSwapChainRelease(WGPUSwapChain swapChain)
WGPU_EXPORT WGPUShaderModule wgpuDeviceCreateShaderModule(WGPUDevice device, WGPUShaderModuleDescriptor const *descriptor)
WGPU_EXPORT WGPUInstance wgpuCreateInstance(WGPUInstanceDescriptor const *descriptor)
void(* WGPUBufferMapCallback)(WGPUBufferMapAsyncStatus status, void *userdata)
WGPU_EXPORT void wgpuCommandEncoderCopyTextureToTextureInternal(WGPUCommandEncoder commandEncoder, WGPUImageCopyTexture const *source, WGPUImageCopyTexture const *destination, WGPUExtent3D const *copySize)
void(* WGPUProcTextureViewRelease)(WGPUTextureView textureView)
void(* WGPUProcCommandEncoderCopyTextureToTextureInternal)(WGPUCommandEncoder commandEncoder, WGPUImageCopyTexture const *source, WGPUImageCopyTexture const *destination, WGPUExtent3D const *copySize)
void(* WGPUCreateRenderPipelineAsyncCallback)(WGPUCreatePipelineAsyncStatus status, WGPURenderPipeline pipeline, char const *message, void *userdata)
WGPUFlags WGPUBufferUsageFlags
WGPUComputePassTimestampLocation
@ WGPUComputePassTimestampLocation_End
@ WGPUComputePassTimestampLocation_Force32
@ WGPUComputePassTimestampLocation_Beginning
WGPU_EXPORT void wgpuRenderPassEncoderPopDebugGroup(WGPURenderPassEncoder renderPassEncoder)
WGPU_EXPORT void wgpuInstanceRequestAdapter(WGPUInstance instance, WGPURequestAdapterOptions const *options, WGPURequestAdapterCallback callback, void *userdata)
void(* WGPUProcComputePipelineReference)(WGPUComputePipeline computePipeline)
WGPUAdapterType
Definition mini_webgpu.h:89
@ WGPUAdapterType_CPU
Definition mini_webgpu.h:92
@ WGPUAdapterType_DiscreteGPU
Definition mini_webgpu.h:90
@ WGPUAdapterType_IntegratedGPU
Definition mini_webgpu.h:91
@ WGPUAdapterType_Unknown
Definition mini_webgpu.h:93
@ WGPUAdapterType_Force32
Definition mini_webgpu.h:94
WGPU_EXPORT void wgpuComputePassEncoderDispatch(WGPUComputePassEncoder computePassEncoder, uint32_t workgroupCountX, uint32_t workgroupCountY, uint32_t workgroupCountZ)
WGPU_EXPORT uint32_t wgpuTextureGetSampleCount(WGPUTexture texture)
WGPU_EXPORT void wgpuCommandEncoderClearBuffer(WGPUCommandEncoder commandEncoder, WGPUBuffer buffer, uint64_t offset, uint64_t size)
void(* WGPUProcDeviceValidateTextureDescriptor)(WGPUDevice device, WGPUTextureDescriptor const *descriptor)
void(* WGPUProcRenderPassEncoderRelease)(WGPURenderPassEncoder renderPassEncoder)
void(* WGPUProcDeviceSetLabel)(WGPUDevice device, char const *label)
void(* WGPUProcSamplerSetLabel)(WGPUSampler sampler, char const *label)
void(* WGPUProcExternalTextureRefresh)(WGPUExternalTexture externalTexture)
void(* WGPUProcBindGroupRelease)(WGPUBindGroup bindGroup)
WGPU_EXPORT WGPUBindGroupLayout wgpuDeviceCreateBindGroupLayout(WGPUDevice device, WGPUBindGroupLayoutDescriptor const *descriptor)
void(* WGPUCompilationInfoCallback)(WGPUCompilationInfoRequestStatus status, WGPUCompilationInfo const *compilationInfo, void *userdata)
void(* WGPUProcExternalTextureDestroy)(WGPUExternalTexture externalTexture)
WGPU_EXPORT void wgpuSamplerReference(WGPUSampler sampler)
void(* WGPUProcBufferSetLabel)(WGPUBuffer buffer, char const *label)
WGPUCompilationInfoRequestStatus
@ WGPUCompilationInfoRequestStatus_Force32
@ WGPUCompilationInfoRequestStatus_Success
@ WGPUCompilationInfoRequestStatus_Error
@ WGPUCompilationInfoRequestStatus_DeviceLost
@ WGPUCompilationInfoRequestStatus_Unknown
WGPU_EXPORT void wgpuBindGroupRelease(WGPUBindGroup bindGroup)
void(* WGPUProcDeviceCreateRenderPipelineAsync)(WGPUDevice device, WGPURenderPipelineDescriptor const *descriptor, WGPUCreateRenderPipelineAsyncCallback callback, void *userdata)
WGPU_EXPORT WGPUExternalTexture wgpuDeviceCreateErrorExternalTexture(WGPUDevice device)
void(* WGPUProcComputePassEncoderEnd)(WGPUComputePassEncoder computePassEncoder)
WGPUQueryType(* WGPUProcQuerySetGetType)(WGPUQuerySet querySet)
WGPU_EXPORT void wgpuDeviceForceLoss(WGPUDevice device, WGPUDeviceLostReason type, char const *message)
WGPU_EXPORT bool wgpuDeviceGetLimits(WGPUDevice device, WGPUSupportedLimits *limits)
WGPU_EXPORT void wgpuTextureViewSetLabel(WGPUTextureView textureView, char const *label)
void(* WGPUProcShaderModuleRelease)(WGPUShaderModule shaderModule)
void(* WGPUProcDeviceReference)(WGPUDevice device)
void(* WGPUProcRenderPassEncoderPopDebugGroup)(WGPURenderPassEncoder renderPassEncoder)
WGPU_EXPORT void wgpuBufferRelease(WGPUBuffer buffer)
void(* WGPUCreateComputePipelineAsyncCallback)(WGPUCreatePipelineAsyncStatus status, WGPUComputePipeline pipeline, char const *message, void *userdata)
WGPUExternalTextureRotation
@ WGPUExternalTextureRotation_Rotate180Degrees
@ WGPUExternalTextureRotation_Force32
@ WGPUExternalTextureRotation_Rotate270Degrees
@ WGPUExternalTextureRotation_Rotate0Degrees
@ WGPUExternalTextureRotation_Rotate90Degrees
WGPU_EXPORT void wgpuRenderPassEncoderSetVertexBuffer(WGPURenderPassEncoder renderPassEncoder, uint32_t slot, WGPUBuffer buffer, uint64_t offset, uint64_t size)
void(* WGPUProcCommandEncoderClearBuffer)(WGPUCommandEncoder commandEncoder, WGPUBuffer buffer, uint64_t offset, uint64_t size)
WGPU_EXPORT void wgpuComputePipelineSetLabel(WGPUComputePipeline computePipeline, char const *label)
void(* WGPUProcRenderPassEncoderSetLabel)(WGPURenderPassEncoder renderPassEncoder, char const *label)
WGPU_EXPORT void wgpuRenderPipelineSetLabel(WGPURenderPipeline renderPipeline, char const *label)
WGPU_EXPORT void wgpuDeviceValidateTextureDescriptor(WGPUDevice device, WGPUTextureDescriptor const *descriptor)
WGPU_EXPORT void wgpuComputePassEncoderPushDebugGroup(WGPUComputePassEncoder computePassEncoder, char const *groupLabel)
WGPU_EXPORT void wgpuQueueReference(WGPUQueue queue)
void(* WGPUProcQueueWriteBuffer)(WGPUQueue queue, WGPUBuffer buffer, uint64_t bufferOffset, void const *data, size_t size)
WGPU_EXPORT void wgpuSurfaceRelease(WGPUSurface surface)
WGPU_EXPORT void wgpuBufferReference(WGPUBuffer buffer)
void(* WGPUProcShaderModuleSetLabel)(WGPUShaderModule shaderModule, char const *label)
WGPU_EXPORT void wgpuQueueWriteTexture(WGPUQueue queue, WGPUImageCopyTexture const *destination, void const *data, size_t dataSize, WGPUTextureDataLayout const *dataLayout, WGPUExtent3D const *writeSize)
WGPUTextureView(* WGPUProcSwapChainGetCurrentTextureView)(WGPUSwapChain swapChain)
WGPU_EXPORT WGPUBindGroupLayout wgpuRenderPipelineGetBindGroupLayout(WGPURenderPipeline renderPipeline, uint32_t groupIndex)
WGPUBufferMapAsyncStatus
@ WGPUBufferMapAsyncStatus_DestroyedBeforeCallback
@ WGPUBufferMapAsyncStatus_Error
@ WGPUBufferMapAsyncStatus_Success
@ WGPUBufferMapAsyncStatus_UnmappedBeforeCallback
@ WGPUBufferMapAsyncStatus_Force32
@ WGPUBufferMapAsyncStatus_DeviceLost
@ WGPUBufferMapAsyncStatus_Unknown
void(* WGPUProcRenderBundleEncoderRelease)(WGPURenderBundleEncoder renderBundleEncoder)
WGPU_EXPORT void wgpuSwapChainPresent(WGPUSwapChain swapChain)
WGPU_EXPORT void wgpuComputePipelineReference(WGPUComputePipeline computePipeline)
WGPU_EXPORT WGPUAdapter wgpuDeviceGetAdapter(WGPUDevice device)
void(* WGPUProcRenderBundleEncoderDrawIndexedIndirect)(WGPURenderBundleEncoder renderBundleEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset)
WGPU_EXPORT void wgpuPipelineLayoutRelease(WGPUPipelineLayout pipelineLayout)
struct WGPUAdapterImpl * WGPUAdapter
Definition mini_webgpu.h:64
void(* WGPUProcCommandEncoderCopyBufferToTexture)(WGPUCommandEncoder commandEncoder, WGPUImageCopyBuffer const *source, WGPUImageCopyTexture const *destination, WGPUExtent3D const *copySize)
WGPUCommandBuffer(* WGPUProcCommandEncoderFinish)(WGPUCommandEncoder commandEncoder, WGPUCommandBufferDescriptor const *descriptor)
WGPU_EXPORT void wgpuPipelineLayoutSetLabel(WGPUPipelineLayout pipelineLayout, char const *label)
WGPU_EXPORT void wgpuCommandEncoderResolveQuerySet(WGPUCommandEncoder commandEncoder, WGPUQuerySet querySet, uint32_t firstQuery, uint32_t queryCount, WGPUBuffer destination, uint64_t destinationOffset)
void(* WGPUProcInstanceRequestAdapter)(WGPUInstance instance, WGPURequestAdapterOptions const *options, WGPURequestAdapterCallback callback, void *userdata)
void(* WGPUProcRenderPassEncoderInsertDebugMarker)(WGPURenderPassEncoder renderPassEncoder, char const *markerLabel)
WGPU_EXPORT WGPUTextureUsage wgpuTextureGetUsage(WGPUTexture texture)
void(* WGPUProcRenderPassEncoderSetVertexBuffer)(WGPURenderPassEncoder renderPassEncoder, uint32_t slot, WGPUBuffer buffer, uint64_t offset, uint64_t size)
WGPU_EXPORT void wgpuRenderPassEncoderRelease(WGPURenderPassEncoder renderPassEncoder)
WGPU_EXPORT void wgpuShaderModuleSetLabel(WGPUShaderModule shaderModule, char const *label)
WGPU_EXPORT void wgpuRenderBundleEncoderDrawIndexedIndirect(WGPURenderBundleEncoder renderBundleEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset)
void(* WGPUProcShaderModuleReference)(WGPUShaderModule shaderModule)
WGPU_EXPORT void wgpuCommandEncoderReference(WGPUCommandEncoder commandEncoder)
WGPUFrontFace
@ WGPUFrontFace_CW
@ WGPUFrontFace_CCW
@ WGPUFrontFace_Force32
WGPUBufferUsage(* WGPUProcBufferGetUsage)(WGPUBuffer buffer)
void(* WGPUProcRenderPassEncoderEnd)(WGPURenderPassEncoder renderPassEncoder)
void(* WGPUProcComputePipelineSetLabel)(WGPUComputePipeline computePipeline, char const *label)
WGPU_EXPORT void wgpuRenderPassEncoderBeginOcclusionQuery(WGPURenderPassEncoder renderPassEncoder, uint32_t queryIndex)
WGPU_EXPORT void wgpuCommandEncoderSetLabel(WGPUCommandEncoder commandEncoder, char const *label)
WGPU_EXPORT WGPUPipelineLayout wgpuDeviceCreatePipelineLayout(WGPUDevice device, WGPUPipelineLayoutDescriptor const *descriptor)
WGPUStoreOp
@ WGPUStoreOp_Discard
@ WGPUStoreOp_Force32
@ WGPUStoreOp_Store
@ WGPUStoreOp_Undefined
WGPUErrorFilter
@ WGPUErrorFilter_Internal
@ WGPUErrorFilter_Force32
@ WGPUErrorFilter_OutOfMemory
@ WGPUErrorFilter_Validation
WGPU_EXPORT void wgpuSamplerRelease(WGPUSampler sampler)
void(* WGPUProcQuerySetSetLabel)(WGPUQuerySet querySet, char const *label)
uint32_t(* WGPUProcTextureGetHeight)(WGPUTexture texture)
WGPU_EXPORT void wgpuDevicePushErrorScope(WGPUDevice device, WGPUErrorFilter filter)
uint32_t WGPUFlags
Definition mini_webgpu.h:62
uint64_t(* WGPUProcBufferGetSize)(WGPUBuffer buffer)
WGPU_EXPORT void wgpuRenderBundleEncoderDrawIndirect(WGPURenderBundleEncoder renderBundleEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset)
size_t(* WGPUProcDeviceEnumerateFeatures)(WGPUDevice device, WGPUFeatureName *features)
struct WGPUBufferImpl * WGPUBuffer
Definition mini_webgpu.h:67
WGPU_EXPORT void wgpuDeviceTick(WGPUDevice device)
void(* WGPUProcComputePassEncoderEndPass)(WGPUComputePassEncoder computePassEncoder)
void(* WGPUProcDevicePushErrorScope)(WGPUDevice device, WGPUErrorFilter filter)
WGPU_EXPORT void wgpuRenderBundleEncoderRelease(WGPURenderBundleEncoder renderBundleEncoder)
void(* WGPUProcBindGroupLayoutRelease)(WGPUBindGroupLayout bindGroupLayout)
WGPU_EXPORT WGPUBufferUsage wgpuBufferGetUsage(WGPUBuffer buffer)
WGPU_EXPORT WGPURenderBundle wgpuRenderBundleEncoderFinish(WGPURenderBundleEncoder renderBundleEncoder, WGPURenderBundleDescriptor const *descriptor)
WGPU_EXPORT bool wgpuDeviceHasFeature(WGPUDevice device, WGPUFeatureName feature)
void(* WGPUProcRenderPassEncoderReference)(WGPURenderPassEncoder renderPassEncoder)
WGPU_EXPORT void wgpuBindGroupLayoutSetLabel(WGPUBindGroupLayout bindGroupLayout, char const *label)
WGPUTextureView(* WGPUProcTextureCreateView)(WGPUTexture texture, WGPUTextureViewDescriptor const *descriptor)
void(* WGPUProcBufferDestroy)(WGPUBuffer buffer)
WGPU_EXPORT void wgpuDeviceSetLabel(WGPUDevice device, char const *label)
void(* WGPUProcRenderBundleEncoderDrawIndirect)(WGPURenderBundleEncoder renderBundleEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset)
WGPUTextureSampleType
@ WGPUTextureSampleType_Float
@ WGPUTextureSampleType_Sint
@ WGPUTextureSampleType_Undefined
@ WGPUTextureSampleType_Force32
@ WGPUTextureSampleType_Uint
@ WGPUTextureSampleType_Depth
@ WGPUTextureSampleType_UnfilterableFloat
WGPU_EXPORT void wgpuCommandEncoderCopyTextureToBuffer(WGPUCommandEncoder commandEncoder, WGPUImageCopyTexture const *source, WGPUImageCopyBuffer const *destination, WGPUExtent3D const *copySize)
WGPUFlags WGPUMapModeFlags
void(* WGPUProcDeviceForceLoss)(WGPUDevice device, WGPUDeviceLostReason type, char const *message)
void(* WGPUProcAdapterRequestDevice)(WGPUAdapter adapter, WGPUDeviceDescriptor const *descriptor, WGPURequestDeviceCallback callback, void *userdata)
WGPU_EXPORT void wgpuExternalTextureExpire(WGPUExternalTexture externalTexture)
WGPU_EXPORT void wgpuExternalTextureSetLabel(WGPUExternalTexture externalTexture, char const *label)
WGPU_EXPORT void wgpuBufferMapAsync(WGPUBuffer buffer, WGPUMapModeFlags mode, size_t offset, size_t size, WGPUBufferMapCallback callback, void *userdata)
void(* WGPUProcComputePassEncoderSetBindGroup)(WGPUComputePassEncoder computePassEncoder, uint32_t groupIndex, WGPUBindGroup group, uint32_t dynamicOffsetCount, uint32_t const *dynamicOffsets)
WGPUColorWriteMask
@ WGPUColorWriteMask_Red
@ WGPUColorWriteMask_Green
@ WGPUColorWriteMask_None
@ WGPUColorWriteMask_Force32
@ WGPUColorWriteMask_All
@ WGPUColorWriteMask_Blue
@ WGPUColorWriteMask_Alpha
void(* WGPUProcSamplerRelease)(WGPUSampler sampler)
WGPU_EXPORT void wgpuComputePassEncoderDispatchWorkgroups(WGPUComputePassEncoder computePassEncoder, uint32_t workgroupCountX, uint32_t workgroupCountY, uint32_t workgroupCountZ)
WGPUErrorType
@ WGPUErrorType_NoError
@ WGPUErrorType_DeviceLost
@ WGPUErrorType_OutOfMemory
@ WGPUErrorType_Unknown
@ WGPUErrorType_Validation
@ WGPUErrorType_Force32
@ WGPUErrorType_Internal
WGPU_EXPORT void wgpuRenderPipelineRelease(WGPURenderPipeline renderPipeline)
WGPUDevice(* WGPUProcAdapterCreateDevice)(WGPUAdapter adapter, WGPUDeviceDescriptor const *descriptor)
unsigned __INT64_TYPE__ uint64_t
signed __INT32_TYPE__ int32_t
unsigned __INT8_TYPE__ uint8_t
unsigned __INT16_TYPE__ uint16_t
__SIZE_TYPE__ size_t
unsigned __INT32_TYPE__ uint32_t
WGPUBackendType backendType
WGPUChainedStructOut * nextInChain
char const * driverDescription
char const * architecture
char const * vendorName
WGPUAdapterType adapterType
WGPUChainedStruct const * nextInChain
WGPUBindGroupLayout layout
WGPUBindGroupEntry const * entries
uint64_t offset
WGPUBuffer buffer
WGPUSampler sampler
uint64_t size
WGPUTextureView textureView
WGPUChainedStruct const * nextInChain
uint32_t binding
WGPUBindGroupLayoutEntry const * entries
WGPUChainedStruct const * nextInChain
WGPUTextureBindingLayout texture
WGPUBufferBindingLayout buffer
uint32_t binding
WGPUShaderStageFlags visibility
WGPUChainedStruct const * nextInChain
WGPUStorageTextureBindingLayout storageTexture
WGPUSamplerBindingLayout sampler
WGPUBlendFactor dstFactor
WGPUBlendFactor srcFactor
WGPUBlendOperation operation
WGPUBlendComponent alpha
WGPUBlendComponent color
WGPUChainedStruct const * nextInChain
WGPUBufferBindingType type
WGPUChainedStruct const * nextInChain
WGPUBufferUsageFlags usage
struct WGPUChainedStruct const * next
struct WGPUChainedStructOut * next
WGPUBlendState const * blend
WGPUColorWriteMaskFlags writeMask
WGPUTextureFormat format
WGPUChainedStruct const * nextInChain
WGPUChainedStruct const * nextInChain
WGPUChainedStruct const * nextInChain
WGPUChainedStruct const * nextInChain
WGPUCompilationMessage const * messages
WGPUChainedStruct const * nextInChain
WGPUCompilationMessageType type
WGPUComputePassTimestampWrite const * timestampWrites
WGPUChainedStruct const * nextInChain
WGPUComputePassTimestampLocation location
WGPUProgrammableStageDescriptor compute
WGPUChainedStruct const * nextInChain
double value
char const * key
WGPUChainedStruct const * nextInChain
float const * srcTransferFunctionParameters
float const * dstTransferFunctionParameters
WGPUChainedStruct const * nextInChain
const char *const * additionalRuntimeSearchPaths
uint32_t additionalRuntimeSearchPathsCount
WGPUChainedStruct chain
const char *const * enabledToggles
WGPUChainedStruct chain
const char *const * disabledToggles
const char *const * forceEnabledToggles
const char *const * forceDisabledToggles
WGPUStencilFaceState stencilFront
WGPUChainedStruct const * nextInChain
WGPUStencilFaceState stencilBack
WGPUCompareFunction depthCompare
WGPUTextureFormat format
uint32_t requiredFeaturesCount
WGPUChainedStruct const * nextInChain
WGPUFeatureName const * requiredFeatures
WGPUQueueDescriptor defaultQueue
WGPURequiredLimits const * requiredLimits
uint32_t width
uint32_t height
uint32_t width
uint32_t depthOrArrayLayers
uint32_t height
WGPUChainedStruct chain
WGPUExternalTexture externalTexture
float const * dstTransferFunctionParameters
float const * yuvToRgbConversionMatrix
float const * srcTransferFunctionParameters
WGPUExternalTextureRotation rotation
WGPUChainedStruct const * nextInChain
WGPUShaderModule char const * entryPoint
WGPUChainedStruct const * nextInChain
WGPUConstantEntry const * constants
WGPUColorTargetState const * targets
WGPUChainedStruct const * nextInChain
WGPUTextureDataLayout layout
WGPUExternalTexture externalTexture
WGPUChainedStruct const * nextInChain
WGPUChainedStruct const * nextInChain
WGPUTextureAspect aspect
WGPUChainedStruct const * nextInChain
uint32_t maxColorAttachmentBytesPerSample
uint32_t maxTextureDimension2D
uint32_t maxSampledTexturesPerShaderStage
uint32_t maxTextureDimension3D
uint32_t maxSamplersPerShaderStage
uint32_t maxBindingsPerBindGroup
uint32_t maxComputeWorkgroupsPerDimension
uint32_t maxDynamicStorageBuffersPerPipelineLayout
uint32_t maxInterStageShaderComponents
uint32_t maxComputeWorkgroupStorageSize
uint32_t minStorageBufferOffsetAlignment
uint32_t maxComputeWorkgroupSizeY
uint64_t maxStorageBufferBindingSize
uint32_t maxComputeInvocationsPerWorkgroup
uint32_t maxVertexBufferArrayStride
uint32_t minUniformBufferOffsetAlignment
uint32_t maxVertexAttributes
uint32_t maxColorAttachments
uint32_t maxInterStageShaderVariables
uint32_t maxComputeWorkgroupSizeZ
uint32_t maxTextureDimension1D
uint32_t maxDynamicUniformBuffersPerPipelineLayout
uint64_t maxUniformBufferBindingSize
uint64_t maxBufferSize
uint32_t maxUniformBuffersPerShaderStage
uint32_t maxComputeWorkgroupSizeX
uint32_t maxVertexBuffers
uint32_t maxTextureArrayLayers
uint32_t maxStorageTexturesPerShaderStage
uint32_t maxStorageBuffersPerShaderStage
uint32_t maxBindGroups
uint32_t maxFragmentCombinedOutputResources
WGPUChainedStruct const * nextInChain
WGPUChainedStruct const * nextInChain
WGPUBindGroupLayout const * bindGroupLayouts
WGPUFrontFace frontFace
WGPUIndexFormat stripIndexFormat
WGPUChainedStruct const * nextInChain
WGPUPrimitiveTopology topology
WGPUCullMode cullMode
WGPUConstantEntry const * constants
WGPUChainedStruct const * nextInChain
WGPUShaderModule char const * entryPoint
WGPUChainedStruct const * nextInChain
WGPUPipelineStatisticName const * pipelineStatistics
uint32_t pipelineStatisticsCount
char const * label
WGPUChainedStruct const * nextInChain
WGPUChainedStruct const * nextInChain
WGPUChainedStruct const * nextInChain
WGPUTextureFormat const * colorFormats
WGPUTextureFormat depthStencilFormat
WGPURenderPassDepthStencilAttachment const * depthStencilAttachment
WGPUChainedStruct const * nextInChain
WGPURenderPassColorAttachment const * colorAttachments
WGPUQuerySet occlusionQuerySet
WGPURenderPassTimestampWrite const * timestampWrites
WGPURenderPassTimestampLocation location
WGPUDepthStencilState const * depthStencil
WGPUMultisampleState multisample
WGPUFragmentState const * fragment
WGPUChainedStruct const * nextInChain
WGPUPrimitiveState primitive
WGPUPipelineLayout layout
WGPUChainedStruct const * nextInChain
WGPUPowerPreference powerPreference
WGPUChainedStruct const * nextInChain
WGPUChainedStruct const * nextInChain
WGPUSamplerBindingType type
WGPUFilterMode minFilter
WGPUAddressMode addressModeU
WGPUCompareFunction compare
WGPUAddressMode addressModeW
WGPUAddressMode addressModeV
WGPUChainedStruct const * nextInChain
WGPUFilterMode mipmapFilter
WGPUFilterMode magFilter
WGPUChainedStruct const * nextInChain
WGPUCompareFunction compare
WGPUStencilOperation depthFailOp
WGPUStencilOperation passOp
WGPUStencilOperation failOp
WGPUChainedStruct const * nextInChain
WGPUTextureViewDimension viewDimension
WGPUStorageTextureAccess access
WGPUChainedStructOut * nextInChain
WGPUChainedStruct const * nextInChain
WGPUTextureFormat format
WGPUChainedStruct const * nextInChain
WGPUPresentMode presentMode
WGPUTextureUsageFlags usage
WGPUTextureViewDimension viewDimension
WGPUChainedStruct const * nextInChain
WGPUTextureSampleType sampleType
WGPUChainedStruct const * nextInChain
WGPUChainedStruct const * nextInChain
WGPUTextureFormat const * viewFormats
WGPUTextureDimension dimension
WGPUTextureFormat format
WGPUTextureUsageFlags usage
WGPUChainedStruct const * nextInChain
WGPUTextureFormat format
WGPUTextureViewDimension dimension
WGPUTextureAspect aspect
WGPUVertexFormat format
WGPUVertexAttribute const * attributes
WGPUVertexStepMode stepMode
WGPUVertexBufferLayout const * buffers
WGPUShaderModule char const * entryPoint
WGPUChainedStruct const * nextInChain
WGPUConstantEntry const * constants
uint32_t bufferCount
uint32_t constantCount