diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c3ada8b28b..5e4d5dafeb 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -72,6 +72,9 @@ jobs: sudo apt update -y || true sudo apt install -y --no-install-recommends git g++ cmake ninja-build llvm-15-dev zlib1g-dev libglew-dev \ flex bison libfl-dev libboost-thread-dev libboost-filesystem-dev nvidia-cuda-toolkit-gcc libzstd-dev + - name: Install packages (webgpu) + run: | + sudo curl -L https://github.com/wpmed92/pydawn/releases/download/v0.1.6/libwebgpu_dawn.so -o /usr/local/lib/libwebgpu_dawn.so - name: Install packages (amd) run: | echo 'Acquire::http::Pipeline-Depth "5";' | sudo tee -a /etc/apt/apt.conf.d/99parallel @@ -132,6 +135,11 @@ jobs: ./autogen_stubs.sh io_uring diff /tmp/libc.py.bak tinygrad/runtime/autogen/libc.py diff /tmp/io_uring.py.bak tinygrad/runtime/autogen/io_uring.py + - name: Verify WebGPU autogen + run: | + cp tinygrad/runtime/autogen/webgpu.py /tmp/webgpu.py.bak + ./autogen_stubs.sh webgpu + diff /tmp/webgpu.py.bak tinygrad/runtime/autogen/webgpu.py - name: Verify LLVM autogen run: | cp tinygrad/runtime/autogen/llvm.py /tmp/llvm.py.bak @@ -401,7 +409,10 @@ jobs: path: ~/.local/lib/python3.11/site-packages key: webgpu-testing-user3-packages-${{ hashFiles('**/setup.py') }} - name: Install Dependencies - run: pip install --user -e '.[webgpu,testing]' --extra-index-url https://download.pytorch.org/whl/cpu + run: pip install --user -e '.[testing]' --extra-index-url https://download.pytorch.org/whl/cpu + - name: Install dawn (WebGPU) + run: | + sudo curl -L https://github.com/wpmed92/pydawn/releases/download/v0.1.6/libwebgpu_dawn.so -o /usr/lib/libwebgpu_dawn.so - name: Install dependencies for software-based vulkan run: | sudo apt update -y || true @@ -417,7 +428,7 @@ jobs: WEBGPU=1 DEBUG=4 FORWARD_ONLY=1 python3 test/test_ops.py TestOps.test_add - name: Run selected webgpu tests run: | - WEBGPU=1 WGPU_BACKEND_TYPE=Vulkan python3 -m pytest -n=auto test/ --ignore=test/external --ignore=test/models --ignore=test/unit \ + WEBGPU=1 python3 -m pytest -n=auto test/ --ignore=test/external --ignore=test/models --ignore=test/unit \ --ignore=test/test_copy_speed.py --ignore=test/test_rearrange_einops.py --ignore=test/test_speed_v_torch.py --ignore=test/test_transcendental.py \ --ignore=test/test_fuzz_shape_ops.py --ignore=test/test_linearizer_failures.py --durations=20 - name: Run process replay tests @@ -447,6 +458,10 @@ jobs: key: metal-m1-testing-user3-packages-${{ hashFiles('**/setup.py') }} - name: Install Dependencies run: pip install --user -e '.[webgpu,testing]' --extra-index-url https://download.pytorch.org/whl/cpu + - name: Install dawn (WebGPU) + run: | + sudo mkdir -p /usr/local/lib + sudo curl -L https://github.com/wpmed92/pydawn/releases/download/v0.1.6/libwebgpu_dawn.dylib -o /usr/local/lib/libwebgpu_dawn.dylib - name: Cache downloads uses: actions/cache@v4 with: @@ -478,7 +493,7 @@ jobs: run: TRANSCENDENTAL=2 python -m pytest -n=auto test/test_ops.py::TestOps::test_sin test/test_ops.py::TestOps::test_cos test/test_ops.py::TestOps::test_tan test/test_ops.py::TestOps::test_exp test/test_ops.py::TestOps::test_log --durations=20 # WebGPU e2e tests - name: Build WEBGPU Efficientnet - run: WEBGPU=1 WGPU_BACKEND_TYPE=Metal python3 -m examples.compile_efficientnet + run: WEBGPU=1 python3 -m examples.compile_efficientnet - name: Clean npm cache run: npm cache clean --force - name: Install Puppeteer diff --git a/autogen_stubs.sh b/autogen_stubs.sh index 50e56b448c..076d351e03 100755 --- a/autogen_stubs.sh +++ b/autogen_stubs.sh @@ -357,6 +357,14 @@ generate_am() { fixup $BASE/am/smu_v13_0_0.py } +generate_webgpu() { + clang2py -l /usr/local/lib/libwebgpu_dawn.so extra/webgpu/webgpu.h -o $BASE/webgpu.py + fixup $BASE/webgpu.py + sed -i 's/import ctypes/import ctypes, ctypes.util/g' $BASE/webgpu.py + sed -i "s|ctypes.CDLL('/usr/local/lib/libwebgpu_dawn.so')|ctypes.CDLL(ctypes.util.find_library('webgpu_dawn'))|g" $BASE/webgpu.py + python3 -c "import tinygrad.runtime.autogen.webgpu" +} + if [ "$1" == "opencl" ]; then generate_opencl elif [ "$1" == "hip" ]; then generate_hip elif [ "$1" == "comgr" ]; then generate_comgr @@ -375,6 +383,7 @@ elif [ "$1" == "kgsl" ]; then generate_kgsl elif [ "$1" == "adreno" ]; then generate_adreno elif [ "$1" == "pci" ]; then generate_pciaccess elif [ "$1" == "vfio" ]; then generate_vfio -elif [ "$1" == "all" ]; then generate_opencl; generate_hip; generate_comgr; generate_cuda; generate_nvrtc; generate_hsa; generate_kfd; generate_nv; generate_amd; generate_io_uring; generate_libc; generate_am +elif [ "$1" == "webgpu" ]; then generate_webgpu +elif [ "$1" == "all" ]; then generate_opencl; generate_hip; generate_comgr; generate_cuda; generate_nvrtc; generate_hsa; generate_kfd; generate_nv; generate_amd; generate_io_uring; generate_libc; generate_am; generate_webgpu else echo "usage: $0 " fi diff --git a/docs/runtime.md b/docs/runtime.md index 190dbb6cfe..93ee07c46f 100644 --- a/docs/runtime.md +++ b/docs/runtime.md @@ -12,3 +12,4 @@ tinygrad supports various runtimes, enabling your code to scale across a wide ra | [GPU (OpenCL)](https://github.com/tinygrad/tinygrad/tree/master/tinygrad/runtime/ops_gpu.py) | Accelerates computations using OpenCL on GPUs | OpenCL 2.0 compatible device | | [CLANG (C Code)](https://github.com/tinygrad/tinygrad/tree/master/tinygrad/runtime/ops_clang.py) | Runs on CPU using the clang compiler | `clang` compiler in system `PATH` | | [LLVM (LLVM IR)](https://github.com/tinygrad/tinygrad/tree/master/tinygrad/runtime/ops_llvm.py) | Runs on CPU using the LLVM compiler infrastructure | llvm libraries installed and findable | +| [WEBGPU](https://github.com/tinygrad/tinygrad/tree/master/tinygrad/runtime/ops_webgpu.py) | Runs on GPU using the Dawn WebGPU engine (used in Google Chrome) | Dawn library installed and findable. Download binaries [here](https://github.com/wpmed92/pydawn/releases/tag/v0.1.6). | diff --git a/extra/webgpu/webgpu.h b/extra/webgpu/webgpu.h new file mode 100644 index 0000000000..0614d45d31 --- /dev/null +++ b/extra/webgpu/webgpu.h @@ -0,0 +1,4265 @@ +// BSD 3-Clause License +// +// Copyright (c) 2019, "WebGPU native" developers +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// 3. Neither the name of the copyright holder nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifdef __EMSCRIPTEN__ +#error "Do not include this header. Emscripten already provides headers needed for WebGPU." +#endif + +#ifndef WEBGPU_H_ +#define WEBGPU_H_ + +#define WGPU_BREAKING_CHANGE_STRING_VIEW_LABELS +#define WGPU_BREAKING_CHANGE_STRING_VIEW_OUTPUT_STRUCTS +#define WGPU_BREAKING_CHANGE_STRING_VIEW_CALLBACKS + +#if defined(WGPU_SHARED_LIBRARY) +# if defined(_WIN32) +# if defined(WGPU_IMPLEMENTATION) +# define WGPU_EXPORT __declspec(dllexport) +# else +# define WGPU_EXPORT __declspec(dllimport) +# endif +# else // defined(_WIN32) +# if defined(WGPU_IMPLEMENTATION) +# define WGPU_EXPORT __attribute__((visibility("default"))) +# else +# define WGPU_EXPORT +# endif +# endif // defined(_WIN32) +#else // defined(WGPU_SHARED_LIBRARY) +# define WGPU_EXPORT +#endif // defined(WGPU_SHARED_LIBRARY) + +#if !defined(WGPU_OBJECT_ATTRIBUTE) +#define WGPU_OBJECT_ATTRIBUTE +#endif +#if !defined(WGPU_ENUM_ATTRIBUTE) +#define WGPU_ENUM_ATTRIBUTE +#endif +#if !defined(WGPU_STRUCTURE_ATTRIBUTE) +#define WGPU_STRUCTURE_ATTRIBUTE +#endif +#if !defined(WGPU_FUNCTION_ATTRIBUTE) +#define WGPU_FUNCTION_ATTRIBUTE +#endif +#if !defined(WGPU_NULLABLE) +#define WGPU_NULLABLE +#endif + +#define WGPU_BREAKING_CHANGE_DROP_DESCRIPTOR + +#include +#include + +#if defined(__cplusplus) +# if __cplusplus >= 201103L +# define WGPU_MAKE_INIT_STRUCT(type, value) (type value) +# else +# define WGPU_MAKE_INIT_STRUCT(type, value) value +# endif +#elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L +# define WGPU_MAKE_INIT_STRUCT(type, value) ((type) value) +#else +# define WGPU_MAKE_INIT_STRUCT(type, value) value +#endif + +#define WGPU_ARRAY_LAYER_COUNT_UNDEFINED UINT32_MAX +#define WGPU_COPY_STRIDE_UNDEFINED UINT32_MAX +#define WGPU_DEPTH_SLICE_UNDEFINED UINT32_MAX +#define WGPU_LIMIT_U32_UNDEFINED UINT32_MAX +#define WGPU_LIMIT_U64_UNDEFINED UINT64_MAX +#define WGPU_MIP_LEVEL_COUNT_UNDEFINED UINT32_MAX +#define WGPU_QUERY_SET_INDEX_UNDEFINED UINT32_MAX +#define WGPU_STRLEN SIZE_MAX +#define WGPU_WHOLE_MAP_SIZE SIZE_MAX +#define WGPU_WHOLE_SIZE UINT64_MAX + +typedef uint64_t WGPUFlags; +typedef uint32_t WGPUBool; + +typedef struct WGPUAdapterImpl* WGPUAdapter WGPU_OBJECT_ATTRIBUTE; +typedef struct WGPUBindGroupImpl* WGPUBindGroup WGPU_OBJECT_ATTRIBUTE; +typedef struct WGPUBindGroupLayoutImpl* WGPUBindGroupLayout WGPU_OBJECT_ATTRIBUTE; +typedef struct WGPUBufferImpl* WGPUBuffer WGPU_OBJECT_ATTRIBUTE; +typedef struct WGPUCommandBufferImpl* WGPUCommandBuffer WGPU_OBJECT_ATTRIBUTE; +typedef struct WGPUCommandEncoderImpl* WGPUCommandEncoder WGPU_OBJECT_ATTRIBUTE; +typedef struct WGPUComputePassEncoderImpl* WGPUComputePassEncoder WGPU_OBJECT_ATTRIBUTE; +typedef struct WGPUComputePipelineImpl* WGPUComputePipeline WGPU_OBJECT_ATTRIBUTE; +typedef struct WGPUDeviceImpl* WGPUDevice WGPU_OBJECT_ATTRIBUTE; +typedef struct WGPUExternalTextureImpl* WGPUExternalTexture WGPU_OBJECT_ATTRIBUTE; +typedef struct WGPUInstanceImpl* WGPUInstance WGPU_OBJECT_ATTRIBUTE; +typedef struct WGPUPipelineLayoutImpl* WGPUPipelineLayout WGPU_OBJECT_ATTRIBUTE; +typedef struct WGPUQuerySetImpl* WGPUQuerySet WGPU_OBJECT_ATTRIBUTE; +typedef struct WGPUQueueImpl* WGPUQueue WGPU_OBJECT_ATTRIBUTE; +typedef struct WGPURenderBundleImpl* WGPURenderBundle WGPU_OBJECT_ATTRIBUTE; +typedef struct WGPURenderBundleEncoderImpl* WGPURenderBundleEncoder WGPU_OBJECT_ATTRIBUTE; +typedef struct WGPURenderPassEncoderImpl* WGPURenderPassEncoder WGPU_OBJECT_ATTRIBUTE; +typedef struct WGPURenderPipelineImpl* WGPURenderPipeline WGPU_OBJECT_ATTRIBUTE; +typedef struct WGPUSamplerImpl* WGPUSampler WGPU_OBJECT_ATTRIBUTE; +typedef struct WGPUShaderModuleImpl* WGPUShaderModule WGPU_OBJECT_ATTRIBUTE; +typedef struct WGPUSharedBufferMemoryImpl* WGPUSharedBufferMemory WGPU_OBJECT_ATTRIBUTE; +typedef struct WGPUSharedFenceImpl* WGPUSharedFence WGPU_OBJECT_ATTRIBUTE; +typedef struct WGPUSharedTextureMemoryImpl* WGPUSharedTextureMemory WGPU_OBJECT_ATTRIBUTE; +typedef struct WGPUSurfaceImpl* WGPUSurface WGPU_OBJECT_ATTRIBUTE; +typedef struct WGPUTextureImpl* WGPUTexture WGPU_OBJECT_ATTRIBUTE; +typedef struct WGPUTextureViewImpl* WGPUTextureView WGPU_OBJECT_ATTRIBUTE; + +// Structure forward declarations +struct WGPUINTERNAL__HAVE_EMDAWNWEBGPU_HEADER; +struct WGPUAdapterPropertiesD3D; +struct WGPUAdapterPropertiesSubgroups; +struct WGPUAdapterPropertiesVk; +struct WGPUBindGroupEntry; +struct WGPUBlendComponent; +struct WGPUBufferBindingLayout; +struct WGPUBufferHostMappedPointer; +struct WGPUBufferMapCallbackInfo; +struct WGPUColor; +struct WGPUColorTargetStateExpandResolveTextureDawn; +struct WGPUCompilationInfoCallbackInfo; +struct WGPUComputePassTimestampWrites; +struct WGPUCopyTextureForBrowserOptions; +struct WGPUCreateComputePipelineAsyncCallbackInfo; +struct WGPUCreateRenderPipelineAsyncCallbackInfo; +struct WGPUDawnWGSLBlocklist; +struct WGPUDawnAdapterPropertiesPowerPreference; +struct WGPUDawnBufferDescriptorErrorInfoFromWireClient; +struct WGPUDawnEncoderInternalUsageDescriptor; +struct WGPUDawnExperimentalImmediateDataLimits; +struct WGPUDawnExperimentalSubgroupLimits; +struct WGPUDawnRenderPassColorAttachmentRenderToSingleSampled; +struct WGPUDawnShaderModuleSPIRVOptionsDescriptor; +struct WGPUDawnTexelCopyBufferRowAlignmentLimits; +struct WGPUDawnTextureInternalUsageDescriptor; +struct WGPUDawnTogglesDescriptor; +struct WGPUDawnWireWGSLControl; +struct WGPUDeviceLostCallbackInfo; +struct WGPUDrmFormatProperties; +struct WGPUExtent2D; +struct WGPUExtent3D; +struct WGPUExternalTextureBindingEntry; +struct WGPUExternalTextureBindingLayout; +struct WGPUFormatCapabilities; +struct WGPUFuture; +struct WGPUInstanceFeatures; +struct WGPULimits; +struct WGPUMemoryHeapInfo; +struct WGPUMultisampleState; +struct WGPUOrigin2D; +struct WGPUOrigin3D; +struct WGPUPipelineLayoutStorageAttachment; +struct WGPUPopErrorScopeCallbackInfo; +struct WGPUPrimitiveState; +struct WGPUQueueWorkDoneCallbackInfo; +struct WGPURenderPassDepthStencilAttachment; +struct WGPURenderPassDescriptorExpandResolveRect; +struct WGPURenderPassMaxDrawCount; +struct WGPURenderPassTimestampWrites; +struct WGPURequestAdapterCallbackInfo; +struct WGPURequestAdapterOptions; +struct WGPURequestDeviceCallbackInfo; +struct WGPUSamplerBindingLayout; +struct WGPUShaderModuleCompilationOptions; +struct WGPUShaderSourceSPIRV; +struct WGPUSharedBufferMemoryBeginAccessDescriptor; +struct WGPUSharedBufferMemoryEndAccessState; +struct WGPUSharedBufferMemoryProperties; +struct WGPUSharedFenceDXGISharedHandleDescriptor; +struct WGPUSharedFenceDXGISharedHandleExportInfo; +struct WGPUSharedFenceMTLSharedEventDescriptor; +struct WGPUSharedFenceMTLSharedEventExportInfo; +struct WGPUSharedFenceExportInfo; +struct WGPUSharedFenceSyncFDDescriptor; +struct WGPUSharedFenceSyncFDExportInfo; +struct WGPUSharedFenceVkSemaphoreOpaqueFDDescriptor; +struct WGPUSharedFenceVkSemaphoreOpaqueFDExportInfo; +struct WGPUSharedFenceVkSemaphoreZirconHandleDescriptor; +struct WGPUSharedFenceVkSemaphoreZirconHandleExportInfo; +struct WGPUSharedTextureMemoryD3DSwapchainBeginState; +struct WGPUSharedTextureMemoryDXGISharedHandleDescriptor; +struct WGPUSharedTextureMemoryEGLImageDescriptor; +struct WGPUSharedTextureMemoryIOSurfaceDescriptor; +struct WGPUSharedTextureMemoryAHardwareBufferDescriptor; +struct WGPUSharedTextureMemoryBeginAccessDescriptor; +struct WGPUSharedTextureMemoryDmaBufPlane; +struct WGPUSharedTextureMemoryEndAccessState; +struct WGPUSharedTextureMemoryOpaqueFDDescriptor; +struct WGPUSharedTextureMemoryVkDedicatedAllocationDescriptor; +struct WGPUSharedTextureMemoryVkImageLayoutBeginState; +struct WGPUSharedTextureMemoryVkImageLayoutEndState; +struct WGPUSharedTextureMemoryZirconHandleDescriptor; +struct WGPUStaticSamplerBindingLayout; +struct WGPUStencilFaceState; +struct WGPUStorageTextureBindingLayout; +struct WGPUStringView; +struct WGPUSupportedFeatures; +struct WGPUSurfaceCapabilities; +struct WGPUSurfaceConfiguration; +struct WGPUSurfaceDescriptorFromWindowsCoreWindow; +struct WGPUSurfaceDescriptorFromWindowsSwapChainPanel; +struct WGPUSurfaceSourceXCBWindow; +struct WGPUSurfaceSourceAndroidNativeWindow; +struct WGPUSurfaceSourceMetalLayer; +struct WGPUSurfaceSourceWaylandSurface; +struct WGPUSurfaceSourceWindowsHWND; +struct WGPUSurfaceSourceXlibWindow; +struct WGPUSurfaceTexture; +struct WGPUTextureBindingLayout; +struct WGPUTextureBindingViewDimensionDescriptor; +struct WGPUTextureDataLayout; +struct WGPUUncapturedErrorCallbackInfo; +struct WGPUVertexAttribute; +struct WGPUYCbCrVkDescriptor; +struct WGPUAHardwareBufferProperties; +struct WGPUAdapterInfo; +struct WGPUAdapterPropertiesMemoryHeaps; +struct WGPUBindGroupDescriptor; +struct WGPUBindGroupLayoutEntry; +struct WGPUBlendState; +struct WGPUBufferDescriptor; +struct WGPUCommandBufferDescriptor; +struct WGPUCommandEncoderDescriptor; +struct WGPUCompilationMessage; +struct WGPUComputePassDescriptor; +struct WGPUConstantEntry; +struct WGPUDawnCacheDeviceDescriptor; +struct WGPUDepthStencilState; +struct WGPUDrmFormatCapabilities; +struct WGPUExternalTextureDescriptor; +struct WGPUFutureWaitInfo; +struct WGPUImageCopyBuffer; +struct WGPUImageCopyExternalTexture; +struct WGPUImageCopyTexture; +struct WGPUInstanceDescriptor; +struct WGPUPipelineLayoutDescriptor; +struct WGPUPipelineLayoutPixelLocalStorage; +struct WGPUQuerySetDescriptor; +struct WGPUQueueDescriptor; +struct WGPURenderBundleDescriptor; +struct WGPURenderBundleEncoderDescriptor; +struct WGPURenderPassColorAttachment; +struct WGPURenderPassStorageAttachment; +struct WGPURequiredLimits; +struct WGPUSamplerDescriptor; +struct WGPUShaderModuleDescriptor; +struct WGPUShaderSourceWGSL; +struct WGPUSharedBufferMemoryDescriptor; +struct WGPUSharedFenceDescriptor; +struct WGPUSharedTextureMemoryAHardwareBufferProperties; +struct WGPUSharedTextureMemoryDescriptor; +struct WGPUSharedTextureMemoryDmaBufDescriptor; +struct WGPUSharedTextureMemoryProperties; +struct WGPUSupportedLimits; +struct WGPUSurfaceDescriptor; +struct WGPUSurfaceSourceCanvasHTMLSelector_Emscripten; +struct WGPUTextureDescriptor; +struct WGPUTextureViewDescriptor; +struct WGPUVertexBufferLayout; +struct WGPUBindGroupLayoutDescriptor; +struct WGPUColorTargetState; +struct WGPUCompilationInfo; +struct WGPUComputeState; +struct WGPUDeviceDescriptor; +struct WGPURenderPassDescriptor; +struct WGPURenderPassPixelLocalStorage; +struct WGPUVertexState; +struct WGPUComputePipelineDescriptor; +struct WGPUFragmentState; +struct WGPURenderPipelineDescriptor; + +typedef enum WGPUWGSLFeatureName { + WGPUWGSLFeatureName_ReadonlyAndReadwriteStorageTextures = 0x00000001, + WGPUWGSLFeatureName_Packed4x8IntegerDotProduct = 0x00000002, + WGPUWGSLFeatureName_UnrestrictedPointerParameters = 0x00000003, + WGPUWGSLFeatureName_PointerCompositeAccess = 0x00000004, + WGPUWGSLFeatureName_ChromiumTestingUnimplemented = 0x00050000, + WGPUWGSLFeatureName_ChromiumTestingUnsafeExperimental = 0x00050001, + WGPUWGSLFeatureName_ChromiumTestingExperimental = 0x00050002, + WGPUWGSLFeatureName_ChromiumTestingShippedWithKillswitch = 0x00050003, + WGPUWGSLFeatureName_ChromiumTestingShipped = 0x00050004, + WGPUWGSLFeatureName_Force32 = 0x7FFFFFFF +} WGPUWGSLFeatureName WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUAdapterType { + WGPUAdapterType_DiscreteGPU = 0x00000001, + WGPUAdapterType_IntegratedGPU = 0x00000002, + WGPUAdapterType_CPU = 0x00000003, + WGPUAdapterType_Unknown = 0x00000004, + WGPUAdapterType_Force32 = 0x7FFFFFFF +} WGPUAdapterType WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUAddressMode { + WGPUAddressMode_Undefined = 0x00000000, + WGPUAddressMode_ClampToEdge = 0x00000001, + WGPUAddressMode_Repeat = 0x00000002, + WGPUAddressMode_MirrorRepeat = 0x00000003, + WGPUAddressMode_Force32 = 0x7FFFFFFF +} WGPUAddressMode WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUAlphaMode { + WGPUAlphaMode_Opaque = 0x00000001, + WGPUAlphaMode_Premultiplied = 0x00000002, + WGPUAlphaMode_Unpremultiplied = 0x00000003, + WGPUAlphaMode_Force32 = 0x7FFFFFFF +} WGPUAlphaMode WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUBackendType { + WGPUBackendType_Undefined = 0x00000000, + WGPUBackendType_Null = 0x00000001, + WGPUBackendType_WebGPU = 0x00000002, + WGPUBackendType_D3D11 = 0x00000003, + WGPUBackendType_D3D12 = 0x00000004, + WGPUBackendType_Metal = 0x00000005, + WGPUBackendType_Vulkan = 0x00000006, + WGPUBackendType_OpenGL = 0x00000007, + WGPUBackendType_OpenGLES = 0x00000008, + WGPUBackendType_Force32 = 0x7FFFFFFF +} WGPUBackendType WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUBlendFactor { + WGPUBlendFactor_Undefined = 0x00000000, + WGPUBlendFactor_Zero = 0x00000001, + WGPUBlendFactor_One = 0x00000002, + WGPUBlendFactor_Src = 0x00000003, + WGPUBlendFactor_OneMinusSrc = 0x00000004, + WGPUBlendFactor_SrcAlpha = 0x00000005, + WGPUBlendFactor_OneMinusSrcAlpha = 0x00000006, + WGPUBlendFactor_Dst = 0x00000007, + WGPUBlendFactor_OneMinusDst = 0x00000008, + WGPUBlendFactor_DstAlpha = 0x00000009, + WGPUBlendFactor_OneMinusDstAlpha = 0x0000000A, + WGPUBlendFactor_SrcAlphaSaturated = 0x0000000B, + WGPUBlendFactor_Constant = 0x0000000C, + WGPUBlendFactor_OneMinusConstant = 0x0000000D, + WGPUBlendFactor_Src1 = 0x0000000E, + WGPUBlendFactor_OneMinusSrc1 = 0x0000000F, + WGPUBlendFactor_Src1Alpha = 0x00000010, + WGPUBlendFactor_OneMinusSrc1Alpha = 0x00000011, + WGPUBlendFactor_Force32 = 0x7FFFFFFF +} WGPUBlendFactor WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUBlendOperation { + WGPUBlendOperation_Undefined = 0x00000000, + WGPUBlendOperation_Add = 0x00000001, + WGPUBlendOperation_Subtract = 0x00000002, + WGPUBlendOperation_ReverseSubtract = 0x00000003, + WGPUBlendOperation_Min = 0x00000004, + WGPUBlendOperation_Max = 0x00000005, + WGPUBlendOperation_Force32 = 0x7FFFFFFF +} WGPUBlendOperation WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUBufferBindingType { + WGPUBufferBindingType_BindingNotUsed = 0x00000000, + WGPUBufferBindingType_Uniform = 0x00000001, + WGPUBufferBindingType_Storage = 0x00000002, + WGPUBufferBindingType_ReadOnlyStorage = 0x00000003, + WGPUBufferBindingType_Force32 = 0x7FFFFFFF +} WGPUBufferBindingType WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUBufferMapAsyncStatus { + WGPUBufferMapAsyncStatus_Success = 0x00000001, + WGPUBufferMapAsyncStatus_InstanceDropped = 0x00000002, + WGPUBufferMapAsyncStatus_ValidationError = 0x00000003, + WGPUBufferMapAsyncStatus_Unknown = 0x00000004, + WGPUBufferMapAsyncStatus_DeviceLost = 0x00000005, + WGPUBufferMapAsyncStatus_DestroyedBeforeCallback = 0x00000006, + WGPUBufferMapAsyncStatus_UnmappedBeforeCallback = 0x00000007, + WGPUBufferMapAsyncStatus_MappingAlreadyPending = 0x00000008, + WGPUBufferMapAsyncStatus_OffsetOutOfRange = 0x00000009, + WGPUBufferMapAsyncStatus_SizeOutOfRange = 0x0000000A, + WGPUBufferMapAsyncStatus_Force32 = 0x7FFFFFFF +} WGPUBufferMapAsyncStatus WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUBufferMapState { + WGPUBufferMapState_Unmapped = 0x00000001, + WGPUBufferMapState_Pending = 0x00000002, + WGPUBufferMapState_Mapped = 0x00000003, + WGPUBufferMapState_Force32 = 0x7FFFFFFF +} WGPUBufferMapState WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUCallbackMode { + WGPUCallbackMode_WaitAnyOnly = 0x00000001, + WGPUCallbackMode_AllowProcessEvents = 0x00000002, + WGPUCallbackMode_AllowSpontaneous = 0x00000003, + WGPUCallbackMode_Force32 = 0x7FFFFFFF +} WGPUCallbackMode WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUCompareFunction { + WGPUCompareFunction_Undefined = 0x00000000, + WGPUCompareFunction_Never = 0x00000001, + WGPUCompareFunction_Less = 0x00000002, + WGPUCompareFunction_Equal = 0x00000003, + WGPUCompareFunction_LessEqual = 0x00000004, + WGPUCompareFunction_Greater = 0x00000005, + WGPUCompareFunction_NotEqual = 0x00000006, + WGPUCompareFunction_GreaterEqual = 0x00000007, + WGPUCompareFunction_Always = 0x00000008, + WGPUCompareFunction_Force32 = 0x7FFFFFFF +} WGPUCompareFunction WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUCompilationInfoRequestStatus { + WGPUCompilationInfoRequestStatus_Success = 0x00000001, + WGPUCompilationInfoRequestStatus_InstanceDropped = 0x00000002, + WGPUCompilationInfoRequestStatus_Error = 0x00000003, + WGPUCompilationInfoRequestStatus_DeviceLost = 0x00000004, + WGPUCompilationInfoRequestStatus_Unknown = 0x00000005, + WGPUCompilationInfoRequestStatus_Force32 = 0x7FFFFFFF +} WGPUCompilationInfoRequestStatus WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUCompilationMessageType { + WGPUCompilationMessageType_Error = 0x00000001, + WGPUCompilationMessageType_Warning = 0x00000002, + WGPUCompilationMessageType_Info = 0x00000003, + WGPUCompilationMessageType_Force32 = 0x7FFFFFFF +} WGPUCompilationMessageType WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUCompositeAlphaMode { + WGPUCompositeAlphaMode_Auto = 0x00000000, + WGPUCompositeAlphaMode_Opaque = 0x00000001, + WGPUCompositeAlphaMode_Premultiplied = 0x00000002, + WGPUCompositeAlphaMode_Unpremultiplied = 0x00000003, + WGPUCompositeAlphaMode_Inherit = 0x00000004, + WGPUCompositeAlphaMode_Force32 = 0x7FFFFFFF +} WGPUCompositeAlphaMode WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUCreatePipelineAsyncStatus { + WGPUCreatePipelineAsyncStatus_Success = 0x00000001, + WGPUCreatePipelineAsyncStatus_InstanceDropped = 0x00000002, + WGPUCreatePipelineAsyncStatus_ValidationError = 0x00000003, + WGPUCreatePipelineAsyncStatus_InternalError = 0x00000004, + WGPUCreatePipelineAsyncStatus_DeviceLost = 0x00000005, + WGPUCreatePipelineAsyncStatus_DeviceDestroyed = 0x00000006, + WGPUCreatePipelineAsyncStatus_Unknown = 0x00000007, + WGPUCreatePipelineAsyncStatus_Force32 = 0x7FFFFFFF +} WGPUCreatePipelineAsyncStatus WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUCullMode { + WGPUCullMode_Undefined = 0x00000000, + WGPUCullMode_None = 0x00000001, + WGPUCullMode_Front = 0x00000002, + WGPUCullMode_Back = 0x00000003, + WGPUCullMode_Force32 = 0x7FFFFFFF +} WGPUCullMode WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUDeviceLostReason { + WGPUDeviceLostReason_Unknown = 0x00000001, + WGPUDeviceLostReason_Destroyed = 0x00000002, + WGPUDeviceLostReason_InstanceDropped = 0x00000003, + WGPUDeviceLostReason_FailedCreation = 0x00000004, + WGPUDeviceLostReason_Force32 = 0x7FFFFFFF +} WGPUDeviceLostReason WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUErrorFilter { + WGPUErrorFilter_Validation = 0x00000001, + WGPUErrorFilter_OutOfMemory = 0x00000002, + WGPUErrorFilter_Internal = 0x00000003, + WGPUErrorFilter_Force32 = 0x7FFFFFFF +} WGPUErrorFilter WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUErrorType { + WGPUErrorType_NoError = 0x00000001, + WGPUErrorType_Validation = 0x00000002, + WGPUErrorType_OutOfMemory = 0x00000003, + WGPUErrorType_Internal = 0x00000004, + WGPUErrorType_Unknown = 0x00000005, + WGPUErrorType_DeviceLost = 0x00000006, + WGPUErrorType_Force32 = 0x7FFFFFFF +} WGPUErrorType WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUExternalTextureRotation { + WGPUExternalTextureRotation_Rotate0Degrees = 0x00000001, + WGPUExternalTextureRotation_Rotate90Degrees = 0x00000002, + WGPUExternalTextureRotation_Rotate180Degrees = 0x00000003, + WGPUExternalTextureRotation_Rotate270Degrees = 0x00000004, + WGPUExternalTextureRotation_Force32 = 0x7FFFFFFF +} WGPUExternalTextureRotation WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUFeatureLevel { + WGPUFeatureLevel_Undefined = 0x00000000, + WGPUFeatureLevel_Compatibility = 0x00000001, + WGPUFeatureLevel_Core = 0x00000002, + WGPUFeatureLevel_Force32 = 0x7FFFFFFF +} WGPUFeatureLevel WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUFeatureName { + WGPUFeatureName_DepthClipControl = 0x00000001, + WGPUFeatureName_Depth32FloatStencil8 = 0x00000002, + WGPUFeatureName_TimestampQuery = 0x00000003, + WGPUFeatureName_TextureCompressionBC = 0x00000004, + WGPUFeatureName_TextureCompressionETC2 = 0x00000005, + WGPUFeatureName_TextureCompressionASTC = 0x00000006, + WGPUFeatureName_IndirectFirstInstance = 0x00000007, + WGPUFeatureName_ShaderF16 = 0x00000008, + WGPUFeatureName_RG11B10UfloatRenderable = 0x00000009, + WGPUFeatureName_BGRA8UnormStorage = 0x0000000A, + WGPUFeatureName_Float32Filterable = 0x0000000B, + WGPUFeatureName_Float32Blendable = 0x0000000C, + WGPUFeatureName_Subgroups = 0x0000000D, + WGPUFeatureName_SubgroupsF16 = 0x0000000E, + WGPUFeatureName_DawnInternalUsages = 0x00050000, + WGPUFeatureName_DawnMultiPlanarFormats = 0x00050001, + WGPUFeatureName_DawnNative = 0x00050002, + WGPUFeatureName_ChromiumExperimentalTimestampQueryInsidePasses = 0x00050003, + WGPUFeatureName_ImplicitDeviceSynchronization = 0x00050004, + WGPUFeatureName_ChromiumExperimentalImmediateData = 0x00050005, + WGPUFeatureName_TransientAttachments = 0x00050006, + WGPUFeatureName_MSAARenderToSingleSampled = 0x00050007, + WGPUFeatureName_DualSourceBlending = 0x00050008, + WGPUFeatureName_D3D11MultithreadProtected = 0x00050009, + WGPUFeatureName_ANGLETextureSharing = 0x0005000A, + WGPUFeatureName_PixelLocalStorageCoherent = 0x0005000B, + WGPUFeatureName_PixelLocalStorageNonCoherent = 0x0005000C, + WGPUFeatureName_Unorm16TextureFormats = 0x0005000D, + WGPUFeatureName_Snorm16TextureFormats = 0x0005000E, + WGPUFeatureName_MultiPlanarFormatExtendedUsages = 0x0005000F, + WGPUFeatureName_MultiPlanarFormatP010 = 0x00050010, + WGPUFeatureName_HostMappedPointer = 0x00050011, + WGPUFeatureName_MultiPlanarRenderTargets = 0x00050012, + WGPUFeatureName_MultiPlanarFormatNv12a = 0x00050013, + WGPUFeatureName_FramebufferFetch = 0x00050014, + WGPUFeatureName_BufferMapExtendedUsages = 0x00050015, + WGPUFeatureName_AdapterPropertiesMemoryHeaps = 0x00050016, + WGPUFeatureName_AdapterPropertiesD3D = 0x00050017, + WGPUFeatureName_AdapterPropertiesVk = 0x00050018, + WGPUFeatureName_R8UnormStorage = 0x00050019, + WGPUFeatureName_FormatCapabilities = 0x0005001A, + WGPUFeatureName_DrmFormatCapabilities = 0x0005001B, + WGPUFeatureName_Norm16TextureFormats = 0x0005001C, + WGPUFeatureName_MultiPlanarFormatNv16 = 0x0005001D, + WGPUFeatureName_MultiPlanarFormatNv24 = 0x0005001E, + WGPUFeatureName_MultiPlanarFormatP210 = 0x0005001F, + WGPUFeatureName_MultiPlanarFormatP410 = 0x00050020, + WGPUFeatureName_SharedTextureMemoryVkDedicatedAllocation = 0x00050021, + WGPUFeatureName_SharedTextureMemoryAHardwareBuffer = 0x00050022, + WGPUFeatureName_SharedTextureMemoryDmaBuf = 0x00050023, + WGPUFeatureName_SharedTextureMemoryOpaqueFD = 0x00050024, + WGPUFeatureName_SharedTextureMemoryZirconHandle = 0x00050025, + WGPUFeatureName_SharedTextureMemoryDXGISharedHandle = 0x00050026, + WGPUFeatureName_SharedTextureMemoryD3D11Texture2D = 0x00050027, + WGPUFeatureName_SharedTextureMemoryIOSurface = 0x00050028, + WGPUFeatureName_SharedTextureMemoryEGLImage = 0x00050029, + WGPUFeatureName_SharedFenceVkSemaphoreOpaqueFD = 0x0005002A, + WGPUFeatureName_SharedFenceSyncFD = 0x0005002B, + WGPUFeatureName_SharedFenceVkSemaphoreZirconHandle = 0x0005002C, + WGPUFeatureName_SharedFenceDXGISharedHandle = 0x0005002D, + WGPUFeatureName_SharedFenceMTLSharedEvent = 0x0005002E, + WGPUFeatureName_SharedBufferMemoryD3D12Resource = 0x0005002F, + WGPUFeatureName_StaticSamplers = 0x00050030, + WGPUFeatureName_YCbCrVulkanSamplers = 0x00050031, + WGPUFeatureName_ShaderModuleCompilationOptions = 0x00050032, + WGPUFeatureName_DawnLoadResolveTexture = 0x00050033, + WGPUFeatureName_DawnPartialLoadResolveTexture = 0x00050034, + WGPUFeatureName_MultiDrawIndirect = 0x00050035, + WGPUFeatureName_ClipDistances = 0x00050036, + WGPUFeatureName_DawnTexelCopyBufferRowAlignment = 0x00050037, + WGPUFeatureName_FlexibleTextureViews = 0x00050038, + WGPUFeatureName_Force32 = 0x7FFFFFFF +} WGPUFeatureName WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUFilterMode { + WGPUFilterMode_Undefined = 0x00000000, + WGPUFilterMode_Nearest = 0x00000001, + WGPUFilterMode_Linear = 0x00000002, + WGPUFilterMode_Force32 = 0x7FFFFFFF +} WGPUFilterMode WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUFrontFace { + WGPUFrontFace_Undefined = 0x00000000, + WGPUFrontFace_CCW = 0x00000001, + WGPUFrontFace_CW = 0x00000002, + WGPUFrontFace_Force32 = 0x7FFFFFFF +} WGPUFrontFace WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUIndexFormat { + WGPUIndexFormat_Undefined = 0x00000000, + WGPUIndexFormat_Uint16 = 0x00000001, + WGPUIndexFormat_Uint32 = 0x00000002, + WGPUIndexFormat_Force32 = 0x7FFFFFFF +} WGPUIndexFormat WGPU_ENUM_ATTRIBUTE; +typedef enum WGPULoadOp { + WGPULoadOp_Undefined = 0x00000000, + WGPULoadOp_Load = 0x00000001, + WGPULoadOp_Clear = 0x00000002, + WGPULoadOp_ExpandResolveTexture = 0x00050003, + WGPULoadOp_Force32 = 0x7FFFFFFF +} WGPULoadOp WGPU_ENUM_ATTRIBUTE; +typedef enum WGPULoggingType { + WGPULoggingType_Verbose = 0x00000001, + WGPULoggingType_Info = 0x00000002, + WGPULoggingType_Warning = 0x00000003, + WGPULoggingType_Error = 0x00000004, + WGPULoggingType_Force32 = 0x7FFFFFFF +} WGPULoggingType WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUMapAsyncStatus { + WGPUMapAsyncStatus_Success = 0x00000001, + WGPUMapAsyncStatus_InstanceDropped = 0x00000002, + WGPUMapAsyncStatus_Error = 0x00000003, + WGPUMapAsyncStatus_Aborted = 0x00000004, + WGPUMapAsyncStatus_Unknown = 0x00000005, + WGPUMapAsyncStatus_Force32 = 0x7FFFFFFF +} WGPUMapAsyncStatus WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUMipmapFilterMode { + WGPUMipmapFilterMode_Undefined = 0x00000000, + WGPUMipmapFilterMode_Nearest = 0x00000001, + WGPUMipmapFilterMode_Linear = 0x00000002, + WGPUMipmapFilterMode_Force32 = 0x7FFFFFFF +} WGPUMipmapFilterMode WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUOptionalBool { + WGPUOptionalBool_False = 0x00000000, + WGPUOptionalBool_True = 0x00000001, + WGPUOptionalBool_Undefined = 0x00000002, + WGPUOptionalBool_Force32 = 0x7FFFFFFF +} WGPUOptionalBool WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUPopErrorScopeStatus { + WGPUPopErrorScopeStatus_Success = 0x00000001, + WGPUPopErrorScopeStatus_InstanceDropped = 0x00000002, + WGPUPopErrorScopeStatus_Force32 = 0x7FFFFFFF +} WGPUPopErrorScopeStatus WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUPowerPreference { + WGPUPowerPreference_Undefined = 0x00000000, + WGPUPowerPreference_LowPower = 0x00000001, + WGPUPowerPreference_HighPerformance = 0x00000002, + WGPUPowerPreference_Force32 = 0x7FFFFFFF +} WGPUPowerPreference WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUPresentMode { + WGPUPresentMode_Fifo = 0x00000001, + WGPUPresentMode_FifoRelaxed = 0x00000002, + WGPUPresentMode_Immediate = 0x00000003, + WGPUPresentMode_Mailbox = 0x00000004, + WGPUPresentMode_Force32 = 0x7FFFFFFF +} WGPUPresentMode WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUPrimitiveTopology { + WGPUPrimitiveTopology_Undefined = 0x00000000, + WGPUPrimitiveTopology_PointList = 0x00000001, + WGPUPrimitiveTopology_LineList = 0x00000002, + WGPUPrimitiveTopology_LineStrip = 0x00000003, + WGPUPrimitiveTopology_TriangleList = 0x00000004, + WGPUPrimitiveTopology_TriangleStrip = 0x00000005, + WGPUPrimitiveTopology_Force32 = 0x7FFFFFFF +} WGPUPrimitiveTopology WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUQueryType { + WGPUQueryType_Occlusion = 0x00000001, + WGPUQueryType_Timestamp = 0x00000002, + WGPUQueryType_Force32 = 0x7FFFFFFF +} WGPUQueryType WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUQueueWorkDoneStatus { + WGPUQueueWorkDoneStatus_Success = 0x00000001, + WGPUQueueWorkDoneStatus_InstanceDropped = 0x00000002, + WGPUQueueWorkDoneStatus_Error = 0x00000003, + WGPUQueueWorkDoneStatus_Unknown = 0x00000004, + WGPUQueueWorkDoneStatus_DeviceLost = 0x00000005, + WGPUQueueWorkDoneStatus_Force32 = 0x7FFFFFFF +} WGPUQueueWorkDoneStatus WGPU_ENUM_ATTRIBUTE; +typedef enum WGPURequestAdapterStatus { + WGPURequestAdapterStatus_Success = 0x00000001, + WGPURequestAdapterStatus_InstanceDropped = 0x00000002, + WGPURequestAdapterStatus_Unavailable = 0x00000003, + WGPURequestAdapterStatus_Error = 0x00000004, + WGPURequestAdapterStatus_Unknown = 0x00000005, + WGPURequestAdapterStatus_Force32 = 0x7FFFFFFF +} WGPURequestAdapterStatus WGPU_ENUM_ATTRIBUTE; +typedef enum WGPURequestDeviceStatus { + WGPURequestDeviceStatus_Success = 0x00000001, + WGPURequestDeviceStatus_InstanceDropped = 0x00000002, + WGPURequestDeviceStatus_Error = 0x00000003, + WGPURequestDeviceStatus_Unknown = 0x00000004, + WGPURequestDeviceStatus_Force32 = 0x7FFFFFFF +} WGPURequestDeviceStatus WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUSType { + WGPUSType_ShaderSourceSPIRV = 0x00000001, + WGPUSType_ShaderSourceWGSL = 0x00000002, + WGPUSType_RenderPassMaxDrawCount = 0x00000003, + WGPUSType_SurfaceSourceMetalLayer = 0x00000004, + WGPUSType_SurfaceSourceWindowsHWND = 0x00000005, + WGPUSType_SurfaceSourceXlibWindow = 0x00000006, + WGPUSType_SurfaceSourceWaylandSurface = 0x00000007, + WGPUSType_SurfaceSourceAndroidNativeWindow = 0x00000008, + WGPUSType_SurfaceSourceXCBWindow = 0x00000009, + WGPUSType_AdapterPropertiesSubgroups = 0x0000000A, + WGPUSType_TextureBindingViewDimensionDescriptor = 0x00020000, + WGPUSType_SurfaceSourceCanvasHTMLSelector_Emscripten = 0x00040000, + WGPUSType_SurfaceDescriptorFromWindowsCoreWindow = 0x00050000, + WGPUSType_ExternalTextureBindingEntry = 0x00050001, + WGPUSType_ExternalTextureBindingLayout = 0x00050002, + WGPUSType_SurfaceDescriptorFromWindowsSwapChainPanel = 0x00050003, + WGPUSType_DawnTextureInternalUsageDescriptor = 0x00050004, + WGPUSType_DawnEncoderInternalUsageDescriptor = 0x00050005, + WGPUSType_DawnInstanceDescriptor = 0x00050006, + WGPUSType_DawnCacheDeviceDescriptor = 0x00050007, + WGPUSType_DawnAdapterPropertiesPowerPreference = 0x00050008, + WGPUSType_DawnBufferDescriptorErrorInfoFromWireClient = 0x00050009, + WGPUSType_DawnTogglesDescriptor = 0x0005000A, + WGPUSType_DawnShaderModuleSPIRVOptionsDescriptor = 0x0005000B, + WGPUSType_RequestAdapterOptionsLUID = 0x0005000C, + WGPUSType_RequestAdapterOptionsGetGLProc = 0x0005000D, + WGPUSType_RequestAdapterOptionsD3D11Device = 0x0005000E, + WGPUSType_DawnRenderPassColorAttachmentRenderToSingleSampled = 0x0005000F, + WGPUSType_RenderPassPixelLocalStorage = 0x00050010, + WGPUSType_PipelineLayoutPixelLocalStorage = 0x00050011, + WGPUSType_BufferHostMappedPointer = 0x00050012, + WGPUSType_DawnExperimentalSubgroupLimits = 0x00050013, + WGPUSType_AdapterPropertiesMemoryHeaps = 0x00050014, + WGPUSType_AdapterPropertiesD3D = 0x00050015, + WGPUSType_AdapterPropertiesVk = 0x00050016, + WGPUSType_DawnWireWGSLControl = 0x00050017, + WGPUSType_DawnWGSLBlocklist = 0x00050018, + WGPUSType_DrmFormatCapabilities = 0x00050019, + WGPUSType_ShaderModuleCompilationOptions = 0x0005001A, + WGPUSType_ColorTargetStateExpandResolveTextureDawn = 0x0005001B, + WGPUSType_RenderPassDescriptorExpandResolveRect = 0x0005001C, + WGPUSType_SharedTextureMemoryVkDedicatedAllocationDescriptor = 0x0005001D, + WGPUSType_SharedTextureMemoryAHardwareBufferDescriptor = 0x0005001E, + WGPUSType_SharedTextureMemoryDmaBufDescriptor = 0x0005001F, + WGPUSType_SharedTextureMemoryOpaqueFDDescriptor = 0x00050020, + WGPUSType_SharedTextureMemoryZirconHandleDescriptor = 0x00050021, + WGPUSType_SharedTextureMemoryDXGISharedHandleDescriptor = 0x00050022, + WGPUSType_SharedTextureMemoryD3D11Texture2DDescriptor = 0x00050023, + WGPUSType_SharedTextureMemoryIOSurfaceDescriptor = 0x00050024, + WGPUSType_SharedTextureMemoryEGLImageDescriptor = 0x00050025, + WGPUSType_SharedTextureMemoryInitializedBeginState = 0x00050026, + WGPUSType_SharedTextureMemoryInitializedEndState = 0x00050027, + WGPUSType_SharedTextureMemoryVkImageLayoutBeginState = 0x00050028, + WGPUSType_SharedTextureMemoryVkImageLayoutEndState = 0x00050029, + WGPUSType_SharedTextureMemoryD3DSwapchainBeginState = 0x0005002A, + WGPUSType_SharedFenceVkSemaphoreOpaqueFDDescriptor = 0x0005002B, + WGPUSType_SharedFenceVkSemaphoreOpaqueFDExportInfo = 0x0005002C, + WGPUSType_SharedFenceSyncFDDescriptor = 0x0005002D, + WGPUSType_SharedFenceSyncFDExportInfo = 0x0005002E, + WGPUSType_SharedFenceVkSemaphoreZirconHandleDescriptor = 0x0005002F, + WGPUSType_SharedFenceVkSemaphoreZirconHandleExportInfo = 0x00050030, + WGPUSType_SharedFenceDXGISharedHandleDescriptor = 0x00050031, + WGPUSType_SharedFenceDXGISharedHandleExportInfo = 0x00050032, + WGPUSType_SharedFenceMTLSharedEventDescriptor = 0x00050033, + WGPUSType_SharedFenceMTLSharedEventExportInfo = 0x00050034, + WGPUSType_SharedBufferMemoryD3D12ResourceDescriptor = 0x00050035, + WGPUSType_StaticSamplerBindingLayout = 0x00050036, + WGPUSType_YCbCrVkDescriptor = 0x00050037, + WGPUSType_SharedTextureMemoryAHardwareBufferProperties = 0x00050038, + WGPUSType_AHardwareBufferProperties = 0x00050039, + WGPUSType_DawnExperimentalImmediateDataLimits = 0x0005003A, + WGPUSType_DawnTexelCopyBufferRowAlignmentLimits = 0x0005003B, + WGPUSType_Force32 = 0x7FFFFFFF +} WGPUSType WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUSamplerBindingType { + WGPUSamplerBindingType_BindingNotUsed = 0x00000000, + WGPUSamplerBindingType_Filtering = 0x00000001, + WGPUSamplerBindingType_NonFiltering = 0x00000002, + WGPUSamplerBindingType_Comparison = 0x00000003, + WGPUSamplerBindingType_Force32 = 0x7FFFFFFF +} WGPUSamplerBindingType WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUSharedFenceType { + WGPUSharedFenceType_VkSemaphoreOpaqueFD = 0x00000001, + WGPUSharedFenceType_SyncFD = 0x00000002, + WGPUSharedFenceType_VkSemaphoreZirconHandle = 0x00000003, + WGPUSharedFenceType_DXGISharedHandle = 0x00000004, + WGPUSharedFenceType_MTLSharedEvent = 0x00000005, + WGPUSharedFenceType_Force32 = 0x7FFFFFFF +} WGPUSharedFenceType WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUStatus { + WGPUStatus_Success = 0x00000001, + WGPUStatus_Error = 0x00000002, + WGPUStatus_Force32 = 0x7FFFFFFF +} WGPUStatus WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUStencilOperation { + WGPUStencilOperation_Undefined = 0x00000000, + WGPUStencilOperation_Keep = 0x00000001, + WGPUStencilOperation_Zero = 0x00000002, + WGPUStencilOperation_Replace = 0x00000003, + WGPUStencilOperation_Invert = 0x00000004, + WGPUStencilOperation_IncrementClamp = 0x00000005, + WGPUStencilOperation_DecrementClamp = 0x00000006, + WGPUStencilOperation_IncrementWrap = 0x00000007, + WGPUStencilOperation_DecrementWrap = 0x00000008, + WGPUStencilOperation_Force32 = 0x7FFFFFFF +} WGPUStencilOperation WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUStorageTextureAccess { + WGPUStorageTextureAccess_BindingNotUsed = 0x00000000, + WGPUStorageTextureAccess_WriteOnly = 0x00000001, + WGPUStorageTextureAccess_ReadOnly = 0x00000002, + WGPUStorageTextureAccess_ReadWrite = 0x00000003, + WGPUStorageTextureAccess_Force32 = 0x7FFFFFFF +} WGPUStorageTextureAccess WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUStoreOp { + WGPUStoreOp_Undefined = 0x00000000, + WGPUStoreOp_Store = 0x00000001, + WGPUStoreOp_Discard = 0x00000002, + WGPUStoreOp_Force32 = 0x7FFFFFFF +} WGPUStoreOp WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUSurfaceGetCurrentTextureStatus { + WGPUSurfaceGetCurrentTextureStatus_Success = 0x00000001, + WGPUSurfaceGetCurrentTextureStatus_Timeout = 0x00000002, + WGPUSurfaceGetCurrentTextureStatus_Outdated = 0x00000003, + WGPUSurfaceGetCurrentTextureStatus_Lost = 0x00000004, + WGPUSurfaceGetCurrentTextureStatus_OutOfMemory = 0x00000005, + WGPUSurfaceGetCurrentTextureStatus_DeviceLost = 0x00000006, + WGPUSurfaceGetCurrentTextureStatus_Error = 0x00000007, + WGPUSurfaceGetCurrentTextureStatus_Force32 = 0x7FFFFFFF +} WGPUSurfaceGetCurrentTextureStatus WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUTextureAspect { + WGPUTextureAspect_Undefined = 0x00000000, + WGPUTextureAspect_All = 0x00000001, + WGPUTextureAspect_StencilOnly = 0x00000002, + WGPUTextureAspect_DepthOnly = 0x00000003, + WGPUTextureAspect_Plane0Only = 0x00050000, + WGPUTextureAspect_Plane1Only = 0x00050001, + WGPUTextureAspect_Plane2Only = 0x00050002, + WGPUTextureAspect_Force32 = 0x7FFFFFFF +} WGPUTextureAspect WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUTextureDimension { + WGPUTextureDimension_Undefined = 0x00000000, + WGPUTextureDimension_1D = 0x00000001, + WGPUTextureDimension_2D = 0x00000002, + WGPUTextureDimension_3D = 0x00000003, + WGPUTextureDimension_Force32 = 0x7FFFFFFF +} WGPUTextureDimension WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUTextureFormat { + WGPUTextureFormat_Undefined = 0x00000000, + WGPUTextureFormat_R8Unorm = 0x00000001, + WGPUTextureFormat_R8Snorm = 0x00000002, + WGPUTextureFormat_R8Uint = 0x00000003, + WGPUTextureFormat_R8Sint = 0x00000004, + WGPUTextureFormat_R16Uint = 0x00000005, + WGPUTextureFormat_R16Sint = 0x00000006, + WGPUTextureFormat_R16Float = 0x00000007, + WGPUTextureFormat_RG8Unorm = 0x00000008, + WGPUTextureFormat_RG8Snorm = 0x00000009, + WGPUTextureFormat_RG8Uint = 0x0000000A, + WGPUTextureFormat_RG8Sint = 0x0000000B, + WGPUTextureFormat_R32Float = 0x0000000C, + WGPUTextureFormat_R32Uint = 0x0000000D, + WGPUTextureFormat_R32Sint = 0x0000000E, + WGPUTextureFormat_RG16Uint = 0x0000000F, + WGPUTextureFormat_RG16Sint = 0x00000010, + WGPUTextureFormat_RG16Float = 0x00000011, + WGPUTextureFormat_RGBA8Unorm = 0x00000012, + WGPUTextureFormat_RGBA8UnormSrgb = 0x00000013, + WGPUTextureFormat_RGBA8Snorm = 0x00000014, + WGPUTextureFormat_RGBA8Uint = 0x00000015, + WGPUTextureFormat_RGBA8Sint = 0x00000016, + WGPUTextureFormat_BGRA8Unorm = 0x00000017, + WGPUTextureFormat_BGRA8UnormSrgb = 0x00000018, + WGPUTextureFormat_RGB10A2Uint = 0x00000019, + WGPUTextureFormat_RGB10A2Unorm = 0x0000001A, + WGPUTextureFormat_RG11B10Ufloat = 0x0000001B, + WGPUTextureFormat_RGB9E5Ufloat = 0x0000001C, + WGPUTextureFormat_RG32Float = 0x0000001D, + WGPUTextureFormat_RG32Uint = 0x0000001E, + WGPUTextureFormat_RG32Sint = 0x0000001F, + WGPUTextureFormat_RGBA16Uint = 0x00000020, + WGPUTextureFormat_RGBA16Sint = 0x00000021, + WGPUTextureFormat_RGBA16Float = 0x00000022, + WGPUTextureFormat_RGBA32Float = 0x00000023, + WGPUTextureFormat_RGBA32Uint = 0x00000024, + WGPUTextureFormat_RGBA32Sint = 0x00000025, + WGPUTextureFormat_Stencil8 = 0x00000026, + WGPUTextureFormat_Depth16Unorm = 0x00000027, + WGPUTextureFormat_Depth24Plus = 0x00000028, + WGPUTextureFormat_Depth24PlusStencil8 = 0x00000029, + WGPUTextureFormat_Depth32Float = 0x0000002A, + WGPUTextureFormat_Depth32FloatStencil8 = 0x0000002B, + WGPUTextureFormat_BC1RGBAUnorm = 0x0000002C, + WGPUTextureFormat_BC1RGBAUnormSrgb = 0x0000002D, + WGPUTextureFormat_BC2RGBAUnorm = 0x0000002E, + WGPUTextureFormat_BC2RGBAUnormSrgb = 0x0000002F, + WGPUTextureFormat_BC3RGBAUnorm = 0x00000030, + WGPUTextureFormat_BC3RGBAUnormSrgb = 0x00000031, + WGPUTextureFormat_BC4RUnorm = 0x00000032, + WGPUTextureFormat_BC4RSnorm = 0x00000033, + WGPUTextureFormat_BC5RGUnorm = 0x00000034, + WGPUTextureFormat_BC5RGSnorm = 0x00000035, + WGPUTextureFormat_BC6HRGBUfloat = 0x00000036, + WGPUTextureFormat_BC6HRGBFloat = 0x00000037, + WGPUTextureFormat_BC7RGBAUnorm = 0x00000038, + WGPUTextureFormat_BC7RGBAUnormSrgb = 0x00000039, + WGPUTextureFormat_ETC2RGB8Unorm = 0x0000003A, + WGPUTextureFormat_ETC2RGB8UnormSrgb = 0x0000003B, + WGPUTextureFormat_ETC2RGB8A1Unorm = 0x0000003C, + WGPUTextureFormat_ETC2RGB8A1UnormSrgb = 0x0000003D, + WGPUTextureFormat_ETC2RGBA8Unorm = 0x0000003E, + WGPUTextureFormat_ETC2RGBA8UnormSrgb = 0x0000003F, + WGPUTextureFormat_EACR11Unorm = 0x00000040, + WGPUTextureFormat_EACR11Snorm = 0x00000041, + WGPUTextureFormat_EACRG11Unorm = 0x00000042, + WGPUTextureFormat_EACRG11Snorm = 0x00000043, + WGPUTextureFormat_ASTC4x4Unorm = 0x00000044, + WGPUTextureFormat_ASTC4x4UnormSrgb = 0x00000045, + WGPUTextureFormat_ASTC5x4Unorm = 0x00000046, + WGPUTextureFormat_ASTC5x4UnormSrgb = 0x00000047, + WGPUTextureFormat_ASTC5x5Unorm = 0x00000048, + WGPUTextureFormat_ASTC5x5UnormSrgb = 0x00000049, + WGPUTextureFormat_ASTC6x5Unorm = 0x0000004A, + WGPUTextureFormat_ASTC6x5UnormSrgb = 0x0000004B, + WGPUTextureFormat_ASTC6x6Unorm = 0x0000004C, + WGPUTextureFormat_ASTC6x6UnormSrgb = 0x0000004D, + WGPUTextureFormat_ASTC8x5Unorm = 0x0000004E, + WGPUTextureFormat_ASTC8x5UnormSrgb = 0x0000004F, + WGPUTextureFormat_ASTC8x6Unorm = 0x00000050, + WGPUTextureFormat_ASTC8x6UnormSrgb = 0x00000051, + WGPUTextureFormat_ASTC8x8Unorm = 0x00000052, + WGPUTextureFormat_ASTC8x8UnormSrgb = 0x00000053, + WGPUTextureFormat_ASTC10x5Unorm = 0x00000054, + WGPUTextureFormat_ASTC10x5UnormSrgb = 0x00000055, + WGPUTextureFormat_ASTC10x6Unorm = 0x00000056, + WGPUTextureFormat_ASTC10x6UnormSrgb = 0x00000057, + WGPUTextureFormat_ASTC10x8Unorm = 0x00000058, + WGPUTextureFormat_ASTC10x8UnormSrgb = 0x00000059, + WGPUTextureFormat_ASTC10x10Unorm = 0x0000005A, + WGPUTextureFormat_ASTC10x10UnormSrgb = 0x0000005B, + WGPUTextureFormat_ASTC12x10Unorm = 0x0000005C, + WGPUTextureFormat_ASTC12x10UnormSrgb = 0x0000005D, + WGPUTextureFormat_ASTC12x12Unorm = 0x0000005E, + WGPUTextureFormat_ASTC12x12UnormSrgb = 0x0000005F, + WGPUTextureFormat_R16Unorm = 0x00050000, + WGPUTextureFormat_RG16Unorm = 0x00050001, + WGPUTextureFormat_RGBA16Unorm = 0x00050002, + WGPUTextureFormat_R16Snorm = 0x00050003, + WGPUTextureFormat_RG16Snorm = 0x00050004, + WGPUTextureFormat_RGBA16Snorm = 0x00050005, + WGPUTextureFormat_R8BG8Biplanar420Unorm = 0x00050006, + WGPUTextureFormat_R10X6BG10X6Biplanar420Unorm = 0x00050007, + WGPUTextureFormat_R8BG8A8Triplanar420Unorm = 0x00050008, + WGPUTextureFormat_R8BG8Biplanar422Unorm = 0x00050009, + WGPUTextureFormat_R8BG8Biplanar444Unorm = 0x0005000A, + WGPUTextureFormat_R10X6BG10X6Biplanar422Unorm = 0x0005000B, + WGPUTextureFormat_R10X6BG10X6Biplanar444Unorm = 0x0005000C, + WGPUTextureFormat_External = 0x0005000D, + WGPUTextureFormat_Force32 = 0x7FFFFFFF +} WGPUTextureFormat WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUTextureSampleType { + WGPUTextureSampleType_BindingNotUsed = 0x00000000, + WGPUTextureSampleType_Float = 0x00000001, + WGPUTextureSampleType_UnfilterableFloat = 0x00000002, + WGPUTextureSampleType_Depth = 0x00000003, + WGPUTextureSampleType_Sint = 0x00000004, + WGPUTextureSampleType_Uint = 0x00000005, + WGPUTextureSampleType_Force32 = 0x7FFFFFFF +} WGPUTextureSampleType WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUTextureViewDimension { + WGPUTextureViewDimension_Undefined = 0x00000000, + WGPUTextureViewDimension_1D = 0x00000001, + WGPUTextureViewDimension_2D = 0x00000002, + WGPUTextureViewDimension_2DArray = 0x00000003, + WGPUTextureViewDimension_Cube = 0x00000004, + WGPUTextureViewDimension_CubeArray = 0x00000005, + WGPUTextureViewDimension_3D = 0x00000006, + WGPUTextureViewDimension_Force32 = 0x7FFFFFFF +} WGPUTextureViewDimension WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUVertexFormat { + WGPUVertexFormat_Uint8 = 0x00000001, + WGPUVertexFormat_Uint8x2 = 0x00000002, + WGPUVertexFormat_Uint8x4 = 0x00000003, + WGPUVertexFormat_Sint8 = 0x00000004, + WGPUVertexFormat_Sint8x2 = 0x00000005, + WGPUVertexFormat_Sint8x4 = 0x00000006, + WGPUVertexFormat_Unorm8 = 0x00000007, + WGPUVertexFormat_Unorm8x2 = 0x00000008, + WGPUVertexFormat_Unorm8x4 = 0x00000009, + WGPUVertexFormat_Snorm8 = 0x0000000A, + WGPUVertexFormat_Snorm8x2 = 0x0000000B, + WGPUVertexFormat_Snorm8x4 = 0x0000000C, + WGPUVertexFormat_Uint16 = 0x0000000D, + WGPUVertexFormat_Uint16x2 = 0x0000000E, + WGPUVertexFormat_Uint16x4 = 0x0000000F, + WGPUVertexFormat_Sint16 = 0x00000010, + WGPUVertexFormat_Sint16x2 = 0x00000011, + WGPUVertexFormat_Sint16x4 = 0x00000012, + WGPUVertexFormat_Unorm16 = 0x00000013, + WGPUVertexFormat_Unorm16x2 = 0x00000014, + WGPUVertexFormat_Unorm16x4 = 0x00000015, + WGPUVertexFormat_Snorm16 = 0x00000016, + WGPUVertexFormat_Snorm16x2 = 0x00000017, + WGPUVertexFormat_Snorm16x4 = 0x00000018, + WGPUVertexFormat_Float16 = 0x00000019, + WGPUVertexFormat_Float16x2 = 0x0000001A, + WGPUVertexFormat_Float16x4 = 0x0000001B, + WGPUVertexFormat_Float32 = 0x0000001C, + WGPUVertexFormat_Float32x2 = 0x0000001D, + WGPUVertexFormat_Float32x3 = 0x0000001E, + WGPUVertexFormat_Float32x4 = 0x0000001F, + WGPUVertexFormat_Uint32 = 0x00000020, + WGPUVertexFormat_Uint32x2 = 0x00000021, + WGPUVertexFormat_Uint32x3 = 0x00000022, + WGPUVertexFormat_Uint32x4 = 0x00000023, + WGPUVertexFormat_Sint32 = 0x00000024, + WGPUVertexFormat_Sint32x2 = 0x00000025, + WGPUVertexFormat_Sint32x3 = 0x00000026, + WGPUVertexFormat_Sint32x4 = 0x00000027, + WGPUVertexFormat_Unorm10_10_10_2 = 0x00000028, + WGPUVertexFormat_Unorm8x4BGRA = 0x00000029, + WGPUVertexFormat_Force32 = 0x7FFFFFFF +} WGPUVertexFormat WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUVertexStepMode { + WGPUVertexStepMode_Undefined = 0x00000000, + WGPUVertexStepMode_Vertex = 0x00000001, + WGPUVertexStepMode_Instance = 0x00000002, + WGPUVertexStepMode_Force32 = 0x7FFFFFFF +} WGPUVertexStepMode WGPU_ENUM_ATTRIBUTE; +typedef enum WGPUWaitStatus { + WGPUWaitStatus_Success = 0x00000001, + WGPUWaitStatus_TimedOut = 0x00000002, + WGPUWaitStatus_UnsupportedTimeout = 0x00000003, + WGPUWaitStatus_UnsupportedCount = 0x00000004, + WGPUWaitStatus_UnsupportedMixedSources = 0x00000005, + WGPUWaitStatus_Unknown = 0x00000006, + WGPUWaitStatus_Force32 = 0x7FFFFFFF +} WGPUWaitStatus WGPU_ENUM_ATTRIBUTE; + +typedef WGPUFlags WGPUBufferUsage; +static const WGPUBufferUsage WGPUBufferUsage_None = 0x0000000000000000; +static const WGPUBufferUsage WGPUBufferUsage_MapRead = 0x0000000000000001; +static const WGPUBufferUsage WGPUBufferUsage_MapWrite = 0x0000000000000002; +static const WGPUBufferUsage WGPUBufferUsage_CopySrc = 0x0000000000000004; +static const WGPUBufferUsage WGPUBufferUsage_CopyDst = 0x0000000000000008; +static const WGPUBufferUsage WGPUBufferUsage_Index = 0x0000000000000010; +static const WGPUBufferUsage WGPUBufferUsage_Vertex = 0x0000000000000020; +static const WGPUBufferUsage WGPUBufferUsage_Uniform = 0x0000000000000040; +static const WGPUBufferUsage WGPUBufferUsage_Storage = 0x0000000000000080; +static const WGPUBufferUsage WGPUBufferUsage_Indirect = 0x0000000000000100; +static const WGPUBufferUsage WGPUBufferUsage_QueryResolve = 0x0000000000000200; +typedef WGPUFlags WGPUColorWriteMask; +static const WGPUColorWriteMask WGPUColorWriteMask_None = 0x0000000000000000; +static const WGPUColorWriteMask WGPUColorWriteMask_Red = 0x0000000000000001; +static const WGPUColorWriteMask WGPUColorWriteMask_Green = 0x0000000000000002; +static const WGPUColorWriteMask WGPUColorWriteMask_Blue = 0x0000000000000004; +static const WGPUColorWriteMask WGPUColorWriteMask_Alpha = 0x0000000000000008; +static const WGPUColorWriteMask WGPUColorWriteMask_All = 0x000000000000000F; +typedef WGPUFlags WGPUHeapProperty; +static const WGPUHeapProperty WGPUHeapProperty_DeviceLocal = 0x0000000000000001; +static const WGPUHeapProperty WGPUHeapProperty_HostVisible = 0x0000000000000002; +static const WGPUHeapProperty WGPUHeapProperty_HostCoherent = 0x0000000000000004; +static const WGPUHeapProperty WGPUHeapProperty_HostUncached = 0x0000000000000008; +static const WGPUHeapProperty WGPUHeapProperty_HostCached = 0x0000000000000010; +typedef WGPUFlags WGPUMapMode; +static const WGPUMapMode WGPUMapMode_None = 0x0000000000000000; +static const WGPUMapMode WGPUMapMode_Read = 0x0000000000000001; +static const WGPUMapMode WGPUMapMode_Write = 0x0000000000000002; +typedef WGPUFlags WGPUShaderStage; +static const WGPUShaderStage WGPUShaderStage_None = 0x0000000000000000; +static const WGPUShaderStage WGPUShaderStage_Vertex = 0x0000000000000001; +static const WGPUShaderStage WGPUShaderStage_Fragment = 0x0000000000000002; +static const WGPUShaderStage WGPUShaderStage_Compute = 0x0000000000000004; +typedef WGPUFlags WGPUTextureUsage; +static const WGPUTextureUsage WGPUTextureUsage_None = 0x0000000000000000; +static const WGPUTextureUsage WGPUTextureUsage_CopySrc = 0x0000000000000001; +static const WGPUTextureUsage WGPUTextureUsage_CopyDst = 0x0000000000000002; +static const WGPUTextureUsage WGPUTextureUsage_TextureBinding = 0x0000000000000004; +static const WGPUTextureUsage WGPUTextureUsage_StorageBinding = 0x0000000000000008; +static const WGPUTextureUsage WGPUTextureUsage_RenderAttachment = 0x0000000000000010; +static const WGPUTextureUsage WGPUTextureUsage_TransientAttachment = 0x0000000000000020; +static const WGPUTextureUsage WGPUTextureUsage_StorageAttachment = 0x0000000000000040; +typedef void (*WGPUBufferMapCallback)(WGPUBufferMapAsyncStatus status, void * userdata) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUCallback)(void * userdata) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUCompilationInfoCallback)(WGPUCompilationInfoRequestStatus status, struct WGPUCompilationInfo const * compilationInfo, void * userdata) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUCreateComputePipelineAsyncCallback)(WGPUCreatePipelineAsyncStatus status, WGPUComputePipeline pipeline, struct WGPUStringView message, void * userdata) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUCreateRenderPipelineAsyncCallback)(WGPUCreatePipelineAsyncStatus status, WGPURenderPipeline pipeline, struct WGPUStringView message, void * userdata) WGPU_FUNCTION_ATTRIBUTE; +typedef size_t (*WGPUDawnLoadCacheDataFunction)(void const * key, size_t keySize, void * value, size_t valueSize, void * userdata) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUDawnStoreCacheDataFunction)(void const * key, size_t keySize, void const * value, size_t valueSize, void * userdata) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUDeviceLostCallback)(WGPUDeviceLostReason reason, struct WGPUStringView message, void * userdata) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUDeviceLostCallbackNew)(WGPUDevice const * device, WGPUDeviceLostReason reason, struct WGPUStringView message, void * userdata) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUErrorCallback)(WGPUErrorType type, struct WGPUStringView message, void * userdata) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPULoggingCallback)(WGPULoggingType type, struct WGPUStringView message, void * userdata) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUPopErrorScopeCallback)(WGPUPopErrorScopeStatus status, WGPUErrorType type, struct WGPUStringView message, void * userdata) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProc)(void) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUQueueWorkDoneCallback)(WGPUQueueWorkDoneStatus status, void * userdata) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPURequestAdapterCallback)(WGPURequestAdapterStatus status, WGPUAdapter adapter, struct WGPUStringView message, void * userdata) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPURequestDeviceCallback)(WGPURequestDeviceStatus status, WGPUDevice device, struct WGPUStringView message, void * userdata) WGPU_FUNCTION_ATTRIBUTE; + +// Callback function pointers +typedef void (*WGPUBufferMapCallback2)(WGPUMapAsyncStatus status, struct WGPUStringView message, void* userdata1, void* userdata2) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUCompilationInfoCallback2)(WGPUCompilationInfoRequestStatus status, struct WGPUCompilationInfo const * compilationInfo, void* userdata1, void* userdata2) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUCreateComputePipelineAsyncCallback2)(WGPUCreatePipelineAsyncStatus status, WGPUComputePipeline pipeline, struct WGPUStringView message, void* userdata1, void* userdata2) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUCreateRenderPipelineAsyncCallback2)(WGPUCreatePipelineAsyncStatus status, WGPURenderPipeline pipeline, struct WGPUStringView message, void* userdata1, void* userdata2) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUDeviceLostCallback2)(WGPUDevice const * device, WGPUDeviceLostReason reason, struct WGPUStringView message, void* userdata1, void* userdata2) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUPopErrorScopeCallback2)(WGPUPopErrorScopeStatus status, WGPUErrorType type, struct WGPUStringView message, void* userdata1, void* userdata2) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUQueueWorkDoneCallback2)(WGPUQueueWorkDoneStatus status, void* userdata1, void* userdata2) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPURequestAdapterCallback2)(WGPURequestAdapterStatus status, WGPUAdapter adapter, struct WGPUStringView message, void* userdata1, void* userdata2) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPURequestDeviceCallback2)(WGPURequestDeviceStatus status, WGPUDevice device, struct WGPUStringView message, void* userdata1, void* userdata2) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUUncapturedErrorCallback)(WGPUDevice const * device, WGPUErrorType type, struct WGPUStringView message, void* userdata1, void* userdata2) WGPU_FUNCTION_ATTRIBUTE; + +typedef struct WGPUChainedStruct { + struct WGPUChainedStruct const * next; + WGPUSType sType; +} WGPUChainedStruct WGPU_STRUCTURE_ATTRIBUTE; + +typedef struct WGPUChainedStructOut { + struct WGPUChainedStructOut * next; + WGPUSType sType; +} WGPUChainedStructOut WGPU_STRUCTURE_ATTRIBUTE; + + +#define WGPU_COMMA , + +typedef struct WGPUBufferMapCallbackInfo2 { + WGPUChainedStruct const* nextInChain; + WGPUCallbackMode mode; + WGPUBufferMapCallback2 callback; + void* userdata1; + void* userdata2; +} WGPUBufferMapCallbackInfo2 WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_BUFFER_MAP_CALLBACK_INFO_2_INIT WGPU_MAKE_INIT_STRUCT(WGPUBufferMapCallbackInfo2, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.mode=*/{} WGPU_COMMA \ + /*.callback=*/nullptr WGPU_COMMA \ + /*.userdata1=*/nullptr WGPU_COMMA \ + /*.userdata2=*/nullptr WGPU_COMMA \ +}) + +typedef struct WGPUCompilationInfoCallbackInfo2 { + WGPUChainedStruct const* nextInChain; + WGPUCallbackMode mode; + WGPUCompilationInfoCallback2 callback; + void* userdata1; + void* userdata2; +} WGPUCompilationInfoCallbackInfo2 WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_COMPILATION_INFO_CALLBACK_INFO_2_INIT WGPU_MAKE_INIT_STRUCT(WGPUCompilationInfoCallbackInfo2, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.mode=*/{} WGPU_COMMA \ + /*.callback=*/nullptr WGPU_COMMA \ + /*.userdata1=*/nullptr WGPU_COMMA \ + /*.userdata2=*/nullptr WGPU_COMMA \ +}) + +typedef struct WGPUCreateComputePipelineAsyncCallbackInfo2 { + WGPUChainedStruct const* nextInChain; + WGPUCallbackMode mode; + WGPUCreateComputePipelineAsyncCallback2 callback; + void* userdata1; + void* userdata2; +} WGPUCreateComputePipelineAsyncCallbackInfo2 WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_CREATE_COMPUTE_PIPELINE_ASYNC_CALLBACK_INFO_2_INIT WGPU_MAKE_INIT_STRUCT(WGPUCreateComputePipelineAsyncCallbackInfo2, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.mode=*/{} WGPU_COMMA \ + /*.callback=*/nullptr WGPU_COMMA \ + /*.userdata1=*/nullptr WGPU_COMMA \ + /*.userdata2=*/nullptr WGPU_COMMA \ +}) + +typedef struct WGPUCreateRenderPipelineAsyncCallbackInfo2 { + WGPUChainedStruct const* nextInChain; + WGPUCallbackMode mode; + WGPUCreateRenderPipelineAsyncCallback2 callback; + void* userdata1; + void* userdata2; +} WGPUCreateRenderPipelineAsyncCallbackInfo2 WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_CREATE_RENDER_PIPELINE_ASYNC_CALLBACK_INFO_2_INIT WGPU_MAKE_INIT_STRUCT(WGPUCreateRenderPipelineAsyncCallbackInfo2, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.mode=*/{} WGPU_COMMA \ + /*.callback=*/nullptr WGPU_COMMA \ + /*.userdata1=*/nullptr WGPU_COMMA \ + /*.userdata2=*/nullptr WGPU_COMMA \ +}) + +typedef struct WGPUDeviceLostCallbackInfo2 { + WGPUChainedStruct const* nextInChain; + WGPUCallbackMode mode; + WGPUDeviceLostCallback2 callback; + void* userdata1; + void* userdata2; +} WGPUDeviceLostCallbackInfo2 WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_DEVICE_LOST_CALLBACK_INFO_2_INIT WGPU_MAKE_INIT_STRUCT(WGPUDeviceLostCallbackInfo2, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.mode=*/{} WGPU_COMMA \ + /*.callback=*/nullptr WGPU_COMMA \ + /*.userdata1=*/nullptr WGPU_COMMA \ + /*.userdata2=*/nullptr WGPU_COMMA \ +}) + +typedef struct WGPUPopErrorScopeCallbackInfo2 { + WGPUChainedStruct const* nextInChain; + WGPUCallbackMode mode; + WGPUPopErrorScopeCallback2 callback; + void* userdata1; + void* userdata2; +} WGPUPopErrorScopeCallbackInfo2 WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_POP_ERROR_SCOPE_CALLBACK_INFO_2_INIT WGPU_MAKE_INIT_STRUCT(WGPUPopErrorScopeCallbackInfo2, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.mode=*/{} WGPU_COMMA \ + /*.callback=*/nullptr WGPU_COMMA \ + /*.userdata1=*/nullptr WGPU_COMMA \ + /*.userdata2=*/nullptr WGPU_COMMA \ +}) + +typedef struct WGPUQueueWorkDoneCallbackInfo2 { + WGPUChainedStruct const* nextInChain; + WGPUCallbackMode mode; + WGPUQueueWorkDoneCallback2 callback; + void* userdata1; + void* userdata2; +} WGPUQueueWorkDoneCallbackInfo2 WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_QUEUE_WORK_DONE_CALLBACK_INFO_2_INIT WGPU_MAKE_INIT_STRUCT(WGPUQueueWorkDoneCallbackInfo2, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.mode=*/{} WGPU_COMMA \ + /*.callback=*/nullptr WGPU_COMMA \ + /*.userdata1=*/nullptr WGPU_COMMA \ + /*.userdata2=*/nullptr WGPU_COMMA \ +}) + +typedef struct WGPURequestAdapterCallbackInfo2 { + WGPUChainedStruct const* nextInChain; + WGPUCallbackMode mode; + WGPURequestAdapterCallback2 callback; + void* userdata1; + void* userdata2; +} WGPURequestAdapterCallbackInfo2 WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_REQUEST_ADAPTER_CALLBACK_INFO_2_INIT WGPU_MAKE_INIT_STRUCT(WGPURequestAdapterCallbackInfo2, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.mode=*/{} WGPU_COMMA \ + /*.callback=*/nullptr WGPU_COMMA \ + /*.userdata1=*/nullptr WGPU_COMMA \ + /*.userdata2=*/nullptr WGPU_COMMA \ +}) + +typedef struct WGPURequestDeviceCallbackInfo2 { + WGPUChainedStruct const* nextInChain; + WGPUCallbackMode mode; + WGPURequestDeviceCallback2 callback; + void* userdata1; + void* userdata2; +} WGPURequestDeviceCallbackInfo2 WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_REQUEST_DEVICE_CALLBACK_INFO_2_INIT WGPU_MAKE_INIT_STRUCT(WGPURequestDeviceCallbackInfo2, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.mode=*/{} WGPU_COMMA \ + /*.callback=*/nullptr WGPU_COMMA \ + /*.userdata1=*/nullptr WGPU_COMMA \ + /*.userdata2=*/nullptr WGPU_COMMA \ +}) + +typedef struct WGPUUncapturedErrorCallbackInfo2 { + WGPUChainedStruct const* nextInChain; + WGPUUncapturedErrorCallback callback; + void* userdata1; + void* userdata2; +} WGPUUncapturedErrorCallbackInfo2 WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_UNCAPTURED_ERROR_CALLBACK_INFO_2_INIT WGPU_MAKE_INIT_STRUCT(WGPUUncapturedErrorCallbackInfo2, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.callback=*/nullptr WGPU_COMMA \ + /*.userdata1=*/nullptr WGPU_COMMA \ + /*.userdata2=*/nullptr WGPU_COMMA \ +}) + + +typedef struct WGPUINTERNAL__HAVE_EMDAWNWEBGPU_HEADER { + WGPUBool unused; +} WGPUINTERNAL__HAVE_EMDAWNWEBGPU_HEADER WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_INTERNAL__HAVE_EMDAWNWEBGPU_HEADER_INIT WGPU_MAKE_INIT_STRUCT(WGPUINTERNAL__HAVE_EMDAWNWEBGPU_HEADER, { \ + /*.unused=*/false WGPU_COMMA \ +}) + +// Can be chained in WGPUAdapterInfo +typedef struct WGPUAdapterPropertiesD3D { + WGPUChainedStructOut chain; + uint32_t shaderModel; +} WGPUAdapterPropertiesD3D WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_ADAPTER_PROPERTIES_D3D_INIT WGPU_MAKE_INIT_STRUCT(WGPUAdapterPropertiesD3D, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_AdapterPropertiesD3D} WGPU_COMMA \ + /*.shaderModel=*/{} WGPU_COMMA \ +}) + +// Can be chained in WGPUAdapterInfo +typedef struct WGPUAdapterPropertiesSubgroups { + WGPUChainedStructOut chain; + uint32_t subgroupMinSize; + uint32_t subgroupMaxSize; +} WGPUAdapterPropertiesSubgroups WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_ADAPTER_PROPERTIES_SUBGROUPS_INIT WGPU_MAKE_INIT_STRUCT(WGPUAdapterPropertiesSubgroups, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_AdapterPropertiesSubgroups} WGPU_COMMA \ + /*.subgroupMinSize=*/WGPU_LIMIT_U32_UNDEFINED WGPU_COMMA \ + /*.subgroupMaxSize=*/WGPU_LIMIT_U32_UNDEFINED WGPU_COMMA \ +}) + +// Can be chained in WGPUAdapterInfo +typedef struct WGPUAdapterPropertiesVk { + WGPUChainedStructOut chain; + uint32_t driverVersion; +} WGPUAdapterPropertiesVk WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_ADAPTER_PROPERTIES_VK_INIT WGPU_MAKE_INIT_STRUCT(WGPUAdapterPropertiesVk, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_AdapterPropertiesVk} WGPU_COMMA \ + /*.driverVersion=*/{} WGPU_COMMA \ +}) + +typedef struct WGPUBindGroupEntry { + WGPUChainedStruct const * nextInChain; + uint32_t binding; + WGPU_NULLABLE WGPUBuffer buffer; + uint64_t offset; + uint64_t size; + WGPU_NULLABLE WGPUSampler sampler; + WGPU_NULLABLE WGPUTextureView textureView; +} WGPUBindGroupEntry WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_BIND_GROUP_ENTRY_INIT WGPU_MAKE_INIT_STRUCT(WGPUBindGroupEntry, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.binding=*/{} WGPU_COMMA \ + /*.buffer=*/nullptr WGPU_COMMA \ + /*.offset=*/0 WGPU_COMMA \ + /*.size=*/WGPU_WHOLE_SIZE WGPU_COMMA \ + /*.sampler=*/nullptr WGPU_COMMA \ + /*.textureView=*/nullptr WGPU_COMMA \ +}) + +typedef struct WGPUBlendComponent { + WGPUBlendOperation operation; + WGPUBlendFactor srcFactor; + WGPUBlendFactor dstFactor; +} WGPUBlendComponent WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_BLEND_COMPONENT_INIT WGPU_MAKE_INIT_STRUCT(WGPUBlendComponent, { \ + /*.operation=*/WGPUBlendOperation_Add WGPU_COMMA \ + /*.srcFactor=*/WGPUBlendFactor_One WGPU_COMMA \ + /*.dstFactor=*/WGPUBlendFactor_Zero WGPU_COMMA \ +}) + +typedef struct WGPUBufferBindingLayout { + WGPUChainedStruct const * nextInChain; + WGPUBufferBindingType type; + WGPUBool hasDynamicOffset; + uint64_t minBindingSize; +} WGPUBufferBindingLayout WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_BUFFER_BINDING_LAYOUT_INIT WGPU_MAKE_INIT_STRUCT(WGPUBufferBindingLayout, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.type=*/WGPUBufferBindingType_BindingNotUsed WGPU_COMMA \ + /*.hasDynamicOffset=*/false WGPU_COMMA \ + /*.minBindingSize=*/0 WGPU_COMMA \ +}) + +// Can be chained in WGPUBufferDescriptor +typedef struct WGPUBufferHostMappedPointer { + WGPUChainedStruct chain; + void * pointer; + WGPUCallback disposeCallback; + void * userdata; +} WGPUBufferHostMappedPointer WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_BUFFER_HOST_MAPPED_POINTER_INIT WGPU_MAKE_INIT_STRUCT(WGPUBufferHostMappedPointer, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_BufferHostMappedPointer} WGPU_COMMA \ + /*.pointer=*/{} WGPU_COMMA \ + /*.disposeCallback=*/{} WGPU_COMMA \ + /*.userdata=*/{} WGPU_COMMA \ +}) + +typedef struct WGPUBufferMapCallbackInfo { + WGPUChainedStruct const * nextInChain; + WGPUCallbackMode mode; + WGPUBufferMapCallback callback; + void * userdata; +} WGPUBufferMapCallbackInfo WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_BUFFER_MAP_CALLBACK_INFO_INIT WGPU_MAKE_INIT_STRUCT(WGPUBufferMapCallbackInfo, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.mode=*/{} WGPU_COMMA \ + /*.callback=*/{} WGPU_COMMA \ + /*.userdata=*/{} WGPU_COMMA \ +}) + +typedef struct WGPUColor { + double r; + double g; + double b; + double a; +} WGPUColor WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_COLOR_INIT WGPU_MAKE_INIT_STRUCT(WGPUColor, { \ + /*.r=*/{} WGPU_COMMA \ + /*.g=*/{} WGPU_COMMA \ + /*.b=*/{} WGPU_COMMA \ + /*.a=*/{} WGPU_COMMA \ +}) + +// Can be chained in WGPUColorTargetState +typedef struct WGPUColorTargetStateExpandResolveTextureDawn { + WGPUChainedStruct chain; + WGPUBool enabled; +} WGPUColorTargetStateExpandResolveTextureDawn WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_COLOR_TARGET_STATE_EXPAND_RESOLVE_TEXTURE_DAWN_INIT WGPU_MAKE_INIT_STRUCT(WGPUColorTargetStateExpandResolveTextureDawn, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_ColorTargetStateExpandResolveTextureDawn} WGPU_COMMA \ + /*.enabled=*/false WGPU_COMMA \ +}) + +typedef struct WGPUCompilationInfoCallbackInfo { + WGPUChainedStruct const * nextInChain; + WGPUCallbackMode mode; + WGPUCompilationInfoCallback callback; + void * userdata; +} WGPUCompilationInfoCallbackInfo WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_COMPILATION_INFO_CALLBACK_INFO_INIT WGPU_MAKE_INIT_STRUCT(WGPUCompilationInfoCallbackInfo, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.mode=*/{} WGPU_COMMA \ + /*.callback=*/{} WGPU_COMMA \ + /*.userdata=*/nullptr WGPU_COMMA \ +}) + +typedef struct WGPUComputePassTimestampWrites { + WGPUQuerySet querySet; + uint32_t beginningOfPassWriteIndex; + uint32_t endOfPassWriteIndex; +} WGPUComputePassTimestampWrites WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_COMPUTE_PASS_TIMESTAMP_WRITES_INIT WGPU_MAKE_INIT_STRUCT(WGPUComputePassTimestampWrites, { \ + /*.querySet=*/{} WGPU_COMMA \ + /*.beginningOfPassWriteIndex=*/WGPU_QUERY_SET_INDEX_UNDEFINED WGPU_COMMA \ + /*.endOfPassWriteIndex=*/WGPU_QUERY_SET_INDEX_UNDEFINED WGPU_COMMA \ +}) + +typedef struct WGPUCopyTextureForBrowserOptions { + WGPUChainedStruct const * nextInChain; + WGPUBool flipY; + WGPUBool needsColorSpaceConversion; + WGPUAlphaMode srcAlphaMode; + WGPU_NULLABLE float const * srcTransferFunctionParameters; + WGPU_NULLABLE float const * conversionMatrix; + WGPU_NULLABLE float const * dstTransferFunctionParameters; + WGPUAlphaMode dstAlphaMode; + WGPUBool internalUsage; +} WGPUCopyTextureForBrowserOptions WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_COPY_TEXTURE_FOR_BROWSER_OPTIONS_INIT WGPU_MAKE_INIT_STRUCT(WGPUCopyTextureForBrowserOptions, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.flipY=*/false WGPU_COMMA \ + /*.needsColorSpaceConversion=*/false WGPU_COMMA \ + /*.srcAlphaMode=*/WGPUAlphaMode_Unpremultiplied WGPU_COMMA \ + /*.srcTransferFunctionParameters=*/nullptr WGPU_COMMA \ + /*.conversionMatrix=*/nullptr WGPU_COMMA \ + /*.dstTransferFunctionParameters=*/nullptr WGPU_COMMA \ + /*.dstAlphaMode=*/WGPUAlphaMode_Unpremultiplied WGPU_COMMA \ + /*.internalUsage=*/false WGPU_COMMA \ +}) + +typedef struct WGPUCreateComputePipelineAsyncCallbackInfo { + WGPUChainedStruct const * nextInChain; + WGPUCallbackMode mode; + WGPUCreateComputePipelineAsyncCallback callback; + void * userdata; +} WGPUCreateComputePipelineAsyncCallbackInfo WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_CREATE_COMPUTE_PIPELINE_ASYNC_CALLBACK_INFO_INIT WGPU_MAKE_INIT_STRUCT(WGPUCreateComputePipelineAsyncCallbackInfo, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.mode=*/{} WGPU_COMMA \ + /*.callback=*/{} WGPU_COMMA \ + /*.userdata=*/{} WGPU_COMMA \ +}) + +typedef struct WGPUCreateRenderPipelineAsyncCallbackInfo { + WGPUChainedStruct const * nextInChain; + WGPUCallbackMode mode; + WGPUCreateRenderPipelineAsyncCallback callback; + void * userdata; +} WGPUCreateRenderPipelineAsyncCallbackInfo WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_CREATE_RENDER_PIPELINE_ASYNC_CALLBACK_INFO_INIT WGPU_MAKE_INIT_STRUCT(WGPUCreateRenderPipelineAsyncCallbackInfo, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.mode=*/{} WGPU_COMMA \ + /*.callback=*/{} WGPU_COMMA \ + /*.userdata=*/{} WGPU_COMMA \ +}) + +// Can be chained in WGPUInstanceDescriptor +typedef struct WGPUDawnWGSLBlocklist { + WGPUChainedStruct chain; + size_t blocklistedFeatureCount; + const char* const * blocklistedFeatures; +} WGPUDawnWGSLBlocklist WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_DAWN_WGSL_BLOCKLIST_INIT WGPU_MAKE_INIT_STRUCT(WGPUDawnWGSLBlocklist, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_DawnWGSLBlocklist} WGPU_COMMA \ + /*.blocklistedFeatureCount=*/0 WGPU_COMMA \ + /*.blocklistedFeatures=*/{} WGPU_COMMA \ +}) + +// Can be chained in WGPUAdapterInfo +typedef struct WGPUDawnAdapterPropertiesPowerPreference { + WGPUChainedStructOut chain; + WGPUPowerPreference powerPreference; +} WGPUDawnAdapterPropertiesPowerPreference WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_DAWN_ADAPTER_PROPERTIES_POWER_PREFERENCE_INIT WGPU_MAKE_INIT_STRUCT(WGPUDawnAdapterPropertiesPowerPreference, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_DawnAdapterPropertiesPowerPreference} WGPU_COMMA \ + /*.powerPreference=*/WGPUPowerPreference_Undefined WGPU_COMMA \ +}) + +// Can be chained in WGPUBufferDescriptor +typedef struct WGPUDawnBufferDescriptorErrorInfoFromWireClient { + WGPUChainedStruct chain; + WGPUBool outOfMemory; +} WGPUDawnBufferDescriptorErrorInfoFromWireClient WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_DAWN_BUFFER_DESCRIPTOR_ERROR_INFO_FROM_WIRE_CLIENT_INIT WGPU_MAKE_INIT_STRUCT(WGPUDawnBufferDescriptorErrorInfoFromWireClient, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_DawnBufferDescriptorErrorInfoFromWireClient} WGPU_COMMA \ + /*.outOfMemory=*/false WGPU_COMMA \ +}) + +// Can be chained in WGPUCommandEncoderDescriptor +typedef struct WGPUDawnEncoderInternalUsageDescriptor { + WGPUChainedStruct chain; + WGPUBool useInternalUsages; +} WGPUDawnEncoderInternalUsageDescriptor WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_DAWN_ENCODER_INTERNAL_USAGE_DESCRIPTOR_INIT WGPU_MAKE_INIT_STRUCT(WGPUDawnEncoderInternalUsageDescriptor, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_DawnEncoderInternalUsageDescriptor} WGPU_COMMA \ + /*.useInternalUsages=*/false WGPU_COMMA \ +}) + +// Can be chained in WGPUSupportedLimits +typedef struct WGPUDawnExperimentalImmediateDataLimits { + WGPUChainedStructOut chain; + uint32_t maxImmediateDataRangeByteSize; +} WGPUDawnExperimentalImmediateDataLimits WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_DAWN_EXPERIMENTAL_IMMEDIATE_DATA_LIMITS_INIT WGPU_MAKE_INIT_STRUCT(WGPUDawnExperimentalImmediateDataLimits, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_DawnExperimentalImmediateDataLimits} WGPU_COMMA \ + /*.maxImmediateDataRangeByteSize=*/WGPU_LIMIT_U32_UNDEFINED WGPU_COMMA \ +}) + +// Can be chained in WGPUSupportedLimits +typedef struct WGPUDawnExperimentalSubgroupLimits { + WGPUChainedStructOut chain; + uint32_t minSubgroupSize; + uint32_t maxSubgroupSize; +} WGPUDawnExperimentalSubgroupLimits WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_DAWN_EXPERIMENTAL_SUBGROUP_LIMITS_INIT WGPU_MAKE_INIT_STRUCT(WGPUDawnExperimentalSubgroupLimits, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_DawnExperimentalSubgroupLimits} WGPU_COMMA \ + /*.minSubgroupSize=*/WGPU_LIMIT_U32_UNDEFINED WGPU_COMMA \ + /*.maxSubgroupSize=*/WGPU_LIMIT_U32_UNDEFINED WGPU_COMMA \ +}) + +// Can be chained in WGPURenderPassColorAttachment +typedef struct WGPUDawnRenderPassColorAttachmentRenderToSingleSampled { + WGPUChainedStruct chain; + uint32_t implicitSampleCount; +} WGPUDawnRenderPassColorAttachmentRenderToSingleSampled WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_DAWN_RENDER_PASS_COLOR_ATTACHMENT_RENDER_TO_SINGLE_SAMPLED_INIT WGPU_MAKE_INIT_STRUCT(WGPUDawnRenderPassColorAttachmentRenderToSingleSampled, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_DawnRenderPassColorAttachmentRenderToSingleSampled} WGPU_COMMA \ + /*.implicitSampleCount=*/1 WGPU_COMMA \ +}) + +// Can be chained in WGPUShaderModuleDescriptor +typedef struct WGPUDawnShaderModuleSPIRVOptionsDescriptor { + WGPUChainedStruct chain; + WGPUBool allowNonUniformDerivatives; +} WGPUDawnShaderModuleSPIRVOptionsDescriptor WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_DAWN_SHADER_MODULE_SPIRV_OPTIONS_DESCRIPTOR_INIT WGPU_MAKE_INIT_STRUCT(WGPUDawnShaderModuleSPIRVOptionsDescriptor, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_DawnShaderModuleSPIRVOptionsDescriptor} WGPU_COMMA \ + /*.allowNonUniformDerivatives=*/false WGPU_COMMA \ +}) + +// Can be chained in WGPUSupportedLimits +typedef struct WGPUDawnTexelCopyBufferRowAlignmentLimits { + WGPUChainedStructOut chain; + uint32_t minTexelCopyBufferRowAlignment; +} WGPUDawnTexelCopyBufferRowAlignmentLimits WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_DAWN_TEXEL_COPY_BUFFER_ROW_ALIGNMENT_LIMITS_INIT WGPU_MAKE_INIT_STRUCT(WGPUDawnTexelCopyBufferRowAlignmentLimits, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_DawnTexelCopyBufferRowAlignmentLimits} WGPU_COMMA \ + /*.minTexelCopyBufferRowAlignment=*/WGPU_LIMIT_U32_UNDEFINED WGPU_COMMA \ +}) + +// Can be chained in WGPUTextureDescriptor +typedef struct WGPUDawnTextureInternalUsageDescriptor { + WGPUChainedStruct chain; + WGPUTextureUsage internalUsage; +} WGPUDawnTextureInternalUsageDescriptor WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_DAWN_TEXTURE_INTERNAL_USAGE_DESCRIPTOR_INIT WGPU_MAKE_INIT_STRUCT(WGPUDawnTextureInternalUsageDescriptor, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_DawnTextureInternalUsageDescriptor} WGPU_COMMA \ + /*.internalUsage=*/WGPUTextureUsage_None WGPU_COMMA \ +}) + +// Can be chained in WGPUInstanceDescriptor +// Can be chained in WGPURequestAdapterOptions +// Can be chained in WGPUDeviceDescriptor +typedef struct WGPUDawnTogglesDescriptor { + WGPUChainedStruct chain; + size_t enabledToggleCount; + const char* const * enabledToggles; + size_t disabledToggleCount; + const char* const * disabledToggles; +} WGPUDawnTogglesDescriptor WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_DAWN_TOGGLES_DESCRIPTOR_INIT WGPU_MAKE_INIT_STRUCT(WGPUDawnTogglesDescriptor, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_DawnTogglesDescriptor} WGPU_COMMA \ + /*.enabledToggleCount=*/0 WGPU_COMMA \ + /*.enabledToggles=*/{} WGPU_COMMA \ + /*.disabledToggleCount=*/0 WGPU_COMMA \ + /*.disabledToggles=*/{} WGPU_COMMA \ +}) + +// Can be chained in WGPUInstanceDescriptor +typedef struct WGPUDawnWireWGSLControl { + WGPUChainedStruct chain; + WGPUBool enableExperimental; + WGPUBool enableUnsafe; + WGPUBool enableTesting; +} WGPUDawnWireWGSLControl WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_DAWN_WIRE_WGSL_CONTROL_INIT WGPU_MAKE_INIT_STRUCT(WGPUDawnWireWGSLControl, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_DawnWireWGSLControl} WGPU_COMMA \ + /*.enableExperimental=*/false WGPU_COMMA \ + /*.enableUnsafe=*/false WGPU_COMMA \ + /*.enableTesting=*/false WGPU_COMMA \ +}) + +typedef struct WGPUDeviceLostCallbackInfo { + WGPUChainedStruct const * nextInChain; + WGPUCallbackMode mode; + WGPUDeviceLostCallbackNew callback; + void * userdata; +} WGPUDeviceLostCallbackInfo WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_DEVICE_LOST_CALLBACK_INFO_INIT WGPU_MAKE_INIT_STRUCT(WGPUDeviceLostCallbackInfo, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.mode=*/WGPUCallbackMode_WaitAnyOnly WGPU_COMMA \ + /*.callback=*/nullptr WGPU_COMMA \ + /*.userdata=*/nullptr WGPU_COMMA \ +}) + +typedef struct WGPUDrmFormatProperties { + uint64_t modifier; + uint32_t modifierPlaneCount; +} WGPUDrmFormatProperties WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_DRM_FORMAT_PROPERTIES_INIT WGPU_MAKE_INIT_STRUCT(WGPUDrmFormatProperties, { \ + /*.modifier=*/{} WGPU_COMMA \ + /*.modifierPlaneCount=*/{} WGPU_COMMA \ +}) + +typedef struct WGPUExtent2D { + uint32_t width; + uint32_t height; +} WGPUExtent2D WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_EXTENT_2D_INIT WGPU_MAKE_INIT_STRUCT(WGPUExtent2D, { \ + /*.width=*/{} WGPU_COMMA \ + /*.height=*/{} WGPU_COMMA \ +}) + +typedef struct WGPUExtent3D { + uint32_t width; + uint32_t height; + uint32_t depthOrArrayLayers; +} WGPUExtent3D WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_EXTENT_3D_INIT WGPU_MAKE_INIT_STRUCT(WGPUExtent3D, { \ + /*.width=*/{} WGPU_COMMA \ + /*.height=*/1 WGPU_COMMA \ + /*.depthOrArrayLayers=*/1 WGPU_COMMA \ +}) + +// Can be chained in WGPUBindGroupEntry +typedef struct WGPUExternalTextureBindingEntry { + WGPUChainedStruct chain; + WGPUExternalTexture externalTexture; +} WGPUExternalTextureBindingEntry WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_EXTERNAL_TEXTURE_BINDING_ENTRY_INIT WGPU_MAKE_INIT_STRUCT(WGPUExternalTextureBindingEntry, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_ExternalTextureBindingEntry} WGPU_COMMA \ + /*.externalTexture=*/{} WGPU_COMMA \ +}) + +// Can be chained in WGPUBindGroupLayoutEntry +typedef struct WGPUExternalTextureBindingLayout { + WGPUChainedStruct chain; +} WGPUExternalTextureBindingLayout WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_EXTERNAL_TEXTURE_BINDING_LAYOUT_INIT WGPU_MAKE_INIT_STRUCT(WGPUExternalTextureBindingLayout, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_ExternalTextureBindingLayout} WGPU_COMMA \ +}) + +typedef struct WGPUFormatCapabilities { + WGPUChainedStructOut * nextInChain; +} WGPUFormatCapabilities WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_FORMAT_CAPABILITIES_INIT WGPU_MAKE_INIT_STRUCT(WGPUFormatCapabilities, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ +}) + +typedef struct WGPUFuture { + uint64_t id; +} WGPUFuture WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_FUTURE_INIT WGPU_MAKE_INIT_STRUCT(WGPUFuture, { \ + /*.id=*/{} WGPU_COMMA \ +}) + +typedef struct WGPUInstanceFeatures { + WGPUChainedStruct const * nextInChain; + WGPUBool timedWaitAnyEnable; + size_t timedWaitAnyMaxCount; +} WGPUInstanceFeatures WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_INSTANCE_FEATURES_INIT WGPU_MAKE_INIT_STRUCT(WGPUInstanceFeatures, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.timedWaitAnyEnable=*/false WGPU_COMMA \ + /*.timedWaitAnyMaxCount=*/0 WGPU_COMMA \ +}) + +typedef struct WGPULimits { + uint32_t maxTextureDimension1D; + uint32_t maxTextureDimension2D; + uint32_t maxTextureDimension3D; + uint32_t maxTextureArrayLayers; + uint32_t maxBindGroups; + uint32_t maxBindGroupsPlusVertexBuffers; + uint32_t maxBindingsPerBindGroup; + uint32_t maxDynamicUniformBuffersPerPipelineLayout; + uint32_t maxDynamicStorageBuffersPerPipelineLayout; + uint32_t maxSampledTexturesPerShaderStage; + uint32_t maxSamplersPerShaderStage; + uint32_t maxStorageBuffersPerShaderStage; + uint32_t maxStorageTexturesPerShaderStage; + uint32_t maxUniformBuffersPerShaderStage; + uint64_t maxUniformBufferBindingSize; + uint64_t maxStorageBufferBindingSize; + uint32_t minUniformBufferOffsetAlignment; + uint32_t minStorageBufferOffsetAlignment; + uint32_t maxVertexBuffers; + uint64_t maxBufferSize; + uint32_t maxVertexAttributes; + uint32_t maxVertexBufferArrayStride; + uint32_t maxInterStageShaderComponents; + uint32_t maxInterStageShaderVariables; + uint32_t maxColorAttachments; + uint32_t maxColorAttachmentBytesPerSample; + uint32_t maxComputeWorkgroupStorageSize; + uint32_t maxComputeInvocationsPerWorkgroup; + uint32_t maxComputeWorkgroupSizeX; + uint32_t maxComputeWorkgroupSizeY; + uint32_t maxComputeWorkgroupSizeZ; + uint32_t maxComputeWorkgroupsPerDimension; + uint32_t maxStorageBuffersInVertexStage; + uint32_t maxStorageTexturesInVertexStage; + uint32_t maxStorageBuffersInFragmentStage; + uint32_t maxStorageTexturesInFragmentStage; +} WGPULimits WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_LIMITS_INIT WGPU_MAKE_INIT_STRUCT(WGPULimits, { \ + /*.maxTextureDimension1D=*/WGPU_LIMIT_U32_UNDEFINED WGPU_COMMA \ + /*.maxTextureDimension2D=*/WGPU_LIMIT_U32_UNDEFINED WGPU_COMMA \ + /*.maxTextureDimension3D=*/WGPU_LIMIT_U32_UNDEFINED WGPU_COMMA \ + /*.maxTextureArrayLayers=*/WGPU_LIMIT_U32_UNDEFINED WGPU_COMMA \ + /*.maxBindGroups=*/WGPU_LIMIT_U32_UNDEFINED WGPU_COMMA \ + /*.maxBindGroupsPlusVertexBuffers=*/WGPU_LIMIT_U32_UNDEFINED WGPU_COMMA \ + /*.maxBindingsPerBindGroup=*/WGPU_LIMIT_U32_UNDEFINED WGPU_COMMA \ + /*.maxDynamicUniformBuffersPerPipelineLayout=*/WGPU_LIMIT_U32_UNDEFINED WGPU_COMMA \ + /*.maxDynamicStorageBuffersPerPipelineLayout=*/WGPU_LIMIT_U32_UNDEFINED WGPU_COMMA \ + /*.maxSampledTexturesPerShaderStage=*/WGPU_LIMIT_U32_UNDEFINED WGPU_COMMA \ + /*.maxSamplersPerShaderStage=*/WGPU_LIMIT_U32_UNDEFINED WGPU_COMMA \ + /*.maxStorageBuffersPerShaderStage=*/WGPU_LIMIT_U32_UNDEFINED WGPU_COMMA \ + /*.maxStorageTexturesPerShaderStage=*/WGPU_LIMIT_U32_UNDEFINED WGPU_COMMA \ + /*.maxUniformBuffersPerShaderStage=*/WGPU_LIMIT_U32_UNDEFINED WGPU_COMMA \ + /*.maxUniformBufferBindingSize=*/WGPU_LIMIT_U64_UNDEFINED WGPU_COMMA \ + /*.maxStorageBufferBindingSize=*/WGPU_LIMIT_U64_UNDEFINED WGPU_COMMA \ + /*.minUniformBufferOffsetAlignment=*/WGPU_LIMIT_U32_UNDEFINED WGPU_COMMA \ + /*.minStorageBufferOffsetAlignment=*/WGPU_LIMIT_U32_UNDEFINED WGPU_COMMA \ + /*.maxVertexBuffers=*/WGPU_LIMIT_U32_UNDEFINED WGPU_COMMA \ + /*.maxBufferSize=*/WGPU_LIMIT_U64_UNDEFINED WGPU_COMMA \ + /*.maxVertexAttributes=*/WGPU_LIMIT_U32_UNDEFINED WGPU_COMMA \ + /*.maxVertexBufferArrayStride=*/WGPU_LIMIT_U32_UNDEFINED WGPU_COMMA \ + /*.maxInterStageShaderComponents=*/WGPU_LIMIT_U32_UNDEFINED WGPU_COMMA \ + /*.maxInterStageShaderVariables=*/WGPU_LIMIT_U32_UNDEFINED WGPU_COMMA \ + /*.maxColorAttachments=*/WGPU_LIMIT_U32_UNDEFINED WGPU_COMMA \ + /*.maxColorAttachmentBytesPerSample=*/WGPU_LIMIT_U32_UNDEFINED WGPU_COMMA \ + /*.maxComputeWorkgroupStorageSize=*/WGPU_LIMIT_U32_UNDEFINED WGPU_COMMA \ + /*.maxComputeInvocationsPerWorkgroup=*/WGPU_LIMIT_U32_UNDEFINED WGPU_COMMA \ + /*.maxComputeWorkgroupSizeX=*/WGPU_LIMIT_U32_UNDEFINED WGPU_COMMA \ + /*.maxComputeWorkgroupSizeY=*/WGPU_LIMIT_U32_UNDEFINED WGPU_COMMA \ + /*.maxComputeWorkgroupSizeZ=*/WGPU_LIMIT_U32_UNDEFINED WGPU_COMMA \ + /*.maxComputeWorkgroupsPerDimension=*/WGPU_LIMIT_U32_UNDEFINED WGPU_COMMA \ + /*.maxStorageBuffersInVertexStage=*/WGPU_LIMIT_U32_UNDEFINED WGPU_COMMA \ + /*.maxStorageTexturesInVertexStage=*/WGPU_LIMIT_U32_UNDEFINED WGPU_COMMA \ + /*.maxStorageBuffersInFragmentStage=*/WGPU_LIMIT_U32_UNDEFINED WGPU_COMMA \ + /*.maxStorageTexturesInFragmentStage=*/WGPU_LIMIT_U32_UNDEFINED WGPU_COMMA \ +}) + +typedef struct WGPUMemoryHeapInfo { + WGPUHeapProperty properties; + uint64_t size; +} WGPUMemoryHeapInfo WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_MEMORY_HEAP_INFO_INIT WGPU_MAKE_INIT_STRUCT(WGPUMemoryHeapInfo, { \ + /*.properties=*/{} WGPU_COMMA \ + /*.size=*/{} WGPU_COMMA \ +}) + +typedef struct WGPUMultisampleState { + WGPUChainedStruct const * nextInChain; + uint32_t count; + uint32_t mask; + WGPUBool alphaToCoverageEnabled; +} WGPUMultisampleState WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_MULTISAMPLE_STATE_INIT WGPU_MAKE_INIT_STRUCT(WGPUMultisampleState, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.count=*/1 WGPU_COMMA \ + /*.mask=*/0xFFFFFFFF WGPU_COMMA \ + /*.alphaToCoverageEnabled=*/false WGPU_COMMA \ +}) + +typedef struct WGPUOrigin2D { + uint32_t x; + uint32_t y; +} WGPUOrigin2D WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_ORIGIN_2D_INIT WGPU_MAKE_INIT_STRUCT(WGPUOrigin2D, { \ + /*.x=*/0 WGPU_COMMA \ + /*.y=*/0 WGPU_COMMA \ +}) + +typedef struct WGPUOrigin3D { + uint32_t x; + uint32_t y; + uint32_t z; +} WGPUOrigin3D WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_ORIGIN_3D_INIT WGPU_MAKE_INIT_STRUCT(WGPUOrigin3D, { \ + /*.x=*/0 WGPU_COMMA \ + /*.y=*/0 WGPU_COMMA \ + /*.z=*/0 WGPU_COMMA \ +}) + +typedef struct WGPUPipelineLayoutStorageAttachment { + uint64_t offset; + WGPUTextureFormat format; +} WGPUPipelineLayoutStorageAttachment WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_PIPELINE_LAYOUT_STORAGE_ATTACHMENT_INIT WGPU_MAKE_INIT_STRUCT(WGPUPipelineLayoutStorageAttachment, { \ + /*.offset=*/0 WGPU_COMMA \ + /*.format=*/{} WGPU_COMMA \ +}) + +typedef struct WGPUPopErrorScopeCallbackInfo { + WGPUChainedStruct const * nextInChain; + WGPUCallbackMode mode; + WGPUPopErrorScopeCallback callback; + WGPUErrorCallback oldCallback; + void * userdata; +} WGPUPopErrorScopeCallbackInfo WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_POP_ERROR_SCOPE_CALLBACK_INFO_INIT WGPU_MAKE_INIT_STRUCT(WGPUPopErrorScopeCallbackInfo, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.mode=*/WGPUCallbackMode_WaitAnyOnly WGPU_COMMA \ + /*.callback=*/{} WGPU_COMMA \ + /*.oldCallback=*/{} WGPU_COMMA \ + /*.userdata=*/nullptr WGPU_COMMA \ +}) + +typedef struct WGPUPrimitiveState { + WGPUChainedStruct const * nextInChain; + WGPUPrimitiveTopology topology; + WGPUIndexFormat stripIndexFormat; + WGPUFrontFace frontFace; + WGPUCullMode cullMode; + WGPUBool unclippedDepth; +} WGPUPrimitiveState WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_PRIMITIVE_STATE_INIT WGPU_MAKE_INIT_STRUCT(WGPUPrimitiveState, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.topology=*/WGPUPrimitiveTopology_TriangleList WGPU_COMMA \ + /*.stripIndexFormat=*/WGPUIndexFormat_Undefined WGPU_COMMA \ + /*.frontFace=*/WGPUFrontFace_CCW WGPU_COMMA \ + /*.cullMode=*/WGPUCullMode_None WGPU_COMMA \ + /*.unclippedDepth=*/false WGPU_COMMA \ +}) + +typedef struct WGPUQueueWorkDoneCallbackInfo { + WGPUChainedStruct const * nextInChain; + WGPUCallbackMode mode; + WGPUQueueWorkDoneCallback callback; + void * userdata; +} WGPUQueueWorkDoneCallbackInfo WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_QUEUE_WORK_DONE_CALLBACK_INFO_INIT WGPU_MAKE_INIT_STRUCT(WGPUQueueWorkDoneCallbackInfo, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.mode=*/{} WGPU_COMMA \ + /*.callback=*/{} WGPU_COMMA \ + /*.userdata=*/{} WGPU_COMMA \ +}) + +typedef struct WGPURenderPassDepthStencilAttachment { + WGPUTextureView view; + WGPULoadOp depthLoadOp; + WGPUStoreOp depthStoreOp; + float depthClearValue; + WGPUBool depthReadOnly; + WGPULoadOp stencilLoadOp; + WGPUStoreOp stencilStoreOp; + uint32_t stencilClearValue; + WGPUBool stencilReadOnly; +} WGPURenderPassDepthStencilAttachment WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_RENDER_PASS_DEPTH_STENCIL_ATTACHMENT_INIT WGPU_MAKE_INIT_STRUCT(WGPURenderPassDepthStencilAttachment, { \ + /*.view=*/{} WGPU_COMMA \ + /*.depthLoadOp=*/WGPULoadOp_Undefined WGPU_COMMA \ + /*.depthStoreOp=*/WGPUStoreOp_Undefined WGPU_COMMA \ + /*.depthClearValue=*/NAN WGPU_COMMA \ + /*.depthReadOnly=*/false WGPU_COMMA \ + /*.stencilLoadOp=*/WGPULoadOp_Undefined WGPU_COMMA \ + /*.stencilStoreOp=*/WGPUStoreOp_Undefined WGPU_COMMA \ + /*.stencilClearValue=*/0 WGPU_COMMA \ + /*.stencilReadOnly=*/false WGPU_COMMA \ +}) + +// Can be chained in WGPURenderPassDescriptor +typedef struct WGPURenderPassDescriptorExpandResolveRect { + WGPUChainedStruct chain; + uint32_t x; + uint32_t y; + uint32_t width; + uint32_t height; +} WGPURenderPassDescriptorExpandResolveRect WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_RENDER_PASS_DESCRIPTOR_EXPAND_RESOLVE_RECT_INIT WGPU_MAKE_INIT_STRUCT(WGPURenderPassDescriptorExpandResolveRect, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_RenderPassDescriptorExpandResolveRect} WGPU_COMMA \ + /*.x=*/{} WGPU_COMMA \ + /*.y=*/{} WGPU_COMMA \ + /*.width=*/{} WGPU_COMMA \ + /*.height=*/{} WGPU_COMMA \ +}) + +// Can be chained in WGPURenderPassDescriptor +typedef struct WGPURenderPassMaxDrawCount { + WGPUChainedStruct chain; + uint64_t maxDrawCount; +} WGPURenderPassMaxDrawCount WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_RENDER_PASS_MAX_DRAW_COUNT_INIT WGPU_MAKE_INIT_STRUCT(WGPURenderPassMaxDrawCount, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_RenderPassMaxDrawCount} WGPU_COMMA \ + /*.maxDrawCount=*/50000000 WGPU_COMMA \ +}) + +typedef struct WGPURenderPassTimestampWrites { + WGPUQuerySet querySet; + uint32_t beginningOfPassWriteIndex; + uint32_t endOfPassWriteIndex; +} WGPURenderPassTimestampWrites WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_RENDER_PASS_TIMESTAMP_WRITES_INIT WGPU_MAKE_INIT_STRUCT(WGPURenderPassTimestampWrites, { \ + /*.querySet=*/{} WGPU_COMMA \ + /*.beginningOfPassWriteIndex=*/WGPU_QUERY_SET_INDEX_UNDEFINED WGPU_COMMA \ + /*.endOfPassWriteIndex=*/WGPU_QUERY_SET_INDEX_UNDEFINED WGPU_COMMA \ +}) + +typedef struct WGPURequestAdapterCallbackInfo { + WGPUChainedStruct const * nextInChain; + WGPUCallbackMode mode; + WGPURequestAdapterCallback callback; + void * userdata; +} WGPURequestAdapterCallbackInfo WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_REQUEST_ADAPTER_CALLBACK_INFO_INIT WGPU_MAKE_INIT_STRUCT(WGPURequestAdapterCallbackInfo, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.mode=*/{} WGPU_COMMA \ + /*.callback=*/{} WGPU_COMMA \ + /*.userdata=*/{} WGPU_COMMA \ +}) + +typedef struct WGPURequestAdapterOptions { + WGPUChainedStruct const * nextInChain; + WGPU_NULLABLE WGPUSurface compatibleSurface; + WGPUFeatureLevel featureLevel; + WGPUPowerPreference powerPreference; + WGPUBackendType backendType; + WGPUBool forceFallbackAdapter; + WGPUBool compatibilityMode; +} WGPURequestAdapterOptions WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_REQUEST_ADAPTER_OPTIONS_INIT WGPU_MAKE_INIT_STRUCT(WGPURequestAdapterOptions, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.compatibleSurface=*/nullptr WGPU_COMMA \ + /*.featureLevel=*/WGPUFeatureLevel_Core WGPU_COMMA \ + /*.powerPreference=*/WGPUPowerPreference_Undefined WGPU_COMMA \ + /*.backendType=*/WGPUBackendType_Undefined WGPU_COMMA \ + /*.forceFallbackAdapter=*/false WGPU_COMMA \ + /*.compatibilityMode=*/false WGPU_COMMA \ +}) + +typedef struct WGPURequestDeviceCallbackInfo { + WGPUChainedStruct const * nextInChain; + WGPUCallbackMode mode; + WGPURequestDeviceCallback callback; + void * userdata; +} WGPURequestDeviceCallbackInfo WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_REQUEST_DEVICE_CALLBACK_INFO_INIT WGPU_MAKE_INIT_STRUCT(WGPURequestDeviceCallbackInfo, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.mode=*/{} WGPU_COMMA \ + /*.callback=*/{} WGPU_COMMA \ + /*.userdata=*/{} WGPU_COMMA \ +}) + +typedef struct WGPUSamplerBindingLayout { + WGPUChainedStruct const * nextInChain; + WGPUSamplerBindingType type; +} WGPUSamplerBindingLayout WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SAMPLER_BINDING_LAYOUT_INIT WGPU_MAKE_INIT_STRUCT(WGPUSamplerBindingLayout, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.type=*/WGPUSamplerBindingType_BindingNotUsed WGPU_COMMA \ +}) + +// Can be chained in WGPUShaderModuleDescriptor +typedef struct WGPUShaderModuleCompilationOptions { + WGPUChainedStruct chain; + WGPUBool strictMath; +} WGPUShaderModuleCompilationOptions WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SHADER_MODULE_COMPILATION_OPTIONS_INIT WGPU_MAKE_INIT_STRUCT(WGPUShaderModuleCompilationOptions, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_ShaderModuleCompilationOptions} WGPU_COMMA \ + /*.strictMath=*/{} WGPU_COMMA \ +}) + +// Can be chained in WGPUShaderModuleDescriptor +typedef struct WGPUShaderSourceSPIRV { + WGPUChainedStruct chain; + uint32_t codeSize; + uint32_t const * code; +} WGPUShaderSourceSPIRV WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SHADER_SOURCE_SPIRV_INIT WGPU_MAKE_INIT_STRUCT(WGPUShaderSourceSPIRV, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_ShaderSourceSPIRV} WGPU_COMMA \ + /*.codeSize=*/{} WGPU_COMMA \ + /*.code=*/{} WGPU_COMMA \ +}) + +typedef struct WGPUSharedBufferMemoryBeginAccessDescriptor { + WGPUChainedStruct const * nextInChain; + WGPUBool initialized; + size_t fenceCount; + WGPUSharedFence const * fences; + uint64_t const * signaledValues; +} WGPUSharedBufferMemoryBeginAccessDescriptor WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SHARED_BUFFER_MEMORY_BEGIN_ACCESS_DESCRIPTOR_INIT WGPU_MAKE_INIT_STRUCT(WGPUSharedBufferMemoryBeginAccessDescriptor, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.initialized=*/{} WGPU_COMMA \ + /*.fenceCount=*/0 WGPU_COMMA \ + /*.fences=*/{} WGPU_COMMA \ + /*.signaledValues=*/{} WGPU_COMMA \ +}) + +typedef struct WGPUSharedBufferMemoryEndAccessState { + WGPUChainedStructOut * nextInChain; + WGPUBool initialized; + size_t fenceCount; + WGPUSharedFence const * fences; + uint64_t const * signaledValues; +} WGPUSharedBufferMemoryEndAccessState WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SHARED_BUFFER_MEMORY_END_ACCESS_STATE_INIT WGPU_MAKE_INIT_STRUCT(WGPUSharedBufferMemoryEndAccessState, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.initialized=*/{} WGPU_COMMA \ + /*.fenceCount=*/0 WGPU_COMMA \ + /*.fences=*/{} WGPU_COMMA \ + /*.signaledValues=*/{} WGPU_COMMA \ +}) + +typedef struct WGPUSharedBufferMemoryProperties { + WGPUChainedStructOut * nextInChain; + WGPUBufferUsage usage; + uint64_t size; +} WGPUSharedBufferMemoryProperties WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SHARED_BUFFER_MEMORY_PROPERTIES_INIT WGPU_MAKE_INIT_STRUCT(WGPUSharedBufferMemoryProperties, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.usage=*/{} WGPU_COMMA \ + /*.size=*/{} WGPU_COMMA \ +}) + +// Can be chained in WGPUSharedFenceDescriptor +typedef struct WGPUSharedFenceDXGISharedHandleDescriptor { + WGPUChainedStruct chain; + void * handle; +} WGPUSharedFenceDXGISharedHandleDescriptor WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SHARED_FENCE_DXGI_SHARED_HANDLE_DESCRIPTOR_INIT WGPU_MAKE_INIT_STRUCT(WGPUSharedFenceDXGISharedHandleDescriptor, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_SharedFenceDXGISharedHandleDescriptor} WGPU_COMMA \ + /*.handle=*/{} WGPU_COMMA \ +}) + +// Can be chained in WGPUSharedFenceExportInfo +typedef struct WGPUSharedFenceDXGISharedHandleExportInfo { + WGPUChainedStructOut chain; + void * handle; +} WGPUSharedFenceDXGISharedHandleExportInfo WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SHARED_FENCE_DXGI_SHARED_HANDLE_EXPORT_INFO_INIT WGPU_MAKE_INIT_STRUCT(WGPUSharedFenceDXGISharedHandleExportInfo, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_SharedFenceDXGISharedHandleExportInfo} WGPU_COMMA \ + /*.handle=*/{} WGPU_COMMA \ +}) + +// Can be chained in WGPUSharedFenceDescriptor +typedef struct WGPUSharedFenceMTLSharedEventDescriptor { + WGPUChainedStruct chain; + void * sharedEvent; +} WGPUSharedFenceMTLSharedEventDescriptor WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SHARED_FENCE_MTL_SHARED_EVENT_DESCRIPTOR_INIT WGPU_MAKE_INIT_STRUCT(WGPUSharedFenceMTLSharedEventDescriptor, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_SharedFenceMTLSharedEventDescriptor} WGPU_COMMA \ + /*.sharedEvent=*/{} WGPU_COMMA \ +}) + +// Can be chained in WGPUSharedFenceExportInfo +typedef struct WGPUSharedFenceMTLSharedEventExportInfo { + WGPUChainedStructOut chain; + void * sharedEvent; +} WGPUSharedFenceMTLSharedEventExportInfo WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SHARED_FENCE_MTL_SHARED_EVENT_EXPORT_INFO_INIT WGPU_MAKE_INIT_STRUCT(WGPUSharedFenceMTLSharedEventExportInfo, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_SharedFenceMTLSharedEventExportInfo} WGPU_COMMA \ + /*.sharedEvent=*/{} WGPU_COMMA \ +}) + +typedef struct WGPUSharedFenceExportInfo { + WGPUChainedStructOut * nextInChain; + WGPUSharedFenceType type; +} WGPUSharedFenceExportInfo WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SHARED_FENCE_EXPORT_INFO_INIT WGPU_MAKE_INIT_STRUCT(WGPUSharedFenceExportInfo, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.type=*/{} WGPU_COMMA \ +}) + +// Can be chained in WGPUSharedFenceDescriptor +typedef struct WGPUSharedFenceSyncFDDescriptor { + WGPUChainedStruct chain; + int handle; +} WGPUSharedFenceSyncFDDescriptor WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SHARED_FENCE_SYNC_FD_DESCRIPTOR_INIT WGPU_MAKE_INIT_STRUCT(WGPUSharedFenceSyncFDDescriptor, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_SharedFenceSyncFDDescriptor} WGPU_COMMA \ + /*.handle=*/{} WGPU_COMMA \ +}) + +// Can be chained in WGPUSharedFenceExportInfo +typedef struct WGPUSharedFenceSyncFDExportInfo { + WGPUChainedStructOut chain; + int handle; +} WGPUSharedFenceSyncFDExportInfo WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SHARED_FENCE_SYNC_FD_EXPORT_INFO_INIT WGPU_MAKE_INIT_STRUCT(WGPUSharedFenceSyncFDExportInfo, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_SharedFenceSyncFDExportInfo} WGPU_COMMA \ + /*.handle=*/{} WGPU_COMMA \ +}) + +// Can be chained in WGPUSharedFenceDescriptor +typedef struct WGPUSharedFenceVkSemaphoreOpaqueFDDescriptor { + WGPUChainedStruct chain; + int handle; +} WGPUSharedFenceVkSemaphoreOpaqueFDDescriptor WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SHARED_FENCE_VK_SEMAPHORE_OPAQUE_FD_DESCRIPTOR_INIT WGPU_MAKE_INIT_STRUCT(WGPUSharedFenceVkSemaphoreOpaqueFDDescriptor, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_SharedFenceVkSemaphoreOpaqueFDDescriptor} WGPU_COMMA \ + /*.handle=*/{} WGPU_COMMA \ +}) + +// Can be chained in WGPUSharedFenceExportInfo +typedef struct WGPUSharedFenceVkSemaphoreOpaqueFDExportInfo { + WGPUChainedStructOut chain; + int handle; +} WGPUSharedFenceVkSemaphoreOpaqueFDExportInfo WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SHARED_FENCE_VK_SEMAPHORE_OPAQUE_FD_EXPORT_INFO_INIT WGPU_MAKE_INIT_STRUCT(WGPUSharedFenceVkSemaphoreOpaqueFDExportInfo, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_SharedFenceVkSemaphoreOpaqueFDExportInfo} WGPU_COMMA \ + /*.handle=*/{} WGPU_COMMA \ +}) + +// Can be chained in WGPUSharedFenceDescriptor +typedef struct WGPUSharedFenceVkSemaphoreZirconHandleDescriptor { + WGPUChainedStruct chain; + uint32_t handle; +} WGPUSharedFenceVkSemaphoreZirconHandleDescriptor WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SHARED_FENCE_VK_SEMAPHORE_ZIRCON_HANDLE_DESCRIPTOR_INIT WGPU_MAKE_INIT_STRUCT(WGPUSharedFenceVkSemaphoreZirconHandleDescriptor, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_SharedFenceVkSemaphoreZirconHandleDescriptor} WGPU_COMMA \ + /*.handle=*/{} WGPU_COMMA \ +}) + +// Can be chained in WGPUSharedFenceExportInfo +typedef struct WGPUSharedFenceVkSemaphoreZirconHandleExportInfo { + WGPUChainedStructOut chain; + uint32_t handle; +} WGPUSharedFenceVkSemaphoreZirconHandleExportInfo WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SHARED_FENCE_VK_SEMAPHORE_ZIRCON_HANDLE_EXPORT_INFO_INIT WGPU_MAKE_INIT_STRUCT(WGPUSharedFenceVkSemaphoreZirconHandleExportInfo, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_SharedFenceVkSemaphoreZirconHandleExportInfo} WGPU_COMMA \ + /*.handle=*/{} WGPU_COMMA \ +}) + +// Can be chained in WGPUSharedTextureMemoryBeginAccessDescriptor +typedef struct WGPUSharedTextureMemoryD3DSwapchainBeginState { + WGPUChainedStruct chain; + WGPUBool isSwapchain; +} WGPUSharedTextureMemoryD3DSwapchainBeginState WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SHARED_TEXTURE_MEMORY_D3D_SWAPCHAIN_BEGIN_STATE_INIT WGPU_MAKE_INIT_STRUCT(WGPUSharedTextureMemoryD3DSwapchainBeginState, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_SharedTextureMemoryD3DSwapchainBeginState} WGPU_COMMA \ + /*.isSwapchain=*/false WGPU_COMMA \ +}) + +// Can be chained in WGPUSharedTextureMemoryDescriptor +typedef struct WGPUSharedTextureMemoryDXGISharedHandleDescriptor { + WGPUChainedStruct chain; + void * handle; + WGPUBool useKeyedMutex; +} WGPUSharedTextureMemoryDXGISharedHandleDescriptor WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SHARED_TEXTURE_MEMORY_DXGI_SHARED_HANDLE_DESCRIPTOR_INIT WGPU_MAKE_INIT_STRUCT(WGPUSharedTextureMemoryDXGISharedHandleDescriptor, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_SharedTextureMemoryDXGISharedHandleDescriptor} WGPU_COMMA \ + /*.handle=*/{} WGPU_COMMA \ + /*.useKeyedMutex=*/{} WGPU_COMMA \ +}) + +// Can be chained in WGPUSharedTextureMemoryDescriptor +typedef struct WGPUSharedTextureMemoryEGLImageDescriptor { + WGPUChainedStruct chain; + void * image; +} WGPUSharedTextureMemoryEGLImageDescriptor WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SHARED_TEXTURE_MEMORY_EGL_IMAGE_DESCRIPTOR_INIT WGPU_MAKE_INIT_STRUCT(WGPUSharedTextureMemoryEGLImageDescriptor, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_SharedTextureMemoryEGLImageDescriptor} WGPU_COMMA \ + /*.image=*/{} WGPU_COMMA \ +}) + +// Can be chained in WGPUSharedTextureMemoryDescriptor +typedef struct WGPUSharedTextureMemoryIOSurfaceDescriptor { + WGPUChainedStruct chain; + void * ioSurface; +} WGPUSharedTextureMemoryIOSurfaceDescriptor WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SHARED_TEXTURE_MEMORY_IO_SURFACE_DESCRIPTOR_INIT WGPU_MAKE_INIT_STRUCT(WGPUSharedTextureMemoryIOSurfaceDescriptor, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_SharedTextureMemoryIOSurfaceDescriptor} WGPU_COMMA \ + /*.ioSurface=*/{} WGPU_COMMA \ +}) + +// Can be chained in WGPUSharedTextureMemoryDescriptor +typedef struct WGPUSharedTextureMemoryAHardwareBufferDescriptor { + WGPUChainedStruct chain; + void * handle; + WGPUBool useExternalFormat; +} WGPUSharedTextureMemoryAHardwareBufferDescriptor WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SHARED_TEXTURE_MEMORY_A_HARDWARE_BUFFER_DESCRIPTOR_INIT WGPU_MAKE_INIT_STRUCT(WGPUSharedTextureMemoryAHardwareBufferDescriptor, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_SharedTextureMemoryAHardwareBufferDescriptor} WGPU_COMMA \ + /*.handle=*/{} WGPU_COMMA \ + /*.useExternalFormat=*/{} WGPU_COMMA \ +}) + +typedef struct WGPUSharedTextureMemoryBeginAccessDescriptor { + WGPUChainedStruct const * nextInChain; + WGPUBool concurrentRead; + WGPUBool initialized; + size_t fenceCount; + WGPUSharedFence const * fences; + uint64_t const * signaledValues; +} WGPUSharedTextureMemoryBeginAccessDescriptor WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SHARED_TEXTURE_MEMORY_BEGIN_ACCESS_DESCRIPTOR_INIT WGPU_MAKE_INIT_STRUCT(WGPUSharedTextureMemoryBeginAccessDescriptor, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.concurrentRead=*/{} WGPU_COMMA \ + /*.initialized=*/{} WGPU_COMMA \ + /*.fenceCount=*/{} WGPU_COMMA \ + /*.fences=*/{} WGPU_COMMA \ + /*.signaledValues=*/{} WGPU_COMMA \ +}) + +typedef struct WGPUSharedTextureMemoryDmaBufPlane { + int fd; + uint64_t offset; + uint32_t stride; +} WGPUSharedTextureMemoryDmaBufPlane WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SHARED_TEXTURE_MEMORY_DMA_BUF_PLANE_INIT WGPU_MAKE_INIT_STRUCT(WGPUSharedTextureMemoryDmaBufPlane, { \ + /*.fd=*/{} WGPU_COMMA \ + /*.offset=*/{} WGPU_COMMA \ + /*.stride=*/{} WGPU_COMMA \ +}) + +typedef struct WGPUSharedTextureMemoryEndAccessState { + WGPUChainedStructOut * nextInChain; + WGPUBool initialized; + size_t fenceCount; + WGPUSharedFence const * fences; + uint64_t const * signaledValues; +} WGPUSharedTextureMemoryEndAccessState WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SHARED_TEXTURE_MEMORY_END_ACCESS_STATE_INIT WGPU_MAKE_INIT_STRUCT(WGPUSharedTextureMemoryEndAccessState, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.initialized=*/{} WGPU_COMMA \ + /*.fenceCount=*/{} WGPU_COMMA \ + /*.fences=*/{} WGPU_COMMA \ + /*.signaledValues=*/{} WGPU_COMMA \ +}) + +// Can be chained in WGPUSharedTextureMemoryDescriptor +typedef struct WGPUSharedTextureMemoryOpaqueFDDescriptor { + WGPUChainedStruct chain; + void const * vkImageCreateInfo; + int memoryFD; + uint32_t memoryTypeIndex; + uint64_t allocationSize; + WGPUBool dedicatedAllocation; +} WGPUSharedTextureMemoryOpaqueFDDescriptor WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SHARED_TEXTURE_MEMORY_OPAQUE_FD_DESCRIPTOR_INIT WGPU_MAKE_INIT_STRUCT(WGPUSharedTextureMemoryOpaqueFDDescriptor, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_SharedTextureMemoryOpaqueFDDescriptor} WGPU_COMMA \ + /*.vkImageCreateInfo=*/{} WGPU_COMMA \ + /*.memoryFD=*/{} WGPU_COMMA \ + /*.memoryTypeIndex=*/{} WGPU_COMMA \ + /*.allocationSize=*/{} WGPU_COMMA \ + /*.dedicatedAllocation=*/{} WGPU_COMMA \ +}) + +// Can be chained in WGPUSharedTextureMemoryDescriptor +typedef struct WGPUSharedTextureMemoryVkDedicatedAllocationDescriptor { + WGPUChainedStruct chain; + WGPUBool dedicatedAllocation; +} WGPUSharedTextureMemoryVkDedicatedAllocationDescriptor WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SHARED_TEXTURE_MEMORY_VK_DEDICATED_ALLOCATION_DESCRIPTOR_INIT WGPU_MAKE_INIT_STRUCT(WGPUSharedTextureMemoryVkDedicatedAllocationDescriptor, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_SharedTextureMemoryVkDedicatedAllocationDescriptor} WGPU_COMMA \ + /*.dedicatedAllocation=*/{} WGPU_COMMA \ +}) + +// Can be chained in WGPUSharedTextureMemoryBeginAccessDescriptor +typedef struct WGPUSharedTextureMemoryVkImageLayoutBeginState { + WGPUChainedStruct chain; + int32_t oldLayout; + int32_t newLayout; +} WGPUSharedTextureMemoryVkImageLayoutBeginState WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SHARED_TEXTURE_MEMORY_VK_IMAGE_LAYOUT_BEGIN_STATE_INIT WGPU_MAKE_INIT_STRUCT(WGPUSharedTextureMemoryVkImageLayoutBeginState, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_SharedTextureMemoryVkImageLayoutBeginState} WGPU_COMMA \ + /*.oldLayout=*/{} WGPU_COMMA \ + /*.newLayout=*/{} WGPU_COMMA \ +}) + +// Can be chained in WGPUSharedTextureMemoryEndAccessState +typedef struct WGPUSharedTextureMemoryVkImageLayoutEndState { + WGPUChainedStructOut chain; + int32_t oldLayout; + int32_t newLayout; +} WGPUSharedTextureMemoryVkImageLayoutEndState WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SHARED_TEXTURE_MEMORY_VK_IMAGE_LAYOUT_END_STATE_INIT WGPU_MAKE_INIT_STRUCT(WGPUSharedTextureMemoryVkImageLayoutEndState, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_SharedTextureMemoryVkImageLayoutEndState} WGPU_COMMA \ + /*.oldLayout=*/{} WGPU_COMMA \ + /*.newLayout=*/{} WGPU_COMMA \ +}) + +// Can be chained in WGPUSharedTextureMemoryDescriptor +typedef struct WGPUSharedTextureMemoryZirconHandleDescriptor { + WGPUChainedStruct chain; + uint32_t memoryFD; + uint64_t allocationSize; +} WGPUSharedTextureMemoryZirconHandleDescriptor WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SHARED_TEXTURE_MEMORY_ZIRCON_HANDLE_DESCRIPTOR_INIT WGPU_MAKE_INIT_STRUCT(WGPUSharedTextureMemoryZirconHandleDescriptor, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_SharedTextureMemoryZirconHandleDescriptor} WGPU_COMMA \ + /*.memoryFD=*/{} WGPU_COMMA \ + /*.allocationSize=*/{} WGPU_COMMA \ +}) + +// Can be chained in WGPUBindGroupLayoutEntry +typedef struct WGPUStaticSamplerBindingLayout { + WGPUChainedStruct chain; + WGPUSampler sampler; + uint32_t sampledTextureBinding; +} WGPUStaticSamplerBindingLayout WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_STATIC_SAMPLER_BINDING_LAYOUT_INIT WGPU_MAKE_INIT_STRUCT(WGPUStaticSamplerBindingLayout, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_StaticSamplerBindingLayout} WGPU_COMMA \ + /*.sampler=*/{} WGPU_COMMA \ + /*.sampledTextureBinding=*/WGPU_LIMIT_U32_UNDEFINED WGPU_COMMA \ +}) + +typedef struct WGPUStencilFaceState { + WGPUCompareFunction compare; + WGPUStencilOperation failOp; + WGPUStencilOperation depthFailOp; + WGPUStencilOperation passOp; +} WGPUStencilFaceState WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_STENCIL_FACE_STATE_INIT WGPU_MAKE_INIT_STRUCT(WGPUStencilFaceState, { \ + /*.compare=*/WGPUCompareFunction_Always WGPU_COMMA \ + /*.failOp=*/WGPUStencilOperation_Keep WGPU_COMMA \ + /*.depthFailOp=*/WGPUStencilOperation_Keep WGPU_COMMA \ + /*.passOp=*/WGPUStencilOperation_Keep WGPU_COMMA \ +}) + +typedef struct WGPUStorageTextureBindingLayout { + WGPUChainedStruct const * nextInChain; + WGPUStorageTextureAccess access; + WGPUTextureFormat format; + WGPUTextureViewDimension viewDimension; +} WGPUStorageTextureBindingLayout WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_STORAGE_TEXTURE_BINDING_LAYOUT_INIT WGPU_MAKE_INIT_STRUCT(WGPUStorageTextureBindingLayout, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.access=*/WGPUStorageTextureAccess_BindingNotUsed WGPU_COMMA \ + /*.format=*/WGPUTextureFormat_Undefined WGPU_COMMA \ + /*.viewDimension=*/WGPUTextureViewDimension_2D WGPU_COMMA \ +}) + +typedef struct WGPUStringView { + WGPU_NULLABLE char const * data; + size_t length; +} WGPUStringView WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_STRING_VIEW_INIT WGPU_MAKE_INIT_STRUCT(WGPUStringView, { \ + /*.data=*/nullptr WGPU_COMMA \ + /*.length=*/WGPU_STRLEN WGPU_COMMA \ +}) + +typedef struct WGPUSupportedFeatures { + size_t featureCount; + WGPUFeatureName const * features; +} WGPUSupportedFeatures WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SUPPORTED_FEATURES_INIT WGPU_MAKE_INIT_STRUCT(WGPUSupportedFeatures, { \ + /*.featureCount=*/{} WGPU_COMMA \ + /*.features=*/{} WGPU_COMMA \ +}) + +typedef struct WGPUSurfaceCapabilities { + WGPUChainedStructOut * nextInChain; + WGPUTextureUsage usages; + size_t formatCount; + WGPUTextureFormat const * formats; + size_t presentModeCount; + WGPUPresentMode const * presentModes; + size_t alphaModeCount; + WGPUCompositeAlphaMode const * alphaModes; +} WGPUSurfaceCapabilities WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SURFACE_CAPABILITIES_INIT WGPU_MAKE_INIT_STRUCT(WGPUSurfaceCapabilities, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.usages=*/{} WGPU_COMMA \ + /*.formatCount=*/{} WGPU_COMMA \ + /*.formats=*/{} WGPU_COMMA \ + /*.presentModeCount=*/{} WGPU_COMMA \ + /*.presentModes=*/{} WGPU_COMMA \ + /*.alphaModeCount=*/{} WGPU_COMMA \ + /*.alphaModes=*/{} WGPU_COMMA \ +}) + +typedef struct WGPUSurfaceConfiguration { + WGPUChainedStruct const * nextInChain; + WGPUDevice device; + WGPUTextureFormat format; + WGPUTextureUsage usage; + size_t viewFormatCount; + WGPUTextureFormat const * viewFormats; + WGPUCompositeAlphaMode alphaMode; + uint32_t width; + uint32_t height; + WGPUPresentMode presentMode; +} WGPUSurfaceConfiguration WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SURFACE_CONFIGURATION_INIT WGPU_MAKE_INIT_STRUCT(WGPUSurfaceConfiguration, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.device=*/{} WGPU_COMMA \ + /*.format=*/{} WGPU_COMMA \ + /*.usage=*/WGPUTextureUsage_RenderAttachment WGPU_COMMA \ + /*.viewFormatCount=*/0 WGPU_COMMA \ + /*.viewFormats=*/nullptr WGPU_COMMA \ + /*.alphaMode=*/WGPUCompositeAlphaMode_Auto WGPU_COMMA \ + /*.width=*/{} WGPU_COMMA \ + /*.height=*/{} WGPU_COMMA \ + /*.presentMode=*/WGPUPresentMode_Fifo WGPU_COMMA \ +}) + +// Can be chained in WGPUSurfaceDescriptor +typedef struct WGPUSurfaceDescriptorFromWindowsCoreWindow { + WGPUChainedStruct chain; + void * coreWindow; +} WGPUSurfaceDescriptorFromWindowsCoreWindow WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SURFACE_DESCRIPTOR_FROM_WINDOWS_CORE_WINDOW_INIT WGPU_MAKE_INIT_STRUCT(WGPUSurfaceDescriptorFromWindowsCoreWindow, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_SurfaceDescriptorFromWindowsCoreWindow} WGPU_COMMA \ + /*.coreWindow=*/{} WGPU_COMMA \ +}) + +// Can be chained in WGPUSurfaceDescriptor +typedef struct WGPUSurfaceDescriptorFromWindowsSwapChainPanel { + WGPUChainedStruct chain; + void * swapChainPanel; +} WGPUSurfaceDescriptorFromWindowsSwapChainPanel WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SURFACE_DESCRIPTOR_FROM_WINDOWS_SWAP_CHAIN_PANEL_INIT WGPU_MAKE_INIT_STRUCT(WGPUSurfaceDescriptorFromWindowsSwapChainPanel, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_SurfaceDescriptorFromWindowsSwapChainPanel} WGPU_COMMA \ + /*.swapChainPanel=*/{} WGPU_COMMA \ +}) + +// Can be chained in WGPUSurfaceDescriptor +typedef struct WGPUSurfaceSourceXCBWindow { + WGPUChainedStruct chain; + void * connection; + uint32_t window; +} WGPUSurfaceSourceXCBWindow WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SURFACE_SOURCE_XCB_WINDOW_INIT WGPU_MAKE_INIT_STRUCT(WGPUSurfaceSourceXCBWindow, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_SurfaceSourceXCBWindow} WGPU_COMMA \ + /*.connection=*/{} WGPU_COMMA \ + /*.window=*/{} WGPU_COMMA \ +}) + +// Can be chained in WGPUSurfaceDescriptor +typedef struct WGPUSurfaceSourceAndroidNativeWindow { + WGPUChainedStruct chain; + void * window; +} WGPUSurfaceSourceAndroidNativeWindow WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SURFACE_SOURCE_ANDROID_NATIVE_WINDOW_INIT WGPU_MAKE_INIT_STRUCT(WGPUSurfaceSourceAndroidNativeWindow, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_SurfaceSourceAndroidNativeWindow} WGPU_COMMA \ + /*.window=*/{} WGPU_COMMA \ +}) + +// Can be chained in WGPUSurfaceDescriptor +typedef struct WGPUSurfaceSourceMetalLayer { + WGPUChainedStruct chain; + void * layer; +} WGPUSurfaceSourceMetalLayer WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SURFACE_SOURCE_METAL_LAYER_INIT WGPU_MAKE_INIT_STRUCT(WGPUSurfaceSourceMetalLayer, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_SurfaceSourceMetalLayer} WGPU_COMMA \ + /*.layer=*/{} WGPU_COMMA \ +}) + +// Can be chained in WGPUSurfaceDescriptor +typedef struct WGPUSurfaceSourceWaylandSurface { + WGPUChainedStruct chain; + void * display; + void * surface; +} WGPUSurfaceSourceWaylandSurface WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SURFACE_SOURCE_WAYLAND_SURFACE_INIT WGPU_MAKE_INIT_STRUCT(WGPUSurfaceSourceWaylandSurface, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_SurfaceSourceWaylandSurface} WGPU_COMMA \ + /*.display=*/{} WGPU_COMMA \ + /*.surface=*/{} WGPU_COMMA \ +}) + +// Can be chained in WGPUSurfaceDescriptor +typedef struct WGPUSurfaceSourceWindowsHWND { + WGPUChainedStruct chain; + void * hinstance; + void * hwnd; +} WGPUSurfaceSourceWindowsHWND WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SURFACE_SOURCE_WINDOWS_HWND_INIT WGPU_MAKE_INIT_STRUCT(WGPUSurfaceSourceWindowsHWND, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_SurfaceSourceWindowsHWND} WGPU_COMMA \ + /*.hinstance=*/{} WGPU_COMMA \ + /*.hwnd=*/{} WGPU_COMMA \ +}) + +// Can be chained in WGPUSurfaceDescriptor +typedef struct WGPUSurfaceSourceXlibWindow { + WGPUChainedStruct chain; + void * display; + uint64_t window; +} WGPUSurfaceSourceXlibWindow WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SURFACE_SOURCE_XLIB_WINDOW_INIT WGPU_MAKE_INIT_STRUCT(WGPUSurfaceSourceXlibWindow, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_SurfaceSourceXlibWindow} WGPU_COMMA \ + /*.display=*/{} WGPU_COMMA \ + /*.window=*/{} WGPU_COMMA \ +}) + +typedef struct WGPUSurfaceTexture { + WGPUTexture texture; + WGPUBool suboptimal; + WGPUSurfaceGetCurrentTextureStatus status; +} WGPUSurfaceTexture WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SURFACE_TEXTURE_INIT WGPU_MAKE_INIT_STRUCT(WGPUSurfaceTexture, { \ + /*.texture=*/{} WGPU_COMMA \ + /*.suboptimal=*/{} WGPU_COMMA \ + /*.status=*/{} WGPU_COMMA \ +}) + +typedef struct WGPUTextureBindingLayout { + WGPUChainedStruct const * nextInChain; + WGPUTextureSampleType sampleType; + WGPUTextureViewDimension viewDimension; + WGPUBool multisampled; +} WGPUTextureBindingLayout WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_TEXTURE_BINDING_LAYOUT_INIT WGPU_MAKE_INIT_STRUCT(WGPUTextureBindingLayout, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.sampleType=*/WGPUTextureSampleType_BindingNotUsed WGPU_COMMA \ + /*.viewDimension=*/WGPUTextureViewDimension_2D WGPU_COMMA \ + /*.multisampled=*/false WGPU_COMMA \ +}) + +// Can be chained in WGPUTextureDescriptor +typedef struct WGPUTextureBindingViewDimensionDescriptor { + WGPUChainedStruct chain; + WGPUTextureViewDimension textureBindingViewDimension; +} WGPUTextureBindingViewDimensionDescriptor WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_TEXTURE_BINDING_VIEW_DIMENSION_DESCRIPTOR_INIT WGPU_MAKE_INIT_STRUCT(WGPUTextureBindingViewDimensionDescriptor, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_TextureBindingViewDimensionDescriptor} WGPU_COMMA \ + /*.textureBindingViewDimension=*/WGPUTextureViewDimension_Undefined WGPU_COMMA \ +}) + +typedef struct WGPUTextureDataLayout { + WGPUChainedStruct const * nextInChain; + uint64_t offset; + uint32_t bytesPerRow; + uint32_t rowsPerImage; +} WGPUTextureDataLayout WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_TEXTURE_DATA_LAYOUT_INIT WGPU_MAKE_INIT_STRUCT(WGPUTextureDataLayout, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.offset=*/0 WGPU_COMMA \ + /*.bytesPerRow=*/WGPU_COPY_STRIDE_UNDEFINED WGPU_COMMA \ + /*.rowsPerImage=*/WGPU_COPY_STRIDE_UNDEFINED WGPU_COMMA \ +}) + +typedef struct WGPUUncapturedErrorCallbackInfo { + WGPUChainedStruct const * nextInChain; + WGPUErrorCallback callback; + void * userdata; +} WGPUUncapturedErrorCallbackInfo WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_UNCAPTURED_ERROR_CALLBACK_INFO_INIT WGPU_MAKE_INIT_STRUCT(WGPUUncapturedErrorCallbackInfo, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.callback=*/nullptr WGPU_COMMA \ + /*.userdata=*/nullptr WGPU_COMMA \ +}) + +typedef struct WGPUVertexAttribute { + WGPUVertexFormat format; + uint64_t offset; + uint32_t shaderLocation; +} WGPUVertexAttribute WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_VERTEX_ATTRIBUTE_INIT WGPU_MAKE_INIT_STRUCT(WGPUVertexAttribute, { \ + /*.format=*/{} WGPU_COMMA \ + /*.offset=*/{} WGPU_COMMA \ + /*.shaderLocation=*/{} WGPU_COMMA \ +}) + +// Can be chained in WGPUSamplerDescriptor +// Can be chained in WGPUTextureViewDescriptor +typedef struct WGPUYCbCrVkDescriptor { + WGPUChainedStruct chain; + uint32_t vkFormat; + uint32_t vkYCbCrModel; + uint32_t vkYCbCrRange; + uint32_t vkComponentSwizzleRed; + uint32_t vkComponentSwizzleGreen; + uint32_t vkComponentSwizzleBlue; + uint32_t vkComponentSwizzleAlpha; + uint32_t vkXChromaOffset; + uint32_t vkYChromaOffset; + WGPUFilterMode vkChromaFilter; + WGPUBool forceExplicitReconstruction; + uint64_t externalFormat; +} WGPUYCbCrVkDescriptor WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_Y_CB_CR_VK_DESCRIPTOR_INIT WGPU_MAKE_INIT_STRUCT(WGPUYCbCrVkDescriptor, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_YCbCrVkDescriptor} WGPU_COMMA \ + /*.vkFormat=*/0 WGPU_COMMA \ + /*.vkYCbCrModel=*/0 WGPU_COMMA \ + /*.vkYCbCrRange=*/0 WGPU_COMMA \ + /*.vkComponentSwizzleRed=*/0 WGPU_COMMA \ + /*.vkComponentSwizzleGreen=*/0 WGPU_COMMA \ + /*.vkComponentSwizzleBlue=*/0 WGPU_COMMA \ + /*.vkComponentSwizzleAlpha=*/0 WGPU_COMMA \ + /*.vkXChromaOffset=*/0 WGPU_COMMA \ + /*.vkYChromaOffset=*/0 WGPU_COMMA \ + /*.vkChromaFilter=*/WGPUFilterMode_Nearest WGPU_COMMA \ + /*.forceExplicitReconstruction=*/false WGPU_COMMA \ + /*.externalFormat=*/0 WGPU_COMMA \ +}) + +typedef struct WGPUAHardwareBufferProperties { + WGPUYCbCrVkDescriptor yCbCrInfo; +} WGPUAHardwareBufferProperties WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_A_HARDWARE_BUFFER_PROPERTIES_INIT WGPU_MAKE_INIT_STRUCT(WGPUAHardwareBufferProperties, { \ + /*.yCbCrInfo=*/WGPU_Y_CB_CR_VK_DESCRIPTOR_INIT WGPU_COMMA \ +}) + +typedef struct WGPUAdapterInfo { + WGPUChainedStructOut * nextInChain; + WGPUStringView vendor; + WGPUStringView architecture; + WGPUStringView device; + WGPUStringView description; + WGPUBackendType backendType; + WGPUAdapterType adapterType; + uint32_t vendorID; + uint32_t deviceID; + WGPUBool compatibilityMode; +} WGPUAdapterInfo WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_ADAPTER_INFO_INIT WGPU_MAKE_INIT_STRUCT(WGPUAdapterInfo, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.vendor=*/WGPU_STRING_VIEW_INIT WGPU_COMMA \ + /*.architecture=*/WGPU_STRING_VIEW_INIT WGPU_COMMA \ + /*.device=*/WGPU_STRING_VIEW_INIT WGPU_COMMA \ + /*.description=*/WGPU_STRING_VIEW_INIT WGPU_COMMA \ + /*.backendType=*/{} WGPU_COMMA \ + /*.adapterType=*/{} WGPU_COMMA \ + /*.vendorID=*/{} WGPU_COMMA \ + /*.deviceID=*/{} WGPU_COMMA \ + /*.compatibilityMode=*/false WGPU_COMMA \ +}) + +// Can be chained in WGPUAdapterInfo +typedef struct WGPUAdapterPropertiesMemoryHeaps { + WGPUChainedStructOut chain; + size_t heapCount; + WGPUMemoryHeapInfo const * heapInfo; +} WGPUAdapterPropertiesMemoryHeaps WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_ADAPTER_PROPERTIES_MEMORY_HEAPS_INIT WGPU_MAKE_INIT_STRUCT(WGPUAdapterPropertiesMemoryHeaps, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_AdapterPropertiesMemoryHeaps} WGPU_COMMA \ + /*.heapCount=*/{} WGPU_COMMA \ + /*.heapInfo=*/{} WGPU_COMMA \ +}) + +typedef struct WGPUBindGroupDescriptor { + WGPUChainedStruct const * nextInChain; + WGPUStringView label; + WGPUBindGroupLayout layout; + size_t entryCount; + WGPUBindGroupEntry const * entries; +} WGPUBindGroupDescriptor WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_BIND_GROUP_DESCRIPTOR_INIT WGPU_MAKE_INIT_STRUCT(WGPUBindGroupDescriptor, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.label=*/WGPU_STRING_VIEW_INIT WGPU_COMMA \ + /*.layout=*/{} WGPU_COMMA \ + /*.entryCount=*/{} WGPU_COMMA \ + /*.entries=*/{} WGPU_COMMA \ +}) + +typedef struct WGPUBindGroupLayoutEntry { + WGPUChainedStruct const * nextInChain; + uint32_t binding; + WGPUShaderStage visibility; + WGPUBufferBindingLayout buffer; + WGPUSamplerBindingLayout sampler; + WGPUTextureBindingLayout texture; + WGPUStorageTextureBindingLayout storageTexture; +} WGPUBindGroupLayoutEntry WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_BIND_GROUP_LAYOUT_ENTRY_INIT WGPU_MAKE_INIT_STRUCT(WGPUBindGroupLayoutEntry, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.binding=*/{} WGPU_COMMA \ + /*.visibility=*/{} WGPU_COMMA \ + /*.buffer=*/WGPU_BUFFER_BINDING_LAYOUT_INIT WGPU_COMMA \ + /*.sampler=*/WGPU_SAMPLER_BINDING_LAYOUT_INIT WGPU_COMMA \ + /*.texture=*/WGPU_TEXTURE_BINDING_LAYOUT_INIT WGPU_COMMA \ + /*.storageTexture=*/WGPU_STORAGE_TEXTURE_BINDING_LAYOUT_INIT WGPU_COMMA \ +}) + +typedef struct WGPUBlendState { + WGPUBlendComponent color; + WGPUBlendComponent alpha; +} WGPUBlendState WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_BLEND_STATE_INIT WGPU_MAKE_INIT_STRUCT(WGPUBlendState, { \ + /*.color=*/WGPU_BLEND_COMPONENT_INIT WGPU_COMMA \ + /*.alpha=*/WGPU_BLEND_COMPONENT_INIT WGPU_COMMA \ +}) + +typedef struct WGPUBufferDescriptor { + WGPUChainedStruct const * nextInChain; + WGPUStringView label; + WGPUBufferUsage usage; + uint64_t size; + WGPUBool mappedAtCreation; +} WGPUBufferDescriptor WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_BUFFER_DESCRIPTOR_INIT WGPU_MAKE_INIT_STRUCT(WGPUBufferDescriptor, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.label=*/WGPU_STRING_VIEW_INIT WGPU_COMMA \ + /*.usage=*/{} WGPU_COMMA \ + /*.size=*/{} WGPU_COMMA \ + /*.mappedAtCreation=*/false WGPU_COMMA \ +}) + +typedef struct WGPUCommandBufferDescriptor { + WGPUChainedStruct const * nextInChain; + WGPUStringView label; +} WGPUCommandBufferDescriptor WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_COMMAND_BUFFER_DESCRIPTOR_INIT WGPU_MAKE_INIT_STRUCT(WGPUCommandBufferDescriptor, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.label=*/WGPU_STRING_VIEW_INIT WGPU_COMMA \ +}) + +typedef struct WGPUCommandEncoderDescriptor { + WGPUChainedStruct const * nextInChain; + WGPUStringView label; +} WGPUCommandEncoderDescriptor WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_COMMAND_ENCODER_DESCRIPTOR_INIT WGPU_MAKE_INIT_STRUCT(WGPUCommandEncoderDescriptor, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.label=*/WGPU_STRING_VIEW_INIT WGPU_COMMA \ +}) + +typedef struct WGPUCompilationMessage { + WGPUChainedStruct const * nextInChain; + WGPUStringView message; + WGPUCompilationMessageType type; + uint64_t lineNum; + uint64_t linePos; + uint64_t offset; + uint64_t length; + uint64_t utf16LinePos; + uint64_t utf16Offset; + uint64_t utf16Length; +} WGPUCompilationMessage WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_COMPILATION_MESSAGE_INIT WGPU_MAKE_INIT_STRUCT(WGPUCompilationMessage, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.message=*/WGPU_STRING_VIEW_INIT WGPU_COMMA \ + /*.type=*/{} WGPU_COMMA \ + /*.lineNum=*/{} WGPU_COMMA \ + /*.linePos=*/{} WGPU_COMMA \ + /*.offset=*/{} WGPU_COMMA \ + /*.length=*/{} WGPU_COMMA \ + /*.utf16LinePos=*/{} WGPU_COMMA \ + /*.utf16Offset=*/{} WGPU_COMMA \ + /*.utf16Length=*/{} WGPU_COMMA \ +}) + +typedef struct WGPUComputePassDescriptor { + WGPUChainedStruct const * nextInChain; + WGPUStringView label; + WGPU_NULLABLE WGPUComputePassTimestampWrites const * timestampWrites; +} WGPUComputePassDescriptor WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_COMPUTE_PASS_DESCRIPTOR_INIT WGPU_MAKE_INIT_STRUCT(WGPUComputePassDescriptor, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.label=*/WGPU_STRING_VIEW_INIT WGPU_COMMA \ + /*.timestampWrites=*/nullptr WGPU_COMMA \ +}) + +typedef struct WGPUConstantEntry { + WGPUChainedStruct const * nextInChain; + WGPUStringView key; + double value; +} WGPUConstantEntry WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_CONSTANT_ENTRY_INIT WGPU_MAKE_INIT_STRUCT(WGPUConstantEntry, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.key=*/WGPU_STRING_VIEW_INIT WGPU_COMMA \ + /*.value=*/{} WGPU_COMMA \ +}) + +// Can be chained in WGPUDeviceDescriptor +typedef struct WGPUDawnCacheDeviceDescriptor { + WGPUChainedStruct chain; + WGPUStringView isolationKey; + WGPUDawnLoadCacheDataFunction loadDataFunction; + WGPUDawnStoreCacheDataFunction storeDataFunction; + void * functionUserdata; +} WGPUDawnCacheDeviceDescriptor WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_DAWN_CACHE_DEVICE_DESCRIPTOR_INIT WGPU_MAKE_INIT_STRUCT(WGPUDawnCacheDeviceDescriptor, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_DawnCacheDeviceDescriptor} WGPU_COMMA \ + /*.isolationKey=*/WGPU_STRING_VIEW_INIT WGPU_COMMA \ + /*.loadDataFunction=*/nullptr WGPU_COMMA \ + /*.storeDataFunction=*/nullptr WGPU_COMMA \ + /*.functionUserdata=*/nullptr WGPU_COMMA \ +}) + +typedef struct WGPUDepthStencilState { + WGPUChainedStruct const * nextInChain; + WGPUTextureFormat format; + WGPUOptionalBool depthWriteEnabled; + WGPUCompareFunction depthCompare; + WGPUStencilFaceState stencilFront; + WGPUStencilFaceState stencilBack; + uint32_t stencilReadMask; + uint32_t stencilWriteMask; + int32_t depthBias; + float depthBiasSlopeScale; + float depthBiasClamp; +} WGPUDepthStencilState WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_DEPTH_STENCIL_STATE_INIT WGPU_MAKE_INIT_STRUCT(WGPUDepthStencilState, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.format=*/{} WGPU_COMMA \ + /*.depthWriteEnabled=*/WGPUOptionalBool_Undefined WGPU_COMMA \ + /*.depthCompare=*/WGPUCompareFunction_Undefined WGPU_COMMA \ + /*.stencilFront=*/WGPU_STENCIL_FACE_STATE_INIT WGPU_COMMA \ + /*.stencilBack=*/WGPU_STENCIL_FACE_STATE_INIT WGPU_COMMA \ + /*.stencilReadMask=*/0xFFFFFFFF WGPU_COMMA \ + /*.stencilWriteMask=*/0xFFFFFFFF WGPU_COMMA \ + /*.depthBias=*/0 WGPU_COMMA \ + /*.depthBiasSlopeScale=*/0.0f WGPU_COMMA \ + /*.depthBiasClamp=*/0.0f WGPU_COMMA \ +}) + +// Can be chained in WGPUFormatCapabilities +typedef struct WGPUDrmFormatCapabilities { + WGPUChainedStructOut chain; + size_t propertiesCount; + WGPUDrmFormatProperties const * properties; +} WGPUDrmFormatCapabilities WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_DRM_FORMAT_CAPABILITIES_INIT WGPU_MAKE_INIT_STRUCT(WGPUDrmFormatCapabilities, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_DrmFormatCapabilities} WGPU_COMMA \ + /*.propertiesCount=*/{} WGPU_COMMA \ + /*.properties=*/{} WGPU_COMMA \ +}) + +typedef struct WGPUExternalTextureDescriptor { + WGPUChainedStruct const * nextInChain; + WGPUStringView label; + WGPUTextureView plane0; + WGPU_NULLABLE WGPUTextureView plane1; + WGPUOrigin2D cropOrigin; + WGPUExtent2D cropSize; + WGPUExtent2D apparentSize; + WGPUBool doYuvToRgbConversionOnly; + WGPU_NULLABLE float const * yuvToRgbConversionMatrix; + float const * srcTransferFunctionParameters; + float const * dstTransferFunctionParameters; + float const * gamutConversionMatrix; + WGPUBool mirrored; + WGPUExternalTextureRotation rotation; +} WGPUExternalTextureDescriptor WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_EXTERNAL_TEXTURE_DESCRIPTOR_INIT WGPU_MAKE_INIT_STRUCT(WGPUExternalTextureDescriptor, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.label=*/WGPU_STRING_VIEW_INIT WGPU_COMMA \ + /*.plane0=*/{} WGPU_COMMA \ + /*.plane1=*/nullptr WGPU_COMMA \ + /*.cropOrigin=*/WGPU_ORIGIN_2D_INIT WGPU_COMMA \ + /*.cropSize=*/WGPU_EXTENT_2D_INIT WGPU_COMMA \ + /*.apparentSize=*/WGPU_EXTENT_2D_INIT WGPU_COMMA \ + /*.doYuvToRgbConversionOnly=*/false WGPU_COMMA \ + /*.yuvToRgbConversionMatrix=*/nullptr WGPU_COMMA \ + /*.srcTransferFunctionParameters=*/{} WGPU_COMMA \ + /*.dstTransferFunctionParameters=*/{} WGPU_COMMA \ + /*.gamutConversionMatrix=*/{} WGPU_COMMA \ + /*.mirrored=*/false WGPU_COMMA \ + /*.rotation=*/WGPUExternalTextureRotation_Rotate0Degrees WGPU_COMMA \ +}) + +typedef struct WGPUFutureWaitInfo { + WGPUFuture future; + WGPUBool completed; +} WGPUFutureWaitInfo WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_FUTURE_WAIT_INFO_INIT WGPU_MAKE_INIT_STRUCT(WGPUFutureWaitInfo, { \ + /*.future=*/WGPU_FUTURE_INIT WGPU_COMMA \ + /*.completed=*/false WGPU_COMMA \ +}) + +typedef struct WGPUImageCopyBuffer { + WGPUTextureDataLayout layout; + WGPUBuffer buffer; +} WGPUImageCopyBuffer WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_IMAGE_COPY_BUFFER_INIT WGPU_MAKE_INIT_STRUCT(WGPUImageCopyBuffer, { \ + /*.layout=*/WGPU_TEXTURE_DATA_LAYOUT_INIT WGPU_COMMA \ + /*.buffer=*/{} WGPU_COMMA \ +}) + +typedef struct WGPUImageCopyExternalTexture { + WGPUChainedStruct const * nextInChain; + WGPUExternalTexture externalTexture; + WGPUOrigin3D origin; + WGPUExtent2D naturalSize; +} WGPUImageCopyExternalTexture WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_IMAGE_COPY_EXTERNAL_TEXTURE_INIT WGPU_MAKE_INIT_STRUCT(WGPUImageCopyExternalTexture, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.externalTexture=*/{} WGPU_COMMA \ + /*.origin=*/WGPU_ORIGIN_3D_INIT WGPU_COMMA \ + /*.naturalSize=*/WGPU_EXTENT_2D_INIT WGPU_COMMA \ +}) + +typedef struct WGPUImageCopyTexture { + WGPUTexture texture; + uint32_t mipLevel; + WGPUOrigin3D origin; + WGPUTextureAspect aspect; +} WGPUImageCopyTexture WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_IMAGE_COPY_TEXTURE_INIT WGPU_MAKE_INIT_STRUCT(WGPUImageCopyTexture, { \ + /*.texture=*/{} WGPU_COMMA \ + /*.mipLevel=*/0 WGPU_COMMA \ + /*.origin=*/WGPU_ORIGIN_3D_INIT WGPU_COMMA \ + /*.aspect=*/WGPUTextureAspect_All WGPU_COMMA \ +}) + +typedef struct WGPUInstanceDescriptor { + WGPUChainedStruct const * nextInChain; + WGPUInstanceFeatures features; +} WGPUInstanceDescriptor WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_INSTANCE_DESCRIPTOR_INIT WGPU_MAKE_INIT_STRUCT(WGPUInstanceDescriptor, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.features=*/WGPU_INSTANCE_FEATURES_INIT WGPU_COMMA \ +}) + +typedef struct WGPUPipelineLayoutDescriptor { + WGPUChainedStruct const * nextInChain; + WGPUStringView label; + size_t bindGroupLayoutCount; + WGPU_NULLABLE WGPUBindGroupLayout const * bindGroupLayouts; + uint32_t immediateDataRangeByteSize; +} WGPUPipelineLayoutDescriptor WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_PIPELINE_LAYOUT_DESCRIPTOR_INIT WGPU_MAKE_INIT_STRUCT(WGPUPipelineLayoutDescriptor, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.label=*/WGPU_STRING_VIEW_INIT WGPU_COMMA \ + /*.bindGroupLayoutCount=*/{} WGPU_COMMA \ + /*.bindGroupLayouts=*/nullptr WGPU_COMMA \ + /*.immediateDataRangeByteSize=*/0 WGPU_COMMA \ +}) + +// Can be chained in WGPUPipelineLayoutDescriptor +typedef struct WGPUPipelineLayoutPixelLocalStorage { + WGPUChainedStruct chain; + uint64_t totalPixelLocalStorageSize; + size_t storageAttachmentCount; + WGPUPipelineLayoutStorageAttachment const * storageAttachments; +} WGPUPipelineLayoutPixelLocalStorage WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_PIPELINE_LAYOUT_PIXEL_LOCAL_STORAGE_INIT WGPU_MAKE_INIT_STRUCT(WGPUPipelineLayoutPixelLocalStorage, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_PipelineLayoutPixelLocalStorage} WGPU_COMMA \ + /*.totalPixelLocalStorageSize=*/{} WGPU_COMMA \ + /*.storageAttachmentCount=*/0 WGPU_COMMA \ + /*.storageAttachments=*/{} WGPU_COMMA \ +}) + +typedef struct WGPUQuerySetDescriptor { + WGPUChainedStruct const * nextInChain; + WGPUStringView label; + WGPUQueryType type; + uint32_t count; +} WGPUQuerySetDescriptor WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_QUERY_SET_DESCRIPTOR_INIT WGPU_MAKE_INIT_STRUCT(WGPUQuerySetDescriptor, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.label=*/WGPU_STRING_VIEW_INIT WGPU_COMMA \ + /*.type=*/{} WGPU_COMMA \ + /*.count=*/{} WGPU_COMMA \ +}) + +typedef struct WGPUQueueDescriptor { + WGPUChainedStruct const * nextInChain; + WGPUStringView label; +} WGPUQueueDescriptor WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_QUEUE_DESCRIPTOR_INIT WGPU_MAKE_INIT_STRUCT(WGPUQueueDescriptor, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.label=*/WGPU_STRING_VIEW_INIT WGPU_COMMA \ +}) + +typedef struct WGPURenderBundleDescriptor { + WGPUChainedStruct const * nextInChain; + WGPUStringView label; +} WGPURenderBundleDescriptor WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_RENDER_BUNDLE_DESCRIPTOR_INIT WGPU_MAKE_INIT_STRUCT(WGPURenderBundleDescriptor, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.label=*/WGPU_STRING_VIEW_INIT WGPU_COMMA \ +}) + +typedef struct WGPURenderBundleEncoderDescriptor { + WGPUChainedStruct const * nextInChain; + WGPUStringView label; + size_t colorFormatCount; + WGPUTextureFormat const * colorFormats; + WGPUTextureFormat depthStencilFormat; + uint32_t sampleCount; + WGPUBool depthReadOnly; + WGPUBool stencilReadOnly; +} WGPURenderBundleEncoderDescriptor WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_RENDER_BUNDLE_ENCODER_DESCRIPTOR_INIT WGPU_MAKE_INIT_STRUCT(WGPURenderBundleEncoderDescriptor, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.label=*/WGPU_STRING_VIEW_INIT WGPU_COMMA \ + /*.colorFormatCount=*/{} WGPU_COMMA \ + /*.colorFormats=*/{} WGPU_COMMA \ + /*.depthStencilFormat=*/WGPUTextureFormat_Undefined WGPU_COMMA \ + /*.sampleCount=*/1 WGPU_COMMA \ + /*.depthReadOnly=*/false WGPU_COMMA \ + /*.stencilReadOnly=*/false WGPU_COMMA \ +}) + +typedef struct WGPURenderPassColorAttachment { + WGPUChainedStruct const * nextInChain; + WGPU_NULLABLE WGPUTextureView view; + uint32_t depthSlice; + WGPU_NULLABLE WGPUTextureView resolveTarget; + WGPULoadOp loadOp; + WGPUStoreOp storeOp; + WGPUColor clearValue; +} WGPURenderPassColorAttachment WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_RENDER_PASS_COLOR_ATTACHMENT_INIT WGPU_MAKE_INIT_STRUCT(WGPURenderPassColorAttachment, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.view=*/nullptr WGPU_COMMA \ + /*.depthSlice=*/WGPU_DEPTH_SLICE_UNDEFINED WGPU_COMMA \ + /*.resolveTarget=*/nullptr WGPU_COMMA \ + /*.loadOp=*/{} WGPU_COMMA \ + /*.storeOp=*/{} WGPU_COMMA \ + /*.clearValue=*/WGPU_COLOR_INIT WGPU_COMMA \ +}) + +typedef struct WGPURenderPassStorageAttachment { + WGPUChainedStruct const * nextInChain; + uint64_t offset; + WGPUTextureView storage; + WGPULoadOp loadOp; + WGPUStoreOp storeOp; + WGPUColor clearValue; +} WGPURenderPassStorageAttachment WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_RENDER_PASS_STORAGE_ATTACHMENT_INIT WGPU_MAKE_INIT_STRUCT(WGPURenderPassStorageAttachment, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.offset=*/0 WGPU_COMMA \ + /*.storage=*/{} WGPU_COMMA \ + /*.loadOp=*/{} WGPU_COMMA \ + /*.storeOp=*/{} WGPU_COMMA \ + /*.clearValue=*/WGPU_COLOR_INIT WGPU_COMMA \ +}) + +typedef struct WGPURequiredLimits { + WGPUChainedStruct const * nextInChain; + WGPULimits limits; +} WGPURequiredLimits WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_REQUIRED_LIMITS_INIT WGPU_MAKE_INIT_STRUCT(WGPURequiredLimits, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.limits=*/WGPU_LIMITS_INIT WGPU_COMMA \ +}) + +typedef struct WGPUSamplerDescriptor { + WGPUChainedStruct const * nextInChain; + WGPUStringView label; + WGPUAddressMode addressModeU; + WGPUAddressMode addressModeV; + WGPUAddressMode addressModeW; + WGPUFilterMode magFilter; + WGPUFilterMode minFilter; + WGPUMipmapFilterMode mipmapFilter; + float lodMinClamp; + float lodMaxClamp; + WGPUCompareFunction compare; + uint16_t maxAnisotropy; +} WGPUSamplerDescriptor WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SAMPLER_DESCRIPTOR_INIT WGPU_MAKE_INIT_STRUCT(WGPUSamplerDescriptor, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.label=*/WGPU_STRING_VIEW_INIT WGPU_COMMA \ + /*.addressModeU=*/WGPUAddressMode_ClampToEdge WGPU_COMMA \ + /*.addressModeV=*/WGPUAddressMode_ClampToEdge WGPU_COMMA \ + /*.addressModeW=*/WGPUAddressMode_ClampToEdge WGPU_COMMA \ + /*.magFilter=*/WGPUFilterMode_Nearest WGPU_COMMA \ + /*.minFilter=*/WGPUFilterMode_Nearest WGPU_COMMA \ + /*.mipmapFilter=*/WGPUMipmapFilterMode_Nearest WGPU_COMMA \ + /*.lodMinClamp=*/0.0f WGPU_COMMA \ + /*.lodMaxClamp=*/32.0f WGPU_COMMA \ + /*.compare=*/WGPUCompareFunction_Undefined WGPU_COMMA \ + /*.maxAnisotropy=*/1 WGPU_COMMA \ +}) + +typedef struct WGPUShaderModuleDescriptor { + WGPUChainedStruct const * nextInChain; + WGPUStringView label; +} WGPUShaderModuleDescriptor WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SHADER_MODULE_DESCRIPTOR_INIT WGPU_MAKE_INIT_STRUCT(WGPUShaderModuleDescriptor, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.label=*/WGPU_STRING_VIEW_INIT WGPU_COMMA \ +}) + +// Can be chained in WGPUShaderModuleDescriptor +typedef struct WGPUShaderSourceWGSL { + WGPUChainedStruct chain; + WGPUStringView code; +} WGPUShaderSourceWGSL WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SHADER_SOURCE_WGSL_INIT WGPU_MAKE_INIT_STRUCT(WGPUShaderSourceWGSL, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_ShaderSourceWGSL} WGPU_COMMA \ + /*.code=*/WGPU_STRING_VIEW_INIT WGPU_COMMA \ +}) + +typedef struct WGPUSharedBufferMemoryDescriptor { + WGPUChainedStruct const * nextInChain; + WGPUStringView label; +} WGPUSharedBufferMemoryDescriptor WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SHARED_BUFFER_MEMORY_DESCRIPTOR_INIT WGPU_MAKE_INIT_STRUCT(WGPUSharedBufferMemoryDescriptor, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.label=*/WGPU_STRING_VIEW_INIT WGPU_COMMA \ +}) + +typedef struct WGPUSharedFenceDescriptor { + WGPUChainedStruct const * nextInChain; + WGPUStringView label; +} WGPUSharedFenceDescriptor WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SHARED_FENCE_DESCRIPTOR_INIT WGPU_MAKE_INIT_STRUCT(WGPUSharedFenceDescriptor, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.label=*/WGPU_STRING_VIEW_INIT WGPU_COMMA \ +}) + +// Can be chained in WGPUSharedTextureMemoryProperties +typedef struct WGPUSharedTextureMemoryAHardwareBufferProperties { + WGPUChainedStructOut chain; + WGPUYCbCrVkDescriptor yCbCrInfo; +} WGPUSharedTextureMemoryAHardwareBufferProperties WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SHARED_TEXTURE_MEMORY_A_HARDWARE_BUFFER_PROPERTIES_INIT WGPU_MAKE_INIT_STRUCT(WGPUSharedTextureMemoryAHardwareBufferProperties, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_SharedTextureMemoryAHardwareBufferProperties} WGPU_COMMA \ + /*.yCbCrInfo=*/WGPU_Y_CB_CR_VK_DESCRIPTOR_INIT WGPU_COMMA \ +}) + +typedef struct WGPUSharedTextureMemoryDescriptor { + WGPUChainedStruct const * nextInChain; + WGPUStringView label; +} WGPUSharedTextureMemoryDescriptor WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SHARED_TEXTURE_MEMORY_DESCRIPTOR_INIT WGPU_MAKE_INIT_STRUCT(WGPUSharedTextureMemoryDescriptor, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.label=*/WGPU_STRING_VIEW_INIT WGPU_COMMA \ +}) + +// Can be chained in WGPUSharedTextureMemoryDescriptor +typedef struct WGPUSharedTextureMemoryDmaBufDescriptor { + WGPUChainedStruct chain; + WGPUExtent3D size; + uint32_t drmFormat; + uint64_t drmModifier; + size_t planeCount; + WGPUSharedTextureMemoryDmaBufPlane const * planes; +} WGPUSharedTextureMemoryDmaBufDescriptor WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SHARED_TEXTURE_MEMORY_DMA_BUF_DESCRIPTOR_INIT WGPU_MAKE_INIT_STRUCT(WGPUSharedTextureMemoryDmaBufDescriptor, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_SharedTextureMemoryDmaBufDescriptor} WGPU_COMMA \ + /*.size=*/WGPU_EXTENT_3D_INIT WGPU_COMMA \ + /*.drmFormat=*/{} WGPU_COMMA \ + /*.drmModifier=*/{} WGPU_COMMA \ + /*.planeCount=*/{} WGPU_COMMA \ + /*.planes=*/{} WGPU_COMMA \ +}) + +typedef struct WGPUSharedTextureMemoryProperties { + WGPUChainedStructOut * nextInChain; + WGPUTextureUsage usage; + WGPUExtent3D size; + WGPUTextureFormat format; +} WGPUSharedTextureMemoryProperties WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SHARED_TEXTURE_MEMORY_PROPERTIES_INIT WGPU_MAKE_INIT_STRUCT(WGPUSharedTextureMemoryProperties, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.usage=*/{} WGPU_COMMA \ + /*.size=*/WGPU_EXTENT_3D_INIT WGPU_COMMA \ + /*.format=*/{} WGPU_COMMA \ +}) + +typedef struct WGPUSupportedLimits { + WGPUChainedStructOut * nextInChain; + WGPULimits limits; +} WGPUSupportedLimits WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SUPPORTED_LIMITS_INIT WGPU_MAKE_INIT_STRUCT(WGPUSupportedLimits, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.limits=*/WGPU_LIMITS_INIT WGPU_COMMA \ +}) + +typedef struct WGPUSurfaceDescriptor { + WGPUChainedStruct const * nextInChain; + WGPUStringView label; +} WGPUSurfaceDescriptor WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SURFACE_DESCRIPTOR_INIT WGPU_MAKE_INIT_STRUCT(WGPUSurfaceDescriptor, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.label=*/WGPU_STRING_VIEW_INIT WGPU_COMMA \ +}) + +// Can be chained in WGPUSurfaceDescriptor +typedef struct WGPUSurfaceSourceCanvasHTMLSelector_Emscripten { + WGPUChainedStruct chain; + WGPUStringView selector; +} WGPUSurfaceSourceCanvasHTMLSelector_Emscripten WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_SURFACE_SOURCE_CANVAS_HTML_SELECTOR__EMSCRIPTEN_INIT WGPU_MAKE_INIT_STRUCT(WGPUSurfaceSourceCanvasHTMLSelector_Emscripten, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_SurfaceSourceCanvasHTMLSelector_Emscripten} WGPU_COMMA \ + /*.selector=*/WGPU_STRING_VIEW_INIT WGPU_COMMA \ +}) + +typedef struct WGPUTextureDescriptor { + WGPUChainedStruct const * nextInChain; + WGPUStringView label; + WGPUTextureUsage usage; + WGPUTextureDimension dimension; + WGPUExtent3D size; + WGPUTextureFormat format; + uint32_t mipLevelCount; + uint32_t sampleCount; + size_t viewFormatCount; + WGPUTextureFormat const * viewFormats; +} WGPUTextureDescriptor WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_TEXTURE_DESCRIPTOR_INIT WGPU_MAKE_INIT_STRUCT(WGPUTextureDescriptor, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.label=*/WGPU_STRING_VIEW_INIT WGPU_COMMA \ + /*.usage=*/{} WGPU_COMMA \ + /*.dimension=*/WGPUTextureDimension_2D WGPU_COMMA \ + /*.size=*/WGPU_EXTENT_3D_INIT WGPU_COMMA \ + /*.format=*/{} WGPU_COMMA \ + /*.mipLevelCount=*/1 WGPU_COMMA \ + /*.sampleCount=*/1 WGPU_COMMA \ + /*.viewFormatCount=*/0 WGPU_COMMA \ + /*.viewFormats=*/nullptr WGPU_COMMA \ +}) + +typedef struct WGPUTextureViewDescriptor { + WGPUChainedStruct const * nextInChain; + WGPUStringView label; + WGPUTextureFormat format; + WGPUTextureViewDimension dimension; + uint32_t baseMipLevel; + uint32_t mipLevelCount; + uint32_t baseArrayLayer; + uint32_t arrayLayerCount; + WGPUTextureAspect aspect; + WGPUTextureUsage usage; +} WGPUTextureViewDescriptor WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_TEXTURE_VIEW_DESCRIPTOR_INIT WGPU_MAKE_INIT_STRUCT(WGPUTextureViewDescriptor, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.label=*/WGPU_STRING_VIEW_INIT WGPU_COMMA \ + /*.format=*/WGPUTextureFormat_Undefined WGPU_COMMA \ + /*.dimension=*/WGPUTextureViewDimension_Undefined WGPU_COMMA \ + /*.baseMipLevel=*/0 WGPU_COMMA \ + /*.mipLevelCount=*/WGPU_MIP_LEVEL_COUNT_UNDEFINED WGPU_COMMA \ + /*.baseArrayLayer=*/0 WGPU_COMMA \ + /*.arrayLayerCount=*/WGPU_ARRAY_LAYER_COUNT_UNDEFINED WGPU_COMMA \ + /*.aspect=*/WGPUTextureAspect_All WGPU_COMMA \ + /*.usage=*/WGPUTextureUsage_None WGPU_COMMA \ +}) + +typedef struct WGPUVertexBufferLayout { + uint64_t arrayStride; + WGPUVertexStepMode stepMode; + size_t attributeCount; + WGPUVertexAttribute const * attributes; +} WGPUVertexBufferLayout WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_VERTEX_BUFFER_LAYOUT_INIT WGPU_MAKE_INIT_STRUCT(WGPUVertexBufferLayout, { \ + /*.arrayStride=*/{} WGPU_COMMA \ + /*.stepMode=*/{} WGPU_COMMA \ + /*.attributeCount=*/{} WGPU_COMMA \ + /*.attributes=*/{} WGPU_COMMA \ +}) + +typedef struct WGPUBindGroupLayoutDescriptor { + WGPUChainedStruct const * nextInChain; + WGPUStringView label; + size_t entryCount; + WGPUBindGroupLayoutEntry const * entries; +} WGPUBindGroupLayoutDescriptor WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_BIND_GROUP_LAYOUT_DESCRIPTOR_INIT WGPU_MAKE_INIT_STRUCT(WGPUBindGroupLayoutDescriptor, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.label=*/WGPU_STRING_VIEW_INIT WGPU_COMMA \ + /*.entryCount=*/{} WGPU_COMMA \ + /*.entries=*/{} WGPU_COMMA \ +}) + +typedef struct WGPUColorTargetState { + WGPUChainedStruct const * nextInChain; + WGPUTextureFormat format; + WGPU_NULLABLE WGPUBlendState const * blend; + WGPUColorWriteMask writeMask; +} WGPUColorTargetState WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_COLOR_TARGET_STATE_INIT WGPU_MAKE_INIT_STRUCT(WGPUColorTargetState, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.format=*/{} WGPU_COMMA \ + /*.blend=*/nullptr WGPU_COMMA \ + /*.writeMask=*/WGPUColorWriteMask_All WGPU_COMMA \ +}) + +typedef struct WGPUCompilationInfo { + WGPUChainedStruct const * nextInChain; + size_t messageCount; + WGPUCompilationMessage const * messages; +} WGPUCompilationInfo WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_COMPILATION_INFO_INIT WGPU_MAKE_INIT_STRUCT(WGPUCompilationInfo, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.messageCount=*/{} WGPU_COMMA \ + /*.messages=*/{} WGPU_COMMA \ +}) + +typedef struct WGPUComputeState { + WGPUChainedStruct const * nextInChain; + WGPUShaderModule module; + WGPUStringView entryPoint; + size_t constantCount; + WGPUConstantEntry const * constants; +} WGPUComputeState WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_COMPUTE_STATE_INIT WGPU_MAKE_INIT_STRUCT(WGPUComputeState, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.module=*/{} WGPU_COMMA \ + /*.entryPoint=*/WGPU_STRING_VIEW_INIT WGPU_COMMA \ + /*.constantCount=*/0 WGPU_COMMA \ + /*.constants=*/{} WGPU_COMMA \ +}) + +typedef struct WGPUDeviceDescriptor { + WGPUChainedStruct const * nextInChain; + WGPUStringView label; + size_t requiredFeatureCount; + WGPUFeatureName const * requiredFeatures; + WGPU_NULLABLE WGPURequiredLimits const * requiredLimits; + WGPUQueueDescriptor defaultQueue; + WGPUDeviceLostCallbackInfo2 deviceLostCallbackInfo2; + WGPUUncapturedErrorCallbackInfo2 uncapturedErrorCallbackInfo2; +} WGPUDeviceDescriptor WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_DEVICE_DESCRIPTOR_INIT WGPU_MAKE_INIT_STRUCT(WGPUDeviceDescriptor, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.label=*/WGPU_STRING_VIEW_INIT WGPU_COMMA \ + /*.requiredFeatureCount=*/0 WGPU_COMMA \ + /*.requiredFeatures=*/nullptr WGPU_COMMA \ + /*.requiredLimits=*/nullptr WGPU_COMMA \ + /*.defaultQueue=*/WGPU_QUEUE_DESCRIPTOR_INIT WGPU_COMMA \ + /*.deviceLostCallbackInfo2=*/{} WGPU_COMMA \ + /*.uncapturedErrorCallbackInfo2=*/{} WGPU_COMMA \ +}) + +typedef struct WGPURenderPassDescriptor { + WGPUChainedStruct const * nextInChain; + WGPUStringView label; + size_t colorAttachmentCount; + WGPURenderPassColorAttachment const * colorAttachments; + WGPU_NULLABLE WGPURenderPassDepthStencilAttachment const * depthStencilAttachment; + WGPU_NULLABLE WGPUQuerySet occlusionQuerySet; + WGPU_NULLABLE WGPURenderPassTimestampWrites const * timestampWrites; +} WGPURenderPassDescriptor WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_RENDER_PASS_DESCRIPTOR_INIT WGPU_MAKE_INIT_STRUCT(WGPURenderPassDescriptor, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.label=*/WGPU_STRING_VIEW_INIT WGPU_COMMA \ + /*.colorAttachmentCount=*/{} WGPU_COMMA \ + /*.colorAttachments=*/{} WGPU_COMMA \ + /*.depthStencilAttachment=*/nullptr WGPU_COMMA \ + /*.occlusionQuerySet=*/nullptr WGPU_COMMA \ + /*.timestampWrites=*/nullptr WGPU_COMMA \ +}) + +// Can be chained in WGPURenderPassDescriptor +typedef struct WGPURenderPassPixelLocalStorage { + WGPUChainedStruct chain; + uint64_t totalPixelLocalStorageSize; + size_t storageAttachmentCount; + WGPURenderPassStorageAttachment const * storageAttachments; +} WGPURenderPassPixelLocalStorage WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_RENDER_PASS_PIXEL_LOCAL_STORAGE_INIT WGPU_MAKE_INIT_STRUCT(WGPURenderPassPixelLocalStorage, { \ + /*.chain=*/{/*.nextInChain*/nullptr WGPU_COMMA /*.sType*/WGPUSType_RenderPassPixelLocalStorage} WGPU_COMMA \ + /*.totalPixelLocalStorageSize=*/{} WGPU_COMMA \ + /*.storageAttachmentCount=*/0 WGPU_COMMA \ + /*.storageAttachments=*/{} WGPU_COMMA \ +}) + +typedef struct WGPUVertexState { + WGPUChainedStruct const * nextInChain; + WGPUShaderModule module; + WGPUStringView entryPoint; + size_t constantCount; + WGPUConstantEntry const * constants; + size_t bufferCount; + WGPUVertexBufferLayout const * buffers; +} WGPUVertexState WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_VERTEX_STATE_INIT WGPU_MAKE_INIT_STRUCT(WGPUVertexState, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.module=*/{} WGPU_COMMA \ + /*.entryPoint=*/WGPU_STRING_VIEW_INIT WGPU_COMMA \ + /*.constantCount=*/0 WGPU_COMMA \ + /*.constants=*/{} WGPU_COMMA \ + /*.bufferCount=*/0 WGPU_COMMA \ + /*.buffers=*/{} WGPU_COMMA \ +}) + +typedef struct WGPUComputePipelineDescriptor { + WGPUChainedStruct const * nextInChain; + WGPUStringView label; + WGPU_NULLABLE WGPUPipelineLayout layout; + WGPUComputeState compute; +} WGPUComputePipelineDescriptor WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_COMPUTE_PIPELINE_DESCRIPTOR_INIT WGPU_MAKE_INIT_STRUCT(WGPUComputePipelineDescriptor, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.label=*/WGPU_STRING_VIEW_INIT WGPU_COMMA \ + /*.layout=*/nullptr WGPU_COMMA \ + /*.compute=*/WGPU_COMPUTE_STATE_INIT WGPU_COMMA \ +}) + +typedef struct WGPUFragmentState { + WGPUChainedStruct const * nextInChain; + WGPUShaderModule module; + WGPUStringView entryPoint; + size_t constantCount; + WGPUConstantEntry const * constants; + size_t targetCount; + WGPUColorTargetState const * targets; +} WGPUFragmentState WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_FRAGMENT_STATE_INIT WGPU_MAKE_INIT_STRUCT(WGPUFragmentState, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.module=*/{} WGPU_COMMA \ + /*.entryPoint=*/WGPU_STRING_VIEW_INIT WGPU_COMMA \ + /*.constantCount=*/0 WGPU_COMMA \ + /*.constants=*/{} WGPU_COMMA \ + /*.targetCount=*/{} WGPU_COMMA \ + /*.targets=*/{} WGPU_COMMA \ +}) + +typedef struct WGPURenderPipelineDescriptor { + WGPUChainedStruct const * nextInChain; + WGPUStringView label; + WGPU_NULLABLE WGPUPipelineLayout layout; + WGPUVertexState vertex; + WGPUPrimitiveState primitive; + WGPU_NULLABLE WGPUDepthStencilState const * depthStencil; + WGPUMultisampleState multisample; + WGPU_NULLABLE WGPUFragmentState const * fragment; +} WGPURenderPipelineDescriptor WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_RENDER_PIPELINE_DESCRIPTOR_INIT WGPU_MAKE_INIT_STRUCT(WGPURenderPipelineDescriptor, { \ + /*.nextInChain=*/nullptr WGPU_COMMA \ + /*.label=*/WGPU_STRING_VIEW_INIT WGPU_COMMA \ + /*.layout=*/nullptr WGPU_COMMA \ + /*.vertex=*/WGPU_VERTEX_STATE_INIT WGPU_COMMA \ + /*.primitive=*/WGPU_PRIMITIVE_STATE_INIT WGPU_COMMA \ + /*.depthStencil=*/nullptr WGPU_COMMA \ + /*.multisample=*/WGPU_MULTISAMPLE_STATE_INIT WGPU_COMMA \ + /*.fragment=*/nullptr WGPU_COMMA \ +}) + +// WGPURenderPassDescriptorMaxDrawCount is deprecated. +// Use WGPURenderPassMaxDrawCount instead. +typedef WGPURenderPassMaxDrawCount WGPURenderPassDescriptorMaxDrawCount; + +// WGPUShaderModuleSPIRVDescriptor is deprecated. +// Use WGPUShaderSourceSPIRV instead. +typedef WGPUShaderSourceSPIRV WGPUShaderModuleSPIRVDescriptor; + +// WGPUShaderModuleWGSLDescriptor is deprecated. +// Use WGPUShaderSourceWGSL instead. +typedef WGPUShaderSourceWGSL WGPUShaderModuleWGSLDescriptor; + +// WGPUSurfaceDescriptorFromAndroidNativeWindow is deprecated. +// Use WGPUSurfaceSourceAndroidNativeWindow instead. +typedef WGPUSurfaceSourceAndroidNativeWindow WGPUSurfaceDescriptorFromAndroidNativeWindow; + +// WGPUSurfaceDescriptorFromCanvasHTMLSelector is deprecated. +// Use WGPUSurfaceSourceCanvasHTMLSelector_Emscripten instead. +typedef WGPUSurfaceSourceCanvasHTMLSelector_Emscripten WGPUSurfaceDescriptorFromCanvasHTMLSelector; + +// WGPUSurfaceDescriptorFromMetalLayer is deprecated. +// Use WGPUSurfaceSourceMetalLayer instead. +typedef WGPUSurfaceSourceMetalLayer WGPUSurfaceDescriptorFromMetalLayer; + +// WGPUSurfaceDescriptorFromWaylandSurface is deprecated. +// Use WGPUSurfaceSourceWaylandSurface instead. +typedef WGPUSurfaceSourceWaylandSurface WGPUSurfaceDescriptorFromWaylandSurface; + +// WGPUSurfaceDescriptorFromWindowsHWND is deprecated. +// Use WGPUSurfaceSourceWindowsHWND instead. +typedef WGPUSurfaceSourceWindowsHWND WGPUSurfaceDescriptorFromWindowsHWND; + +// WGPUSurfaceDescriptorFromXcbWindow is deprecated. +// Use WGPUSurfaceSourceXCBWindow instead. +typedef WGPUSurfaceSourceXCBWindow WGPUSurfaceDescriptorFromXcbWindow; + +// WGPUSurfaceDescriptorFromXlibWindow is deprecated. +// Use WGPUSurfaceSourceXlibWindow instead. +typedef WGPUSurfaceSourceXlibWindow WGPUSurfaceDescriptorFromXlibWindow; + +#ifdef __cplusplus +extern "C" { +#endif + +#if !defined(WGPU_SKIP_PROCS) + +// TODO(374150686): Remove these Emscripten specific declarations from the +// header once they are fully deprecated. +#ifdef __EMSCRIPTEN__ +WGPU_EXPORT WGPUDevice emscripten_webgpu_get_device(void); +#endif + +typedef void (*WGPUProcAdapterInfoFreeMembers)( WGPUAdapterInfo value) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcAdapterPropertiesMemoryHeapsFreeMembers)( WGPUAdapterPropertiesMemoryHeaps value) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUInstance (*WGPUProcCreateInstance)( WGPU_NULLABLE WGPUInstanceDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcDrmFormatCapabilitiesFreeMembers)( WGPUDrmFormatCapabilities value) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUStatus (*WGPUProcGetInstanceFeatures)( WGPUInstanceFeatures * features) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUProc (*WGPUProcGetProcAddress)( WGPUStringView procName) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcSharedBufferMemoryEndAccessStateFreeMembers)( WGPUSharedBufferMemoryEndAccessState value) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcSharedTextureMemoryEndAccessStateFreeMembers)( WGPUSharedTextureMemoryEndAccessState value) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcSupportedFeaturesFreeMembers)( WGPUSupportedFeatures value) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcSurfaceCapabilitiesFreeMembers)( WGPUSurfaceCapabilities value) WGPU_FUNCTION_ATTRIBUTE; + +// Procs of Adapter +typedef WGPUDevice (*WGPUProcAdapterCreateDevice)(WGPUAdapter adapter, WGPU_NULLABLE WGPUDeviceDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcAdapterGetFeatures)(WGPUAdapter adapter, WGPUSupportedFeatures * features) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUStatus (*WGPUProcAdapterGetFormatCapabilities)(WGPUAdapter adapter, WGPUTextureFormat format, WGPUFormatCapabilities * capabilities) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUStatus (*WGPUProcAdapterGetInfo)(WGPUAdapter adapter, WGPUAdapterInfo * info) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUInstance (*WGPUProcAdapterGetInstance)(WGPUAdapter adapter) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUStatus (*WGPUProcAdapterGetLimits)(WGPUAdapter adapter, WGPUSupportedLimits * limits) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUBool (*WGPUProcAdapterHasFeature)(WGPUAdapter adapter, WGPUFeatureName feature) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcAdapterRequestDevice)(WGPUAdapter adapter, WGPU_NULLABLE WGPUDeviceDescriptor const * descriptor, WGPURequestDeviceCallback callback, void * userdata) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUFuture (*WGPUProcAdapterRequestDevice2)(WGPUAdapter adapter, WGPU_NULLABLE WGPUDeviceDescriptor const * options, WGPURequestDeviceCallbackInfo2 callbackInfo) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUFuture (*WGPUProcAdapterRequestDeviceF)(WGPUAdapter adapter, WGPU_NULLABLE WGPUDeviceDescriptor const * options, WGPURequestDeviceCallbackInfo callbackInfo) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcAdapterAddRef)(WGPUAdapter adapter) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcAdapterRelease)(WGPUAdapter adapter) WGPU_FUNCTION_ATTRIBUTE; + +// Procs of BindGroup +typedef void (*WGPUProcBindGroupSetLabel)(WGPUBindGroup bindGroup, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcBindGroupAddRef)(WGPUBindGroup bindGroup) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcBindGroupRelease)(WGPUBindGroup bindGroup) WGPU_FUNCTION_ATTRIBUTE; + +// Procs of BindGroupLayout +typedef void (*WGPUProcBindGroupLayoutSetLabel)(WGPUBindGroupLayout bindGroupLayout, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcBindGroupLayoutAddRef)(WGPUBindGroupLayout bindGroupLayout) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcBindGroupLayoutRelease)(WGPUBindGroupLayout bindGroupLayout) WGPU_FUNCTION_ATTRIBUTE; + +// Procs of Buffer +typedef void (*WGPUProcBufferDestroy)(WGPUBuffer buffer) WGPU_FUNCTION_ATTRIBUTE; +typedef void const * (*WGPUProcBufferGetConstMappedRange)(WGPUBuffer buffer, size_t offset, size_t size) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUBufferMapState (*WGPUProcBufferGetMapState)(WGPUBuffer buffer) WGPU_FUNCTION_ATTRIBUTE; +typedef void * (*WGPUProcBufferGetMappedRange)(WGPUBuffer buffer, size_t offset, size_t size) WGPU_FUNCTION_ATTRIBUTE; +typedef uint64_t (*WGPUProcBufferGetSize)(WGPUBuffer buffer) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUBufferUsage (*WGPUProcBufferGetUsage)(WGPUBuffer buffer) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcBufferMapAsync)(WGPUBuffer buffer, WGPUMapMode mode, size_t offset, size_t size, WGPUBufferMapCallback callback, void * userdata) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUFuture (*WGPUProcBufferMapAsync2)(WGPUBuffer buffer, WGPUMapMode mode, size_t offset, size_t size, WGPUBufferMapCallbackInfo2 callbackInfo) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUFuture (*WGPUProcBufferMapAsyncF)(WGPUBuffer buffer, WGPUMapMode mode, size_t offset, size_t size, WGPUBufferMapCallbackInfo callbackInfo) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcBufferSetLabel)(WGPUBuffer buffer, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcBufferUnmap)(WGPUBuffer buffer) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcBufferAddRef)(WGPUBuffer buffer) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcBufferRelease)(WGPUBuffer buffer) WGPU_FUNCTION_ATTRIBUTE; + +// Procs of CommandBuffer +typedef void (*WGPUProcCommandBufferSetLabel)(WGPUCommandBuffer commandBuffer, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcCommandBufferAddRef)(WGPUCommandBuffer commandBuffer) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcCommandBufferRelease)(WGPUCommandBuffer commandBuffer) WGPU_FUNCTION_ATTRIBUTE; + +// Procs of CommandEncoder +typedef WGPUComputePassEncoder (*WGPUProcCommandEncoderBeginComputePass)(WGPUCommandEncoder commandEncoder, WGPU_NULLABLE WGPUComputePassDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPURenderPassEncoder (*WGPUProcCommandEncoderBeginRenderPass)(WGPUCommandEncoder commandEncoder, WGPURenderPassDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcCommandEncoderClearBuffer)(WGPUCommandEncoder commandEncoder, WGPUBuffer buffer, uint64_t offset, uint64_t size) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcCommandEncoderCopyBufferToBuffer)(WGPUCommandEncoder commandEncoder, WGPUBuffer source, uint64_t sourceOffset, WGPUBuffer destination, uint64_t destinationOffset, uint64_t size) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcCommandEncoderCopyBufferToTexture)(WGPUCommandEncoder commandEncoder, WGPUImageCopyBuffer const * source, WGPUImageCopyTexture const * destination, WGPUExtent3D const * copySize) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcCommandEncoderCopyTextureToBuffer)(WGPUCommandEncoder commandEncoder, WGPUImageCopyTexture const * source, WGPUImageCopyBuffer const * destination, WGPUExtent3D const * copySize) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcCommandEncoderCopyTextureToTexture)(WGPUCommandEncoder commandEncoder, WGPUImageCopyTexture const * source, WGPUImageCopyTexture const * destination, WGPUExtent3D const * copySize) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUCommandBuffer (*WGPUProcCommandEncoderFinish)(WGPUCommandEncoder commandEncoder, WGPU_NULLABLE WGPUCommandBufferDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcCommandEncoderInjectValidationError)(WGPUCommandEncoder commandEncoder, WGPUStringView message) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcCommandEncoderInsertDebugMarker)(WGPUCommandEncoder commandEncoder, WGPUStringView markerLabel) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcCommandEncoderPopDebugGroup)(WGPUCommandEncoder commandEncoder) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcCommandEncoderPushDebugGroup)(WGPUCommandEncoder commandEncoder, WGPUStringView groupLabel) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcCommandEncoderResolveQuerySet)(WGPUCommandEncoder commandEncoder, WGPUQuerySet querySet, uint32_t firstQuery, uint32_t queryCount, WGPUBuffer destination, uint64_t destinationOffset) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcCommandEncoderSetLabel)(WGPUCommandEncoder commandEncoder, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcCommandEncoderWriteBuffer)(WGPUCommandEncoder commandEncoder, WGPUBuffer buffer, uint64_t bufferOffset, uint8_t const * data, uint64_t size) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcCommandEncoderWriteTimestamp)(WGPUCommandEncoder commandEncoder, WGPUQuerySet querySet, uint32_t queryIndex) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcCommandEncoderAddRef)(WGPUCommandEncoder commandEncoder) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcCommandEncoderRelease)(WGPUCommandEncoder commandEncoder) WGPU_FUNCTION_ATTRIBUTE; + +// Procs of ComputePassEncoder +typedef void (*WGPUProcComputePassEncoderDispatchWorkgroups)(WGPUComputePassEncoder computePassEncoder, uint32_t workgroupCountX, uint32_t workgroupCountY, uint32_t workgroupCountZ) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcComputePassEncoderDispatchWorkgroupsIndirect)(WGPUComputePassEncoder computePassEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcComputePassEncoderEnd)(WGPUComputePassEncoder computePassEncoder) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcComputePassEncoderInsertDebugMarker)(WGPUComputePassEncoder computePassEncoder, WGPUStringView markerLabel) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcComputePassEncoderPopDebugGroup)(WGPUComputePassEncoder computePassEncoder) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcComputePassEncoderPushDebugGroup)(WGPUComputePassEncoder computePassEncoder, WGPUStringView groupLabel) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcComputePassEncoderSetBindGroup)(WGPUComputePassEncoder computePassEncoder, uint32_t groupIndex, WGPU_NULLABLE WGPUBindGroup group, size_t dynamicOffsetCount, uint32_t const * dynamicOffsets) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcComputePassEncoderSetLabel)(WGPUComputePassEncoder computePassEncoder, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcComputePassEncoderSetPipeline)(WGPUComputePassEncoder computePassEncoder, WGPUComputePipeline pipeline) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcComputePassEncoderWriteTimestamp)(WGPUComputePassEncoder computePassEncoder, WGPUQuerySet querySet, uint32_t queryIndex) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcComputePassEncoderAddRef)(WGPUComputePassEncoder computePassEncoder) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcComputePassEncoderRelease)(WGPUComputePassEncoder computePassEncoder) WGPU_FUNCTION_ATTRIBUTE; + +// Procs of ComputePipeline +typedef WGPUBindGroupLayout (*WGPUProcComputePipelineGetBindGroupLayout)(WGPUComputePipeline computePipeline, uint32_t groupIndex) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcComputePipelineSetLabel)(WGPUComputePipeline computePipeline, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcComputePipelineAddRef)(WGPUComputePipeline computePipeline) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcComputePipelineRelease)(WGPUComputePipeline computePipeline) WGPU_FUNCTION_ATTRIBUTE; + +// Procs of Device +typedef WGPUBindGroup (*WGPUProcDeviceCreateBindGroup)(WGPUDevice device, WGPUBindGroupDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUBindGroupLayout (*WGPUProcDeviceCreateBindGroupLayout)(WGPUDevice device, WGPUBindGroupLayoutDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUBuffer (*WGPUProcDeviceCreateBuffer)(WGPUDevice device, WGPUBufferDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUCommandEncoder (*WGPUProcDeviceCreateCommandEncoder)(WGPUDevice device, WGPU_NULLABLE WGPUCommandEncoderDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUComputePipeline (*WGPUProcDeviceCreateComputePipeline)(WGPUDevice device, WGPUComputePipelineDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcDeviceCreateComputePipelineAsync)(WGPUDevice device, WGPUComputePipelineDescriptor const * descriptor, WGPUCreateComputePipelineAsyncCallback callback, void * userdata) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUFuture (*WGPUProcDeviceCreateComputePipelineAsync2)(WGPUDevice device, WGPUComputePipelineDescriptor const * descriptor, WGPUCreateComputePipelineAsyncCallbackInfo2 callbackInfo) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUFuture (*WGPUProcDeviceCreateComputePipelineAsyncF)(WGPUDevice device, WGPUComputePipelineDescriptor const * descriptor, WGPUCreateComputePipelineAsyncCallbackInfo callbackInfo) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUBuffer (*WGPUProcDeviceCreateErrorBuffer)(WGPUDevice device, WGPUBufferDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUExternalTexture (*WGPUProcDeviceCreateErrorExternalTexture)(WGPUDevice device) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUShaderModule (*WGPUProcDeviceCreateErrorShaderModule)(WGPUDevice device, WGPUShaderModuleDescriptor const * descriptor, WGPUStringView errorMessage) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUTexture (*WGPUProcDeviceCreateErrorTexture)(WGPUDevice device, WGPUTextureDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUExternalTexture (*WGPUProcDeviceCreateExternalTexture)(WGPUDevice device, WGPUExternalTextureDescriptor const * externalTextureDescriptor) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUPipelineLayout (*WGPUProcDeviceCreatePipelineLayout)(WGPUDevice device, WGPUPipelineLayoutDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUQuerySet (*WGPUProcDeviceCreateQuerySet)(WGPUDevice device, WGPUQuerySetDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPURenderBundleEncoder (*WGPUProcDeviceCreateRenderBundleEncoder)(WGPUDevice device, WGPURenderBundleEncoderDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPURenderPipeline (*WGPUProcDeviceCreateRenderPipeline)(WGPUDevice device, WGPURenderPipelineDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcDeviceCreateRenderPipelineAsync)(WGPUDevice device, WGPURenderPipelineDescriptor const * descriptor, WGPUCreateRenderPipelineAsyncCallback callback, void * userdata) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUFuture (*WGPUProcDeviceCreateRenderPipelineAsync2)(WGPUDevice device, WGPURenderPipelineDescriptor const * descriptor, WGPUCreateRenderPipelineAsyncCallbackInfo2 callbackInfo) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUFuture (*WGPUProcDeviceCreateRenderPipelineAsyncF)(WGPUDevice device, WGPURenderPipelineDescriptor const * descriptor, WGPUCreateRenderPipelineAsyncCallbackInfo callbackInfo) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUSampler (*WGPUProcDeviceCreateSampler)(WGPUDevice device, WGPU_NULLABLE WGPUSamplerDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUShaderModule (*WGPUProcDeviceCreateShaderModule)(WGPUDevice device, WGPUShaderModuleDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUTexture (*WGPUProcDeviceCreateTexture)(WGPUDevice device, WGPUTextureDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcDeviceDestroy)(WGPUDevice device) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcDeviceForceLoss)(WGPUDevice device, WGPUDeviceLostReason type, WGPUStringView message) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUStatus (*WGPUProcDeviceGetAHardwareBufferProperties)(WGPUDevice device, void * handle, WGPUAHardwareBufferProperties * properties) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUAdapter (*WGPUProcDeviceGetAdapter)(WGPUDevice device) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUStatus (*WGPUProcDeviceGetAdapterInfo)(WGPUDevice device, WGPUAdapterInfo * adapterInfo) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcDeviceGetFeatures)(WGPUDevice device, WGPUSupportedFeatures * features) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUStatus (*WGPUProcDeviceGetLimits)(WGPUDevice device, WGPUSupportedLimits * limits) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUFuture (*WGPUProcDeviceGetLostFuture)(WGPUDevice device) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUQueue (*WGPUProcDeviceGetQueue)(WGPUDevice device) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUBool (*WGPUProcDeviceHasFeature)(WGPUDevice device, WGPUFeatureName feature) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUSharedBufferMemory (*WGPUProcDeviceImportSharedBufferMemory)(WGPUDevice device, WGPUSharedBufferMemoryDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUSharedFence (*WGPUProcDeviceImportSharedFence)(WGPUDevice device, WGPUSharedFenceDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUSharedTextureMemory (*WGPUProcDeviceImportSharedTextureMemory)(WGPUDevice device, WGPUSharedTextureMemoryDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcDeviceInjectError)(WGPUDevice device, WGPUErrorType type, WGPUStringView message) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcDevicePopErrorScope)(WGPUDevice device, WGPUErrorCallback oldCallback, void * userdata) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUFuture (*WGPUProcDevicePopErrorScope2)(WGPUDevice device, WGPUPopErrorScopeCallbackInfo2 callbackInfo) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUFuture (*WGPUProcDevicePopErrorScopeF)(WGPUDevice device, WGPUPopErrorScopeCallbackInfo callbackInfo) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcDevicePushErrorScope)(WGPUDevice device, WGPUErrorFilter filter) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcDeviceSetLabel)(WGPUDevice device, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcDeviceSetLoggingCallback)(WGPUDevice device, WGPULoggingCallback callback, void * userdata) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcDeviceTick)(WGPUDevice device) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcDeviceValidateTextureDescriptor)(WGPUDevice device, WGPUTextureDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcDeviceAddRef)(WGPUDevice device) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcDeviceRelease)(WGPUDevice device) WGPU_FUNCTION_ATTRIBUTE; + +// Procs of ExternalTexture +typedef void (*WGPUProcExternalTextureDestroy)(WGPUExternalTexture externalTexture) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcExternalTextureExpire)(WGPUExternalTexture externalTexture) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcExternalTextureRefresh)(WGPUExternalTexture externalTexture) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcExternalTextureSetLabel)(WGPUExternalTexture externalTexture, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcExternalTextureAddRef)(WGPUExternalTexture externalTexture) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcExternalTextureRelease)(WGPUExternalTexture externalTexture) WGPU_FUNCTION_ATTRIBUTE; + +// Procs of Instance +typedef WGPUSurface (*WGPUProcInstanceCreateSurface)(WGPUInstance instance, WGPUSurfaceDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +typedef size_t (*WGPUProcInstanceEnumerateWGSLLanguageFeatures)(WGPUInstance instance, WGPUWGSLFeatureName * features) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUBool (*WGPUProcInstanceHasWGSLLanguageFeature)(WGPUInstance instance, WGPUWGSLFeatureName feature) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcInstanceProcessEvents)(WGPUInstance instance) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcInstanceRequestAdapter)(WGPUInstance instance, WGPU_NULLABLE WGPURequestAdapterOptions const * options, WGPURequestAdapterCallback callback, void * userdata) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUFuture (*WGPUProcInstanceRequestAdapter2)(WGPUInstance instance, WGPU_NULLABLE WGPURequestAdapterOptions const * options, WGPURequestAdapterCallbackInfo2 callbackInfo) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUFuture (*WGPUProcInstanceRequestAdapterF)(WGPUInstance instance, WGPU_NULLABLE WGPURequestAdapterOptions const * options, WGPURequestAdapterCallbackInfo callbackInfo) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUWaitStatus (*WGPUProcInstanceWaitAny)(WGPUInstance instance, size_t futureCount, WGPUFutureWaitInfo * futures, uint64_t timeoutNS) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcInstanceAddRef)(WGPUInstance instance) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcInstanceRelease)(WGPUInstance instance) WGPU_FUNCTION_ATTRIBUTE; + +// Procs of PipelineLayout +typedef void (*WGPUProcPipelineLayoutSetLabel)(WGPUPipelineLayout pipelineLayout, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcPipelineLayoutAddRef)(WGPUPipelineLayout pipelineLayout) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcPipelineLayoutRelease)(WGPUPipelineLayout pipelineLayout) WGPU_FUNCTION_ATTRIBUTE; + +// Procs of QuerySet +typedef void (*WGPUProcQuerySetDestroy)(WGPUQuerySet querySet) WGPU_FUNCTION_ATTRIBUTE; +typedef uint32_t (*WGPUProcQuerySetGetCount)(WGPUQuerySet querySet) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUQueryType (*WGPUProcQuerySetGetType)(WGPUQuerySet querySet) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcQuerySetSetLabel)(WGPUQuerySet querySet, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcQuerySetAddRef)(WGPUQuerySet querySet) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcQuerySetRelease)(WGPUQuerySet querySet) WGPU_FUNCTION_ATTRIBUTE; + +// Procs of Queue +typedef void (*WGPUProcQueueCopyExternalTextureForBrowser)(WGPUQueue queue, WGPUImageCopyExternalTexture const * source, WGPUImageCopyTexture const * destination, WGPUExtent3D const * copySize, WGPUCopyTextureForBrowserOptions const * options) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcQueueCopyTextureForBrowser)(WGPUQueue queue, WGPUImageCopyTexture const * source, WGPUImageCopyTexture const * destination, WGPUExtent3D const * copySize, WGPUCopyTextureForBrowserOptions const * options) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcQueueOnSubmittedWorkDone)(WGPUQueue queue, WGPUQueueWorkDoneCallback callback, void * userdata) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUFuture (*WGPUProcQueueOnSubmittedWorkDone2)(WGPUQueue queue, WGPUQueueWorkDoneCallbackInfo2 callbackInfo) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUFuture (*WGPUProcQueueOnSubmittedWorkDoneF)(WGPUQueue queue, WGPUQueueWorkDoneCallbackInfo callbackInfo) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcQueueSetLabel)(WGPUQueue queue, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcQueueSubmit)(WGPUQueue queue, size_t commandCount, WGPUCommandBuffer const * commands) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcQueueWriteBuffer)(WGPUQueue queue, WGPUBuffer buffer, uint64_t bufferOffset, void const * data, size_t size) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcQueueWriteTexture)(WGPUQueue queue, WGPUImageCopyTexture const * destination, void const * data, size_t dataSize, WGPUTextureDataLayout const * dataLayout, WGPUExtent3D const * writeSize) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcQueueAddRef)(WGPUQueue queue) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcQueueRelease)(WGPUQueue queue) WGPU_FUNCTION_ATTRIBUTE; + +// Procs of RenderBundle +typedef void (*WGPUProcRenderBundleSetLabel)(WGPURenderBundle renderBundle, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcRenderBundleAddRef)(WGPURenderBundle renderBundle) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcRenderBundleRelease)(WGPURenderBundle renderBundle) WGPU_FUNCTION_ATTRIBUTE; + +// Procs of RenderBundleEncoder +typedef void (*WGPUProcRenderBundleEncoderDraw)(WGPURenderBundleEncoder renderBundleEncoder, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcRenderBundleEncoderDrawIndexed)(WGPURenderBundleEncoder renderBundleEncoder, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t baseVertex, uint32_t firstInstance) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcRenderBundleEncoderDrawIndexedIndirect)(WGPURenderBundleEncoder renderBundleEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcRenderBundleEncoderDrawIndirect)(WGPURenderBundleEncoder renderBundleEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPURenderBundle (*WGPUProcRenderBundleEncoderFinish)(WGPURenderBundleEncoder renderBundleEncoder, WGPU_NULLABLE WGPURenderBundleDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcRenderBundleEncoderInsertDebugMarker)(WGPURenderBundleEncoder renderBundleEncoder, WGPUStringView markerLabel) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcRenderBundleEncoderPopDebugGroup)(WGPURenderBundleEncoder renderBundleEncoder) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcRenderBundleEncoderPushDebugGroup)(WGPURenderBundleEncoder renderBundleEncoder, WGPUStringView groupLabel) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcRenderBundleEncoderSetBindGroup)(WGPURenderBundleEncoder renderBundleEncoder, uint32_t groupIndex, WGPU_NULLABLE WGPUBindGroup group, size_t dynamicOffsetCount, uint32_t const * dynamicOffsets) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcRenderBundleEncoderSetIndexBuffer)(WGPURenderBundleEncoder renderBundleEncoder, WGPUBuffer buffer, WGPUIndexFormat format, uint64_t offset, uint64_t size) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcRenderBundleEncoderSetLabel)(WGPURenderBundleEncoder renderBundleEncoder, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcRenderBundleEncoderSetPipeline)(WGPURenderBundleEncoder renderBundleEncoder, WGPURenderPipeline pipeline) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcRenderBundleEncoderSetVertexBuffer)(WGPURenderBundleEncoder renderBundleEncoder, uint32_t slot, WGPU_NULLABLE WGPUBuffer buffer, uint64_t offset, uint64_t size) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcRenderBundleEncoderAddRef)(WGPURenderBundleEncoder renderBundleEncoder) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcRenderBundleEncoderRelease)(WGPURenderBundleEncoder renderBundleEncoder) WGPU_FUNCTION_ATTRIBUTE; + +// Procs of RenderPassEncoder +typedef void (*WGPUProcRenderPassEncoderBeginOcclusionQuery)(WGPURenderPassEncoder renderPassEncoder, uint32_t queryIndex) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcRenderPassEncoderDraw)(WGPURenderPassEncoder renderPassEncoder, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcRenderPassEncoderDrawIndexed)(WGPURenderPassEncoder renderPassEncoder, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t baseVertex, uint32_t firstInstance) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcRenderPassEncoderDrawIndexedIndirect)(WGPURenderPassEncoder renderPassEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcRenderPassEncoderDrawIndirect)(WGPURenderPassEncoder renderPassEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcRenderPassEncoderEnd)(WGPURenderPassEncoder renderPassEncoder) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcRenderPassEncoderEndOcclusionQuery)(WGPURenderPassEncoder renderPassEncoder) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcRenderPassEncoderExecuteBundles)(WGPURenderPassEncoder renderPassEncoder, size_t bundleCount, WGPURenderBundle const * bundles) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcRenderPassEncoderInsertDebugMarker)(WGPURenderPassEncoder renderPassEncoder, WGPUStringView markerLabel) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcRenderPassEncoderMultiDrawIndexedIndirect)(WGPURenderPassEncoder renderPassEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset, uint32_t maxDrawCount, WGPU_NULLABLE WGPUBuffer drawCountBuffer, uint64_t drawCountBufferOffset) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcRenderPassEncoderMultiDrawIndirect)(WGPURenderPassEncoder renderPassEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset, uint32_t maxDrawCount, WGPU_NULLABLE WGPUBuffer drawCountBuffer, uint64_t drawCountBufferOffset) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcRenderPassEncoderPixelLocalStorageBarrier)(WGPURenderPassEncoder renderPassEncoder) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcRenderPassEncoderPopDebugGroup)(WGPURenderPassEncoder renderPassEncoder) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcRenderPassEncoderPushDebugGroup)(WGPURenderPassEncoder renderPassEncoder, WGPUStringView groupLabel) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcRenderPassEncoderSetBindGroup)(WGPURenderPassEncoder renderPassEncoder, uint32_t groupIndex, WGPU_NULLABLE WGPUBindGroup group, size_t dynamicOffsetCount, uint32_t const * dynamicOffsets) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcRenderPassEncoderSetBlendConstant)(WGPURenderPassEncoder renderPassEncoder, WGPUColor const * color) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcRenderPassEncoderSetIndexBuffer)(WGPURenderPassEncoder renderPassEncoder, WGPUBuffer buffer, WGPUIndexFormat format, uint64_t offset, uint64_t size) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcRenderPassEncoderSetLabel)(WGPURenderPassEncoder renderPassEncoder, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcRenderPassEncoderSetPipeline)(WGPURenderPassEncoder renderPassEncoder, WGPURenderPipeline pipeline) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcRenderPassEncoderSetScissorRect)(WGPURenderPassEncoder renderPassEncoder, uint32_t x, uint32_t y, uint32_t width, uint32_t height) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcRenderPassEncoderSetStencilReference)(WGPURenderPassEncoder renderPassEncoder, uint32_t reference) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcRenderPassEncoderSetVertexBuffer)(WGPURenderPassEncoder renderPassEncoder, uint32_t slot, WGPU_NULLABLE WGPUBuffer buffer, uint64_t offset, uint64_t size) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcRenderPassEncoderSetViewport)(WGPURenderPassEncoder renderPassEncoder, float x, float y, float width, float height, float minDepth, float maxDepth) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcRenderPassEncoderWriteTimestamp)(WGPURenderPassEncoder renderPassEncoder, WGPUQuerySet querySet, uint32_t queryIndex) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcRenderPassEncoderAddRef)(WGPURenderPassEncoder renderPassEncoder) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcRenderPassEncoderRelease)(WGPURenderPassEncoder renderPassEncoder) WGPU_FUNCTION_ATTRIBUTE; + +// Procs of RenderPipeline +typedef WGPUBindGroupLayout (*WGPUProcRenderPipelineGetBindGroupLayout)(WGPURenderPipeline renderPipeline, uint32_t groupIndex) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcRenderPipelineSetLabel)(WGPURenderPipeline renderPipeline, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcRenderPipelineAddRef)(WGPURenderPipeline renderPipeline) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcRenderPipelineRelease)(WGPURenderPipeline renderPipeline) WGPU_FUNCTION_ATTRIBUTE; + +// Procs of Sampler +typedef void (*WGPUProcSamplerSetLabel)(WGPUSampler sampler, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcSamplerAddRef)(WGPUSampler sampler) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcSamplerRelease)(WGPUSampler sampler) WGPU_FUNCTION_ATTRIBUTE; + +// Procs of ShaderModule +typedef void (*WGPUProcShaderModuleGetCompilationInfo)(WGPUShaderModule shaderModule, WGPUCompilationInfoCallback callback, void * userdata) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUFuture (*WGPUProcShaderModuleGetCompilationInfo2)(WGPUShaderModule shaderModule, WGPUCompilationInfoCallbackInfo2 callbackInfo) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUFuture (*WGPUProcShaderModuleGetCompilationInfoF)(WGPUShaderModule shaderModule, WGPUCompilationInfoCallbackInfo callbackInfo) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcShaderModuleSetLabel)(WGPUShaderModule shaderModule, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcShaderModuleAddRef)(WGPUShaderModule shaderModule) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcShaderModuleRelease)(WGPUShaderModule shaderModule) WGPU_FUNCTION_ATTRIBUTE; + +// Procs of SharedBufferMemory +typedef WGPUStatus (*WGPUProcSharedBufferMemoryBeginAccess)(WGPUSharedBufferMemory sharedBufferMemory, WGPUBuffer buffer, WGPUSharedBufferMemoryBeginAccessDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUBuffer (*WGPUProcSharedBufferMemoryCreateBuffer)(WGPUSharedBufferMemory sharedBufferMemory, WGPU_NULLABLE WGPUBufferDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUStatus (*WGPUProcSharedBufferMemoryEndAccess)(WGPUSharedBufferMemory sharedBufferMemory, WGPUBuffer buffer, WGPUSharedBufferMemoryEndAccessState * descriptor) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUStatus (*WGPUProcSharedBufferMemoryGetProperties)(WGPUSharedBufferMemory sharedBufferMemory, WGPUSharedBufferMemoryProperties * properties) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUBool (*WGPUProcSharedBufferMemoryIsDeviceLost)(WGPUSharedBufferMemory sharedBufferMemory) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcSharedBufferMemorySetLabel)(WGPUSharedBufferMemory sharedBufferMemory, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcSharedBufferMemoryAddRef)(WGPUSharedBufferMemory sharedBufferMemory) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcSharedBufferMemoryRelease)(WGPUSharedBufferMemory sharedBufferMemory) WGPU_FUNCTION_ATTRIBUTE; + +// Procs of SharedFence +typedef void (*WGPUProcSharedFenceExportInfo)(WGPUSharedFence sharedFence, WGPUSharedFenceExportInfo * info) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcSharedFenceAddRef)(WGPUSharedFence sharedFence) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcSharedFenceRelease)(WGPUSharedFence sharedFence) WGPU_FUNCTION_ATTRIBUTE; + +// Procs of SharedTextureMemory +typedef WGPUStatus (*WGPUProcSharedTextureMemoryBeginAccess)(WGPUSharedTextureMemory sharedTextureMemory, WGPUTexture texture, WGPUSharedTextureMemoryBeginAccessDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUTexture (*WGPUProcSharedTextureMemoryCreateTexture)(WGPUSharedTextureMemory sharedTextureMemory, WGPU_NULLABLE WGPUTextureDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUStatus (*WGPUProcSharedTextureMemoryEndAccess)(WGPUSharedTextureMemory sharedTextureMemory, WGPUTexture texture, WGPUSharedTextureMemoryEndAccessState * descriptor) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUStatus (*WGPUProcSharedTextureMemoryGetProperties)(WGPUSharedTextureMemory sharedTextureMemory, WGPUSharedTextureMemoryProperties * properties) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUBool (*WGPUProcSharedTextureMemoryIsDeviceLost)(WGPUSharedTextureMemory sharedTextureMemory) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcSharedTextureMemorySetLabel)(WGPUSharedTextureMemory sharedTextureMemory, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcSharedTextureMemoryAddRef)(WGPUSharedTextureMemory sharedTextureMemory) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcSharedTextureMemoryRelease)(WGPUSharedTextureMemory sharedTextureMemory) WGPU_FUNCTION_ATTRIBUTE; + +// Procs of Surface +typedef void (*WGPUProcSurfaceConfigure)(WGPUSurface surface, WGPUSurfaceConfiguration const * config) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUStatus (*WGPUProcSurfaceGetCapabilities)(WGPUSurface surface, WGPUAdapter adapter, WGPUSurfaceCapabilities * capabilities) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcSurfaceGetCurrentTexture)(WGPUSurface surface, WGPUSurfaceTexture * surfaceTexture) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcSurfacePresent)(WGPUSurface surface) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcSurfaceSetLabel)(WGPUSurface surface, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcSurfaceUnconfigure)(WGPUSurface surface) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcSurfaceAddRef)(WGPUSurface surface) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcSurfaceRelease)(WGPUSurface surface) WGPU_FUNCTION_ATTRIBUTE; + +// Procs of Texture +typedef WGPUTextureView (*WGPUProcTextureCreateErrorView)(WGPUTexture texture, WGPU_NULLABLE WGPUTextureViewDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUTextureView (*WGPUProcTextureCreateView)(WGPUTexture texture, WGPU_NULLABLE WGPUTextureViewDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcTextureDestroy)(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE; +typedef uint32_t (*WGPUProcTextureGetDepthOrArrayLayers)(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUTextureDimension (*WGPUProcTextureGetDimension)(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUTextureFormat (*WGPUProcTextureGetFormat)(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE; +typedef uint32_t (*WGPUProcTextureGetHeight)(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE; +typedef uint32_t (*WGPUProcTextureGetMipLevelCount)(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE; +typedef uint32_t (*WGPUProcTextureGetSampleCount)(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE; +typedef WGPUTextureUsage (*WGPUProcTextureGetUsage)(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE; +typedef uint32_t (*WGPUProcTextureGetWidth)(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcTextureSetLabel)(WGPUTexture texture, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcTextureAddRef)(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcTextureRelease)(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE; + +// Procs of TextureView +typedef void (*WGPUProcTextureViewSetLabel)(WGPUTextureView textureView, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcTextureViewAddRef)(WGPUTextureView textureView) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcTextureViewRelease)(WGPUTextureView textureView) WGPU_FUNCTION_ATTRIBUTE; + + +#endif // !defined(WGPU_SKIP_PROCS) + +#if !defined(WGPU_SKIP_DECLARATIONS) + +WGPU_EXPORT void wgpuAdapterInfoFreeMembers(WGPUAdapterInfo value) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuAdapterPropertiesMemoryHeapsFreeMembers(WGPUAdapterPropertiesMemoryHeaps value) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUInstance wgpuCreateInstance(WGPU_NULLABLE WGPUInstanceDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuDrmFormatCapabilitiesFreeMembers(WGPUDrmFormatCapabilities value) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUStatus wgpuGetInstanceFeatures(WGPUInstanceFeatures * features) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUProc wgpuGetProcAddress(WGPUStringView procName) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuSharedBufferMemoryEndAccessStateFreeMembers(WGPUSharedBufferMemoryEndAccessState value) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuSharedTextureMemoryEndAccessStateFreeMembers(WGPUSharedTextureMemoryEndAccessState value) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuSupportedFeaturesFreeMembers(WGPUSupportedFeatures value) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuSurfaceCapabilitiesFreeMembers(WGPUSurfaceCapabilities value) WGPU_FUNCTION_ATTRIBUTE; + +// Methods of Adapter +WGPU_EXPORT WGPUDevice wgpuAdapterCreateDevice(WGPUAdapter adapter, WGPU_NULLABLE WGPUDeviceDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuAdapterGetFeatures(WGPUAdapter adapter, WGPUSupportedFeatures * features) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUStatus wgpuAdapterGetFormatCapabilities(WGPUAdapter adapter, WGPUTextureFormat format, WGPUFormatCapabilities * capabilities) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUStatus wgpuAdapterGetInfo(WGPUAdapter adapter, WGPUAdapterInfo * info) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUInstance wgpuAdapterGetInstance(WGPUAdapter adapter) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUStatus wgpuAdapterGetLimits(WGPUAdapter adapter, WGPUSupportedLimits * limits) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUBool wgpuAdapterHasFeature(WGPUAdapter adapter, WGPUFeatureName feature) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuAdapterRequestDevice(WGPUAdapter adapter, WGPU_NULLABLE WGPUDeviceDescriptor const * descriptor, WGPURequestDeviceCallback callback, void * userdata) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUFuture wgpuAdapterRequestDevice2(WGPUAdapter adapter, WGPU_NULLABLE WGPUDeviceDescriptor const * options, WGPURequestDeviceCallbackInfo2 callbackInfo) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUFuture wgpuAdapterRequestDeviceF(WGPUAdapter adapter, WGPU_NULLABLE WGPUDeviceDescriptor const * options, WGPURequestDeviceCallbackInfo callbackInfo) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuAdapterAddRef(WGPUAdapter adapter) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuAdapterRelease(WGPUAdapter adapter) WGPU_FUNCTION_ATTRIBUTE; + +// Methods of BindGroup +WGPU_EXPORT void wgpuBindGroupSetLabel(WGPUBindGroup bindGroup, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuBindGroupAddRef(WGPUBindGroup bindGroup) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuBindGroupRelease(WGPUBindGroup bindGroup) WGPU_FUNCTION_ATTRIBUTE; + +// Methods of BindGroupLayout +WGPU_EXPORT void wgpuBindGroupLayoutSetLabel(WGPUBindGroupLayout bindGroupLayout, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuBindGroupLayoutAddRef(WGPUBindGroupLayout bindGroupLayout) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuBindGroupLayoutRelease(WGPUBindGroupLayout bindGroupLayout) WGPU_FUNCTION_ATTRIBUTE; + +// Methods of Buffer +WGPU_EXPORT void wgpuBufferDestroy(WGPUBuffer buffer) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void const * wgpuBufferGetConstMappedRange(WGPUBuffer buffer, size_t offset, size_t size) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUBufferMapState wgpuBufferGetMapState(WGPUBuffer buffer) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void * wgpuBufferGetMappedRange(WGPUBuffer buffer, size_t offset, size_t size) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT uint64_t wgpuBufferGetSize(WGPUBuffer buffer) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUBufferUsage wgpuBufferGetUsage(WGPUBuffer buffer) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuBufferMapAsync(WGPUBuffer buffer, WGPUMapMode mode, size_t offset, size_t size, WGPUBufferMapCallback callback, void * userdata) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUFuture wgpuBufferMapAsync2(WGPUBuffer buffer, WGPUMapMode mode, size_t offset, size_t size, WGPUBufferMapCallbackInfo2 callbackInfo) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUFuture wgpuBufferMapAsyncF(WGPUBuffer buffer, WGPUMapMode mode, size_t offset, size_t size, WGPUBufferMapCallbackInfo callbackInfo) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuBufferSetLabel(WGPUBuffer buffer, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuBufferUnmap(WGPUBuffer buffer) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuBufferAddRef(WGPUBuffer buffer) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuBufferRelease(WGPUBuffer buffer) WGPU_FUNCTION_ATTRIBUTE; + +// Methods of CommandBuffer +WGPU_EXPORT void wgpuCommandBufferSetLabel(WGPUCommandBuffer commandBuffer, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuCommandBufferAddRef(WGPUCommandBuffer commandBuffer) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuCommandBufferRelease(WGPUCommandBuffer commandBuffer) WGPU_FUNCTION_ATTRIBUTE; + +// Methods of CommandEncoder +WGPU_EXPORT WGPUComputePassEncoder wgpuCommandEncoderBeginComputePass(WGPUCommandEncoder commandEncoder, WGPU_NULLABLE WGPUComputePassDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPURenderPassEncoder wgpuCommandEncoderBeginRenderPass(WGPUCommandEncoder commandEncoder, WGPURenderPassDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuCommandEncoderClearBuffer(WGPUCommandEncoder commandEncoder, WGPUBuffer buffer, uint64_t offset, uint64_t size) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuCommandEncoderCopyBufferToBuffer(WGPUCommandEncoder commandEncoder, WGPUBuffer source, uint64_t sourceOffset, WGPUBuffer destination, uint64_t destinationOffset, uint64_t size) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuCommandEncoderCopyBufferToTexture(WGPUCommandEncoder commandEncoder, WGPUImageCopyBuffer const * source, WGPUImageCopyTexture const * destination, WGPUExtent3D const * copySize) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuCommandEncoderCopyTextureToBuffer(WGPUCommandEncoder commandEncoder, WGPUImageCopyTexture const * source, WGPUImageCopyBuffer const * destination, WGPUExtent3D const * copySize) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuCommandEncoderCopyTextureToTexture(WGPUCommandEncoder commandEncoder, WGPUImageCopyTexture const * source, WGPUImageCopyTexture const * destination, WGPUExtent3D const * copySize) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUCommandBuffer wgpuCommandEncoderFinish(WGPUCommandEncoder commandEncoder, WGPU_NULLABLE WGPUCommandBufferDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuCommandEncoderInjectValidationError(WGPUCommandEncoder commandEncoder, WGPUStringView message) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuCommandEncoderInsertDebugMarker(WGPUCommandEncoder commandEncoder, WGPUStringView markerLabel) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuCommandEncoderPopDebugGroup(WGPUCommandEncoder commandEncoder) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuCommandEncoderPushDebugGroup(WGPUCommandEncoder commandEncoder, WGPUStringView groupLabel) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuCommandEncoderResolveQuerySet(WGPUCommandEncoder commandEncoder, WGPUQuerySet querySet, uint32_t firstQuery, uint32_t queryCount, WGPUBuffer destination, uint64_t destinationOffset) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuCommandEncoderSetLabel(WGPUCommandEncoder commandEncoder, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuCommandEncoderWriteBuffer(WGPUCommandEncoder commandEncoder, WGPUBuffer buffer, uint64_t bufferOffset, uint8_t const * data, uint64_t size) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuCommandEncoderWriteTimestamp(WGPUCommandEncoder commandEncoder, WGPUQuerySet querySet, uint32_t queryIndex) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuCommandEncoderAddRef(WGPUCommandEncoder commandEncoder) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuCommandEncoderRelease(WGPUCommandEncoder commandEncoder) WGPU_FUNCTION_ATTRIBUTE; + +// Methods of ComputePassEncoder +WGPU_EXPORT void wgpuComputePassEncoderDispatchWorkgroups(WGPUComputePassEncoder computePassEncoder, uint32_t workgroupCountX, uint32_t workgroupCountY, uint32_t workgroupCountZ) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuComputePassEncoderDispatchWorkgroupsIndirect(WGPUComputePassEncoder computePassEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuComputePassEncoderEnd(WGPUComputePassEncoder computePassEncoder) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuComputePassEncoderInsertDebugMarker(WGPUComputePassEncoder computePassEncoder, WGPUStringView markerLabel) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuComputePassEncoderPopDebugGroup(WGPUComputePassEncoder computePassEncoder) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuComputePassEncoderPushDebugGroup(WGPUComputePassEncoder computePassEncoder, WGPUStringView groupLabel) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuComputePassEncoderSetBindGroup(WGPUComputePassEncoder computePassEncoder, uint32_t groupIndex, WGPU_NULLABLE WGPUBindGroup group, size_t dynamicOffsetCount, uint32_t const * dynamicOffsets) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuComputePassEncoderSetLabel(WGPUComputePassEncoder computePassEncoder, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuComputePassEncoderSetPipeline(WGPUComputePassEncoder computePassEncoder, WGPUComputePipeline pipeline) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuComputePassEncoderWriteTimestamp(WGPUComputePassEncoder computePassEncoder, WGPUQuerySet querySet, uint32_t queryIndex) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuComputePassEncoderAddRef(WGPUComputePassEncoder computePassEncoder) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuComputePassEncoderRelease(WGPUComputePassEncoder computePassEncoder) WGPU_FUNCTION_ATTRIBUTE; + +// Methods of ComputePipeline +WGPU_EXPORT WGPUBindGroupLayout wgpuComputePipelineGetBindGroupLayout(WGPUComputePipeline computePipeline, uint32_t groupIndex) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuComputePipelineSetLabel(WGPUComputePipeline computePipeline, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuComputePipelineAddRef(WGPUComputePipeline computePipeline) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuComputePipelineRelease(WGPUComputePipeline computePipeline) WGPU_FUNCTION_ATTRIBUTE; + +// Methods of Device +WGPU_EXPORT WGPUBindGroup wgpuDeviceCreateBindGroup(WGPUDevice device, WGPUBindGroupDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUBindGroupLayout wgpuDeviceCreateBindGroupLayout(WGPUDevice device, WGPUBindGroupLayoutDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUBuffer wgpuDeviceCreateBuffer(WGPUDevice device, WGPUBufferDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUCommandEncoder wgpuDeviceCreateCommandEncoder(WGPUDevice device, WGPU_NULLABLE WGPUCommandEncoderDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUComputePipeline wgpuDeviceCreateComputePipeline(WGPUDevice device, WGPUComputePipelineDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuDeviceCreateComputePipelineAsync(WGPUDevice device, WGPUComputePipelineDescriptor const * descriptor, WGPUCreateComputePipelineAsyncCallback callback, void * userdata) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUFuture wgpuDeviceCreateComputePipelineAsync2(WGPUDevice device, WGPUComputePipelineDescriptor const * descriptor, WGPUCreateComputePipelineAsyncCallbackInfo2 callbackInfo) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUFuture wgpuDeviceCreateComputePipelineAsyncF(WGPUDevice device, WGPUComputePipelineDescriptor const * descriptor, WGPUCreateComputePipelineAsyncCallbackInfo callbackInfo) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUBuffer wgpuDeviceCreateErrorBuffer(WGPUDevice device, WGPUBufferDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUExternalTexture wgpuDeviceCreateErrorExternalTexture(WGPUDevice device) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUShaderModule wgpuDeviceCreateErrorShaderModule(WGPUDevice device, WGPUShaderModuleDescriptor const * descriptor, WGPUStringView errorMessage) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUTexture wgpuDeviceCreateErrorTexture(WGPUDevice device, WGPUTextureDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUExternalTexture wgpuDeviceCreateExternalTexture(WGPUDevice device, WGPUExternalTextureDescriptor const * externalTextureDescriptor) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUPipelineLayout wgpuDeviceCreatePipelineLayout(WGPUDevice device, WGPUPipelineLayoutDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUQuerySet wgpuDeviceCreateQuerySet(WGPUDevice device, WGPUQuerySetDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPURenderBundleEncoder wgpuDeviceCreateRenderBundleEncoder(WGPUDevice device, WGPURenderBundleEncoderDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPURenderPipeline wgpuDeviceCreateRenderPipeline(WGPUDevice device, WGPURenderPipelineDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuDeviceCreateRenderPipelineAsync(WGPUDevice device, WGPURenderPipelineDescriptor const * descriptor, WGPUCreateRenderPipelineAsyncCallback callback, void * userdata) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUFuture wgpuDeviceCreateRenderPipelineAsync2(WGPUDevice device, WGPURenderPipelineDescriptor const * descriptor, WGPUCreateRenderPipelineAsyncCallbackInfo2 callbackInfo) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUFuture wgpuDeviceCreateRenderPipelineAsyncF(WGPUDevice device, WGPURenderPipelineDescriptor const * descriptor, WGPUCreateRenderPipelineAsyncCallbackInfo callbackInfo) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUSampler wgpuDeviceCreateSampler(WGPUDevice device, WGPU_NULLABLE WGPUSamplerDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUShaderModule wgpuDeviceCreateShaderModule(WGPUDevice device, WGPUShaderModuleDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUTexture wgpuDeviceCreateTexture(WGPUDevice device, WGPUTextureDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuDeviceDestroy(WGPUDevice device) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuDeviceForceLoss(WGPUDevice device, WGPUDeviceLostReason type, WGPUStringView message) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUStatus wgpuDeviceGetAHardwareBufferProperties(WGPUDevice device, void * handle, WGPUAHardwareBufferProperties * properties) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUAdapter wgpuDeviceGetAdapter(WGPUDevice device) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUStatus wgpuDeviceGetAdapterInfo(WGPUDevice device, WGPUAdapterInfo * adapterInfo) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuDeviceGetFeatures(WGPUDevice device, WGPUSupportedFeatures * features) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUStatus wgpuDeviceGetLimits(WGPUDevice device, WGPUSupportedLimits * limits) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUFuture wgpuDeviceGetLostFuture(WGPUDevice device) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUQueue wgpuDeviceGetQueue(WGPUDevice device) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUBool wgpuDeviceHasFeature(WGPUDevice device, WGPUFeatureName feature) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUSharedBufferMemory wgpuDeviceImportSharedBufferMemory(WGPUDevice device, WGPUSharedBufferMemoryDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUSharedFence wgpuDeviceImportSharedFence(WGPUDevice device, WGPUSharedFenceDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUSharedTextureMemory wgpuDeviceImportSharedTextureMemory(WGPUDevice device, WGPUSharedTextureMemoryDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuDeviceInjectError(WGPUDevice device, WGPUErrorType type, WGPUStringView message) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuDevicePopErrorScope(WGPUDevice device, WGPUErrorCallback oldCallback, void * userdata) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUFuture wgpuDevicePopErrorScope2(WGPUDevice device, WGPUPopErrorScopeCallbackInfo2 callbackInfo) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUFuture wgpuDevicePopErrorScopeF(WGPUDevice device, WGPUPopErrorScopeCallbackInfo callbackInfo) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuDevicePushErrorScope(WGPUDevice device, WGPUErrorFilter filter) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuDeviceSetLabel(WGPUDevice device, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuDeviceSetLoggingCallback(WGPUDevice device, WGPULoggingCallback callback, void * userdata) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuDeviceTick(WGPUDevice device) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuDeviceValidateTextureDescriptor(WGPUDevice device, WGPUTextureDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuDeviceAddRef(WGPUDevice device) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuDeviceRelease(WGPUDevice device) WGPU_FUNCTION_ATTRIBUTE; + +// Methods of ExternalTexture +WGPU_EXPORT void wgpuExternalTextureDestroy(WGPUExternalTexture externalTexture) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuExternalTextureExpire(WGPUExternalTexture externalTexture) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuExternalTextureRefresh(WGPUExternalTexture externalTexture) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuExternalTextureSetLabel(WGPUExternalTexture externalTexture, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuExternalTextureAddRef(WGPUExternalTexture externalTexture) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuExternalTextureRelease(WGPUExternalTexture externalTexture) WGPU_FUNCTION_ATTRIBUTE; + +// Methods of Instance +WGPU_EXPORT WGPUSurface wgpuInstanceCreateSurface(WGPUInstance instance, WGPUSurfaceDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT size_t wgpuInstanceEnumerateWGSLLanguageFeatures(WGPUInstance instance, WGPUWGSLFeatureName * features) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUBool wgpuInstanceHasWGSLLanguageFeature(WGPUInstance instance, WGPUWGSLFeatureName feature) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuInstanceProcessEvents(WGPUInstance instance) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuInstanceRequestAdapter(WGPUInstance instance, WGPU_NULLABLE WGPURequestAdapterOptions const * options, WGPURequestAdapterCallback callback, void * userdata) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUFuture wgpuInstanceRequestAdapter2(WGPUInstance instance, WGPU_NULLABLE WGPURequestAdapterOptions const * options, WGPURequestAdapterCallbackInfo2 callbackInfo) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUFuture wgpuInstanceRequestAdapterF(WGPUInstance instance, WGPU_NULLABLE WGPURequestAdapterOptions const * options, WGPURequestAdapterCallbackInfo callbackInfo) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUWaitStatus wgpuInstanceWaitAny(WGPUInstance instance, size_t futureCount, WGPUFutureWaitInfo * futures, uint64_t timeoutNS) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuInstanceAddRef(WGPUInstance instance) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuInstanceRelease(WGPUInstance instance) WGPU_FUNCTION_ATTRIBUTE; + +// Methods of PipelineLayout +WGPU_EXPORT void wgpuPipelineLayoutSetLabel(WGPUPipelineLayout pipelineLayout, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuPipelineLayoutAddRef(WGPUPipelineLayout pipelineLayout) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuPipelineLayoutRelease(WGPUPipelineLayout pipelineLayout) WGPU_FUNCTION_ATTRIBUTE; + +// Methods of QuerySet +WGPU_EXPORT void wgpuQuerySetDestroy(WGPUQuerySet querySet) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT uint32_t wgpuQuerySetGetCount(WGPUQuerySet querySet) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUQueryType wgpuQuerySetGetType(WGPUQuerySet querySet) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuQuerySetSetLabel(WGPUQuerySet querySet, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuQuerySetAddRef(WGPUQuerySet querySet) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuQuerySetRelease(WGPUQuerySet querySet) WGPU_FUNCTION_ATTRIBUTE; + +// Methods of Queue +WGPU_EXPORT void wgpuQueueCopyExternalTextureForBrowser(WGPUQueue queue, WGPUImageCopyExternalTexture const * source, WGPUImageCopyTexture const * destination, WGPUExtent3D const * copySize, WGPUCopyTextureForBrowserOptions const * options) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuQueueCopyTextureForBrowser(WGPUQueue queue, WGPUImageCopyTexture const * source, WGPUImageCopyTexture const * destination, WGPUExtent3D const * copySize, WGPUCopyTextureForBrowserOptions const * options) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuQueueOnSubmittedWorkDone(WGPUQueue queue, WGPUQueueWorkDoneCallback callback, void * userdata) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUFuture wgpuQueueOnSubmittedWorkDone2(WGPUQueue queue, WGPUQueueWorkDoneCallbackInfo2 callbackInfo) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUFuture wgpuQueueOnSubmittedWorkDoneF(WGPUQueue queue, WGPUQueueWorkDoneCallbackInfo callbackInfo) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuQueueSetLabel(WGPUQueue queue, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuQueueSubmit(WGPUQueue queue, size_t commandCount, WGPUCommandBuffer const * commands) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuQueueWriteBuffer(WGPUQueue queue, WGPUBuffer buffer, uint64_t bufferOffset, void const * data, size_t size) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuQueueWriteTexture(WGPUQueue queue, WGPUImageCopyTexture const * destination, void const * data, size_t dataSize, WGPUTextureDataLayout const * dataLayout, WGPUExtent3D const * writeSize) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuQueueAddRef(WGPUQueue queue) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuQueueRelease(WGPUQueue queue) WGPU_FUNCTION_ATTRIBUTE; + +// Methods of RenderBundle +WGPU_EXPORT void wgpuRenderBundleSetLabel(WGPURenderBundle renderBundle, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuRenderBundleAddRef(WGPURenderBundle renderBundle) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuRenderBundleRelease(WGPURenderBundle renderBundle) WGPU_FUNCTION_ATTRIBUTE; + +// Methods of RenderBundleEncoder +WGPU_EXPORT void wgpuRenderBundleEncoderDraw(WGPURenderBundleEncoder renderBundleEncoder, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuRenderBundleEncoderDrawIndexed(WGPURenderBundleEncoder renderBundleEncoder, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t baseVertex, uint32_t firstInstance) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuRenderBundleEncoderDrawIndexedIndirect(WGPURenderBundleEncoder renderBundleEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuRenderBundleEncoderDrawIndirect(WGPURenderBundleEncoder renderBundleEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPURenderBundle wgpuRenderBundleEncoderFinish(WGPURenderBundleEncoder renderBundleEncoder, WGPU_NULLABLE WGPURenderBundleDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuRenderBundleEncoderInsertDebugMarker(WGPURenderBundleEncoder renderBundleEncoder, WGPUStringView markerLabel) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuRenderBundleEncoderPopDebugGroup(WGPURenderBundleEncoder renderBundleEncoder) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuRenderBundleEncoderPushDebugGroup(WGPURenderBundleEncoder renderBundleEncoder, WGPUStringView groupLabel) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuRenderBundleEncoderSetBindGroup(WGPURenderBundleEncoder renderBundleEncoder, uint32_t groupIndex, WGPU_NULLABLE WGPUBindGroup group, size_t dynamicOffsetCount, uint32_t const * dynamicOffsets) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuRenderBundleEncoderSetIndexBuffer(WGPURenderBundleEncoder renderBundleEncoder, WGPUBuffer buffer, WGPUIndexFormat format, uint64_t offset, uint64_t size) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuRenderBundleEncoderSetLabel(WGPURenderBundleEncoder renderBundleEncoder, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuRenderBundleEncoderSetPipeline(WGPURenderBundleEncoder renderBundleEncoder, WGPURenderPipeline pipeline) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuRenderBundleEncoderSetVertexBuffer(WGPURenderBundleEncoder renderBundleEncoder, uint32_t slot, WGPU_NULLABLE WGPUBuffer buffer, uint64_t offset, uint64_t size) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuRenderBundleEncoderAddRef(WGPURenderBundleEncoder renderBundleEncoder) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuRenderBundleEncoderRelease(WGPURenderBundleEncoder renderBundleEncoder) WGPU_FUNCTION_ATTRIBUTE; + +// Methods of RenderPassEncoder +WGPU_EXPORT void wgpuRenderPassEncoderBeginOcclusionQuery(WGPURenderPassEncoder renderPassEncoder, uint32_t queryIndex) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuRenderPassEncoderDraw(WGPURenderPassEncoder renderPassEncoder, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuRenderPassEncoderDrawIndexed(WGPURenderPassEncoder renderPassEncoder, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t baseVertex, uint32_t firstInstance) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuRenderPassEncoderDrawIndexedIndirect(WGPURenderPassEncoder renderPassEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuRenderPassEncoderDrawIndirect(WGPURenderPassEncoder renderPassEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuRenderPassEncoderEnd(WGPURenderPassEncoder renderPassEncoder) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuRenderPassEncoderEndOcclusionQuery(WGPURenderPassEncoder renderPassEncoder) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuRenderPassEncoderExecuteBundles(WGPURenderPassEncoder renderPassEncoder, size_t bundleCount, WGPURenderBundle const * bundles) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuRenderPassEncoderInsertDebugMarker(WGPURenderPassEncoder renderPassEncoder, WGPUStringView markerLabel) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuRenderPassEncoderMultiDrawIndexedIndirect(WGPURenderPassEncoder renderPassEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset, uint32_t maxDrawCount, WGPU_NULLABLE WGPUBuffer drawCountBuffer, uint64_t drawCountBufferOffset) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuRenderPassEncoderMultiDrawIndirect(WGPURenderPassEncoder renderPassEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset, uint32_t maxDrawCount, WGPU_NULLABLE WGPUBuffer drawCountBuffer, uint64_t drawCountBufferOffset) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuRenderPassEncoderPixelLocalStorageBarrier(WGPURenderPassEncoder renderPassEncoder) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuRenderPassEncoderPopDebugGroup(WGPURenderPassEncoder renderPassEncoder) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuRenderPassEncoderPushDebugGroup(WGPURenderPassEncoder renderPassEncoder, WGPUStringView groupLabel) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuRenderPassEncoderSetBindGroup(WGPURenderPassEncoder renderPassEncoder, uint32_t groupIndex, WGPU_NULLABLE WGPUBindGroup group, size_t dynamicOffsetCount, uint32_t const * dynamicOffsets) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuRenderPassEncoderSetBlendConstant(WGPURenderPassEncoder renderPassEncoder, WGPUColor const * color) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuRenderPassEncoderSetIndexBuffer(WGPURenderPassEncoder renderPassEncoder, WGPUBuffer buffer, WGPUIndexFormat format, uint64_t offset, uint64_t size) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuRenderPassEncoderSetLabel(WGPURenderPassEncoder renderPassEncoder, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuRenderPassEncoderSetPipeline(WGPURenderPassEncoder renderPassEncoder, WGPURenderPipeline pipeline) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuRenderPassEncoderSetScissorRect(WGPURenderPassEncoder renderPassEncoder, uint32_t x, uint32_t y, uint32_t width, uint32_t height) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuRenderPassEncoderSetStencilReference(WGPURenderPassEncoder renderPassEncoder, uint32_t reference) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuRenderPassEncoderSetVertexBuffer(WGPURenderPassEncoder renderPassEncoder, uint32_t slot, WGPU_NULLABLE WGPUBuffer buffer, uint64_t offset, uint64_t size) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuRenderPassEncoderSetViewport(WGPURenderPassEncoder renderPassEncoder, float x, float y, float width, float height, float minDepth, float maxDepth) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuRenderPassEncoderWriteTimestamp(WGPURenderPassEncoder renderPassEncoder, WGPUQuerySet querySet, uint32_t queryIndex) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuRenderPassEncoderAddRef(WGPURenderPassEncoder renderPassEncoder) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuRenderPassEncoderRelease(WGPURenderPassEncoder renderPassEncoder) WGPU_FUNCTION_ATTRIBUTE; + +// Methods of RenderPipeline +WGPU_EXPORT WGPUBindGroupLayout wgpuRenderPipelineGetBindGroupLayout(WGPURenderPipeline renderPipeline, uint32_t groupIndex) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuRenderPipelineSetLabel(WGPURenderPipeline renderPipeline, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuRenderPipelineAddRef(WGPURenderPipeline renderPipeline) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuRenderPipelineRelease(WGPURenderPipeline renderPipeline) WGPU_FUNCTION_ATTRIBUTE; + +// Methods of Sampler +WGPU_EXPORT void wgpuSamplerSetLabel(WGPUSampler sampler, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuSamplerAddRef(WGPUSampler sampler) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuSamplerRelease(WGPUSampler sampler) WGPU_FUNCTION_ATTRIBUTE; + +// Methods of ShaderModule +WGPU_EXPORT void wgpuShaderModuleGetCompilationInfo(WGPUShaderModule shaderModule, WGPUCompilationInfoCallback callback, void * userdata) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUFuture wgpuShaderModuleGetCompilationInfo2(WGPUShaderModule shaderModule, WGPUCompilationInfoCallbackInfo2 callbackInfo) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUFuture wgpuShaderModuleGetCompilationInfoF(WGPUShaderModule shaderModule, WGPUCompilationInfoCallbackInfo callbackInfo) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuShaderModuleSetLabel(WGPUShaderModule shaderModule, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuShaderModuleAddRef(WGPUShaderModule shaderModule) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuShaderModuleRelease(WGPUShaderModule shaderModule) WGPU_FUNCTION_ATTRIBUTE; + +// Methods of SharedBufferMemory +WGPU_EXPORT WGPUStatus wgpuSharedBufferMemoryBeginAccess(WGPUSharedBufferMemory sharedBufferMemory, WGPUBuffer buffer, WGPUSharedBufferMemoryBeginAccessDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUBuffer wgpuSharedBufferMemoryCreateBuffer(WGPUSharedBufferMemory sharedBufferMemory, WGPU_NULLABLE WGPUBufferDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUStatus wgpuSharedBufferMemoryEndAccess(WGPUSharedBufferMemory sharedBufferMemory, WGPUBuffer buffer, WGPUSharedBufferMemoryEndAccessState * descriptor) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUStatus wgpuSharedBufferMemoryGetProperties(WGPUSharedBufferMemory sharedBufferMemory, WGPUSharedBufferMemoryProperties * properties) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUBool wgpuSharedBufferMemoryIsDeviceLost(WGPUSharedBufferMemory sharedBufferMemory) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuSharedBufferMemorySetLabel(WGPUSharedBufferMemory sharedBufferMemory, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuSharedBufferMemoryAddRef(WGPUSharedBufferMemory sharedBufferMemory) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuSharedBufferMemoryRelease(WGPUSharedBufferMemory sharedBufferMemory) WGPU_FUNCTION_ATTRIBUTE; + +// Methods of SharedFence +WGPU_EXPORT void wgpuSharedFenceExportInfo(WGPUSharedFence sharedFence, WGPUSharedFenceExportInfo * info) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuSharedFenceAddRef(WGPUSharedFence sharedFence) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuSharedFenceRelease(WGPUSharedFence sharedFence) WGPU_FUNCTION_ATTRIBUTE; + +// Methods of SharedTextureMemory +WGPU_EXPORT WGPUStatus wgpuSharedTextureMemoryBeginAccess(WGPUSharedTextureMemory sharedTextureMemory, WGPUTexture texture, WGPUSharedTextureMemoryBeginAccessDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUTexture wgpuSharedTextureMemoryCreateTexture(WGPUSharedTextureMemory sharedTextureMemory, WGPU_NULLABLE WGPUTextureDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUStatus wgpuSharedTextureMemoryEndAccess(WGPUSharedTextureMemory sharedTextureMemory, WGPUTexture texture, WGPUSharedTextureMemoryEndAccessState * descriptor) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUStatus wgpuSharedTextureMemoryGetProperties(WGPUSharedTextureMemory sharedTextureMemory, WGPUSharedTextureMemoryProperties * properties) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUBool wgpuSharedTextureMemoryIsDeviceLost(WGPUSharedTextureMemory sharedTextureMemory) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuSharedTextureMemorySetLabel(WGPUSharedTextureMemory sharedTextureMemory, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuSharedTextureMemoryAddRef(WGPUSharedTextureMemory sharedTextureMemory) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuSharedTextureMemoryRelease(WGPUSharedTextureMemory sharedTextureMemory) WGPU_FUNCTION_ATTRIBUTE; + +// Methods of Surface +WGPU_EXPORT void wgpuSurfaceConfigure(WGPUSurface surface, WGPUSurfaceConfiguration const * config) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUStatus wgpuSurfaceGetCapabilities(WGPUSurface surface, WGPUAdapter adapter, WGPUSurfaceCapabilities * capabilities) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuSurfaceGetCurrentTexture(WGPUSurface surface, WGPUSurfaceTexture * surfaceTexture) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuSurfacePresent(WGPUSurface surface) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuSurfaceSetLabel(WGPUSurface surface, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuSurfaceUnconfigure(WGPUSurface surface) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuSurfaceAddRef(WGPUSurface surface) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuSurfaceRelease(WGPUSurface surface) WGPU_FUNCTION_ATTRIBUTE; + +// Methods of Texture +WGPU_EXPORT WGPUTextureView wgpuTextureCreateErrorView(WGPUTexture texture, WGPU_NULLABLE WGPUTextureViewDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUTextureView wgpuTextureCreateView(WGPUTexture texture, WGPU_NULLABLE WGPUTextureViewDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuTextureDestroy(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT uint32_t wgpuTextureGetDepthOrArrayLayers(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUTextureDimension wgpuTextureGetDimension(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUTextureFormat wgpuTextureGetFormat(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT uint32_t wgpuTextureGetHeight(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT uint32_t wgpuTextureGetMipLevelCount(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT uint32_t wgpuTextureGetSampleCount(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT WGPUTextureUsage wgpuTextureGetUsage(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT uint32_t wgpuTextureGetWidth(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuTextureSetLabel(WGPUTexture texture, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuTextureAddRef(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuTextureRelease(WGPUTexture texture) WGPU_FUNCTION_ATTRIBUTE; + +// Methods of TextureView +WGPU_EXPORT void wgpuTextureViewSetLabel(WGPUTextureView textureView, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuTextureViewAddRef(WGPUTextureView textureView) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuTextureViewRelease(WGPUTextureView textureView) WGPU_FUNCTION_ATTRIBUTE; + + +#endif // !defined(WGPU_SKIP_DECLARATIONS) + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // WEBGPU_H_ diff --git a/setup.py b/setup.py index 06521ad5ed..0495eff3b4 100644 --- a/setup.py +++ b/setup.py @@ -60,7 +60,6 @@ setup(name='tinygrad', "ggml-python", "capstone" ], - 'webgpu': ["wgpu"], 'docs': [ "mkdocs", "mkdocs-material", diff --git a/test/test_dtype_alu.py b/test/test_dtype_alu.py index 5a2654ca7f..f6d5831752 100644 --- a/test/test_dtype_alu.py +++ b/test/test_dtype_alu.py @@ -88,9 +88,8 @@ def universal_test_cast(a, in_dtype, dtype): numpy_value = np.array([a], dtype=_to_np_dtype(in_dtype)).astype(_to_np_dtype(dtype)) np.testing.assert_equal(tensor_value.numpy(), numpy_value) +@unittest.skipIf(Device.DEFAULT == "WEBGPU", "Inf and nan cases are wrong on WebGPU") def universal_test_midcast(a, b, c, op1, op2, d1:DType, d2:DType): - # the 'inf' and 'nan' cases are wrong on WEBGPU - if (any(map(math.isnan, [a, b, c])) or math.isinf(c)) and Device.DEFAULT == "WEBGPU": return if not isinstance(op1, tuple): op1 = (op1, op1) if not isinstance(op2, tuple): op2 = (op2, op2) at, bt, ct = Tensor([a], dtype=d1), Tensor([b], dtype=d1), Tensor([c], dtype=d2) diff --git a/test/test_linearizer.py b/test/test_linearizer.py index da2502091c..f75644bd01 100644 --- a/test/test_linearizer.py +++ b/test/test_linearizer.py @@ -2065,8 +2065,9 @@ class TestKernelOpts(unittest.TestCase): helper_linearizer_opt(b.sum(), [[Opt(OptOps.PADTO, axis, 32)],]) helper_linearizer_opt(b.sum(0), [[Opt(OptOps.PADTO, axis, 32)],]) helper_linearizer_opt(b.sum(acc_dtype=dtypes.bool), [[Opt(OptOps.PADTO, axis, 32)],]) - helper_linearizer_opt(b.sum(0, acc_dtype=dtypes.bool), [[Opt(OptOps.PADTO, axis, 32)],]) - helper_linearizer_opt(b.sum(1, acc_dtype=dtypes.bool), [[Opt(OptOps.PADTO, axis, 32)],]) + if Device.DEFAULT != "WEBGPU": + helper_linearizer_opt(b.sum(0, acc_dtype=dtypes.bool), [[Opt(OptOps.PADTO, axis, 32)],]) + helper_linearizer_opt(b.sum(1, acc_dtype=dtypes.bool), [[Opt(OptOps.PADTO, axis, 32)],]) # having unsafe ops after sum is fine helper_linearizer_opt(a.sum().exp(), [[Opt(OptOps.PADTO, 0, 32)],]) diff --git a/test/test_multitensor.py b/test/test_multitensor.py index 2fe5e2e71f..8c7e07c615 100644 --- a/test/test_multitensor.py +++ b/test/test_multitensor.py @@ -346,6 +346,7 @@ class TestMultiTensor(unittest.TestCase): # NOTE: this is failing on LLVM CI, no idea why. Works locally. @unittest.skipIf(CI and Device.DEFAULT in ("CUDA", "NV", "LLVM"), "slow") + @unittest.skipIf(Device.DEFAULT == "WEBGPU", "WEBGPU can only run kernels with up to 10 buffers") def test_data_parallel_resnet(self): from extra.models.resnet import ResNet18 @@ -363,6 +364,7 @@ class TestMultiTensor(unittest.TestCase): np.testing.assert_allclose(real_output, shard_output_np, atol=1e-6, rtol=1e-6) @unittest.skipIf(CI and Device.DEFAULT in ("CUDA", "NV", "LLVM"), "slow, and flaky on LLVM") + @unittest.skipIf(Device.DEFAULT == "WEBGPU", "WEBGPU can only run kernels with up to 10 buffers") def test_data_parallel_resnet_train_step(self): from extra.models.resnet import ResNet18 from tinygrad.nn.optim import LARS @@ -945,6 +947,7 @@ class TestShrinkMultiTensorShardedAxis(unittest.TestCase): np.testing.assert_allclose(output.numpy(), expected) @unittest.skipIf(CI and Device.DEFAULT in ("GPU", "CUDA", "METAL"), "no GPU CI") +@unittest.skipIf(Device.DEFAULT == "WEBGPU", "WEBGPU can only run kernels with up to 10 buffers") class TestBatchNorm(unittest.TestCase): def test_unsynced_backprop_conv_bn(self): with Tensor.train(): @@ -972,6 +975,7 @@ class TestBatchNorm(unittest.TestCase): optim.step() out.numpy() + @unittest.skipIf(Device.DEFAULT == "WEBGPU", "WEBGPU can only run kernels with up to 10 buffers") def test_unsynced_backprop_standalone_bn(self): from extra.lr_scheduler import OneCycleLR GPUS = (d1, d2) diff --git a/test/test_nn.py b/test/test_nn.py index 25388fc65a..1b2963feed 100755 --- a/test/test_nn.py +++ b/test/test_nn.py @@ -309,6 +309,7 @@ class TestNN(unittest.TestCase): torch_z = torch_layer(torch_x) np.testing.assert_allclose(z.numpy(), torch_z.detach().numpy(), atol=5e-4, rtol=1e-5) + @unittest.skipIf(Device.DEFAULT == "WEBGPU", "WEBGPU can only run kernels with up to 10 buffers") def test_groupnorm(self): BS, H, W, C, G = 20, 10, 10, 6, 3 @@ -335,6 +336,7 @@ class TestNN(unittest.TestCase): np.testing.assert_allclose(layer.weight.grad.numpy(), torch_layer.weight.grad.detach().numpy(), atol=5e-4, rtol=5e-4) np.testing.assert_allclose(layer.bias.grad.numpy(), torch_layer.bias.grad.detach().numpy(), atol=5e-4, rtol=5e-4) + @unittest.skipIf(Device.DEFAULT == "WEBGPU", "WEBGPU can only run kernels with up to 10 buffers") def test_layernorm(self): N, C, H, W = 20, 5, 10, 10 @@ -361,6 +363,7 @@ class TestNN(unittest.TestCase): np.testing.assert_allclose(layer.weight.grad.numpy(), torch_layer.weight.grad.detach().numpy(), atol=5e-4, rtol=5e-4) np.testing.assert_allclose(layer.bias.grad.numpy(), torch_layer.bias.grad.detach().numpy(), atol=5e-4, rtol=5e-4) + @unittest.skipIf(Device.DEFAULT == "WEBGPU", "WEBGPU can only run kernels with up to 10 buffers") def test_layernorm_2d(self): N, C, H, W = 20, 5, 10, 10 @@ -387,6 +390,7 @@ class TestNN(unittest.TestCase): np.testing.assert_allclose(layer.weight.grad.numpy(), torch_layer.weight.grad.detach().numpy(), atol=5e-4, rtol=5e-4) np.testing.assert_allclose(layer.bias.grad.numpy(), torch_layer.bias.grad.detach().numpy(), atol=5e-4, rtol=5e-4) + @unittest.skipIf(Device.DEFAULT == "WEBGPU", "WEBGPU can only run kernels with up to 10 buffers") def test_instancenorm_2d(self): N, C, H, W = 20, 10, 10, 10 @@ -413,6 +417,7 @@ class TestNN(unittest.TestCase): np.testing.assert_allclose(layer.weight.grad.numpy(), torch_layer.weight.grad.detach().numpy(), atol=1e-3, rtol=1e-3) np.testing.assert_allclose(layer.bias.grad.numpy(), torch_layer.bias.grad.detach().numpy(), atol=1e-3, rtol=1e-3) + @unittest.skipIf(Device.DEFAULT == "WEBGPU", "WEBGPU can only run kernels with up to 10 buffers") def test_instancenorm_3d(self): N, C, D, H, W = 20, 10, 10, 10, 10 @@ -439,6 +444,7 @@ class TestNN(unittest.TestCase): np.testing.assert_allclose(layer.weight.grad.numpy(), torch_layer.weight.grad.detach().numpy(), atol=2e-3, rtol=1e-3) np.testing.assert_allclose(layer.bias.grad.numpy(), torch_layer.bias.grad.detach().numpy(), atol=1e-3, rtol=1e-3) + @unittest.skipIf(Device.DEFAULT == "WEBGPU", "WEBGPU can only run kernels with up to 10 buffers") def test_rmsnorm(self): class TorchRMSNorm(torch.nn.Module): # https://github.com/meta-llama/llama/blob/be327c427cc5e89cc1d3ab3d3fec4484df771245/llama/model.py#L34C1-L77C36 diff --git a/test/test_ops.py b/test/test_ops.py index d2abf54a7b..ad812515d4 100644 --- a/test/test_ops.py +++ b/test/test_ops.py @@ -2418,6 +2418,7 @@ class TestOps(unittest.TestCase): i, j, k, o, p = [Tensor(tor.detach().numpy().astype(np.int32), requires_grad=False) for tor in [a,b,c,d,e]] return a,b,c,d,e,i,j,k,o,p + @unittest.skipIf(Device.DEFAULT == "WEBGPU", "WEBGPU can only run kernels with up to 10 buffers") def test_slice_fancy_indexing_no_dim_collapse(self): a,b,c,d,e,i,j,k,o,p = self._get_index_randoms() # no dim collapse from int or dim injection from None @@ -2469,6 +2470,7 @@ class TestOps(unittest.TestCase): helper_test_op([(2,3)], lambda x: x[torch.tensor([[0,1,-1],[-1,-2,0]]), torch.tensor([2,1,-1])], lambda x: x[Tensor([[0,1,-1],[-1,-2,0]]), Tensor([2,1,-1])]) + @unittest.skipIf(Device.DEFAULT == "WEBGPU", "WEBGPU can only run kernels with up to 10 buffers") def test_slice_fancy_indexing_list_indices(self): a,b,c,d,e,i,j,k,o,p = self._get_index_randoms() helper_test_op([(2,5,6,5,3,4)], lambda x: x[[[0]]], lambda x: x[[[0]]]) @@ -2488,6 +2490,7 @@ class TestOps(unittest.TestCase): helper_test_op([(2,5,6,5,3,4)], lambda x: x[a,((2,),(1,),(0,)),c,(2,1,0)], lambda x: x[i,((2,),(1,),(0,)),k,(2,1,0)]) helper_test_op([(2,5,6,5,3,4)], lambda x: x[1,(2,1,0),None,c,(2,1,0),e], lambda x: x[1,(2,1,0),None,k,(2,1,0),p]) + @unittest.skipIf(Device.DEFAULT == "WEBGPU", "WEBGPU can only run kernels with up to 10 buffers") def test_slice_fancy_indexing_list_with_tensors(self): a,b,c,d,e,i,j,k,o,p = self._get_index_randoms() helper_test_op([(2,5,6,5,3,4)], lambda x: x[[a]], lambda x: x[[i]]) diff --git a/test/test_sample.py b/test/test_sample.py index 9af7557ca1..362dbb39b8 100644 --- a/test/test_sample.py +++ b/test/test_sample.py @@ -1,7 +1,8 @@ import unittest import numpy as np -from tinygrad import Tensor, Variable +from tinygrad import Tensor, Variable, Device +@unittest.skipIf(Device.DEFAULT == "WEBGPU", "WEBGPU can only run kernels with up to 10 buffers") class TestSample(unittest.TestCase): def test_sample(self): X = Tensor.rand(10000, 50).realize() diff --git a/test/test_search.py b/test/test_search.py index 074008118f..d9b7241cd2 100644 --- a/test/test_search.py +++ b/test/test_search.py @@ -14,6 +14,7 @@ from tinygrad.shape.shapetracker import ShapeTracker from tinygrad.shape.view import View class TestTimeLinearizer(unittest.TestCase): + @unittest.skipIf(Device.DEFAULT == "WEBGPU", "WebGPU timestamps are low precision, tm is 0") def test_reasonable_time(self): a = Tensor([1,2,3,4]).realize() si = (a+1).schedule()[0] diff --git a/tinygrad/runtime/autogen/webgpu.py b/tinygrad/runtime/autogen/webgpu.py new file mode 100644 index 0000000000..f35ae918b4 --- /dev/null +++ b/tinygrad/runtime/autogen/webgpu.py @@ -0,0 +1,6985 @@ +# mypy: ignore-errors +# -*- coding: utf-8 -*- +# +# TARGET arch is: [] +# WORD_SIZE is: 8 +# POINTER_SIZE is: 8 +# LONGDOUBLE_SIZE is: 16 +# +import ctypes, ctypes.util + + +class AsDictMixin: + @classmethod + def as_dict(cls, self): + result = {} + if not isinstance(self, AsDictMixin): + # not a structure, assume it's already a python object + return self + if not hasattr(cls, "_fields_"): + return result + # sys.version_info >= (3, 5) + # for (field, *_) in cls._fields_: # noqa + for field_tuple in cls._fields_: # noqa + field = field_tuple[0] + if field.startswith('PADDING_'): + continue + value = getattr(self, field) + type_ = type(value) + if hasattr(value, "_length_") and hasattr(value, "_type_"): + # array + if not hasattr(type_, "as_dict"): + value = [v for v in value] + else: + type_ = type_._type_ + value = [type_.as_dict(v) for v in value] + elif hasattr(value, "contents") and hasattr(value, "_type_"): + # pointer + try: + if not hasattr(type_, "as_dict"): + value = value.contents + else: + type_ = type_._type_ + value = type_.as_dict(value.contents) + except ValueError: + # nullptr + value = None + elif isinstance(value, AsDictMixin): + # other structure + value = type_.as_dict(value) + result[field] = value + return result + + +class Structure(ctypes.Structure, AsDictMixin): + + def __init__(self, *args, **kwds): + # We don't want to use positional arguments fill PADDING_* fields + + args = dict(zip(self.__class__._field_names_(), args)) + args.update(kwds) + super(Structure, self).__init__(**args) + + @classmethod + def _field_names_(cls): + if hasattr(cls, '_fields_'): + return (f[0] for f in cls._fields_ if not f[0].startswith('PADDING')) + else: + return () + + @classmethod + def get_type(cls, field): + for f in cls._fields_: + if f[0] == field: + return f[1] + return None + + @classmethod + def bind(cls, bound_fields): + fields = {} + for name, type_ in cls._fields_: + if hasattr(type_, "restype"): + if name in bound_fields: + if bound_fields[name] is None: + fields[name] = type_() + else: + # use a closure to capture the callback from the loop scope + fields[name] = ( + type_((lambda callback: lambda *args: callback(*args))( + bound_fields[name])) + ) + del bound_fields[name] + else: + # default callback implementation (does nothing) + try: + default_ = type_(0).restype().value + except TypeError: + default_ = None + fields[name] = type_(( + lambda default_: lambda *args: default_)(default_)) + else: + # not a callback function, use default initialization + if name in bound_fields: + fields[name] = bound_fields[name] + del bound_fields[name] + else: + fields[name] = type_() + if len(bound_fields) != 0: + raise ValueError( + "Cannot bind the following unknown callback(s) {}.{}".format( + cls.__name__, bound_fields.keys() + )) + return cls(**fields) + + +class Union(ctypes.Union, AsDictMixin): + pass + + + +c_int128 = ctypes.c_ubyte*16 +c_uint128 = c_int128 +void = None +if ctypes.sizeof(ctypes.c_longdouble) == 16: + c_long_double_t = ctypes.c_longdouble +else: + c_long_double_t = ctypes.c_ubyte*16 + +def string_cast(char_pointer, encoding='utf-8', errors='strict'): + value = ctypes.cast(char_pointer, ctypes.c_char_p).value + if value is not None and encoding is not None: + value = value.decode(encoding, errors=errors) + return value + + +def char_pointer_cast(string, encoding='utf-8'): + if encoding is not None: + try: + string = string.encode(encoding) + except AttributeError: + # In Python3, bytes has no encode attribute + pass + string = ctypes.c_char_p(string) + return ctypes.cast(string, ctypes.POINTER(ctypes.c_char)) + + + +_libraries = {} +_libraries['libwebgpu_dawn.so'] = ctypes.CDLL(ctypes.util.find_library('webgpu_dawn')) + + +WGPUFlags = ctypes.c_uint64 +WGPUBool = ctypes.c_uint32 +class struct_WGPUAdapterImpl(Structure): + pass + +WGPUAdapter = ctypes.POINTER(struct_WGPUAdapterImpl) +class struct_WGPUBindGroupImpl(Structure): + pass + +WGPUBindGroup = ctypes.POINTER(struct_WGPUBindGroupImpl) +class struct_WGPUBindGroupLayoutImpl(Structure): + pass + +WGPUBindGroupLayout = ctypes.POINTER(struct_WGPUBindGroupLayoutImpl) +class struct_WGPUBufferImpl(Structure): + pass + +WGPUBuffer = ctypes.POINTER(struct_WGPUBufferImpl) +class struct_WGPUCommandBufferImpl(Structure): + pass + +WGPUCommandBuffer = ctypes.POINTER(struct_WGPUCommandBufferImpl) +class struct_WGPUCommandEncoderImpl(Structure): + pass + +WGPUCommandEncoder = ctypes.POINTER(struct_WGPUCommandEncoderImpl) +class struct_WGPUComputePassEncoderImpl(Structure): + pass + +WGPUComputePassEncoder = ctypes.POINTER(struct_WGPUComputePassEncoderImpl) +class struct_WGPUComputePipelineImpl(Structure): + pass + +WGPUComputePipeline = ctypes.POINTER(struct_WGPUComputePipelineImpl) +class struct_WGPUDeviceImpl(Structure): + pass + +WGPUDevice = ctypes.POINTER(struct_WGPUDeviceImpl) +class struct_WGPUExternalTextureImpl(Structure): + pass + +WGPUExternalTexture = ctypes.POINTER(struct_WGPUExternalTextureImpl) +class struct_WGPUInstanceImpl(Structure): + pass + +WGPUInstance = ctypes.POINTER(struct_WGPUInstanceImpl) +class struct_WGPUPipelineLayoutImpl(Structure): + pass + +WGPUPipelineLayout = ctypes.POINTER(struct_WGPUPipelineLayoutImpl) +class struct_WGPUQuerySetImpl(Structure): + pass + +WGPUQuerySet = ctypes.POINTER(struct_WGPUQuerySetImpl) +class struct_WGPUQueueImpl(Structure): + pass + +WGPUQueue = ctypes.POINTER(struct_WGPUQueueImpl) +class struct_WGPURenderBundleImpl(Structure): + pass + +WGPURenderBundle = ctypes.POINTER(struct_WGPURenderBundleImpl) +class struct_WGPURenderBundleEncoderImpl(Structure): + pass + +WGPURenderBundleEncoder = ctypes.POINTER(struct_WGPURenderBundleEncoderImpl) +class struct_WGPURenderPassEncoderImpl(Structure): + pass + +WGPURenderPassEncoder = ctypes.POINTER(struct_WGPURenderPassEncoderImpl) +class struct_WGPURenderPipelineImpl(Structure): + pass + +WGPURenderPipeline = ctypes.POINTER(struct_WGPURenderPipelineImpl) +class struct_WGPUSamplerImpl(Structure): + pass + +WGPUSampler = ctypes.POINTER(struct_WGPUSamplerImpl) +class struct_WGPUShaderModuleImpl(Structure): + pass + +WGPUShaderModule = ctypes.POINTER(struct_WGPUShaderModuleImpl) +class struct_WGPUSharedBufferMemoryImpl(Structure): + pass + +WGPUSharedBufferMemory = ctypes.POINTER(struct_WGPUSharedBufferMemoryImpl) +class struct_WGPUSharedFenceImpl(Structure): + pass + +WGPUSharedFence = ctypes.POINTER(struct_WGPUSharedFenceImpl) +class struct_WGPUSharedTextureMemoryImpl(Structure): + pass + +WGPUSharedTextureMemory = ctypes.POINTER(struct_WGPUSharedTextureMemoryImpl) +class struct_WGPUSurfaceImpl(Structure): + pass + +WGPUSurface = ctypes.POINTER(struct_WGPUSurfaceImpl) +class struct_WGPUTextureImpl(Structure): + pass + +WGPUTexture = ctypes.POINTER(struct_WGPUTextureImpl) +class struct_WGPUTextureViewImpl(Structure): + pass + +WGPUTextureView = ctypes.POINTER(struct_WGPUTextureViewImpl) + +# values for enumeration 'WGPUWGSLFeatureName' +WGPUWGSLFeatureName__enumvalues = { + 1: 'WGPUWGSLFeatureName_ReadonlyAndReadwriteStorageTextures', + 2: 'WGPUWGSLFeatureName_Packed4x8IntegerDotProduct', + 3: 'WGPUWGSLFeatureName_UnrestrictedPointerParameters', + 4: 'WGPUWGSLFeatureName_PointerCompositeAccess', + 327680: 'WGPUWGSLFeatureName_ChromiumTestingUnimplemented', + 327681: 'WGPUWGSLFeatureName_ChromiumTestingUnsafeExperimental', + 327682: 'WGPUWGSLFeatureName_ChromiumTestingExperimental', + 327683: 'WGPUWGSLFeatureName_ChromiumTestingShippedWithKillswitch', + 327684: 'WGPUWGSLFeatureName_ChromiumTestingShipped', + 2147483647: 'WGPUWGSLFeatureName_Force32', +} +WGPUWGSLFeatureName_ReadonlyAndReadwriteStorageTextures = 1 +WGPUWGSLFeatureName_Packed4x8IntegerDotProduct = 2 +WGPUWGSLFeatureName_UnrestrictedPointerParameters = 3 +WGPUWGSLFeatureName_PointerCompositeAccess = 4 +WGPUWGSLFeatureName_ChromiumTestingUnimplemented = 327680 +WGPUWGSLFeatureName_ChromiumTestingUnsafeExperimental = 327681 +WGPUWGSLFeatureName_ChromiumTestingExperimental = 327682 +WGPUWGSLFeatureName_ChromiumTestingShippedWithKillswitch = 327683 +WGPUWGSLFeatureName_ChromiumTestingShipped = 327684 +WGPUWGSLFeatureName_Force32 = 2147483647 +WGPUWGSLFeatureName = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUAdapterType' +WGPUAdapterType__enumvalues = { + 1: 'WGPUAdapterType_DiscreteGPU', + 2: 'WGPUAdapterType_IntegratedGPU', + 3: 'WGPUAdapterType_CPU', + 4: 'WGPUAdapterType_Unknown', + 2147483647: 'WGPUAdapterType_Force32', +} +WGPUAdapterType_DiscreteGPU = 1 +WGPUAdapterType_IntegratedGPU = 2 +WGPUAdapterType_CPU = 3 +WGPUAdapterType_Unknown = 4 +WGPUAdapterType_Force32 = 2147483647 +WGPUAdapterType = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUAddressMode' +WGPUAddressMode__enumvalues = { + 0: 'WGPUAddressMode_Undefined', + 1: 'WGPUAddressMode_ClampToEdge', + 2: 'WGPUAddressMode_Repeat', + 3: 'WGPUAddressMode_MirrorRepeat', + 2147483647: 'WGPUAddressMode_Force32', +} +WGPUAddressMode_Undefined = 0 +WGPUAddressMode_ClampToEdge = 1 +WGPUAddressMode_Repeat = 2 +WGPUAddressMode_MirrorRepeat = 3 +WGPUAddressMode_Force32 = 2147483647 +WGPUAddressMode = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUAlphaMode' +WGPUAlphaMode__enumvalues = { + 1: 'WGPUAlphaMode_Opaque', + 2: 'WGPUAlphaMode_Premultiplied', + 3: 'WGPUAlphaMode_Unpremultiplied', + 2147483647: 'WGPUAlphaMode_Force32', +} +WGPUAlphaMode_Opaque = 1 +WGPUAlphaMode_Premultiplied = 2 +WGPUAlphaMode_Unpremultiplied = 3 +WGPUAlphaMode_Force32 = 2147483647 +WGPUAlphaMode = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUBackendType' +WGPUBackendType__enumvalues = { + 0: 'WGPUBackendType_Undefined', + 1: 'WGPUBackendType_Null', + 2: 'WGPUBackendType_WebGPU', + 3: 'WGPUBackendType_D3D11', + 4: 'WGPUBackendType_D3D12', + 5: 'WGPUBackendType_Metal', + 6: 'WGPUBackendType_Vulkan', + 7: 'WGPUBackendType_OpenGL', + 8: 'WGPUBackendType_OpenGLES', + 2147483647: 'WGPUBackendType_Force32', +} +WGPUBackendType_Undefined = 0 +WGPUBackendType_Null = 1 +WGPUBackendType_WebGPU = 2 +WGPUBackendType_D3D11 = 3 +WGPUBackendType_D3D12 = 4 +WGPUBackendType_Metal = 5 +WGPUBackendType_Vulkan = 6 +WGPUBackendType_OpenGL = 7 +WGPUBackendType_OpenGLES = 8 +WGPUBackendType_Force32 = 2147483647 +WGPUBackendType = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUBlendFactor' +WGPUBlendFactor__enumvalues = { + 0: 'WGPUBlendFactor_Undefined', + 1: 'WGPUBlendFactor_Zero', + 2: 'WGPUBlendFactor_One', + 3: 'WGPUBlendFactor_Src', + 4: 'WGPUBlendFactor_OneMinusSrc', + 5: 'WGPUBlendFactor_SrcAlpha', + 6: 'WGPUBlendFactor_OneMinusSrcAlpha', + 7: 'WGPUBlendFactor_Dst', + 8: 'WGPUBlendFactor_OneMinusDst', + 9: 'WGPUBlendFactor_DstAlpha', + 10: 'WGPUBlendFactor_OneMinusDstAlpha', + 11: 'WGPUBlendFactor_SrcAlphaSaturated', + 12: 'WGPUBlendFactor_Constant', + 13: 'WGPUBlendFactor_OneMinusConstant', + 14: 'WGPUBlendFactor_Src1', + 15: 'WGPUBlendFactor_OneMinusSrc1', + 16: 'WGPUBlendFactor_Src1Alpha', + 17: 'WGPUBlendFactor_OneMinusSrc1Alpha', + 2147483647: 'WGPUBlendFactor_Force32', +} +WGPUBlendFactor_Undefined = 0 +WGPUBlendFactor_Zero = 1 +WGPUBlendFactor_One = 2 +WGPUBlendFactor_Src = 3 +WGPUBlendFactor_OneMinusSrc = 4 +WGPUBlendFactor_SrcAlpha = 5 +WGPUBlendFactor_OneMinusSrcAlpha = 6 +WGPUBlendFactor_Dst = 7 +WGPUBlendFactor_OneMinusDst = 8 +WGPUBlendFactor_DstAlpha = 9 +WGPUBlendFactor_OneMinusDstAlpha = 10 +WGPUBlendFactor_SrcAlphaSaturated = 11 +WGPUBlendFactor_Constant = 12 +WGPUBlendFactor_OneMinusConstant = 13 +WGPUBlendFactor_Src1 = 14 +WGPUBlendFactor_OneMinusSrc1 = 15 +WGPUBlendFactor_Src1Alpha = 16 +WGPUBlendFactor_OneMinusSrc1Alpha = 17 +WGPUBlendFactor_Force32 = 2147483647 +WGPUBlendFactor = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUBlendOperation' +WGPUBlendOperation__enumvalues = { + 0: 'WGPUBlendOperation_Undefined', + 1: 'WGPUBlendOperation_Add', + 2: 'WGPUBlendOperation_Subtract', + 3: 'WGPUBlendOperation_ReverseSubtract', + 4: 'WGPUBlendOperation_Min', + 5: 'WGPUBlendOperation_Max', + 2147483647: 'WGPUBlendOperation_Force32', +} +WGPUBlendOperation_Undefined = 0 +WGPUBlendOperation_Add = 1 +WGPUBlendOperation_Subtract = 2 +WGPUBlendOperation_ReverseSubtract = 3 +WGPUBlendOperation_Min = 4 +WGPUBlendOperation_Max = 5 +WGPUBlendOperation_Force32 = 2147483647 +WGPUBlendOperation = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUBufferBindingType' +WGPUBufferBindingType__enumvalues = { + 0: 'WGPUBufferBindingType_BindingNotUsed', + 1: 'WGPUBufferBindingType_Uniform', + 2: 'WGPUBufferBindingType_Storage', + 3: 'WGPUBufferBindingType_ReadOnlyStorage', + 2147483647: 'WGPUBufferBindingType_Force32', +} +WGPUBufferBindingType_BindingNotUsed = 0 +WGPUBufferBindingType_Uniform = 1 +WGPUBufferBindingType_Storage = 2 +WGPUBufferBindingType_ReadOnlyStorage = 3 +WGPUBufferBindingType_Force32 = 2147483647 +WGPUBufferBindingType = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUBufferMapAsyncStatus' +WGPUBufferMapAsyncStatus__enumvalues = { + 1: 'WGPUBufferMapAsyncStatus_Success', + 2: 'WGPUBufferMapAsyncStatus_InstanceDropped', + 3: 'WGPUBufferMapAsyncStatus_ValidationError', + 4: 'WGPUBufferMapAsyncStatus_Unknown', + 5: 'WGPUBufferMapAsyncStatus_DeviceLost', + 6: 'WGPUBufferMapAsyncStatus_DestroyedBeforeCallback', + 7: 'WGPUBufferMapAsyncStatus_UnmappedBeforeCallback', + 8: 'WGPUBufferMapAsyncStatus_MappingAlreadyPending', + 9: 'WGPUBufferMapAsyncStatus_OffsetOutOfRange', + 10: 'WGPUBufferMapAsyncStatus_SizeOutOfRange', + 2147483647: 'WGPUBufferMapAsyncStatus_Force32', +} +WGPUBufferMapAsyncStatus_Success = 1 +WGPUBufferMapAsyncStatus_InstanceDropped = 2 +WGPUBufferMapAsyncStatus_ValidationError = 3 +WGPUBufferMapAsyncStatus_Unknown = 4 +WGPUBufferMapAsyncStatus_DeviceLost = 5 +WGPUBufferMapAsyncStatus_DestroyedBeforeCallback = 6 +WGPUBufferMapAsyncStatus_UnmappedBeforeCallback = 7 +WGPUBufferMapAsyncStatus_MappingAlreadyPending = 8 +WGPUBufferMapAsyncStatus_OffsetOutOfRange = 9 +WGPUBufferMapAsyncStatus_SizeOutOfRange = 10 +WGPUBufferMapAsyncStatus_Force32 = 2147483647 +WGPUBufferMapAsyncStatus = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUBufferMapState' +WGPUBufferMapState__enumvalues = { + 1: 'WGPUBufferMapState_Unmapped', + 2: 'WGPUBufferMapState_Pending', + 3: 'WGPUBufferMapState_Mapped', + 2147483647: 'WGPUBufferMapState_Force32', +} +WGPUBufferMapState_Unmapped = 1 +WGPUBufferMapState_Pending = 2 +WGPUBufferMapState_Mapped = 3 +WGPUBufferMapState_Force32 = 2147483647 +WGPUBufferMapState = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUCallbackMode' +WGPUCallbackMode__enumvalues = { + 1: 'WGPUCallbackMode_WaitAnyOnly', + 2: 'WGPUCallbackMode_AllowProcessEvents', + 3: 'WGPUCallbackMode_AllowSpontaneous', + 2147483647: 'WGPUCallbackMode_Force32', +} +WGPUCallbackMode_WaitAnyOnly = 1 +WGPUCallbackMode_AllowProcessEvents = 2 +WGPUCallbackMode_AllowSpontaneous = 3 +WGPUCallbackMode_Force32 = 2147483647 +WGPUCallbackMode = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUCompareFunction' +WGPUCompareFunction__enumvalues = { + 0: 'WGPUCompareFunction_Undefined', + 1: 'WGPUCompareFunction_Never', + 2: 'WGPUCompareFunction_Less', + 3: 'WGPUCompareFunction_Equal', + 4: 'WGPUCompareFunction_LessEqual', + 5: 'WGPUCompareFunction_Greater', + 6: 'WGPUCompareFunction_NotEqual', + 7: 'WGPUCompareFunction_GreaterEqual', + 8: 'WGPUCompareFunction_Always', + 2147483647: 'WGPUCompareFunction_Force32', +} +WGPUCompareFunction_Undefined = 0 +WGPUCompareFunction_Never = 1 +WGPUCompareFunction_Less = 2 +WGPUCompareFunction_Equal = 3 +WGPUCompareFunction_LessEqual = 4 +WGPUCompareFunction_Greater = 5 +WGPUCompareFunction_NotEqual = 6 +WGPUCompareFunction_GreaterEqual = 7 +WGPUCompareFunction_Always = 8 +WGPUCompareFunction_Force32 = 2147483647 +WGPUCompareFunction = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUCompilationInfoRequestStatus' +WGPUCompilationInfoRequestStatus__enumvalues = { + 1: 'WGPUCompilationInfoRequestStatus_Success', + 2: 'WGPUCompilationInfoRequestStatus_InstanceDropped', + 3: 'WGPUCompilationInfoRequestStatus_Error', + 4: 'WGPUCompilationInfoRequestStatus_DeviceLost', + 5: 'WGPUCompilationInfoRequestStatus_Unknown', + 2147483647: 'WGPUCompilationInfoRequestStatus_Force32', +} +WGPUCompilationInfoRequestStatus_Success = 1 +WGPUCompilationInfoRequestStatus_InstanceDropped = 2 +WGPUCompilationInfoRequestStatus_Error = 3 +WGPUCompilationInfoRequestStatus_DeviceLost = 4 +WGPUCompilationInfoRequestStatus_Unknown = 5 +WGPUCompilationInfoRequestStatus_Force32 = 2147483647 +WGPUCompilationInfoRequestStatus = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUCompilationMessageType' +WGPUCompilationMessageType__enumvalues = { + 1: 'WGPUCompilationMessageType_Error', + 2: 'WGPUCompilationMessageType_Warning', + 3: 'WGPUCompilationMessageType_Info', + 2147483647: 'WGPUCompilationMessageType_Force32', +} +WGPUCompilationMessageType_Error = 1 +WGPUCompilationMessageType_Warning = 2 +WGPUCompilationMessageType_Info = 3 +WGPUCompilationMessageType_Force32 = 2147483647 +WGPUCompilationMessageType = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUCompositeAlphaMode' +WGPUCompositeAlphaMode__enumvalues = { + 0: 'WGPUCompositeAlphaMode_Auto', + 1: 'WGPUCompositeAlphaMode_Opaque', + 2: 'WGPUCompositeAlphaMode_Premultiplied', + 3: 'WGPUCompositeAlphaMode_Unpremultiplied', + 4: 'WGPUCompositeAlphaMode_Inherit', + 2147483647: 'WGPUCompositeAlphaMode_Force32', +} +WGPUCompositeAlphaMode_Auto = 0 +WGPUCompositeAlphaMode_Opaque = 1 +WGPUCompositeAlphaMode_Premultiplied = 2 +WGPUCompositeAlphaMode_Unpremultiplied = 3 +WGPUCompositeAlphaMode_Inherit = 4 +WGPUCompositeAlphaMode_Force32 = 2147483647 +WGPUCompositeAlphaMode = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUCreatePipelineAsyncStatus' +WGPUCreatePipelineAsyncStatus__enumvalues = { + 1: 'WGPUCreatePipelineAsyncStatus_Success', + 2: 'WGPUCreatePipelineAsyncStatus_InstanceDropped', + 3: 'WGPUCreatePipelineAsyncStatus_ValidationError', + 4: 'WGPUCreatePipelineAsyncStatus_InternalError', + 5: 'WGPUCreatePipelineAsyncStatus_DeviceLost', + 6: 'WGPUCreatePipelineAsyncStatus_DeviceDestroyed', + 7: 'WGPUCreatePipelineAsyncStatus_Unknown', + 2147483647: 'WGPUCreatePipelineAsyncStatus_Force32', +} +WGPUCreatePipelineAsyncStatus_Success = 1 +WGPUCreatePipelineAsyncStatus_InstanceDropped = 2 +WGPUCreatePipelineAsyncStatus_ValidationError = 3 +WGPUCreatePipelineAsyncStatus_InternalError = 4 +WGPUCreatePipelineAsyncStatus_DeviceLost = 5 +WGPUCreatePipelineAsyncStatus_DeviceDestroyed = 6 +WGPUCreatePipelineAsyncStatus_Unknown = 7 +WGPUCreatePipelineAsyncStatus_Force32 = 2147483647 +WGPUCreatePipelineAsyncStatus = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUCullMode' +WGPUCullMode__enumvalues = { + 0: 'WGPUCullMode_Undefined', + 1: 'WGPUCullMode_None', + 2: 'WGPUCullMode_Front', + 3: 'WGPUCullMode_Back', + 2147483647: 'WGPUCullMode_Force32', +} +WGPUCullMode_Undefined = 0 +WGPUCullMode_None = 1 +WGPUCullMode_Front = 2 +WGPUCullMode_Back = 3 +WGPUCullMode_Force32 = 2147483647 +WGPUCullMode = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUDeviceLostReason' +WGPUDeviceLostReason__enumvalues = { + 1: 'WGPUDeviceLostReason_Unknown', + 2: 'WGPUDeviceLostReason_Destroyed', + 3: 'WGPUDeviceLostReason_InstanceDropped', + 4: 'WGPUDeviceLostReason_FailedCreation', + 2147483647: 'WGPUDeviceLostReason_Force32', +} +WGPUDeviceLostReason_Unknown = 1 +WGPUDeviceLostReason_Destroyed = 2 +WGPUDeviceLostReason_InstanceDropped = 3 +WGPUDeviceLostReason_FailedCreation = 4 +WGPUDeviceLostReason_Force32 = 2147483647 +WGPUDeviceLostReason = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUErrorFilter' +WGPUErrorFilter__enumvalues = { + 1: 'WGPUErrorFilter_Validation', + 2: 'WGPUErrorFilter_OutOfMemory', + 3: 'WGPUErrorFilter_Internal', + 2147483647: 'WGPUErrorFilter_Force32', +} +WGPUErrorFilter_Validation = 1 +WGPUErrorFilter_OutOfMemory = 2 +WGPUErrorFilter_Internal = 3 +WGPUErrorFilter_Force32 = 2147483647 +WGPUErrorFilter = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUErrorType' +WGPUErrorType__enumvalues = { + 1: 'WGPUErrorType_NoError', + 2: 'WGPUErrorType_Validation', + 3: 'WGPUErrorType_OutOfMemory', + 4: 'WGPUErrorType_Internal', + 5: 'WGPUErrorType_Unknown', + 6: 'WGPUErrorType_DeviceLost', + 2147483647: 'WGPUErrorType_Force32', +} +WGPUErrorType_NoError = 1 +WGPUErrorType_Validation = 2 +WGPUErrorType_OutOfMemory = 3 +WGPUErrorType_Internal = 4 +WGPUErrorType_Unknown = 5 +WGPUErrorType_DeviceLost = 6 +WGPUErrorType_Force32 = 2147483647 +WGPUErrorType = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUExternalTextureRotation' +WGPUExternalTextureRotation__enumvalues = { + 1: 'WGPUExternalTextureRotation_Rotate0Degrees', + 2: 'WGPUExternalTextureRotation_Rotate90Degrees', + 3: 'WGPUExternalTextureRotation_Rotate180Degrees', + 4: 'WGPUExternalTextureRotation_Rotate270Degrees', + 2147483647: 'WGPUExternalTextureRotation_Force32', +} +WGPUExternalTextureRotation_Rotate0Degrees = 1 +WGPUExternalTextureRotation_Rotate90Degrees = 2 +WGPUExternalTextureRotation_Rotate180Degrees = 3 +WGPUExternalTextureRotation_Rotate270Degrees = 4 +WGPUExternalTextureRotation_Force32 = 2147483647 +WGPUExternalTextureRotation = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUFeatureLevel' +WGPUFeatureLevel__enumvalues = { + 0: 'WGPUFeatureLevel_Undefined', + 1: 'WGPUFeatureLevel_Compatibility', + 2: 'WGPUFeatureLevel_Core', + 2147483647: 'WGPUFeatureLevel_Force32', +} +WGPUFeatureLevel_Undefined = 0 +WGPUFeatureLevel_Compatibility = 1 +WGPUFeatureLevel_Core = 2 +WGPUFeatureLevel_Force32 = 2147483647 +WGPUFeatureLevel = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUFeatureName' +WGPUFeatureName__enumvalues = { + 1: 'WGPUFeatureName_DepthClipControl', + 2: 'WGPUFeatureName_Depth32FloatStencil8', + 3: 'WGPUFeatureName_TimestampQuery', + 4: 'WGPUFeatureName_TextureCompressionBC', + 5: 'WGPUFeatureName_TextureCompressionETC2', + 6: 'WGPUFeatureName_TextureCompressionASTC', + 7: 'WGPUFeatureName_IndirectFirstInstance', + 8: 'WGPUFeatureName_ShaderF16', + 9: 'WGPUFeatureName_RG11B10UfloatRenderable', + 10: 'WGPUFeatureName_BGRA8UnormStorage', + 11: 'WGPUFeatureName_Float32Filterable', + 12: 'WGPUFeatureName_Float32Blendable', + 13: 'WGPUFeatureName_Subgroups', + 14: 'WGPUFeatureName_SubgroupsF16', + 327680: 'WGPUFeatureName_DawnInternalUsages', + 327681: 'WGPUFeatureName_DawnMultiPlanarFormats', + 327682: 'WGPUFeatureName_DawnNative', + 327683: 'WGPUFeatureName_ChromiumExperimentalTimestampQueryInsidePasses', + 327684: 'WGPUFeatureName_ImplicitDeviceSynchronization', + 327685: 'WGPUFeatureName_ChromiumExperimentalImmediateData', + 327686: 'WGPUFeatureName_TransientAttachments', + 327687: 'WGPUFeatureName_MSAARenderToSingleSampled', + 327688: 'WGPUFeatureName_DualSourceBlending', + 327689: 'WGPUFeatureName_D3D11MultithreadProtected', + 327690: 'WGPUFeatureName_ANGLETextureSharing', + 327691: 'WGPUFeatureName_PixelLocalStorageCoherent', + 327692: 'WGPUFeatureName_PixelLocalStorageNonCoherent', + 327693: 'WGPUFeatureName_Unorm16TextureFormats', + 327694: 'WGPUFeatureName_Snorm16TextureFormats', + 327695: 'WGPUFeatureName_MultiPlanarFormatExtendedUsages', + 327696: 'WGPUFeatureName_MultiPlanarFormatP010', + 327697: 'WGPUFeatureName_HostMappedPointer', + 327698: 'WGPUFeatureName_MultiPlanarRenderTargets', + 327699: 'WGPUFeatureName_MultiPlanarFormatNv12a', + 327700: 'WGPUFeatureName_FramebufferFetch', + 327701: 'WGPUFeatureName_BufferMapExtendedUsages', + 327702: 'WGPUFeatureName_AdapterPropertiesMemoryHeaps', + 327703: 'WGPUFeatureName_AdapterPropertiesD3D', + 327704: 'WGPUFeatureName_AdapterPropertiesVk', + 327705: 'WGPUFeatureName_R8UnormStorage', + 327706: 'WGPUFeatureName_FormatCapabilities', + 327707: 'WGPUFeatureName_DrmFormatCapabilities', + 327708: 'WGPUFeatureName_Norm16TextureFormats', + 327709: 'WGPUFeatureName_MultiPlanarFormatNv16', + 327710: 'WGPUFeatureName_MultiPlanarFormatNv24', + 327711: 'WGPUFeatureName_MultiPlanarFormatP210', + 327712: 'WGPUFeatureName_MultiPlanarFormatP410', + 327713: 'WGPUFeatureName_SharedTextureMemoryVkDedicatedAllocation', + 327714: 'WGPUFeatureName_SharedTextureMemoryAHardwareBuffer', + 327715: 'WGPUFeatureName_SharedTextureMemoryDmaBuf', + 327716: 'WGPUFeatureName_SharedTextureMemoryOpaqueFD', + 327717: 'WGPUFeatureName_SharedTextureMemoryZirconHandle', + 327718: 'WGPUFeatureName_SharedTextureMemoryDXGISharedHandle', + 327719: 'WGPUFeatureName_SharedTextureMemoryD3D11Texture2D', + 327720: 'WGPUFeatureName_SharedTextureMemoryIOSurface', + 327721: 'WGPUFeatureName_SharedTextureMemoryEGLImage', + 327722: 'WGPUFeatureName_SharedFenceVkSemaphoreOpaqueFD', + 327723: 'WGPUFeatureName_SharedFenceSyncFD', + 327724: 'WGPUFeatureName_SharedFenceVkSemaphoreZirconHandle', + 327725: 'WGPUFeatureName_SharedFenceDXGISharedHandle', + 327726: 'WGPUFeatureName_SharedFenceMTLSharedEvent', + 327727: 'WGPUFeatureName_SharedBufferMemoryD3D12Resource', + 327728: 'WGPUFeatureName_StaticSamplers', + 327729: 'WGPUFeatureName_YCbCrVulkanSamplers', + 327730: 'WGPUFeatureName_ShaderModuleCompilationOptions', + 327731: 'WGPUFeatureName_DawnLoadResolveTexture', + 327732: 'WGPUFeatureName_DawnPartialLoadResolveTexture', + 327733: 'WGPUFeatureName_MultiDrawIndirect', + 327734: 'WGPUFeatureName_ClipDistances', + 327735: 'WGPUFeatureName_DawnTexelCopyBufferRowAlignment', + 327736: 'WGPUFeatureName_FlexibleTextureViews', + 2147483647: 'WGPUFeatureName_Force32', +} +WGPUFeatureName_DepthClipControl = 1 +WGPUFeatureName_Depth32FloatStencil8 = 2 +WGPUFeatureName_TimestampQuery = 3 +WGPUFeatureName_TextureCompressionBC = 4 +WGPUFeatureName_TextureCompressionETC2 = 5 +WGPUFeatureName_TextureCompressionASTC = 6 +WGPUFeatureName_IndirectFirstInstance = 7 +WGPUFeatureName_ShaderF16 = 8 +WGPUFeatureName_RG11B10UfloatRenderable = 9 +WGPUFeatureName_BGRA8UnormStorage = 10 +WGPUFeatureName_Float32Filterable = 11 +WGPUFeatureName_Float32Blendable = 12 +WGPUFeatureName_Subgroups = 13 +WGPUFeatureName_SubgroupsF16 = 14 +WGPUFeatureName_DawnInternalUsages = 327680 +WGPUFeatureName_DawnMultiPlanarFormats = 327681 +WGPUFeatureName_DawnNative = 327682 +WGPUFeatureName_ChromiumExperimentalTimestampQueryInsidePasses = 327683 +WGPUFeatureName_ImplicitDeviceSynchronization = 327684 +WGPUFeatureName_ChromiumExperimentalImmediateData = 327685 +WGPUFeatureName_TransientAttachments = 327686 +WGPUFeatureName_MSAARenderToSingleSampled = 327687 +WGPUFeatureName_DualSourceBlending = 327688 +WGPUFeatureName_D3D11MultithreadProtected = 327689 +WGPUFeatureName_ANGLETextureSharing = 327690 +WGPUFeatureName_PixelLocalStorageCoherent = 327691 +WGPUFeatureName_PixelLocalStorageNonCoherent = 327692 +WGPUFeatureName_Unorm16TextureFormats = 327693 +WGPUFeatureName_Snorm16TextureFormats = 327694 +WGPUFeatureName_MultiPlanarFormatExtendedUsages = 327695 +WGPUFeatureName_MultiPlanarFormatP010 = 327696 +WGPUFeatureName_HostMappedPointer = 327697 +WGPUFeatureName_MultiPlanarRenderTargets = 327698 +WGPUFeatureName_MultiPlanarFormatNv12a = 327699 +WGPUFeatureName_FramebufferFetch = 327700 +WGPUFeatureName_BufferMapExtendedUsages = 327701 +WGPUFeatureName_AdapterPropertiesMemoryHeaps = 327702 +WGPUFeatureName_AdapterPropertiesD3D = 327703 +WGPUFeatureName_AdapterPropertiesVk = 327704 +WGPUFeatureName_R8UnormStorage = 327705 +WGPUFeatureName_FormatCapabilities = 327706 +WGPUFeatureName_DrmFormatCapabilities = 327707 +WGPUFeatureName_Norm16TextureFormats = 327708 +WGPUFeatureName_MultiPlanarFormatNv16 = 327709 +WGPUFeatureName_MultiPlanarFormatNv24 = 327710 +WGPUFeatureName_MultiPlanarFormatP210 = 327711 +WGPUFeatureName_MultiPlanarFormatP410 = 327712 +WGPUFeatureName_SharedTextureMemoryVkDedicatedAllocation = 327713 +WGPUFeatureName_SharedTextureMemoryAHardwareBuffer = 327714 +WGPUFeatureName_SharedTextureMemoryDmaBuf = 327715 +WGPUFeatureName_SharedTextureMemoryOpaqueFD = 327716 +WGPUFeatureName_SharedTextureMemoryZirconHandle = 327717 +WGPUFeatureName_SharedTextureMemoryDXGISharedHandle = 327718 +WGPUFeatureName_SharedTextureMemoryD3D11Texture2D = 327719 +WGPUFeatureName_SharedTextureMemoryIOSurface = 327720 +WGPUFeatureName_SharedTextureMemoryEGLImage = 327721 +WGPUFeatureName_SharedFenceVkSemaphoreOpaqueFD = 327722 +WGPUFeatureName_SharedFenceSyncFD = 327723 +WGPUFeatureName_SharedFenceVkSemaphoreZirconHandle = 327724 +WGPUFeatureName_SharedFenceDXGISharedHandle = 327725 +WGPUFeatureName_SharedFenceMTLSharedEvent = 327726 +WGPUFeatureName_SharedBufferMemoryD3D12Resource = 327727 +WGPUFeatureName_StaticSamplers = 327728 +WGPUFeatureName_YCbCrVulkanSamplers = 327729 +WGPUFeatureName_ShaderModuleCompilationOptions = 327730 +WGPUFeatureName_DawnLoadResolveTexture = 327731 +WGPUFeatureName_DawnPartialLoadResolveTexture = 327732 +WGPUFeatureName_MultiDrawIndirect = 327733 +WGPUFeatureName_ClipDistances = 327734 +WGPUFeatureName_DawnTexelCopyBufferRowAlignment = 327735 +WGPUFeatureName_FlexibleTextureViews = 327736 +WGPUFeatureName_Force32 = 2147483647 +WGPUFeatureName = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUFilterMode' +WGPUFilterMode__enumvalues = { + 0: 'WGPUFilterMode_Undefined', + 1: 'WGPUFilterMode_Nearest', + 2: 'WGPUFilterMode_Linear', + 2147483647: 'WGPUFilterMode_Force32', +} +WGPUFilterMode_Undefined = 0 +WGPUFilterMode_Nearest = 1 +WGPUFilterMode_Linear = 2 +WGPUFilterMode_Force32 = 2147483647 +WGPUFilterMode = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUFrontFace' +WGPUFrontFace__enumvalues = { + 0: 'WGPUFrontFace_Undefined', + 1: 'WGPUFrontFace_CCW', + 2: 'WGPUFrontFace_CW', + 2147483647: 'WGPUFrontFace_Force32', +} +WGPUFrontFace_Undefined = 0 +WGPUFrontFace_CCW = 1 +WGPUFrontFace_CW = 2 +WGPUFrontFace_Force32 = 2147483647 +WGPUFrontFace = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUIndexFormat' +WGPUIndexFormat__enumvalues = { + 0: 'WGPUIndexFormat_Undefined', + 1: 'WGPUIndexFormat_Uint16', + 2: 'WGPUIndexFormat_Uint32', + 2147483647: 'WGPUIndexFormat_Force32', +} +WGPUIndexFormat_Undefined = 0 +WGPUIndexFormat_Uint16 = 1 +WGPUIndexFormat_Uint32 = 2 +WGPUIndexFormat_Force32 = 2147483647 +WGPUIndexFormat = ctypes.c_uint32 # enum + +# values for enumeration 'WGPULoadOp' +WGPULoadOp__enumvalues = { + 0: 'WGPULoadOp_Undefined', + 1: 'WGPULoadOp_Load', + 2: 'WGPULoadOp_Clear', + 327683: 'WGPULoadOp_ExpandResolveTexture', + 2147483647: 'WGPULoadOp_Force32', +} +WGPULoadOp_Undefined = 0 +WGPULoadOp_Load = 1 +WGPULoadOp_Clear = 2 +WGPULoadOp_ExpandResolveTexture = 327683 +WGPULoadOp_Force32 = 2147483647 +WGPULoadOp = ctypes.c_uint32 # enum + +# values for enumeration 'WGPULoggingType' +WGPULoggingType__enumvalues = { + 1: 'WGPULoggingType_Verbose', + 2: 'WGPULoggingType_Info', + 3: 'WGPULoggingType_Warning', + 4: 'WGPULoggingType_Error', + 2147483647: 'WGPULoggingType_Force32', +} +WGPULoggingType_Verbose = 1 +WGPULoggingType_Info = 2 +WGPULoggingType_Warning = 3 +WGPULoggingType_Error = 4 +WGPULoggingType_Force32 = 2147483647 +WGPULoggingType = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUMapAsyncStatus' +WGPUMapAsyncStatus__enumvalues = { + 1: 'WGPUMapAsyncStatus_Success', + 2: 'WGPUMapAsyncStatus_InstanceDropped', + 3: 'WGPUMapAsyncStatus_Error', + 4: 'WGPUMapAsyncStatus_Aborted', + 5: 'WGPUMapAsyncStatus_Unknown', + 2147483647: 'WGPUMapAsyncStatus_Force32', +} +WGPUMapAsyncStatus_Success = 1 +WGPUMapAsyncStatus_InstanceDropped = 2 +WGPUMapAsyncStatus_Error = 3 +WGPUMapAsyncStatus_Aborted = 4 +WGPUMapAsyncStatus_Unknown = 5 +WGPUMapAsyncStatus_Force32 = 2147483647 +WGPUMapAsyncStatus = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUMipmapFilterMode' +WGPUMipmapFilterMode__enumvalues = { + 0: 'WGPUMipmapFilterMode_Undefined', + 1: 'WGPUMipmapFilterMode_Nearest', + 2: 'WGPUMipmapFilterMode_Linear', + 2147483647: 'WGPUMipmapFilterMode_Force32', +} +WGPUMipmapFilterMode_Undefined = 0 +WGPUMipmapFilterMode_Nearest = 1 +WGPUMipmapFilterMode_Linear = 2 +WGPUMipmapFilterMode_Force32 = 2147483647 +WGPUMipmapFilterMode = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUOptionalBool' +WGPUOptionalBool__enumvalues = { + 0: 'WGPUOptionalBool_False', + 1: 'WGPUOptionalBool_True', + 2: 'WGPUOptionalBool_Undefined', + 2147483647: 'WGPUOptionalBool_Force32', +} +WGPUOptionalBool_False = 0 +WGPUOptionalBool_True = 1 +WGPUOptionalBool_Undefined = 2 +WGPUOptionalBool_Force32 = 2147483647 +WGPUOptionalBool = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUPopErrorScopeStatus' +WGPUPopErrorScopeStatus__enumvalues = { + 1: 'WGPUPopErrorScopeStatus_Success', + 2: 'WGPUPopErrorScopeStatus_InstanceDropped', + 2147483647: 'WGPUPopErrorScopeStatus_Force32', +} +WGPUPopErrorScopeStatus_Success = 1 +WGPUPopErrorScopeStatus_InstanceDropped = 2 +WGPUPopErrorScopeStatus_Force32 = 2147483647 +WGPUPopErrorScopeStatus = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUPowerPreference' +WGPUPowerPreference__enumvalues = { + 0: 'WGPUPowerPreference_Undefined', + 1: 'WGPUPowerPreference_LowPower', + 2: 'WGPUPowerPreference_HighPerformance', + 2147483647: 'WGPUPowerPreference_Force32', +} +WGPUPowerPreference_Undefined = 0 +WGPUPowerPreference_LowPower = 1 +WGPUPowerPreference_HighPerformance = 2 +WGPUPowerPreference_Force32 = 2147483647 +WGPUPowerPreference = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUPresentMode' +WGPUPresentMode__enumvalues = { + 1: 'WGPUPresentMode_Fifo', + 2: 'WGPUPresentMode_FifoRelaxed', + 3: 'WGPUPresentMode_Immediate', + 4: 'WGPUPresentMode_Mailbox', + 2147483647: 'WGPUPresentMode_Force32', +} +WGPUPresentMode_Fifo = 1 +WGPUPresentMode_FifoRelaxed = 2 +WGPUPresentMode_Immediate = 3 +WGPUPresentMode_Mailbox = 4 +WGPUPresentMode_Force32 = 2147483647 +WGPUPresentMode = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUPrimitiveTopology' +WGPUPrimitiveTopology__enumvalues = { + 0: 'WGPUPrimitiveTopology_Undefined', + 1: 'WGPUPrimitiveTopology_PointList', + 2: 'WGPUPrimitiveTopology_LineList', + 3: 'WGPUPrimitiveTopology_LineStrip', + 4: 'WGPUPrimitiveTopology_TriangleList', + 5: 'WGPUPrimitiveTopology_TriangleStrip', + 2147483647: 'WGPUPrimitiveTopology_Force32', +} +WGPUPrimitiveTopology_Undefined = 0 +WGPUPrimitiveTopology_PointList = 1 +WGPUPrimitiveTopology_LineList = 2 +WGPUPrimitiveTopology_LineStrip = 3 +WGPUPrimitiveTopology_TriangleList = 4 +WGPUPrimitiveTopology_TriangleStrip = 5 +WGPUPrimitiveTopology_Force32 = 2147483647 +WGPUPrimitiveTopology = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUQueryType' +WGPUQueryType__enumvalues = { + 1: 'WGPUQueryType_Occlusion', + 2: 'WGPUQueryType_Timestamp', + 2147483647: 'WGPUQueryType_Force32', +} +WGPUQueryType_Occlusion = 1 +WGPUQueryType_Timestamp = 2 +WGPUQueryType_Force32 = 2147483647 +WGPUQueryType = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUQueueWorkDoneStatus' +WGPUQueueWorkDoneStatus__enumvalues = { + 1: 'WGPUQueueWorkDoneStatus_Success', + 2: 'WGPUQueueWorkDoneStatus_InstanceDropped', + 3: 'WGPUQueueWorkDoneStatus_Error', + 4: 'WGPUQueueWorkDoneStatus_Unknown', + 5: 'WGPUQueueWorkDoneStatus_DeviceLost', + 2147483647: 'WGPUQueueWorkDoneStatus_Force32', +} +WGPUQueueWorkDoneStatus_Success = 1 +WGPUQueueWorkDoneStatus_InstanceDropped = 2 +WGPUQueueWorkDoneStatus_Error = 3 +WGPUQueueWorkDoneStatus_Unknown = 4 +WGPUQueueWorkDoneStatus_DeviceLost = 5 +WGPUQueueWorkDoneStatus_Force32 = 2147483647 +WGPUQueueWorkDoneStatus = ctypes.c_uint32 # enum + +# values for enumeration 'WGPURequestAdapterStatus' +WGPURequestAdapterStatus__enumvalues = { + 1: 'WGPURequestAdapterStatus_Success', + 2: 'WGPURequestAdapterStatus_InstanceDropped', + 3: 'WGPURequestAdapterStatus_Unavailable', + 4: 'WGPURequestAdapterStatus_Error', + 5: 'WGPURequestAdapterStatus_Unknown', + 2147483647: 'WGPURequestAdapterStatus_Force32', +} +WGPURequestAdapterStatus_Success = 1 +WGPURequestAdapterStatus_InstanceDropped = 2 +WGPURequestAdapterStatus_Unavailable = 3 +WGPURequestAdapterStatus_Error = 4 +WGPURequestAdapterStatus_Unknown = 5 +WGPURequestAdapterStatus_Force32 = 2147483647 +WGPURequestAdapterStatus = ctypes.c_uint32 # enum + +# values for enumeration 'WGPURequestDeviceStatus' +WGPURequestDeviceStatus__enumvalues = { + 1: 'WGPURequestDeviceStatus_Success', + 2: 'WGPURequestDeviceStatus_InstanceDropped', + 3: 'WGPURequestDeviceStatus_Error', + 4: 'WGPURequestDeviceStatus_Unknown', + 2147483647: 'WGPURequestDeviceStatus_Force32', +} +WGPURequestDeviceStatus_Success = 1 +WGPURequestDeviceStatus_InstanceDropped = 2 +WGPURequestDeviceStatus_Error = 3 +WGPURequestDeviceStatus_Unknown = 4 +WGPURequestDeviceStatus_Force32 = 2147483647 +WGPURequestDeviceStatus = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUSType' +WGPUSType__enumvalues = { + 1: 'WGPUSType_ShaderSourceSPIRV', + 2: 'WGPUSType_ShaderSourceWGSL', + 3: 'WGPUSType_RenderPassMaxDrawCount', + 4: 'WGPUSType_SurfaceSourceMetalLayer', + 5: 'WGPUSType_SurfaceSourceWindowsHWND', + 6: 'WGPUSType_SurfaceSourceXlibWindow', + 7: 'WGPUSType_SurfaceSourceWaylandSurface', + 8: 'WGPUSType_SurfaceSourceAndroidNativeWindow', + 9: 'WGPUSType_SurfaceSourceXCBWindow', + 10: 'WGPUSType_AdapterPropertiesSubgroups', + 131072: 'WGPUSType_TextureBindingViewDimensionDescriptor', + 262144: 'WGPUSType_SurfaceSourceCanvasHTMLSelector_Emscripten', + 327680: 'WGPUSType_SurfaceDescriptorFromWindowsCoreWindow', + 327681: 'WGPUSType_ExternalTextureBindingEntry', + 327682: 'WGPUSType_ExternalTextureBindingLayout', + 327683: 'WGPUSType_SurfaceDescriptorFromWindowsSwapChainPanel', + 327684: 'WGPUSType_DawnTextureInternalUsageDescriptor', + 327685: 'WGPUSType_DawnEncoderInternalUsageDescriptor', + 327686: 'WGPUSType_DawnInstanceDescriptor', + 327687: 'WGPUSType_DawnCacheDeviceDescriptor', + 327688: 'WGPUSType_DawnAdapterPropertiesPowerPreference', + 327689: 'WGPUSType_DawnBufferDescriptorErrorInfoFromWireClient', + 327690: 'WGPUSType_DawnTogglesDescriptor', + 327691: 'WGPUSType_DawnShaderModuleSPIRVOptionsDescriptor', + 327692: 'WGPUSType_RequestAdapterOptionsLUID', + 327693: 'WGPUSType_RequestAdapterOptionsGetGLProc', + 327694: 'WGPUSType_RequestAdapterOptionsD3D11Device', + 327695: 'WGPUSType_DawnRenderPassColorAttachmentRenderToSingleSampled', + 327696: 'WGPUSType_RenderPassPixelLocalStorage', + 327697: 'WGPUSType_PipelineLayoutPixelLocalStorage', + 327698: 'WGPUSType_BufferHostMappedPointer', + 327699: 'WGPUSType_DawnExperimentalSubgroupLimits', + 327700: 'WGPUSType_AdapterPropertiesMemoryHeaps', + 327701: 'WGPUSType_AdapterPropertiesD3D', + 327702: 'WGPUSType_AdapterPropertiesVk', + 327703: 'WGPUSType_DawnWireWGSLControl', + 327704: 'WGPUSType_DawnWGSLBlocklist', + 327705: 'WGPUSType_DrmFormatCapabilities', + 327706: 'WGPUSType_ShaderModuleCompilationOptions', + 327707: 'WGPUSType_ColorTargetStateExpandResolveTextureDawn', + 327708: 'WGPUSType_RenderPassDescriptorExpandResolveRect', + 327709: 'WGPUSType_SharedTextureMemoryVkDedicatedAllocationDescriptor', + 327710: 'WGPUSType_SharedTextureMemoryAHardwareBufferDescriptor', + 327711: 'WGPUSType_SharedTextureMemoryDmaBufDescriptor', + 327712: 'WGPUSType_SharedTextureMemoryOpaqueFDDescriptor', + 327713: 'WGPUSType_SharedTextureMemoryZirconHandleDescriptor', + 327714: 'WGPUSType_SharedTextureMemoryDXGISharedHandleDescriptor', + 327715: 'WGPUSType_SharedTextureMemoryD3D11Texture2DDescriptor', + 327716: 'WGPUSType_SharedTextureMemoryIOSurfaceDescriptor', + 327717: 'WGPUSType_SharedTextureMemoryEGLImageDescriptor', + 327718: 'WGPUSType_SharedTextureMemoryInitializedBeginState', + 327719: 'WGPUSType_SharedTextureMemoryInitializedEndState', + 327720: 'WGPUSType_SharedTextureMemoryVkImageLayoutBeginState', + 327721: 'WGPUSType_SharedTextureMemoryVkImageLayoutEndState', + 327722: 'WGPUSType_SharedTextureMemoryD3DSwapchainBeginState', + 327723: 'WGPUSType_SharedFenceVkSemaphoreOpaqueFDDescriptor', + 327724: 'WGPUSType_SharedFenceVkSemaphoreOpaqueFDExportInfo', + 327725: 'WGPUSType_SharedFenceSyncFDDescriptor', + 327726: 'WGPUSType_SharedFenceSyncFDExportInfo', + 327727: 'WGPUSType_SharedFenceVkSemaphoreZirconHandleDescriptor', + 327728: 'WGPUSType_SharedFenceVkSemaphoreZirconHandleExportInfo', + 327729: 'WGPUSType_SharedFenceDXGISharedHandleDescriptor', + 327730: 'WGPUSType_SharedFenceDXGISharedHandleExportInfo', + 327731: 'WGPUSType_SharedFenceMTLSharedEventDescriptor', + 327732: 'WGPUSType_SharedFenceMTLSharedEventExportInfo', + 327733: 'WGPUSType_SharedBufferMemoryD3D12ResourceDescriptor', + 327734: 'WGPUSType_StaticSamplerBindingLayout', + 327735: 'WGPUSType_YCbCrVkDescriptor', + 327736: 'WGPUSType_SharedTextureMemoryAHardwareBufferProperties', + 327737: 'WGPUSType_AHardwareBufferProperties', + 327738: 'WGPUSType_DawnExperimentalImmediateDataLimits', + 327739: 'WGPUSType_DawnTexelCopyBufferRowAlignmentLimits', + 2147483647: 'WGPUSType_Force32', +} +WGPUSType_ShaderSourceSPIRV = 1 +WGPUSType_ShaderSourceWGSL = 2 +WGPUSType_RenderPassMaxDrawCount = 3 +WGPUSType_SurfaceSourceMetalLayer = 4 +WGPUSType_SurfaceSourceWindowsHWND = 5 +WGPUSType_SurfaceSourceXlibWindow = 6 +WGPUSType_SurfaceSourceWaylandSurface = 7 +WGPUSType_SurfaceSourceAndroidNativeWindow = 8 +WGPUSType_SurfaceSourceXCBWindow = 9 +WGPUSType_AdapterPropertiesSubgroups = 10 +WGPUSType_TextureBindingViewDimensionDescriptor = 131072 +WGPUSType_SurfaceSourceCanvasHTMLSelector_Emscripten = 262144 +WGPUSType_SurfaceDescriptorFromWindowsCoreWindow = 327680 +WGPUSType_ExternalTextureBindingEntry = 327681 +WGPUSType_ExternalTextureBindingLayout = 327682 +WGPUSType_SurfaceDescriptorFromWindowsSwapChainPanel = 327683 +WGPUSType_DawnTextureInternalUsageDescriptor = 327684 +WGPUSType_DawnEncoderInternalUsageDescriptor = 327685 +WGPUSType_DawnInstanceDescriptor = 327686 +WGPUSType_DawnCacheDeviceDescriptor = 327687 +WGPUSType_DawnAdapterPropertiesPowerPreference = 327688 +WGPUSType_DawnBufferDescriptorErrorInfoFromWireClient = 327689 +WGPUSType_DawnTogglesDescriptor = 327690 +WGPUSType_DawnShaderModuleSPIRVOptionsDescriptor = 327691 +WGPUSType_RequestAdapterOptionsLUID = 327692 +WGPUSType_RequestAdapterOptionsGetGLProc = 327693 +WGPUSType_RequestAdapterOptionsD3D11Device = 327694 +WGPUSType_DawnRenderPassColorAttachmentRenderToSingleSampled = 327695 +WGPUSType_RenderPassPixelLocalStorage = 327696 +WGPUSType_PipelineLayoutPixelLocalStorage = 327697 +WGPUSType_BufferHostMappedPointer = 327698 +WGPUSType_DawnExperimentalSubgroupLimits = 327699 +WGPUSType_AdapterPropertiesMemoryHeaps = 327700 +WGPUSType_AdapterPropertiesD3D = 327701 +WGPUSType_AdapterPropertiesVk = 327702 +WGPUSType_DawnWireWGSLControl = 327703 +WGPUSType_DawnWGSLBlocklist = 327704 +WGPUSType_DrmFormatCapabilities = 327705 +WGPUSType_ShaderModuleCompilationOptions = 327706 +WGPUSType_ColorTargetStateExpandResolveTextureDawn = 327707 +WGPUSType_RenderPassDescriptorExpandResolveRect = 327708 +WGPUSType_SharedTextureMemoryVkDedicatedAllocationDescriptor = 327709 +WGPUSType_SharedTextureMemoryAHardwareBufferDescriptor = 327710 +WGPUSType_SharedTextureMemoryDmaBufDescriptor = 327711 +WGPUSType_SharedTextureMemoryOpaqueFDDescriptor = 327712 +WGPUSType_SharedTextureMemoryZirconHandleDescriptor = 327713 +WGPUSType_SharedTextureMemoryDXGISharedHandleDescriptor = 327714 +WGPUSType_SharedTextureMemoryD3D11Texture2DDescriptor = 327715 +WGPUSType_SharedTextureMemoryIOSurfaceDescriptor = 327716 +WGPUSType_SharedTextureMemoryEGLImageDescriptor = 327717 +WGPUSType_SharedTextureMemoryInitializedBeginState = 327718 +WGPUSType_SharedTextureMemoryInitializedEndState = 327719 +WGPUSType_SharedTextureMemoryVkImageLayoutBeginState = 327720 +WGPUSType_SharedTextureMemoryVkImageLayoutEndState = 327721 +WGPUSType_SharedTextureMemoryD3DSwapchainBeginState = 327722 +WGPUSType_SharedFenceVkSemaphoreOpaqueFDDescriptor = 327723 +WGPUSType_SharedFenceVkSemaphoreOpaqueFDExportInfo = 327724 +WGPUSType_SharedFenceSyncFDDescriptor = 327725 +WGPUSType_SharedFenceSyncFDExportInfo = 327726 +WGPUSType_SharedFenceVkSemaphoreZirconHandleDescriptor = 327727 +WGPUSType_SharedFenceVkSemaphoreZirconHandleExportInfo = 327728 +WGPUSType_SharedFenceDXGISharedHandleDescriptor = 327729 +WGPUSType_SharedFenceDXGISharedHandleExportInfo = 327730 +WGPUSType_SharedFenceMTLSharedEventDescriptor = 327731 +WGPUSType_SharedFenceMTLSharedEventExportInfo = 327732 +WGPUSType_SharedBufferMemoryD3D12ResourceDescriptor = 327733 +WGPUSType_StaticSamplerBindingLayout = 327734 +WGPUSType_YCbCrVkDescriptor = 327735 +WGPUSType_SharedTextureMemoryAHardwareBufferProperties = 327736 +WGPUSType_AHardwareBufferProperties = 327737 +WGPUSType_DawnExperimentalImmediateDataLimits = 327738 +WGPUSType_DawnTexelCopyBufferRowAlignmentLimits = 327739 +WGPUSType_Force32 = 2147483647 +WGPUSType = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUSamplerBindingType' +WGPUSamplerBindingType__enumvalues = { + 0: 'WGPUSamplerBindingType_BindingNotUsed', + 1: 'WGPUSamplerBindingType_Filtering', + 2: 'WGPUSamplerBindingType_NonFiltering', + 3: 'WGPUSamplerBindingType_Comparison', + 2147483647: 'WGPUSamplerBindingType_Force32', +} +WGPUSamplerBindingType_BindingNotUsed = 0 +WGPUSamplerBindingType_Filtering = 1 +WGPUSamplerBindingType_NonFiltering = 2 +WGPUSamplerBindingType_Comparison = 3 +WGPUSamplerBindingType_Force32 = 2147483647 +WGPUSamplerBindingType = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUSharedFenceType' +WGPUSharedFenceType__enumvalues = { + 1: 'WGPUSharedFenceType_VkSemaphoreOpaqueFD', + 2: 'WGPUSharedFenceType_SyncFD', + 3: 'WGPUSharedFenceType_VkSemaphoreZirconHandle', + 4: 'WGPUSharedFenceType_DXGISharedHandle', + 5: 'WGPUSharedFenceType_MTLSharedEvent', + 2147483647: 'WGPUSharedFenceType_Force32', +} +WGPUSharedFenceType_VkSemaphoreOpaqueFD = 1 +WGPUSharedFenceType_SyncFD = 2 +WGPUSharedFenceType_VkSemaphoreZirconHandle = 3 +WGPUSharedFenceType_DXGISharedHandle = 4 +WGPUSharedFenceType_MTLSharedEvent = 5 +WGPUSharedFenceType_Force32 = 2147483647 +WGPUSharedFenceType = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUStatus' +WGPUStatus__enumvalues = { + 1: 'WGPUStatus_Success', + 2: 'WGPUStatus_Error', + 2147483647: 'WGPUStatus_Force32', +} +WGPUStatus_Success = 1 +WGPUStatus_Error = 2 +WGPUStatus_Force32 = 2147483647 +WGPUStatus = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUStencilOperation' +WGPUStencilOperation__enumvalues = { + 0: 'WGPUStencilOperation_Undefined', + 1: 'WGPUStencilOperation_Keep', + 2: 'WGPUStencilOperation_Zero', + 3: 'WGPUStencilOperation_Replace', + 4: 'WGPUStencilOperation_Invert', + 5: 'WGPUStencilOperation_IncrementClamp', + 6: 'WGPUStencilOperation_DecrementClamp', + 7: 'WGPUStencilOperation_IncrementWrap', + 8: 'WGPUStencilOperation_DecrementWrap', + 2147483647: 'WGPUStencilOperation_Force32', +} +WGPUStencilOperation_Undefined = 0 +WGPUStencilOperation_Keep = 1 +WGPUStencilOperation_Zero = 2 +WGPUStencilOperation_Replace = 3 +WGPUStencilOperation_Invert = 4 +WGPUStencilOperation_IncrementClamp = 5 +WGPUStencilOperation_DecrementClamp = 6 +WGPUStencilOperation_IncrementWrap = 7 +WGPUStencilOperation_DecrementWrap = 8 +WGPUStencilOperation_Force32 = 2147483647 +WGPUStencilOperation = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUStorageTextureAccess' +WGPUStorageTextureAccess__enumvalues = { + 0: 'WGPUStorageTextureAccess_BindingNotUsed', + 1: 'WGPUStorageTextureAccess_WriteOnly', + 2: 'WGPUStorageTextureAccess_ReadOnly', + 3: 'WGPUStorageTextureAccess_ReadWrite', + 2147483647: 'WGPUStorageTextureAccess_Force32', +} +WGPUStorageTextureAccess_BindingNotUsed = 0 +WGPUStorageTextureAccess_WriteOnly = 1 +WGPUStorageTextureAccess_ReadOnly = 2 +WGPUStorageTextureAccess_ReadWrite = 3 +WGPUStorageTextureAccess_Force32 = 2147483647 +WGPUStorageTextureAccess = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUStoreOp' +WGPUStoreOp__enumvalues = { + 0: 'WGPUStoreOp_Undefined', + 1: 'WGPUStoreOp_Store', + 2: 'WGPUStoreOp_Discard', + 2147483647: 'WGPUStoreOp_Force32', +} +WGPUStoreOp_Undefined = 0 +WGPUStoreOp_Store = 1 +WGPUStoreOp_Discard = 2 +WGPUStoreOp_Force32 = 2147483647 +WGPUStoreOp = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUSurfaceGetCurrentTextureStatus' +WGPUSurfaceGetCurrentTextureStatus__enumvalues = { + 1: 'WGPUSurfaceGetCurrentTextureStatus_Success', + 2: 'WGPUSurfaceGetCurrentTextureStatus_Timeout', + 3: 'WGPUSurfaceGetCurrentTextureStatus_Outdated', + 4: 'WGPUSurfaceGetCurrentTextureStatus_Lost', + 5: 'WGPUSurfaceGetCurrentTextureStatus_OutOfMemory', + 6: 'WGPUSurfaceGetCurrentTextureStatus_DeviceLost', + 7: 'WGPUSurfaceGetCurrentTextureStatus_Error', + 2147483647: 'WGPUSurfaceGetCurrentTextureStatus_Force32', +} +WGPUSurfaceGetCurrentTextureStatus_Success = 1 +WGPUSurfaceGetCurrentTextureStatus_Timeout = 2 +WGPUSurfaceGetCurrentTextureStatus_Outdated = 3 +WGPUSurfaceGetCurrentTextureStatus_Lost = 4 +WGPUSurfaceGetCurrentTextureStatus_OutOfMemory = 5 +WGPUSurfaceGetCurrentTextureStatus_DeviceLost = 6 +WGPUSurfaceGetCurrentTextureStatus_Error = 7 +WGPUSurfaceGetCurrentTextureStatus_Force32 = 2147483647 +WGPUSurfaceGetCurrentTextureStatus = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUTextureAspect' +WGPUTextureAspect__enumvalues = { + 0: 'WGPUTextureAspect_Undefined', + 1: 'WGPUTextureAspect_All', + 2: 'WGPUTextureAspect_StencilOnly', + 3: 'WGPUTextureAspect_DepthOnly', + 327680: 'WGPUTextureAspect_Plane0Only', + 327681: 'WGPUTextureAspect_Plane1Only', + 327682: 'WGPUTextureAspect_Plane2Only', + 2147483647: 'WGPUTextureAspect_Force32', +} +WGPUTextureAspect_Undefined = 0 +WGPUTextureAspect_All = 1 +WGPUTextureAspect_StencilOnly = 2 +WGPUTextureAspect_DepthOnly = 3 +WGPUTextureAspect_Plane0Only = 327680 +WGPUTextureAspect_Plane1Only = 327681 +WGPUTextureAspect_Plane2Only = 327682 +WGPUTextureAspect_Force32 = 2147483647 +WGPUTextureAspect = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUTextureDimension' +WGPUTextureDimension__enumvalues = { + 0: 'WGPUTextureDimension_Undefined', + 1: 'WGPUTextureDimension_1D', + 2: 'WGPUTextureDimension_2D', + 3: 'WGPUTextureDimension_3D', + 2147483647: 'WGPUTextureDimension_Force32', +} +WGPUTextureDimension_Undefined = 0 +WGPUTextureDimension_1D = 1 +WGPUTextureDimension_2D = 2 +WGPUTextureDimension_3D = 3 +WGPUTextureDimension_Force32 = 2147483647 +WGPUTextureDimension = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUTextureFormat' +WGPUTextureFormat__enumvalues = { + 0: 'WGPUTextureFormat_Undefined', + 1: 'WGPUTextureFormat_R8Unorm', + 2: 'WGPUTextureFormat_R8Snorm', + 3: 'WGPUTextureFormat_R8Uint', + 4: 'WGPUTextureFormat_R8Sint', + 5: 'WGPUTextureFormat_R16Uint', + 6: 'WGPUTextureFormat_R16Sint', + 7: 'WGPUTextureFormat_R16Float', + 8: 'WGPUTextureFormat_RG8Unorm', + 9: 'WGPUTextureFormat_RG8Snorm', + 10: 'WGPUTextureFormat_RG8Uint', + 11: 'WGPUTextureFormat_RG8Sint', + 12: 'WGPUTextureFormat_R32Float', + 13: 'WGPUTextureFormat_R32Uint', + 14: 'WGPUTextureFormat_R32Sint', + 15: 'WGPUTextureFormat_RG16Uint', + 16: 'WGPUTextureFormat_RG16Sint', + 17: 'WGPUTextureFormat_RG16Float', + 18: 'WGPUTextureFormat_RGBA8Unorm', + 19: 'WGPUTextureFormat_RGBA8UnormSrgb', + 20: 'WGPUTextureFormat_RGBA8Snorm', + 21: 'WGPUTextureFormat_RGBA8Uint', + 22: 'WGPUTextureFormat_RGBA8Sint', + 23: 'WGPUTextureFormat_BGRA8Unorm', + 24: 'WGPUTextureFormat_BGRA8UnormSrgb', + 25: 'WGPUTextureFormat_RGB10A2Uint', + 26: 'WGPUTextureFormat_RGB10A2Unorm', + 27: 'WGPUTextureFormat_RG11B10Ufloat', + 28: 'WGPUTextureFormat_RGB9E5Ufloat', + 29: 'WGPUTextureFormat_RG32Float', + 30: 'WGPUTextureFormat_RG32Uint', + 31: 'WGPUTextureFormat_RG32Sint', + 32: 'WGPUTextureFormat_RGBA16Uint', + 33: 'WGPUTextureFormat_RGBA16Sint', + 34: 'WGPUTextureFormat_RGBA16Float', + 35: 'WGPUTextureFormat_RGBA32Float', + 36: 'WGPUTextureFormat_RGBA32Uint', + 37: 'WGPUTextureFormat_RGBA32Sint', + 38: 'WGPUTextureFormat_Stencil8', + 39: 'WGPUTextureFormat_Depth16Unorm', + 40: 'WGPUTextureFormat_Depth24Plus', + 41: 'WGPUTextureFormat_Depth24PlusStencil8', + 42: 'WGPUTextureFormat_Depth32Float', + 43: 'WGPUTextureFormat_Depth32FloatStencil8', + 44: 'WGPUTextureFormat_BC1RGBAUnorm', + 45: 'WGPUTextureFormat_BC1RGBAUnormSrgb', + 46: 'WGPUTextureFormat_BC2RGBAUnorm', + 47: 'WGPUTextureFormat_BC2RGBAUnormSrgb', + 48: 'WGPUTextureFormat_BC3RGBAUnorm', + 49: 'WGPUTextureFormat_BC3RGBAUnormSrgb', + 50: 'WGPUTextureFormat_BC4RUnorm', + 51: 'WGPUTextureFormat_BC4RSnorm', + 52: 'WGPUTextureFormat_BC5RGUnorm', + 53: 'WGPUTextureFormat_BC5RGSnorm', + 54: 'WGPUTextureFormat_BC6HRGBUfloat', + 55: 'WGPUTextureFormat_BC6HRGBFloat', + 56: 'WGPUTextureFormat_BC7RGBAUnorm', + 57: 'WGPUTextureFormat_BC7RGBAUnormSrgb', + 58: 'WGPUTextureFormat_ETC2RGB8Unorm', + 59: 'WGPUTextureFormat_ETC2RGB8UnormSrgb', + 60: 'WGPUTextureFormat_ETC2RGB8A1Unorm', + 61: 'WGPUTextureFormat_ETC2RGB8A1UnormSrgb', + 62: 'WGPUTextureFormat_ETC2RGBA8Unorm', + 63: 'WGPUTextureFormat_ETC2RGBA8UnormSrgb', + 64: 'WGPUTextureFormat_EACR11Unorm', + 65: 'WGPUTextureFormat_EACR11Snorm', + 66: 'WGPUTextureFormat_EACRG11Unorm', + 67: 'WGPUTextureFormat_EACRG11Snorm', + 68: 'WGPUTextureFormat_ASTC4x4Unorm', + 69: 'WGPUTextureFormat_ASTC4x4UnormSrgb', + 70: 'WGPUTextureFormat_ASTC5x4Unorm', + 71: 'WGPUTextureFormat_ASTC5x4UnormSrgb', + 72: 'WGPUTextureFormat_ASTC5x5Unorm', + 73: 'WGPUTextureFormat_ASTC5x5UnormSrgb', + 74: 'WGPUTextureFormat_ASTC6x5Unorm', + 75: 'WGPUTextureFormat_ASTC6x5UnormSrgb', + 76: 'WGPUTextureFormat_ASTC6x6Unorm', + 77: 'WGPUTextureFormat_ASTC6x6UnormSrgb', + 78: 'WGPUTextureFormat_ASTC8x5Unorm', + 79: 'WGPUTextureFormat_ASTC8x5UnormSrgb', + 80: 'WGPUTextureFormat_ASTC8x6Unorm', + 81: 'WGPUTextureFormat_ASTC8x6UnormSrgb', + 82: 'WGPUTextureFormat_ASTC8x8Unorm', + 83: 'WGPUTextureFormat_ASTC8x8UnormSrgb', + 84: 'WGPUTextureFormat_ASTC10x5Unorm', + 85: 'WGPUTextureFormat_ASTC10x5UnormSrgb', + 86: 'WGPUTextureFormat_ASTC10x6Unorm', + 87: 'WGPUTextureFormat_ASTC10x6UnormSrgb', + 88: 'WGPUTextureFormat_ASTC10x8Unorm', + 89: 'WGPUTextureFormat_ASTC10x8UnormSrgb', + 90: 'WGPUTextureFormat_ASTC10x10Unorm', + 91: 'WGPUTextureFormat_ASTC10x10UnormSrgb', + 92: 'WGPUTextureFormat_ASTC12x10Unorm', + 93: 'WGPUTextureFormat_ASTC12x10UnormSrgb', + 94: 'WGPUTextureFormat_ASTC12x12Unorm', + 95: 'WGPUTextureFormat_ASTC12x12UnormSrgb', + 327680: 'WGPUTextureFormat_R16Unorm', + 327681: 'WGPUTextureFormat_RG16Unorm', + 327682: 'WGPUTextureFormat_RGBA16Unorm', + 327683: 'WGPUTextureFormat_R16Snorm', + 327684: 'WGPUTextureFormat_RG16Snorm', + 327685: 'WGPUTextureFormat_RGBA16Snorm', + 327686: 'WGPUTextureFormat_R8BG8Biplanar420Unorm', + 327687: 'WGPUTextureFormat_R10X6BG10X6Biplanar420Unorm', + 327688: 'WGPUTextureFormat_R8BG8A8Triplanar420Unorm', + 327689: 'WGPUTextureFormat_R8BG8Biplanar422Unorm', + 327690: 'WGPUTextureFormat_R8BG8Biplanar444Unorm', + 327691: 'WGPUTextureFormat_R10X6BG10X6Biplanar422Unorm', + 327692: 'WGPUTextureFormat_R10X6BG10X6Biplanar444Unorm', + 327693: 'WGPUTextureFormat_External', + 2147483647: 'WGPUTextureFormat_Force32', +} +WGPUTextureFormat_Undefined = 0 +WGPUTextureFormat_R8Unorm = 1 +WGPUTextureFormat_R8Snorm = 2 +WGPUTextureFormat_R8Uint = 3 +WGPUTextureFormat_R8Sint = 4 +WGPUTextureFormat_R16Uint = 5 +WGPUTextureFormat_R16Sint = 6 +WGPUTextureFormat_R16Float = 7 +WGPUTextureFormat_RG8Unorm = 8 +WGPUTextureFormat_RG8Snorm = 9 +WGPUTextureFormat_RG8Uint = 10 +WGPUTextureFormat_RG8Sint = 11 +WGPUTextureFormat_R32Float = 12 +WGPUTextureFormat_R32Uint = 13 +WGPUTextureFormat_R32Sint = 14 +WGPUTextureFormat_RG16Uint = 15 +WGPUTextureFormat_RG16Sint = 16 +WGPUTextureFormat_RG16Float = 17 +WGPUTextureFormat_RGBA8Unorm = 18 +WGPUTextureFormat_RGBA8UnormSrgb = 19 +WGPUTextureFormat_RGBA8Snorm = 20 +WGPUTextureFormat_RGBA8Uint = 21 +WGPUTextureFormat_RGBA8Sint = 22 +WGPUTextureFormat_BGRA8Unorm = 23 +WGPUTextureFormat_BGRA8UnormSrgb = 24 +WGPUTextureFormat_RGB10A2Uint = 25 +WGPUTextureFormat_RGB10A2Unorm = 26 +WGPUTextureFormat_RG11B10Ufloat = 27 +WGPUTextureFormat_RGB9E5Ufloat = 28 +WGPUTextureFormat_RG32Float = 29 +WGPUTextureFormat_RG32Uint = 30 +WGPUTextureFormat_RG32Sint = 31 +WGPUTextureFormat_RGBA16Uint = 32 +WGPUTextureFormat_RGBA16Sint = 33 +WGPUTextureFormat_RGBA16Float = 34 +WGPUTextureFormat_RGBA32Float = 35 +WGPUTextureFormat_RGBA32Uint = 36 +WGPUTextureFormat_RGBA32Sint = 37 +WGPUTextureFormat_Stencil8 = 38 +WGPUTextureFormat_Depth16Unorm = 39 +WGPUTextureFormat_Depth24Plus = 40 +WGPUTextureFormat_Depth24PlusStencil8 = 41 +WGPUTextureFormat_Depth32Float = 42 +WGPUTextureFormat_Depth32FloatStencil8 = 43 +WGPUTextureFormat_BC1RGBAUnorm = 44 +WGPUTextureFormat_BC1RGBAUnormSrgb = 45 +WGPUTextureFormat_BC2RGBAUnorm = 46 +WGPUTextureFormat_BC2RGBAUnormSrgb = 47 +WGPUTextureFormat_BC3RGBAUnorm = 48 +WGPUTextureFormat_BC3RGBAUnormSrgb = 49 +WGPUTextureFormat_BC4RUnorm = 50 +WGPUTextureFormat_BC4RSnorm = 51 +WGPUTextureFormat_BC5RGUnorm = 52 +WGPUTextureFormat_BC5RGSnorm = 53 +WGPUTextureFormat_BC6HRGBUfloat = 54 +WGPUTextureFormat_BC6HRGBFloat = 55 +WGPUTextureFormat_BC7RGBAUnorm = 56 +WGPUTextureFormat_BC7RGBAUnormSrgb = 57 +WGPUTextureFormat_ETC2RGB8Unorm = 58 +WGPUTextureFormat_ETC2RGB8UnormSrgb = 59 +WGPUTextureFormat_ETC2RGB8A1Unorm = 60 +WGPUTextureFormat_ETC2RGB8A1UnormSrgb = 61 +WGPUTextureFormat_ETC2RGBA8Unorm = 62 +WGPUTextureFormat_ETC2RGBA8UnormSrgb = 63 +WGPUTextureFormat_EACR11Unorm = 64 +WGPUTextureFormat_EACR11Snorm = 65 +WGPUTextureFormat_EACRG11Unorm = 66 +WGPUTextureFormat_EACRG11Snorm = 67 +WGPUTextureFormat_ASTC4x4Unorm = 68 +WGPUTextureFormat_ASTC4x4UnormSrgb = 69 +WGPUTextureFormat_ASTC5x4Unorm = 70 +WGPUTextureFormat_ASTC5x4UnormSrgb = 71 +WGPUTextureFormat_ASTC5x5Unorm = 72 +WGPUTextureFormat_ASTC5x5UnormSrgb = 73 +WGPUTextureFormat_ASTC6x5Unorm = 74 +WGPUTextureFormat_ASTC6x5UnormSrgb = 75 +WGPUTextureFormat_ASTC6x6Unorm = 76 +WGPUTextureFormat_ASTC6x6UnormSrgb = 77 +WGPUTextureFormat_ASTC8x5Unorm = 78 +WGPUTextureFormat_ASTC8x5UnormSrgb = 79 +WGPUTextureFormat_ASTC8x6Unorm = 80 +WGPUTextureFormat_ASTC8x6UnormSrgb = 81 +WGPUTextureFormat_ASTC8x8Unorm = 82 +WGPUTextureFormat_ASTC8x8UnormSrgb = 83 +WGPUTextureFormat_ASTC10x5Unorm = 84 +WGPUTextureFormat_ASTC10x5UnormSrgb = 85 +WGPUTextureFormat_ASTC10x6Unorm = 86 +WGPUTextureFormat_ASTC10x6UnormSrgb = 87 +WGPUTextureFormat_ASTC10x8Unorm = 88 +WGPUTextureFormat_ASTC10x8UnormSrgb = 89 +WGPUTextureFormat_ASTC10x10Unorm = 90 +WGPUTextureFormat_ASTC10x10UnormSrgb = 91 +WGPUTextureFormat_ASTC12x10Unorm = 92 +WGPUTextureFormat_ASTC12x10UnormSrgb = 93 +WGPUTextureFormat_ASTC12x12Unorm = 94 +WGPUTextureFormat_ASTC12x12UnormSrgb = 95 +WGPUTextureFormat_R16Unorm = 327680 +WGPUTextureFormat_RG16Unorm = 327681 +WGPUTextureFormat_RGBA16Unorm = 327682 +WGPUTextureFormat_R16Snorm = 327683 +WGPUTextureFormat_RG16Snorm = 327684 +WGPUTextureFormat_RGBA16Snorm = 327685 +WGPUTextureFormat_R8BG8Biplanar420Unorm = 327686 +WGPUTextureFormat_R10X6BG10X6Biplanar420Unorm = 327687 +WGPUTextureFormat_R8BG8A8Triplanar420Unorm = 327688 +WGPUTextureFormat_R8BG8Biplanar422Unorm = 327689 +WGPUTextureFormat_R8BG8Biplanar444Unorm = 327690 +WGPUTextureFormat_R10X6BG10X6Biplanar422Unorm = 327691 +WGPUTextureFormat_R10X6BG10X6Biplanar444Unorm = 327692 +WGPUTextureFormat_External = 327693 +WGPUTextureFormat_Force32 = 2147483647 +WGPUTextureFormat = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUTextureSampleType' +WGPUTextureSampleType__enumvalues = { + 0: 'WGPUTextureSampleType_BindingNotUsed', + 1: 'WGPUTextureSampleType_Float', + 2: 'WGPUTextureSampleType_UnfilterableFloat', + 3: 'WGPUTextureSampleType_Depth', + 4: 'WGPUTextureSampleType_Sint', + 5: 'WGPUTextureSampleType_Uint', + 2147483647: 'WGPUTextureSampleType_Force32', +} +WGPUTextureSampleType_BindingNotUsed = 0 +WGPUTextureSampleType_Float = 1 +WGPUTextureSampleType_UnfilterableFloat = 2 +WGPUTextureSampleType_Depth = 3 +WGPUTextureSampleType_Sint = 4 +WGPUTextureSampleType_Uint = 5 +WGPUTextureSampleType_Force32 = 2147483647 +WGPUTextureSampleType = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUTextureViewDimension' +WGPUTextureViewDimension__enumvalues = { + 0: 'WGPUTextureViewDimension_Undefined', + 1: 'WGPUTextureViewDimension_1D', + 2: 'WGPUTextureViewDimension_2D', + 3: 'WGPUTextureViewDimension_2DArray', + 4: 'WGPUTextureViewDimension_Cube', + 5: 'WGPUTextureViewDimension_CubeArray', + 6: 'WGPUTextureViewDimension_3D', + 2147483647: 'WGPUTextureViewDimension_Force32', +} +WGPUTextureViewDimension_Undefined = 0 +WGPUTextureViewDimension_1D = 1 +WGPUTextureViewDimension_2D = 2 +WGPUTextureViewDimension_2DArray = 3 +WGPUTextureViewDimension_Cube = 4 +WGPUTextureViewDimension_CubeArray = 5 +WGPUTextureViewDimension_3D = 6 +WGPUTextureViewDimension_Force32 = 2147483647 +WGPUTextureViewDimension = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUVertexFormat' +WGPUVertexFormat__enumvalues = { + 1: 'WGPUVertexFormat_Uint8', + 2: 'WGPUVertexFormat_Uint8x2', + 3: 'WGPUVertexFormat_Uint8x4', + 4: 'WGPUVertexFormat_Sint8', + 5: 'WGPUVertexFormat_Sint8x2', + 6: 'WGPUVertexFormat_Sint8x4', + 7: 'WGPUVertexFormat_Unorm8', + 8: 'WGPUVertexFormat_Unorm8x2', + 9: 'WGPUVertexFormat_Unorm8x4', + 10: 'WGPUVertexFormat_Snorm8', + 11: 'WGPUVertexFormat_Snorm8x2', + 12: 'WGPUVertexFormat_Snorm8x4', + 13: 'WGPUVertexFormat_Uint16', + 14: 'WGPUVertexFormat_Uint16x2', + 15: 'WGPUVertexFormat_Uint16x4', + 16: 'WGPUVertexFormat_Sint16', + 17: 'WGPUVertexFormat_Sint16x2', + 18: 'WGPUVertexFormat_Sint16x4', + 19: 'WGPUVertexFormat_Unorm16', + 20: 'WGPUVertexFormat_Unorm16x2', + 21: 'WGPUVertexFormat_Unorm16x4', + 22: 'WGPUVertexFormat_Snorm16', + 23: 'WGPUVertexFormat_Snorm16x2', + 24: 'WGPUVertexFormat_Snorm16x4', + 25: 'WGPUVertexFormat_Float16', + 26: 'WGPUVertexFormat_Float16x2', + 27: 'WGPUVertexFormat_Float16x4', + 28: 'WGPUVertexFormat_Float32', + 29: 'WGPUVertexFormat_Float32x2', + 30: 'WGPUVertexFormat_Float32x3', + 31: 'WGPUVertexFormat_Float32x4', + 32: 'WGPUVertexFormat_Uint32', + 33: 'WGPUVertexFormat_Uint32x2', + 34: 'WGPUVertexFormat_Uint32x3', + 35: 'WGPUVertexFormat_Uint32x4', + 36: 'WGPUVertexFormat_Sint32', + 37: 'WGPUVertexFormat_Sint32x2', + 38: 'WGPUVertexFormat_Sint32x3', + 39: 'WGPUVertexFormat_Sint32x4', + 40: 'WGPUVertexFormat_Unorm10_10_10_2', + 41: 'WGPUVertexFormat_Unorm8x4BGRA', + 2147483647: 'WGPUVertexFormat_Force32', +} +WGPUVertexFormat_Uint8 = 1 +WGPUVertexFormat_Uint8x2 = 2 +WGPUVertexFormat_Uint8x4 = 3 +WGPUVertexFormat_Sint8 = 4 +WGPUVertexFormat_Sint8x2 = 5 +WGPUVertexFormat_Sint8x4 = 6 +WGPUVertexFormat_Unorm8 = 7 +WGPUVertexFormat_Unorm8x2 = 8 +WGPUVertexFormat_Unorm8x4 = 9 +WGPUVertexFormat_Snorm8 = 10 +WGPUVertexFormat_Snorm8x2 = 11 +WGPUVertexFormat_Snorm8x4 = 12 +WGPUVertexFormat_Uint16 = 13 +WGPUVertexFormat_Uint16x2 = 14 +WGPUVertexFormat_Uint16x4 = 15 +WGPUVertexFormat_Sint16 = 16 +WGPUVertexFormat_Sint16x2 = 17 +WGPUVertexFormat_Sint16x4 = 18 +WGPUVertexFormat_Unorm16 = 19 +WGPUVertexFormat_Unorm16x2 = 20 +WGPUVertexFormat_Unorm16x4 = 21 +WGPUVertexFormat_Snorm16 = 22 +WGPUVertexFormat_Snorm16x2 = 23 +WGPUVertexFormat_Snorm16x4 = 24 +WGPUVertexFormat_Float16 = 25 +WGPUVertexFormat_Float16x2 = 26 +WGPUVertexFormat_Float16x4 = 27 +WGPUVertexFormat_Float32 = 28 +WGPUVertexFormat_Float32x2 = 29 +WGPUVertexFormat_Float32x3 = 30 +WGPUVertexFormat_Float32x4 = 31 +WGPUVertexFormat_Uint32 = 32 +WGPUVertexFormat_Uint32x2 = 33 +WGPUVertexFormat_Uint32x3 = 34 +WGPUVertexFormat_Uint32x4 = 35 +WGPUVertexFormat_Sint32 = 36 +WGPUVertexFormat_Sint32x2 = 37 +WGPUVertexFormat_Sint32x3 = 38 +WGPUVertexFormat_Sint32x4 = 39 +WGPUVertexFormat_Unorm10_10_10_2 = 40 +WGPUVertexFormat_Unorm8x4BGRA = 41 +WGPUVertexFormat_Force32 = 2147483647 +WGPUVertexFormat = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUVertexStepMode' +WGPUVertexStepMode__enumvalues = { + 0: 'WGPUVertexStepMode_Undefined', + 1: 'WGPUVertexStepMode_Vertex', + 2: 'WGPUVertexStepMode_Instance', + 2147483647: 'WGPUVertexStepMode_Force32', +} +WGPUVertexStepMode_Undefined = 0 +WGPUVertexStepMode_Vertex = 1 +WGPUVertexStepMode_Instance = 2 +WGPUVertexStepMode_Force32 = 2147483647 +WGPUVertexStepMode = ctypes.c_uint32 # enum + +# values for enumeration 'WGPUWaitStatus' +WGPUWaitStatus__enumvalues = { + 1: 'WGPUWaitStatus_Success', + 2: 'WGPUWaitStatus_TimedOut', + 3: 'WGPUWaitStatus_UnsupportedTimeout', + 4: 'WGPUWaitStatus_UnsupportedCount', + 5: 'WGPUWaitStatus_UnsupportedMixedSources', + 6: 'WGPUWaitStatus_Unknown', + 2147483647: 'WGPUWaitStatus_Force32', +} +WGPUWaitStatus_Success = 1 +WGPUWaitStatus_TimedOut = 2 +WGPUWaitStatus_UnsupportedTimeout = 3 +WGPUWaitStatus_UnsupportedCount = 4 +WGPUWaitStatus_UnsupportedMixedSources = 5 +WGPUWaitStatus_Unknown = 6 +WGPUWaitStatus_Force32 = 2147483647 +WGPUWaitStatus = ctypes.c_uint32 # enum +WGPUBufferUsage = ctypes.c_uint64 +WGPUBufferUsage_None = 0x0000000000000000 # Variable ctypes.c_uint64 +WGPUBufferUsage_MapRead = 0x0000000000000001 # Variable ctypes.c_uint64 +WGPUBufferUsage_MapWrite = 0x0000000000000002 # Variable ctypes.c_uint64 +WGPUBufferUsage_CopySrc = 0x0000000000000004 # Variable ctypes.c_uint64 +WGPUBufferUsage_CopyDst = 0x0000000000000008 # Variable ctypes.c_uint64 +WGPUBufferUsage_Index = 0x0000000000000010 # Variable ctypes.c_uint64 +WGPUBufferUsage_Vertex = 0x0000000000000020 # Variable ctypes.c_uint64 +WGPUBufferUsage_Uniform = 0x0000000000000040 # Variable ctypes.c_uint64 +WGPUBufferUsage_Storage = 0x0000000000000080 # Variable ctypes.c_uint64 +WGPUBufferUsage_Indirect = 0x0000000000000100 # Variable ctypes.c_uint64 +WGPUBufferUsage_QueryResolve = 0x0000000000000200 # Variable ctypes.c_uint64 +WGPUColorWriteMask = ctypes.c_uint64 +WGPUColorWriteMask_None = 0x0000000000000000 # Variable ctypes.c_uint64 +WGPUColorWriteMask_Red = 0x0000000000000001 # Variable ctypes.c_uint64 +WGPUColorWriteMask_Green = 0x0000000000000002 # Variable ctypes.c_uint64 +WGPUColorWriteMask_Blue = 0x0000000000000004 # Variable ctypes.c_uint64 +WGPUColorWriteMask_Alpha = 0x0000000000000008 # Variable ctypes.c_uint64 +WGPUColorWriteMask_All = 0x000000000000000F # Variable ctypes.c_uint64 +WGPUHeapProperty = ctypes.c_uint64 +WGPUHeapProperty_DeviceLocal = 0x0000000000000001 # Variable ctypes.c_uint64 +WGPUHeapProperty_HostVisible = 0x0000000000000002 # Variable ctypes.c_uint64 +WGPUHeapProperty_HostCoherent = 0x0000000000000004 # Variable ctypes.c_uint64 +WGPUHeapProperty_HostUncached = 0x0000000000000008 # Variable ctypes.c_uint64 +WGPUHeapProperty_HostCached = 0x0000000000000010 # Variable ctypes.c_uint64 +WGPUMapMode = ctypes.c_uint64 +WGPUMapMode_None = 0x0000000000000000 # Variable ctypes.c_uint64 +WGPUMapMode_Read = 0x0000000000000001 # Variable ctypes.c_uint64 +WGPUMapMode_Write = 0x0000000000000002 # Variable ctypes.c_uint64 +WGPUShaderStage = ctypes.c_uint64 +WGPUShaderStage_None = 0x0000000000000000 # Variable ctypes.c_uint64 +WGPUShaderStage_Vertex = 0x0000000000000001 # Variable ctypes.c_uint64 +WGPUShaderStage_Fragment = 0x0000000000000002 # Variable ctypes.c_uint64 +WGPUShaderStage_Compute = 0x0000000000000004 # Variable ctypes.c_uint64 +WGPUTextureUsage = ctypes.c_uint64 +WGPUTextureUsage_None = 0x0000000000000000 # Variable ctypes.c_uint64 +WGPUTextureUsage_CopySrc = 0x0000000000000001 # Variable ctypes.c_uint64 +WGPUTextureUsage_CopyDst = 0x0000000000000002 # Variable ctypes.c_uint64 +WGPUTextureUsage_TextureBinding = 0x0000000000000004 # Variable ctypes.c_uint64 +WGPUTextureUsage_StorageBinding = 0x0000000000000008 # Variable ctypes.c_uint64 +WGPUTextureUsage_RenderAttachment = 0x0000000000000010 # Variable ctypes.c_uint64 +WGPUTextureUsage_TransientAttachment = 0x0000000000000020 # Variable ctypes.c_uint64 +WGPUTextureUsage_StorageAttachment = 0x0000000000000040 # Variable ctypes.c_uint64 +WGPUBufferMapCallback = ctypes.CFUNCTYPE(None, WGPUBufferMapAsyncStatus, ctypes.POINTER(None)) +WGPUCallback = ctypes.CFUNCTYPE(None, ctypes.POINTER(None)) +class struct_WGPUCompilationInfo(Structure): + pass + +WGPUCompilationInfoCallback = ctypes.CFUNCTYPE(None, WGPUCompilationInfoRequestStatus, ctypes.POINTER(struct_WGPUCompilationInfo), ctypes.POINTER(None)) +class struct_WGPUStringView(Structure): + pass + +struct_WGPUStringView._pack_ = 1 # source:False +struct_WGPUStringView._fields_ = [ + ('data', ctypes.POINTER(ctypes.c_char)), + ('length', ctypes.c_uint64), +] + +WGPUCreateComputePipelineAsyncCallback = ctypes.CFUNCTYPE(None, WGPUCreatePipelineAsyncStatus, ctypes.POINTER(struct_WGPUComputePipelineImpl), struct_WGPUStringView, ctypes.POINTER(None)) +WGPUCreateRenderPipelineAsyncCallback = ctypes.CFUNCTYPE(None, WGPUCreatePipelineAsyncStatus, ctypes.POINTER(struct_WGPURenderPipelineImpl), struct_WGPUStringView, ctypes.POINTER(None)) +WGPUDawnLoadCacheDataFunction = ctypes.CFUNCTYPE(ctypes.c_uint64, ctypes.POINTER(None), ctypes.c_uint64, ctypes.POINTER(None), ctypes.c_uint64, ctypes.POINTER(None)) +WGPUDawnStoreCacheDataFunction = ctypes.CFUNCTYPE(None, ctypes.POINTER(None), ctypes.c_uint64, ctypes.POINTER(None), ctypes.c_uint64, ctypes.POINTER(None)) +WGPUDeviceLostCallback = ctypes.CFUNCTYPE(None, WGPUDeviceLostReason, struct_WGPUStringView, ctypes.POINTER(None)) +WGPUDeviceLostCallbackNew = ctypes.CFUNCTYPE(None, ctypes.POINTER(ctypes.POINTER(struct_WGPUDeviceImpl)), WGPUDeviceLostReason, struct_WGPUStringView, ctypes.POINTER(None)) +WGPUErrorCallback = ctypes.CFUNCTYPE(None, WGPUErrorType, struct_WGPUStringView, ctypes.POINTER(None)) +WGPULoggingCallback = ctypes.CFUNCTYPE(None, WGPULoggingType, struct_WGPUStringView, ctypes.POINTER(None)) +WGPUPopErrorScopeCallback = ctypes.CFUNCTYPE(None, WGPUPopErrorScopeStatus, WGPUErrorType, struct_WGPUStringView, ctypes.POINTER(None)) +WGPUProc = ctypes.CFUNCTYPE(None) +WGPUQueueWorkDoneCallback = ctypes.CFUNCTYPE(None, WGPUQueueWorkDoneStatus, ctypes.POINTER(None)) +WGPURequestAdapterCallback = ctypes.CFUNCTYPE(None, WGPURequestAdapterStatus, ctypes.POINTER(struct_WGPUAdapterImpl), struct_WGPUStringView, ctypes.POINTER(None)) +WGPURequestDeviceCallback = ctypes.CFUNCTYPE(None, WGPURequestDeviceStatus, ctypes.POINTER(struct_WGPUDeviceImpl), struct_WGPUStringView, ctypes.POINTER(None)) +WGPUBufferMapCallback2 = ctypes.CFUNCTYPE(None, WGPUMapAsyncStatus, struct_WGPUStringView, ctypes.POINTER(None), ctypes.POINTER(None)) +WGPUCompilationInfoCallback2 = ctypes.CFUNCTYPE(None, WGPUCompilationInfoRequestStatus, ctypes.POINTER(struct_WGPUCompilationInfo), ctypes.POINTER(None), ctypes.POINTER(None)) +WGPUCreateComputePipelineAsyncCallback2 = ctypes.CFUNCTYPE(None, WGPUCreatePipelineAsyncStatus, ctypes.POINTER(struct_WGPUComputePipelineImpl), struct_WGPUStringView, ctypes.POINTER(None), ctypes.POINTER(None)) +WGPUCreateRenderPipelineAsyncCallback2 = ctypes.CFUNCTYPE(None, WGPUCreatePipelineAsyncStatus, ctypes.POINTER(struct_WGPURenderPipelineImpl), struct_WGPUStringView, ctypes.POINTER(None), ctypes.POINTER(None)) +WGPUDeviceLostCallback2 = ctypes.CFUNCTYPE(None, ctypes.POINTER(ctypes.POINTER(struct_WGPUDeviceImpl)), WGPUDeviceLostReason, struct_WGPUStringView, ctypes.POINTER(None), ctypes.POINTER(None)) +WGPUPopErrorScopeCallback2 = ctypes.CFUNCTYPE(None, WGPUPopErrorScopeStatus, WGPUErrorType, struct_WGPUStringView, ctypes.POINTER(None), ctypes.POINTER(None)) +WGPUQueueWorkDoneCallback2 = ctypes.CFUNCTYPE(None, WGPUQueueWorkDoneStatus, ctypes.POINTER(None), ctypes.POINTER(None)) +WGPURequestAdapterCallback2 = ctypes.CFUNCTYPE(None, WGPURequestAdapterStatus, ctypes.POINTER(struct_WGPUAdapterImpl), struct_WGPUStringView, ctypes.POINTER(None), ctypes.POINTER(None)) +WGPURequestDeviceCallback2 = ctypes.CFUNCTYPE(None, WGPURequestDeviceStatus, ctypes.POINTER(struct_WGPUDeviceImpl), struct_WGPUStringView, ctypes.POINTER(None), ctypes.POINTER(None)) +WGPUUncapturedErrorCallback = ctypes.CFUNCTYPE(None, ctypes.POINTER(ctypes.POINTER(struct_WGPUDeviceImpl)), WGPUErrorType, struct_WGPUStringView, ctypes.POINTER(None), ctypes.POINTER(None)) +class struct_WGPUChainedStruct(Structure): + pass + +struct_WGPUChainedStruct._pack_ = 1 # source:False +struct_WGPUChainedStruct._fields_ = [ + ('next', ctypes.POINTER(struct_WGPUChainedStruct)), + ('sType', WGPUSType), + ('PADDING_0', ctypes.c_ubyte * 4), +] + +WGPUChainedStruct = struct_WGPUChainedStruct +class struct_WGPUChainedStructOut(Structure): + pass + +struct_WGPUChainedStructOut._pack_ = 1 # source:False +struct_WGPUChainedStructOut._fields_ = [ + ('next', ctypes.POINTER(struct_WGPUChainedStructOut)), + ('sType', WGPUSType), + ('PADDING_0', ctypes.c_ubyte * 4), +] + +WGPUChainedStructOut = struct_WGPUChainedStructOut +class struct_WGPUBufferMapCallbackInfo2(Structure): + pass + +struct_WGPUBufferMapCallbackInfo2._pack_ = 1 # source:False +struct_WGPUBufferMapCallbackInfo2._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('mode', WGPUCallbackMode), + ('PADDING_0', ctypes.c_ubyte * 4), + ('callback', ctypes.CFUNCTYPE(None, WGPUMapAsyncStatus, struct_WGPUStringView, ctypes.POINTER(None), ctypes.POINTER(None))), + ('userdata1', ctypes.POINTER(None)), + ('userdata2', ctypes.POINTER(None)), +] + +WGPUBufferMapCallbackInfo2 = struct_WGPUBufferMapCallbackInfo2 +class struct_WGPUCompilationInfoCallbackInfo2(Structure): + pass + +struct_WGPUCompilationInfoCallbackInfo2._pack_ = 1 # source:False +struct_WGPUCompilationInfoCallbackInfo2._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('mode', WGPUCallbackMode), + ('PADDING_0', ctypes.c_ubyte * 4), + ('callback', ctypes.CFUNCTYPE(None, WGPUCompilationInfoRequestStatus, ctypes.POINTER(struct_WGPUCompilationInfo), ctypes.POINTER(None), ctypes.POINTER(None))), + ('userdata1', ctypes.POINTER(None)), + ('userdata2', ctypes.POINTER(None)), +] + +WGPUCompilationInfoCallbackInfo2 = struct_WGPUCompilationInfoCallbackInfo2 +class struct_WGPUCreateComputePipelineAsyncCallbackInfo2(Structure): + pass + +struct_WGPUCreateComputePipelineAsyncCallbackInfo2._pack_ = 1 # source:False +struct_WGPUCreateComputePipelineAsyncCallbackInfo2._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('mode', WGPUCallbackMode), + ('PADDING_0', ctypes.c_ubyte * 4), + ('callback', ctypes.CFUNCTYPE(None, WGPUCreatePipelineAsyncStatus, ctypes.POINTER(struct_WGPUComputePipelineImpl), struct_WGPUStringView, ctypes.POINTER(None), ctypes.POINTER(None))), + ('userdata1', ctypes.POINTER(None)), + ('userdata2', ctypes.POINTER(None)), +] + +WGPUCreateComputePipelineAsyncCallbackInfo2 = struct_WGPUCreateComputePipelineAsyncCallbackInfo2 +class struct_WGPUCreateRenderPipelineAsyncCallbackInfo2(Structure): + pass + +struct_WGPUCreateRenderPipelineAsyncCallbackInfo2._pack_ = 1 # source:False +struct_WGPUCreateRenderPipelineAsyncCallbackInfo2._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('mode', WGPUCallbackMode), + ('PADDING_0', ctypes.c_ubyte * 4), + ('callback', ctypes.CFUNCTYPE(None, WGPUCreatePipelineAsyncStatus, ctypes.POINTER(struct_WGPURenderPipelineImpl), struct_WGPUStringView, ctypes.POINTER(None), ctypes.POINTER(None))), + ('userdata1', ctypes.POINTER(None)), + ('userdata2', ctypes.POINTER(None)), +] + +WGPUCreateRenderPipelineAsyncCallbackInfo2 = struct_WGPUCreateRenderPipelineAsyncCallbackInfo2 +class struct_WGPUDeviceLostCallbackInfo2(Structure): + pass + +struct_WGPUDeviceLostCallbackInfo2._pack_ = 1 # source:False +struct_WGPUDeviceLostCallbackInfo2._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('mode', WGPUCallbackMode), + ('PADDING_0', ctypes.c_ubyte * 4), + ('callback', ctypes.CFUNCTYPE(None, ctypes.POINTER(ctypes.POINTER(struct_WGPUDeviceImpl)), WGPUDeviceLostReason, struct_WGPUStringView, ctypes.POINTER(None), ctypes.POINTER(None))), + ('userdata1', ctypes.POINTER(None)), + ('userdata2', ctypes.POINTER(None)), +] + +WGPUDeviceLostCallbackInfo2 = struct_WGPUDeviceLostCallbackInfo2 +class struct_WGPUPopErrorScopeCallbackInfo2(Structure): + pass + +struct_WGPUPopErrorScopeCallbackInfo2._pack_ = 1 # source:False +struct_WGPUPopErrorScopeCallbackInfo2._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('mode', WGPUCallbackMode), + ('PADDING_0', ctypes.c_ubyte * 4), + ('callback', ctypes.CFUNCTYPE(None, WGPUPopErrorScopeStatus, WGPUErrorType, struct_WGPUStringView, ctypes.POINTER(None), ctypes.POINTER(None))), + ('userdata1', ctypes.POINTER(None)), + ('userdata2', ctypes.POINTER(None)), +] + +WGPUPopErrorScopeCallbackInfo2 = struct_WGPUPopErrorScopeCallbackInfo2 +class struct_WGPUQueueWorkDoneCallbackInfo2(Structure): + pass + +struct_WGPUQueueWorkDoneCallbackInfo2._pack_ = 1 # source:False +struct_WGPUQueueWorkDoneCallbackInfo2._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('mode', WGPUCallbackMode), + ('PADDING_0', ctypes.c_ubyte * 4), + ('callback', ctypes.CFUNCTYPE(None, WGPUQueueWorkDoneStatus, ctypes.POINTER(None), ctypes.POINTER(None))), + ('userdata1', ctypes.POINTER(None)), + ('userdata2', ctypes.POINTER(None)), +] + +WGPUQueueWorkDoneCallbackInfo2 = struct_WGPUQueueWorkDoneCallbackInfo2 +class struct_WGPURequestAdapterCallbackInfo2(Structure): + pass + +struct_WGPURequestAdapterCallbackInfo2._pack_ = 1 # source:False +struct_WGPURequestAdapterCallbackInfo2._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('mode', WGPUCallbackMode), + ('PADDING_0', ctypes.c_ubyte * 4), + ('callback', ctypes.CFUNCTYPE(None, WGPURequestAdapterStatus, ctypes.POINTER(struct_WGPUAdapterImpl), struct_WGPUStringView, ctypes.POINTER(None), ctypes.POINTER(None))), + ('userdata1', ctypes.POINTER(None)), + ('userdata2', ctypes.POINTER(None)), +] + +WGPURequestAdapterCallbackInfo2 = struct_WGPURequestAdapterCallbackInfo2 +class struct_WGPURequestDeviceCallbackInfo2(Structure): + pass + +struct_WGPURequestDeviceCallbackInfo2._pack_ = 1 # source:False +struct_WGPURequestDeviceCallbackInfo2._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('mode', WGPUCallbackMode), + ('PADDING_0', ctypes.c_ubyte * 4), + ('callback', ctypes.CFUNCTYPE(None, WGPURequestDeviceStatus, ctypes.POINTER(struct_WGPUDeviceImpl), struct_WGPUStringView, ctypes.POINTER(None), ctypes.POINTER(None))), + ('userdata1', ctypes.POINTER(None)), + ('userdata2', ctypes.POINTER(None)), +] + +WGPURequestDeviceCallbackInfo2 = struct_WGPURequestDeviceCallbackInfo2 +class struct_WGPUUncapturedErrorCallbackInfo2(Structure): + pass + +struct_WGPUUncapturedErrorCallbackInfo2._pack_ = 1 # source:False +struct_WGPUUncapturedErrorCallbackInfo2._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('callback', ctypes.CFUNCTYPE(None, ctypes.POINTER(ctypes.POINTER(struct_WGPUDeviceImpl)), WGPUErrorType, struct_WGPUStringView, ctypes.POINTER(None), ctypes.POINTER(None))), + ('userdata1', ctypes.POINTER(None)), + ('userdata2', ctypes.POINTER(None)), +] + +WGPUUncapturedErrorCallbackInfo2 = struct_WGPUUncapturedErrorCallbackInfo2 +class struct_WGPUINTERNAL__HAVE_EMDAWNWEBGPU_HEADER(Structure): + pass + +struct_WGPUINTERNAL__HAVE_EMDAWNWEBGPU_HEADER._pack_ = 1 # source:False +struct_WGPUINTERNAL__HAVE_EMDAWNWEBGPU_HEADER._fields_ = [ + ('unused', ctypes.c_uint32), +] + +WGPUINTERNAL__HAVE_EMDAWNWEBGPU_HEADER = struct_WGPUINTERNAL__HAVE_EMDAWNWEBGPU_HEADER +class struct_WGPUAdapterPropertiesD3D(Structure): + pass + +struct_WGPUAdapterPropertiesD3D._pack_ = 1 # source:False +struct_WGPUAdapterPropertiesD3D._fields_ = [ + ('chain', WGPUChainedStructOut), + ('shaderModel', ctypes.c_uint32), + ('PADDING_0', ctypes.c_ubyte * 4), +] + +WGPUAdapterPropertiesD3D = struct_WGPUAdapterPropertiesD3D +class struct_WGPUAdapterPropertiesSubgroups(Structure): + pass + +struct_WGPUAdapterPropertiesSubgroups._pack_ = 1 # source:False +struct_WGPUAdapterPropertiesSubgroups._fields_ = [ + ('chain', WGPUChainedStructOut), + ('subgroupMinSize', ctypes.c_uint32), + ('subgroupMaxSize', ctypes.c_uint32), +] + +WGPUAdapterPropertiesSubgroups = struct_WGPUAdapterPropertiesSubgroups +class struct_WGPUAdapterPropertiesVk(Structure): + pass + +struct_WGPUAdapterPropertiesVk._pack_ = 1 # source:False +struct_WGPUAdapterPropertiesVk._fields_ = [ + ('chain', WGPUChainedStructOut), + ('driverVersion', ctypes.c_uint32), + ('PADDING_0', ctypes.c_ubyte * 4), +] + +WGPUAdapterPropertiesVk = struct_WGPUAdapterPropertiesVk +class struct_WGPUBindGroupEntry(Structure): + pass + +struct_WGPUBindGroupEntry._pack_ = 1 # source:False +struct_WGPUBindGroupEntry._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('binding', ctypes.c_uint32), + ('PADDING_0', ctypes.c_ubyte * 4), + ('buffer', ctypes.POINTER(struct_WGPUBufferImpl)), + ('offset', ctypes.c_uint64), + ('size', ctypes.c_uint64), + ('sampler', ctypes.POINTER(struct_WGPUSamplerImpl)), + ('textureView', ctypes.POINTER(struct_WGPUTextureViewImpl)), +] + +WGPUBindGroupEntry = struct_WGPUBindGroupEntry +class struct_WGPUBlendComponent(Structure): + _pack_ = 1 # source:False + _fields_ = [ + ('operation', WGPUBlendOperation), + ('srcFactor', WGPUBlendFactor), + ('dstFactor', WGPUBlendFactor), + ] + +WGPUBlendComponent = struct_WGPUBlendComponent +class struct_WGPUBufferBindingLayout(Structure): + pass + +struct_WGPUBufferBindingLayout._pack_ = 1 # source:False +struct_WGPUBufferBindingLayout._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('type', WGPUBufferBindingType), + ('hasDynamicOffset', ctypes.c_uint32), + ('minBindingSize', ctypes.c_uint64), +] + +WGPUBufferBindingLayout = struct_WGPUBufferBindingLayout +class struct_WGPUBufferHostMappedPointer(Structure): + pass + +struct_WGPUBufferHostMappedPointer._pack_ = 1 # source:False +struct_WGPUBufferHostMappedPointer._fields_ = [ + ('chain', WGPUChainedStruct), + ('pointer', ctypes.POINTER(None)), + ('disposeCallback', ctypes.CFUNCTYPE(None, ctypes.POINTER(None))), + ('userdata', ctypes.POINTER(None)), +] + +WGPUBufferHostMappedPointer = struct_WGPUBufferHostMappedPointer +class struct_WGPUBufferMapCallbackInfo(Structure): + pass + +struct_WGPUBufferMapCallbackInfo._pack_ = 1 # source:False +struct_WGPUBufferMapCallbackInfo._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('mode', WGPUCallbackMode), + ('PADDING_0', ctypes.c_ubyte * 4), + ('callback', ctypes.CFUNCTYPE(None, WGPUBufferMapAsyncStatus, ctypes.POINTER(None))), + ('userdata', ctypes.POINTER(None)), +] + +WGPUBufferMapCallbackInfo = struct_WGPUBufferMapCallbackInfo +class struct_WGPUColor(Structure): + pass + +struct_WGPUColor._pack_ = 1 # source:False +struct_WGPUColor._fields_ = [ + ('r', ctypes.c_double), + ('g', ctypes.c_double), + ('b', ctypes.c_double), + ('a', ctypes.c_double), +] + +WGPUColor = struct_WGPUColor +class struct_WGPUColorTargetStateExpandResolveTextureDawn(Structure): + pass + +struct_WGPUColorTargetStateExpandResolveTextureDawn._pack_ = 1 # source:False +struct_WGPUColorTargetStateExpandResolveTextureDawn._fields_ = [ + ('chain', WGPUChainedStruct), + ('enabled', ctypes.c_uint32), + ('PADDING_0', ctypes.c_ubyte * 4), +] + +WGPUColorTargetStateExpandResolveTextureDawn = struct_WGPUColorTargetStateExpandResolveTextureDawn +class struct_WGPUCompilationInfoCallbackInfo(Structure): + pass + +struct_WGPUCompilationInfoCallbackInfo._pack_ = 1 # source:False +struct_WGPUCompilationInfoCallbackInfo._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('mode', WGPUCallbackMode), + ('PADDING_0', ctypes.c_ubyte * 4), + ('callback', ctypes.CFUNCTYPE(None, WGPUCompilationInfoRequestStatus, ctypes.POINTER(struct_WGPUCompilationInfo), ctypes.POINTER(None))), + ('userdata', ctypes.POINTER(None)), +] + +WGPUCompilationInfoCallbackInfo = struct_WGPUCompilationInfoCallbackInfo +class struct_WGPUComputePassTimestampWrites(Structure): + pass + +struct_WGPUComputePassTimestampWrites._pack_ = 1 # source:False +struct_WGPUComputePassTimestampWrites._fields_ = [ + ('querySet', ctypes.POINTER(struct_WGPUQuerySetImpl)), + ('beginningOfPassWriteIndex', ctypes.c_uint32), + ('endOfPassWriteIndex', ctypes.c_uint32), +] + +WGPUComputePassTimestampWrites = struct_WGPUComputePassTimestampWrites +class struct_WGPUCopyTextureForBrowserOptions(Structure): + pass + +struct_WGPUCopyTextureForBrowserOptions._pack_ = 1 # source:False +struct_WGPUCopyTextureForBrowserOptions._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('flipY', ctypes.c_uint32), + ('needsColorSpaceConversion', ctypes.c_uint32), + ('srcAlphaMode', WGPUAlphaMode), + ('PADDING_0', ctypes.c_ubyte * 4), + ('srcTransferFunctionParameters', ctypes.POINTER(ctypes.c_float)), + ('conversionMatrix', ctypes.POINTER(ctypes.c_float)), + ('dstTransferFunctionParameters', ctypes.POINTER(ctypes.c_float)), + ('dstAlphaMode', WGPUAlphaMode), + ('internalUsage', ctypes.c_uint32), +] + +WGPUCopyTextureForBrowserOptions = struct_WGPUCopyTextureForBrowserOptions +class struct_WGPUCreateComputePipelineAsyncCallbackInfo(Structure): + pass + +struct_WGPUCreateComputePipelineAsyncCallbackInfo._pack_ = 1 # source:False +struct_WGPUCreateComputePipelineAsyncCallbackInfo._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('mode', WGPUCallbackMode), + ('PADDING_0', ctypes.c_ubyte * 4), + ('callback', ctypes.CFUNCTYPE(None, WGPUCreatePipelineAsyncStatus, ctypes.POINTER(struct_WGPUComputePipelineImpl), struct_WGPUStringView, ctypes.POINTER(None))), + ('userdata', ctypes.POINTER(None)), +] + +WGPUCreateComputePipelineAsyncCallbackInfo = struct_WGPUCreateComputePipelineAsyncCallbackInfo +class struct_WGPUCreateRenderPipelineAsyncCallbackInfo(Structure): + pass + +struct_WGPUCreateRenderPipelineAsyncCallbackInfo._pack_ = 1 # source:False +struct_WGPUCreateRenderPipelineAsyncCallbackInfo._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('mode', WGPUCallbackMode), + ('PADDING_0', ctypes.c_ubyte * 4), + ('callback', ctypes.CFUNCTYPE(None, WGPUCreatePipelineAsyncStatus, ctypes.POINTER(struct_WGPURenderPipelineImpl), struct_WGPUStringView, ctypes.POINTER(None))), + ('userdata', ctypes.POINTER(None)), +] + +WGPUCreateRenderPipelineAsyncCallbackInfo = struct_WGPUCreateRenderPipelineAsyncCallbackInfo +class struct_WGPUDawnWGSLBlocklist(Structure): + pass + +struct_WGPUDawnWGSLBlocklist._pack_ = 1 # source:False +struct_WGPUDawnWGSLBlocklist._fields_ = [ + ('chain', WGPUChainedStruct), + ('blocklistedFeatureCount', ctypes.c_uint64), + ('blocklistedFeatures', ctypes.POINTER(ctypes.POINTER(ctypes.c_char))), +] + +WGPUDawnWGSLBlocklist = struct_WGPUDawnWGSLBlocklist +class struct_WGPUDawnAdapterPropertiesPowerPreference(Structure): + pass + +struct_WGPUDawnAdapterPropertiesPowerPreference._pack_ = 1 # source:False +struct_WGPUDawnAdapterPropertiesPowerPreference._fields_ = [ + ('chain', WGPUChainedStructOut), + ('powerPreference', WGPUPowerPreference), + ('PADDING_0', ctypes.c_ubyte * 4), +] + +WGPUDawnAdapterPropertiesPowerPreference = struct_WGPUDawnAdapterPropertiesPowerPreference +class struct_WGPUDawnBufferDescriptorErrorInfoFromWireClient(Structure): + pass + +struct_WGPUDawnBufferDescriptorErrorInfoFromWireClient._pack_ = 1 # source:False +struct_WGPUDawnBufferDescriptorErrorInfoFromWireClient._fields_ = [ + ('chain', WGPUChainedStruct), + ('outOfMemory', ctypes.c_uint32), + ('PADDING_0', ctypes.c_ubyte * 4), +] + +WGPUDawnBufferDescriptorErrorInfoFromWireClient = struct_WGPUDawnBufferDescriptorErrorInfoFromWireClient +class struct_WGPUDawnEncoderInternalUsageDescriptor(Structure): + pass + +struct_WGPUDawnEncoderInternalUsageDescriptor._pack_ = 1 # source:False +struct_WGPUDawnEncoderInternalUsageDescriptor._fields_ = [ + ('chain', WGPUChainedStruct), + ('useInternalUsages', ctypes.c_uint32), + ('PADDING_0', ctypes.c_ubyte * 4), +] + +WGPUDawnEncoderInternalUsageDescriptor = struct_WGPUDawnEncoderInternalUsageDescriptor +class struct_WGPUDawnExperimentalImmediateDataLimits(Structure): + pass + +struct_WGPUDawnExperimentalImmediateDataLimits._pack_ = 1 # source:False +struct_WGPUDawnExperimentalImmediateDataLimits._fields_ = [ + ('chain', WGPUChainedStructOut), + ('maxImmediateDataRangeByteSize', ctypes.c_uint32), + ('PADDING_0', ctypes.c_ubyte * 4), +] + +WGPUDawnExperimentalImmediateDataLimits = struct_WGPUDawnExperimentalImmediateDataLimits +class struct_WGPUDawnExperimentalSubgroupLimits(Structure): + pass + +struct_WGPUDawnExperimentalSubgroupLimits._pack_ = 1 # source:False +struct_WGPUDawnExperimentalSubgroupLimits._fields_ = [ + ('chain', WGPUChainedStructOut), + ('minSubgroupSize', ctypes.c_uint32), + ('maxSubgroupSize', ctypes.c_uint32), +] + +WGPUDawnExperimentalSubgroupLimits = struct_WGPUDawnExperimentalSubgroupLimits +class struct_WGPUDawnRenderPassColorAttachmentRenderToSingleSampled(Structure): + pass + +struct_WGPUDawnRenderPassColorAttachmentRenderToSingleSampled._pack_ = 1 # source:False +struct_WGPUDawnRenderPassColorAttachmentRenderToSingleSampled._fields_ = [ + ('chain', WGPUChainedStruct), + ('implicitSampleCount', ctypes.c_uint32), + ('PADDING_0', ctypes.c_ubyte * 4), +] + +WGPUDawnRenderPassColorAttachmentRenderToSingleSampled = struct_WGPUDawnRenderPassColorAttachmentRenderToSingleSampled +class struct_WGPUDawnShaderModuleSPIRVOptionsDescriptor(Structure): + pass + +struct_WGPUDawnShaderModuleSPIRVOptionsDescriptor._pack_ = 1 # source:False +struct_WGPUDawnShaderModuleSPIRVOptionsDescriptor._fields_ = [ + ('chain', WGPUChainedStruct), + ('allowNonUniformDerivatives', ctypes.c_uint32), + ('PADDING_0', ctypes.c_ubyte * 4), +] + +WGPUDawnShaderModuleSPIRVOptionsDescriptor = struct_WGPUDawnShaderModuleSPIRVOptionsDescriptor +class struct_WGPUDawnTexelCopyBufferRowAlignmentLimits(Structure): + pass + +struct_WGPUDawnTexelCopyBufferRowAlignmentLimits._pack_ = 1 # source:False +struct_WGPUDawnTexelCopyBufferRowAlignmentLimits._fields_ = [ + ('chain', WGPUChainedStructOut), + ('minTexelCopyBufferRowAlignment', ctypes.c_uint32), + ('PADDING_0', ctypes.c_ubyte * 4), +] + +WGPUDawnTexelCopyBufferRowAlignmentLimits = struct_WGPUDawnTexelCopyBufferRowAlignmentLimits +class struct_WGPUDawnTextureInternalUsageDescriptor(Structure): + pass + +struct_WGPUDawnTextureInternalUsageDescriptor._pack_ = 1 # source:False +struct_WGPUDawnTextureInternalUsageDescriptor._fields_ = [ + ('chain', WGPUChainedStruct), + ('internalUsage', ctypes.c_uint64), +] + +WGPUDawnTextureInternalUsageDescriptor = struct_WGPUDawnTextureInternalUsageDescriptor +class struct_WGPUDawnTogglesDescriptor(Structure): + pass + +struct_WGPUDawnTogglesDescriptor._pack_ = 1 # source:False +struct_WGPUDawnTogglesDescriptor._fields_ = [ + ('chain', WGPUChainedStruct), + ('enabledToggleCount', ctypes.c_uint64), + ('enabledToggles', ctypes.POINTER(ctypes.POINTER(ctypes.c_char))), + ('disabledToggleCount', ctypes.c_uint64), + ('disabledToggles', ctypes.POINTER(ctypes.POINTER(ctypes.c_char))), +] + +WGPUDawnTogglesDescriptor = struct_WGPUDawnTogglesDescriptor +class struct_WGPUDawnWireWGSLControl(Structure): + pass + +struct_WGPUDawnWireWGSLControl._pack_ = 1 # source:False +struct_WGPUDawnWireWGSLControl._fields_ = [ + ('chain', WGPUChainedStruct), + ('enableExperimental', ctypes.c_uint32), + ('enableUnsafe', ctypes.c_uint32), + ('enableTesting', ctypes.c_uint32), + ('PADDING_0', ctypes.c_ubyte * 4), +] + +WGPUDawnWireWGSLControl = struct_WGPUDawnWireWGSLControl +class struct_WGPUDeviceLostCallbackInfo(Structure): + pass + +struct_WGPUDeviceLostCallbackInfo._pack_ = 1 # source:False +struct_WGPUDeviceLostCallbackInfo._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('mode', WGPUCallbackMode), + ('PADDING_0', ctypes.c_ubyte * 4), + ('callback', ctypes.CFUNCTYPE(None, ctypes.POINTER(ctypes.POINTER(struct_WGPUDeviceImpl)), WGPUDeviceLostReason, struct_WGPUStringView, ctypes.POINTER(None))), + ('userdata', ctypes.POINTER(None)), +] + +WGPUDeviceLostCallbackInfo = struct_WGPUDeviceLostCallbackInfo +class struct_WGPUDrmFormatProperties(Structure): + pass + +struct_WGPUDrmFormatProperties._pack_ = 1 # source:False +struct_WGPUDrmFormatProperties._fields_ = [ + ('modifier', ctypes.c_uint64), + ('modifierPlaneCount', ctypes.c_uint32), + ('PADDING_0', ctypes.c_ubyte * 4), +] + +WGPUDrmFormatProperties = struct_WGPUDrmFormatProperties +class struct_WGPUExtent2D(Structure): + pass + +struct_WGPUExtent2D._pack_ = 1 # source:False +struct_WGPUExtent2D._fields_ = [ + ('width', ctypes.c_uint32), + ('height', ctypes.c_uint32), +] + +WGPUExtent2D = struct_WGPUExtent2D +class struct_WGPUExtent3D(Structure): + pass + +struct_WGPUExtent3D._pack_ = 1 # source:False +struct_WGPUExtent3D._fields_ = [ + ('width', ctypes.c_uint32), + ('height', ctypes.c_uint32), + ('depthOrArrayLayers', ctypes.c_uint32), +] + +WGPUExtent3D = struct_WGPUExtent3D +class struct_WGPUExternalTextureBindingEntry(Structure): + pass + +struct_WGPUExternalTextureBindingEntry._pack_ = 1 # source:False +struct_WGPUExternalTextureBindingEntry._fields_ = [ + ('chain', WGPUChainedStruct), + ('externalTexture', ctypes.POINTER(struct_WGPUExternalTextureImpl)), +] + +WGPUExternalTextureBindingEntry = struct_WGPUExternalTextureBindingEntry +class struct_WGPUExternalTextureBindingLayout(Structure): + _pack_ = 1 # source:False + _fields_ = [ + ('chain', WGPUChainedStruct), + ] + +WGPUExternalTextureBindingLayout = struct_WGPUExternalTextureBindingLayout +class struct_WGPUFormatCapabilities(Structure): + pass + +struct_WGPUFormatCapabilities._pack_ = 1 # source:False +struct_WGPUFormatCapabilities._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStructOut)), +] + +WGPUFormatCapabilities = struct_WGPUFormatCapabilities +class struct_WGPUFuture(Structure): + pass + +struct_WGPUFuture._pack_ = 1 # source:False +struct_WGPUFuture._fields_ = [ + ('id', ctypes.c_uint64), +] + +WGPUFuture = struct_WGPUFuture +class struct_WGPUInstanceFeatures(Structure): + pass + +struct_WGPUInstanceFeatures._pack_ = 1 # source:False +struct_WGPUInstanceFeatures._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('timedWaitAnyEnable', ctypes.c_uint32), + ('PADDING_0', ctypes.c_ubyte * 4), + ('timedWaitAnyMaxCount', ctypes.c_uint64), +] + +WGPUInstanceFeatures = struct_WGPUInstanceFeatures +class struct_WGPULimits(Structure): + pass + +struct_WGPULimits._pack_ = 1 # source:False +struct_WGPULimits._fields_ = [ + ('maxTextureDimension1D', ctypes.c_uint32), + ('maxTextureDimension2D', ctypes.c_uint32), + ('maxTextureDimension3D', ctypes.c_uint32), + ('maxTextureArrayLayers', ctypes.c_uint32), + ('maxBindGroups', ctypes.c_uint32), + ('maxBindGroupsPlusVertexBuffers', ctypes.c_uint32), + ('maxBindingsPerBindGroup', ctypes.c_uint32), + ('maxDynamicUniformBuffersPerPipelineLayout', ctypes.c_uint32), + ('maxDynamicStorageBuffersPerPipelineLayout', ctypes.c_uint32), + ('maxSampledTexturesPerShaderStage', ctypes.c_uint32), + ('maxSamplersPerShaderStage', ctypes.c_uint32), + ('maxStorageBuffersPerShaderStage', ctypes.c_uint32), + ('maxStorageTexturesPerShaderStage', ctypes.c_uint32), + ('maxUniformBuffersPerShaderStage', ctypes.c_uint32), + ('maxUniformBufferBindingSize', ctypes.c_uint64), + ('maxStorageBufferBindingSize', ctypes.c_uint64), + ('minUniformBufferOffsetAlignment', ctypes.c_uint32), + ('minStorageBufferOffsetAlignment', ctypes.c_uint32), + ('maxVertexBuffers', ctypes.c_uint32), + ('PADDING_0', ctypes.c_ubyte * 4), + ('maxBufferSize', ctypes.c_uint64), + ('maxVertexAttributes', ctypes.c_uint32), + ('maxVertexBufferArrayStride', ctypes.c_uint32), + ('maxInterStageShaderComponents', ctypes.c_uint32), + ('maxInterStageShaderVariables', ctypes.c_uint32), + ('maxColorAttachments', ctypes.c_uint32), + ('maxColorAttachmentBytesPerSample', ctypes.c_uint32), + ('maxComputeWorkgroupStorageSize', ctypes.c_uint32), + ('maxComputeInvocationsPerWorkgroup', ctypes.c_uint32), + ('maxComputeWorkgroupSizeX', ctypes.c_uint32), + ('maxComputeWorkgroupSizeY', ctypes.c_uint32), + ('maxComputeWorkgroupSizeZ', ctypes.c_uint32), + ('maxComputeWorkgroupsPerDimension', ctypes.c_uint32), + ('maxStorageBuffersInVertexStage', ctypes.c_uint32), + ('maxStorageTexturesInVertexStage', ctypes.c_uint32), + ('maxStorageBuffersInFragmentStage', ctypes.c_uint32), + ('maxStorageTexturesInFragmentStage', ctypes.c_uint32), +] + +WGPULimits = struct_WGPULimits +class struct_WGPUMemoryHeapInfo(Structure): + pass + +struct_WGPUMemoryHeapInfo._pack_ = 1 # source:False +struct_WGPUMemoryHeapInfo._fields_ = [ + ('properties', ctypes.c_uint64), + ('size', ctypes.c_uint64), +] + +WGPUMemoryHeapInfo = struct_WGPUMemoryHeapInfo +class struct_WGPUMultisampleState(Structure): + pass + +struct_WGPUMultisampleState._pack_ = 1 # source:False +struct_WGPUMultisampleState._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('count', ctypes.c_uint32), + ('mask', ctypes.c_uint32), + ('alphaToCoverageEnabled', ctypes.c_uint32), + ('PADDING_0', ctypes.c_ubyte * 4), +] + +WGPUMultisampleState = struct_WGPUMultisampleState +class struct_WGPUOrigin2D(Structure): + pass + +struct_WGPUOrigin2D._pack_ = 1 # source:False +struct_WGPUOrigin2D._fields_ = [ + ('x', ctypes.c_uint32), + ('y', ctypes.c_uint32), +] + +WGPUOrigin2D = struct_WGPUOrigin2D +class struct_WGPUOrigin3D(Structure): + pass + +struct_WGPUOrigin3D._pack_ = 1 # source:False +struct_WGPUOrigin3D._fields_ = [ + ('x', ctypes.c_uint32), + ('y', ctypes.c_uint32), + ('z', ctypes.c_uint32), +] + +WGPUOrigin3D = struct_WGPUOrigin3D +class struct_WGPUPipelineLayoutStorageAttachment(Structure): + pass + +struct_WGPUPipelineLayoutStorageAttachment._pack_ = 1 # source:False +struct_WGPUPipelineLayoutStorageAttachment._fields_ = [ + ('offset', ctypes.c_uint64), + ('format', WGPUTextureFormat), + ('PADDING_0', ctypes.c_ubyte * 4), +] + +WGPUPipelineLayoutStorageAttachment = struct_WGPUPipelineLayoutStorageAttachment +class struct_WGPUPopErrorScopeCallbackInfo(Structure): + pass + +struct_WGPUPopErrorScopeCallbackInfo._pack_ = 1 # source:False +struct_WGPUPopErrorScopeCallbackInfo._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('mode', WGPUCallbackMode), + ('PADDING_0', ctypes.c_ubyte * 4), + ('callback', ctypes.CFUNCTYPE(None, WGPUPopErrorScopeStatus, WGPUErrorType, struct_WGPUStringView, ctypes.POINTER(None))), + ('oldCallback', ctypes.CFUNCTYPE(None, WGPUErrorType, struct_WGPUStringView, ctypes.POINTER(None))), + ('userdata', ctypes.POINTER(None)), +] + +WGPUPopErrorScopeCallbackInfo = struct_WGPUPopErrorScopeCallbackInfo +class struct_WGPUPrimitiveState(Structure): + pass + +struct_WGPUPrimitiveState._pack_ = 1 # source:False +struct_WGPUPrimitiveState._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('topology', WGPUPrimitiveTopology), + ('stripIndexFormat', WGPUIndexFormat), + ('frontFace', WGPUFrontFace), + ('cullMode', WGPUCullMode), + ('unclippedDepth', ctypes.c_uint32), + ('PADDING_0', ctypes.c_ubyte * 4), +] + +WGPUPrimitiveState = struct_WGPUPrimitiveState +class struct_WGPUQueueWorkDoneCallbackInfo(Structure): + pass + +struct_WGPUQueueWorkDoneCallbackInfo._pack_ = 1 # source:False +struct_WGPUQueueWorkDoneCallbackInfo._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('mode', WGPUCallbackMode), + ('PADDING_0', ctypes.c_ubyte * 4), + ('callback', ctypes.CFUNCTYPE(None, WGPUQueueWorkDoneStatus, ctypes.POINTER(None))), + ('userdata', ctypes.POINTER(None)), +] + +WGPUQueueWorkDoneCallbackInfo = struct_WGPUQueueWorkDoneCallbackInfo +class struct_WGPURenderPassDepthStencilAttachment(Structure): + pass + +struct_WGPURenderPassDepthStencilAttachment._pack_ = 1 # source:False +struct_WGPURenderPassDepthStencilAttachment._fields_ = [ + ('view', ctypes.POINTER(struct_WGPUTextureViewImpl)), + ('depthLoadOp', WGPULoadOp), + ('depthStoreOp', WGPUStoreOp), + ('depthClearValue', ctypes.c_float), + ('depthReadOnly', ctypes.c_uint32), + ('stencilLoadOp', WGPULoadOp), + ('stencilStoreOp', WGPUStoreOp), + ('stencilClearValue', ctypes.c_uint32), + ('stencilReadOnly', ctypes.c_uint32), +] + +WGPURenderPassDepthStencilAttachment = struct_WGPURenderPassDepthStencilAttachment +class struct_WGPURenderPassDescriptorExpandResolveRect(Structure): + pass + +struct_WGPURenderPassDescriptorExpandResolveRect._pack_ = 1 # source:False +struct_WGPURenderPassDescriptorExpandResolveRect._fields_ = [ + ('chain', WGPUChainedStruct), + ('x', ctypes.c_uint32), + ('y', ctypes.c_uint32), + ('width', ctypes.c_uint32), + ('height', ctypes.c_uint32), +] + +WGPURenderPassDescriptorExpandResolveRect = struct_WGPURenderPassDescriptorExpandResolveRect +class struct_WGPURenderPassMaxDrawCount(Structure): + pass + +struct_WGPURenderPassMaxDrawCount._pack_ = 1 # source:False +struct_WGPURenderPassMaxDrawCount._fields_ = [ + ('chain', WGPUChainedStruct), + ('maxDrawCount', ctypes.c_uint64), +] + +WGPURenderPassMaxDrawCount = struct_WGPURenderPassMaxDrawCount +class struct_WGPURenderPassTimestampWrites(Structure): + pass + +struct_WGPURenderPassTimestampWrites._pack_ = 1 # source:False +struct_WGPURenderPassTimestampWrites._fields_ = [ + ('querySet', ctypes.POINTER(struct_WGPUQuerySetImpl)), + ('beginningOfPassWriteIndex', ctypes.c_uint32), + ('endOfPassWriteIndex', ctypes.c_uint32), +] + +WGPURenderPassTimestampWrites = struct_WGPURenderPassTimestampWrites +class struct_WGPURequestAdapterCallbackInfo(Structure): + pass + +struct_WGPURequestAdapterCallbackInfo._pack_ = 1 # source:False +struct_WGPURequestAdapterCallbackInfo._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('mode', WGPUCallbackMode), + ('PADDING_0', ctypes.c_ubyte * 4), + ('callback', ctypes.CFUNCTYPE(None, WGPURequestAdapterStatus, ctypes.POINTER(struct_WGPUAdapterImpl), struct_WGPUStringView, ctypes.POINTER(None))), + ('userdata', ctypes.POINTER(None)), +] + +WGPURequestAdapterCallbackInfo = struct_WGPURequestAdapterCallbackInfo +class struct_WGPURequestAdapterOptions(Structure): + pass + +struct_WGPURequestAdapterOptions._pack_ = 1 # source:False +struct_WGPURequestAdapterOptions._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('compatibleSurface', ctypes.POINTER(struct_WGPUSurfaceImpl)), + ('featureLevel', WGPUFeatureLevel), + ('powerPreference', WGPUPowerPreference), + ('backendType', WGPUBackendType), + ('forceFallbackAdapter', ctypes.c_uint32), + ('compatibilityMode', ctypes.c_uint32), + ('PADDING_0', ctypes.c_ubyte * 4), +] + +WGPURequestAdapterOptions = struct_WGPURequestAdapterOptions +class struct_WGPURequestDeviceCallbackInfo(Structure): + pass + +struct_WGPURequestDeviceCallbackInfo._pack_ = 1 # source:False +struct_WGPURequestDeviceCallbackInfo._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('mode', WGPUCallbackMode), + ('PADDING_0', ctypes.c_ubyte * 4), + ('callback', ctypes.CFUNCTYPE(None, WGPURequestDeviceStatus, ctypes.POINTER(struct_WGPUDeviceImpl), struct_WGPUStringView, ctypes.POINTER(None))), + ('userdata', ctypes.POINTER(None)), +] + +WGPURequestDeviceCallbackInfo = struct_WGPURequestDeviceCallbackInfo +class struct_WGPUSamplerBindingLayout(Structure): + pass + +struct_WGPUSamplerBindingLayout._pack_ = 1 # source:False +struct_WGPUSamplerBindingLayout._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('type', WGPUSamplerBindingType), + ('PADDING_0', ctypes.c_ubyte * 4), +] + +WGPUSamplerBindingLayout = struct_WGPUSamplerBindingLayout +class struct_WGPUShaderModuleCompilationOptions(Structure): + pass + +struct_WGPUShaderModuleCompilationOptions._pack_ = 1 # source:False +struct_WGPUShaderModuleCompilationOptions._fields_ = [ + ('chain', WGPUChainedStruct), + ('strictMath', ctypes.c_uint32), + ('PADDING_0', ctypes.c_ubyte * 4), +] + +WGPUShaderModuleCompilationOptions = struct_WGPUShaderModuleCompilationOptions +class struct_WGPUShaderSourceSPIRV(Structure): + pass + +struct_WGPUShaderSourceSPIRV._pack_ = 1 # source:False +struct_WGPUShaderSourceSPIRV._fields_ = [ + ('chain', WGPUChainedStruct), + ('codeSize', ctypes.c_uint32), + ('PADDING_0', ctypes.c_ubyte * 4), + ('code', ctypes.POINTER(ctypes.c_uint32)), +] + +WGPUShaderSourceSPIRV = struct_WGPUShaderSourceSPIRV +class struct_WGPUSharedBufferMemoryBeginAccessDescriptor(Structure): + pass + +struct_WGPUSharedBufferMemoryBeginAccessDescriptor._pack_ = 1 # source:False +struct_WGPUSharedBufferMemoryBeginAccessDescriptor._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('initialized', ctypes.c_uint32), + ('PADDING_0', ctypes.c_ubyte * 4), + ('fenceCount', ctypes.c_uint64), + ('fences', ctypes.POINTER(ctypes.POINTER(struct_WGPUSharedFenceImpl))), + ('signaledValues', ctypes.POINTER(ctypes.c_uint64)), +] + +WGPUSharedBufferMemoryBeginAccessDescriptor = struct_WGPUSharedBufferMemoryBeginAccessDescriptor +class struct_WGPUSharedBufferMemoryEndAccessState(Structure): + pass + +struct_WGPUSharedBufferMemoryEndAccessState._pack_ = 1 # source:False +struct_WGPUSharedBufferMemoryEndAccessState._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStructOut)), + ('initialized', ctypes.c_uint32), + ('PADDING_0', ctypes.c_ubyte * 4), + ('fenceCount', ctypes.c_uint64), + ('fences', ctypes.POINTER(ctypes.POINTER(struct_WGPUSharedFenceImpl))), + ('signaledValues', ctypes.POINTER(ctypes.c_uint64)), +] + +WGPUSharedBufferMemoryEndAccessState = struct_WGPUSharedBufferMemoryEndAccessState +class struct_WGPUSharedBufferMemoryProperties(Structure): + pass + +struct_WGPUSharedBufferMemoryProperties._pack_ = 1 # source:False +struct_WGPUSharedBufferMemoryProperties._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStructOut)), + ('usage', ctypes.c_uint64), + ('size', ctypes.c_uint64), +] + +WGPUSharedBufferMemoryProperties = struct_WGPUSharedBufferMemoryProperties +class struct_WGPUSharedFenceDXGISharedHandleDescriptor(Structure): + pass + +struct_WGPUSharedFenceDXGISharedHandleDescriptor._pack_ = 1 # source:False +struct_WGPUSharedFenceDXGISharedHandleDescriptor._fields_ = [ + ('chain', WGPUChainedStruct), + ('handle', ctypes.POINTER(None)), +] + +WGPUSharedFenceDXGISharedHandleDescriptor = struct_WGPUSharedFenceDXGISharedHandleDescriptor +class struct_WGPUSharedFenceDXGISharedHandleExportInfo(Structure): + pass + +struct_WGPUSharedFenceDXGISharedHandleExportInfo._pack_ = 1 # source:False +struct_WGPUSharedFenceDXGISharedHandleExportInfo._fields_ = [ + ('chain', WGPUChainedStructOut), + ('handle', ctypes.POINTER(None)), +] + +WGPUSharedFenceDXGISharedHandleExportInfo = struct_WGPUSharedFenceDXGISharedHandleExportInfo +class struct_WGPUSharedFenceMTLSharedEventDescriptor(Structure): + pass + +struct_WGPUSharedFenceMTLSharedEventDescriptor._pack_ = 1 # source:False +struct_WGPUSharedFenceMTLSharedEventDescriptor._fields_ = [ + ('chain', WGPUChainedStruct), + ('sharedEvent', ctypes.POINTER(None)), +] + +WGPUSharedFenceMTLSharedEventDescriptor = struct_WGPUSharedFenceMTLSharedEventDescriptor +class struct_WGPUSharedFenceMTLSharedEventExportInfo(Structure): + pass + +struct_WGPUSharedFenceMTLSharedEventExportInfo._pack_ = 1 # source:False +struct_WGPUSharedFenceMTLSharedEventExportInfo._fields_ = [ + ('chain', WGPUChainedStructOut), + ('sharedEvent', ctypes.POINTER(None)), +] + +WGPUSharedFenceMTLSharedEventExportInfo = struct_WGPUSharedFenceMTLSharedEventExportInfo +class struct_WGPUSharedFenceExportInfo(Structure): + pass + +struct_WGPUSharedFenceExportInfo._pack_ = 1 # source:False +struct_WGPUSharedFenceExportInfo._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStructOut)), + ('type', WGPUSharedFenceType), + ('PADDING_0', ctypes.c_ubyte * 4), +] + +WGPUSharedFenceExportInfo = struct_WGPUSharedFenceExportInfo +class struct_WGPUSharedFenceSyncFDDescriptor(Structure): + pass + +struct_WGPUSharedFenceSyncFDDescriptor._pack_ = 1 # source:False +struct_WGPUSharedFenceSyncFDDescriptor._fields_ = [ + ('chain', WGPUChainedStruct), + ('handle', ctypes.c_int32), + ('PADDING_0', ctypes.c_ubyte * 4), +] + +WGPUSharedFenceSyncFDDescriptor = struct_WGPUSharedFenceSyncFDDescriptor +class struct_WGPUSharedFenceSyncFDExportInfo(Structure): + pass + +struct_WGPUSharedFenceSyncFDExportInfo._pack_ = 1 # source:False +struct_WGPUSharedFenceSyncFDExportInfo._fields_ = [ + ('chain', WGPUChainedStructOut), + ('handle', ctypes.c_int32), + ('PADDING_0', ctypes.c_ubyte * 4), +] + +WGPUSharedFenceSyncFDExportInfo = struct_WGPUSharedFenceSyncFDExportInfo +class struct_WGPUSharedFenceVkSemaphoreOpaqueFDDescriptor(Structure): + pass + +struct_WGPUSharedFenceVkSemaphoreOpaqueFDDescriptor._pack_ = 1 # source:False +struct_WGPUSharedFenceVkSemaphoreOpaqueFDDescriptor._fields_ = [ + ('chain', WGPUChainedStruct), + ('handle', ctypes.c_int32), + ('PADDING_0', ctypes.c_ubyte * 4), +] + +WGPUSharedFenceVkSemaphoreOpaqueFDDescriptor = struct_WGPUSharedFenceVkSemaphoreOpaqueFDDescriptor +class struct_WGPUSharedFenceVkSemaphoreOpaqueFDExportInfo(Structure): + pass + +struct_WGPUSharedFenceVkSemaphoreOpaqueFDExportInfo._pack_ = 1 # source:False +struct_WGPUSharedFenceVkSemaphoreOpaqueFDExportInfo._fields_ = [ + ('chain', WGPUChainedStructOut), + ('handle', ctypes.c_int32), + ('PADDING_0', ctypes.c_ubyte * 4), +] + +WGPUSharedFenceVkSemaphoreOpaqueFDExportInfo = struct_WGPUSharedFenceVkSemaphoreOpaqueFDExportInfo +class struct_WGPUSharedFenceVkSemaphoreZirconHandleDescriptor(Structure): + pass + +struct_WGPUSharedFenceVkSemaphoreZirconHandleDescriptor._pack_ = 1 # source:False +struct_WGPUSharedFenceVkSemaphoreZirconHandleDescriptor._fields_ = [ + ('chain', WGPUChainedStruct), + ('handle', ctypes.c_uint32), + ('PADDING_0', ctypes.c_ubyte * 4), +] + +WGPUSharedFenceVkSemaphoreZirconHandleDescriptor = struct_WGPUSharedFenceVkSemaphoreZirconHandleDescriptor +class struct_WGPUSharedFenceVkSemaphoreZirconHandleExportInfo(Structure): + pass + +struct_WGPUSharedFenceVkSemaphoreZirconHandleExportInfo._pack_ = 1 # source:False +struct_WGPUSharedFenceVkSemaphoreZirconHandleExportInfo._fields_ = [ + ('chain', WGPUChainedStructOut), + ('handle', ctypes.c_uint32), + ('PADDING_0', ctypes.c_ubyte * 4), +] + +WGPUSharedFenceVkSemaphoreZirconHandleExportInfo = struct_WGPUSharedFenceVkSemaphoreZirconHandleExportInfo +class struct_WGPUSharedTextureMemoryD3DSwapchainBeginState(Structure): + pass + +struct_WGPUSharedTextureMemoryD3DSwapchainBeginState._pack_ = 1 # source:False +struct_WGPUSharedTextureMemoryD3DSwapchainBeginState._fields_ = [ + ('chain', WGPUChainedStruct), + ('isSwapchain', ctypes.c_uint32), + ('PADDING_0', ctypes.c_ubyte * 4), +] + +WGPUSharedTextureMemoryD3DSwapchainBeginState = struct_WGPUSharedTextureMemoryD3DSwapchainBeginState +class struct_WGPUSharedTextureMemoryDXGISharedHandleDescriptor(Structure): + pass + +struct_WGPUSharedTextureMemoryDXGISharedHandleDescriptor._pack_ = 1 # source:False +struct_WGPUSharedTextureMemoryDXGISharedHandleDescriptor._fields_ = [ + ('chain', WGPUChainedStruct), + ('handle', ctypes.POINTER(None)), + ('useKeyedMutex', ctypes.c_uint32), + ('PADDING_0', ctypes.c_ubyte * 4), +] + +WGPUSharedTextureMemoryDXGISharedHandleDescriptor = struct_WGPUSharedTextureMemoryDXGISharedHandleDescriptor +class struct_WGPUSharedTextureMemoryEGLImageDescriptor(Structure): + pass + +struct_WGPUSharedTextureMemoryEGLImageDescriptor._pack_ = 1 # source:False +struct_WGPUSharedTextureMemoryEGLImageDescriptor._fields_ = [ + ('chain', WGPUChainedStruct), + ('image', ctypes.POINTER(None)), +] + +WGPUSharedTextureMemoryEGLImageDescriptor = struct_WGPUSharedTextureMemoryEGLImageDescriptor +class struct_WGPUSharedTextureMemoryIOSurfaceDescriptor(Structure): + pass + +struct_WGPUSharedTextureMemoryIOSurfaceDescriptor._pack_ = 1 # source:False +struct_WGPUSharedTextureMemoryIOSurfaceDescriptor._fields_ = [ + ('chain', WGPUChainedStruct), + ('ioSurface', ctypes.POINTER(None)), +] + +WGPUSharedTextureMemoryIOSurfaceDescriptor = struct_WGPUSharedTextureMemoryIOSurfaceDescriptor +class struct_WGPUSharedTextureMemoryAHardwareBufferDescriptor(Structure): + pass + +struct_WGPUSharedTextureMemoryAHardwareBufferDescriptor._pack_ = 1 # source:False +struct_WGPUSharedTextureMemoryAHardwareBufferDescriptor._fields_ = [ + ('chain', WGPUChainedStruct), + ('handle', ctypes.POINTER(None)), + ('useExternalFormat', ctypes.c_uint32), + ('PADDING_0', ctypes.c_ubyte * 4), +] + +WGPUSharedTextureMemoryAHardwareBufferDescriptor = struct_WGPUSharedTextureMemoryAHardwareBufferDescriptor +class struct_WGPUSharedTextureMemoryBeginAccessDescriptor(Structure): + pass + +struct_WGPUSharedTextureMemoryBeginAccessDescriptor._pack_ = 1 # source:False +struct_WGPUSharedTextureMemoryBeginAccessDescriptor._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('concurrentRead', ctypes.c_uint32), + ('initialized', ctypes.c_uint32), + ('fenceCount', ctypes.c_uint64), + ('fences', ctypes.POINTER(ctypes.POINTER(struct_WGPUSharedFenceImpl))), + ('signaledValues', ctypes.POINTER(ctypes.c_uint64)), +] + +WGPUSharedTextureMemoryBeginAccessDescriptor = struct_WGPUSharedTextureMemoryBeginAccessDescriptor +class struct_WGPUSharedTextureMemoryDmaBufPlane(Structure): + pass + +struct_WGPUSharedTextureMemoryDmaBufPlane._pack_ = 1 # source:False +struct_WGPUSharedTextureMemoryDmaBufPlane._fields_ = [ + ('fd', ctypes.c_int32), + ('PADDING_0', ctypes.c_ubyte * 4), + ('offset', ctypes.c_uint64), + ('stride', ctypes.c_uint32), + ('PADDING_1', ctypes.c_ubyte * 4), +] + +WGPUSharedTextureMemoryDmaBufPlane = struct_WGPUSharedTextureMemoryDmaBufPlane +class struct_WGPUSharedTextureMemoryEndAccessState(Structure): + pass + +struct_WGPUSharedTextureMemoryEndAccessState._pack_ = 1 # source:False +struct_WGPUSharedTextureMemoryEndAccessState._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStructOut)), + ('initialized', ctypes.c_uint32), + ('PADDING_0', ctypes.c_ubyte * 4), + ('fenceCount', ctypes.c_uint64), + ('fences', ctypes.POINTER(ctypes.POINTER(struct_WGPUSharedFenceImpl))), + ('signaledValues', ctypes.POINTER(ctypes.c_uint64)), +] + +WGPUSharedTextureMemoryEndAccessState = struct_WGPUSharedTextureMemoryEndAccessState +class struct_WGPUSharedTextureMemoryOpaqueFDDescriptor(Structure): + pass + +struct_WGPUSharedTextureMemoryOpaqueFDDescriptor._pack_ = 1 # source:False +struct_WGPUSharedTextureMemoryOpaqueFDDescriptor._fields_ = [ + ('chain', WGPUChainedStruct), + ('vkImageCreateInfo', ctypes.POINTER(None)), + ('memoryFD', ctypes.c_int32), + ('memoryTypeIndex', ctypes.c_uint32), + ('allocationSize', ctypes.c_uint64), + ('dedicatedAllocation', ctypes.c_uint32), + ('PADDING_0', ctypes.c_ubyte * 4), +] + +WGPUSharedTextureMemoryOpaqueFDDescriptor = struct_WGPUSharedTextureMemoryOpaqueFDDescriptor +class struct_WGPUSharedTextureMemoryVkDedicatedAllocationDescriptor(Structure): + pass + +struct_WGPUSharedTextureMemoryVkDedicatedAllocationDescriptor._pack_ = 1 # source:False +struct_WGPUSharedTextureMemoryVkDedicatedAllocationDescriptor._fields_ = [ + ('chain', WGPUChainedStruct), + ('dedicatedAllocation', ctypes.c_uint32), + ('PADDING_0', ctypes.c_ubyte * 4), +] + +WGPUSharedTextureMemoryVkDedicatedAllocationDescriptor = struct_WGPUSharedTextureMemoryVkDedicatedAllocationDescriptor +class struct_WGPUSharedTextureMemoryVkImageLayoutBeginState(Structure): + pass + +struct_WGPUSharedTextureMemoryVkImageLayoutBeginState._pack_ = 1 # source:False +struct_WGPUSharedTextureMemoryVkImageLayoutBeginState._fields_ = [ + ('chain', WGPUChainedStruct), + ('oldLayout', ctypes.c_int32), + ('newLayout', ctypes.c_int32), +] + +WGPUSharedTextureMemoryVkImageLayoutBeginState = struct_WGPUSharedTextureMemoryVkImageLayoutBeginState +class struct_WGPUSharedTextureMemoryVkImageLayoutEndState(Structure): + pass + +struct_WGPUSharedTextureMemoryVkImageLayoutEndState._pack_ = 1 # source:False +struct_WGPUSharedTextureMemoryVkImageLayoutEndState._fields_ = [ + ('chain', WGPUChainedStructOut), + ('oldLayout', ctypes.c_int32), + ('newLayout', ctypes.c_int32), +] + +WGPUSharedTextureMemoryVkImageLayoutEndState = struct_WGPUSharedTextureMemoryVkImageLayoutEndState +class struct_WGPUSharedTextureMemoryZirconHandleDescriptor(Structure): + pass + +struct_WGPUSharedTextureMemoryZirconHandleDescriptor._pack_ = 1 # source:False +struct_WGPUSharedTextureMemoryZirconHandleDescriptor._fields_ = [ + ('chain', WGPUChainedStruct), + ('memoryFD', ctypes.c_uint32), + ('PADDING_0', ctypes.c_ubyte * 4), + ('allocationSize', ctypes.c_uint64), +] + +WGPUSharedTextureMemoryZirconHandleDescriptor = struct_WGPUSharedTextureMemoryZirconHandleDescriptor +class struct_WGPUStaticSamplerBindingLayout(Structure): + pass + +struct_WGPUStaticSamplerBindingLayout._pack_ = 1 # source:False +struct_WGPUStaticSamplerBindingLayout._fields_ = [ + ('chain', WGPUChainedStruct), + ('sampler', ctypes.POINTER(struct_WGPUSamplerImpl)), + ('sampledTextureBinding', ctypes.c_uint32), + ('PADDING_0', ctypes.c_ubyte * 4), +] + +WGPUStaticSamplerBindingLayout = struct_WGPUStaticSamplerBindingLayout +class struct_WGPUStencilFaceState(Structure): + _pack_ = 1 # source:False + _fields_ = [ + ('compare', WGPUCompareFunction), + ('failOp', WGPUStencilOperation), + ('depthFailOp', WGPUStencilOperation), + ('passOp', WGPUStencilOperation), + ] + +WGPUStencilFaceState = struct_WGPUStencilFaceState +class struct_WGPUStorageTextureBindingLayout(Structure): + pass + +struct_WGPUStorageTextureBindingLayout._pack_ = 1 # source:False +struct_WGPUStorageTextureBindingLayout._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('access', WGPUStorageTextureAccess), + ('format', WGPUTextureFormat), + ('viewDimension', WGPUTextureViewDimension), + ('PADDING_0', ctypes.c_ubyte * 4), +] + +WGPUStorageTextureBindingLayout = struct_WGPUStorageTextureBindingLayout +WGPUStringView = struct_WGPUStringView +class struct_WGPUSupportedFeatures(Structure): + pass + +struct_WGPUSupportedFeatures._pack_ = 1 # source:False +struct_WGPUSupportedFeatures._fields_ = [ + ('featureCount', ctypes.c_uint64), + ('features', ctypes.POINTER(WGPUFeatureName)), +] + +WGPUSupportedFeatures = struct_WGPUSupportedFeatures +class struct_WGPUSurfaceCapabilities(Structure): + pass + +struct_WGPUSurfaceCapabilities._pack_ = 1 # source:False +struct_WGPUSurfaceCapabilities._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStructOut)), + ('usages', ctypes.c_uint64), + ('formatCount', ctypes.c_uint64), + ('formats', ctypes.POINTER(WGPUTextureFormat)), + ('presentModeCount', ctypes.c_uint64), + ('presentModes', ctypes.POINTER(WGPUPresentMode)), + ('alphaModeCount', ctypes.c_uint64), + ('alphaModes', ctypes.POINTER(WGPUCompositeAlphaMode)), +] + +WGPUSurfaceCapabilities = struct_WGPUSurfaceCapabilities +class struct_WGPUSurfaceConfiguration(Structure): + pass + +struct_WGPUSurfaceConfiguration._pack_ = 1 # source:False +struct_WGPUSurfaceConfiguration._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('device', ctypes.POINTER(struct_WGPUDeviceImpl)), + ('format', WGPUTextureFormat), + ('PADDING_0', ctypes.c_ubyte * 4), + ('usage', ctypes.c_uint64), + ('viewFormatCount', ctypes.c_uint64), + ('viewFormats', ctypes.POINTER(WGPUTextureFormat)), + ('alphaMode', WGPUCompositeAlphaMode), + ('width', ctypes.c_uint32), + ('height', ctypes.c_uint32), + ('presentMode', WGPUPresentMode), +] + +WGPUSurfaceConfiguration = struct_WGPUSurfaceConfiguration +class struct_WGPUSurfaceDescriptorFromWindowsCoreWindow(Structure): + pass + +struct_WGPUSurfaceDescriptorFromWindowsCoreWindow._pack_ = 1 # source:False +struct_WGPUSurfaceDescriptorFromWindowsCoreWindow._fields_ = [ + ('chain', WGPUChainedStruct), + ('coreWindow', ctypes.POINTER(None)), +] + +WGPUSurfaceDescriptorFromWindowsCoreWindow = struct_WGPUSurfaceDescriptorFromWindowsCoreWindow +class struct_WGPUSurfaceDescriptorFromWindowsSwapChainPanel(Structure): + pass + +struct_WGPUSurfaceDescriptorFromWindowsSwapChainPanel._pack_ = 1 # source:False +struct_WGPUSurfaceDescriptorFromWindowsSwapChainPanel._fields_ = [ + ('chain', WGPUChainedStruct), + ('swapChainPanel', ctypes.POINTER(None)), +] + +WGPUSurfaceDescriptorFromWindowsSwapChainPanel = struct_WGPUSurfaceDescriptorFromWindowsSwapChainPanel +class struct_WGPUSurfaceSourceXCBWindow(Structure): + pass + +struct_WGPUSurfaceSourceXCBWindow._pack_ = 1 # source:False +struct_WGPUSurfaceSourceXCBWindow._fields_ = [ + ('chain', WGPUChainedStruct), + ('connection', ctypes.POINTER(None)), + ('window', ctypes.c_uint32), + ('PADDING_0', ctypes.c_ubyte * 4), +] + +WGPUSurfaceSourceXCBWindow = struct_WGPUSurfaceSourceXCBWindow +class struct_WGPUSurfaceSourceAndroidNativeWindow(Structure): + pass + +struct_WGPUSurfaceSourceAndroidNativeWindow._pack_ = 1 # source:False +struct_WGPUSurfaceSourceAndroidNativeWindow._fields_ = [ + ('chain', WGPUChainedStruct), + ('window', ctypes.POINTER(None)), +] + +WGPUSurfaceSourceAndroidNativeWindow = struct_WGPUSurfaceSourceAndroidNativeWindow +class struct_WGPUSurfaceSourceMetalLayer(Structure): + pass + +struct_WGPUSurfaceSourceMetalLayer._pack_ = 1 # source:False +struct_WGPUSurfaceSourceMetalLayer._fields_ = [ + ('chain', WGPUChainedStruct), + ('layer', ctypes.POINTER(None)), +] + +WGPUSurfaceSourceMetalLayer = struct_WGPUSurfaceSourceMetalLayer +class struct_WGPUSurfaceSourceWaylandSurface(Structure): + pass + +struct_WGPUSurfaceSourceWaylandSurface._pack_ = 1 # source:False +struct_WGPUSurfaceSourceWaylandSurface._fields_ = [ + ('chain', WGPUChainedStruct), + ('display', ctypes.POINTER(None)), + ('surface', ctypes.POINTER(None)), +] + +WGPUSurfaceSourceWaylandSurface = struct_WGPUSurfaceSourceWaylandSurface +class struct_WGPUSurfaceSourceWindowsHWND(Structure): + pass + +struct_WGPUSurfaceSourceWindowsHWND._pack_ = 1 # source:False +struct_WGPUSurfaceSourceWindowsHWND._fields_ = [ + ('chain', WGPUChainedStruct), + ('hinstance', ctypes.POINTER(None)), + ('hwnd', ctypes.POINTER(None)), +] + +WGPUSurfaceSourceWindowsHWND = struct_WGPUSurfaceSourceWindowsHWND +class struct_WGPUSurfaceSourceXlibWindow(Structure): + pass + +struct_WGPUSurfaceSourceXlibWindow._pack_ = 1 # source:False +struct_WGPUSurfaceSourceXlibWindow._fields_ = [ + ('chain', WGPUChainedStruct), + ('display', ctypes.POINTER(None)), + ('window', ctypes.c_uint64), +] + +WGPUSurfaceSourceXlibWindow = struct_WGPUSurfaceSourceXlibWindow +class struct_WGPUSurfaceTexture(Structure): + pass + +struct_WGPUSurfaceTexture._pack_ = 1 # source:False +struct_WGPUSurfaceTexture._fields_ = [ + ('texture', ctypes.POINTER(struct_WGPUTextureImpl)), + ('suboptimal', ctypes.c_uint32), + ('status', WGPUSurfaceGetCurrentTextureStatus), +] + +WGPUSurfaceTexture = struct_WGPUSurfaceTexture +class struct_WGPUTextureBindingLayout(Structure): + pass + +struct_WGPUTextureBindingLayout._pack_ = 1 # source:False +struct_WGPUTextureBindingLayout._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('sampleType', WGPUTextureSampleType), + ('viewDimension', WGPUTextureViewDimension), + ('multisampled', ctypes.c_uint32), + ('PADDING_0', ctypes.c_ubyte * 4), +] + +WGPUTextureBindingLayout = struct_WGPUTextureBindingLayout +class struct_WGPUTextureBindingViewDimensionDescriptor(Structure): + pass + +struct_WGPUTextureBindingViewDimensionDescriptor._pack_ = 1 # source:False +struct_WGPUTextureBindingViewDimensionDescriptor._fields_ = [ + ('chain', WGPUChainedStruct), + ('textureBindingViewDimension', WGPUTextureViewDimension), + ('PADDING_0', ctypes.c_ubyte * 4), +] + +WGPUTextureBindingViewDimensionDescriptor = struct_WGPUTextureBindingViewDimensionDescriptor +class struct_WGPUTextureDataLayout(Structure): + pass + +struct_WGPUTextureDataLayout._pack_ = 1 # source:False +struct_WGPUTextureDataLayout._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('offset', ctypes.c_uint64), + ('bytesPerRow', ctypes.c_uint32), + ('rowsPerImage', ctypes.c_uint32), +] + +WGPUTextureDataLayout = struct_WGPUTextureDataLayout +class struct_WGPUUncapturedErrorCallbackInfo(Structure): + pass + +struct_WGPUUncapturedErrorCallbackInfo._pack_ = 1 # source:False +struct_WGPUUncapturedErrorCallbackInfo._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('callback', ctypes.CFUNCTYPE(None, WGPUErrorType, struct_WGPUStringView, ctypes.POINTER(None))), + ('userdata', ctypes.POINTER(None)), +] + +WGPUUncapturedErrorCallbackInfo = struct_WGPUUncapturedErrorCallbackInfo +class struct_WGPUVertexAttribute(Structure): + pass + +struct_WGPUVertexAttribute._pack_ = 1 # source:False +struct_WGPUVertexAttribute._fields_ = [ + ('format', WGPUVertexFormat), + ('PADDING_0', ctypes.c_ubyte * 4), + ('offset', ctypes.c_uint64), + ('shaderLocation', ctypes.c_uint32), + ('PADDING_1', ctypes.c_ubyte * 4), +] + +WGPUVertexAttribute = struct_WGPUVertexAttribute +class struct_WGPUYCbCrVkDescriptor(Structure): + pass + +struct_WGPUYCbCrVkDescriptor._pack_ = 1 # source:False +struct_WGPUYCbCrVkDescriptor._fields_ = [ + ('chain', WGPUChainedStruct), + ('vkFormat', ctypes.c_uint32), + ('vkYCbCrModel', ctypes.c_uint32), + ('vkYCbCrRange', ctypes.c_uint32), + ('vkComponentSwizzleRed', ctypes.c_uint32), + ('vkComponentSwizzleGreen', ctypes.c_uint32), + ('vkComponentSwizzleBlue', ctypes.c_uint32), + ('vkComponentSwizzleAlpha', ctypes.c_uint32), + ('vkXChromaOffset', ctypes.c_uint32), + ('vkYChromaOffset', ctypes.c_uint32), + ('vkChromaFilter', WGPUFilterMode), + ('forceExplicitReconstruction', ctypes.c_uint32), + ('PADDING_0', ctypes.c_ubyte * 4), + ('externalFormat', ctypes.c_uint64), +] + +WGPUYCbCrVkDescriptor = struct_WGPUYCbCrVkDescriptor +class struct_WGPUAHardwareBufferProperties(Structure): + _pack_ = 1 # source:False + _fields_ = [ + ('yCbCrInfo', WGPUYCbCrVkDescriptor), + ] + +WGPUAHardwareBufferProperties = struct_WGPUAHardwareBufferProperties +class struct_WGPUAdapterInfo(Structure): + pass + +struct_WGPUAdapterInfo._pack_ = 1 # source:False +struct_WGPUAdapterInfo._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStructOut)), + ('vendor', WGPUStringView), + ('architecture', WGPUStringView), + ('device', WGPUStringView), + ('description', WGPUStringView), + ('backendType', WGPUBackendType), + ('adapterType', WGPUAdapterType), + ('vendorID', ctypes.c_uint32), + ('deviceID', ctypes.c_uint32), + ('compatibilityMode', ctypes.c_uint32), + ('PADDING_0', ctypes.c_ubyte * 4), +] + +WGPUAdapterInfo = struct_WGPUAdapterInfo +class struct_WGPUAdapterPropertiesMemoryHeaps(Structure): + pass + +struct_WGPUAdapterPropertiesMemoryHeaps._pack_ = 1 # source:False +struct_WGPUAdapterPropertiesMemoryHeaps._fields_ = [ + ('chain', WGPUChainedStructOut), + ('heapCount', ctypes.c_uint64), + ('heapInfo', ctypes.POINTER(struct_WGPUMemoryHeapInfo)), +] + +WGPUAdapterPropertiesMemoryHeaps = struct_WGPUAdapterPropertiesMemoryHeaps +class struct_WGPUBindGroupDescriptor(Structure): + pass + +struct_WGPUBindGroupDescriptor._pack_ = 1 # source:False +struct_WGPUBindGroupDescriptor._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('label', WGPUStringView), + ('layout', ctypes.POINTER(struct_WGPUBindGroupLayoutImpl)), + ('entryCount', ctypes.c_uint64), + ('entries', ctypes.POINTER(struct_WGPUBindGroupEntry)), +] + +WGPUBindGroupDescriptor = struct_WGPUBindGroupDescriptor +class struct_WGPUBindGroupLayoutEntry(Structure): + pass + +struct_WGPUBindGroupLayoutEntry._pack_ = 1 # source:False +struct_WGPUBindGroupLayoutEntry._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('binding', ctypes.c_uint32), + ('PADDING_0', ctypes.c_ubyte * 4), + ('visibility', ctypes.c_uint64), + ('buffer', WGPUBufferBindingLayout), + ('sampler', WGPUSamplerBindingLayout), + ('texture', WGPUTextureBindingLayout), + ('storageTexture', WGPUStorageTextureBindingLayout), +] + +WGPUBindGroupLayoutEntry = struct_WGPUBindGroupLayoutEntry +class struct_WGPUBlendState(Structure): + _pack_ = 1 # source:False + _fields_ = [ + ('color', WGPUBlendComponent), + ('alpha', WGPUBlendComponent), + ] + +WGPUBlendState = struct_WGPUBlendState +class struct_WGPUBufferDescriptor(Structure): + pass + +struct_WGPUBufferDescriptor._pack_ = 1 # source:False +struct_WGPUBufferDescriptor._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('label', WGPUStringView), + ('usage', ctypes.c_uint64), + ('size', ctypes.c_uint64), + ('mappedAtCreation', ctypes.c_uint32), + ('PADDING_0', ctypes.c_ubyte * 4), +] + +WGPUBufferDescriptor = struct_WGPUBufferDescriptor +class struct_WGPUCommandBufferDescriptor(Structure): + pass + +struct_WGPUCommandBufferDescriptor._pack_ = 1 # source:False +struct_WGPUCommandBufferDescriptor._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('label', WGPUStringView), +] + +WGPUCommandBufferDescriptor = struct_WGPUCommandBufferDescriptor +class struct_WGPUCommandEncoderDescriptor(Structure): + pass + +struct_WGPUCommandEncoderDescriptor._pack_ = 1 # source:False +struct_WGPUCommandEncoderDescriptor._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('label', WGPUStringView), +] + +WGPUCommandEncoderDescriptor = struct_WGPUCommandEncoderDescriptor +class struct_WGPUCompilationMessage(Structure): + pass + +struct_WGPUCompilationMessage._pack_ = 1 # source:False +struct_WGPUCompilationMessage._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('message', WGPUStringView), + ('type', WGPUCompilationMessageType), + ('PADDING_0', ctypes.c_ubyte * 4), + ('lineNum', ctypes.c_uint64), + ('linePos', ctypes.c_uint64), + ('offset', ctypes.c_uint64), + ('length', ctypes.c_uint64), + ('utf16LinePos', ctypes.c_uint64), + ('utf16Offset', ctypes.c_uint64), + ('utf16Length', ctypes.c_uint64), +] + +WGPUCompilationMessage = struct_WGPUCompilationMessage +class struct_WGPUComputePassDescriptor(Structure): + pass + +struct_WGPUComputePassDescriptor._pack_ = 1 # source:False +struct_WGPUComputePassDescriptor._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('label', WGPUStringView), + ('timestampWrites', ctypes.POINTER(struct_WGPUComputePassTimestampWrites)), +] + +WGPUComputePassDescriptor = struct_WGPUComputePassDescriptor +class struct_WGPUConstantEntry(Structure): + pass + +struct_WGPUConstantEntry._pack_ = 1 # source:False +struct_WGPUConstantEntry._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('key', WGPUStringView), + ('value', ctypes.c_double), +] + +WGPUConstantEntry = struct_WGPUConstantEntry +class struct_WGPUDawnCacheDeviceDescriptor(Structure): + pass + +struct_WGPUDawnCacheDeviceDescriptor._pack_ = 1 # source:False +struct_WGPUDawnCacheDeviceDescriptor._fields_ = [ + ('chain', WGPUChainedStruct), + ('isolationKey', WGPUStringView), + ('loadDataFunction', ctypes.CFUNCTYPE(ctypes.c_uint64, ctypes.POINTER(None), ctypes.c_uint64, ctypes.POINTER(None), ctypes.c_uint64, ctypes.POINTER(None))), + ('storeDataFunction', ctypes.CFUNCTYPE(None, ctypes.POINTER(None), ctypes.c_uint64, ctypes.POINTER(None), ctypes.c_uint64, ctypes.POINTER(None))), + ('functionUserdata', ctypes.POINTER(None)), +] + +WGPUDawnCacheDeviceDescriptor = struct_WGPUDawnCacheDeviceDescriptor +class struct_WGPUDepthStencilState(Structure): + pass + +struct_WGPUDepthStencilState._pack_ = 1 # source:False +struct_WGPUDepthStencilState._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('format', WGPUTextureFormat), + ('depthWriteEnabled', WGPUOptionalBool), + ('depthCompare', WGPUCompareFunction), + ('stencilFront', WGPUStencilFaceState), + ('stencilBack', WGPUStencilFaceState), + ('stencilReadMask', ctypes.c_uint32), + ('stencilWriteMask', ctypes.c_uint32), + ('depthBias', ctypes.c_int32), + ('depthBiasSlopeScale', ctypes.c_float), + ('depthBiasClamp', ctypes.c_float), +] + +WGPUDepthStencilState = struct_WGPUDepthStencilState +class struct_WGPUDrmFormatCapabilities(Structure): + pass + +struct_WGPUDrmFormatCapabilities._pack_ = 1 # source:False +struct_WGPUDrmFormatCapabilities._fields_ = [ + ('chain', WGPUChainedStructOut), + ('propertiesCount', ctypes.c_uint64), + ('properties', ctypes.POINTER(struct_WGPUDrmFormatProperties)), +] + +WGPUDrmFormatCapabilities = struct_WGPUDrmFormatCapabilities +class struct_WGPUExternalTextureDescriptor(Structure): + pass + +struct_WGPUExternalTextureDescriptor._pack_ = 1 # source:False +struct_WGPUExternalTextureDescriptor._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('label', WGPUStringView), + ('plane0', ctypes.POINTER(struct_WGPUTextureViewImpl)), + ('plane1', ctypes.POINTER(struct_WGPUTextureViewImpl)), + ('cropOrigin', WGPUOrigin2D), + ('cropSize', WGPUExtent2D), + ('apparentSize', WGPUExtent2D), + ('doYuvToRgbConversionOnly', ctypes.c_uint32), + ('PADDING_0', ctypes.c_ubyte * 4), + ('yuvToRgbConversionMatrix', ctypes.POINTER(ctypes.c_float)), + ('srcTransferFunctionParameters', ctypes.POINTER(ctypes.c_float)), + ('dstTransferFunctionParameters', ctypes.POINTER(ctypes.c_float)), + ('gamutConversionMatrix', ctypes.POINTER(ctypes.c_float)), + ('mirrored', ctypes.c_uint32), + ('rotation', WGPUExternalTextureRotation), +] + +WGPUExternalTextureDescriptor = struct_WGPUExternalTextureDescriptor +class struct_WGPUFutureWaitInfo(Structure): + pass + +struct_WGPUFutureWaitInfo._pack_ = 1 # source:False +struct_WGPUFutureWaitInfo._fields_ = [ + ('future', WGPUFuture), + ('completed', ctypes.c_uint32), + ('PADDING_0', ctypes.c_ubyte * 4), +] + +WGPUFutureWaitInfo = struct_WGPUFutureWaitInfo +class struct_WGPUImageCopyBuffer(Structure): + pass + +struct_WGPUImageCopyBuffer._pack_ = 1 # source:False +struct_WGPUImageCopyBuffer._fields_ = [ + ('layout', WGPUTextureDataLayout), + ('buffer', ctypes.POINTER(struct_WGPUBufferImpl)), +] + +WGPUImageCopyBuffer = struct_WGPUImageCopyBuffer +class struct_WGPUImageCopyExternalTexture(Structure): + pass + +struct_WGPUImageCopyExternalTexture._pack_ = 1 # source:False +struct_WGPUImageCopyExternalTexture._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('externalTexture', ctypes.POINTER(struct_WGPUExternalTextureImpl)), + ('origin', WGPUOrigin3D), + ('naturalSize', WGPUExtent2D), + ('PADDING_0', ctypes.c_ubyte * 4), +] + +WGPUImageCopyExternalTexture = struct_WGPUImageCopyExternalTexture +class struct_WGPUImageCopyTexture(Structure): + pass + +struct_WGPUImageCopyTexture._pack_ = 1 # source:False +struct_WGPUImageCopyTexture._fields_ = [ + ('texture', ctypes.POINTER(struct_WGPUTextureImpl)), + ('mipLevel', ctypes.c_uint32), + ('origin', WGPUOrigin3D), + ('aspect', WGPUTextureAspect), + ('PADDING_0', ctypes.c_ubyte * 4), +] + +WGPUImageCopyTexture = struct_WGPUImageCopyTexture +class struct_WGPUInstanceDescriptor(Structure): + pass + +struct_WGPUInstanceDescriptor._pack_ = 1 # source:False +struct_WGPUInstanceDescriptor._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('features', WGPUInstanceFeatures), +] + +WGPUInstanceDescriptor = struct_WGPUInstanceDescriptor +class struct_WGPUPipelineLayoutDescriptor(Structure): + pass + +struct_WGPUPipelineLayoutDescriptor._pack_ = 1 # source:False +struct_WGPUPipelineLayoutDescriptor._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('label', WGPUStringView), + ('bindGroupLayoutCount', ctypes.c_uint64), + ('bindGroupLayouts', ctypes.POINTER(ctypes.POINTER(struct_WGPUBindGroupLayoutImpl))), + ('immediateDataRangeByteSize', ctypes.c_uint32), + ('PADDING_0', ctypes.c_ubyte * 4), +] + +WGPUPipelineLayoutDescriptor = struct_WGPUPipelineLayoutDescriptor +class struct_WGPUPipelineLayoutPixelLocalStorage(Structure): + pass + +struct_WGPUPipelineLayoutPixelLocalStorage._pack_ = 1 # source:False +struct_WGPUPipelineLayoutPixelLocalStorage._fields_ = [ + ('chain', WGPUChainedStruct), + ('totalPixelLocalStorageSize', ctypes.c_uint64), + ('storageAttachmentCount', ctypes.c_uint64), + ('storageAttachments', ctypes.POINTER(struct_WGPUPipelineLayoutStorageAttachment)), +] + +WGPUPipelineLayoutPixelLocalStorage = struct_WGPUPipelineLayoutPixelLocalStorage +class struct_WGPUQuerySetDescriptor(Structure): + pass + +struct_WGPUQuerySetDescriptor._pack_ = 1 # source:False +struct_WGPUQuerySetDescriptor._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('label', WGPUStringView), + ('type', WGPUQueryType), + ('count', ctypes.c_uint32), +] + +WGPUQuerySetDescriptor = struct_WGPUQuerySetDescriptor +class struct_WGPUQueueDescriptor(Structure): + pass + +struct_WGPUQueueDescriptor._pack_ = 1 # source:False +struct_WGPUQueueDescriptor._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('label', WGPUStringView), +] + +WGPUQueueDescriptor = struct_WGPUQueueDescriptor +class struct_WGPURenderBundleDescriptor(Structure): + pass + +struct_WGPURenderBundleDescriptor._pack_ = 1 # source:False +struct_WGPURenderBundleDescriptor._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('label', WGPUStringView), +] + +WGPURenderBundleDescriptor = struct_WGPURenderBundleDescriptor +class struct_WGPURenderBundleEncoderDescriptor(Structure): + pass + +struct_WGPURenderBundleEncoderDescriptor._pack_ = 1 # source:False +struct_WGPURenderBundleEncoderDescriptor._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('label', WGPUStringView), + ('colorFormatCount', ctypes.c_uint64), + ('colorFormats', ctypes.POINTER(WGPUTextureFormat)), + ('depthStencilFormat', WGPUTextureFormat), + ('sampleCount', ctypes.c_uint32), + ('depthReadOnly', ctypes.c_uint32), + ('stencilReadOnly', ctypes.c_uint32), +] + +WGPURenderBundleEncoderDescriptor = struct_WGPURenderBundleEncoderDescriptor +class struct_WGPURenderPassColorAttachment(Structure): + pass + +struct_WGPURenderPassColorAttachment._pack_ = 1 # source:False +struct_WGPURenderPassColorAttachment._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('view', ctypes.POINTER(struct_WGPUTextureViewImpl)), + ('depthSlice', ctypes.c_uint32), + ('PADDING_0', ctypes.c_ubyte * 4), + ('resolveTarget', ctypes.POINTER(struct_WGPUTextureViewImpl)), + ('loadOp', WGPULoadOp), + ('storeOp', WGPUStoreOp), + ('clearValue', WGPUColor), +] + +WGPURenderPassColorAttachment = struct_WGPURenderPassColorAttachment +class struct_WGPURenderPassStorageAttachment(Structure): + pass + +struct_WGPURenderPassStorageAttachment._pack_ = 1 # source:False +struct_WGPURenderPassStorageAttachment._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('offset', ctypes.c_uint64), + ('storage', ctypes.POINTER(struct_WGPUTextureViewImpl)), + ('loadOp', WGPULoadOp), + ('storeOp', WGPUStoreOp), + ('clearValue', WGPUColor), +] + +WGPURenderPassStorageAttachment = struct_WGPURenderPassStorageAttachment +class struct_WGPURequiredLimits(Structure): + pass + +struct_WGPURequiredLimits._pack_ = 1 # source:False +struct_WGPURequiredLimits._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('limits', WGPULimits), +] + +WGPURequiredLimits = struct_WGPURequiredLimits +class struct_WGPUSamplerDescriptor(Structure): + pass + +struct_WGPUSamplerDescriptor._pack_ = 1 # source:False +struct_WGPUSamplerDescriptor._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('label', WGPUStringView), + ('addressModeU', WGPUAddressMode), + ('addressModeV', WGPUAddressMode), + ('addressModeW', WGPUAddressMode), + ('magFilter', WGPUFilterMode), + ('minFilter', WGPUFilterMode), + ('mipmapFilter', WGPUMipmapFilterMode), + ('lodMinClamp', ctypes.c_float), + ('lodMaxClamp', ctypes.c_float), + ('compare', WGPUCompareFunction), + ('maxAnisotropy', ctypes.c_uint16), + ('PADDING_0', ctypes.c_ubyte * 2), +] + +WGPUSamplerDescriptor = struct_WGPUSamplerDescriptor +class struct_WGPUShaderModuleDescriptor(Structure): + pass + +struct_WGPUShaderModuleDescriptor._pack_ = 1 # source:False +struct_WGPUShaderModuleDescriptor._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('label', WGPUStringView), +] + +WGPUShaderModuleDescriptor = struct_WGPUShaderModuleDescriptor +class struct_WGPUShaderSourceWGSL(Structure): + _pack_ = 1 # source:False + _fields_ = [ + ('chain', WGPUChainedStruct), + ('code', WGPUStringView), + ] + +WGPUShaderSourceWGSL = struct_WGPUShaderSourceWGSL +class struct_WGPUSharedBufferMemoryDescriptor(Structure): + pass + +struct_WGPUSharedBufferMemoryDescriptor._pack_ = 1 # source:False +struct_WGPUSharedBufferMemoryDescriptor._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('label', WGPUStringView), +] + +WGPUSharedBufferMemoryDescriptor = struct_WGPUSharedBufferMemoryDescriptor +class struct_WGPUSharedFenceDescriptor(Structure): + pass + +struct_WGPUSharedFenceDescriptor._pack_ = 1 # source:False +struct_WGPUSharedFenceDescriptor._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('label', WGPUStringView), +] + +WGPUSharedFenceDescriptor = struct_WGPUSharedFenceDescriptor +class struct_WGPUSharedTextureMemoryAHardwareBufferProperties(Structure): + _pack_ = 1 # source:False + _fields_ = [ + ('chain', WGPUChainedStructOut), + ('yCbCrInfo', WGPUYCbCrVkDescriptor), + ] + +WGPUSharedTextureMemoryAHardwareBufferProperties = struct_WGPUSharedTextureMemoryAHardwareBufferProperties +class struct_WGPUSharedTextureMemoryDescriptor(Structure): + pass + +struct_WGPUSharedTextureMemoryDescriptor._pack_ = 1 # source:False +struct_WGPUSharedTextureMemoryDescriptor._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('label', WGPUStringView), +] + +WGPUSharedTextureMemoryDescriptor = struct_WGPUSharedTextureMemoryDescriptor +class struct_WGPUSharedTextureMemoryDmaBufDescriptor(Structure): + pass + +struct_WGPUSharedTextureMemoryDmaBufDescriptor._pack_ = 1 # source:False +struct_WGPUSharedTextureMemoryDmaBufDescriptor._fields_ = [ + ('chain', WGPUChainedStruct), + ('size', WGPUExtent3D), + ('drmFormat', ctypes.c_uint32), + ('drmModifier', ctypes.c_uint64), + ('planeCount', ctypes.c_uint64), + ('planes', ctypes.POINTER(struct_WGPUSharedTextureMemoryDmaBufPlane)), +] + +WGPUSharedTextureMemoryDmaBufDescriptor = struct_WGPUSharedTextureMemoryDmaBufDescriptor +class struct_WGPUSharedTextureMemoryProperties(Structure): + pass + +struct_WGPUSharedTextureMemoryProperties._pack_ = 1 # source:False +struct_WGPUSharedTextureMemoryProperties._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStructOut)), + ('usage', ctypes.c_uint64), + ('size', WGPUExtent3D), + ('format', WGPUTextureFormat), +] + +WGPUSharedTextureMemoryProperties = struct_WGPUSharedTextureMemoryProperties +class struct_WGPUSupportedLimits(Structure): + pass + +struct_WGPUSupportedLimits._pack_ = 1 # source:False +struct_WGPUSupportedLimits._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStructOut)), + ('limits', WGPULimits), +] + +WGPUSupportedLimits = struct_WGPUSupportedLimits +class struct_WGPUSurfaceDescriptor(Structure): + pass + +struct_WGPUSurfaceDescriptor._pack_ = 1 # source:False +struct_WGPUSurfaceDescriptor._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('label', WGPUStringView), +] + +WGPUSurfaceDescriptor = struct_WGPUSurfaceDescriptor +class struct_WGPUSurfaceSourceCanvasHTMLSelector_Emscripten(Structure): + _pack_ = 1 # source:False + _fields_ = [ + ('chain', WGPUChainedStruct), + ('selector', WGPUStringView), + ] + +WGPUSurfaceSourceCanvasHTMLSelector_Emscripten = struct_WGPUSurfaceSourceCanvasHTMLSelector_Emscripten +class struct_WGPUTextureDescriptor(Structure): + pass + +struct_WGPUTextureDescriptor._pack_ = 1 # source:False +struct_WGPUTextureDescriptor._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('label', WGPUStringView), + ('usage', ctypes.c_uint64), + ('dimension', WGPUTextureDimension), + ('size', WGPUExtent3D), + ('format', WGPUTextureFormat), + ('mipLevelCount', ctypes.c_uint32), + ('sampleCount', ctypes.c_uint32), + ('PADDING_0', ctypes.c_ubyte * 4), + ('viewFormatCount', ctypes.c_uint64), + ('viewFormats', ctypes.POINTER(WGPUTextureFormat)), +] + +WGPUTextureDescriptor = struct_WGPUTextureDescriptor +class struct_WGPUTextureViewDescriptor(Structure): + pass + +struct_WGPUTextureViewDescriptor._pack_ = 1 # source:False +struct_WGPUTextureViewDescriptor._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('label', WGPUStringView), + ('format', WGPUTextureFormat), + ('dimension', WGPUTextureViewDimension), + ('baseMipLevel', ctypes.c_uint32), + ('mipLevelCount', ctypes.c_uint32), + ('baseArrayLayer', ctypes.c_uint32), + ('arrayLayerCount', ctypes.c_uint32), + ('aspect', WGPUTextureAspect), + ('PADDING_0', ctypes.c_ubyte * 4), + ('usage', ctypes.c_uint64), +] + +WGPUTextureViewDescriptor = struct_WGPUTextureViewDescriptor +class struct_WGPUVertexBufferLayout(Structure): + pass + +struct_WGPUVertexBufferLayout._pack_ = 1 # source:False +struct_WGPUVertexBufferLayout._fields_ = [ + ('arrayStride', ctypes.c_uint64), + ('stepMode', WGPUVertexStepMode), + ('PADDING_0', ctypes.c_ubyte * 4), + ('attributeCount', ctypes.c_uint64), + ('attributes', ctypes.POINTER(struct_WGPUVertexAttribute)), +] + +WGPUVertexBufferLayout = struct_WGPUVertexBufferLayout +class struct_WGPUBindGroupLayoutDescriptor(Structure): + pass + +struct_WGPUBindGroupLayoutDescriptor._pack_ = 1 # source:False +struct_WGPUBindGroupLayoutDescriptor._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('label', WGPUStringView), + ('entryCount', ctypes.c_uint64), + ('entries', ctypes.POINTER(struct_WGPUBindGroupLayoutEntry)), +] + +WGPUBindGroupLayoutDescriptor = struct_WGPUBindGroupLayoutDescriptor +class struct_WGPUColorTargetState(Structure): + pass + +struct_WGPUColorTargetState._pack_ = 1 # source:False +struct_WGPUColorTargetState._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('format', WGPUTextureFormat), + ('PADDING_0', ctypes.c_ubyte * 4), + ('blend', ctypes.POINTER(struct_WGPUBlendState)), + ('writeMask', ctypes.c_uint64), +] + +WGPUColorTargetState = struct_WGPUColorTargetState +struct_WGPUCompilationInfo._pack_ = 1 # source:False +struct_WGPUCompilationInfo._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('messageCount', ctypes.c_uint64), + ('messages', ctypes.POINTER(struct_WGPUCompilationMessage)), +] + +WGPUCompilationInfo = struct_WGPUCompilationInfo +class struct_WGPUComputeState(Structure): + pass + +struct_WGPUComputeState._pack_ = 1 # source:False +struct_WGPUComputeState._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('module', ctypes.POINTER(struct_WGPUShaderModuleImpl)), + ('entryPoint', WGPUStringView), + ('constantCount', ctypes.c_uint64), + ('constants', ctypes.POINTER(struct_WGPUConstantEntry)), +] + +WGPUComputeState = struct_WGPUComputeState +class struct_WGPUDeviceDescriptor(Structure): + pass + +struct_WGPUDeviceDescriptor._pack_ = 1 # source:False +struct_WGPUDeviceDescriptor._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('label', WGPUStringView), + ('requiredFeatureCount', ctypes.c_uint64), + ('requiredFeatures', ctypes.POINTER(WGPUFeatureName)), + ('requiredLimits', ctypes.POINTER(struct_WGPURequiredLimits)), + ('defaultQueue', WGPUQueueDescriptor), + ('deviceLostCallbackInfo2', WGPUDeviceLostCallbackInfo2), + ('uncapturedErrorCallbackInfo2', WGPUUncapturedErrorCallbackInfo2), +] + +WGPUDeviceDescriptor = struct_WGPUDeviceDescriptor +class struct_WGPURenderPassDescriptor(Structure): + pass + +struct_WGPURenderPassDescriptor._pack_ = 1 # source:False +struct_WGPURenderPassDescriptor._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('label', WGPUStringView), + ('colorAttachmentCount', ctypes.c_uint64), + ('colorAttachments', ctypes.POINTER(struct_WGPURenderPassColorAttachment)), + ('depthStencilAttachment', ctypes.POINTER(struct_WGPURenderPassDepthStencilAttachment)), + ('occlusionQuerySet', ctypes.POINTER(struct_WGPUQuerySetImpl)), + ('timestampWrites', ctypes.POINTER(struct_WGPURenderPassTimestampWrites)), +] + +WGPURenderPassDescriptor = struct_WGPURenderPassDescriptor +class struct_WGPURenderPassPixelLocalStorage(Structure): + pass + +struct_WGPURenderPassPixelLocalStorage._pack_ = 1 # source:False +struct_WGPURenderPassPixelLocalStorage._fields_ = [ + ('chain', WGPUChainedStruct), + ('totalPixelLocalStorageSize', ctypes.c_uint64), + ('storageAttachmentCount', ctypes.c_uint64), + ('storageAttachments', ctypes.POINTER(struct_WGPURenderPassStorageAttachment)), +] + +WGPURenderPassPixelLocalStorage = struct_WGPURenderPassPixelLocalStorage +class struct_WGPUVertexState(Structure): + pass + +struct_WGPUVertexState._pack_ = 1 # source:False +struct_WGPUVertexState._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('module', ctypes.POINTER(struct_WGPUShaderModuleImpl)), + ('entryPoint', WGPUStringView), + ('constantCount', ctypes.c_uint64), + ('constants', ctypes.POINTER(struct_WGPUConstantEntry)), + ('bufferCount', ctypes.c_uint64), + ('buffers', ctypes.POINTER(struct_WGPUVertexBufferLayout)), +] + +WGPUVertexState = struct_WGPUVertexState +class struct_WGPUComputePipelineDescriptor(Structure): + pass + +struct_WGPUComputePipelineDescriptor._pack_ = 1 # source:False +struct_WGPUComputePipelineDescriptor._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('label', WGPUStringView), + ('layout', ctypes.POINTER(struct_WGPUPipelineLayoutImpl)), + ('compute', WGPUComputeState), +] + +WGPUComputePipelineDescriptor = struct_WGPUComputePipelineDescriptor +class struct_WGPUFragmentState(Structure): + pass + +struct_WGPUFragmentState._pack_ = 1 # source:False +struct_WGPUFragmentState._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('module', ctypes.POINTER(struct_WGPUShaderModuleImpl)), + ('entryPoint', WGPUStringView), + ('constantCount', ctypes.c_uint64), + ('constants', ctypes.POINTER(struct_WGPUConstantEntry)), + ('targetCount', ctypes.c_uint64), + ('targets', ctypes.POINTER(struct_WGPUColorTargetState)), +] + +WGPUFragmentState = struct_WGPUFragmentState +class struct_WGPURenderPipelineDescriptor(Structure): + pass + +struct_WGPURenderPipelineDescriptor._pack_ = 1 # source:False +struct_WGPURenderPipelineDescriptor._fields_ = [ + ('nextInChain', ctypes.POINTER(struct_WGPUChainedStruct)), + ('label', WGPUStringView), + ('layout', ctypes.POINTER(struct_WGPUPipelineLayoutImpl)), + ('vertex', WGPUVertexState), + ('primitive', WGPUPrimitiveState), + ('depthStencil', ctypes.POINTER(struct_WGPUDepthStencilState)), + ('multisample', WGPUMultisampleState), + ('fragment', ctypes.POINTER(struct_WGPUFragmentState)), +] + +WGPURenderPipelineDescriptor = struct_WGPURenderPipelineDescriptor +WGPURenderPassDescriptorMaxDrawCount = struct_WGPURenderPassMaxDrawCount +WGPUShaderModuleSPIRVDescriptor = struct_WGPUShaderSourceSPIRV +WGPUShaderModuleWGSLDescriptor = struct_WGPUShaderSourceWGSL +WGPUSurfaceDescriptorFromAndroidNativeWindow = struct_WGPUSurfaceSourceAndroidNativeWindow +WGPUSurfaceDescriptorFromCanvasHTMLSelector = struct_WGPUSurfaceSourceCanvasHTMLSelector_Emscripten +WGPUSurfaceDescriptorFromMetalLayer = struct_WGPUSurfaceSourceMetalLayer +WGPUSurfaceDescriptorFromWaylandSurface = struct_WGPUSurfaceSourceWaylandSurface +WGPUSurfaceDescriptorFromWindowsHWND = struct_WGPUSurfaceSourceWindowsHWND +WGPUSurfaceDescriptorFromXcbWindow = struct_WGPUSurfaceSourceXCBWindow +WGPUSurfaceDescriptorFromXlibWindow = struct_WGPUSurfaceSourceXlibWindow +WGPUProcAdapterInfoFreeMembers = ctypes.CFUNCTYPE(None, struct_WGPUAdapterInfo) +WGPUProcAdapterPropertiesMemoryHeapsFreeMembers = ctypes.CFUNCTYPE(None, struct_WGPUAdapterPropertiesMemoryHeaps) +WGPUProcCreateInstance = ctypes.CFUNCTYPE(ctypes.POINTER(struct_WGPUInstanceImpl), ctypes.POINTER(struct_WGPUInstanceDescriptor)) +WGPUProcDrmFormatCapabilitiesFreeMembers = ctypes.CFUNCTYPE(None, struct_WGPUDrmFormatCapabilities) +WGPUProcGetInstanceFeatures = ctypes.CFUNCTYPE(WGPUStatus, ctypes.POINTER(struct_WGPUInstanceFeatures)) +WGPUProcGetProcAddress = ctypes.CFUNCTYPE(ctypes.CFUNCTYPE(None), struct_WGPUStringView) +WGPUProcSharedBufferMemoryEndAccessStateFreeMembers = ctypes.CFUNCTYPE(None, struct_WGPUSharedBufferMemoryEndAccessState) +WGPUProcSharedTextureMemoryEndAccessStateFreeMembers = ctypes.CFUNCTYPE(None, struct_WGPUSharedTextureMemoryEndAccessState) +WGPUProcSupportedFeaturesFreeMembers = ctypes.CFUNCTYPE(None, struct_WGPUSupportedFeatures) +WGPUProcSurfaceCapabilitiesFreeMembers = ctypes.CFUNCTYPE(None, struct_WGPUSurfaceCapabilities) +WGPUProcAdapterCreateDevice = ctypes.CFUNCTYPE(ctypes.POINTER(struct_WGPUDeviceImpl), ctypes.POINTER(struct_WGPUAdapterImpl), ctypes.POINTER(struct_WGPUDeviceDescriptor)) +WGPUProcAdapterGetFeatures = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUAdapterImpl), ctypes.POINTER(struct_WGPUSupportedFeatures)) +WGPUProcAdapterGetFormatCapabilities = ctypes.CFUNCTYPE(WGPUStatus, ctypes.POINTER(struct_WGPUAdapterImpl), WGPUTextureFormat, ctypes.POINTER(struct_WGPUFormatCapabilities)) +WGPUProcAdapterGetInfo = ctypes.CFUNCTYPE(WGPUStatus, ctypes.POINTER(struct_WGPUAdapterImpl), ctypes.POINTER(struct_WGPUAdapterInfo)) +WGPUProcAdapterGetInstance = ctypes.CFUNCTYPE(ctypes.POINTER(struct_WGPUInstanceImpl), ctypes.POINTER(struct_WGPUAdapterImpl)) +WGPUProcAdapterGetLimits = ctypes.CFUNCTYPE(WGPUStatus, ctypes.POINTER(struct_WGPUAdapterImpl), ctypes.POINTER(struct_WGPUSupportedLimits)) +WGPUProcAdapterHasFeature = ctypes.CFUNCTYPE(ctypes.c_uint32, ctypes.POINTER(struct_WGPUAdapterImpl), WGPUFeatureName) +WGPUProcAdapterRequestDevice = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUAdapterImpl), ctypes.POINTER(struct_WGPUDeviceDescriptor), ctypes.CFUNCTYPE(None, WGPURequestDeviceStatus, ctypes.POINTER(struct_WGPUDeviceImpl), struct_WGPUStringView, ctypes.POINTER(None)), ctypes.POINTER(None)) +WGPUProcAdapterRequestDevice2 = ctypes.CFUNCTYPE(struct_WGPUFuture, ctypes.POINTER(struct_WGPUAdapterImpl), ctypes.POINTER(struct_WGPUDeviceDescriptor), struct_WGPURequestDeviceCallbackInfo2) +WGPUProcAdapterRequestDeviceF = ctypes.CFUNCTYPE(struct_WGPUFuture, ctypes.POINTER(struct_WGPUAdapterImpl), ctypes.POINTER(struct_WGPUDeviceDescriptor), struct_WGPURequestDeviceCallbackInfo) +WGPUProcAdapterAddRef = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUAdapterImpl)) +WGPUProcAdapterRelease = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUAdapterImpl)) +WGPUProcBindGroupSetLabel = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUBindGroupImpl), struct_WGPUStringView) +WGPUProcBindGroupAddRef = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUBindGroupImpl)) +WGPUProcBindGroupRelease = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUBindGroupImpl)) +WGPUProcBindGroupLayoutSetLabel = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUBindGroupLayoutImpl), struct_WGPUStringView) +WGPUProcBindGroupLayoutAddRef = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUBindGroupLayoutImpl)) +WGPUProcBindGroupLayoutRelease = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUBindGroupLayoutImpl)) +WGPUProcBufferDestroy = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUBufferImpl)) +WGPUProcBufferGetConstMappedRange = ctypes.CFUNCTYPE(ctypes.POINTER(None), ctypes.POINTER(struct_WGPUBufferImpl), ctypes.c_uint64, ctypes.c_uint64) +WGPUProcBufferGetMapState = ctypes.CFUNCTYPE(WGPUBufferMapState, ctypes.POINTER(struct_WGPUBufferImpl)) +WGPUProcBufferGetMappedRange = ctypes.CFUNCTYPE(ctypes.POINTER(None), ctypes.POINTER(struct_WGPUBufferImpl), ctypes.c_uint64, ctypes.c_uint64) +WGPUProcBufferGetSize = ctypes.CFUNCTYPE(ctypes.c_uint64, ctypes.POINTER(struct_WGPUBufferImpl)) +WGPUProcBufferGetUsage = ctypes.CFUNCTYPE(ctypes.c_uint64, ctypes.POINTER(struct_WGPUBufferImpl)) +WGPUProcBufferMapAsync = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUBufferImpl), ctypes.c_uint64, ctypes.c_uint64, ctypes.c_uint64, ctypes.CFUNCTYPE(None, WGPUBufferMapAsyncStatus, ctypes.POINTER(None)), ctypes.POINTER(None)) +WGPUProcBufferMapAsync2 = ctypes.CFUNCTYPE(struct_WGPUFuture, ctypes.POINTER(struct_WGPUBufferImpl), ctypes.c_uint64, ctypes.c_uint64, ctypes.c_uint64, struct_WGPUBufferMapCallbackInfo2) +WGPUProcBufferMapAsyncF = ctypes.CFUNCTYPE(struct_WGPUFuture, ctypes.POINTER(struct_WGPUBufferImpl), ctypes.c_uint64, ctypes.c_uint64, ctypes.c_uint64, struct_WGPUBufferMapCallbackInfo) +WGPUProcBufferSetLabel = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUBufferImpl), struct_WGPUStringView) +WGPUProcBufferUnmap = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUBufferImpl)) +WGPUProcBufferAddRef = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUBufferImpl)) +WGPUProcBufferRelease = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUBufferImpl)) +WGPUProcCommandBufferSetLabel = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUCommandBufferImpl), struct_WGPUStringView) +WGPUProcCommandBufferAddRef = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUCommandBufferImpl)) +WGPUProcCommandBufferRelease = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUCommandBufferImpl)) +WGPUProcCommandEncoderBeginComputePass = ctypes.CFUNCTYPE(ctypes.POINTER(struct_WGPUComputePassEncoderImpl), ctypes.POINTER(struct_WGPUCommandEncoderImpl), ctypes.POINTER(struct_WGPUComputePassDescriptor)) +WGPUProcCommandEncoderBeginRenderPass = ctypes.CFUNCTYPE(ctypes.POINTER(struct_WGPURenderPassEncoderImpl), ctypes.POINTER(struct_WGPUCommandEncoderImpl), ctypes.POINTER(struct_WGPURenderPassDescriptor)) +WGPUProcCommandEncoderClearBuffer = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUCommandEncoderImpl), ctypes.POINTER(struct_WGPUBufferImpl), ctypes.c_uint64, ctypes.c_uint64) +WGPUProcCommandEncoderCopyBufferToBuffer = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUCommandEncoderImpl), ctypes.POINTER(struct_WGPUBufferImpl), ctypes.c_uint64, ctypes.POINTER(struct_WGPUBufferImpl), ctypes.c_uint64, ctypes.c_uint64) +WGPUProcCommandEncoderCopyBufferToTexture = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUCommandEncoderImpl), ctypes.POINTER(struct_WGPUImageCopyBuffer), ctypes.POINTER(struct_WGPUImageCopyTexture), ctypes.POINTER(struct_WGPUExtent3D)) +WGPUProcCommandEncoderCopyTextureToBuffer = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUCommandEncoderImpl), ctypes.POINTER(struct_WGPUImageCopyTexture), ctypes.POINTER(struct_WGPUImageCopyBuffer), ctypes.POINTER(struct_WGPUExtent3D)) +WGPUProcCommandEncoderCopyTextureToTexture = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUCommandEncoderImpl), ctypes.POINTER(struct_WGPUImageCopyTexture), ctypes.POINTER(struct_WGPUImageCopyTexture), ctypes.POINTER(struct_WGPUExtent3D)) +WGPUProcCommandEncoderFinish = ctypes.CFUNCTYPE(ctypes.POINTER(struct_WGPUCommandBufferImpl), ctypes.POINTER(struct_WGPUCommandEncoderImpl), ctypes.POINTER(struct_WGPUCommandBufferDescriptor)) +WGPUProcCommandEncoderInjectValidationError = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUCommandEncoderImpl), struct_WGPUStringView) +WGPUProcCommandEncoderInsertDebugMarker = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUCommandEncoderImpl), struct_WGPUStringView) +WGPUProcCommandEncoderPopDebugGroup = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUCommandEncoderImpl)) +WGPUProcCommandEncoderPushDebugGroup = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUCommandEncoderImpl), struct_WGPUStringView) +WGPUProcCommandEncoderResolveQuerySet = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUCommandEncoderImpl), ctypes.POINTER(struct_WGPUQuerySetImpl), ctypes.c_uint32, ctypes.c_uint32, ctypes.POINTER(struct_WGPUBufferImpl), ctypes.c_uint64) +WGPUProcCommandEncoderSetLabel = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUCommandEncoderImpl), struct_WGPUStringView) +WGPUProcCommandEncoderWriteBuffer = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUCommandEncoderImpl), ctypes.POINTER(struct_WGPUBufferImpl), ctypes.c_uint64, ctypes.POINTER(ctypes.c_ubyte), ctypes.c_uint64) +WGPUProcCommandEncoderWriteTimestamp = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUCommandEncoderImpl), ctypes.POINTER(struct_WGPUQuerySetImpl), ctypes.c_uint32) +WGPUProcCommandEncoderAddRef = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUCommandEncoderImpl)) +WGPUProcCommandEncoderRelease = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUCommandEncoderImpl)) +WGPUProcComputePassEncoderDispatchWorkgroups = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUComputePassEncoderImpl), ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32) +WGPUProcComputePassEncoderDispatchWorkgroupsIndirect = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUComputePassEncoderImpl), ctypes.POINTER(struct_WGPUBufferImpl), ctypes.c_uint64) +WGPUProcComputePassEncoderEnd = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUComputePassEncoderImpl)) +WGPUProcComputePassEncoderInsertDebugMarker = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUComputePassEncoderImpl), struct_WGPUStringView) +WGPUProcComputePassEncoderPopDebugGroup = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUComputePassEncoderImpl)) +WGPUProcComputePassEncoderPushDebugGroup = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUComputePassEncoderImpl), struct_WGPUStringView) +WGPUProcComputePassEncoderSetBindGroup = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUComputePassEncoderImpl), ctypes.c_uint32, ctypes.POINTER(struct_WGPUBindGroupImpl), ctypes.c_uint64, ctypes.POINTER(ctypes.c_uint32)) +WGPUProcComputePassEncoderSetLabel = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUComputePassEncoderImpl), struct_WGPUStringView) +WGPUProcComputePassEncoderSetPipeline = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUComputePassEncoderImpl), ctypes.POINTER(struct_WGPUComputePipelineImpl)) +WGPUProcComputePassEncoderWriteTimestamp = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUComputePassEncoderImpl), ctypes.POINTER(struct_WGPUQuerySetImpl), ctypes.c_uint32) +WGPUProcComputePassEncoderAddRef = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUComputePassEncoderImpl)) +WGPUProcComputePassEncoderRelease = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUComputePassEncoderImpl)) +WGPUProcComputePipelineGetBindGroupLayout = ctypes.CFUNCTYPE(ctypes.POINTER(struct_WGPUBindGroupLayoutImpl), ctypes.POINTER(struct_WGPUComputePipelineImpl), ctypes.c_uint32) +WGPUProcComputePipelineSetLabel = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUComputePipelineImpl), struct_WGPUStringView) +WGPUProcComputePipelineAddRef = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUComputePipelineImpl)) +WGPUProcComputePipelineRelease = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUComputePipelineImpl)) +WGPUProcDeviceCreateBindGroup = ctypes.CFUNCTYPE(ctypes.POINTER(struct_WGPUBindGroupImpl), ctypes.POINTER(struct_WGPUDeviceImpl), ctypes.POINTER(struct_WGPUBindGroupDescriptor)) +WGPUProcDeviceCreateBindGroupLayout = ctypes.CFUNCTYPE(ctypes.POINTER(struct_WGPUBindGroupLayoutImpl), ctypes.POINTER(struct_WGPUDeviceImpl), ctypes.POINTER(struct_WGPUBindGroupLayoutDescriptor)) +WGPUProcDeviceCreateBuffer = ctypes.CFUNCTYPE(ctypes.POINTER(struct_WGPUBufferImpl), ctypes.POINTER(struct_WGPUDeviceImpl), ctypes.POINTER(struct_WGPUBufferDescriptor)) +WGPUProcDeviceCreateCommandEncoder = ctypes.CFUNCTYPE(ctypes.POINTER(struct_WGPUCommandEncoderImpl), ctypes.POINTER(struct_WGPUDeviceImpl), ctypes.POINTER(struct_WGPUCommandEncoderDescriptor)) +WGPUProcDeviceCreateComputePipeline = ctypes.CFUNCTYPE(ctypes.POINTER(struct_WGPUComputePipelineImpl), ctypes.POINTER(struct_WGPUDeviceImpl), ctypes.POINTER(struct_WGPUComputePipelineDescriptor)) +WGPUProcDeviceCreateComputePipelineAsync = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUDeviceImpl), ctypes.POINTER(struct_WGPUComputePipelineDescriptor), ctypes.CFUNCTYPE(None, WGPUCreatePipelineAsyncStatus, ctypes.POINTER(struct_WGPUComputePipelineImpl), struct_WGPUStringView, ctypes.POINTER(None)), ctypes.POINTER(None)) +WGPUProcDeviceCreateComputePipelineAsync2 = ctypes.CFUNCTYPE(struct_WGPUFuture, ctypes.POINTER(struct_WGPUDeviceImpl), ctypes.POINTER(struct_WGPUComputePipelineDescriptor), struct_WGPUCreateComputePipelineAsyncCallbackInfo2) +WGPUProcDeviceCreateComputePipelineAsyncF = ctypes.CFUNCTYPE(struct_WGPUFuture, ctypes.POINTER(struct_WGPUDeviceImpl), ctypes.POINTER(struct_WGPUComputePipelineDescriptor), struct_WGPUCreateComputePipelineAsyncCallbackInfo) +WGPUProcDeviceCreateErrorBuffer = ctypes.CFUNCTYPE(ctypes.POINTER(struct_WGPUBufferImpl), ctypes.POINTER(struct_WGPUDeviceImpl), ctypes.POINTER(struct_WGPUBufferDescriptor)) +WGPUProcDeviceCreateErrorExternalTexture = ctypes.CFUNCTYPE(ctypes.POINTER(struct_WGPUExternalTextureImpl), ctypes.POINTER(struct_WGPUDeviceImpl)) +WGPUProcDeviceCreateErrorShaderModule = ctypes.CFUNCTYPE(ctypes.POINTER(struct_WGPUShaderModuleImpl), ctypes.POINTER(struct_WGPUDeviceImpl), ctypes.POINTER(struct_WGPUShaderModuleDescriptor), struct_WGPUStringView) +WGPUProcDeviceCreateErrorTexture = ctypes.CFUNCTYPE(ctypes.POINTER(struct_WGPUTextureImpl), ctypes.POINTER(struct_WGPUDeviceImpl), ctypes.POINTER(struct_WGPUTextureDescriptor)) +WGPUProcDeviceCreateExternalTexture = ctypes.CFUNCTYPE(ctypes.POINTER(struct_WGPUExternalTextureImpl), ctypes.POINTER(struct_WGPUDeviceImpl), ctypes.POINTER(struct_WGPUExternalTextureDescriptor)) +WGPUProcDeviceCreatePipelineLayout = ctypes.CFUNCTYPE(ctypes.POINTER(struct_WGPUPipelineLayoutImpl), ctypes.POINTER(struct_WGPUDeviceImpl), ctypes.POINTER(struct_WGPUPipelineLayoutDescriptor)) +WGPUProcDeviceCreateQuerySet = ctypes.CFUNCTYPE(ctypes.POINTER(struct_WGPUQuerySetImpl), ctypes.POINTER(struct_WGPUDeviceImpl), ctypes.POINTER(struct_WGPUQuerySetDescriptor)) +WGPUProcDeviceCreateRenderBundleEncoder = ctypes.CFUNCTYPE(ctypes.POINTER(struct_WGPURenderBundleEncoderImpl), ctypes.POINTER(struct_WGPUDeviceImpl), ctypes.POINTER(struct_WGPURenderBundleEncoderDescriptor)) +WGPUProcDeviceCreateRenderPipeline = ctypes.CFUNCTYPE(ctypes.POINTER(struct_WGPURenderPipelineImpl), ctypes.POINTER(struct_WGPUDeviceImpl), ctypes.POINTER(struct_WGPURenderPipelineDescriptor)) +WGPUProcDeviceCreateRenderPipelineAsync = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUDeviceImpl), ctypes.POINTER(struct_WGPURenderPipelineDescriptor), ctypes.CFUNCTYPE(None, WGPUCreatePipelineAsyncStatus, ctypes.POINTER(struct_WGPURenderPipelineImpl), struct_WGPUStringView, ctypes.POINTER(None)), ctypes.POINTER(None)) +WGPUProcDeviceCreateRenderPipelineAsync2 = ctypes.CFUNCTYPE(struct_WGPUFuture, ctypes.POINTER(struct_WGPUDeviceImpl), ctypes.POINTER(struct_WGPURenderPipelineDescriptor), struct_WGPUCreateRenderPipelineAsyncCallbackInfo2) +WGPUProcDeviceCreateRenderPipelineAsyncF = ctypes.CFUNCTYPE(struct_WGPUFuture, ctypes.POINTER(struct_WGPUDeviceImpl), ctypes.POINTER(struct_WGPURenderPipelineDescriptor), struct_WGPUCreateRenderPipelineAsyncCallbackInfo) +WGPUProcDeviceCreateSampler = ctypes.CFUNCTYPE(ctypes.POINTER(struct_WGPUSamplerImpl), ctypes.POINTER(struct_WGPUDeviceImpl), ctypes.POINTER(struct_WGPUSamplerDescriptor)) +WGPUProcDeviceCreateShaderModule = ctypes.CFUNCTYPE(ctypes.POINTER(struct_WGPUShaderModuleImpl), ctypes.POINTER(struct_WGPUDeviceImpl), ctypes.POINTER(struct_WGPUShaderModuleDescriptor)) +WGPUProcDeviceCreateTexture = ctypes.CFUNCTYPE(ctypes.POINTER(struct_WGPUTextureImpl), ctypes.POINTER(struct_WGPUDeviceImpl), ctypes.POINTER(struct_WGPUTextureDescriptor)) +WGPUProcDeviceDestroy = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUDeviceImpl)) +WGPUProcDeviceForceLoss = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUDeviceImpl), WGPUDeviceLostReason, struct_WGPUStringView) +WGPUProcDeviceGetAHardwareBufferProperties = ctypes.CFUNCTYPE(WGPUStatus, ctypes.POINTER(struct_WGPUDeviceImpl), ctypes.POINTER(None), ctypes.POINTER(struct_WGPUAHardwareBufferProperties)) +WGPUProcDeviceGetAdapter = ctypes.CFUNCTYPE(ctypes.POINTER(struct_WGPUAdapterImpl), ctypes.POINTER(struct_WGPUDeviceImpl)) +WGPUProcDeviceGetAdapterInfo = ctypes.CFUNCTYPE(WGPUStatus, ctypes.POINTER(struct_WGPUDeviceImpl), ctypes.POINTER(struct_WGPUAdapterInfo)) +WGPUProcDeviceGetFeatures = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUDeviceImpl), ctypes.POINTER(struct_WGPUSupportedFeatures)) +WGPUProcDeviceGetLimits = ctypes.CFUNCTYPE(WGPUStatus, ctypes.POINTER(struct_WGPUDeviceImpl), ctypes.POINTER(struct_WGPUSupportedLimits)) +WGPUProcDeviceGetLostFuture = ctypes.CFUNCTYPE(struct_WGPUFuture, ctypes.POINTER(struct_WGPUDeviceImpl)) +WGPUProcDeviceGetQueue = ctypes.CFUNCTYPE(ctypes.POINTER(struct_WGPUQueueImpl), ctypes.POINTER(struct_WGPUDeviceImpl)) +WGPUProcDeviceHasFeature = ctypes.CFUNCTYPE(ctypes.c_uint32, ctypes.POINTER(struct_WGPUDeviceImpl), WGPUFeatureName) +WGPUProcDeviceImportSharedBufferMemory = ctypes.CFUNCTYPE(ctypes.POINTER(struct_WGPUSharedBufferMemoryImpl), ctypes.POINTER(struct_WGPUDeviceImpl), ctypes.POINTER(struct_WGPUSharedBufferMemoryDescriptor)) +WGPUProcDeviceImportSharedFence = ctypes.CFUNCTYPE(ctypes.POINTER(struct_WGPUSharedFenceImpl), ctypes.POINTER(struct_WGPUDeviceImpl), ctypes.POINTER(struct_WGPUSharedFenceDescriptor)) +WGPUProcDeviceImportSharedTextureMemory = ctypes.CFUNCTYPE(ctypes.POINTER(struct_WGPUSharedTextureMemoryImpl), ctypes.POINTER(struct_WGPUDeviceImpl), ctypes.POINTER(struct_WGPUSharedTextureMemoryDescriptor)) +WGPUProcDeviceInjectError = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUDeviceImpl), WGPUErrorType, struct_WGPUStringView) +WGPUProcDevicePopErrorScope = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUDeviceImpl), ctypes.CFUNCTYPE(None, WGPUErrorType, struct_WGPUStringView, ctypes.POINTER(None)), ctypes.POINTER(None)) +WGPUProcDevicePopErrorScope2 = ctypes.CFUNCTYPE(struct_WGPUFuture, ctypes.POINTER(struct_WGPUDeviceImpl), struct_WGPUPopErrorScopeCallbackInfo2) +WGPUProcDevicePopErrorScopeF = ctypes.CFUNCTYPE(struct_WGPUFuture, ctypes.POINTER(struct_WGPUDeviceImpl), struct_WGPUPopErrorScopeCallbackInfo) +WGPUProcDevicePushErrorScope = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUDeviceImpl), WGPUErrorFilter) +WGPUProcDeviceSetLabel = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUDeviceImpl), struct_WGPUStringView) +WGPUProcDeviceSetLoggingCallback = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUDeviceImpl), ctypes.CFUNCTYPE(None, WGPULoggingType, struct_WGPUStringView, ctypes.POINTER(None)), ctypes.POINTER(None)) +WGPUProcDeviceTick = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUDeviceImpl)) +WGPUProcDeviceValidateTextureDescriptor = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUDeviceImpl), ctypes.POINTER(struct_WGPUTextureDescriptor)) +WGPUProcDeviceAddRef = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUDeviceImpl)) +WGPUProcDeviceRelease = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUDeviceImpl)) +WGPUProcExternalTextureDestroy = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUExternalTextureImpl)) +WGPUProcExternalTextureExpire = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUExternalTextureImpl)) +WGPUProcExternalTextureRefresh = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUExternalTextureImpl)) +WGPUProcExternalTextureSetLabel = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUExternalTextureImpl), struct_WGPUStringView) +WGPUProcExternalTextureAddRef = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUExternalTextureImpl)) +WGPUProcExternalTextureRelease = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUExternalTextureImpl)) +WGPUProcInstanceCreateSurface = ctypes.CFUNCTYPE(ctypes.POINTER(struct_WGPUSurfaceImpl), ctypes.POINTER(struct_WGPUInstanceImpl), ctypes.POINTER(struct_WGPUSurfaceDescriptor)) +WGPUProcInstanceEnumerateWGSLLanguageFeatures = ctypes.CFUNCTYPE(ctypes.c_uint64, ctypes.POINTER(struct_WGPUInstanceImpl), ctypes.POINTER(WGPUWGSLFeatureName)) +WGPUProcInstanceHasWGSLLanguageFeature = ctypes.CFUNCTYPE(ctypes.c_uint32, ctypes.POINTER(struct_WGPUInstanceImpl), WGPUWGSLFeatureName) +WGPUProcInstanceProcessEvents = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUInstanceImpl)) +WGPUProcInstanceRequestAdapter = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUInstanceImpl), ctypes.POINTER(struct_WGPURequestAdapterOptions), ctypes.CFUNCTYPE(None, WGPURequestAdapterStatus, ctypes.POINTER(struct_WGPUAdapterImpl), struct_WGPUStringView, ctypes.POINTER(None)), ctypes.POINTER(None)) +WGPUProcInstanceRequestAdapter2 = ctypes.CFUNCTYPE(struct_WGPUFuture, ctypes.POINTER(struct_WGPUInstanceImpl), ctypes.POINTER(struct_WGPURequestAdapterOptions), struct_WGPURequestAdapterCallbackInfo2) +WGPUProcInstanceRequestAdapterF = ctypes.CFUNCTYPE(struct_WGPUFuture, ctypes.POINTER(struct_WGPUInstanceImpl), ctypes.POINTER(struct_WGPURequestAdapterOptions), struct_WGPURequestAdapterCallbackInfo) +WGPUProcInstanceWaitAny = ctypes.CFUNCTYPE(WGPUWaitStatus, ctypes.POINTER(struct_WGPUInstanceImpl), ctypes.c_uint64, ctypes.POINTER(struct_WGPUFutureWaitInfo), ctypes.c_uint64) +WGPUProcInstanceAddRef = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUInstanceImpl)) +WGPUProcInstanceRelease = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUInstanceImpl)) +WGPUProcPipelineLayoutSetLabel = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUPipelineLayoutImpl), struct_WGPUStringView) +WGPUProcPipelineLayoutAddRef = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUPipelineLayoutImpl)) +WGPUProcPipelineLayoutRelease = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUPipelineLayoutImpl)) +WGPUProcQuerySetDestroy = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUQuerySetImpl)) +WGPUProcQuerySetGetCount = ctypes.CFUNCTYPE(ctypes.c_uint32, ctypes.POINTER(struct_WGPUQuerySetImpl)) +WGPUProcQuerySetGetType = ctypes.CFUNCTYPE(WGPUQueryType, ctypes.POINTER(struct_WGPUQuerySetImpl)) +WGPUProcQuerySetSetLabel = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUQuerySetImpl), struct_WGPUStringView) +WGPUProcQuerySetAddRef = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUQuerySetImpl)) +WGPUProcQuerySetRelease = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUQuerySetImpl)) +WGPUProcQueueCopyExternalTextureForBrowser = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUQueueImpl), ctypes.POINTER(struct_WGPUImageCopyExternalTexture), ctypes.POINTER(struct_WGPUImageCopyTexture), ctypes.POINTER(struct_WGPUExtent3D), ctypes.POINTER(struct_WGPUCopyTextureForBrowserOptions)) +WGPUProcQueueCopyTextureForBrowser = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUQueueImpl), ctypes.POINTER(struct_WGPUImageCopyTexture), ctypes.POINTER(struct_WGPUImageCopyTexture), ctypes.POINTER(struct_WGPUExtent3D), ctypes.POINTER(struct_WGPUCopyTextureForBrowserOptions)) +WGPUProcQueueOnSubmittedWorkDone = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUQueueImpl), ctypes.CFUNCTYPE(None, WGPUQueueWorkDoneStatus, ctypes.POINTER(None)), ctypes.POINTER(None)) +WGPUProcQueueOnSubmittedWorkDone2 = ctypes.CFUNCTYPE(struct_WGPUFuture, ctypes.POINTER(struct_WGPUQueueImpl), struct_WGPUQueueWorkDoneCallbackInfo2) +WGPUProcQueueOnSubmittedWorkDoneF = ctypes.CFUNCTYPE(struct_WGPUFuture, ctypes.POINTER(struct_WGPUQueueImpl), struct_WGPUQueueWorkDoneCallbackInfo) +WGPUProcQueueSetLabel = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUQueueImpl), struct_WGPUStringView) +WGPUProcQueueSubmit = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUQueueImpl), ctypes.c_uint64, ctypes.POINTER(ctypes.POINTER(struct_WGPUCommandBufferImpl))) +WGPUProcQueueWriteBuffer = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUQueueImpl), ctypes.POINTER(struct_WGPUBufferImpl), ctypes.c_uint64, ctypes.POINTER(None), ctypes.c_uint64) +WGPUProcQueueWriteTexture = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUQueueImpl), ctypes.POINTER(struct_WGPUImageCopyTexture), ctypes.POINTER(None), ctypes.c_uint64, ctypes.POINTER(struct_WGPUTextureDataLayout), ctypes.POINTER(struct_WGPUExtent3D)) +WGPUProcQueueAddRef = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUQueueImpl)) +WGPUProcQueueRelease = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUQueueImpl)) +WGPUProcRenderBundleSetLabel = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPURenderBundleImpl), struct_WGPUStringView) +WGPUProcRenderBundleAddRef = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPURenderBundleImpl)) +WGPUProcRenderBundleRelease = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPURenderBundleImpl)) +WGPUProcRenderBundleEncoderDraw = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPURenderBundleEncoderImpl), ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32) +WGPUProcRenderBundleEncoderDrawIndexed = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPURenderBundleEncoderImpl), ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32, ctypes.c_int32, ctypes.c_uint32) +WGPUProcRenderBundleEncoderDrawIndexedIndirect = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPURenderBundleEncoderImpl), ctypes.POINTER(struct_WGPUBufferImpl), ctypes.c_uint64) +WGPUProcRenderBundleEncoderDrawIndirect = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPURenderBundleEncoderImpl), ctypes.POINTER(struct_WGPUBufferImpl), ctypes.c_uint64) +WGPUProcRenderBundleEncoderFinish = ctypes.CFUNCTYPE(ctypes.POINTER(struct_WGPURenderBundleImpl), ctypes.POINTER(struct_WGPURenderBundleEncoderImpl), ctypes.POINTER(struct_WGPURenderBundleDescriptor)) +WGPUProcRenderBundleEncoderInsertDebugMarker = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPURenderBundleEncoderImpl), struct_WGPUStringView) +WGPUProcRenderBundleEncoderPopDebugGroup = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPURenderBundleEncoderImpl)) +WGPUProcRenderBundleEncoderPushDebugGroup = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPURenderBundleEncoderImpl), struct_WGPUStringView) +WGPUProcRenderBundleEncoderSetBindGroup = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPURenderBundleEncoderImpl), ctypes.c_uint32, ctypes.POINTER(struct_WGPUBindGroupImpl), ctypes.c_uint64, ctypes.POINTER(ctypes.c_uint32)) +WGPUProcRenderBundleEncoderSetIndexBuffer = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPURenderBundleEncoderImpl), ctypes.POINTER(struct_WGPUBufferImpl), WGPUIndexFormat, ctypes.c_uint64, ctypes.c_uint64) +WGPUProcRenderBundleEncoderSetLabel = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPURenderBundleEncoderImpl), struct_WGPUStringView) +WGPUProcRenderBundleEncoderSetPipeline = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPURenderBundleEncoderImpl), ctypes.POINTER(struct_WGPURenderPipelineImpl)) +WGPUProcRenderBundleEncoderSetVertexBuffer = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPURenderBundleEncoderImpl), ctypes.c_uint32, ctypes.POINTER(struct_WGPUBufferImpl), ctypes.c_uint64, ctypes.c_uint64) +WGPUProcRenderBundleEncoderAddRef = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPURenderBundleEncoderImpl)) +WGPUProcRenderBundleEncoderRelease = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPURenderBundleEncoderImpl)) +WGPUProcRenderPassEncoderBeginOcclusionQuery = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPURenderPassEncoderImpl), ctypes.c_uint32) +WGPUProcRenderPassEncoderDraw = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPURenderPassEncoderImpl), ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32) +WGPUProcRenderPassEncoderDrawIndexed = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPURenderPassEncoderImpl), ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32, ctypes.c_int32, ctypes.c_uint32) +WGPUProcRenderPassEncoderDrawIndexedIndirect = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPURenderPassEncoderImpl), ctypes.POINTER(struct_WGPUBufferImpl), ctypes.c_uint64) +WGPUProcRenderPassEncoderDrawIndirect = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPURenderPassEncoderImpl), ctypes.POINTER(struct_WGPUBufferImpl), ctypes.c_uint64) +WGPUProcRenderPassEncoderEnd = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPURenderPassEncoderImpl)) +WGPUProcRenderPassEncoderEndOcclusionQuery = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPURenderPassEncoderImpl)) +WGPUProcRenderPassEncoderExecuteBundles = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPURenderPassEncoderImpl), ctypes.c_uint64, ctypes.POINTER(ctypes.POINTER(struct_WGPURenderBundleImpl))) +WGPUProcRenderPassEncoderInsertDebugMarker = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPURenderPassEncoderImpl), struct_WGPUStringView) +WGPUProcRenderPassEncoderMultiDrawIndexedIndirect = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPURenderPassEncoderImpl), ctypes.POINTER(struct_WGPUBufferImpl), ctypes.c_uint64, ctypes.c_uint32, ctypes.POINTER(struct_WGPUBufferImpl), ctypes.c_uint64) +WGPUProcRenderPassEncoderMultiDrawIndirect = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPURenderPassEncoderImpl), ctypes.POINTER(struct_WGPUBufferImpl), ctypes.c_uint64, ctypes.c_uint32, ctypes.POINTER(struct_WGPUBufferImpl), ctypes.c_uint64) +WGPUProcRenderPassEncoderPixelLocalStorageBarrier = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPURenderPassEncoderImpl)) +WGPUProcRenderPassEncoderPopDebugGroup = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPURenderPassEncoderImpl)) +WGPUProcRenderPassEncoderPushDebugGroup = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPURenderPassEncoderImpl), struct_WGPUStringView) +WGPUProcRenderPassEncoderSetBindGroup = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPURenderPassEncoderImpl), ctypes.c_uint32, ctypes.POINTER(struct_WGPUBindGroupImpl), ctypes.c_uint64, ctypes.POINTER(ctypes.c_uint32)) +WGPUProcRenderPassEncoderSetBlendConstant = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPURenderPassEncoderImpl), ctypes.POINTER(struct_WGPUColor)) +WGPUProcRenderPassEncoderSetIndexBuffer = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPURenderPassEncoderImpl), ctypes.POINTER(struct_WGPUBufferImpl), WGPUIndexFormat, ctypes.c_uint64, ctypes.c_uint64) +WGPUProcRenderPassEncoderSetLabel = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPURenderPassEncoderImpl), struct_WGPUStringView) +WGPUProcRenderPassEncoderSetPipeline = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPURenderPassEncoderImpl), ctypes.POINTER(struct_WGPURenderPipelineImpl)) +WGPUProcRenderPassEncoderSetScissorRect = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPURenderPassEncoderImpl), ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32) +WGPUProcRenderPassEncoderSetStencilReference = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPURenderPassEncoderImpl), ctypes.c_uint32) +WGPUProcRenderPassEncoderSetVertexBuffer = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPURenderPassEncoderImpl), ctypes.c_uint32, ctypes.POINTER(struct_WGPUBufferImpl), ctypes.c_uint64, ctypes.c_uint64) +WGPUProcRenderPassEncoderSetViewport = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPURenderPassEncoderImpl), ctypes.c_float, ctypes.c_float, ctypes.c_float, ctypes.c_float, ctypes.c_float, ctypes.c_float) +WGPUProcRenderPassEncoderWriteTimestamp = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPURenderPassEncoderImpl), ctypes.POINTER(struct_WGPUQuerySetImpl), ctypes.c_uint32) +WGPUProcRenderPassEncoderAddRef = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPURenderPassEncoderImpl)) +WGPUProcRenderPassEncoderRelease = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPURenderPassEncoderImpl)) +WGPUProcRenderPipelineGetBindGroupLayout = ctypes.CFUNCTYPE(ctypes.POINTER(struct_WGPUBindGroupLayoutImpl), ctypes.POINTER(struct_WGPURenderPipelineImpl), ctypes.c_uint32) +WGPUProcRenderPipelineSetLabel = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPURenderPipelineImpl), struct_WGPUStringView) +WGPUProcRenderPipelineAddRef = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPURenderPipelineImpl)) +WGPUProcRenderPipelineRelease = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPURenderPipelineImpl)) +WGPUProcSamplerSetLabel = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUSamplerImpl), struct_WGPUStringView) +WGPUProcSamplerAddRef = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUSamplerImpl)) +WGPUProcSamplerRelease = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUSamplerImpl)) +WGPUProcShaderModuleGetCompilationInfo = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUShaderModuleImpl), ctypes.CFUNCTYPE(None, WGPUCompilationInfoRequestStatus, ctypes.POINTER(struct_WGPUCompilationInfo), ctypes.POINTER(None)), ctypes.POINTER(None)) +WGPUProcShaderModuleGetCompilationInfo2 = ctypes.CFUNCTYPE(struct_WGPUFuture, ctypes.POINTER(struct_WGPUShaderModuleImpl), struct_WGPUCompilationInfoCallbackInfo2) +WGPUProcShaderModuleGetCompilationInfoF = ctypes.CFUNCTYPE(struct_WGPUFuture, ctypes.POINTER(struct_WGPUShaderModuleImpl), struct_WGPUCompilationInfoCallbackInfo) +WGPUProcShaderModuleSetLabel = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUShaderModuleImpl), struct_WGPUStringView) +WGPUProcShaderModuleAddRef = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUShaderModuleImpl)) +WGPUProcShaderModuleRelease = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUShaderModuleImpl)) +WGPUProcSharedBufferMemoryBeginAccess = ctypes.CFUNCTYPE(WGPUStatus, ctypes.POINTER(struct_WGPUSharedBufferMemoryImpl), ctypes.POINTER(struct_WGPUBufferImpl), ctypes.POINTER(struct_WGPUSharedBufferMemoryBeginAccessDescriptor)) +WGPUProcSharedBufferMemoryCreateBuffer = ctypes.CFUNCTYPE(ctypes.POINTER(struct_WGPUBufferImpl), ctypes.POINTER(struct_WGPUSharedBufferMemoryImpl), ctypes.POINTER(struct_WGPUBufferDescriptor)) +WGPUProcSharedBufferMemoryEndAccess = ctypes.CFUNCTYPE(WGPUStatus, ctypes.POINTER(struct_WGPUSharedBufferMemoryImpl), ctypes.POINTER(struct_WGPUBufferImpl), ctypes.POINTER(struct_WGPUSharedBufferMemoryEndAccessState)) +WGPUProcSharedBufferMemoryGetProperties = ctypes.CFUNCTYPE(WGPUStatus, ctypes.POINTER(struct_WGPUSharedBufferMemoryImpl), ctypes.POINTER(struct_WGPUSharedBufferMemoryProperties)) +WGPUProcSharedBufferMemoryIsDeviceLost = ctypes.CFUNCTYPE(ctypes.c_uint32, ctypes.POINTER(struct_WGPUSharedBufferMemoryImpl)) +WGPUProcSharedBufferMemorySetLabel = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUSharedBufferMemoryImpl), struct_WGPUStringView) +WGPUProcSharedBufferMemoryAddRef = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUSharedBufferMemoryImpl)) +WGPUProcSharedBufferMemoryRelease = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUSharedBufferMemoryImpl)) +WGPUProcSharedFenceExportInfo = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUSharedFenceImpl), ctypes.POINTER(struct_WGPUSharedFenceExportInfo)) +WGPUProcSharedFenceAddRef = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUSharedFenceImpl)) +WGPUProcSharedFenceRelease = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUSharedFenceImpl)) +WGPUProcSharedTextureMemoryBeginAccess = ctypes.CFUNCTYPE(WGPUStatus, ctypes.POINTER(struct_WGPUSharedTextureMemoryImpl), ctypes.POINTER(struct_WGPUTextureImpl), ctypes.POINTER(struct_WGPUSharedTextureMemoryBeginAccessDescriptor)) +WGPUProcSharedTextureMemoryCreateTexture = ctypes.CFUNCTYPE(ctypes.POINTER(struct_WGPUTextureImpl), ctypes.POINTER(struct_WGPUSharedTextureMemoryImpl), ctypes.POINTER(struct_WGPUTextureDescriptor)) +WGPUProcSharedTextureMemoryEndAccess = ctypes.CFUNCTYPE(WGPUStatus, ctypes.POINTER(struct_WGPUSharedTextureMemoryImpl), ctypes.POINTER(struct_WGPUTextureImpl), ctypes.POINTER(struct_WGPUSharedTextureMemoryEndAccessState)) +WGPUProcSharedTextureMemoryGetProperties = ctypes.CFUNCTYPE(WGPUStatus, ctypes.POINTER(struct_WGPUSharedTextureMemoryImpl), ctypes.POINTER(struct_WGPUSharedTextureMemoryProperties)) +WGPUProcSharedTextureMemoryIsDeviceLost = ctypes.CFUNCTYPE(ctypes.c_uint32, ctypes.POINTER(struct_WGPUSharedTextureMemoryImpl)) +WGPUProcSharedTextureMemorySetLabel = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUSharedTextureMemoryImpl), struct_WGPUStringView) +WGPUProcSharedTextureMemoryAddRef = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUSharedTextureMemoryImpl)) +WGPUProcSharedTextureMemoryRelease = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUSharedTextureMemoryImpl)) +WGPUProcSurfaceConfigure = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUSurfaceImpl), ctypes.POINTER(struct_WGPUSurfaceConfiguration)) +WGPUProcSurfaceGetCapabilities = ctypes.CFUNCTYPE(WGPUStatus, ctypes.POINTER(struct_WGPUSurfaceImpl), ctypes.POINTER(struct_WGPUAdapterImpl), ctypes.POINTER(struct_WGPUSurfaceCapabilities)) +WGPUProcSurfaceGetCurrentTexture = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUSurfaceImpl), ctypes.POINTER(struct_WGPUSurfaceTexture)) +WGPUProcSurfacePresent = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUSurfaceImpl)) +WGPUProcSurfaceSetLabel = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUSurfaceImpl), struct_WGPUStringView) +WGPUProcSurfaceUnconfigure = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUSurfaceImpl)) +WGPUProcSurfaceAddRef = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUSurfaceImpl)) +WGPUProcSurfaceRelease = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUSurfaceImpl)) +WGPUProcTextureCreateErrorView = ctypes.CFUNCTYPE(ctypes.POINTER(struct_WGPUTextureViewImpl), ctypes.POINTER(struct_WGPUTextureImpl), ctypes.POINTER(struct_WGPUTextureViewDescriptor)) +WGPUProcTextureCreateView = ctypes.CFUNCTYPE(ctypes.POINTER(struct_WGPUTextureViewImpl), ctypes.POINTER(struct_WGPUTextureImpl), ctypes.POINTER(struct_WGPUTextureViewDescriptor)) +WGPUProcTextureDestroy = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUTextureImpl)) +WGPUProcTextureGetDepthOrArrayLayers = ctypes.CFUNCTYPE(ctypes.c_uint32, ctypes.POINTER(struct_WGPUTextureImpl)) +WGPUProcTextureGetDimension = ctypes.CFUNCTYPE(WGPUTextureDimension, ctypes.POINTER(struct_WGPUTextureImpl)) +WGPUProcTextureGetFormat = ctypes.CFUNCTYPE(WGPUTextureFormat, ctypes.POINTER(struct_WGPUTextureImpl)) +WGPUProcTextureGetHeight = ctypes.CFUNCTYPE(ctypes.c_uint32, ctypes.POINTER(struct_WGPUTextureImpl)) +WGPUProcTextureGetMipLevelCount = ctypes.CFUNCTYPE(ctypes.c_uint32, ctypes.POINTER(struct_WGPUTextureImpl)) +WGPUProcTextureGetSampleCount = ctypes.CFUNCTYPE(ctypes.c_uint32, ctypes.POINTER(struct_WGPUTextureImpl)) +WGPUProcTextureGetUsage = ctypes.CFUNCTYPE(ctypes.c_uint64, ctypes.POINTER(struct_WGPUTextureImpl)) +WGPUProcTextureGetWidth = ctypes.CFUNCTYPE(ctypes.c_uint32, ctypes.POINTER(struct_WGPUTextureImpl)) +WGPUProcTextureSetLabel = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUTextureImpl), struct_WGPUStringView) +WGPUProcTextureAddRef = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUTextureImpl)) +WGPUProcTextureRelease = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUTextureImpl)) +WGPUProcTextureViewSetLabel = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUTextureViewImpl), struct_WGPUStringView) +WGPUProcTextureViewAddRef = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUTextureViewImpl)) +WGPUProcTextureViewRelease = ctypes.CFUNCTYPE(None, ctypes.POINTER(struct_WGPUTextureViewImpl)) +try: + wgpuAdapterInfoFreeMembers = _libraries['libwebgpu_dawn.so'].wgpuAdapterInfoFreeMembers + wgpuAdapterInfoFreeMembers.restype = None + wgpuAdapterInfoFreeMembers.argtypes = [WGPUAdapterInfo] +except AttributeError: + pass +try: + wgpuAdapterPropertiesMemoryHeapsFreeMembers = _libraries['libwebgpu_dawn.so'].wgpuAdapterPropertiesMemoryHeapsFreeMembers + wgpuAdapterPropertiesMemoryHeapsFreeMembers.restype = None + wgpuAdapterPropertiesMemoryHeapsFreeMembers.argtypes = [WGPUAdapterPropertiesMemoryHeaps] +except AttributeError: + pass +try: + wgpuCreateInstance = _libraries['libwebgpu_dawn.so'].wgpuCreateInstance + wgpuCreateInstance.restype = WGPUInstance + wgpuCreateInstance.argtypes = [ctypes.POINTER(struct_WGPUInstanceDescriptor)] +except AttributeError: + pass +try: + wgpuDrmFormatCapabilitiesFreeMembers = _libraries['libwebgpu_dawn.so'].wgpuDrmFormatCapabilitiesFreeMembers + wgpuDrmFormatCapabilitiesFreeMembers.restype = None + wgpuDrmFormatCapabilitiesFreeMembers.argtypes = [WGPUDrmFormatCapabilities] +except AttributeError: + pass +try: + wgpuGetInstanceFeatures = _libraries['libwebgpu_dawn.so'].wgpuGetInstanceFeatures + wgpuGetInstanceFeatures.restype = WGPUStatus + wgpuGetInstanceFeatures.argtypes = [ctypes.POINTER(struct_WGPUInstanceFeatures)] +except AttributeError: + pass +try: + wgpuGetProcAddress = _libraries['libwebgpu_dawn.so'].wgpuGetProcAddress + wgpuGetProcAddress.restype = WGPUProc + wgpuGetProcAddress.argtypes = [WGPUStringView] +except AttributeError: + pass +try: + wgpuSharedBufferMemoryEndAccessStateFreeMembers = _libraries['libwebgpu_dawn.so'].wgpuSharedBufferMemoryEndAccessStateFreeMembers + wgpuSharedBufferMemoryEndAccessStateFreeMembers.restype = None + wgpuSharedBufferMemoryEndAccessStateFreeMembers.argtypes = [WGPUSharedBufferMemoryEndAccessState] +except AttributeError: + pass +try: + wgpuSharedTextureMemoryEndAccessStateFreeMembers = _libraries['libwebgpu_dawn.so'].wgpuSharedTextureMemoryEndAccessStateFreeMembers + wgpuSharedTextureMemoryEndAccessStateFreeMembers.restype = None + wgpuSharedTextureMemoryEndAccessStateFreeMembers.argtypes = [WGPUSharedTextureMemoryEndAccessState] +except AttributeError: + pass +try: + wgpuSupportedFeaturesFreeMembers = _libraries['libwebgpu_dawn.so'].wgpuSupportedFeaturesFreeMembers + wgpuSupportedFeaturesFreeMembers.restype = None + wgpuSupportedFeaturesFreeMembers.argtypes = [WGPUSupportedFeatures] +except AttributeError: + pass +try: + wgpuSurfaceCapabilitiesFreeMembers = _libraries['libwebgpu_dawn.so'].wgpuSurfaceCapabilitiesFreeMembers + wgpuSurfaceCapabilitiesFreeMembers.restype = None + wgpuSurfaceCapabilitiesFreeMembers.argtypes = [WGPUSurfaceCapabilities] +except AttributeError: + pass +try: + wgpuAdapterCreateDevice = _libraries['libwebgpu_dawn.so'].wgpuAdapterCreateDevice + wgpuAdapterCreateDevice.restype = WGPUDevice + wgpuAdapterCreateDevice.argtypes = [WGPUAdapter, ctypes.POINTER(struct_WGPUDeviceDescriptor)] +except AttributeError: + pass +try: + wgpuAdapterGetFeatures = _libraries['libwebgpu_dawn.so'].wgpuAdapterGetFeatures + wgpuAdapterGetFeatures.restype = None + wgpuAdapterGetFeatures.argtypes = [WGPUAdapter, ctypes.POINTER(struct_WGPUSupportedFeatures)] +except AttributeError: + pass +try: + wgpuAdapterGetFormatCapabilities = _libraries['libwebgpu_dawn.so'].wgpuAdapterGetFormatCapabilities + wgpuAdapterGetFormatCapabilities.restype = WGPUStatus + wgpuAdapterGetFormatCapabilities.argtypes = [WGPUAdapter, WGPUTextureFormat, ctypes.POINTER(struct_WGPUFormatCapabilities)] +except AttributeError: + pass +try: + wgpuAdapterGetInfo = _libraries['libwebgpu_dawn.so'].wgpuAdapterGetInfo + wgpuAdapterGetInfo.restype = WGPUStatus + wgpuAdapterGetInfo.argtypes = [WGPUAdapter, ctypes.POINTER(struct_WGPUAdapterInfo)] +except AttributeError: + pass +try: + wgpuAdapterGetInstance = _libraries['libwebgpu_dawn.so'].wgpuAdapterGetInstance + wgpuAdapterGetInstance.restype = WGPUInstance + wgpuAdapterGetInstance.argtypes = [WGPUAdapter] +except AttributeError: + pass +try: + wgpuAdapterGetLimits = _libraries['libwebgpu_dawn.so'].wgpuAdapterGetLimits + wgpuAdapterGetLimits.restype = WGPUStatus + wgpuAdapterGetLimits.argtypes = [WGPUAdapter, ctypes.POINTER(struct_WGPUSupportedLimits)] +except AttributeError: + pass +try: + wgpuAdapterHasFeature = _libraries['libwebgpu_dawn.so'].wgpuAdapterHasFeature + wgpuAdapterHasFeature.restype = WGPUBool + wgpuAdapterHasFeature.argtypes = [WGPUAdapter, WGPUFeatureName] +except AttributeError: + pass +try: + wgpuAdapterRequestDevice = _libraries['libwebgpu_dawn.so'].wgpuAdapterRequestDevice + wgpuAdapterRequestDevice.restype = None + wgpuAdapterRequestDevice.argtypes = [WGPUAdapter, ctypes.POINTER(struct_WGPUDeviceDescriptor), WGPURequestDeviceCallback, ctypes.POINTER(None)] +except AttributeError: + pass +try: + wgpuAdapterRequestDevice2 = _libraries['libwebgpu_dawn.so'].wgpuAdapterRequestDevice2 + wgpuAdapterRequestDevice2.restype = WGPUFuture + wgpuAdapterRequestDevice2.argtypes = [WGPUAdapter, ctypes.POINTER(struct_WGPUDeviceDescriptor), WGPURequestDeviceCallbackInfo2] +except AttributeError: + pass +try: + wgpuAdapterRequestDeviceF = _libraries['libwebgpu_dawn.so'].wgpuAdapterRequestDeviceF + wgpuAdapterRequestDeviceF.restype = WGPUFuture + wgpuAdapterRequestDeviceF.argtypes = [WGPUAdapter, ctypes.POINTER(struct_WGPUDeviceDescriptor), WGPURequestDeviceCallbackInfo] +except AttributeError: + pass +try: + wgpuAdapterAddRef = _libraries['libwebgpu_dawn.so'].wgpuAdapterAddRef + wgpuAdapterAddRef.restype = None + wgpuAdapterAddRef.argtypes = [WGPUAdapter] +except AttributeError: + pass +try: + wgpuAdapterRelease = _libraries['libwebgpu_dawn.so'].wgpuAdapterRelease + wgpuAdapterRelease.restype = None + wgpuAdapterRelease.argtypes = [WGPUAdapter] +except AttributeError: + pass +try: + wgpuBindGroupSetLabel = _libraries['libwebgpu_dawn.so'].wgpuBindGroupSetLabel + wgpuBindGroupSetLabel.restype = None + wgpuBindGroupSetLabel.argtypes = [WGPUBindGroup, WGPUStringView] +except AttributeError: + pass +try: + wgpuBindGroupAddRef = _libraries['libwebgpu_dawn.so'].wgpuBindGroupAddRef + wgpuBindGroupAddRef.restype = None + wgpuBindGroupAddRef.argtypes = [WGPUBindGroup] +except AttributeError: + pass +try: + wgpuBindGroupRelease = _libraries['libwebgpu_dawn.so'].wgpuBindGroupRelease + wgpuBindGroupRelease.restype = None + wgpuBindGroupRelease.argtypes = [WGPUBindGroup] +except AttributeError: + pass +try: + wgpuBindGroupLayoutSetLabel = _libraries['libwebgpu_dawn.so'].wgpuBindGroupLayoutSetLabel + wgpuBindGroupLayoutSetLabel.restype = None + wgpuBindGroupLayoutSetLabel.argtypes = [WGPUBindGroupLayout, WGPUStringView] +except AttributeError: + pass +try: + wgpuBindGroupLayoutAddRef = _libraries['libwebgpu_dawn.so'].wgpuBindGroupLayoutAddRef + wgpuBindGroupLayoutAddRef.restype = None + wgpuBindGroupLayoutAddRef.argtypes = [WGPUBindGroupLayout] +except AttributeError: + pass +try: + wgpuBindGroupLayoutRelease = _libraries['libwebgpu_dawn.so'].wgpuBindGroupLayoutRelease + wgpuBindGroupLayoutRelease.restype = None + wgpuBindGroupLayoutRelease.argtypes = [WGPUBindGroupLayout] +except AttributeError: + pass +try: + wgpuBufferDestroy = _libraries['libwebgpu_dawn.so'].wgpuBufferDestroy + wgpuBufferDestroy.restype = None + wgpuBufferDestroy.argtypes = [WGPUBuffer] +except AttributeError: + pass +size_t = ctypes.c_uint64 +try: + wgpuBufferGetConstMappedRange = _libraries['libwebgpu_dawn.so'].wgpuBufferGetConstMappedRange + wgpuBufferGetConstMappedRange.restype = ctypes.POINTER(None) + wgpuBufferGetConstMappedRange.argtypes = [WGPUBuffer, size_t, size_t] +except AttributeError: + pass +try: + wgpuBufferGetMapState = _libraries['libwebgpu_dawn.so'].wgpuBufferGetMapState + wgpuBufferGetMapState.restype = WGPUBufferMapState + wgpuBufferGetMapState.argtypes = [WGPUBuffer] +except AttributeError: + pass +try: + wgpuBufferGetMappedRange = _libraries['libwebgpu_dawn.so'].wgpuBufferGetMappedRange + wgpuBufferGetMappedRange.restype = ctypes.POINTER(None) + wgpuBufferGetMappedRange.argtypes = [WGPUBuffer, size_t, size_t] +except AttributeError: + pass +uint64_t = ctypes.c_uint64 +try: + wgpuBufferGetSize = _libraries['libwebgpu_dawn.so'].wgpuBufferGetSize + wgpuBufferGetSize.restype = uint64_t + wgpuBufferGetSize.argtypes = [WGPUBuffer] +except AttributeError: + pass +try: + wgpuBufferGetUsage = _libraries['libwebgpu_dawn.so'].wgpuBufferGetUsage + wgpuBufferGetUsage.restype = WGPUBufferUsage + wgpuBufferGetUsage.argtypes = [WGPUBuffer] +except AttributeError: + pass +try: + wgpuBufferMapAsync = _libraries['libwebgpu_dawn.so'].wgpuBufferMapAsync + wgpuBufferMapAsync.restype = None + wgpuBufferMapAsync.argtypes = [WGPUBuffer, WGPUMapMode, size_t, size_t, WGPUBufferMapCallback, ctypes.POINTER(None)] +except AttributeError: + pass +try: + wgpuBufferMapAsync2 = _libraries['libwebgpu_dawn.so'].wgpuBufferMapAsync2 + wgpuBufferMapAsync2.restype = WGPUFuture + wgpuBufferMapAsync2.argtypes = [WGPUBuffer, WGPUMapMode, size_t, size_t, WGPUBufferMapCallbackInfo2] +except AttributeError: + pass +try: + wgpuBufferMapAsyncF = _libraries['libwebgpu_dawn.so'].wgpuBufferMapAsyncF + wgpuBufferMapAsyncF.restype = WGPUFuture + wgpuBufferMapAsyncF.argtypes = [WGPUBuffer, WGPUMapMode, size_t, size_t, WGPUBufferMapCallbackInfo] +except AttributeError: + pass +try: + wgpuBufferSetLabel = _libraries['libwebgpu_dawn.so'].wgpuBufferSetLabel + wgpuBufferSetLabel.restype = None + wgpuBufferSetLabel.argtypes = [WGPUBuffer, WGPUStringView] +except AttributeError: + pass +try: + wgpuBufferUnmap = _libraries['libwebgpu_dawn.so'].wgpuBufferUnmap + wgpuBufferUnmap.restype = None + wgpuBufferUnmap.argtypes = [WGPUBuffer] +except AttributeError: + pass +try: + wgpuBufferAddRef = _libraries['libwebgpu_dawn.so'].wgpuBufferAddRef + wgpuBufferAddRef.restype = None + wgpuBufferAddRef.argtypes = [WGPUBuffer] +except AttributeError: + pass +try: + wgpuBufferRelease = _libraries['libwebgpu_dawn.so'].wgpuBufferRelease + wgpuBufferRelease.restype = None + wgpuBufferRelease.argtypes = [WGPUBuffer] +except AttributeError: + pass +try: + wgpuCommandBufferSetLabel = _libraries['libwebgpu_dawn.so'].wgpuCommandBufferSetLabel + wgpuCommandBufferSetLabel.restype = None + wgpuCommandBufferSetLabel.argtypes = [WGPUCommandBuffer, WGPUStringView] +except AttributeError: + pass +try: + wgpuCommandBufferAddRef = _libraries['libwebgpu_dawn.so'].wgpuCommandBufferAddRef + wgpuCommandBufferAddRef.restype = None + wgpuCommandBufferAddRef.argtypes = [WGPUCommandBuffer] +except AttributeError: + pass +try: + wgpuCommandBufferRelease = _libraries['libwebgpu_dawn.so'].wgpuCommandBufferRelease + wgpuCommandBufferRelease.restype = None + wgpuCommandBufferRelease.argtypes = [WGPUCommandBuffer] +except AttributeError: + pass +try: + wgpuCommandEncoderBeginComputePass = _libraries['libwebgpu_dawn.so'].wgpuCommandEncoderBeginComputePass + wgpuCommandEncoderBeginComputePass.restype = WGPUComputePassEncoder + wgpuCommandEncoderBeginComputePass.argtypes = [WGPUCommandEncoder, ctypes.POINTER(struct_WGPUComputePassDescriptor)] +except AttributeError: + pass +try: + wgpuCommandEncoderBeginRenderPass = _libraries['libwebgpu_dawn.so'].wgpuCommandEncoderBeginRenderPass + wgpuCommandEncoderBeginRenderPass.restype = WGPURenderPassEncoder + wgpuCommandEncoderBeginRenderPass.argtypes = [WGPUCommandEncoder, ctypes.POINTER(struct_WGPURenderPassDescriptor)] +except AttributeError: + pass +try: + wgpuCommandEncoderClearBuffer = _libraries['libwebgpu_dawn.so'].wgpuCommandEncoderClearBuffer + wgpuCommandEncoderClearBuffer.restype = None + wgpuCommandEncoderClearBuffer.argtypes = [WGPUCommandEncoder, WGPUBuffer, uint64_t, uint64_t] +except AttributeError: + pass +try: + wgpuCommandEncoderCopyBufferToBuffer = _libraries['libwebgpu_dawn.so'].wgpuCommandEncoderCopyBufferToBuffer + wgpuCommandEncoderCopyBufferToBuffer.restype = None + wgpuCommandEncoderCopyBufferToBuffer.argtypes = [WGPUCommandEncoder, WGPUBuffer, uint64_t, WGPUBuffer, uint64_t, uint64_t] +except AttributeError: + pass +try: + wgpuCommandEncoderCopyBufferToTexture = _libraries['libwebgpu_dawn.so'].wgpuCommandEncoderCopyBufferToTexture + wgpuCommandEncoderCopyBufferToTexture.restype = None + wgpuCommandEncoderCopyBufferToTexture.argtypes = [WGPUCommandEncoder, ctypes.POINTER(struct_WGPUImageCopyBuffer), ctypes.POINTER(struct_WGPUImageCopyTexture), ctypes.POINTER(struct_WGPUExtent3D)] +except AttributeError: + pass +try: + wgpuCommandEncoderCopyTextureToBuffer = _libraries['libwebgpu_dawn.so'].wgpuCommandEncoderCopyTextureToBuffer + wgpuCommandEncoderCopyTextureToBuffer.restype = None + wgpuCommandEncoderCopyTextureToBuffer.argtypes = [WGPUCommandEncoder, ctypes.POINTER(struct_WGPUImageCopyTexture), ctypes.POINTER(struct_WGPUImageCopyBuffer), ctypes.POINTER(struct_WGPUExtent3D)] +except AttributeError: + pass +try: + wgpuCommandEncoderCopyTextureToTexture = _libraries['libwebgpu_dawn.so'].wgpuCommandEncoderCopyTextureToTexture + wgpuCommandEncoderCopyTextureToTexture.restype = None + wgpuCommandEncoderCopyTextureToTexture.argtypes = [WGPUCommandEncoder, ctypes.POINTER(struct_WGPUImageCopyTexture), ctypes.POINTER(struct_WGPUImageCopyTexture), ctypes.POINTER(struct_WGPUExtent3D)] +except AttributeError: + pass +try: + wgpuCommandEncoderFinish = _libraries['libwebgpu_dawn.so'].wgpuCommandEncoderFinish + wgpuCommandEncoderFinish.restype = WGPUCommandBuffer + wgpuCommandEncoderFinish.argtypes = [WGPUCommandEncoder, ctypes.POINTER(struct_WGPUCommandBufferDescriptor)] +except AttributeError: + pass +try: + wgpuCommandEncoderInjectValidationError = _libraries['libwebgpu_dawn.so'].wgpuCommandEncoderInjectValidationError + wgpuCommandEncoderInjectValidationError.restype = None + wgpuCommandEncoderInjectValidationError.argtypes = [WGPUCommandEncoder, WGPUStringView] +except AttributeError: + pass +try: + wgpuCommandEncoderInsertDebugMarker = _libraries['libwebgpu_dawn.so'].wgpuCommandEncoderInsertDebugMarker + wgpuCommandEncoderInsertDebugMarker.restype = None + wgpuCommandEncoderInsertDebugMarker.argtypes = [WGPUCommandEncoder, WGPUStringView] +except AttributeError: + pass +try: + wgpuCommandEncoderPopDebugGroup = _libraries['libwebgpu_dawn.so'].wgpuCommandEncoderPopDebugGroup + wgpuCommandEncoderPopDebugGroup.restype = None + wgpuCommandEncoderPopDebugGroup.argtypes = [WGPUCommandEncoder] +except AttributeError: + pass +try: + wgpuCommandEncoderPushDebugGroup = _libraries['libwebgpu_dawn.so'].wgpuCommandEncoderPushDebugGroup + wgpuCommandEncoderPushDebugGroup.restype = None + wgpuCommandEncoderPushDebugGroup.argtypes = [WGPUCommandEncoder, WGPUStringView] +except AttributeError: + pass +uint32_t = ctypes.c_uint32 +try: + wgpuCommandEncoderResolveQuerySet = _libraries['libwebgpu_dawn.so'].wgpuCommandEncoderResolveQuerySet + wgpuCommandEncoderResolveQuerySet.restype = None + wgpuCommandEncoderResolveQuerySet.argtypes = [WGPUCommandEncoder, WGPUQuerySet, uint32_t, uint32_t, WGPUBuffer, uint64_t] +except AttributeError: + pass +try: + wgpuCommandEncoderSetLabel = _libraries['libwebgpu_dawn.so'].wgpuCommandEncoderSetLabel + wgpuCommandEncoderSetLabel.restype = None + wgpuCommandEncoderSetLabel.argtypes = [WGPUCommandEncoder, WGPUStringView] +except AttributeError: + pass +try: + wgpuCommandEncoderWriteBuffer = _libraries['libwebgpu_dawn.so'].wgpuCommandEncoderWriteBuffer + wgpuCommandEncoderWriteBuffer.restype = None + wgpuCommandEncoderWriteBuffer.argtypes = [WGPUCommandEncoder, WGPUBuffer, uint64_t, ctypes.POINTER(ctypes.c_ubyte), uint64_t] +except AttributeError: + pass +try: + wgpuCommandEncoderWriteTimestamp = _libraries['libwebgpu_dawn.so'].wgpuCommandEncoderWriteTimestamp + wgpuCommandEncoderWriteTimestamp.restype = None + wgpuCommandEncoderWriteTimestamp.argtypes = [WGPUCommandEncoder, WGPUQuerySet, uint32_t] +except AttributeError: + pass +try: + wgpuCommandEncoderAddRef = _libraries['libwebgpu_dawn.so'].wgpuCommandEncoderAddRef + wgpuCommandEncoderAddRef.restype = None + wgpuCommandEncoderAddRef.argtypes = [WGPUCommandEncoder] +except AttributeError: + pass +try: + wgpuCommandEncoderRelease = _libraries['libwebgpu_dawn.so'].wgpuCommandEncoderRelease + wgpuCommandEncoderRelease.restype = None + wgpuCommandEncoderRelease.argtypes = [WGPUCommandEncoder] +except AttributeError: + pass +try: + wgpuComputePassEncoderDispatchWorkgroups = _libraries['libwebgpu_dawn.so'].wgpuComputePassEncoderDispatchWorkgroups + wgpuComputePassEncoderDispatchWorkgroups.restype = None + wgpuComputePassEncoderDispatchWorkgroups.argtypes = [WGPUComputePassEncoder, uint32_t, uint32_t, uint32_t] +except AttributeError: + pass +try: + wgpuComputePassEncoderDispatchWorkgroupsIndirect = _libraries['libwebgpu_dawn.so'].wgpuComputePassEncoderDispatchWorkgroupsIndirect + wgpuComputePassEncoderDispatchWorkgroupsIndirect.restype = None + wgpuComputePassEncoderDispatchWorkgroupsIndirect.argtypes = [WGPUComputePassEncoder, WGPUBuffer, uint64_t] +except AttributeError: + pass +try: + wgpuComputePassEncoderEnd = _libraries['libwebgpu_dawn.so'].wgpuComputePassEncoderEnd + wgpuComputePassEncoderEnd.restype = None + wgpuComputePassEncoderEnd.argtypes = [WGPUComputePassEncoder] +except AttributeError: + pass +try: + wgpuComputePassEncoderInsertDebugMarker = _libraries['libwebgpu_dawn.so'].wgpuComputePassEncoderInsertDebugMarker + wgpuComputePassEncoderInsertDebugMarker.restype = None + wgpuComputePassEncoderInsertDebugMarker.argtypes = [WGPUComputePassEncoder, WGPUStringView] +except AttributeError: + pass +try: + wgpuComputePassEncoderPopDebugGroup = _libraries['libwebgpu_dawn.so'].wgpuComputePassEncoderPopDebugGroup + wgpuComputePassEncoderPopDebugGroup.restype = None + wgpuComputePassEncoderPopDebugGroup.argtypes = [WGPUComputePassEncoder] +except AttributeError: + pass +try: + wgpuComputePassEncoderPushDebugGroup = _libraries['libwebgpu_dawn.so'].wgpuComputePassEncoderPushDebugGroup + wgpuComputePassEncoderPushDebugGroup.restype = None + wgpuComputePassEncoderPushDebugGroup.argtypes = [WGPUComputePassEncoder, WGPUStringView] +except AttributeError: + pass +try: + wgpuComputePassEncoderSetBindGroup = _libraries['libwebgpu_dawn.so'].wgpuComputePassEncoderSetBindGroup + wgpuComputePassEncoderSetBindGroup.restype = None + wgpuComputePassEncoderSetBindGroup.argtypes = [WGPUComputePassEncoder, uint32_t, WGPUBindGroup, size_t, ctypes.POINTER(ctypes.c_uint32)] +except AttributeError: + pass +try: + wgpuComputePassEncoderSetLabel = _libraries['libwebgpu_dawn.so'].wgpuComputePassEncoderSetLabel + wgpuComputePassEncoderSetLabel.restype = None + wgpuComputePassEncoderSetLabel.argtypes = [WGPUComputePassEncoder, WGPUStringView] +except AttributeError: + pass +try: + wgpuComputePassEncoderSetPipeline = _libraries['libwebgpu_dawn.so'].wgpuComputePassEncoderSetPipeline + wgpuComputePassEncoderSetPipeline.restype = None + wgpuComputePassEncoderSetPipeline.argtypes = [WGPUComputePassEncoder, WGPUComputePipeline] +except AttributeError: + pass +try: + wgpuComputePassEncoderWriteTimestamp = _libraries['libwebgpu_dawn.so'].wgpuComputePassEncoderWriteTimestamp + wgpuComputePassEncoderWriteTimestamp.restype = None + wgpuComputePassEncoderWriteTimestamp.argtypes = [WGPUComputePassEncoder, WGPUQuerySet, uint32_t] +except AttributeError: + pass +try: + wgpuComputePassEncoderAddRef = _libraries['libwebgpu_dawn.so'].wgpuComputePassEncoderAddRef + wgpuComputePassEncoderAddRef.restype = None + wgpuComputePassEncoderAddRef.argtypes = [WGPUComputePassEncoder] +except AttributeError: + pass +try: + wgpuComputePassEncoderRelease = _libraries['libwebgpu_dawn.so'].wgpuComputePassEncoderRelease + wgpuComputePassEncoderRelease.restype = None + wgpuComputePassEncoderRelease.argtypes = [WGPUComputePassEncoder] +except AttributeError: + pass +try: + wgpuComputePipelineGetBindGroupLayout = _libraries['libwebgpu_dawn.so'].wgpuComputePipelineGetBindGroupLayout + wgpuComputePipelineGetBindGroupLayout.restype = WGPUBindGroupLayout + wgpuComputePipelineGetBindGroupLayout.argtypes = [WGPUComputePipeline, uint32_t] +except AttributeError: + pass +try: + wgpuComputePipelineSetLabel = _libraries['libwebgpu_dawn.so'].wgpuComputePipelineSetLabel + wgpuComputePipelineSetLabel.restype = None + wgpuComputePipelineSetLabel.argtypes = [WGPUComputePipeline, WGPUStringView] +except AttributeError: + pass +try: + wgpuComputePipelineAddRef = _libraries['libwebgpu_dawn.so'].wgpuComputePipelineAddRef + wgpuComputePipelineAddRef.restype = None + wgpuComputePipelineAddRef.argtypes = [WGPUComputePipeline] +except AttributeError: + pass +try: + wgpuComputePipelineRelease = _libraries['libwebgpu_dawn.so'].wgpuComputePipelineRelease + wgpuComputePipelineRelease.restype = None + wgpuComputePipelineRelease.argtypes = [WGPUComputePipeline] +except AttributeError: + pass +try: + wgpuDeviceCreateBindGroup = _libraries['libwebgpu_dawn.so'].wgpuDeviceCreateBindGroup + wgpuDeviceCreateBindGroup.restype = WGPUBindGroup + wgpuDeviceCreateBindGroup.argtypes = [WGPUDevice, ctypes.POINTER(struct_WGPUBindGroupDescriptor)] +except AttributeError: + pass +try: + wgpuDeviceCreateBindGroupLayout = _libraries['libwebgpu_dawn.so'].wgpuDeviceCreateBindGroupLayout + wgpuDeviceCreateBindGroupLayout.restype = WGPUBindGroupLayout + wgpuDeviceCreateBindGroupLayout.argtypes = [WGPUDevice, ctypes.POINTER(struct_WGPUBindGroupLayoutDescriptor)] +except AttributeError: + pass +try: + wgpuDeviceCreateBuffer = _libraries['libwebgpu_dawn.so'].wgpuDeviceCreateBuffer + wgpuDeviceCreateBuffer.restype = WGPUBuffer + wgpuDeviceCreateBuffer.argtypes = [WGPUDevice, ctypes.POINTER(struct_WGPUBufferDescriptor)] +except AttributeError: + pass +try: + wgpuDeviceCreateCommandEncoder = _libraries['libwebgpu_dawn.so'].wgpuDeviceCreateCommandEncoder + wgpuDeviceCreateCommandEncoder.restype = WGPUCommandEncoder + wgpuDeviceCreateCommandEncoder.argtypes = [WGPUDevice, ctypes.POINTER(struct_WGPUCommandEncoderDescriptor)] +except AttributeError: + pass +try: + wgpuDeviceCreateComputePipeline = _libraries['libwebgpu_dawn.so'].wgpuDeviceCreateComputePipeline + wgpuDeviceCreateComputePipeline.restype = WGPUComputePipeline + wgpuDeviceCreateComputePipeline.argtypes = [WGPUDevice, ctypes.POINTER(struct_WGPUComputePipelineDescriptor)] +except AttributeError: + pass +try: + wgpuDeviceCreateComputePipelineAsync = _libraries['libwebgpu_dawn.so'].wgpuDeviceCreateComputePipelineAsync + wgpuDeviceCreateComputePipelineAsync.restype = None + wgpuDeviceCreateComputePipelineAsync.argtypes = [WGPUDevice, ctypes.POINTER(struct_WGPUComputePipelineDescriptor), WGPUCreateComputePipelineAsyncCallback, ctypes.POINTER(None)] +except AttributeError: + pass +try: + wgpuDeviceCreateComputePipelineAsync2 = _libraries['libwebgpu_dawn.so'].wgpuDeviceCreateComputePipelineAsync2 + wgpuDeviceCreateComputePipelineAsync2.restype = WGPUFuture + wgpuDeviceCreateComputePipelineAsync2.argtypes = [WGPUDevice, ctypes.POINTER(struct_WGPUComputePipelineDescriptor), WGPUCreateComputePipelineAsyncCallbackInfo2] +except AttributeError: + pass +try: + wgpuDeviceCreateComputePipelineAsyncF = _libraries['libwebgpu_dawn.so'].wgpuDeviceCreateComputePipelineAsyncF + wgpuDeviceCreateComputePipelineAsyncF.restype = WGPUFuture + wgpuDeviceCreateComputePipelineAsyncF.argtypes = [WGPUDevice, ctypes.POINTER(struct_WGPUComputePipelineDescriptor), WGPUCreateComputePipelineAsyncCallbackInfo] +except AttributeError: + pass +try: + wgpuDeviceCreateErrorBuffer = _libraries['libwebgpu_dawn.so'].wgpuDeviceCreateErrorBuffer + wgpuDeviceCreateErrorBuffer.restype = WGPUBuffer + wgpuDeviceCreateErrorBuffer.argtypes = [WGPUDevice, ctypes.POINTER(struct_WGPUBufferDescriptor)] +except AttributeError: + pass +try: + wgpuDeviceCreateErrorExternalTexture = _libraries['libwebgpu_dawn.so'].wgpuDeviceCreateErrorExternalTexture + wgpuDeviceCreateErrorExternalTexture.restype = WGPUExternalTexture + wgpuDeviceCreateErrorExternalTexture.argtypes = [WGPUDevice] +except AttributeError: + pass +try: + wgpuDeviceCreateErrorShaderModule = _libraries['libwebgpu_dawn.so'].wgpuDeviceCreateErrorShaderModule + wgpuDeviceCreateErrorShaderModule.restype = WGPUShaderModule + wgpuDeviceCreateErrorShaderModule.argtypes = [WGPUDevice, ctypes.POINTER(struct_WGPUShaderModuleDescriptor), WGPUStringView] +except AttributeError: + pass +try: + wgpuDeviceCreateErrorTexture = _libraries['libwebgpu_dawn.so'].wgpuDeviceCreateErrorTexture + wgpuDeviceCreateErrorTexture.restype = WGPUTexture + wgpuDeviceCreateErrorTexture.argtypes = [WGPUDevice, ctypes.POINTER(struct_WGPUTextureDescriptor)] +except AttributeError: + pass +try: + wgpuDeviceCreateExternalTexture = _libraries['libwebgpu_dawn.so'].wgpuDeviceCreateExternalTexture + wgpuDeviceCreateExternalTexture.restype = WGPUExternalTexture + wgpuDeviceCreateExternalTexture.argtypes = [WGPUDevice, ctypes.POINTER(struct_WGPUExternalTextureDescriptor)] +except AttributeError: + pass +try: + wgpuDeviceCreatePipelineLayout = _libraries['libwebgpu_dawn.so'].wgpuDeviceCreatePipelineLayout + wgpuDeviceCreatePipelineLayout.restype = WGPUPipelineLayout + wgpuDeviceCreatePipelineLayout.argtypes = [WGPUDevice, ctypes.POINTER(struct_WGPUPipelineLayoutDescriptor)] +except AttributeError: + pass +try: + wgpuDeviceCreateQuerySet = _libraries['libwebgpu_dawn.so'].wgpuDeviceCreateQuerySet + wgpuDeviceCreateQuerySet.restype = WGPUQuerySet + wgpuDeviceCreateQuerySet.argtypes = [WGPUDevice, ctypes.POINTER(struct_WGPUQuerySetDescriptor)] +except AttributeError: + pass +try: + wgpuDeviceCreateRenderBundleEncoder = _libraries['libwebgpu_dawn.so'].wgpuDeviceCreateRenderBundleEncoder + wgpuDeviceCreateRenderBundleEncoder.restype = WGPURenderBundleEncoder + wgpuDeviceCreateRenderBundleEncoder.argtypes = [WGPUDevice, ctypes.POINTER(struct_WGPURenderBundleEncoderDescriptor)] +except AttributeError: + pass +try: + wgpuDeviceCreateRenderPipeline = _libraries['libwebgpu_dawn.so'].wgpuDeviceCreateRenderPipeline + wgpuDeviceCreateRenderPipeline.restype = WGPURenderPipeline + wgpuDeviceCreateRenderPipeline.argtypes = [WGPUDevice, ctypes.POINTER(struct_WGPURenderPipelineDescriptor)] +except AttributeError: + pass +try: + wgpuDeviceCreateRenderPipelineAsync = _libraries['libwebgpu_dawn.so'].wgpuDeviceCreateRenderPipelineAsync + wgpuDeviceCreateRenderPipelineAsync.restype = None + wgpuDeviceCreateRenderPipelineAsync.argtypes = [WGPUDevice, ctypes.POINTER(struct_WGPURenderPipelineDescriptor), WGPUCreateRenderPipelineAsyncCallback, ctypes.POINTER(None)] +except AttributeError: + pass +try: + wgpuDeviceCreateRenderPipelineAsync2 = _libraries['libwebgpu_dawn.so'].wgpuDeviceCreateRenderPipelineAsync2 + wgpuDeviceCreateRenderPipelineAsync2.restype = WGPUFuture + wgpuDeviceCreateRenderPipelineAsync2.argtypes = [WGPUDevice, ctypes.POINTER(struct_WGPURenderPipelineDescriptor), WGPUCreateRenderPipelineAsyncCallbackInfo2] +except AttributeError: + pass +try: + wgpuDeviceCreateRenderPipelineAsyncF = _libraries['libwebgpu_dawn.so'].wgpuDeviceCreateRenderPipelineAsyncF + wgpuDeviceCreateRenderPipelineAsyncF.restype = WGPUFuture + wgpuDeviceCreateRenderPipelineAsyncF.argtypes = [WGPUDevice, ctypes.POINTER(struct_WGPURenderPipelineDescriptor), WGPUCreateRenderPipelineAsyncCallbackInfo] +except AttributeError: + pass +try: + wgpuDeviceCreateSampler = _libraries['libwebgpu_dawn.so'].wgpuDeviceCreateSampler + wgpuDeviceCreateSampler.restype = WGPUSampler + wgpuDeviceCreateSampler.argtypes = [WGPUDevice, ctypes.POINTER(struct_WGPUSamplerDescriptor)] +except AttributeError: + pass +try: + wgpuDeviceCreateShaderModule = _libraries['libwebgpu_dawn.so'].wgpuDeviceCreateShaderModule + wgpuDeviceCreateShaderModule.restype = WGPUShaderModule + wgpuDeviceCreateShaderModule.argtypes = [WGPUDevice, ctypes.POINTER(struct_WGPUShaderModuleDescriptor)] +except AttributeError: + pass +try: + wgpuDeviceCreateTexture = _libraries['libwebgpu_dawn.so'].wgpuDeviceCreateTexture + wgpuDeviceCreateTexture.restype = WGPUTexture + wgpuDeviceCreateTexture.argtypes = [WGPUDevice, ctypes.POINTER(struct_WGPUTextureDescriptor)] +except AttributeError: + pass +try: + wgpuDeviceDestroy = _libraries['libwebgpu_dawn.so'].wgpuDeviceDestroy + wgpuDeviceDestroy.restype = None + wgpuDeviceDestroy.argtypes = [WGPUDevice] +except AttributeError: + pass +try: + wgpuDeviceForceLoss = _libraries['libwebgpu_dawn.so'].wgpuDeviceForceLoss + wgpuDeviceForceLoss.restype = None + wgpuDeviceForceLoss.argtypes = [WGPUDevice, WGPUDeviceLostReason, WGPUStringView] +except AttributeError: + pass +try: + wgpuDeviceGetAHardwareBufferProperties = _libraries['libwebgpu_dawn.so'].wgpuDeviceGetAHardwareBufferProperties + wgpuDeviceGetAHardwareBufferProperties.restype = WGPUStatus + wgpuDeviceGetAHardwareBufferProperties.argtypes = [WGPUDevice, ctypes.POINTER(None), ctypes.POINTER(struct_WGPUAHardwareBufferProperties)] +except AttributeError: + pass +try: + wgpuDeviceGetAdapter = _libraries['libwebgpu_dawn.so'].wgpuDeviceGetAdapter + wgpuDeviceGetAdapter.restype = WGPUAdapter + wgpuDeviceGetAdapter.argtypes = [WGPUDevice] +except AttributeError: + pass +try: + wgpuDeviceGetAdapterInfo = _libraries['libwebgpu_dawn.so'].wgpuDeviceGetAdapterInfo + wgpuDeviceGetAdapterInfo.restype = WGPUStatus + wgpuDeviceGetAdapterInfo.argtypes = [WGPUDevice, ctypes.POINTER(struct_WGPUAdapterInfo)] +except AttributeError: + pass +try: + wgpuDeviceGetFeatures = _libraries['libwebgpu_dawn.so'].wgpuDeviceGetFeatures + wgpuDeviceGetFeatures.restype = None + wgpuDeviceGetFeatures.argtypes = [WGPUDevice, ctypes.POINTER(struct_WGPUSupportedFeatures)] +except AttributeError: + pass +try: + wgpuDeviceGetLimits = _libraries['libwebgpu_dawn.so'].wgpuDeviceGetLimits + wgpuDeviceGetLimits.restype = WGPUStatus + wgpuDeviceGetLimits.argtypes = [WGPUDevice, ctypes.POINTER(struct_WGPUSupportedLimits)] +except AttributeError: + pass +try: + wgpuDeviceGetLostFuture = _libraries['libwebgpu_dawn.so'].wgpuDeviceGetLostFuture + wgpuDeviceGetLostFuture.restype = WGPUFuture + wgpuDeviceGetLostFuture.argtypes = [WGPUDevice] +except AttributeError: + pass +try: + wgpuDeviceGetQueue = _libraries['libwebgpu_dawn.so'].wgpuDeviceGetQueue + wgpuDeviceGetQueue.restype = WGPUQueue + wgpuDeviceGetQueue.argtypes = [WGPUDevice] +except AttributeError: + pass +try: + wgpuDeviceHasFeature = _libraries['libwebgpu_dawn.so'].wgpuDeviceHasFeature + wgpuDeviceHasFeature.restype = WGPUBool + wgpuDeviceHasFeature.argtypes = [WGPUDevice, WGPUFeatureName] +except AttributeError: + pass +try: + wgpuDeviceImportSharedBufferMemory = _libraries['libwebgpu_dawn.so'].wgpuDeviceImportSharedBufferMemory + wgpuDeviceImportSharedBufferMemory.restype = WGPUSharedBufferMemory + wgpuDeviceImportSharedBufferMemory.argtypes = [WGPUDevice, ctypes.POINTER(struct_WGPUSharedBufferMemoryDescriptor)] +except AttributeError: + pass +try: + wgpuDeviceImportSharedFence = _libraries['libwebgpu_dawn.so'].wgpuDeviceImportSharedFence + wgpuDeviceImportSharedFence.restype = WGPUSharedFence + wgpuDeviceImportSharedFence.argtypes = [WGPUDevice, ctypes.POINTER(struct_WGPUSharedFenceDescriptor)] +except AttributeError: + pass +try: + wgpuDeviceImportSharedTextureMemory = _libraries['libwebgpu_dawn.so'].wgpuDeviceImportSharedTextureMemory + wgpuDeviceImportSharedTextureMemory.restype = WGPUSharedTextureMemory + wgpuDeviceImportSharedTextureMemory.argtypes = [WGPUDevice, ctypes.POINTER(struct_WGPUSharedTextureMemoryDescriptor)] +except AttributeError: + pass +try: + wgpuDeviceInjectError = _libraries['libwebgpu_dawn.so'].wgpuDeviceInjectError + wgpuDeviceInjectError.restype = None + wgpuDeviceInjectError.argtypes = [WGPUDevice, WGPUErrorType, WGPUStringView] +except AttributeError: + pass +try: + wgpuDevicePopErrorScope = _libraries['libwebgpu_dawn.so'].wgpuDevicePopErrorScope + wgpuDevicePopErrorScope.restype = None + wgpuDevicePopErrorScope.argtypes = [WGPUDevice, WGPUErrorCallback, ctypes.POINTER(None)] +except AttributeError: + pass +try: + wgpuDevicePopErrorScope2 = _libraries['libwebgpu_dawn.so'].wgpuDevicePopErrorScope2 + wgpuDevicePopErrorScope2.restype = WGPUFuture + wgpuDevicePopErrorScope2.argtypes = [WGPUDevice, WGPUPopErrorScopeCallbackInfo2] +except AttributeError: + pass +try: + wgpuDevicePopErrorScopeF = _libraries['libwebgpu_dawn.so'].wgpuDevicePopErrorScopeF + wgpuDevicePopErrorScopeF.restype = WGPUFuture + wgpuDevicePopErrorScopeF.argtypes = [WGPUDevice, WGPUPopErrorScopeCallbackInfo] +except AttributeError: + pass +try: + wgpuDevicePushErrorScope = _libraries['libwebgpu_dawn.so'].wgpuDevicePushErrorScope + wgpuDevicePushErrorScope.restype = None + wgpuDevicePushErrorScope.argtypes = [WGPUDevice, WGPUErrorFilter] +except AttributeError: + pass +try: + wgpuDeviceSetLabel = _libraries['libwebgpu_dawn.so'].wgpuDeviceSetLabel + wgpuDeviceSetLabel.restype = None + wgpuDeviceSetLabel.argtypes = [WGPUDevice, WGPUStringView] +except AttributeError: + pass +try: + wgpuDeviceSetLoggingCallback = _libraries['libwebgpu_dawn.so'].wgpuDeviceSetLoggingCallback + wgpuDeviceSetLoggingCallback.restype = None + wgpuDeviceSetLoggingCallback.argtypes = [WGPUDevice, WGPULoggingCallback, ctypes.POINTER(None)] +except AttributeError: + pass +try: + wgpuDeviceTick = _libraries['libwebgpu_dawn.so'].wgpuDeviceTick + wgpuDeviceTick.restype = None + wgpuDeviceTick.argtypes = [WGPUDevice] +except AttributeError: + pass +try: + wgpuDeviceValidateTextureDescriptor = _libraries['libwebgpu_dawn.so'].wgpuDeviceValidateTextureDescriptor + wgpuDeviceValidateTextureDescriptor.restype = None + wgpuDeviceValidateTextureDescriptor.argtypes = [WGPUDevice, ctypes.POINTER(struct_WGPUTextureDescriptor)] +except AttributeError: + pass +try: + wgpuDeviceAddRef = _libraries['libwebgpu_dawn.so'].wgpuDeviceAddRef + wgpuDeviceAddRef.restype = None + wgpuDeviceAddRef.argtypes = [WGPUDevice] +except AttributeError: + pass +try: + wgpuDeviceRelease = _libraries['libwebgpu_dawn.so'].wgpuDeviceRelease + wgpuDeviceRelease.restype = None + wgpuDeviceRelease.argtypes = [WGPUDevice] +except AttributeError: + pass +try: + wgpuExternalTextureDestroy = _libraries['libwebgpu_dawn.so'].wgpuExternalTextureDestroy + wgpuExternalTextureDestroy.restype = None + wgpuExternalTextureDestroy.argtypes = [WGPUExternalTexture] +except AttributeError: + pass +try: + wgpuExternalTextureExpire = _libraries['libwebgpu_dawn.so'].wgpuExternalTextureExpire + wgpuExternalTextureExpire.restype = None + wgpuExternalTextureExpire.argtypes = [WGPUExternalTexture] +except AttributeError: + pass +try: + wgpuExternalTextureRefresh = _libraries['libwebgpu_dawn.so'].wgpuExternalTextureRefresh + wgpuExternalTextureRefresh.restype = None + wgpuExternalTextureRefresh.argtypes = [WGPUExternalTexture] +except AttributeError: + pass +try: + wgpuExternalTextureSetLabel = _libraries['libwebgpu_dawn.so'].wgpuExternalTextureSetLabel + wgpuExternalTextureSetLabel.restype = None + wgpuExternalTextureSetLabel.argtypes = [WGPUExternalTexture, WGPUStringView] +except AttributeError: + pass +try: + wgpuExternalTextureAddRef = _libraries['libwebgpu_dawn.so'].wgpuExternalTextureAddRef + wgpuExternalTextureAddRef.restype = None + wgpuExternalTextureAddRef.argtypes = [WGPUExternalTexture] +except AttributeError: + pass +try: + wgpuExternalTextureRelease = _libraries['libwebgpu_dawn.so'].wgpuExternalTextureRelease + wgpuExternalTextureRelease.restype = None + wgpuExternalTextureRelease.argtypes = [WGPUExternalTexture] +except AttributeError: + pass +try: + wgpuInstanceCreateSurface = _libraries['libwebgpu_dawn.so'].wgpuInstanceCreateSurface + wgpuInstanceCreateSurface.restype = WGPUSurface + wgpuInstanceCreateSurface.argtypes = [WGPUInstance, ctypes.POINTER(struct_WGPUSurfaceDescriptor)] +except AttributeError: + pass +try: + wgpuInstanceEnumerateWGSLLanguageFeatures = _libraries['libwebgpu_dawn.so'].wgpuInstanceEnumerateWGSLLanguageFeatures + wgpuInstanceEnumerateWGSLLanguageFeatures.restype = size_t + wgpuInstanceEnumerateWGSLLanguageFeatures.argtypes = [WGPUInstance, ctypes.POINTER(WGPUWGSLFeatureName)] +except AttributeError: + pass +try: + wgpuInstanceHasWGSLLanguageFeature = _libraries['libwebgpu_dawn.so'].wgpuInstanceHasWGSLLanguageFeature + wgpuInstanceHasWGSLLanguageFeature.restype = WGPUBool + wgpuInstanceHasWGSLLanguageFeature.argtypes = [WGPUInstance, WGPUWGSLFeatureName] +except AttributeError: + pass +try: + wgpuInstanceProcessEvents = _libraries['libwebgpu_dawn.so'].wgpuInstanceProcessEvents + wgpuInstanceProcessEvents.restype = None + wgpuInstanceProcessEvents.argtypes = [WGPUInstance] +except AttributeError: + pass +try: + wgpuInstanceRequestAdapter = _libraries['libwebgpu_dawn.so'].wgpuInstanceRequestAdapter + wgpuInstanceRequestAdapter.restype = None + wgpuInstanceRequestAdapter.argtypes = [WGPUInstance, ctypes.POINTER(struct_WGPURequestAdapterOptions), WGPURequestAdapterCallback, ctypes.POINTER(None)] +except AttributeError: + pass +try: + wgpuInstanceRequestAdapter2 = _libraries['libwebgpu_dawn.so'].wgpuInstanceRequestAdapter2 + wgpuInstanceRequestAdapter2.restype = WGPUFuture + wgpuInstanceRequestAdapter2.argtypes = [WGPUInstance, ctypes.POINTER(struct_WGPURequestAdapterOptions), WGPURequestAdapterCallbackInfo2] +except AttributeError: + pass +try: + wgpuInstanceRequestAdapterF = _libraries['libwebgpu_dawn.so'].wgpuInstanceRequestAdapterF + wgpuInstanceRequestAdapterF.restype = WGPUFuture + wgpuInstanceRequestAdapterF.argtypes = [WGPUInstance, ctypes.POINTER(struct_WGPURequestAdapterOptions), WGPURequestAdapterCallbackInfo] +except AttributeError: + pass +try: + wgpuInstanceWaitAny = _libraries['libwebgpu_dawn.so'].wgpuInstanceWaitAny + wgpuInstanceWaitAny.restype = WGPUWaitStatus + wgpuInstanceWaitAny.argtypes = [WGPUInstance, size_t, ctypes.POINTER(struct_WGPUFutureWaitInfo), uint64_t] +except AttributeError: + pass +try: + wgpuInstanceAddRef = _libraries['libwebgpu_dawn.so'].wgpuInstanceAddRef + wgpuInstanceAddRef.restype = None + wgpuInstanceAddRef.argtypes = [WGPUInstance] +except AttributeError: + pass +try: + wgpuInstanceRelease = _libraries['libwebgpu_dawn.so'].wgpuInstanceRelease + wgpuInstanceRelease.restype = None + wgpuInstanceRelease.argtypes = [WGPUInstance] +except AttributeError: + pass +try: + wgpuPipelineLayoutSetLabel = _libraries['libwebgpu_dawn.so'].wgpuPipelineLayoutSetLabel + wgpuPipelineLayoutSetLabel.restype = None + wgpuPipelineLayoutSetLabel.argtypes = [WGPUPipelineLayout, WGPUStringView] +except AttributeError: + pass +try: + wgpuPipelineLayoutAddRef = _libraries['libwebgpu_dawn.so'].wgpuPipelineLayoutAddRef + wgpuPipelineLayoutAddRef.restype = None + wgpuPipelineLayoutAddRef.argtypes = [WGPUPipelineLayout] +except AttributeError: + pass +try: + wgpuPipelineLayoutRelease = _libraries['libwebgpu_dawn.so'].wgpuPipelineLayoutRelease + wgpuPipelineLayoutRelease.restype = None + wgpuPipelineLayoutRelease.argtypes = [WGPUPipelineLayout] +except AttributeError: + pass +try: + wgpuQuerySetDestroy = _libraries['libwebgpu_dawn.so'].wgpuQuerySetDestroy + wgpuQuerySetDestroy.restype = None + wgpuQuerySetDestroy.argtypes = [WGPUQuerySet] +except AttributeError: + pass +try: + wgpuQuerySetGetCount = _libraries['libwebgpu_dawn.so'].wgpuQuerySetGetCount + wgpuQuerySetGetCount.restype = uint32_t + wgpuQuerySetGetCount.argtypes = [WGPUQuerySet] +except AttributeError: + pass +try: + wgpuQuerySetGetType = _libraries['libwebgpu_dawn.so'].wgpuQuerySetGetType + wgpuQuerySetGetType.restype = WGPUQueryType + wgpuQuerySetGetType.argtypes = [WGPUQuerySet] +except AttributeError: + pass +try: + wgpuQuerySetSetLabel = _libraries['libwebgpu_dawn.so'].wgpuQuerySetSetLabel + wgpuQuerySetSetLabel.restype = None + wgpuQuerySetSetLabel.argtypes = [WGPUQuerySet, WGPUStringView] +except AttributeError: + pass +try: + wgpuQuerySetAddRef = _libraries['libwebgpu_dawn.so'].wgpuQuerySetAddRef + wgpuQuerySetAddRef.restype = None + wgpuQuerySetAddRef.argtypes = [WGPUQuerySet] +except AttributeError: + pass +try: + wgpuQuerySetRelease = _libraries['libwebgpu_dawn.so'].wgpuQuerySetRelease + wgpuQuerySetRelease.restype = None + wgpuQuerySetRelease.argtypes = [WGPUQuerySet] +except AttributeError: + pass +try: + wgpuQueueCopyExternalTextureForBrowser = _libraries['libwebgpu_dawn.so'].wgpuQueueCopyExternalTextureForBrowser + wgpuQueueCopyExternalTextureForBrowser.restype = None + wgpuQueueCopyExternalTextureForBrowser.argtypes = [WGPUQueue, ctypes.POINTER(struct_WGPUImageCopyExternalTexture), ctypes.POINTER(struct_WGPUImageCopyTexture), ctypes.POINTER(struct_WGPUExtent3D), ctypes.POINTER(struct_WGPUCopyTextureForBrowserOptions)] +except AttributeError: + pass +try: + wgpuQueueCopyTextureForBrowser = _libraries['libwebgpu_dawn.so'].wgpuQueueCopyTextureForBrowser + wgpuQueueCopyTextureForBrowser.restype = None + wgpuQueueCopyTextureForBrowser.argtypes = [WGPUQueue, ctypes.POINTER(struct_WGPUImageCopyTexture), ctypes.POINTER(struct_WGPUImageCopyTexture), ctypes.POINTER(struct_WGPUExtent3D), ctypes.POINTER(struct_WGPUCopyTextureForBrowserOptions)] +except AttributeError: + pass +try: + wgpuQueueOnSubmittedWorkDone = _libraries['libwebgpu_dawn.so'].wgpuQueueOnSubmittedWorkDone + wgpuQueueOnSubmittedWorkDone.restype = None + wgpuQueueOnSubmittedWorkDone.argtypes = [WGPUQueue, WGPUQueueWorkDoneCallback, ctypes.POINTER(None)] +except AttributeError: + pass +try: + wgpuQueueOnSubmittedWorkDone2 = _libraries['libwebgpu_dawn.so'].wgpuQueueOnSubmittedWorkDone2 + wgpuQueueOnSubmittedWorkDone2.restype = WGPUFuture + wgpuQueueOnSubmittedWorkDone2.argtypes = [WGPUQueue, WGPUQueueWorkDoneCallbackInfo2] +except AttributeError: + pass +try: + wgpuQueueOnSubmittedWorkDoneF = _libraries['libwebgpu_dawn.so'].wgpuQueueOnSubmittedWorkDoneF + wgpuQueueOnSubmittedWorkDoneF.restype = WGPUFuture + wgpuQueueOnSubmittedWorkDoneF.argtypes = [WGPUQueue, WGPUQueueWorkDoneCallbackInfo] +except AttributeError: + pass +try: + wgpuQueueSetLabel = _libraries['libwebgpu_dawn.so'].wgpuQueueSetLabel + wgpuQueueSetLabel.restype = None + wgpuQueueSetLabel.argtypes = [WGPUQueue, WGPUStringView] +except AttributeError: + pass +try: + wgpuQueueSubmit = _libraries['libwebgpu_dawn.so'].wgpuQueueSubmit + wgpuQueueSubmit.restype = None + wgpuQueueSubmit.argtypes = [WGPUQueue, size_t, ctypes.POINTER(ctypes.POINTER(struct_WGPUCommandBufferImpl))] +except AttributeError: + pass +try: + wgpuQueueWriteBuffer = _libraries['libwebgpu_dawn.so'].wgpuQueueWriteBuffer + wgpuQueueWriteBuffer.restype = None + wgpuQueueWriteBuffer.argtypes = [WGPUQueue, WGPUBuffer, uint64_t, ctypes.POINTER(None), size_t] +except AttributeError: + pass +try: + wgpuQueueWriteTexture = _libraries['libwebgpu_dawn.so'].wgpuQueueWriteTexture + wgpuQueueWriteTexture.restype = None + wgpuQueueWriteTexture.argtypes = [WGPUQueue, ctypes.POINTER(struct_WGPUImageCopyTexture), ctypes.POINTER(None), size_t, ctypes.POINTER(struct_WGPUTextureDataLayout), ctypes.POINTER(struct_WGPUExtent3D)] +except AttributeError: + pass +try: + wgpuQueueAddRef = _libraries['libwebgpu_dawn.so'].wgpuQueueAddRef + wgpuQueueAddRef.restype = None + wgpuQueueAddRef.argtypes = [WGPUQueue] +except AttributeError: + pass +try: + wgpuQueueRelease = _libraries['libwebgpu_dawn.so'].wgpuQueueRelease + wgpuQueueRelease.restype = None + wgpuQueueRelease.argtypes = [WGPUQueue] +except AttributeError: + pass +try: + wgpuRenderBundleSetLabel = _libraries['libwebgpu_dawn.so'].wgpuRenderBundleSetLabel + wgpuRenderBundleSetLabel.restype = None + wgpuRenderBundleSetLabel.argtypes = [WGPURenderBundle, WGPUStringView] +except AttributeError: + pass +try: + wgpuRenderBundleAddRef = _libraries['libwebgpu_dawn.so'].wgpuRenderBundleAddRef + wgpuRenderBundleAddRef.restype = None + wgpuRenderBundleAddRef.argtypes = [WGPURenderBundle] +except AttributeError: + pass +try: + wgpuRenderBundleRelease = _libraries['libwebgpu_dawn.so'].wgpuRenderBundleRelease + wgpuRenderBundleRelease.restype = None + wgpuRenderBundleRelease.argtypes = [WGPURenderBundle] +except AttributeError: + pass +try: + wgpuRenderBundleEncoderDraw = _libraries['libwebgpu_dawn.so'].wgpuRenderBundleEncoderDraw + wgpuRenderBundleEncoderDraw.restype = None + wgpuRenderBundleEncoderDraw.argtypes = [WGPURenderBundleEncoder, uint32_t, uint32_t, uint32_t, uint32_t] +except AttributeError: + pass +int32_t = ctypes.c_int32 +try: + wgpuRenderBundleEncoderDrawIndexed = _libraries['libwebgpu_dawn.so'].wgpuRenderBundleEncoderDrawIndexed + wgpuRenderBundleEncoderDrawIndexed.restype = None + wgpuRenderBundleEncoderDrawIndexed.argtypes = [WGPURenderBundleEncoder, uint32_t, uint32_t, uint32_t, int32_t, uint32_t] +except AttributeError: + pass +try: + wgpuRenderBundleEncoderDrawIndexedIndirect = _libraries['libwebgpu_dawn.so'].wgpuRenderBundleEncoderDrawIndexedIndirect + wgpuRenderBundleEncoderDrawIndexedIndirect.restype = None + wgpuRenderBundleEncoderDrawIndexedIndirect.argtypes = [WGPURenderBundleEncoder, WGPUBuffer, uint64_t] +except AttributeError: + pass +try: + wgpuRenderBundleEncoderDrawIndirect = _libraries['libwebgpu_dawn.so'].wgpuRenderBundleEncoderDrawIndirect + wgpuRenderBundleEncoderDrawIndirect.restype = None + wgpuRenderBundleEncoderDrawIndirect.argtypes = [WGPURenderBundleEncoder, WGPUBuffer, uint64_t] +except AttributeError: + pass +try: + wgpuRenderBundleEncoderFinish = _libraries['libwebgpu_dawn.so'].wgpuRenderBundleEncoderFinish + wgpuRenderBundleEncoderFinish.restype = WGPURenderBundle + wgpuRenderBundleEncoderFinish.argtypes = [WGPURenderBundleEncoder, ctypes.POINTER(struct_WGPURenderBundleDescriptor)] +except AttributeError: + pass +try: + wgpuRenderBundleEncoderInsertDebugMarker = _libraries['libwebgpu_dawn.so'].wgpuRenderBundleEncoderInsertDebugMarker + wgpuRenderBundleEncoderInsertDebugMarker.restype = None + wgpuRenderBundleEncoderInsertDebugMarker.argtypes = [WGPURenderBundleEncoder, WGPUStringView] +except AttributeError: + pass +try: + wgpuRenderBundleEncoderPopDebugGroup = _libraries['libwebgpu_dawn.so'].wgpuRenderBundleEncoderPopDebugGroup + wgpuRenderBundleEncoderPopDebugGroup.restype = None + wgpuRenderBundleEncoderPopDebugGroup.argtypes = [WGPURenderBundleEncoder] +except AttributeError: + pass +try: + wgpuRenderBundleEncoderPushDebugGroup = _libraries['libwebgpu_dawn.so'].wgpuRenderBundleEncoderPushDebugGroup + wgpuRenderBundleEncoderPushDebugGroup.restype = None + wgpuRenderBundleEncoderPushDebugGroup.argtypes = [WGPURenderBundleEncoder, WGPUStringView] +except AttributeError: + pass +try: + wgpuRenderBundleEncoderSetBindGroup = _libraries['libwebgpu_dawn.so'].wgpuRenderBundleEncoderSetBindGroup + wgpuRenderBundleEncoderSetBindGroup.restype = None + wgpuRenderBundleEncoderSetBindGroup.argtypes = [WGPURenderBundleEncoder, uint32_t, WGPUBindGroup, size_t, ctypes.POINTER(ctypes.c_uint32)] +except AttributeError: + pass +try: + wgpuRenderBundleEncoderSetIndexBuffer = _libraries['libwebgpu_dawn.so'].wgpuRenderBundleEncoderSetIndexBuffer + wgpuRenderBundleEncoderSetIndexBuffer.restype = None + wgpuRenderBundleEncoderSetIndexBuffer.argtypes = [WGPURenderBundleEncoder, WGPUBuffer, WGPUIndexFormat, uint64_t, uint64_t] +except AttributeError: + pass +try: + wgpuRenderBundleEncoderSetLabel = _libraries['libwebgpu_dawn.so'].wgpuRenderBundleEncoderSetLabel + wgpuRenderBundleEncoderSetLabel.restype = None + wgpuRenderBundleEncoderSetLabel.argtypes = [WGPURenderBundleEncoder, WGPUStringView] +except AttributeError: + pass +try: + wgpuRenderBundleEncoderSetPipeline = _libraries['libwebgpu_dawn.so'].wgpuRenderBundleEncoderSetPipeline + wgpuRenderBundleEncoderSetPipeline.restype = None + wgpuRenderBundleEncoderSetPipeline.argtypes = [WGPURenderBundleEncoder, WGPURenderPipeline] +except AttributeError: + pass +try: + wgpuRenderBundleEncoderSetVertexBuffer = _libraries['libwebgpu_dawn.so'].wgpuRenderBundleEncoderSetVertexBuffer + wgpuRenderBundleEncoderSetVertexBuffer.restype = None + wgpuRenderBundleEncoderSetVertexBuffer.argtypes = [WGPURenderBundleEncoder, uint32_t, WGPUBuffer, uint64_t, uint64_t] +except AttributeError: + pass +try: + wgpuRenderBundleEncoderAddRef = _libraries['libwebgpu_dawn.so'].wgpuRenderBundleEncoderAddRef + wgpuRenderBundleEncoderAddRef.restype = None + wgpuRenderBundleEncoderAddRef.argtypes = [WGPURenderBundleEncoder] +except AttributeError: + pass +try: + wgpuRenderBundleEncoderRelease = _libraries['libwebgpu_dawn.so'].wgpuRenderBundleEncoderRelease + wgpuRenderBundleEncoderRelease.restype = None + wgpuRenderBundleEncoderRelease.argtypes = [WGPURenderBundleEncoder] +except AttributeError: + pass +try: + wgpuRenderPassEncoderBeginOcclusionQuery = _libraries['libwebgpu_dawn.so'].wgpuRenderPassEncoderBeginOcclusionQuery + wgpuRenderPassEncoderBeginOcclusionQuery.restype = None + wgpuRenderPassEncoderBeginOcclusionQuery.argtypes = [WGPURenderPassEncoder, uint32_t] +except AttributeError: + pass +try: + wgpuRenderPassEncoderDraw = _libraries['libwebgpu_dawn.so'].wgpuRenderPassEncoderDraw + wgpuRenderPassEncoderDraw.restype = None + wgpuRenderPassEncoderDraw.argtypes = [WGPURenderPassEncoder, uint32_t, uint32_t, uint32_t, uint32_t] +except AttributeError: + pass +try: + wgpuRenderPassEncoderDrawIndexed = _libraries['libwebgpu_dawn.so'].wgpuRenderPassEncoderDrawIndexed + wgpuRenderPassEncoderDrawIndexed.restype = None + wgpuRenderPassEncoderDrawIndexed.argtypes = [WGPURenderPassEncoder, uint32_t, uint32_t, uint32_t, int32_t, uint32_t] +except AttributeError: + pass +try: + wgpuRenderPassEncoderDrawIndexedIndirect = _libraries['libwebgpu_dawn.so'].wgpuRenderPassEncoderDrawIndexedIndirect + wgpuRenderPassEncoderDrawIndexedIndirect.restype = None + wgpuRenderPassEncoderDrawIndexedIndirect.argtypes = [WGPURenderPassEncoder, WGPUBuffer, uint64_t] +except AttributeError: + pass +try: + wgpuRenderPassEncoderDrawIndirect = _libraries['libwebgpu_dawn.so'].wgpuRenderPassEncoderDrawIndirect + wgpuRenderPassEncoderDrawIndirect.restype = None + wgpuRenderPassEncoderDrawIndirect.argtypes = [WGPURenderPassEncoder, WGPUBuffer, uint64_t] +except AttributeError: + pass +try: + wgpuRenderPassEncoderEnd = _libraries['libwebgpu_dawn.so'].wgpuRenderPassEncoderEnd + wgpuRenderPassEncoderEnd.restype = None + wgpuRenderPassEncoderEnd.argtypes = [WGPURenderPassEncoder] +except AttributeError: + pass +try: + wgpuRenderPassEncoderEndOcclusionQuery = _libraries['libwebgpu_dawn.so'].wgpuRenderPassEncoderEndOcclusionQuery + wgpuRenderPassEncoderEndOcclusionQuery.restype = None + wgpuRenderPassEncoderEndOcclusionQuery.argtypes = [WGPURenderPassEncoder] +except AttributeError: + pass +try: + wgpuRenderPassEncoderExecuteBundles = _libraries['libwebgpu_dawn.so'].wgpuRenderPassEncoderExecuteBundles + wgpuRenderPassEncoderExecuteBundles.restype = None + wgpuRenderPassEncoderExecuteBundles.argtypes = [WGPURenderPassEncoder, size_t, ctypes.POINTER(ctypes.POINTER(struct_WGPURenderBundleImpl))] +except AttributeError: + pass +try: + wgpuRenderPassEncoderInsertDebugMarker = _libraries['libwebgpu_dawn.so'].wgpuRenderPassEncoderInsertDebugMarker + wgpuRenderPassEncoderInsertDebugMarker.restype = None + wgpuRenderPassEncoderInsertDebugMarker.argtypes = [WGPURenderPassEncoder, WGPUStringView] +except AttributeError: + pass +try: + wgpuRenderPassEncoderMultiDrawIndexedIndirect = _libraries['libwebgpu_dawn.so'].wgpuRenderPassEncoderMultiDrawIndexedIndirect + wgpuRenderPassEncoderMultiDrawIndexedIndirect.restype = None + wgpuRenderPassEncoderMultiDrawIndexedIndirect.argtypes = [WGPURenderPassEncoder, WGPUBuffer, uint64_t, uint32_t, WGPUBuffer, uint64_t] +except AttributeError: + pass +try: + wgpuRenderPassEncoderMultiDrawIndirect = _libraries['libwebgpu_dawn.so'].wgpuRenderPassEncoderMultiDrawIndirect + wgpuRenderPassEncoderMultiDrawIndirect.restype = None + wgpuRenderPassEncoderMultiDrawIndirect.argtypes = [WGPURenderPassEncoder, WGPUBuffer, uint64_t, uint32_t, WGPUBuffer, uint64_t] +except AttributeError: + pass +try: + wgpuRenderPassEncoderPixelLocalStorageBarrier = _libraries['libwebgpu_dawn.so'].wgpuRenderPassEncoderPixelLocalStorageBarrier + wgpuRenderPassEncoderPixelLocalStorageBarrier.restype = None + wgpuRenderPassEncoderPixelLocalStorageBarrier.argtypes = [WGPURenderPassEncoder] +except AttributeError: + pass +try: + wgpuRenderPassEncoderPopDebugGroup = _libraries['libwebgpu_dawn.so'].wgpuRenderPassEncoderPopDebugGroup + wgpuRenderPassEncoderPopDebugGroup.restype = None + wgpuRenderPassEncoderPopDebugGroup.argtypes = [WGPURenderPassEncoder] +except AttributeError: + pass +try: + wgpuRenderPassEncoderPushDebugGroup = _libraries['libwebgpu_dawn.so'].wgpuRenderPassEncoderPushDebugGroup + wgpuRenderPassEncoderPushDebugGroup.restype = None + wgpuRenderPassEncoderPushDebugGroup.argtypes = [WGPURenderPassEncoder, WGPUStringView] +except AttributeError: + pass +try: + wgpuRenderPassEncoderSetBindGroup = _libraries['libwebgpu_dawn.so'].wgpuRenderPassEncoderSetBindGroup + wgpuRenderPassEncoderSetBindGroup.restype = None + wgpuRenderPassEncoderSetBindGroup.argtypes = [WGPURenderPassEncoder, uint32_t, WGPUBindGroup, size_t, ctypes.POINTER(ctypes.c_uint32)] +except AttributeError: + pass +try: + wgpuRenderPassEncoderSetBlendConstant = _libraries['libwebgpu_dawn.so'].wgpuRenderPassEncoderSetBlendConstant + wgpuRenderPassEncoderSetBlendConstant.restype = None + wgpuRenderPassEncoderSetBlendConstant.argtypes = [WGPURenderPassEncoder, ctypes.POINTER(struct_WGPUColor)] +except AttributeError: + pass +try: + wgpuRenderPassEncoderSetIndexBuffer = _libraries['libwebgpu_dawn.so'].wgpuRenderPassEncoderSetIndexBuffer + wgpuRenderPassEncoderSetIndexBuffer.restype = None + wgpuRenderPassEncoderSetIndexBuffer.argtypes = [WGPURenderPassEncoder, WGPUBuffer, WGPUIndexFormat, uint64_t, uint64_t] +except AttributeError: + pass +try: + wgpuRenderPassEncoderSetLabel = _libraries['libwebgpu_dawn.so'].wgpuRenderPassEncoderSetLabel + wgpuRenderPassEncoderSetLabel.restype = None + wgpuRenderPassEncoderSetLabel.argtypes = [WGPURenderPassEncoder, WGPUStringView] +except AttributeError: + pass +try: + wgpuRenderPassEncoderSetPipeline = _libraries['libwebgpu_dawn.so'].wgpuRenderPassEncoderSetPipeline + wgpuRenderPassEncoderSetPipeline.restype = None + wgpuRenderPassEncoderSetPipeline.argtypes = [WGPURenderPassEncoder, WGPURenderPipeline] +except AttributeError: + pass +try: + wgpuRenderPassEncoderSetScissorRect = _libraries['libwebgpu_dawn.so'].wgpuRenderPassEncoderSetScissorRect + wgpuRenderPassEncoderSetScissorRect.restype = None + wgpuRenderPassEncoderSetScissorRect.argtypes = [WGPURenderPassEncoder, uint32_t, uint32_t, uint32_t, uint32_t] +except AttributeError: + pass +try: + wgpuRenderPassEncoderSetStencilReference = _libraries['libwebgpu_dawn.so'].wgpuRenderPassEncoderSetStencilReference + wgpuRenderPassEncoderSetStencilReference.restype = None + wgpuRenderPassEncoderSetStencilReference.argtypes = [WGPURenderPassEncoder, uint32_t] +except AttributeError: + pass +try: + wgpuRenderPassEncoderSetVertexBuffer = _libraries['libwebgpu_dawn.so'].wgpuRenderPassEncoderSetVertexBuffer + wgpuRenderPassEncoderSetVertexBuffer.restype = None + wgpuRenderPassEncoderSetVertexBuffer.argtypes = [WGPURenderPassEncoder, uint32_t, WGPUBuffer, uint64_t, uint64_t] +except AttributeError: + pass +try: + wgpuRenderPassEncoderSetViewport = _libraries['libwebgpu_dawn.so'].wgpuRenderPassEncoderSetViewport + wgpuRenderPassEncoderSetViewport.restype = None + wgpuRenderPassEncoderSetViewport.argtypes = [WGPURenderPassEncoder, ctypes.c_float, ctypes.c_float, ctypes.c_float, ctypes.c_float, ctypes.c_float, ctypes.c_float] +except AttributeError: + pass +try: + wgpuRenderPassEncoderWriteTimestamp = _libraries['libwebgpu_dawn.so'].wgpuRenderPassEncoderWriteTimestamp + wgpuRenderPassEncoderWriteTimestamp.restype = None + wgpuRenderPassEncoderWriteTimestamp.argtypes = [WGPURenderPassEncoder, WGPUQuerySet, uint32_t] +except AttributeError: + pass +try: + wgpuRenderPassEncoderAddRef = _libraries['libwebgpu_dawn.so'].wgpuRenderPassEncoderAddRef + wgpuRenderPassEncoderAddRef.restype = None + wgpuRenderPassEncoderAddRef.argtypes = [WGPURenderPassEncoder] +except AttributeError: + pass +try: + wgpuRenderPassEncoderRelease = _libraries['libwebgpu_dawn.so'].wgpuRenderPassEncoderRelease + wgpuRenderPassEncoderRelease.restype = None + wgpuRenderPassEncoderRelease.argtypes = [WGPURenderPassEncoder] +except AttributeError: + pass +try: + wgpuRenderPipelineGetBindGroupLayout = _libraries['libwebgpu_dawn.so'].wgpuRenderPipelineGetBindGroupLayout + wgpuRenderPipelineGetBindGroupLayout.restype = WGPUBindGroupLayout + wgpuRenderPipelineGetBindGroupLayout.argtypes = [WGPURenderPipeline, uint32_t] +except AttributeError: + pass +try: + wgpuRenderPipelineSetLabel = _libraries['libwebgpu_dawn.so'].wgpuRenderPipelineSetLabel + wgpuRenderPipelineSetLabel.restype = None + wgpuRenderPipelineSetLabel.argtypes = [WGPURenderPipeline, WGPUStringView] +except AttributeError: + pass +try: + wgpuRenderPipelineAddRef = _libraries['libwebgpu_dawn.so'].wgpuRenderPipelineAddRef + wgpuRenderPipelineAddRef.restype = None + wgpuRenderPipelineAddRef.argtypes = [WGPURenderPipeline] +except AttributeError: + pass +try: + wgpuRenderPipelineRelease = _libraries['libwebgpu_dawn.so'].wgpuRenderPipelineRelease + wgpuRenderPipelineRelease.restype = None + wgpuRenderPipelineRelease.argtypes = [WGPURenderPipeline] +except AttributeError: + pass +try: + wgpuSamplerSetLabel = _libraries['libwebgpu_dawn.so'].wgpuSamplerSetLabel + wgpuSamplerSetLabel.restype = None + wgpuSamplerSetLabel.argtypes = [WGPUSampler, WGPUStringView] +except AttributeError: + pass +try: + wgpuSamplerAddRef = _libraries['libwebgpu_dawn.so'].wgpuSamplerAddRef + wgpuSamplerAddRef.restype = None + wgpuSamplerAddRef.argtypes = [WGPUSampler] +except AttributeError: + pass +try: + wgpuSamplerRelease = _libraries['libwebgpu_dawn.so'].wgpuSamplerRelease + wgpuSamplerRelease.restype = None + wgpuSamplerRelease.argtypes = [WGPUSampler] +except AttributeError: + pass +try: + wgpuShaderModuleGetCompilationInfo = _libraries['libwebgpu_dawn.so'].wgpuShaderModuleGetCompilationInfo + wgpuShaderModuleGetCompilationInfo.restype = None + wgpuShaderModuleGetCompilationInfo.argtypes = [WGPUShaderModule, WGPUCompilationInfoCallback, ctypes.POINTER(None)] +except AttributeError: + pass +try: + wgpuShaderModuleGetCompilationInfo2 = _libraries['libwebgpu_dawn.so'].wgpuShaderModuleGetCompilationInfo2 + wgpuShaderModuleGetCompilationInfo2.restype = WGPUFuture + wgpuShaderModuleGetCompilationInfo2.argtypes = [WGPUShaderModule, WGPUCompilationInfoCallbackInfo2] +except AttributeError: + pass +try: + wgpuShaderModuleGetCompilationInfoF = _libraries['libwebgpu_dawn.so'].wgpuShaderModuleGetCompilationInfoF + wgpuShaderModuleGetCompilationInfoF.restype = WGPUFuture + wgpuShaderModuleGetCompilationInfoF.argtypes = [WGPUShaderModule, WGPUCompilationInfoCallbackInfo] +except AttributeError: + pass +try: + wgpuShaderModuleSetLabel = _libraries['libwebgpu_dawn.so'].wgpuShaderModuleSetLabel + wgpuShaderModuleSetLabel.restype = None + wgpuShaderModuleSetLabel.argtypes = [WGPUShaderModule, WGPUStringView] +except AttributeError: + pass +try: + wgpuShaderModuleAddRef = _libraries['libwebgpu_dawn.so'].wgpuShaderModuleAddRef + wgpuShaderModuleAddRef.restype = None + wgpuShaderModuleAddRef.argtypes = [WGPUShaderModule] +except AttributeError: + pass +try: + wgpuShaderModuleRelease = _libraries['libwebgpu_dawn.so'].wgpuShaderModuleRelease + wgpuShaderModuleRelease.restype = None + wgpuShaderModuleRelease.argtypes = [WGPUShaderModule] +except AttributeError: + pass +try: + wgpuSharedBufferMemoryBeginAccess = _libraries['libwebgpu_dawn.so'].wgpuSharedBufferMemoryBeginAccess + wgpuSharedBufferMemoryBeginAccess.restype = WGPUStatus + wgpuSharedBufferMemoryBeginAccess.argtypes = [WGPUSharedBufferMemory, WGPUBuffer, ctypes.POINTER(struct_WGPUSharedBufferMemoryBeginAccessDescriptor)] +except AttributeError: + pass +try: + wgpuSharedBufferMemoryCreateBuffer = _libraries['libwebgpu_dawn.so'].wgpuSharedBufferMemoryCreateBuffer + wgpuSharedBufferMemoryCreateBuffer.restype = WGPUBuffer + wgpuSharedBufferMemoryCreateBuffer.argtypes = [WGPUSharedBufferMemory, ctypes.POINTER(struct_WGPUBufferDescriptor)] +except AttributeError: + pass +try: + wgpuSharedBufferMemoryEndAccess = _libraries['libwebgpu_dawn.so'].wgpuSharedBufferMemoryEndAccess + wgpuSharedBufferMemoryEndAccess.restype = WGPUStatus + wgpuSharedBufferMemoryEndAccess.argtypes = [WGPUSharedBufferMemory, WGPUBuffer, ctypes.POINTER(struct_WGPUSharedBufferMemoryEndAccessState)] +except AttributeError: + pass +try: + wgpuSharedBufferMemoryGetProperties = _libraries['libwebgpu_dawn.so'].wgpuSharedBufferMemoryGetProperties + wgpuSharedBufferMemoryGetProperties.restype = WGPUStatus + wgpuSharedBufferMemoryGetProperties.argtypes = [WGPUSharedBufferMemory, ctypes.POINTER(struct_WGPUSharedBufferMemoryProperties)] +except AttributeError: + pass +try: + wgpuSharedBufferMemoryIsDeviceLost = _libraries['libwebgpu_dawn.so'].wgpuSharedBufferMemoryIsDeviceLost + wgpuSharedBufferMemoryIsDeviceLost.restype = WGPUBool + wgpuSharedBufferMemoryIsDeviceLost.argtypes = [WGPUSharedBufferMemory] +except AttributeError: + pass +try: + wgpuSharedBufferMemorySetLabel = _libraries['libwebgpu_dawn.so'].wgpuSharedBufferMemorySetLabel + wgpuSharedBufferMemorySetLabel.restype = None + wgpuSharedBufferMemorySetLabel.argtypes = [WGPUSharedBufferMemory, WGPUStringView] +except AttributeError: + pass +try: + wgpuSharedBufferMemoryAddRef = _libraries['libwebgpu_dawn.so'].wgpuSharedBufferMemoryAddRef + wgpuSharedBufferMemoryAddRef.restype = None + wgpuSharedBufferMemoryAddRef.argtypes = [WGPUSharedBufferMemory] +except AttributeError: + pass +try: + wgpuSharedBufferMemoryRelease = _libraries['libwebgpu_dawn.so'].wgpuSharedBufferMemoryRelease + wgpuSharedBufferMemoryRelease.restype = None + wgpuSharedBufferMemoryRelease.argtypes = [WGPUSharedBufferMemory] +except AttributeError: + pass +try: + wgpuSharedFenceExportInfo = _libraries['libwebgpu_dawn.so'].wgpuSharedFenceExportInfo + wgpuSharedFenceExportInfo.restype = None + wgpuSharedFenceExportInfo.argtypes = [WGPUSharedFence, ctypes.POINTER(struct_WGPUSharedFenceExportInfo)] +except AttributeError: + pass +try: + wgpuSharedFenceAddRef = _libraries['libwebgpu_dawn.so'].wgpuSharedFenceAddRef + wgpuSharedFenceAddRef.restype = None + wgpuSharedFenceAddRef.argtypes = [WGPUSharedFence] +except AttributeError: + pass +try: + wgpuSharedFenceRelease = _libraries['libwebgpu_dawn.so'].wgpuSharedFenceRelease + wgpuSharedFenceRelease.restype = None + wgpuSharedFenceRelease.argtypes = [WGPUSharedFence] +except AttributeError: + pass +try: + wgpuSharedTextureMemoryBeginAccess = _libraries['libwebgpu_dawn.so'].wgpuSharedTextureMemoryBeginAccess + wgpuSharedTextureMemoryBeginAccess.restype = WGPUStatus + wgpuSharedTextureMemoryBeginAccess.argtypes = [WGPUSharedTextureMemory, WGPUTexture, ctypes.POINTER(struct_WGPUSharedTextureMemoryBeginAccessDescriptor)] +except AttributeError: + pass +try: + wgpuSharedTextureMemoryCreateTexture = _libraries['libwebgpu_dawn.so'].wgpuSharedTextureMemoryCreateTexture + wgpuSharedTextureMemoryCreateTexture.restype = WGPUTexture + wgpuSharedTextureMemoryCreateTexture.argtypes = [WGPUSharedTextureMemory, ctypes.POINTER(struct_WGPUTextureDescriptor)] +except AttributeError: + pass +try: + wgpuSharedTextureMemoryEndAccess = _libraries['libwebgpu_dawn.so'].wgpuSharedTextureMemoryEndAccess + wgpuSharedTextureMemoryEndAccess.restype = WGPUStatus + wgpuSharedTextureMemoryEndAccess.argtypes = [WGPUSharedTextureMemory, WGPUTexture, ctypes.POINTER(struct_WGPUSharedTextureMemoryEndAccessState)] +except AttributeError: + pass +try: + wgpuSharedTextureMemoryGetProperties = _libraries['libwebgpu_dawn.so'].wgpuSharedTextureMemoryGetProperties + wgpuSharedTextureMemoryGetProperties.restype = WGPUStatus + wgpuSharedTextureMemoryGetProperties.argtypes = [WGPUSharedTextureMemory, ctypes.POINTER(struct_WGPUSharedTextureMemoryProperties)] +except AttributeError: + pass +try: + wgpuSharedTextureMemoryIsDeviceLost = _libraries['libwebgpu_dawn.so'].wgpuSharedTextureMemoryIsDeviceLost + wgpuSharedTextureMemoryIsDeviceLost.restype = WGPUBool + wgpuSharedTextureMemoryIsDeviceLost.argtypes = [WGPUSharedTextureMemory] +except AttributeError: + pass +try: + wgpuSharedTextureMemorySetLabel = _libraries['libwebgpu_dawn.so'].wgpuSharedTextureMemorySetLabel + wgpuSharedTextureMemorySetLabel.restype = None + wgpuSharedTextureMemorySetLabel.argtypes = [WGPUSharedTextureMemory, WGPUStringView] +except AttributeError: + pass +try: + wgpuSharedTextureMemoryAddRef = _libraries['libwebgpu_dawn.so'].wgpuSharedTextureMemoryAddRef + wgpuSharedTextureMemoryAddRef.restype = None + wgpuSharedTextureMemoryAddRef.argtypes = [WGPUSharedTextureMemory] +except AttributeError: + pass +try: + wgpuSharedTextureMemoryRelease = _libraries['libwebgpu_dawn.so'].wgpuSharedTextureMemoryRelease + wgpuSharedTextureMemoryRelease.restype = None + wgpuSharedTextureMemoryRelease.argtypes = [WGPUSharedTextureMemory] +except AttributeError: + pass +try: + wgpuSurfaceConfigure = _libraries['libwebgpu_dawn.so'].wgpuSurfaceConfigure + wgpuSurfaceConfigure.restype = None + wgpuSurfaceConfigure.argtypes = [WGPUSurface, ctypes.POINTER(struct_WGPUSurfaceConfiguration)] +except AttributeError: + pass +try: + wgpuSurfaceGetCapabilities = _libraries['libwebgpu_dawn.so'].wgpuSurfaceGetCapabilities + wgpuSurfaceGetCapabilities.restype = WGPUStatus + wgpuSurfaceGetCapabilities.argtypes = [WGPUSurface, WGPUAdapter, ctypes.POINTER(struct_WGPUSurfaceCapabilities)] +except AttributeError: + pass +try: + wgpuSurfaceGetCurrentTexture = _libraries['libwebgpu_dawn.so'].wgpuSurfaceGetCurrentTexture + wgpuSurfaceGetCurrentTexture.restype = None + wgpuSurfaceGetCurrentTexture.argtypes = [WGPUSurface, ctypes.POINTER(struct_WGPUSurfaceTexture)] +except AttributeError: + pass +try: + wgpuSurfacePresent = _libraries['libwebgpu_dawn.so'].wgpuSurfacePresent + wgpuSurfacePresent.restype = None + wgpuSurfacePresent.argtypes = [WGPUSurface] +except AttributeError: + pass +try: + wgpuSurfaceSetLabel = _libraries['libwebgpu_dawn.so'].wgpuSurfaceSetLabel + wgpuSurfaceSetLabel.restype = None + wgpuSurfaceSetLabel.argtypes = [WGPUSurface, WGPUStringView] +except AttributeError: + pass +try: + wgpuSurfaceUnconfigure = _libraries['libwebgpu_dawn.so'].wgpuSurfaceUnconfigure + wgpuSurfaceUnconfigure.restype = None + wgpuSurfaceUnconfigure.argtypes = [WGPUSurface] +except AttributeError: + pass +try: + wgpuSurfaceAddRef = _libraries['libwebgpu_dawn.so'].wgpuSurfaceAddRef + wgpuSurfaceAddRef.restype = None + wgpuSurfaceAddRef.argtypes = [WGPUSurface] +except AttributeError: + pass +try: + wgpuSurfaceRelease = _libraries['libwebgpu_dawn.so'].wgpuSurfaceRelease + wgpuSurfaceRelease.restype = None + wgpuSurfaceRelease.argtypes = [WGPUSurface] +except AttributeError: + pass +try: + wgpuTextureCreateErrorView = _libraries['libwebgpu_dawn.so'].wgpuTextureCreateErrorView + wgpuTextureCreateErrorView.restype = WGPUTextureView + wgpuTextureCreateErrorView.argtypes = [WGPUTexture, ctypes.POINTER(struct_WGPUTextureViewDescriptor)] +except AttributeError: + pass +try: + wgpuTextureCreateView = _libraries['libwebgpu_dawn.so'].wgpuTextureCreateView + wgpuTextureCreateView.restype = WGPUTextureView + wgpuTextureCreateView.argtypes = [WGPUTexture, ctypes.POINTER(struct_WGPUTextureViewDescriptor)] +except AttributeError: + pass +try: + wgpuTextureDestroy = _libraries['libwebgpu_dawn.so'].wgpuTextureDestroy + wgpuTextureDestroy.restype = None + wgpuTextureDestroy.argtypes = [WGPUTexture] +except AttributeError: + pass +try: + wgpuTextureGetDepthOrArrayLayers = _libraries['libwebgpu_dawn.so'].wgpuTextureGetDepthOrArrayLayers + wgpuTextureGetDepthOrArrayLayers.restype = uint32_t + wgpuTextureGetDepthOrArrayLayers.argtypes = [WGPUTexture] +except AttributeError: + pass +try: + wgpuTextureGetDimension = _libraries['libwebgpu_dawn.so'].wgpuTextureGetDimension + wgpuTextureGetDimension.restype = WGPUTextureDimension + wgpuTextureGetDimension.argtypes = [WGPUTexture] +except AttributeError: + pass +try: + wgpuTextureGetFormat = _libraries['libwebgpu_dawn.so'].wgpuTextureGetFormat + wgpuTextureGetFormat.restype = WGPUTextureFormat + wgpuTextureGetFormat.argtypes = [WGPUTexture] +except AttributeError: + pass +try: + wgpuTextureGetHeight = _libraries['libwebgpu_dawn.so'].wgpuTextureGetHeight + wgpuTextureGetHeight.restype = uint32_t + wgpuTextureGetHeight.argtypes = [WGPUTexture] +except AttributeError: + pass +try: + wgpuTextureGetMipLevelCount = _libraries['libwebgpu_dawn.so'].wgpuTextureGetMipLevelCount + wgpuTextureGetMipLevelCount.restype = uint32_t + wgpuTextureGetMipLevelCount.argtypes = [WGPUTexture] +except AttributeError: + pass +try: + wgpuTextureGetSampleCount = _libraries['libwebgpu_dawn.so'].wgpuTextureGetSampleCount + wgpuTextureGetSampleCount.restype = uint32_t + wgpuTextureGetSampleCount.argtypes = [WGPUTexture] +except AttributeError: + pass +try: + wgpuTextureGetUsage = _libraries['libwebgpu_dawn.so'].wgpuTextureGetUsage + wgpuTextureGetUsage.restype = WGPUTextureUsage + wgpuTextureGetUsage.argtypes = [WGPUTexture] +except AttributeError: + pass +try: + wgpuTextureGetWidth = _libraries['libwebgpu_dawn.so'].wgpuTextureGetWidth + wgpuTextureGetWidth.restype = uint32_t + wgpuTextureGetWidth.argtypes = [WGPUTexture] +except AttributeError: + pass +try: + wgpuTextureSetLabel = _libraries['libwebgpu_dawn.so'].wgpuTextureSetLabel + wgpuTextureSetLabel.restype = None + wgpuTextureSetLabel.argtypes = [WGPUTexture, WGPUStringView] +except AttributeError: + pass +try: + wgpuTextureAddRef = _libraries['libwebgpu_dawn.so'].wgpuTextureAddRef + wgpuTextureAddRef.restype = None + wgpuTextureAddRef.argtypes = [WGPUTexture] +except AttributeError: + pass +try: + wgpuTextureRelease = _libraries['libwebgpu_dawn.so'].wgpuTextureRelease + wgpuTextureRelease.restype = None + wgpuTextureRelease.argtypes = [WGPUTexture] +except AttributeError: + pass +try: + wgpuTextureViewSetLabel = _libraries['libwebgpu_dawn.so'].wgpuTextureViewSetLabel + wgpuTextureViewSetLabel.restype = None + wgpuTextureViewSetLabel.argtypes = [WGPUTextureView, WGPUStringView] +except AttributeError: + pass +try: + wgpuTextureViewAddRef = _libraries['libwebgpu_dawn.so'].wgpuTextureViewAddRef + wgpuTextureViewAddRef.restype = None + wgpuTextureViewAddRef.argtypes = [WGPUTextureView] +except AttributeError: + pass +try: + wgpuTextureViewRelease = _libraries['libwebgpu_dawn.so'].wgpuTextureViewRelease + wgpuTextureViewRelease.restype = None + wgpuTextureViewRelease.argtypes = [WGPUTextureView] +except AttributeError: + pass +__all__ = \ + ['WGPUAHardwareBufferProperties', 'WGPUAdapter', + 'WGPUAdapterInfo', 'WGPUAdapterPropertiesD3D', + 'WGPUAdapterPropertiesMemoryHeaps', + 'WGPUAdapterPropertiesSubgroups', 'WGPUAdapterPropertiesVk', + 'WGPUAdapterType', 'WGPUAdapterType_CPU', + 'WGPUAdapterType_DiscreteGPU', 'WGPUAdapterType_Force32', + 'WGPUAdapterType_IntegratedGPU', 'WGPUAdapterType_Unknown', + 'WGPUAddressMode', 'WGPUAddressMode_ClampToEdge', + 'WGPUAddressMode_Force32', 'WGPUAddressMode_MirrorRepeat', + 'WGPUAddressMode_Repeat', 'WGPUAddressMode_Undefined', + 'WGPUAlphaMode', 'WGPUAlphaMode_Force32', 'WGPUAlphaMode_Opaque', + 'WGPUAlphaMode_Premultiplied', 'WGPUAlphaMode_Unpremultiplied', + 'WGPUBackendType', 'WGPUBackendType_D3D11', + 'WGPUBackendType_D3D12', 'WGPUBackendType_Force32', + 'WGPUBackendType_Metal', 'WGPUBackendType_Null', + 'WGPUBackendType_OpenGL', 'WGPUBackendType_OpenGLES', + 'WGPUBackendType_Undefined', 'WGPUBackendType_Vulkan', + 'WGPUBackendType_WebGPU', 'WGPUBindGroup', + 'WGPUBindGroupDescriptor', 'WGPUBindGroupEntry', + 'WGPUBindGroupLayout', 'WGPUBindGroupLayoutDescriptor', + 'WGPUBindGroupLayoutEntry', 'WGPUBlendComponent', + 'WGPUBlendFactor', 'WGPUBlendFactor_Constant', + 'WGPUBlendFactor_Dst', 'WGPUBlendFactor_DstAlpha', + 'WGPUBlendFactor_Force32', 'WGPUBlendFactor_One', + 'WGPUBlendFactor_OneMinusConstant', 'WGPUBlendFactor_OneMinusDst', + 'WGPUBlendFactor_OneMinusDstAlpha', 'WGPUBlendFactor_OneMinusSrc', + 'WGPUBlendFactor_OneMinusSrc1', + 'WGPUBlendFactor_OneMinusSrc1Alpha', + 'WGPUBlendFactor_OneMinusSrcAlpha', 'WGPUBlendFactor_Src', + 'WGPUBlendFactor_Src1', 'WGPUBlendFactor_Src1Alpha', + 'WGPUBlendFactor_SrcAlpha', 'WGPUBlendFactor_SrcAlphaSaturated', + 'WGPUBlendFactor_Undefined', 'WGPUBlendFactor_Zero', + 'WGPUBlendOperation', 'WGPUBlendOperation_Add', + 'WGPUBlendOperation_Force32', 'WGPUBlendOperation_Max', + 'WGPUBlendOperation_Min', 'WGPUBlendOperation_ReverseSubtract', + 'WGPUBlendOperation_Subtract', 'WGPUBlendOperation_Undefined', + 'WGPUBlendState', 'WGPUBool', 'WGPUBuffer', + 'WGPUBufferBindingLayout', 'WGPUBufferBindingType', + 'WGPUBufferBindingType_BindingNotUsed', + 'WGPUBufferBindingType_Force32', + 'WGPUBufferBindingType_ReadOnlyStorage', + 'WGPUBufferBindingType_Storage', 'WGPUBufferBindingType_Uniform', + 'WGPUBufferDescriptor', 'WGPUBufferHostMappedPointer', + 'WGPUBufferMapAsyncStatus', + 'WGPUBufferMapAsyncStatus_DestroyedBeforeCallback', + 'WGPUBufferMapAsyncStatus_DeviceLost', + 'WGPUBufferMapAsyncStatus_Force32', + 'WGPUBufferMapAsyncStatus_InstanceDropped', + 'WGPUBufferMapAsyncStatus_MappingAlreadyPending', + 'WGPUBufferMapAsyncStatus_OffsetOutOfRange', + 'WGPUBufferMapAsyncStatus_SizeOutOfRange', + 'WGPUBufferMapAsyncStatus_Success', + 'WGPUBufferMapAsyncStatus_Unknown', + 'WGPUBufferMapAsyncStatus_UnmappedBeforeCallback', + 'WGPUBufferMapAsyncStatus_ValidationError', + 'WGPUBufferMapCallback', 'WGPUBufferMapCallback2', + 'WGPUBufferMapCallbackInfo', 'WGPUBufferMapCallbackInfo2', + 'WGPUBufferMapState', 'WGPUBufferMapState_Force32', + 'WGPUBufferMapState_Mapped', 'WGPUBufferMapState_Pending', + 'WGPUBufferMapState_Unmapped', 'WGPUBufferUsage', + 'WGPUBufferUsage_CopyDst', 'WGPUBufferUsage_CopySrc', + 'WGPUBufferUsage_Index', 'WGPUBufferUsage_Indirect', + 'WGPUBufferUsage_MapRead', 'WGPUBufferUsage_MapWrite', + 'WGPUBufferUsage_None', 'WGPUBufferUsage_QueryResolve', + 'WGPUBufferUsage_Storage', 'WGPUBufferUsage_Uniform', + 'WGPUBufferUsage_Vertex', 'WGPUCallback', 'WGPUCallbackMode', + 'WGPUCallbackMode_AllowProcessEvents', + 'WGPUCallbackMode_AllowSpontaneous', 'WGPUCallbackMode_Force32', + 'WGPUCallbackMode_WaitAnyOnly', 'WGPUChainedStruct', + 'WGPUChainedStructOut', 'WGPUColor', 'WGPUColorTargetState', + 'WGPUColorTargetStateExpandResolveTextureDawn', + 'WGPUColorWriteMask', 'WGPUColorWriteMask_All', + 'WGPUColorWriteMask_Alpha', 'WGPUColorWriteMask_Blue', + 'WGPUColorWriteMask_Green', 'WGPUColorWriteMask_None', + 'WGPUColorWriteMask_Red', 'WGPUCommandBuffer', + 'WGPUCommandBufferDescriptor', 'WGPUCommandEncoder', + 'WGPUCommandEncoderDescriptor', 'WGPUCompareFunction', + 'WGPUCompareFunction_Always', 'WGPUCompareFunction_Equal', + 'WGPUCompareFunction_Force32', 'WGPUCompareFunction_Greater', + 'WGPUCompareFunction_GreaterEqual', 'WGPUCompareFunction_Less', + 'WGPUCompareFunction_LessEqual', 'WGPUCompareFunction_Never', + 'WGPUCompareFunction_NotEqual', 'WGPUCompareFunction_Undefined', + 'WGPUCompilationInfo', 'WGPUCompilationInfoCallback', + 'WGPUCompilationInfoCallback2', 'WGPUCompilationInfoCallbackInfo', + 'WGPUCompilationInfoCallbackInfo2', + 'WGPUCompilationInfoRequestStatus', + 'WGPUCompilationInfoRequestStatus_DeviceLost', + 'WGPUCompilationInfoRequestStatus_Error', + 'WGPUCompilationInfoRequestStatus_Force32', + 'WGPUCompilationInfoRequestStatus_InstanceDropped', + 'WGPUCompilationInfoRequestStatus_Success', + 'WGPUCompilationInfoRequestStatus_Unknown', + 'WGPUCompilationMessage', 'WGPUCompilationMessageType', + 'WGPUCompilationMessageType_Error', + 'WGPUCompilationMessageType_Force32', + 'WGPUCompilationMessageType_Info', + 'WGPUCompilationMessageType_Warning', 'WGPUCompositeAlphaMode', + 'WGPUCompositeAlphaMode_Auto', 'WGPUCompositeAlphaMode_Force32', + 'WGPUCompositeAlphaMode_Inherit', 'WGPUCompositeAlphaMode_Opaque', + 'WGPUCompositeAlphaMode_Premultiplied', + 'WGPUCompositeAlphaMode_Unpremultiplied', + 'WGPUComputePassDescriptor', 'WGPUComputePassEncoder', + 'WGPUComputePassTimestampWrites', 'WGPUComputePipeline', + 'WGPUComputePipelineDescriptor', 'WGPUComputeState', + 'WGPUConstantEntry', 'WGPUCopyTextureForBrowserOptions', + 'WGPUCreateComputePipelineAsyncCallback', + 'WGPUCreateComputePipelineAsyncCallback2', + 'WGPUCreateComputePipelineAsyncCallbackInfo', + 'WGPUCreateComputePipelineAsyncCallbackInfo2', + 'WGPUCreatePipelineAsyncStatus', + 'WGPUCreatePipelineAsyncStatus_DeviceDestroyed', + 'WGPUCreatePipelineAsyncStatus_DeviceLost', + 'WGPUCreatePipelineAsyncStatus_Force32', + 'WGPUCreatePipelineAsyncStatus_InstanceDropped', + 'WGPUCreatePipelineAsyncStatus_InternalError', + 'WGPUCreatePipelineAsyncStatus_Success', + 'WGPUCreatePipelineAsyncStatus_Unknown', + 'WGPUCreatePipelineAsyncStatus_ValidationError', + 'WGPUCreateRenderPipelineAsyncCallback', + 'WGPUCreateRenderPipelineAsyncCallback2', + 'WGPUCreateRenderPipelineAsyncCallbackInfo', + 'WGPUCreateRenderPipelineAsyncCallbackInfo2', 'WGPUCullMode', + 'WGPUCullMode_Back', 'WGPUCullMode_Force32', 'WGPUCullMode_Front', + 'WGPUCullMode_None', 'WGPUCullMode_Undefined', + 'WGPUDawnAdapterPropertiesPowerPreference', + 'WGPUDawnBufferDescriptorErrorInfoFromWireClient', + 'WGPUDawnCacheDeviceDescriptor', + 'WGPUDawnEncoderInternalUsageDescriptor', + 'WGPUDawnExperimentalImmediateDataLimits', + 'WGPUDawnExperimentalSubgroupLimits', + 'WGPUDawnLoadCacheDataFunction', + 'WGPUDawnRenderPassColorAttachmentRenderToSingleSampled', + 'WGPUDawnShaderModuleSPIRVOptionsDescriptor', + 'WGPUDawnStoreCacheDataFunction', + 'WGPUDawnTexelCopyBufferRowAlignmentLimits', + 'WGPUDawnTextureInternalUsageDescriptor', + 'WGPUDawnTogglesDescriptor', 'WGPUDawnWGSLBlocklist', + 'WGPUDawnWireWGSLControl', 'WGPUDepthStencilState', 'WGPUDevice', + 'WGPUDeviceDescriptor', 'WGPUDeviceLostCallback', + 'WGPUDeviceLostCallback2', 'WGPUDeviceLostCallbackInfo', + 'WGPUDeviceLostCallbackInfo2', 'WGPUDeviceLostCallbackNew', + 'WGPUDeviceLostReason', 'WGPUDeviceLostReason_Destroyed', + 'WGPUDeviceLostReason_FailedCreation', + 'WGPUDeviceLostReason_Force32', + 'WGPUDeviceLostReason_InstanceDropped', + 'WGPUDeviceLostReason_Unknown', 'WGPUDrmFormatCapabilities', + 'WGPUDrmFormatProperties', 'WGPUErrorCallback', 'WGPUErrorFilter', + 'WGPUErrorFilter_Force32', 'WGPUErrorFilter_Internal', + 'WGPUErrorFilter_OutOfMemory', 'WGPUErrorFilter_Validation', + 'WGPUErrorType', 'WGPUErrorType_DeviceLost', + 'WGPUErrorType_Force32', 'WGPUErrorType_Internal', + 'WGPUErrorType_NoError', 'WGPUErrorType_OutOfMemory', + 'WGPUErrorType_Unknown', 'WGPUErrorType_Validation', + 'WGPUExtent2D', 'WGPUExtent3D', 'WGPUExternalTexture', + 'WGPUExternalTextureBindingEntry', + 'WGPUExternalTextureBindingLayout', + 'WGPUExternalTextureDescriptor', 'WGPUExternalTextureRotation', + 'WGPUExternalTextureRotation_Force32', + 'WGPUExternalTextureRotation_Rotate0Degrees', + 'WGPUExternalTextureRotation_Rotate180Degrees', + 'WGPUExternalTextureRotation_Rotate270Degrees', + 'WGPUExternalTextureRotation_Rotate90Degrees', 'WGPUFeatureLevel', + 'WGPUFeatureLevel_Compatibility', 'WGPUFeatureLevel_Core', + 'WGPUFeatureLevel_Force32', 'WGPUFeatureLevel_Undefined', + 'WGPUFeatureName', 'WGPUFeatureName_ANGLETextureSharing', + 'WGPUFeatureName_AdapterPropertiesD3D', + 'WGPUFeatureName_AdapterPropertiesMemoryHeaps', + 'WGPUFeatureName_AdapterPropertiesVk', + 'WGPUFeatureName_BGRA8UnormStorage', + 'WGPUFeatureName_BufferMapExtendedUsages', + 'WGPUFeatureName_ChromiumExperimentalImmediateData', + 'WGPUFeatureName_ChromiumExperimentalTimestampQueryInsidePasses', + 'WGPUFeatureName_ClipDistances', + 'WGPUFeatureName_D3D11MultithreadProtected', + 'WGPUFeatureName_DawnInternalUsages', + 'WGPUFeatureName_DawnLoadResolveTexture', + 'WGPUFeatureName_DawnMultiPlanarFormats', + 'WGPUFeatureName_DawnNative', + 'WGPUFeatureName_DawnPartialLoadResolveTexture', + 'WGPUFeatureName_DawnTexelCopyBufferRowAlignment', + 'WGPUFeatureName_Depth32FloatStencil8', + 'WGPUFeatureName_DepthClipControl', + 'WGPUFeatureName_DrmFormatCapabilities', + 'WGPUFeatureName_DualSourceBlending', + 'WGPUFeatureName_FlexibleTextureViews', + 'WGPUFeatureName_Float32Blendable', + 'WGPUFeatureName_Float32Filterable', 'WGPUFeatureName_Force32', + 'WGPUFeatureName_FormatCapabilities', + 'WGPUFeatureName_FramebufferFetch', + 'WGPUFeatureName_HostMappedPointer', + 'WGPUFeatureName_ImplicitDeviceSynchronization', + 'WGPUFeatureName_IndirectFirstInstance', + 'WGPUFeatureName_MSAARenderToSingleSampled', + 'WGPUFeatureName_MultiDrawIndirect', + 'WGPUFeatureName_MultiPlanarFormatExtendedUsages', + 'WGPUFeatureName_MultiPlanarFormatNv12a', + 'WGPUFeatureName_MultiPlanarFormatNv16', + 'WGPUFeatureName_MultiPlanarFormatNv24', + 'WGPUFeatureName_MultiPlanarFormatP010', + 'WGPUFeatureName_MultiPlanarFormatP210', + 'WGPUFeatureName_MultiPlanarFormatP410', + 'WGPUFeatureName_MultiPlanarRenderTargets', + 'WGPUFeatureName_Norm16TextureFormats', + 'WGPUFeatureName_PixelLocalStorageCoherent', + 'WGPUFeatureName_PixelLocalStorageNonCoherent', + 'WGPUFeatureName_R8UnormStorage', + 'WGPUFeatureName_RG11B10UfloatRenderable', + 'WGPUFeatureName_ShaderF16', + 'WGPUFeatureName_ShaderModuleCompilationOptions', + 'WGPUFeatureName_SharedBufferMemoryD3D12Resource', + 'WGPUFeatureName_SharedFenceDXGISharedHandle', + 'WGPUFeatureName_SharedFenceMTLSharedEvent', + 'WGPUFeatureName_SharedFenceSyncFD', + 'WGPUFeatureName_SharedFenceVkSemaphoreOpaqueFD', + 'WGPUFeatureName_SharedFenceVkSemaphoreZirconHandle', + 'WGPUFeatureName_SharedTextureMemoryAHardwareBuffer', + 'WGPUFeatureName_SharedTextureMemoryD3D11Texture2D', + 'WGPUFeatureName_SharedTextureMemoryDXGISharedHandle', + 'WGPUFeatureName_SharedTextureMemoryDmaBuf', + 'WGPUFeatureName_SharedTextureMemoryEGLImage', + 'WGPUFeatureName_SharedTextureMemoryIOSurface', + 'WGPUFeatureName_SharedTextureMemoryOpaqueFD', + 'WGPUFeatureName_SharedTextureMemoryVkDedicatedAllocation', + 'WGPUFeatureName_SharedTextureMemoryZirconHandle', + 'WGPUFeatureName_Snorm16TextureFormats', + 'WGPUFeatureName_StaticSamplers', 'WGPUFeatureName_Subgroups', + 'WGPUFeatureName_SubgroupsF16', + 'WGPUFeatureName_TextureCompressionASTC', + 'WGPUFeatureName_TextureCompressionBC', + 'WGPUFeatureName_TextureCompressionETC2', + 'WGPUFeatureName_TimestampQuery', + 'WGPUFeatureName_TransientAttachments', + 'WGPUFeatureName_Unorm16TextureFormats', + 'WGPUFeatureName_YCbCrVulkanSamplers', 'WGPUFilterMode', + 'WGPUFilterMode_Force32', 'WGPUFilterMode_Linear', + 'WGPUFilterMode_Nearest', 'WGPUFilterMode_Undefined', 'WGPUFlags', + 'WGPUFormatCapabilities', 'WGPUFragmentState', 'WGPUFrontFace', + 'WGPUFrontFace_CCW', 'WGPUFrontFace_CW', 'WGPUFrontFace_Force32', + 'WGPUFrontFace_Undefined', 'WGPUFuture', 'WGPUFutureWaitInfo', + 'WGPUHeapProperty', 'WGPUHeapProperty_DeviceLocal', + 'WGPUHeapProperty_HostCached', 'WGPUHeapProperty_HostCoherent', + 'WGPUHeapProperty_HostUncached', 'WGPUHeapProperty_HostVisible', + 'WGPUINTERNAL__HAVE_EMDAWNWEBGPU_HEADER', 'WGPUImageCopyBuffer', + 'WGPUImageCopyExternalTexture', 'WGPUImageCopyTexture', + 'WGPUIndexFormat', 'WGPUIndexFormat_Force32', + 'WGPUIndexFormat_Uint16', 'WGPUIndexFormat_Uint32', + 'WGPUIndexFormat_Undefined', 'WGPUInstance', + 'WGPUInstanceDescriptor', 'WGPUInstanceFeatures', 'WGPULimits', + 'WGPULoadOp', 'WGPULoadOp_Clear', + 'WGPULoadOp_ExpandResolveTexture', 'WGPULoadOp_Force32', + 'WGPULoadOp_Load', 'WGPULoadOp_Undefined', 'WGPULoggingCallback', + 'WGPULoggingType', 'WGPULoggingType_Error', + 'WGPULoggingType_Force32', 'WGPULoggingType_Info', + 'WGPULoggingType_Verbose', 'WGPULoggingType_Warning', + 'WGPUMapAsyncStatus', 'WGPUMapAsyncStatus_Aborted', + 'WGPUMapAsyncStatus_Error', 'WGPUMapAsyncStatus_Force32', + 'WGPUMapAsyncStatus_InstanceDropped', + 'WGPUMapAsyncStatus_Success', 'WGPUMapAsyncStatus_Unknown', + 'WGPUMapMode', 'WGPUMapMode_None', 'WGPUMapMode_Read', + 'WGPUMapMode_Write', 'WGPUMemoryHeapInfo', 'WGPUMipmapFilterMode', + 'WGPUMipmapFilterMode_Force32', 'WGPUMipmapFilterMode_Linear', + 'WGPUMipmapFilterMode_Nearest', 'WGPUMipmapFilterMode_Undefined', + 'WGPUMultisampleState', 'WGPUOptionalBool', + 'WGPUOptionalBool_False', 'WGPUOptionalBool_Force32', + 'WGPUOptionalBool_True', 'WGPUOptionalBool_Undefined', + 'WGPUOrigin2D', 'WGPUOrigin3D', 'WGPUPipelineLayout', + 'WGPUPipelineLayoutDescriptor', + 'WGPUPipelineLayoutPixelLocalStorage', + 'WGPUPipelineLayoutStorageAttachment', + 'WGPUPopErrorScopeCallback', 'WGPUPopErrorScopeCallback2', + 'WGPUPopErrorScopeCallbackInfo', 'WGPUPopErrorScopeCallbackInfo2', + 'WGPUPopErrorScopeStatus', 'WGPUPopErrorScopeStatus_Force32', + 'WGPUPopErrorScopeStatus_InstanceDropped', + 'WGPUPopErrorScopeStatus_Success', 'WGPUPowerPreference', + 'WGPUPowerPreference_Force32', + 'WGPUPowerPreference_HighPerformance', + 'WGPUPowerPreference_LowPower', 'WGPUPowerPreference_Undefined', + 'WGPUPresentMode', 'WGPUPresentMode_Fifo', + 'WGPUPresentMode_FifoRelaxed', 'WGPUPresentMode_Force32', + 'WGPUPresentMode_Immediate', 'WGPUPresentMode_Mailbox', + 'WGPUPrimitiveState', 'WGPUPrimitiveTopology', + 'WGPUPrimitiveTopology_Force32', 'WGPUPrimitiveTopology_LineList', + 'WGPUPrimitiveTopology_LineStrip', + 'WGPUPrimitiveTopology_PointList', + 'WGPUPrimitiveTopology_TriangleList', + 'WGPUPrimitiveTopology_TriangleStrip', + 'WGPUPrimitiveTopology_Undefined', 'WGPUProc', + 'WGPUProcAdapterAddRef', 'WGPUProcAdapterCreateDevice', + 'WGPUProcAdapterGetFeatures', + 'WGPUProcAdapterGetFormatCapabilities', 'WGPUProcAdapterGetInfo', + 'WGPUProcAdapterGetInstance', 'WGPUProcAdapterGetLimits', + 'WGPUProcAdapterHasFeature', 'WGPUProcAdapterInfoFreeMembers', + 'WGPUProcAdapterPropertiesMemoryHeapsFreeMembers', + 'WGPUProcAdapterRelease', 'WGPUProcAdapterRequestDevice', + 'WGPUProcAdapterRequestDevice2', 'WGPUProcAdapterRequestDeviceF', + 'WGPUProcBindGroupAddRef', 'WGPUProcBindGroupLayoutAddRef', + 'WGPUProcBindGroupLayoutRelease', + 'WGPUProcBindGroupLayoutSetLabel', 'WGPUProcBindGroupRelease', + 'WGPUProcBindGroupSetLabel', 'WGPUProcBufferAddRef', + 'WGPUProcBufferDestroy', 'WGPUProcBufferGetConstMappedRange', + 'WGPUProcBufferGetMapState', 'WGPUProcBufferGetMappedRange', + 'WGPUProcBufferGetSize', 'WGPUProcBufferGetUsage', + 'WGPUProcBufferMapAsync', 'WGPUProcBufferMapAsync2', + 'WGPUProcBufferMapAsyncF', 'WGPUProcBufferRelease', + 'WGPUProcBufferSetLabel', 'WGPUProcBufferUnmap', + 'WGPUProcCommandBufferAddRef', 'WGPUProcCommandBufferRelease', + 'WGPUProcCommandBufferSetLabel', 'WGPUProcCommandEncoderAddRef', + 'WGPUProcCommandEncoderBeginComputePass', + 'WGPUProcCommandEncoderBeginRenderPass', + 'WGPUProcCommandEncoderClearBuffer', + 'WGPUProcCommandEncoderCopyBufferToBuffer', + 'WGPUProcCommandEncoderCopyBufferToTexture', + 'WGPUProcCommandEncoderCopyTextureToBuffer', + 'WGPUProcCommandEncoderCopyTextureToTexture', + 'WGPUProcCommandEncoderFinish', + 'WGPUProcCommandEncoderInjectValidationError', + 'WGPUProcCommandEncoderInsertDebugMarker', + 'WGPUProcCommandEncoderPopDebugGroup', + 'WGPUProcCommandEncoderPushDebugGroup', + 'WGPUProcCommandEncoderRelease', + 'WGPUProcCommandEncoderResolveQuerySet', + 'WGPUProcCommandEncoderSetLabel', + 'WGPUProcCommandEncoderWriteBuffer', + 'WGPUProcCommandEncoderWriteTimestamp', + 'WGPUProcComputePassEncoderAddRef', + 'WGPUProcComputePassEncoderDispatchWorkgroups', + 'WGPUProcComputePassEncoderDispatchWorkgroupsIndirect', + 'WGPUProcComputePassEncoderEnd', + 'WGPUProcComputePassEncoderInsertDebugMarker', + 'WGPUProcComputePassEncoderPopDebugGroup', + 'WGPUProcComputePassEncoderPushDebugGroup', + 'WGPUProcComputePassEncoderRelease', + 'WGPUProcComputePassEncoderSetBindGroup', + 'WGPUProcComputePassEncoderSetLabel', + 'WGPUProcComputePassEncoderSetPipeline', + 'WGPUProcComputePassEncoderWriteTimestamp', + 'WGPUProcComputePipelineAddRef', + 'WGPUProcComputePipelineGetBindGroupLayout', + 'WGPUProcComputePipelineRelease', + 'WGPUProcComputePipelineSetLabel', 'WGPUProcCreateInstance', + 'WGPUProcDeviceAddRef', 'WGPUProcDeviceCreateBindGroup', + 'WGPUProcDeviceCreateBindGroupLayout', + 'WGPUProcDeviceCreateBuffer', + 'WGPUProcDeviceCreateCommandEncoder', + 'WGPUProcDeviceCreateComputePipeline', + 'WGPUProcDeviceCreateComputePipelineAsync', + 'WGPUProcDeviceCreateComputePipelineAsync2', + 'WGPUProcDeviceCreateComputePipelineAsyncF', + 'WGPUProcDeviceCreateErrorBuffer', + 'WGPUProcDeviceCreateErrorExternalTexture', + 'WGPUProcDeviceCreateErrorShaderModule', + 'WGPUProcDeviceCreateErrorTexture', + 'WGPUProcDeviceCreateExternalTexture', + 'WGPUProcDeviceCreatePipelineLayout', + 'WGPUProcDeviceCreateQuerySet', + 'WGPUProcDeviceCreateRenderBundleEncoder', + 'WGPUProcDeviceCreateRenderPipeline', + 'WGPUProcDeviceCreateRenderPipelineAsync', + 'WGPUProcDeviceCreateRenderPipelineAsync2', + 'WGPUProcDeviceCreateRenderPipelineAsyncF', + 'WGPUProcDeviceCreateSampler', 'WGPUProcDeviceCreateShaderModule', + 'WGPUProcDeviceCreateTexture', 'WGPUProcDeviceDestroy', + 'WGPUProcDeviceForceLoss', + 'WGPUProcDeviceGetAHardwareBufferProperties', + 'WGPUProcDeviceGetAdapter', 'WGPUProcDeviceGetAdapterInfo', + 'WGPUProcDeviceGetFeatures', 'WGPUProcDeviceGetLimits', + 'WGPUProcDeviceGetLostFuture', 'WGPUProcDeviceGetQueue', + 'WGPUProcDeviceHasFeature', + 'WGPUProcDeviceImportSharedBufferMemory', + 'WGPUProcDeviceImportSharedFence', + 'WGPUProcDeviceImportSharedTextureMemory', + 'WGPUProcDeviceInjectError', 'WGPUProcDevicePopErrorScope', + 'WGPUProcDevicePopErrorScope2', 'WGPUProcDevicePopErrorScopeF', + 'WGPUProcDevicePushErrorScope', 'WGPUProcDeviceRelease', + 'WGPUProcDeviceSetLabel', 'WGPUProcDeviceSetLoggingCallback', + 'WGPUProcDeviceTick', 'WGPUProcDeviceValidateTextureDescriptor', + 'WGPUProcDrmFormatCapabilitiesFreeMembers', + 'WGPUProcExternalTextureAddRef', 'WGPUProcExternalTextureDestroy', + 'WGPUProcExternalTextureExpire', 'WGPUProcExternalTextureRefresh', + 'WGPUProcExternalTextureRelease', + 'WGPUProcExternalTextureSetLabel', 'WGPUProcGetInstanceFeatures', + 'WGPUProcGetProcAddress', 'WGPUProcInstanceAddRef', + 'WGPUProcInstanceCreateSurface', + 'WGPUProcInstanceEnumerateWGSLLanguageFeatures', + 'WGPUProcInstanceHasWGSLLanguageFeature', + 'WGPUProcInstanceProcessEvents', 'WGPUProcInstanceRelease', + 'WGPUProcInstanceRequestAdapter', + 'WGPUProcInstanceRequestAdapter2', + 'WGPUProcInstanceRequestAdapterF', 'WGPUProcInstanceWaitAny', + 'WGPUProcPipelineLayoutAddRef', 'WGPUProcPipelineLayoutRelease', + 'WGPUProcPipelineLayoutSetLabel', 'WGPUProcQuerySetAddRef', + 'WGPUProcQuerySetDestroy', 'WGPUProcQuerySetGetCount', + 'WGPUProcQuerySetGetType', 'WGPUProcQuerySetRelease', + 'WGPUProcQuerySetSetLabel', 'WGPUProcQueueAddRef', + 'WGPUProcQueueCopyExternalTextureForBrowser', + 'WGPUProcQueueCopyTextureForBrowser', + 'WGPUProcQueueOnSubmittedWorkDone', + 'WGPUProcQueueOnSubmittedWorkDone2', + 'WGPUProcQueueOnSubmittedWorkDoneF', 'WGPUProcQueueRelease', + 'WGPUProcQueueSetLabel', 'WGPUProcQueueSubmit', + 'WGPUProcQueueWriteBuffer', 'WGPUProcQueueWriteTexture', + 'WGPUProcRenderBundleAddRef', 'WGPUProcRenderBundleEncoderAddRef', + 'WGPUProcRenderBundleEncoderDraw', + 'WGPUProcRenderBundleEncoderDrawIndexed', + 'WGPUProcRenderBundleEncoderDrawIndexedIndirect', + 'WGPUProcRenderBundleEncoderDrawIndirect', + 'WGPUProcRenderBundleEncoderFinish', + 'WGPUProcRenderBundleEncoderInsertDebugMarker', + 'WGPUProcRenderBundleEncoderPopDebugGroup', + 'WGPUProcRenderBundleEncoderPushDebugGroup', + 'WGPUProcRenderBundleEncoderRelease', + 'WGPUProcRenderBundleEncoderSetBindGroup', + 'WGPUProcRenderBundleEncoderSetIndexBuffer', + 'WGPUProcRenderBundleEncoderSetLabel', + 'WGPUProcRenderBundleEncoderSetPipeline', + 'WGPUProcRenderBundleEncoderSetVertexBuffer', + 'WGPUProcRenderBundleRelease', 'WGPUProcRenderBundleSetLabel', + 'WGPUProcRenderPassEncoderAddRef', + 'WGPUProcRenderPassEncoderBeginOcclusionQuery', + 'WGPUProcRenderPassEncoderDraw', + 'WGPUProcRenderPassEncoderDrawIndexed', + 'WGPUProcRenderPassEncoderDrawIndexedIndirect', + 'WGPUProcRenderPassEncoderDrawIndirect', + 'WGPUProcRenderPassEncoderEnd', + 'WGPUProcRenderPassEncoderEndOcclusionQuery', + 'WGPUProcRenderPassEncoderExecuteBundles', + 'WGPUProcRenderPassEncoderInsertDebugMarker', + 'WGPUProcRenderPassEncoderMultiDrawIndexedIndirect', + 'WGPUProcRenderPassEncoderMultiDrawIndirect', + 'WGPUProcRenderPassEncoderPixelLocalStorageBarrier', + 'WGPUProcRenderPassEncoderPopDebugGroup', + 'WGPUProcRenderPassEncoderPushDebugGroup', + 'WGPUProcRenderPassEncoderRelease', + 'WGPUProcRenderPassEncoderSetBindGroup', + 'WGPUProcRenderPassEncoderSetBlendConstant', + 'WGPUProcRenderPassEncoderSetIndexBuffer', + 'WGPUProcRenderPassEncoderSetLabel', + 'WGPUProcRenderPassEncoderSetPipeline', + 'WGPUProcRenderPassEncoderSetScissorRect', + 'WGPUProcRenderPassEncoderSetStencilReference', + 'WGPUProcRenderPassEncoderSetVertexBuffer', + 'WGPUProcRenderPassEncoderSetViewport', + 'WGPUProcRenderPassEncoderWriteTimestamp', + 'WGPUProcRenderPipelineAddRef', + 'WGPUProcRenderPipelineGetBindGroupLayout', + 'WGPUProcRenderPipelineRelease', 'WGPUProcRenderPipelineSetLabel', + 'WGPUProcSamplerAddRef', 'WGPUProcSamplerRelease', + 'WGPUProcSamplerSetLabel', 'WGPUProcShaderModuleAddRef', + 'WGPUProcShaderModuleGetCompilationInfo', + 'WGPUProcShaderModuleGetCompilationInfo2', + 'WGPUProcShaderModuleGetCompilationInfoF', + 'WGPUProcShaderModuleRelease', 'WGPUProcShaderModuleSetLabel', + 'WGPUProcSharedBufferMemoryAddRef', + 'WGPUProcSharedBufferMemoryBeginAccess', + 'WGPUProcSharedBufferMemoryCreateBuffer', + 'WGPUProcSharedBufferMemoryEndAccess', + 'WGPUProcSharedBufferMemoryEndAccessStateFreeMembers', + 'WGPUProcSharedBufferMemoryGetProperties', + 'WGPUProcSharedBufferMemoryIsDeviceLost', + 'WGPUProcSharedBufferMemoryRelease', + 'WGPUProcSharedBufferMemorySetLabel', 'WGPUProcSharedFenceAddRef', + 'WGPUProcSharedFenceExportInfo', 'WGPUProcSharedFenceRelease', + 'WGPUProcSharedTextureMemoryAddRef', + 'WGPUProcSharedTextureMemoryBeginAccess', + 'WGPUProcSharedTextureMemoryCreateTexture', + 'WGPUProcSharedTextureMemoryEndAccess', + 'WGPUProcSharedTextureMemoryEndAccessStateFreeMembers', + 'WGPUProcSharedTextureMemoryGetProperties', + 'WGPUProcSharedTextureMemoryIsDeviceLost', + 'WGPUProcSharedTextureMemoryRelease', + 'WGPUProcSharedTextureMemorySetLabel', + 'WGPUProcSupportedFeaturesFreeMembers', 'WGPUProcSurfaceAddRef', + 'WGPUProcSurfaceCapabilitiesFreeMembers', + 'WGPUProcSurfaceConfigure', 'WGPUProcSurfaceGetCapabilities', + 'WGPUProcSurfaceGetCurrentTexture', 'WGPUProcSurfacePresent', + 'WGPUProcSurfaceRelease', 'WGPUProcSurfaceSetLabel', + 'WGPUProcSurfaceUnconfigure', 'WGPUProcTextureAddRef', + 'WGPUProcTextureCreateErrorView', 'WGPUProcTextureCreateView', + 'WGPUProcTextureDestroy', 'WGPUProcTextureGetDepthOrArrayLayers', + 'WGPUProcTextureGetDimension', 'WGPUProcTextureGetFormat', + 'WGPUProcTextureGetHeight', 'WGPUProcTextureGetMipLevelCount', + 'WGPUProcTextureGetSampleCount', 'WGPUProcTextureGetUsage', + 'WGPUProcTextureGetWidth', 'WGPUProcTextureRelease', + 'WGPUProcTextureSetLabel', 'WGPUProcTextureViewAddRef', + 'WGPUProcTextureViewRelease', 'WGPUProcTextureViewSetLabel', + 'WGPUQuerySet', 'WGPUQuerySetDescriptor', 'WGPUQueryType', + 'WGPUQueryType_Force32', 'WGPUQueryType_Occlusion', + 'WGPUQueryType_Timestamp', 'WGPUQueue', 'WGPUQueueDescriptor', + 'WGPUQueueWorkDoneCallback', 'WGPUQueueWorkDoneCallback2', + 'WGPUQueueWorkDoneCallbackInfo', 'WGPUQueueWorkDoneCallbackInfo2', + 'WGPUQueueWorkDoneStatus', 'WGPUQueueWorkDoneStatus_DeviceLost', + 'WGPUQueueWorkDoneStatus_Error', + 'WGPUQueueWorkDoneStatus_Force32', + 'WGPUQueueWorkDoneStatus_InstanceDropped', + 'WGPUQueueWorkDoneStatus_Success', + 'WGPUQueueWorkDoneStatus_Unknown', 'WGPURenderBundle', + 'WGPURenderBundleDescriptor', 'WGPURenderBundleEncoder', + 'WGPURenderBundleEncoderDescriptor', + 'WGPURenderPassColorAttachment', + 'WGPURenderPassDepthStencilAttachment', + 'WGPURenderPassDescriptor', + 'WGPURenderPassDescriptorExpandResolveRect', + 'WGPURenderPassDescriptorMaxDrawCount', 'WGPURenderPassEncoder', + 'WGPURenderPassMaxDrawCount', 'WGPURenderPassPixelLocalStorage', + 'WGPURenderPassStorageAttachment', + 'WGPURenderPassTimestampWrites', 'WGPURenderPipeline', + 'WGPURenderPipelineDescriptor', 'WGPURequestAdapterCallback', + 'WGPURequestAdapterCallback2', 'WGPURequestAdapterCallbackInfo', + 'WGPURequestAdapterCallbackInfo2', 'WGPURequestAdapterOptions', + 'WGPURequestAdapterStatus', 'WGPURequestAdapterStatus_Error', + 'WGPURequestAdapterStatus_Force32', + 'WGPURequestAdapterStatus_InstanceDropped', + 'WGPURequestAdapterStatus_Success', + 'WGPURequestAdapterStatus_Unavailable', + 'WGPURequestAdapterStatus_Unknown', 'WGPURequestDeviceCallback', + 'WGPURequestDeviceCallback2', 'WGPURequestDeviceCallbackInfo', + 'WGPURequestDeviceCallbackInfo2', 'WGPURequestDeviceStatus', + 'WGPURequestDeviceStatus_Error', + 'WGPURequestDeviceStatus_Force32', + 'WGPURequestDeviceStatus_InstanceDropped', + 'WGPURequestDeviceStatus_Success', + 'WGPURequestDeviceStatus_Unknown', 'WGPURequiredLimits', + 'WGPUSType', 'WGPUSType_AHardwareBufferProperties', + 'WGPUSType_AdapterPropertiesD3D', + 'WGPUSType_AdapterPropertiesMemoryHeaps', + 'WGPUSType_AdapterPropertiesSubgroups', + 'WGPUSType_AdapterPropertiesVk', + 'WGPUSType_BufferHostMappedPointer', + 'WGPUSType_ColorTargetStateExpandResolveTextureDawn', + 'WGPUSType_DawnAdapterPropertiesPowerPreference', + 'WGPUSType_DawnBufferDescriptorErrorInfoFromWireClient', + 'WGPUSType_DawnCacheDeviceDescriptor', + 'WGPUSType_DawnEncoderInternalUsageDescriptor', + 'WGPUSType_DawnExperimentalImmediateDataLimits', + 'WGPUSType_DawnExperimentalSubgroupLimits', + 'WGPUSType_DawnInstanceDescriptor', + 'WGPUSType_DawnRenderPassColorAttachmentRenderToSingleSampled', + 'WGPUSType_DawnShaderModuleSPIRVOptionsDescriptor', + 'WGPUSType_DawnTexelCopyBufferRowAlignmentLimits', + 'WGPUSType_DawnTextureInternalUsageDescriptor', + 'WGPUSType_DawnTogglesDescriptor', 'WGPUSType_DawnWGSLBlocklist', + 'WGPUSType_DawnWireWGSLControl', + 'WGPUSType_DrmFormatCapabilities', + 'WGPUSType_ExternalTextureBindingEntry', + 'WGPUSType_ExternalTextureBindingLayout', 'WGPUSType_Force32', + 'WGPUSType_PipelineLayoutPixelLocalStorage', + 'WGPUSType_RenderPassDescriptorExpandResolveRect', + 'WGPUSType_RenderPassMaxDrawCount', + 'WGPUSType_RenderPassPixelLocalStorage', + 'WGPUSType_RequestAdapterOptionsD3D11Device', + 'WGPUSType_RequestAdapterOptionsGetGLProc', + 'WGPUSType_RequestAdapterOptionsLUID', + 'WGPUSType_ShaderModuleCompilationOptions', + 'WGPUSType_ShaderSourceSPIRV', 'WGPUSType_ShaderSourceWGSL', + 'WGPUSType_SharedBufferMemoryD3D12ResourceDescriptor', + 'WGPUSType_SharedFenceDXGISharedHandleDescriptor', + 'WGPUSType_SharedFenceDXGISharedHandleExportInfo', + 'WGPUSType_SharedFenceMTLSharedEventDescriptor', + 'WGPUSType_SharedFenceMTLSharedEventExportInfo', + 'WGPUSType_SharedFenceSyncFDDescriptor', + 'WGPUSType_SharedFenceSyncFDExportInfo', + 'WGPUSType_SharedFenceVkSemaphoreOpaqueFDDescriptor', + 'WGPUSType_SharedFenceVkSemaphoreOpaqueFDExportInfo', + 'WGPUSType_SharedFenceVkSemaphoreZirconHandleDescriptor', + 'WGPUSType_SharedFenceVkSemaphoreZirconHandleExportInfo', + 'WGPUSType_SharedTextureMemoryAHardwareBufferDescriptor', + 'WGPUSType_SharedTextureMemoryAHardwareBufferProperties', + 'WGPUSType_SharedTextureMemoryD3D11Texture2DDescriptor', + 'WGPUSType_SharedTextureMemoryD3DSwapchainBeginState', + 'WGPUSType_SharedTextureMemoryDXGISharedHandleDescriptor', + 'WGPUSType_SharedTextureMemoryDmaBufDescriptor', + 'WGPUSType_SharedTextureMemoryEGLImageDescriptor', + 'WGPUSType_SharedTextureMemoryIOSurfaceDescriptor', + 'WGPUSType_SharedTextureMemoryInitializedBeginState', + 'WGPUSType_SharedTextureMemoryInitializedEndState', + 'WGPUSType_SharedTextureMemoryOpaqueFDDescriptor', + 'WGPUSType_SharedTextureMemoryVkDedicatedAllocationDescriptor', + 'WGPUSType_SharedTextureMemoryVkImageLayoutBeginState', + 'WGPUSType_SharedTextureMemoryVkImageLayoutEndState', + 'WGPUSType_SharedTextureMemoryZirconHandleDescriptor', + 'WGPUSType_StaticSamplerBindingLayout', + 'WGPUSType_SurfaceDescriptorFromWindowsCoreWindow', + 'WGPUSType_SurfaceDescriptorFromWindowsSwapChainPanel', + 'WGPUSType_SurfaceSourceAndroidNativeWindow', + 'WGPUSType_SurfaceSourceCanvasHTMLSelector_Emscripten', + 'WGPUSType_SurfaceSourceMetalLayer', + 'WGPUSType_SurfaceSourceWaylandSurface', + 'WGPUSType_SurfaceSourceWindowsHWND', + 'WGPUSType_SurfaceSourceXCBWindow', + 'WGPUSType_SurfaceSourceXlibWindow', + 'WGPUSType_TextureBindingViewDimensionDescriptor', + 'WGPUSType_YCbCrVkDescriptor', 'WGPUSampler', + 'WGPUSamplerBindingLayout', 'WGPUSamplerBindingType', + 'WGPUSamplerBindingType_BindingNotUsed', + 'WGPUSamplerBindingType_Comparison', + 'WGPUSamplerBindingType_Filtering', + 'WGPUSamplerBindingType_Force32', + 'WGPUSamplerBindingType_NonFiltering', 'WGPUSamplerDescriptor', + 'WGPUShaderModule', 'WGPUShaderModuleCompilationOptions', + 'WGPUShaderModuleDescriptor', 'WGPUShaderModuleSPIRVDescriptor', + 'WGPUShaderModuleWGSLDescriptor', 'WGPUShaderSourceSPIRV', + 'WGPUShaderSourceWGSL', 'WGPUShaderStage', + 'WGPUShaderStage_Compute', 'WGPUShaderStage_Fragment', + 'WGPUShaderStage_None', 'WGPUShaderStage_Vertex', + 'WGPUSharedBufferMemory', + 'WGPUSharedBufferMemoryBeginAccessDescriptor', + 'WGPUSharedBufferMemoryDescriptor', + 'WGPUSharedBufferMemoryEndAccessState', + 'WGPUSharedBufferMemoryProperties', 'WGPUSharedFence', + 'WGPUSharedFenceDXGISharedHandleDescriptor', + 'WGPUSharedFenceDXGISharedHandleExportInfo', + 'WGPUSharedFenceDescriptor', 'WGPUSharedFenceExportInfo', + 'WGPUSharedFenceMTLSharedEventDescriptor', + 'WGPUSharedFenceMTLSharedEventExportInfo', + 'WGPUSharedFenceSyncFDDescriptor', + 'WGPUSharedFenceSyncFDExportInfo', 'WGPUSharedFenceType', + 'WGPUSharedFenceType_DXGISharedHandle', + 'WGPUSharedFenceType_Force32', + 'WGPUSharedFenceType_MTLSharedEvent', + 'WGPUSharedFenceType_SyncFD', + 'WGPUSharedFenceType_VkSemaphoreOpaqueFD', + 'WGPUSharedFenceType_VkSemaphoreZirconHandle', + 'WGPUSharedFenceVkSemaphoreOpaqueFDDescriptor', + 'WGPUSharedFenceVkSemaphoreOpaqueFDExportInfo', + 'WGPUSharedFenceVkSemaphoreZirconHandleDescriptor', + 'WGPUSharedFenceVkSemaphoreZirconHandleExportInfo', + 'WGPUSharedTextureMemory', + 'WGPUSharedTextureMemoryAHardwareBufferDescriptor', + 'WGPUSharedTextureMemoryAHardwareBufferProperties', + 'WGPUSharedTextureMemoryBeginAccessDescriptor', + 'WGPUSharedTextureMemoryD3DSwapchainBeginState', + 'WGPUSharedTextureMemoryDXGISharedHandleDescriptor', + 'WGPUSharedTextureMemoryDescriptor', + 'WGPUSharedTextureMemoryDmaBufDescriptor', + 'WGPUSharedTextureMemoryDmaBufPlane', + 'WGPUSharedTextureMemoryEGLImageDescriptor', + 'WGPUSharedTextureMemoryEndAccessState', + 'WGPUSharedTextureMemoryIOSurfaceDescriptor', + 'WGPUSharedTextureMemoryOpaqueFDDescriptor', + 'WGPUSharedTextureMemoryProperties', + 'WGPUSharedTextureMemoryVkDedicatedAllocationDescriptor', + 'WGPUSharedTextureMemoryVkImageLayoutBeginState', + 'WGPUSharedTextureMemoryVkImageLayoutEndState', + 'WGPUSharedTextureMemoryZirconHandleDescriptor', + 'WGPUStaticSamplerBindingLayout', 'WGPUStatus', + 'WGPUStatus_Error', 'WGPUStatus_Force32', 'WGPUStatus_Success', + 'WGPUStencilFaceState', 'WGPUStencilOperation', + 'WGPUStencilOperation_DecrementClamp', + 'WGPUStencilOperation_DecrementWrap', + 'WGPUStencilOperation_Force32', + 'WGPUStencilOperation_IncrementClamp', + 'WGPUStencilOperation_IncrementWrap', + 'WGPUStencilOperation_Invert', 'WGPUStencilOperation_Keep', + 'WGPUStencilOperation_Replace', 'WGPUStencilOperation_Undefined', + 'WGPUStencilOperation_Zero', 'WGPUStorageTextureAccess', + 'WGPUStorageTextureAccess_BindingNotUsed', + 'WGPUStorageTextureAccess_Force32', + 'WGPUStorageTextureAccess_ReadOnly', + 'WGPUStorageTextureAccess_ReadWrite', + 'WGPUStorageTextureAccess_WriteOnly', + 'WGPUStorageTextureBindingLayout', 'WGPUStoreOp', + 'WGPUStoreOp_Discard', 'WGPUStoreOp_Force32', 'WGPUStoreOp_Store', + 'WGPUStoreOp_Undefined', 'WGPUStringView', + 'WGPUSupportedFeatures', 'WGPUSupportedLimits', 'WGPUSurface', + 'WGPUSurfaceCapabilities', 'WGPUSurfaceConfiguration', + 'WGPUSurfaceDescriptor', + 'WGPUSurfaceDescriptorFromAndroidNativeWindow', + 'WGPUSurfaceDescriptorFromCanvasHTMLSelector', + 'WGPUSurfaceDescriptorFromMetalLayer', + 'WGPUSurfaceDescriptorFromWaylandSurface', + 'WGPUSurfaceDescriptorFromWindowsCoreWindow', + 'WGPUSurfaceDescriptorFromWindowsHWND', + 'WGPUSurfaceDescriptorFromWindowsSwapChainPanel', + 'WGPUSurfaceDescriptorFromXcbWindow', + 'WGPUSurfaceDescriptorFromXlibWindow', + 'WGPUSurfaceGetCurrentTextureStatus', + 'WGPUSurfaceGetCurrentTextureStatus_DeviceLost', + 'WGPUSurfaceGetCurrentTextureStatus_Error', + 'WGPUSurfaceGetCurrentTextureStatus_Force32', + 'WGPUSurfaceGetCurrentTextureStatus_Lost', + 'WGPUSurfaceGetCurrentTextureStatus_OutOfMemory', + 'WGPUSurfaceGetCurrentTextureStatus_Outdated', + 'WGPUSurfaceGetCurrentTextureStatus_Success', + 'WGPUSurfaceGetCurrentTextureStatus_Timeout', + 'WGPUSurfaceSourceAndroidNativeWindow', + 'WGPUSurfaceSourceCanvasHTMLSelector_Emscripten', + 'WGPUSurfaceSourceMetalLayer', 'WGPUSurfaceSourceWaylandSurface', + 'WGPUSurfaceSourceWindowsHWND', 'WGPUSurfaceSourceXCBWindow', + 'WGPUSurfaceSourceXlibWindow', 'WGPUSurfaceTexture', + 'WGPUTexture', 'WGPUTextureAspect', 'WGPUTextureAspect_All', + 'WGPUTextureAspect_DepthOnly', 'WGPUTextureAspect_Force32', + 'WGPUTextureAspect_Plane0Only', 'WGPUTextureAspect_Plane1Only', + 'WGPUTextureAspect_Plane2Only', 'WGPUTextureAspect_StencilOnly', + 'WGPUTextureAspect_Undefined', 'WGPUTextureBindingLayout', + 'WGPUTextureBindingViewDimensionDescriptor', + 'WGPUTextureDataLayout', 'WGPUTextureDescriptor', + 'WGPUTextureDimension', 'WGPUTextureDimension_1D', + 'WGPUTextureDimension_2D', 'WGPUTextureDimension_3D', + 'WGPUTextureDimension_Force32', 'WGPUTextureDimension_Undefined', + 'WGPUTextureFormat', 'WGPUTextureFormat_ASTC10x10Unorm', + 'WGPUTextureFormat_ASTC10x10UnormSrgb', + 'WGPUTextureFormat_ASTC10x5Unorm', + 'WGPUTextureFormat_ASTC10x5UnormSrgb', + 'WGPUTextureFormat_ASTC10x6Unorm', + 'WGPUTextureFormat_ASTC10x6UnormSrgb', + 'WGPUTextureFormat_ASTC10x8Unorm', + 'WGPUTextureFormat_ASTC10x8UnormSrgb', + 'WGPUTextureFormat_ASTC12x10Unorm', + 'WGPUTextureFormat_ASTC12x10UnormSrgb', + 'WGPUTextureFormat_ASTC12x12Unorm', + 'WGPUTextureFormat_ASTC12x12UnormSrgb', + 'WGPUTextureFormat_ASTC4x4Unorm', + 'WGPUTextureFormat_ASTC4x4UnormSrgb', + 'WGPUTextureFormat_ASTC5x4Unorm', + 'WGPUTextureFormat_ASTC5x4UnormSrgb', + 'WGPUTextureFormat_ASTC5x5Unorm', + 'WGPUTextureFormat_ASTC5x5UnormSrgb', + 'WGPUTextureFormat_ASTC6x5Unorm', + 'WGPUTextureFormat_ASTC6x5UnormSrgb', + 'WGPUTextureFormat_ASTC6x6Unorm', + 'WGPUTextureFormat_ASTC6x6UnormSrgb', + 'WGPUTextureFormat_ASTC8x5Unorm', + 'WGPUTextureFormat_ASTC8x5UnormSrgb', + 'WGPUTextureFormat_ASTC8x6Unorm', + 'WGPUTextureFormat_ASTC8x6UnormSrgb', + 'WGPUTextureFormat_ASTC8x8Unorm', + 'WGPUTextureFormat_ASTC8x8UnormSrgb', + 'WGPUTextureFormat_BC1RGBAUnorm', + 'WGPUTextureFormat_BC1RGBAUnormSrgb', + 'WGPUTextureFormat_BC2RGBAUnorm', + 'WGPUTextureFormat_BC2RGBAUnormSrgb', + 'WGPUTextureFormat_BC3RGBAUnorm', + 'WGPUTextureFormat_BC3RGBAUnormSrgb', + 'WGPUTextureFormat_BC4RSnorm', 'WGPUTextureFormat_BC4RUnorm', + 'WGPUTextureFormat_BC5RGSnorm', 'WGPUTextureFormat_BC5RGUnorm', + 'WGPUTextureFormat_BC6HRGBFloat', + 'WGPUTextureFormat_BC6HRGBUfloat', + 'WGPUTextureFormat_BC7RGBAUnorm', + 'WGPUTextureFormat_BC7RGBAUnormSrgb', + 'WGPUTextureFormat_BGRA8Unorm', + 'WGPUTextureFormat_BGRA8UnormSrgb', + 'WGPUTextureFormat_Depth16Unorm', 'WGPUTextureFormat_Depth24Plus', + 'WGPUTextureFormat_Depth24PlusStencil8', + 'WGPUTextureFormat_Depth32Float', + 'WGPUTextureFormat_Depth32FloatStencil8', + 'WGPUTextureFormat_EACR11Snorm', 'WGPUTextureFormat_EACR11Unorm', + 'WGPUTextureFormat_EACRG11Snorm', + 'WGPUTextureFormat_EACRG11Unorm', + 'WGPUTextureFormat_ETC2RGB8A1Unorm', + 'WGPUTextureFormat_ETC2RGB8A1UnormSrgb', + 'WGPUTextureFormat_ETC2RGB8Unorm', + 'WGPUTextureFormat_ETC2RGB8UnormSrgb', + 'WGPUTextureFormat_ETC2RGBA8Unorm', + 'WGPUTextureFormat_ETC2RGBA8UnormSrgb', + 'WGPUTextureFormat_External', 'WGPUTextureFormat_Force32', + 'WGPUTextureFormat_R10X6BG10X6Biplanar420Unorm', + 'WGPUTextureFormat_R10X6BG10X6Biplanar422Unorm', + 'WGPUTextureFormat_R10X6BG10X6Biplanar444Unorm', + 'WGPUTextureFormat_R16Float', 'WGPUTextureFormat_R16Sint', + 'WGPUTextureFormat_R16Snorm', 'WGPUTextureFormat_R16Uint', + 'WGPUTextureFormat_R16Unorm', 'WGPUTextureFormat_R32Float', + 'WGPUTextureFormat_R32Sint', 'WGPUTextureFormat_R32Uint', + 'WGPUTextureFormat_R8BG8A8Triplanar420Unorm', + 'WGPUTextureFormat_R8BG8Biplanar420Unorm', + 'WGPUTextureFormat_R8BG8Biplanar422Unorm', + 'WGPUTextureFormat_R8BG8Biplanar444Unorm', + 'WGPUTextureFormat_R8Sint', 'WGPUTextureFormat_R8Snorm', + 'WGPUTextureFormat_R8Uint', 'WGPUTextureFormat_R8Unorm', + 'WGPUTextureFormat_RG11B10Ufloat', 'WGPUTextureFormat_RG16Float', + 'WGPUTextureFormat_RG16Sint', 'WGPUTextureFormat_RG16Snorm', + 'WGPUTextureFormat_RG16Uint', 'WGPUTextureFormat_RG16Unorm', + 'WGPUTextureFormat_RG32Float', 'WGPUTextureFormat_RG32Sint', + 'WGPUTextureFormat_RG32Uint', 'WGPUTextureFormat_RG8Sint', + 'WGPUTextureFormat_RG8Snorm', 'WGPUTextureFormat_RG8Uint', + 'WGPUTextureFormat_RG8Unorm', 'WGPUTextureFormat_RGB10A2Uint', + 'WGPUTextureFormat_RGB10A2Unorm', + 'WGPUTextureFormat_RGB9E5Ufloat', 'WGPUTextureFormat_RGBA16Float', + 'WGPUTextureFormat_RGBA16Sint', 'WGPUTextureFormat_RGBA16Snorm', + 'WGPUTextureFormat_RGBA16Uint', 'WGPUTextureFormat_RGBA16Unorm', + 'WGPUTextureFormat_RGBA32Float', 'WGPUTextureFormat_RGBA32Sint', + 'WGPUTextureFormat_RGBA32Uint', 'WGPUTextureFormat_RGBA8Sint', + 'WGPUTextureFormat_RGBA8Snorm', 'WGPUTextureFormat_RGBA8Uint', + 'WGPUTextureFormat_RGBA8Unorm', + 'WGPUTextureFormat_RGBA8UnormSrgb', 'WGPUTextureFormat_Stencil8', + 'WGPUTextureFormat_Undefined', 'WGPUTextureSampleType', + 'WGPUTextureSampleType_BindingNotUsed', + 'WGPUTextureSampleType_Depth', 'WGPUTextureSampleType_Float', + 'WGPUTextureSampleType_Force32', 'WGPUTextureSampleType_Sint', + 'WGPUTextureSampleType_Uint', + 'WGPUTextureSampleType_UnfilterableFloat', 'WGPUTextureUsage', + 'WGPUTextureUsage_CopyDst', 'WGPUTextureUsage_CopySrc', + 'WGPUTextureUsage_None', 'WGPUTextureUsage_RenderAttachment', + 'WGPUTextureUsage_StorageAttachment', + 'WGPUTextureUsage_StorageBinding', + 'WGPUTextureUsage_TextureBinding', + 'WGPUTextureUsage_TransientAttachment', 'WGPUTextureView', + 'WGPUTextureViewDescriptor', 'WGPUTextureViewDimension', + 'WGPUTextureViewDimension_1D', 'WGPUTextureViewDimension_2D', + 'WGPUTextureViewDimension_2DArray', 'WGPUTextureViewDimension_3D', + 'WGPUTextureViewDimension_Cube', + 'WGPUTextureViewDimension_CubeArray', + 'WGPUTextureViewDimension_Force32', + 'WGPUTextureViewDimension_Undefined', + 'WGPUUncapturedErrorCallback', 'WGPUUncapturedErrorCallbackInfo', + 'WGPUUncapturedErrorCallbackInfo2', 'WGPUVertexAttribute', + 'WGPUVertexBufferLayout', 'WGPUVertexFormat', + 'WGPUVertexFormat_Float16', 'WGPUVertexFormat_Float16x2', + 'WGPUVertexFormat_Float16x4', 'WGPUVertexFormat_Float32', + 'WGPUVertexFormat_Float32x2', 'WGPUVertexFormat_Float32x3', + 'WGPUVertexFormat_Float32x4', 'WGPUVertexFormat_Force32', + 'WGPUVertexFormat_Sint16', 'WGPUVertexFormat_Sint16x2', + 'WGPUVertexFormat_Sint16x4', 'WGPUVertexFormat_Sint32', + 'WGPUVertexFormat_Sint32x2', 'WGPUVertexFormat_Sint32x3', + 'WGPUVertexFormat_Sint32x4', 'WGPUVertexFormat_Sint8', + 'WGPUVertexFormat_Sint8x2', 'WGPUVertexFormat_Sint8x4', + 'WGPUVertexFormat_Snorm16', 'WGPUVertexFormat_Snorm16x2', + 'WGPUVertexFormat_Snorm16x4', 'WGPUVertexFormat_Snorm8', + 'WGPUVertexFormat_Snorm8x2', 'WGPUVertexFormat_Snorm8x4', + 'WGPUVertexFormat_Uint16', 'WGPUVertexFormat_Uint16x2', + 'WGPUVertexFormat_Uint16x4', 'WGPUVertexFormat_Uint32', + 'WGPUVertexFormat_Uint32x2', 'WGPUVertexFormat_Uint32x3', + 'WGPUVertexFormat_Uint32x4', 'WGPUVertexFormat_Uint8', + 'WGPUVertexFormat_Uint8x2', 'WGPUVertexFormat_Uint8x4', + 'WGPUVertexFormat_Unorm10_10_10_2', 'WGPUVertexFormat_Unorm16', + 'WGPUVertexFormat_Unorm16x2', 'WGPUVertexFormat_Unorm16x4', + 'WGPUVertexFormat_Unorm8', 'WGPUVertexFormat_Unorm8x2', + 'WGPUVertexFormat_Unorm8x4', 'WGPUVertexFormat_Unorm8x4BGRA', + 'WGPUVertexState', 'WGPUVertexStepMode', + 'WGPUVertexStepMode_Force32', 'WGPUVertexStepMode_Instance', + 'WGPUVertexStepMode_Undefined', 'WGPUVertexStepMode_Vertex', + 'WGPUWGSLFeatureName', + 'WGPUWGSLFeatureName_ChromiumTestingExperimental', + 'WGPUWGSLFeatureName_ChromiumTestingShipped', + 'WGPUWGSLFeatureName_ChromiumTestingShippedWithKillswitch', + 'WGPUWGSLFeatureName_ChromiumTestingUnimplemented', + 'WGPUWGSLFeatureName_ChromiumTestingUnsafeExperimental', + 'WGPUWGSLFeatureName_Force32', + 'WGPUWGSLFeatureName_Packed4x8IntegerDotProduct', + 'WGPUWGSLFeatureName_PointerCompositeAccess', + 'WGPUWGSLFeatureName_ReadonlyAndReadwriteStorageTextures', + 'WGPUWGSLFeatureName_UnrestrictedPointerParameters', + 'WGPUWaitStatus', 'WGPUWaitStatus_Force32', + 'WGPUWaitStatus_Success', 'WGPUWaitStatus_TimedOut', + 'WGPUWaitStatus_Unknown', 'WGPUWaitStatus_UnsupportedCount', + 'WGPUWaitStatus_UnsupportedMixedSources', + 'WGPUWaitStatus_UnsupportedTimeout', 'WGPUYCbCrVkDescriptor', + 'int32_t', 'size_t', 'struct_WGPUAHardwareBufferProperties', + 'struct_WGPUAdapterImpl', 'struct_WGPUAdapterInfo', + 'struct_WGPUAdapterPropertiesD3D', + 'struct_WGPUAdapterPropertiesMemoryHeaps', + 'struct_WGPUAdapterPropertiesSubgroups', + 'struct_WGPUAdapterPropertiesVk', + 'struct_WGPUBindGroupDescriptor', 'struct_WGPUBindGroupEntry', + 'struct_WGPUBindGroupImpl', + 'struct_WGPUBindGroupLayoutDescriptor', + 'struct_WGPUBindGroupLayoutEntry', + 'struct_WGPUBindGroupLayoutImpl', 'struct_WGPUBlendComponent', + 'struct_WGPUBlendState', 'struct_WGPUBufferBindingLayout', + 'struct_WGPUBufferDescriptor', + 'struct_WGPUBufferHostMappedPointer', 'struct_WGPUBufferImpl', + 'struct_WGPUBufferMapCallbackInfo', + 'struct_WGPUBufferMapCallbackInfo2', 'struct_WGPUChainedStruct', + 'struct_WGPUChainedStructOut', 'struct_WGPUColor', + 'struct_WGPUColorTargetState', + 'struct_WGPUColorTargetStateExpandResolveTextureDawn', + 'struct_WGPUCommandBufferDescriptor', + 'struct_WGPUCommandBufferImpl', + 'struct_WGPUCommandEncoderDescriptor', + 'struct_WGPUCommandEncoderImpl', 'struct_WGPUCompilationInfo', + 'struct_WGPUCompilationInfoCallbackInfo', + 'struct_WGPUCompilationInfoCallbackInfo2', + 'struct_WGPUCompilationMessage', + 'struct_WGPUComputePassDescriptor', + 'struct_WGPUComputePassEncoderImpl', + 'struct_WGPUComputePassTimestampWrites', + 'struct_WGPUComputePipelineDescriptor', + 'struct_WGPUComputePipelineImpl', 'struct_WGPUComputeState', + 'struct_WGPUConstantEntry', + 'struct_WGPUCopyTextureForBrowserOptions', + 'struct_WGPUCreateComputePipelineAsyncCallbackInfo', + 'struct_WGPUCreateComputePipelineAsyncCallbackInfo2', + 'struct_WGPUCreateRenderPipelineAsyncCallbackInfo', + 'struct_WGPUCreateRenderPipelineAsyncCallbackInfo2', + 'struct_WGPUDawnAdapterPropertiesPowerPreference', + 'struct_WGPUDawnBufferDescriptorErrorInfoFromWireClient', + 'struct_WGPUDawnCacheDeviceDescriptor', + 'struct_WGPUDawnEncoderInternalUsageDescriptor', + 'struct_WGPUDawnExperimentalImmediateDataLimits', + 'struct_WGPUDawnExperimentalSubgroupLimits', + 'struct_WGPUDawnRenderPassColorAttachmentRenderToSingleSampled', + 'struct_WGPUDawnShaderModuleSPIRVOptionsDescriptor', + 'struct_WGPUDawnTexelCopyBufferRowAlignmentLimits', + 'struct_WGPUDawnTextureInternalUsageDescriptor', + 'struct_WGPUDawnTogglesDescriptor', + 'struct_WGPUDawnWGSLBlocklist', 'struct_WGPUDawnWireWGSLControl', + 'struct_WGPUDepthStencilState', 'struct_WGPUDeviceDescriptor', + 'struct_WGPUDeviceImpl', 'struct_WGPUDeviceLostCallbackInfo', + 'struct_WGPUDeviceLostCallbackInfo2', + 'struct_WGPUDrmFormatCapabilities', + 'struct_WGPUDrmFormatProperties', 'struct_WGPUExtent2D', + 'struct_WGPUExtent3D', 'struct_WGPUExternalTextureBindingEntry', + 'struct_WGPUExternalTextureBindingLayout', + 'struct_WGPUExternalTextureDescriptor', + 'struct_WGPUExternalTextureImpl', 'struct_WGPUFormatCapabilities', + 'struct_WGPUFragmentState', 'struct_WGPUFuture', + 'struct_WGPUFutureWaitInfo', + 'struct_WGPUINTERNAL__HAVE_EMDAWNWEBGPU_HEADER', + 'struct_WGPUImageCopyBuffer', + 'struct_WGPUImageCopyExternalTexture', + 'struct_WGPUImageCopyTexture', 'struct_WGPUInstanceDescriptor', + 'struct_WGPUInstanceFeatures', 'struct_WGPUInstanceImpl', + 'struct_WGPULimits', 'struct_WGPUMemoryHeapInfo', + 'struct_WGPUMultisampleState', 'struct_WGPUOrigin2D', + 'struct_WGPUOrigin3D', 'struct_WGPUPipelineLayoutDescriptor', + 'struct_WGPUPipelineLayoutImpl', + 'struct_WGPUPipelineLayoutPixelLocalStorage', + 'struct_WGPUPipelineLayoutStorageAttachment', + 'struct_WGPUPopErrorScopeCallbackInfo', + 'struct_WGPUPopErrorScopeCallbackInfo2', + 'struct_WGPUPrimitiveState', 'struct_WGPUQuerySetDescriptor', + 'struct_WGPUQuerySetImpl', 'struct_WGPUQueueDescriptor', + 'struct_WGPUQueueImpl', 'struct_WGPUQueueWorkDoneCallbackInfo', + 'struct_WGPUQueueWorkDoneCallbackInfo2', + 'struct_WGPURenderBundleDescriptor', + 'struct_WGPURenderBundleEncoderDescriptor', + 'struct_WGPURenderBundleEncoderImpl', + 'struct_WGPURenderBundleImpl', + 'struct_WGPURenderPassColorAttachment', + 'struct_WGPURenderPassDepthStencilAttachment', + 'struct_WGPURenderPassDescriptor', + 'struct_WGPURenderPassDescriptorExpandResolveRect', + 'struct_WGPURenderPassEncoderImpl', + 'struct_WGPURenderPassMaxDrawCount', + 'struct_WGPURenderPassPixelLocalStorage', + 'struct_WGPURenderPassStorageAttachment', + 'struct_WGPURenderPassTimestampWrites', + 'struct_WGPURenderPipelineDescriptor', + 'struct_WGPURenderPipelineImpl', + 'struct_WGPURequestAdapterCallbackInfo', + 'struct_WGPURequestAdapterCallbackInfo2', + 'struct_WGPURequestAdapterOptions', + 'struct_WGPURequestDeviceCallbackInfo', + 'struct_WGPURequestDeviceCallbackInfo2', + 'struct_WGPURequiredLimits', 'struct_WGPUSamplerBindingLayout', + 'struct_WGPUSamplerDescriptor', 'struct_WGPUSamplerImpl', + 'struct_WGPUShaderModuleCompilationOptions', + 'struct_WGPUShaderModuleDescriptor', + 'struct_WGPUShaderModuleImpl', 'struct_WGPUShaderSourceSPIRV', + 'struct_WGPUShaderSourceWGSL', + 'struct_WGPUSharedBufferMemoryBeginAccessDescriptor', + 'struct_WGPUSharedBufferMemoryDescriptor', + 'struct_WGPUSharedBufferMemoryEndAccessState', + 'struct_WGPUSharedBufferMemoryImpl', + 'struct_WGPUSharedBufferMemoryProperties', + 'struct_WGPUSharedFenceDXGISharedHandleDescriptor', + 'struct_WGPUSharedFenceDXGISharedHandleExportInfo', + 'struct_WGPUSharedFenceDescriptor', + 'struct_WGPUSharedFenceExportInfo', 'struct_WGPUSharedFenceImpl', + 'struct_WGPUSharedFenceMTLSharedEventDescriptor', + 'struct_WGPUSharedFenceMTLSharedEventExportInfo', + 'struct_WGPUSharedFenceSyncFDDescriptor', + 'struct_WGPUSharedFenceSyncFDExportInfo', + 'struct_WGPUSharedFenceVkSemaphoreOpaqueFDDescriptor', + 'struct_WGPUSharedFenceVkSemaphoreOpaqueFDExportInfo', + 'struct_WGPUSharedFenceVkSemaphoreZirconHandleDescriptor', + 'struct_WGPUSharedFenceVkSemaphoreZirconHandleExportInfo', + 'struct_WGPUSharedTextureMemoryAHardwareBufferDescriptor', + 'struct_WGPUSharedTextureMemoryAHardwareBufferProperties', + 'struct_WGPUSharedTextureMemoryBeginAccessDescriptor', + 'struct_WGPUSharedTextureMemoryD3DSwapchainBeginState', + 'struct_WGPUSharedTextureMemoryDXGISharedHandleDescriptor', + 'struct_WGPUSharedTextureMemoryDescriptor', + 'struct_WGPUSharedTextureMemoryDmaBufDescriptor', + 'struct_WGPUSharedTextureMemoryDmaBufPlane', + 'struct_WGPUSharedTextureMemoryEGLImageDescriptor', + 'struct_WGPUSharedTextureMemoryEndAccessState', + 'struct_WGPUSharedTextureMemoryIOSurfaceDescriptor', + 'struct_WGPUSharedTextureMemoryImpl', + 'struct_WGPUSharedTextureMemoryOpaqueFDDescriptor', + 'struct_WGPUSharedTextureMemoryProperties', + 'struct_WGPUSharedTextureMemoryVkDedicatedAllocationDescriptor', + 'struct_WGPUSharedTextureMemoryVkImageLayoutBeginState', + 'struct_WGPUSharedTextureMemoryVkImageLayoutEndState', + 'struct_WGPUSharedTextureMemoryZirconHandleDescriptor', + 'struct_WGPUStaticSamplerBindingLayout', + 'struct_WGPUStencilFaceState', + 'struct_WGPUStorageTextureBindingLayout', 'struct_WGPUStringView', + 'struct_WGPUSupportedFeatures', 'struct_WGPUSupportedLimits', + 'struct_WGPUSurfaceCapabilities', + 'struct_WGPUSurfaceConfiguration', 'struct_WGPUSurfaceDescriptor', + 'struct_WGPUSurfaceDescriptorFromWindowsCoreWindow', + 'struct_WGPUSurfaceDescriptorFromWindowsSwapChainPanel', + 'struct_WGPUSurfaceImpl', + 'struct_WGPUSurfaceSourceAndroidNativeWindow', + 'struct_WGPUSurfaceSourceCanvasHTMLSelector_Emscripten', + 'struct_WGPUSurfaceSourceMetalLayer', + 'struct_WGPUSurfaceSourceWaylandSurface', + 'struct_WGPUSurfaceSourceWindowsHWND', + 'struct_WGPUSurfaceSourceXCBWindow', + 'struct_WGPUSurfaceSourceXlibWindow', 'struct_WGPUSurfaceTexture', + 'struct_WGPUTextureBindingLayout', + 'struct_WGPUTextureBindingViewDimensionDescriptor', + 'struct_WGPUTextureDataLayout', 'struct_WGPUTextureDescriptor', + 'struct_WGPUTextureImpl', 'struct_WGPUTextureViewDescriptor', + 'struct_WGPUTextureViewImpl', + 'struct_WGPUUncapturedErrorCallbackInfo', + 'struct_WGPUUncapturedErrorCallbackInfo2', + 'struct_WGPUVertexAttribute', 'struct_WGPUVertexBufferLayout', + 'struct_WGPUVertexState', 'struct_WGPUYCbCrVkDescriptor', + 'uint32_t', 'uint64_t', 'wgpuAdapterAddRef', + 'wgpuAdapterCreateDevice', 'wgpuAdapterGetFeatures', + 'wgpuAdapterGetFormatCapabilities', 'wgpuAdapterGetInfo', + 'wgpuAdapterGetInstance', 'wgpuAdapterGetLimits', + 'wgpuAdapterHasFeature', 'wgpuAdapterInfoFreeMembers', + 'wgpuAdapterPropertiesMemoryHeapsFreeMembers', + 'wgpuAdapterRelease', 'wgpuAdapterRequestDevice', + 'wgpuAdapterRequestDevice2', 'wgpuAdapterRequestDeviceF', + 'wgpuBindGroupAddRef', 'wgpuBindGroupLayoutAddRef', + 'wgpuBindGroupLayoutRelease', 'wgpuBindGroupLayoutSetLabel', + 'wgpuBindGroupRelease', 'wgpuBindGroupSetLabel', + 'wgpuBufferAddRef', 'wgpuBufferDestroy', + 'wgpuBufferGetConstMappedRange', 'wgpuBufferGetMapState', + 'wgpuBufferGetMappedRange', 'wgpuBufferGetSize', + 'wgpuBufferGetUsage', 'wgpuBufferMapAsync', 'wgpuBufferMapAsync2', + 'wgpuBufferMapAsyncF', 'wgpuBufferRelease', 'wgpuBufferSetLabel', + 'wgpuBufferUnmap', 'wgpuCommandBufferAddRef', + 'wgpuCommandBufferRelease', 'wgpuCommandBufferSetLabel', + 'wgpuCommandEncoderAddRef', 'wgpuCommandEncoderBeginComputePass', + 'wgpuCommandEncoderBeginRenderPass', + 'wgpuCommandEncoderClearBuffer', + 'wgpuCommandEncoderCopyBufferToBuffer', + 'wgpuCommandEncoderCopyBufferToTexture', + 'wgpuCommandEncoderCopyTextureToBuffer', + 'wgpuCommandEncoderCopyTextureToTexture', + 'wgpuCommandEncoderFinish', + 'wgpuCommandEncoderInjectValidationError', + 'wgpuCommandEncoderInsertDebugMarker', + 'wgpuCommandEncoderPopDebugGroup', + 'wgpuCommandEncoderPushDebugGroup', 'wgpuCommandEncoderRelease', + 'wgpuCommandEncoderResolveQuerySet', 'wgpuCommandEncoderSetLabel', + 'wgpuCommandEncoderWriteBuffer', + 'wgpuCommandEncoderWriteTimestamp', + 'wgpuComputePassEncoderAddRef', + 'wgpuComputePassEncoderDispatchWorkgroups', + 'wgpuComputePassEncoderDispatchWorkgroupsIndirect', + 'wgpuComputePassEncoderEnd', + 'wgpuComputePassEncoderInsertDebugMarker', + 'wgpuComputePassEncoderPopDebugGroup', + 'wgpuComputePassEncoderPushDebugGroup', + 'wgpuComputePassEncoderRelease', + 'wgpuComputePassEncoderSetBindGroup', + 'wgpuComputePassEncoderSetLabel', + 'wgpuComputePassEncoderSetPipeline', + 'wgpuComputePassEncoderWriteTimestamp', + 'wgpuComputePipelineAddRef', + 'wgpuComputePipelineGetBindGroupLayout', + 'wgpuComputePipelineRelease', 'wgpuComputePipelineSetLabel', + 'wgpuCreateInstance', 'wgpuDeviceAddRef', + 'wgpuDeviceCreateBindGroup', 'wgpuDeviceCreateBindGroupLayout', + 'wgpuDeviceCreateBuffer', 'wgpuDeviceCreateCommandEncoder', + 'wgpuDeviceCreateComputePipeline', + 'wgpuDeviceCreateComputePipelineAsync', + 'wgpuDeviceCreateComputePipelineAsync2', + 'wgpuDeviceCreateComputePipelineAsyncF', + 'wgpuDeviceCreateErrorBuffer', + 'wgpuDeviceCreateErrorExternalTexture', + 'wgpuDeviceCreateErrorShaderModule', + 'wgpuDeviceCreateErrorTexture', 'wgpuDeviceCreateExternalTexture', + 'wgpuDeviceCreatePipelineLayout', 'wgpuDeviceCreateQuerySet', + 'wgpuDeviceCreateRenderBundleEncoder', + 'wgpuDeviceCreateRenderPipeline', + 'wgpuDeviceCreateRenderPipelineAsync', + 'wgpuDeviceCreateRenderPipelineAsync2', + 'wgpuDeviceCreateRenderPipelineAsyncF', 'wgpuDeviceCreateSampler', + 'wgpuDeviceCreateShaderModule', 'wgpuDeviceCreateTexture', + 'wgpuDeviceDestroy', 'wgpuDeviceForceLoss', + 'wgpuDeviceGetAHardwareBufferProperties', 'wgpuDeviceGetAdapter', + 'wgpuDeviceGetAdapterInfo', 'wgpuDeviceGetFeatures', + 'wgpuDeviceGetLimits', 'wgpuDeviceGetLostFuture', + 'wgpuDeviceGetQueue', 'wgpuDeviceHasFeature', + 'wgpuDeviceImportSharedBufferMemory', + 'wgpuDeviceImportSharedFence', + 'wgpuDeviceImportSharedTextureMemory', 'wgpuDeviceInjectError', + 'wgpuDevicePopErrorScope', 'wgpuDevicePopErrorScope2', + 'wgpuDevicePopErrorScopeF', 'wgpuDevicePushErrorScope', + 'wgpuDeviceRelease', 'wgpuDeviceSetLabel', + 'wgpuDeviceSetLoggingCallback', 'wgpuDeviceTick', + 'wgpuDeviceValidateTextureDescriptor', + 'wgpuDrmFormatCapabilitiesFreeMembers', + 'wgpuExternalTextureAddRef', 'wgpuExternalTextureDestroy', + 'wgpuExternalTextureExpire', 'wgpuExternalTextureRefresh', + 'wgpuExternalTextureRelease', 'wgpuExternalTextureSetLabel', + 'wgpuGetInstanceFeatures', 'wgpuGetProcAddress', + 'wgpuInstanceAddRef', 'wgpuInstanceCreateSurface', + 'wgpuInstanceEnumerateWGSLLanguageFeatures', + 'wgpuInstanceHasWGSLLanguageFeature', 'wgpuInstanceProcessEvents', + 'wgpuInstanceRelease', 'wgpuInstanceRequestAdapter', + 'wgpuInstanceRequestAdapter2', 'wgpuInstanceRequestAdapterF', + 'wgpuInstanceWaitAny', 'wgpuPipelineLayoutAddRef', + 'wgpuPipelineLayoutRelease', 'wgpuPipelineLayoutSetLabel', + 'wgpuQuerySetAddRef', 'wgpuQuerySetDestroy', + 'wgpuQuerySetGetCount', 'wgpuQuerySetGetType', + 'wgpuQuerySetRelease', 'wgpuQuerySetSetLabel', 'wgpuQueueAddRef', + 'wgpuQueueCopyExternalTextureForBrowser', + 'wgpuQueueCopyTextureForBrowser', 'wgpuQueueOnSubmittedWorkDone', + 'wgpuQueueOnSubmittedWorkDone2', 'wgpuQueueOnSubmittedWorkDoneF', + 'wgpuQueueRelease', 'wgpuQueueSetLabel', 'wgpuQueueSubmit', + 'wgpuQueueWriteBuffer', 'wgpuQueueWriteTexture', + 'wgpuRenderBundleAddRef', 'wgpuRenderBundleEncoderAddRef', + 'wgpuRenderBundleEncoderDraw', + 'wgpuRenderBundleEncoderDrawIndexed', + 'wgpuRenderBundleEncoderDrawIndexedIndirect', + 'wgpuRenderBundleEncoderDrawIndirect', + 'wgpuRenderBundleEncoderFinish', + 'wgpuRenderBundleEncoderInsertDebugMarker', + 'wgpuRenderBundleEncoderPopDebugGroup', + 'wgpuRenderBundleEncoderPushDebugGroup', + 'wgpuRenderBundleEncoderRelease', + 'wgpuRenderBundleEncoderSetBindGroup', + 'wgpuRenderBundleEncoderSetIndexBuffer', + 'wgpuRenderBundleEncoderSetLabel', + 'wgpuRenderBundleEncoderSetPipeline', + 'wgpuRenderBundleEncoderSetVertexBuffer', + 'wgpuRenderBundleRelease', 'wgpuRenderBundleSetLabel', + 'wgpuRenderPassEncoderAddRef', + 'wgpuRenderPassEncoderBeginOcclusionQuery', + 'wgpuRenderPassEncoderDraw', 'wgpuRenderPassEncoderDrawIndexed', + 'wgpuRenderPassEncoderDrawIndexedIndirect', + 'wgpuRenderPassEncoderDrawIndirect', 'wgpuRenderPassEncoderEnd', + 'wgpuRenderPassEncoderEndOcclusionQuery', + 'wgpuRenderPassEncoderExecuteBundles', + 'wgpuRenderPassEncoderInsertDebugMarker', + 'wgpuRenderPassEncoderMultiDrawIndexedIndirect', + 'wgpuRenderPassEncoderMultiDrawIndirect', + 'wgpuRenderPassEncoderPixelLocalStorageBarrier', + 'wgpuRenderPassEncoderPopDebugGroup', + 'wgpuRenderPassEncoderPushDebugGroup', + 'wgpuRenderPassEncoderRelease', + 'wgpuRenderPassEncoderSetBindGroup', + 'wgpuRenderPassEncoderSetBlendConstant', + 'wgpuRenderPassEncoderSetIndexBuffer', + 'wgpuRenderPassEncoderSetLabel', + 'wgpuRenderPassEncoderSetPipeline', + 'wgpuRenderPassEncoderSetScissorRect', + 'wgpuRenderPassEncoderSetStencilReference', + 'wgpuRenderPassEncoderSetVertexBuffer', + 'wgpuRenderPassEncoderSetViewport', + 'wgpuRenderPassEncoderWriteTimestamp', 'wgpuRenderPipelineAddRef', + 'wgpuRenderPipelineGetBindGroupLayout', + 'wgpuRenderPipelineRelease', 'wgpuRenderPipelineSetLabel', + 'wgpuSamplerAddRef', 'wgpuSamplerRelease', 'wgpuSamplerSetLabel', + 'wgpuShaderModuleAddRef', 'wgpuShaderModuleGetCompilationInfo', + 'wgpuShaderModuleGetCompilationInfo2', + 'wgpuShaderModuleGetCompilationInfoF', 'wgpuShaderModuleRelease', + 'wgpuShaderModuleSetLabel', 'wgpuSharedBufferMemoryAddRef', + 'wgpuSharedBufferMemoryBeginAccess', + 'wgpuSharedBufferMemoryCreateBuffer', + 'wgpuSharedBufferMemoryEndAccess', + 'wgpuSharedBufferMemoryEndAccessStateFreeMembers', + 'wgpuSharedBufferMemoryGetProperties', + 'wgpuSharedBufferMemoryIsDeviceLost', + 'wgpuSharedBufferMemoryRelease', 'wgpuSharedBufferMemorySetLabel', + 'wgpuSharedFenceAddRef', 'wgpuSharedFenceExportInfo', + 'wgpuSharedFenceRelease', 'wgpuSharedTextureMemoryAddRef', + 'wgpuSharedTextureMemoryBeginAccess', + 'wgpuSharedTextureMemoryCreateTexture', + 'wgpuSharedTextureMemoryEndAccess', + 'wgpuSharedTextureMemoryEndAccessStateFreeMembers', + 'wgpuSharedTextureMemoryGetProperties', + 'wgpuSharedTextureMemoryIsDeviceLost', + 'wgpuSharedTextureMemoryRelease', + 'wgpuSharedTextureMemorySetLabel', + 'wgpuSupportedFeaturesFreeMembers', 'wgpuSurfaceAddRef', + 'wgpuSurfaceCapabilitiesFreeMembers', 'wgpuSurfaceConfigure', + 'wgpuSurfaceGetCapabilities', 'wgpuSurfaceGetCurrentTexture', + 'wgpuSurfacePresent', 'wgpuSurfaceRelease', 'wgpuSurfaceSetLabel', + 'wgpuSurfaceUnconfigure', 'wgpuTextureAddRef', + 'wgpuTextureCreateErrorView', 'wgpuTextureCreateView', + 'wgpuTextureDestroy', 'wgpuTextureGetDepthOrArrayLayers', + 'wgpuTextureGetDimension', 'wgpuTextureGetFormat', + 'wgpuTextureGetHeight', 'wgpuTextureGetMipLevelCount', + 'wgpuTextureGetSampleCount', 'wgpuTextureGetUsage', + 'wgpuTextureGetWidth', 'wgpuTextureRelease', + 'wgpuTextureSetLabel', 'wgpuTextureViewAddRef', + 'wgpuTextureViewRelease', 'wgpuTextureViewSetLabel'] diff --git a/tinygrad/runtime/ops_webgpu.py b/tinygrad/runtime/ops_webgpu.py index df52782180..b1cf15a08a 100644 --- a/tinygrad/runtime/ops_webgpu.py +++ b/tinygrad/runtime/ops_webgpu.py @@ -2,62 +2,238 @@ import functools, struct from tinygrad.device import Compiled, Allocator, Compiler from tinygrad.renderer.wgsl import WGSLRenderer from tinygrad.helpers import round_up -import wgpu +from tinygrad.runtime.autogen import webgpu +from typing import List, Any +import ctypes -def create_uniform(wgpu_device, val) -> wgpu.GPUBuffer: - buf = wgpu_device.create_buffer(size=4, usage=wgpu.BufferUsage.UNIFORM | wgpu.BufferUsage.COPY_DST) - wgpu_device.queue.write_buffer(buf, 0, val.to_bytes(4, "little") if isinstance(val, int) else struct.pack(' 0 else "" + +def create_uniform(wgpu_device, val): + buf = webgpu.wgpuDeviceCreateBuffer(wgpu_device, + webgpu.WGPUBufferDescriptor(size=4, usage=webgpu.WGPUBufferUsage_Uniform | webgpu.WGPUBufferUsage_CopyDst)) + write_buffer(wgpu_device, buf, 0, val.to_bytes(4, "little") if isinstance(val, int) else struct.pack('= len(bufs) else wgpu.BufferBindingType.storage }} for i in range(len(bufs)+len(vals))] # noqa: E501 - bindings = [{"binding": 0, "resource": {"buffer": create_uniform(self.dev, float('inf')), "offset": 0, "size": 4}}] - bindings += [{"binding": i+1, "resource": {"buffer": create_uniform(self.dev, x) if i >= len(bufs) else x, "offset": 0, - "size": 4 if i >= len(bufs) else x.size}} for i,x in enumerate(bufs+vals)] # noqa: E501 - bind_group_layout = self.dev.create_bind_group_layout(entries=binding_layouts) - pipeline_layout = self.dev.create_pipeline_layout(bind_group_layouts=[bind_group_layout]) - bind_group = self.dev.create_bind_group(layout=bind_group_layout, entries=bindings) - compute_pipeline = self.dev.create_compute_pipeline(layout=pipeline_layout,compute={"module": self.prg, "entry_point": self.name},) - command_encoder = self.dev.create_command_encoder() - if wait: - query_set = self.dev.create_query_set(type=wgpu.QueryType.timestamp, count=2) - query_buf = self.dev.create_buffer(size=16, usage=wgpu.BufferUsage.QUERY_RESOLVE | wgpu.BufferUsage.COPY_SRC) - timestamp_writes = {"query_set": query_set, "beginning_of_pass_write_index": 0, "end_of_pass_write_index": 1} - compute_pass = command_encoder.begin_compute_pass(timestamp_writes=timestamp_writes if wait else None) # pylint: disable=E0606 - compute_pass.set_pipeline(compute_pipeline) - compute_pass.set_bind_group(0, bind_group, [], 0, 999999) # last 2 not used - compute_pass.dispatch_workgroups(*global_size) # x y z - compute_pass.end() - if wait: - command_encoder.resolve_query_set(query_set=query_set, first_query=0, query_count=2, destination=query_buf, destination_offset=0) - self.dev.queue.submit([command_encoder.finish()]) - return ((timestamps:=self.dev.queue.read_buffer(query_buf).cast("Q").tolist())[1] - timestamps[0]) / 1e9 if wait else None + tmp_bufs = [*bufs] + buf_patch = False + + # WebGPU does not allow using the same buffer for input and output + for i in range(1, len(bufs)): + if bufs[i] == bufs[0]: + tmp_bufs[0] = webgpu.wgpuDeviceCreateBuffer(self.dev, + webgpu.WGPUBufferDescriptor(size=webgpu.wgpuBufferGetSize(bufs[0]), usage=webgpu.wgpuBufferGetUsage(bufs[0]))) + buf_patch = True + + # Creating bind group layout + binding_layouts = [webgpu.WGPUBindGroupLayoutEntry(binding=0, visibility= webgpu.WGPUShaderStage_Compute, + buffer=webgpu.WGPUBufferBindingLayout(type=webgpu.WGPUBufferBindingType_Uniform))] + binding_layouts += [webgpu.WGPUBindGroupLayoutEntry(binding=i+1, visibility=webgpu.WGPUShaderStage_Compute, + buffer=webgpu.WGPUBufferBindingLayout(type=webgpu.WGPUBufferBindingType_Uniform if i >= len(tmp_bufs) + else webgpu.WGPUBufferBindingType_Storage)) for i in range(len(tmp_bufs)+len(vals))] + + bl_arr_type = webgpu.WGPUBindGroupLayoutEntry * len(binding_layouts) + webgpu.wgpuDevicePushErrorScope(self.dev, webgpu.WGPUErrorFilter_Validation) + bind_group_layouts = [webgpu.wgpuDeviceCreateBindGroupLayout(self.dev, webgpu.WGPUBindGroupLayoutDescriptor( + entryCount=len(binding_layouts), entries=ctypes.cast(bl_arr_type(*binding_layouts), ctypes.POINTER(webgpu.WGPUBindGroupLayoutEntry))))] + + if bg_layout_err := pop_error(self.dev): raise RuntimeError(f"Error creating bind group layout: {bg_layout_err}") + + # Creating pipeline layout + pipeline_layout_desc = webgpu.WGPUPipelineLayoutDescriptor(bindGroupLayoutCount=len(bind_group_layouts), + bindGroupLayouts = (webgpu.WGPUBindGroupLayout * len(bind_group_layouts))(*bind_group_layouts)) + + webgpu.wgpuDevicePushErrorScope(self.dev, webgpu.WGPUErrorFilter_Validation) + pipeline_layout = webgpu.wgpuDeviceCreatePipelineLayout(self.dev, pipeline_layout_desc) + + if pipe_err := pop_error(self.dev): raise RuntimeError(f"Error creating pipeline layout: {pipe_err}") + + # Creating bind group + bindings = [webgpu.WGPUBindGroupEntry(binding=0, buffer=create_uniform(self.dev, float('inf')), offset=0, size=4)] + bindings += [webgpu.WGPUBindGroupEntry(binding=i+1, buffer=create_uniform(self.dev, x) if i >= len(tmp_bufs) else x, offset=0, + size=4 if i >= len(tmp_bufs) else webgpu.wgpuBufferGetSize(x)) for i,x in enumerate(tuple(tmp_bufs)+vals)] + + bg_arr_type = webgpu.WGPUBindGroupEntry * len(bindings) + bind_group_desc = webgpu.WGPUBindGroupDescriptor(layout=bind_group_layouts[0], entryCount=len(bindings), entries=bg_arr_type(*bindings)) + webgpu.wgpuDevicePushErrorScope(self.dev, webgpu.WGPUErrorFilter_Validation) + bind_group = webgpu.wgpuDeviceCreateBindGroup(self.dev, bind_group_desc) + + if bind_err := pop_error(self.dev): raise RuntimeError(f"Error creating bind group: {bind_err}") + + # Creating compute pipeline + compute_desc = webgpu.WGPUComputePipelineDescriptor(layout=pipeline_layout, + compute=webgpu.WGPUComputeState(module=self.prg, entryPoint=to_wgpu_str(self.name))) + pipeline_result: List[Any] = [] + + def cb(status, compute_pipeline_impl, msg, u1, u2): pipeline_result[:] = status, compute_pipeline_impl, from_wgpu_str(msg) + + cb_info = create_cb_info(webgpu.WGPUCreateComputePipelineAsyncCallbackInfo2, webgpu.WGPUCreateComputePipelineAsyncCallback2, cb) + webgpu.wgpuDevicePushErrorScope(self.dev, webgpu.WGPUErrorFilter_Validation) + wgpu_wait(webgpu.wgpuDeviceCreateComputePipelineAsync2(self.dev, compute_desc, cb_info)) + + if pipeline_result[0] != webgpu.WGPUCreatePipelineAsyncStatus_Success: + raise RuntimeError(f"{webgpu.WGPUCreatePipelineAsyncStatus__enumvalues[pipeline_result[0]]}: {pipeline_result[2]}, {pop_error(self.dev)}") + + command_encoder = webgpu.wgpuDeviceCreateCommandEncoder(self.dev, webgpu.WGPUCommandEncoderDescriptor()) + comp_pass_desc = webgpu.WGPUComputePassDescriptor(nextInChain=None) + + if wait: + query_set = webgpu.wgpuDeviceCreateQuerySet(self.dev, webgpu.WGPUQuerySetDescriptor(type=webgpu.WGPUQueryType_Timestamp, count=2)) + query_buf = webgpu.wgpuDeviceCreateBuffer(self.dev, + webgpu.WGPUBufferDescriptor(size=16, usage=webgpu.WGPUBufferUsage_QueryResolve | webgpu.WGPUBufferUsage_CopySrc)) + comp_pass_desc.timestampWrites = ctypes.pointer(webgpu.WGPUComputePassTimestampWrites( + querySet=query_set, beginningOfPassWriteIndex=0, endOfPassWriteIndex=1)) + + # Begin compute pass + compute_pass = webgpu.wgpuCommandEncoderBeginComputePass(command_encoder, comp_pass_desc) + webgpu.wgpuComputePassEncoderSetPipeline(compute_pass, pipeline_result[1]) + webgpu.wgpuComputePassEncoderSetBindGroup(compute_pass, 0, bind_group, 0, None) + webgpu.wgpuComputePassEncoderDispatchWorkgroups(compute_pass, *global_size) + webgpu.wgpuComputePassEncoderEnd(compute_pass) + + if wait: webgpu.wgpuCommandEncoderResolveQuerySet(command_encoder, query_set, 0, 2, query_buf, 0) + + cmd_buf = webgpu.wgpuCommandEncoderFinish(command_encoder, webgpu.WGPUCommandBufferDescriptor()) + webgpu.wgpuQueueSubmit(webgpu.wgpuDeviceGetQueue(self.dev), 1, (webgpu.WGPUCommandBuffer*1)(cmd_buf)) + + if buf_patch: + copy_buffer_to_buffer(self.dev, tmp_bufs[0], 0, bufs[0], 0, webgpu.wgpuBufferGetSize(bufs[0])) + webgpu.wgpuBufferDestroy(tmp_bufs[0]) + + if wait: + time = ((timestamps:=read_buffer(self.dev, query_buf).cast("Q").tolist())[1] - timestamps[0]) / 1e9 + webgpu.wgpuBufferDestroy(query_buf) + webgpu.wgpuQuerySetDestroy(query_set) + return time -# WebGPU buffers have to be 4-byte aligned class WebGpuAllocator(Allocator): def __init__(self, dev): self.dev = dev def _alloc(self, size: int, options): - return self.dev.create_buffer(size=round_up(size, 4), usage=wgpu.BufferUsage.STORAGE | wgpu.BufferUsage.COPY_DST | wgpu.BufferUsage.COPY_SRC) + # WebGPU buffers have to be 4-byte aligned + return webgpu.wgpuDeviceCreateBuffer(self.dev, webgpu.WGPUBufferDescriptor(size=round_up(size, 4), + usage=webgpu.WGPUBufferUsage_Storage | webgpu.WGPUBufferUsage_CopyDst | webgpu.WGPUBufferUsage_CopySrc)) def _copyin(self, dest, src: memoryview): if src.nbytes % 4: padded_src = bytearray(round_up(src.nbytes, 4)) padded_src[:src.nbytes] = src - self.dev.queue.write_buffer(dest, 0, padded_src if src.nbytes % 4 else src) + write_buffer(self.dev, dest, 0, padded_src if src.nbytes % 4 else src) def _copyout(self, dest: memoryview, src): - buffer_data = self.dev.queue.read_buffer(src, 0) - dest[:] = buffer_data[:dest.nbytes] if src._nbytes > dest.nbytes else buffer_data + buffer_data = read_buffer(self.dev, src) + dest[:] = buffer_data[:dest.nbytes] if webgpu.wgpuBufferGetSize(src) > dest.nbytes else buffer_data + def _free(self, opaque, options): + webgpu.wgpuBufferDestroy(opaque) class WebGpuDevice(Compiled): def __init__(self, device:str): - adapter = wgpu.gpu.request_adapter_sync(power_preference="high-performance") - timestamp_supported = wgpu.FeatureName.timestamp_query in adapter.features - wgpu_device = adapter.request_device_sync(required_features=[wgpu.FeatureName.timestamp_query] if timestamp_supported else []) - super().__init__(device, WebGpuAllocator(wgpu_device), WGSLRenderer(), Compiler(), - functools.partial(WebGPUProgram, (wgpu_device, timestamp_supported))) + # Requesting an adapter + adapter_result: List[Any] = [] + + def adapter_cb(status, adapter, msg, _): adapter_result[:] = status, adapter, from_wgpu_str(msg) + + cb_info = create_cb_info(webgpu.WGPURequestAdapterCallbackInfo, webgpu.WGPURequestAdapterCallback, adapter_cb) + wgpu_wait(webgpu.wgpuInstanceRequestAdapterF(instance, + webgpu.WGPURequestAdapterOptions(powerPreference=webgpu.WGPUPowerPreference_HighPerformance), cb_info)) + + if adapter_result[0] != webgpu.WGPURequestAdapterStatus_Success: + raise RuntimeError(f"Error requesting adapter: [{webgpu.WGPURequestAdapterStatus__enumvalues[adapter_result[0]]}] {adapter_result[2]}") + + # Get supported features + supported_features = webgpu.WGPUSupportedFeatures() + webgpu.wgpuAdapterGetFeatures(adapter_result[1], supported_features) + timestamp_supported = webgpu.WGPUFeatureName_TimestampQuery in [supported_features.features[i] for i in range(supported_features.featureCount)] + features = [webgpu.WGPUFeatureName_TimestampQuery] if timestamp_supported else [] + dev_desc = webgpu.WGPUDeviceDescriptor(requiredFeatureCount=len(features),requiredFeatures=(webgpu.WGPUFeatureName * len(features))(*features)) + + # Limits + supported_limits = webgpu.WGPUSupportedLimits() + webgpu.wgpuAdapterGetLimits(adapter_result[1], ctypes.cast(ctypes.pointer(supported_limits),ctypes.POINTER(webgpu.struct_WGPUSupportedLimits))) + limits = webgpu.WGPURequiredLimits(limits=supported_limits.limits) + dev_desc.requiredLimits = ctypes.cast(ctypes.pointer(limits),ctypes.POINTER(webgpu.struct_WGPURequiredLimits)) + + # Requesting a device + device_result: List[Any] = [] + + def dev_cb(status, device_impl, msg, _): device_result[:] = status, device_impl, from_wgpu_str(msg) + + cb_info = create_cb_info(webgpu.WGPURequestDeviceCallbackInfo, webgpu.WGPURequestDeviceCallback, dev_cb) + wgpu_wait(webgpu.wgpuAdapterRequestDeviceF(adapter_result[1], dev_desc, cb_info)) + + if device_result[0] != webgpu.WGPURequestDeviceStatus_Success: + raise RuntimeError(f"Failed to request device: [{webgpu.WGPURequestDeviceStatus__enumvalues[device_result[0]]}] {device_result[2]}") + + super().__init__(device, WebGpuAllocator(device_result[1]), WGSLRenderer(), Compiler(), + functools.partial(WebGPUProgram, (device_result[1], timestamp_supported)))