UNPKG

bun-webgpu

Version:

Native WebGPU implementation for Bun runtime

746 lines 174 kB
import { type Pointer } from "bun:ffi"; export declare const WGPUBool = "bool_u32"; export declare const UINT64_MAX = 18446744073709551615n; export declare const WGPU_WHOLE_SIZE = 18446744073709551615n; export declare const WGPU_STRLEN = 18446744073709551615n; export declare const WGPUCallbackMode: { WaitAnyOnly: number; AllowProcessEvents: number; AllowSpontaneous: number; Force32: number; }; export declare const WGPUCallbackModeDef: import("./structs_ffi").EnumDef<{ WaitAnyOnly: number; AllowProcessEvents: number; AllowSpontaneous: number; Force32: number; }>; export declare const WGPUErrorTypeDef: import("./structs_ffi").EnumDef<{ readonly "no-error": 1; readonly validation: 2; readonly "out-of-memory": 3; readonly internal: 4; readonly unknown: 5; readonly "force-32": 2147483647; }>; export declare const WGPUDeviceLostReason: { readonly unknown: 1; readonly destroyed: 2; readonly "callback-cancelled": 3; readonly "failed-creation": 4; readonly "force-32": 2147483647; }; export declare const WGPUDeviceLostReasonDef: import("./structs_ffi").EnumDef<{ readonly unknown: 1; readonly destroyed: 2; readonly "callback-cancelled": 3; readonly "failed-creation": 4; readonly "force-32": 2147483647; }>; export declare const WGPUSType: { readonly ShaderSourceSPIRV: 1; readonly ShaderSourceWGSL: 2; readonly RenderPassMaxDrawCount: 3; readonly SurfaceSourceMetalLayer: 4; readonly SurfaceSourceWindowsHWND: 5; readonly SurfaceSourceXlibWindow: 6; readonly SurfaceSourceWaylandSurface: 7; readonly SurfaceSourceAndroidNativeWindow: 8; readonly SurfaceSourceXCBWindow: 9; readonly SurfaceColorManagement: 10; readonly RequestAdapterWebXROptions: 11; readonly AdapterPropertiesSubgroups: 12; readonly TextureBindingViewDimensionDescriptor: 131072; readonly EmscriptenSurfaceSourceCanvasHTMLSelector: 262144; readonly SurfaceDescriptorFromWindowsCoreWindow: 327680; readonly ExternalTextureBindingEntry: 327681; readonly ExternalTextureBindingLayout: 327682; readonly SurfaceDescriptorFromWindowsUWPSwapChainPanel: 327683; readonly DawnTextureInternalUsageDescriptor: 327684; readonly DawnEncoderInternalUsageDescriptor: 327685; readonly DawnInstanceDescriptor: 327686; readonly DawnCacheDeviceDescriptor: 327687; readonly DawnAdapterPropertiesPowerPreference: 327688; readonly DawnBufferDescriptorErrorInfoFromWireClient: 327689; readonly DawnTogglesDescriptor: 327690; readonly DawnShaderModuleSPIRVOptionsDescriptor: 327691; readonly RequestAdapterOptionsLUID: 327692; readonly RequestAdapterOptionsGetGLProc: 327693; readonly RequestAdapterOptionsD3D11Device: 327694; readonly DawnRenderPassColorAttachmentRenderToSingleSampled: 327695; readonly RenderPassPixelLocalStorage: 327696; readonly PipelineLayoutPixelLocalStorage: 327697; readonly BufferHostMappedPointer: 327698; readonly AdapterPropertiesMemoryHeaps: 327699; readonly AdapterPropertiesD3D: 327700; readonly AdapterPropertiesVk: 327701; readonly DawnWireWGSLControl: 327702; readonly DawnWGSLBlocklist: 327703; readonly DawnDrmFormatCapabilities: 327704; readonly ShaderModuleCompilationOptions: 327705; readonly ColorTargetStateExpandResolveTextureDawn: 327706; readonly RenderPassDescriptorExpandResolveRect: 327707; readonly SharedTextureMemoryVkDedicatedAllocationDescriptor: 327708; readonly SharedTextureMemoryAHardwareBufferDescriptor: 327709; readonly SharedTextureMemoryDmaBufDescriptor: 327710; readonly SharedTextureMemoryOpaqueFDDescriptor: 327711; readonly SharedTextureMemoryZirconHandleDescriptor: 327712; readonly SharedTextureMemoryDXGISharedHandleDescriptor: 327713; readonly SharedTextureMemoryD3D11Texture2DDescriptor: 327714; readonly SharedTextureMemoryIOSurfaceDescriptor: 327715; readonly SharedTextureMemoryEGLImageDescriptor: 327716; readonly SharedTextureMemoryInitializedBeginState: 327717; readonly SharedTextureMemoryInitializedEndState: 327718; readonly SharedTextureMemoryVkImageLayoutBeginState: 327719; readonly SharedTextureMemoryVkImageLayoutEndState: 327720; readonly SharedTextureMemoryD3DSwapchainBeginState: 327721; readonly SharedFenceVkSemaphoreOpaqueFDDescriptor: 327722; readonly SharedFenceVkSemaphoreOpaqueFDExportInfo: 327723; readonly SharedFenceSyncFDDescriptor: 327724; readonly SharedFenceSyncFDExportInfo: 327725; readonly SharedFenceVkSemaphoreZirconHandleDescriptor: 327726; readonly SharedFenceVkSemaphoreZirconHandleExportInfo: 327727; readonly SharedFenceDXGISharedHandleDescriptor: 327728; readonly SharedFenceDXGISharedHandleExportInfo: 327729; readonly SharedFenceMTLSharedEventDescriptor: 327730; readonly SharedFenceMTLSharedEventExportInfo: 327731; readonly SharedBufferMemoryD3D12ResourceDescriptor: 327732; readonly StaticSamplerBindingLayout: 327733; readonly YCbCrVkDescriptor: 327734; readonly SharedTextureMemoryAHardwareBufferProperties: 327735; readonly AHardwareBufferProperties: 327736; readonly DawnExperimentalImmediateDataLimits: 327737; readonly DawnTexelCopyBufferRowAlignmentLimits: 327738; readonly AdapterPropertiesSubgroupMatrixConfigs: 327739; readonly SharedFenceEGLSyncDescriptor: 327740; readonly SharedFenceEGLSyncExportInfo: 327741; readonly DawnInjectedInvalidSType: 327742; readonly DawnCompilationMessageUtf16: 327743; readonly DawnFakeBufferOOMForTesting: 327744; readonly SurfaceDescriptorFromWindowsWinUISwapChainPanel: 327745; readonly DawnDeviceAllocatorControl: 327746; readonly Force32: 2147483647; }; export declare const WGPUCompareFunction: import("./structs_ffi").EnumDef<{ undefined: number; never: number; less: number; equal: number; "less-equal": number; greater: number; "not-equal": number; "greater-equal": number; always: number; "force-32": number; }>; export declare const WGPUErrorFilter: import("./structs_ffi").EnumDef<{ validation: number; "out-of-memory": number; internal: number; "force-32": number; }>; export declare const WGPUStringView: import("./structs_ffi").StructDef<string, string | null | undefined>; export declare function pointerValue(ptr: Pointer | null): bigint; export declare const PowerPreference: import("./structs_ffi").EnumDef<{ undefined: number; 'low-power': number; 'high-performance': number; }>; export declare const WGPUBackendType: import("./structs_ffi").EnumDef<{ Undefined: number; Null: number; WebGPU: number; D3D11: number; D3D12: number; Metal: number; Vulkan: number; OpenGL: number; OpenGLES: number; Force32: number; }>; export declare const WGPUFeatureLevel: import("./structs_ffi").EnumDef<{ undefined: number; compatibility: number; core: number; force32: number; }>; export declare const WGPURequestAdapterOptionsStruct: import("./structs_ffi").StructDef<{ nextInChain?: number | bigint | null | undefined; featureLevel?: "undefined" | "compatibility" | "core" | "force32" | null | undefined; powerPreference?: "undefined" | "low-power" | "high-performance" | null | undefined; forceFallbackAdapter?: boolean | null | undefined; backendType?: "Force32" | "Undefined" | "Null" | "WebGPU" | "D3D11" | "D3D12" | "Metal" | "Vulkan" | "OpenGL" | "OpenGLES" | null | undefined; compatibleSurface?: number | bigint | null | undefined; }, { nextInChain?: number | bigint | null | undefined; featureLevel?: "undefined" | "compatibility" | "core" | "force32" | null | undefined; powerPreference?: "undefined" | "low-power" | "high-performance" | null | undefined; forceFallbackAdapter?: boolean | null | undefined; backendType?: "Force32" | "Undefined" | "Null" | "WebGPU" | "D3D11" | "D3D12" | "Metal" | "Vulkan" | "OpenGL" | "OpenGLES" | null | undefined; compatibleSurface?: number | bigint | null | undefined; }>; export declare const WGPUCallbackInfoStruct: import("./structs_ffi").StructDef<{ mode: "WaitAnyOnly" | "AllowProcessEvents" | "AllowSpontaneous" | "Force32"; callback: number | bigint; nextInChain?: number | bigint | null | undefined; userdata1?: number | bigint | null | undefined; userdata2?: number | bigint | null | undefined; }, { mode: "WaitAnyOnly" | "AllowProcessEvents" | "AllowSpontaneous" | "Force32"; callback: number | bigint; nextInChain?: number | bigint | null | undefined; userdata1?: number | bigint | null | undefined; userdata2?: number | bigint | null | undefined; }>; export declare const WGPUChainedStructStruct: import("./structs_ffi").StructDef<{ sType: number; next?: number | bigint | null | undefined; }, { sType: number; next?: number | bigint | null | undefined; }>; export declare const WGPUFeatureNameDef: import("./structs_ffi").EnumDef<{ 'depth-clip-control': number; 'depth32float-stencil8': number; 'timestamp-query': number; 'texture-compression-bc': number; 'texture-compression-bc-sliced-3d': number; 'texture-compression-etc2': number; 'texture-compression-astc': number; 'texture-compression-astc-sliced-3d': number; 'indirect-first-instance': number; 'shader-f16': number; 'rg11b10ufloat-renderable': number; 'bgra8unorm-storage': number; 'float32-filterable': number; 'float32-blendable': number; 'clip-distances': number; 'dual-source-blending': number; subgroups: number; 'core-features-and-limits': number; 'dawn-internal-usages': number; 'dawn-multi-planar-formats': number; 'dawn-native': number; 'chromium-experimental-timestamp-query-inside-passes': number; 'implicit-device-synchronization': number; 'chromium-experimental-immediate-data': number; 'transient-attachments': number; 'msaa-render-to-single-sampled': number; 'subgroups-f16': number; 'd3d11-multithread-protected': number; 'angle-texture-sharing': number; 'pixel-local-storage-coherent': number; 'pixel-local-storage-non-coherent': number; 'unorm16-texture-formats': number; 'snorm16-texture-formats': number; 'multi-planar-format-extended-usages': number; 'multi-planar-format-p010': number; 'host-mapped-pointer': number; 'multi-planar-render-targets': number; 'multi-planar-format-nv12a': number; 'framebuffer-fetch': number; 'buffer-map-extended-usages': number; 'adapter-properties-memory-heaps': number; 'adapter-properties-d3d': number; 'adapter-properties-vk': number; 'r8-unorm-storage': number; 'dawn-format-capabilities': number; 'dawn-drm-format-capabilities': number; 'norm16-texture-formats': number; 'multi-planar-format-nv16': number; 'multi-planar-format-nv24': number; 'multi-planar-format-p210': number; 'multi-planar-format-p410': number; 'shared-texture-memory-vk-dedicated-allocation': number; 'shared-texture-memory-a-hardware-buffer': number; 'shared-texture-memory-dma-buf': number; 'shared-texture-memory-opaque-fd': number; 'shared-texture-memory-zircon-handle': number; 'shared-texture-memory-dxgi-shared-handle': number; 'shared-texture-memory-d3d11-texture2d': number; 'shared-texture-memory-iosurface': number; 'shared-texture-memory-egl-image': number; 'shared-fence-vk-semaphore-opaque-fd': number; 'shared-fence-sync-fd': number; 'shared-fence-vk-semaphore-zircon-handle': number; 'shared-fence-dxgi-shared-handle': number; 'shared-fence-mtl-shared-event': number; 'shared-buffer-memory-d3d12-resource': number; 'static-samplers': number; 'ycbcr-vulkan-samplers': number; 'shader-module-compilation-options': number; 'dawn-load-resolve-texture': number; 'dawn-partial-load-resolve-texture': number; 'multi-draw-indirect': number; 'dawn-texel-copy-buffer-row-alignment': number; 'flexible-texture-views': number; 'chromium-experimental-subgroup-matrix': number; 'shared-fence-egl-sync': number; 'dawn-device-allocator-control': number; 'force-32': number; }>; export declare const WGPUTextureFormat: import("./structs_ffi").EnumDef<{ readonly undefined: 0; readonly r8unorm: 1; readonly r8snorm: 2; readonly r8uint: 3; readonly r8sint: 4; readonly r16uint: 5; readonly r16sint: 6; readonly r16float: 7; readonly rg8unorm: 8; readonly rg8snorm: 9; readonly rg8uint: 10; readonly rg8sint: 11; readonly r32float: 12; readonly r32uint: 13; readonly r32sint: 14; readonly rg16uint: 15; readonly rg16sint: 16; readonly rg16float: 17; readonly rgba8unorm: 18; readonly "rgba8unorm-srgb": 19; readonly rgba8snorm: 20; readonly rgba8uint: 21; readonly rgba8sint: 22; readonly bgra8unorm: 23; readonly "bgra8unorm-srgb": 24; readonly rgb10a2uint: 25; readonly rgb10a2unorm: 26; readonly rg11b10ufloat: 27; readonly rgb9e5ufloat: 28; readonly rg32float: 29; readonly rg32uint: 30; readonly rg32sint: 31; readonly rgba16uint: 32; readonly rgba16sint: 33; readonly rgba16float: 34; readonly rgba32float: 35; readonly rgba32uint: 36; readonly rgba32sint: 37; readonly stencil8: 38; readonly depth16unorm: 39; readonly depth24plus: 40; readonly "depth24plus-stencil8": 41; readonly depth32float: 42; readonly "depth32float-stencil8": 43; readonly "bc1-rgba-unorm": 44; readonly "bc1-rgba-unorm-srgb": 45; readonly "bc2-rgba-unorm": 46; readonly "bc2-rgba-unorm-srgb": 47; readonly "bc3-rgba-unorm": 48; readonly "bc3-rgba-unorm-srgb": 49; readonly "bc4-r-unorm": 50; readonly "bc4-r-snorm": 51; readonly "bc5-rg-unorm": 52; readonly "bc5-rg-snorm": 53; readonly "bc6h-rgb-ufloat": 54; readonly "bc6h-rgb-float": 55; readonly "bc7-rgba-unorm": 56; readonly "bc7-rgba-unorm-srgb": 57; readonly "etc2-rgb8unorm": 58; readonly "etc2-rgb8unorm-srgb": 59; readonly "etc2-rgb8a1unorm": 60; readonly "etc2-rgb8a1unorm-srgb": 61; readonly "etc2-rgba8unorm": 62; readonly "etc2-rgba8unorm-srgb": 63; readonly "eac-r11unorm": 64; readonly "eac-r11snorm": 65; readonly "eac-rg11unorm": 66; readonly "eac-rg11snorm": 67; readonly "astc-4x4-unorm": 68; readonly "astc-4x4-unorm-srgb": 69; readonly "astc-5x4-unorm": 70; readonly "astc-5x4-unorm-srgb": 71; readonly "astc-5x5-unorm": 72; readonly "astc-5x5-unorm-srgb": 73; readonly "astc-6x5-unorm": 74; readonly "astc-6x5-unorm-srgb": 75; readonly "astc-6x6-unorm": 76; readonly "astc-6x6-unorm-srgb": 77; readonly "astc-8x5-unorm": 78; readonly "astc-8x5-unorm-srgb": 79; readonly "astc-8x6-unorm": 80; readonly "astc-8x6-unorm-srgb": 81; readonly "astc-8x8-unorm": 82; readonly "astc-8x8-unorm-srgb": 83; readonly "astc-10x5-unorm": 84; readonly "astc-10x5-unorm-srgb": 85; readonly "astc-10x6-unorm": 86; readonly "astc-10x6-unorm-srgb": 87; readonly "astc-10x8-unorm": 88; readonly "astc-10x8-unorm-srgb": 89; readonly "astc-10x10-unorm": 90; readonly "astc-10x10-unorm-srgb": 91; readonly "astc-12x10-unorm": 92; readonly "astc-12x10-unorm-srgb": 93; readonly "astc-12x12-unorm": 94; readonly "astc-12x12-unorm-srgb": 95; readonly r16unorm: 327680; readonly rg16unorm: 327681; readonly rgba16unorm: 327682; readonly r16snorm: 327683; readonly rg16snorm: 327684; readonly rgba16snorm: 327685; readonly "r8bg8-biplanar-420unorm": 327686; readonly "r10x6bg10x6-biplanar-420unorm": 327687; readonly "r8bg8a8-triplanar-420unorm": 327688; readonly "r8bg8-biplanar-422unorm": 327689; readonly "r8bg8-biplanar-444unorm": 327690; readonly "r10x6bg10x6-biplanar-422unorm": 327691; readonly "r10x6bg10x6-biplanar-444unorm": 327692; readonly external: 327693; }>; export declare const WGPUWGSLLanguageFeatureNameDef: import("./structs_ffi").EnumDef<{ readonly_and_readwrite_storage_textures: number; packed_4x8_integer_dot_product: number; unrestricted_pointer_parameters: number; pointer_composite_access: number; sized_binding_array: number; chromium_testing_unimplemented: number; chromium_testing_unsafe_experimental: number; chromium_testing_experimental: number; chromium_testing_shipped_with_killswitch: number; chromium_testing_shipped: number; force_32: number; }>; export declare const WGPUSupportedFeaturesStruct: import("./structs_ffi").StructDef<{ features: Iterable<"force-32" | "depth-clip-control" | "depth32float-stencil8" | "timestamp-query" | "texture-compression-bc" | "texture-compression-bc-sliced-3d" | "texture-compression-etc2" | "texture-compression-astc" | "texture-compression-astc-sliced-3d" | "indirect-first-instance" | "shader-f16" | "rg11b10ufloat-renderable" | "bgra8unorm-storage" | "float32-filterable" | "float32-blendable" | "clip-distances" | "dual-source-blending" | "subgroups" | "core-features-and-limits" | "dawn-internal-usages" | "dawn-multi-planar-formats" | "dawn-native" | "chromium-experimental-timestamp-query-inside-passes" | "implicit-device-synchronization" | "chromium-experimental-immediate-data" | "transient-attachments" | "msaa-render-to-single-sampled" | "subgroups-f16" | "d3d11-multithread-protected" | "angle-texture-sharing" | "pixel-local-storage-coherent" | "pixel-local-storage-non-coherent" | "unorm16-texture-formats" | "snorm16-texture-formats" | "multi-planar-format-extended-usages" | "multi-planar-format-p010" | "host-mapped-pointer" | "multi-planar-render-targets" | "multi-planar-format-nv12a" | "framebuffer-fetch" | "buffer-map-extended-usages" | "adapter-properties-memory-heaps" | "adapter-properties-d3d" | "adapter-properties-vk" | "r8-unorm-storage" | "dawn-format-capabilities" | "dawn-drm-format-capabilities" | "norm16-texture-formats" | "multi-planar-format-nv16" | "multi-planar-format-nv24" | "multi-planar-format-p210" | "multi-planar-format-p410" | "shared-texture-memory-vk-dedicated-allocation" | "shared-texture-memory-a-hardware-buffer" | "shared-texture-memory-dma-buf" | "shared-texture-memory-opaque-fd" | "shared-texture-memory-zircon-handle" | "shared-texture-memory-dxgi-shared-handle" | "shared-texture-memory-d3d11-texture2d" | "shared-texture-memory-iosurface" | "shared-texture-memory-egl-image" | "shared-fence-vk-semaphore-opaque-fd" | "shared-fence-sync-fd" | "shared-fence-vk-semaphore-zircon-handle" | "shared-fence-dxgi-shared-handle" | "shared-fence-mtl-shared-event" | "shared-buffer-memory-d3d12-resource" | "static-samplers" | "ycbcr-vulkan-samplers" | "shader-module-compilation-options" | "dawn-load-resolve-texture" | "dawn-partial-load-resolve-texture" | "multi-draw-indirect" | "dawn-texel-copy-buffer-row-alignment" | "flexible-texture-views" | "chromium-experimental-subgroup-matrix" | "shared-fence-egl-sync" | "dawn-device-allocator-control">; featureCount?: number | bigint | null | undefined; }, { features: Iterable<"force-32" | "depth-clip-control" | "depth32float-stencil8" | "timestamp-query" | "texture-compression-bc" | "texture-compression-bc-sliced-3d" | "texture-compression-etc2" | "texture-compression-astc" | "texture-compression-astc-sliced-3d" | "indirect-first-instance" | "shader-f16" | "rg11b10ufloat-renderable" | "bgra8unorm-storage" | "float32-filterable" | "float32-blendable" | "clip-distances" | "dual-source-blending" | "subgroups" | "core-features-and-limits" | "dawn-internal-usages" | "dawn-multi-planar-formats" | "dawn-native" | "chromium-experimental-timestamp-query-inside-passes" | "implicit-device-synchronization" | "chromium-experimental-immediate-data" | "transient-attachments" | "msaa-render-to-single-sampled" | "subgroups-f16" | "d3d11-multithread-protected" | "angle-texture-sharing" | "pixel-local-storage-coherent" | "pixel-local-storage-non-coherent" | "unorm16-texture-formats" | "snorm16-texture-formats" | "multi-planar-format-extended-usages" | "multi-planar-format-p010" | "host-mapped-pointer" | "multi-planar-render-targets" | "multi-planar-format-nv12a" | "framebuffer-fetch" | "buffer-map-extended-usages" | "adapter-properties-memory-heaps" | "adapter-properties-d3d" | "adapter-properties-vk" | "r8-unorm-storage" | "dawn-format-capabilities" | "dawn-drm-format-capabilities" | "norm16-texture-formats" | "multi-planar-format-nv16" | "multi-planar-format-nv24" | "multi-planar-format-p210" | "multi-planar-format-p410" | "shared-texture-memory-vk-dedicated-allocation" | "shared-texture-memory-a-hardware-buffer" | "shared-texture-memory-dma-buf" | "shared-texture-memory-opaque-fd" | "shared-texture-memory-zircon-handle" | "shared-texture-memory-dxgi-shared-handle" | "shared-texture-memory-d3d11-texture2d" | "shared-texture-memory-iosurface" | "shared-texture-memory-egl-image" | "shared-fence-vk-semaphore-opaque-fd" | "shared-fence-sync-fd" | "shared-fence-vk-semaphore-zircon-handle" | "shared-fence-dxgi-shared-handle" | "shared-fence-mtl-shared-event" | "shared-buffer-memory-d3d12-resource" | "static-samplers" | "ycbcr-vulkan-samplers" | "shader-module-compilation-options" | "dawn-load-resolve-texture" | "dawn-partial-load-resolve-texture" | "multi-draw-indirect" | "dawn-texel-copy-buffer-row-alignment" | "flexible-texture-views" | "chromium-experimental-subgroup-matrix" | "shared-fence-egl-sync" | "dawn-device-allocator-control">; featureCount?: number | bigint | null | undefined; }>; export declare const WGPUSupportedWGSLLanguageFeaturesStruct: import("./structs_ffi").StructDef<{ features: Iterable<"readonly_and_readwrite_storage_textures" | "packed_4x8_integer_dot_product" | "unrestricted_pointer_parameters" | "pointer_composite_access" | "sized_binding_array" | "chromium_testing_unimplemented" | "chromium_testing_unsafe_experimental" | "chromium_testing_experimental" | "chromium_testing_shipped_with_killswitch" | "chromium_testing_shipped" | "force_32">; featureCount?: number | bigint | null | undefined; }, { features: Iterable<"readonly_and_readwrite_storage_textures" | "packed_4x8_integer_dot_product" | "unrestricted_pointer_parameters" | "pointer_composite_access" | "sized_binding_array" | "chromium_testing_unimplemented" | "chromium_testing_unsafe_experimental" | "chromium_testing_experimental" | "chromium_testing_shipped_with_killswitch" | "chromium_testing_shipped" | "force_32">; featureCount?: number | bigint | null | undefined; }>; export declare const WGPULimitsStruct: import("./structs_ffi").StructDef<{ nextInChain?: number | bigint | null | undefined; maxTextureDimension1D?: number | null | undefined; maxTextureDimension2D?: number | null | undefined; maxTextureDimension3D?: number | null | undefined; maxTextureArrayLayers?: number | null | undefined; maxBindGroups?: number | null | undefined; maxBindGroupsPlusVertexBuffers?: number | null | undefined; maxBindingsPerBindGroup?: number | null | undefined; maxDynamicUniformBuffersPerPipelineLayout?: number | null | undefined; maxDynamicStorageBuffersPerPipelineLayout?: number | null | undefined; maxSampledTexturesPerShaderStage?: number | null | undefined; maxSamplersPerShaderStage?: number | null | undefined; maxStorageBuffersPerShaderStage?: number | null | undefined; maxStorageTexturesPerShaderStage?: number | null | undefined; maxUniformBuffersPerShaderStage?: number | null | undefined; maxUniformBufferBindingSize?: number | bigint | null | undefined; maxStorageBufferBindingSize?: number | bigint | null | undefined; minUniformBufferOffsetAlignment?: number | null | undefined; minStorageBufferOffsetAlignment?: number | null | undefined; maxVertexBuffers?: number | null | undefined; maxBufferSize?: number | bigint | null | undefined; maxVertexAttributes?: number | null | undefined; maxVertexBufferArrayStride?: number | null | undefined; maxInterStageShaderVariables?: number | null | undefined; maxColorAttachments?: number | null | undefined; maxColorAttachmentBytesPerSample?: number | null | undefined; maxComputeWorkgroupStorageSize?: number | null | undefined; maxComputeInvocationsPerWorkgroup?: number | null | undefined; maxComputeWorkgroupSizeX?: number | null | undefined; maxComputeWorkgroupSizeY?: number | null | undefined; maxComputeWorkgroupSizeZ?: number | null | undefined; maxComputeWorkgroupsPerDimension?: number | null | undefined; maxImmediateSize?: number | null | undefined; maxStorageBuffersInVertexStage?: number | null | undefined; maxStorageTexturesInVertexStage?: number | null | undefined; maxStorageBuffersInFragmentStage?: number | null | undefined; maxStorageTexturesInFragmentStage?: number | null | undefined; }, { nextInChain?: number | bigint | null | undefined; maxTextureDimension1D?: number | null | undefined; maxTextureDimension2D?: number | null | undefined; maxTextureDimension3D?: number | null | undefined; maxTextureArrayLayers?: number | null | undefined; maxBindGroups?: number | null | undefined; maxBindGroupsPlusVertexBuffers?: number | null | undefined; maxBindingsPerBindGroup?: number | null | undefined; maxDynamicUniformBuffersPerPipelineLayout?: number | null | undefined; maxDynamicStorageBuffersPerPipelineLayout?: number | null | undefined; maxSampledTexturesPerShaderStage?: number | null | undefined; maxSamplersPerShaderStage?: number | null | undefined; maxStorageBuffersPerShaderStage?: number | null | undefined; maxStorageTexturesPerShaderStage?: number | null | undefined; maxUniformBuffersPerShaderStage?: number | null | undefined; maxUniformBufferBindingSize?: number | bigint | null | undefined; maxStorageBufferBindingSize?: number | bigint | null | undefined; minUniformBufferOffsetAlignment?: number | null | undefined; minStorageBufferOffsetAlignment?: number | null | undefined; maxVertexBuffers?: number | null | undefined; maxBufferSize?: number | bigint | null | undefined; maxVertexAttributes?: number | null | undefined; maxVertexBufferArrayStride?: number | null | undefined; maxInterStageShaderVariables?: number | null | undefined; maxColorAttachments?: number | null | undefined; maxColorAttachmentBytesPerSample?: number | null | undefined; maxComputeWorkgroupStorageSize?: number | null | undefined; maxComputeInvocationsPerWorkgroup?: number | null | undefined; maxComputeWorkgroupSizeX?: number | null | undefined; maxComputeWorkgroupSizeY?: number | null | undefined; maxComputeWorkgroupSizeZ?: number | null | undefined; maxComputeWorkgroupsPerDimension?: number | null | undefined; maxImmediateSize?: number | null | undefined; maxStorageBuffersInVertexStage?: number | null | undefined; maxStorageTexturesInVertexStage?: number | null | undefined; maxStorageBuffersInFragmentStage?: number | null | undefined; maxStorageTexturesInFragmentStage?: number | null | undefined; }>; export type WGPULimits = GPUSupportedLimits & { nextInChain?: Pointer | null; }; export type WGPUQueueDescriptor = { nextInChain?: Pointer | null; label?: string; }; export declare const WGPUQueueDescriptorStruct: import("./structs_ffi").StructDef<{ nextInChain?: number | bigint | null | undefined; label?: string | null | undefined; }, { nextInChain?: number | bigint | null | undefined; label?: string | null | undefined; }>; export type WGPUUncapturedErrorCallbackInfo = { nextInChain?: Pointer | null; callback: Pointer; userdata1?: Pointer | null; userdata2?: Pointer | null; }; export declare const WGPUUncapturedErrorCallbackInfoStruct: import("./structs_ffi").StructDef<{ callback: number | bigint; nextInChain?: number | bigint | null | undefined; userdata1?: number | bigint | null | undefined; userdata2?: number | bigint | null | undefined; }, { callback: number | bigint; nextInChain?: number | bigint | null | undefined; userdata1?: number | bigint | null | undefined; userdata2?: number | bigint | null | undefined; }>; export declare const WGPUAdapterInfoStruct: import("./structs_ffi").StructDef<{ vendor: string; architecture: string; device: string; description: string; backendType: number; adapterType: number; vendorID: number; deviceID: number; subgroupMinSize: number; subgroupMaxSize: number; nextInChain?: number | bigint | null | undefined; }, { vendor: string | null | undefined; architecture: string | null | undefined; device: string | null | undefined; description: string | null | undefined; backendType: number; adapterType: number; vendorID: number; deviceID: number; subgroupMinSize: number; subgroupMaxSize: number; nextInChain?: number | bigint | null | undefined; }>; export declare const WGPUDeviceDescriptorStruct: import("./structs_ffi").StructDef<{ defaultQueue: { nextInChain?: number | bigint | null | undefined; label?: string | null | undefined; }; uncapturedErrorCallbackInfo: { callback: number | bigint; nextInChain?: number | bigint | null | undefined; userdata1?: number | bigint | null | undefined; userdata2?: number | bigint | null | undefined; }; nextInChain?: number | bigint | null | undefined; label?: string | null | undefined; requiredFeatureCount?: number | bigint | null | undefined; requiredFeatures?: Iterable<"force-32" | "depth-clip-control" | "depth32float-stencil8" | "timestamp-query" | "texture-compression-bc" | "texture-compression-bc-sliced-3d" | "texture-compression-etc2" | "texture-compression-astc" | "texture-compression-astc-sliced-3d" | "indirect-first-instance" | "shader-f16" | "rg11b10ufloat-renderable" | "bgra8unorm-storage" | "float32-filterable" | "float32-blendable" | "clip-distances" | "dual-source-blending" | "subgroups" | "core-features-and-limits" | "dawn-internal-usages" | "dawn-multi-planar-formats" | "dawn-native" | "chromium-experimental-timestamp-query-inside-passes" | "implicit-device-synchronization" | "chromium-experimental-immediate-data" | "transient-attachments" | "msaa-render-to-single-sampled" | "subgroups-f16" | "d3d11-multithread-protected" | "angle-texture-sharing" | "pixel-local-storage-coherent" | "pixel-local-storage-non-coherent" | "unorm16-texture-formats" | "snorm16-texture-formats" | "multi-planar-format-extended-usages" | "multi-planar-format-p010" | "host-mapped-pointer" | "multi-planar-render-targets" | "multi-planar-format-nv12a" | "framebuffer-fetch" | "buffer-map-extended-usages" | "adapter-properties-memory-heaps" | "adapter-properties-d3d" | "adapter-properties-vk" | "r8-unorm-storage" | "dawn-format-capabilities" | "dawn-drm-format-capabilities" | "norm16-texture-formats" | "multi-planar-format-nv16" | "multi-planar-format-nv24" | "multi-planar-format-p210" | "multi-planar-format-p410" | "shared-texture-memory-vk-dedicated-allocation" | "shared-texture-memory-a-hardware-buffer" | "shared-texture-memory-dma-buf" | "shared-texture-memory-opaque-fd" | "shared-texture-memory-zircon-handle" | "shared-texture-memory-dxgi-shared-handle" | "shared-texture-memory-d3d11-texture2d" | "shared-texture-memory-iosurface" | "shared-texture-memory-egl-image" | "shared-fence-vk-semaphore-opaque-fd" | "shared-fence-sync-fd" | "shared-fence-vk-semaphore-zircon-handle" | "shared-fence-dxgi-shared-handle" | "shared-fence-mtl-shared-event" | "shared-buffer-memory-d3d12-resource" | "static-samplers" | "ycbcr-vulkan-samplers" | "shader-module-compilation-options" | "dawn-load-resolve-texture" | "dawn-partial-load-resolve-texture" | "multi-draw-indirect" | "dawn-texel-copy-buffer-row-alignment" | "flexible-texture-views" | "chromium-experimental-subgroup-matrix" | "shared-fence-egl-sync" | "dawn-device-allocator-control"> | null | undefined; requiredLimits?: { nextInChain?: number | bigint | null | undefined; maxTextureDimension1D?: number | null | undefined; maxTextureDimension2D?: number | null | undefined; maxTextureDimension3D?: number | null | undefined; maxTextureArrayLayers?: number | null | undefined; maxBindGroups?: number | null | undefined; maxBindGroupsPlusVertexBuffers?: number | null | undefined; maxBindingsPerBindGroup?: number | null | undefined; maxDynamicUniformBuffersPerPipelineLayout?: number | null | undefined; maxDynamicStorageBuffersPerPipelineLayout?: number | null | undefined; maxSampledTexturesPerShaderStage?: number | null | undefined; maxSamplersPerShaderStage?: number | null | undefined; maxStorageBuffersPerShaderStage?: number | null | undefined; maxStorageTexturesPerShaderStage?: number | null | undefined; maxUniformBuffersPerShaderStage?: number | null | undefined; maxUniformBufferBindingSize?: number | bigint | null | undefined; maxStorageBufferBindingSize?: number | bigint | null | undefined; minUniformBufferOffsetAlignment?: number | null | undefined; minStorageBufferOffsetAlignment?: number | null | undefined; maxVertexBuffers?: number | null | undefined; maxBufferSize?: number | bigint | null | undefined; maxVertexAttributes?: number | null | undefined; maxVertexBufferArrayStride?: number | null | undefined; maxInterStageShaderVariables?: number | null | undefined; maxColorAttachments?: number | null | undefined; maxColorAttachmentBytesPerSample?: number | null | undefined; maxComputeWorkgroupStorageSize?: number | null | undefined; maxComputeInvocationsPerWorkgroup?: number | null | undefined; maxComputeWorkgroupSizeX?: number | null | undefined; maxComputeWorkgroupSizeY?: number | null | undefined; maxComputeWorkgroupSizeZ?: number | null | undefined; maxComputeWorkgroupsPerDimension?: number | null | undefined; maxImmediateSize?: number | null | undefined; maxStorageBuffersInVertexStage?: number | null | undefined; maxStorageTexturesInVertexStage?: number | null | undefined; maxStorageBuffersInFragmentStage?: number | null | undefined; maxStorageTexturesInFragmentStage?: number | null | undefined; } | null | undefined; deviceLostCallbackInfo?: { mode: "WaitAnyOnly" | "AllowProcessEvents" | "AllowSpontaneous" | "Force32"; callback: number | bigint; nextInChain?: number | bigint | null | undefined; userdata1?: number | bigint | null | undefined; userdata2?: number | bigint | null | undefined; } | null | undefined; }, { defaultQueue: { nextInChain?: number | bigint | null | undefined; label?: string | null | undefined; }; uncapturedErrorCallbackInfo: { callback: number | bigint; nextInChain?: number | bigint | null | undefined; userdata1?: number | bigint | null | undefined; userdata2?: number | bigint | null | undefined; }; nextInChain?: number | bigint | null | undefined; label?: string | null | undefined; requiredFeatureCount?: number | bigint | null | undefined; requiredFeatures?: Iterable<"force-32" | "depth-clip-control" | "depth32float-stencil8" | "timestamp-query" | "texture-compression-bc" | "texture-compression-bc-sliced-3d" | "texture-compression-etc2" | "texture-compression-astc" | "texture-compression-astc-sliced-3d" | "indirect-first-instance" | "shader-f16" | "rg11b10ufloat-renderable" | "bgra8unorm-storage" | "float32-filterable" | "float32-blendable" | "clip-distances" | "dual-source-blending" | "subgroups" | "core-features-and-limits" | "dawn-internal-usages" | "dawn-multi-planar-formats" | "dawn-native" | "chromium-experimental-timestamp-query-inside-passes" | "implicit-device-synchronization" | "chromium-experimental-immediate-data" | "transient-attachments" | "msaa-render-to-single-sampled" | "subgroups-f16" | "d3d11-multithread-protected" | "angle-texture-sharing" | "pixel-local-storage-coherent" | "pixel-local-storage-non-coherent" | "unorm16-texture-formats" | "snorm16-texture-formats" | "multi-planar-format-extended-usages" | "multi-planar-format-p010" | "host-mapped-pointer" | "multi-planar-render-targets" | "multi-planar-format-nv12a" | "framebuffer-fetch" | "buffer-map-extended-usages" | "adapter-properties-memory-heaps" | "adapter-properties-d3d" | "adapter-properties-vk" | "r8-unorm-storage" | "dawn-format-capabilities" | "dawn-drm-format-capabilities" | "norm16-texture-formats" | "multi-planar-format-nv16" | "multi-planar-format-nv24" | "multi-planar-format-p210" | "multi-planar-format-p410" | "shared-texture-memory-vk-dedicated-allocation" | "shared-texture-memory-a-hardware-buffer" | "shared-texture-memory-dma-buf" | "shared-texture-memory-opaque-fd" | "shared-texture-memory-zircon-handle" | "shared-texture-memory-dxgi-shared-handle" | "shared-texture-memory-d3d11-texture2d" | "shared-texture-memory-iosurface" | "shared-texture-memory-egl-image" | "shared-fence-vk-semaphore-opaque-fd" | "shared-fence-sync-fd" | "shared-fence-vk-semaphore-zircon-handle" | "shared-fence-dxgi-shared-handle" | "shared-fence-mtl-shared-event" | "shared-buffer-memory-d3d12-resource" | "static-samplers" | "ycbcr-vulkan-samplers" | "shader-module-compilation-options" | "dawn-load-resolve-texture" | "dawn-partial-load-resolve-texture" | "multi-draw-indirect" | "dawn-texel-copy-buffer-row-alignment" | "flexible-texture-views" | "chromium-experimental-subgroup-matrix" | "shared-fence-egl-sync" | "dawn-device-allocator-control"> | null | undefined; requiredLimits?: { nextInChain?: number | bigint | null | undefined; maxTextureDimension1D?: number | null | undefined; maxTextureDimension2D?: number | null | undefined; maxTextureDimension3D?: number | null | undefined; maxTextureArrayLayers?: number | null | undefined; maxBindGroups?: number | null | undefined; maxBindGroupsPlusVertexBuffers?: number | null | undefined; maxBindingsPerBindGroup?: number | null | undefined; maxDynamicUniformBuffersPerPipelineLayout?: number | null | undefined; maxDynamicStorageBuffersPerPipelineLayout?: number | null | undefined; maxSampledTexturesPerShaderStage?: number | null | undefined; maxSamplersPerShaderStage?: number | null | undefined; maxStorageBuffersPerShaderStage?: number | null | undefined; maxStorageTexturesPerShaderStage?: number | null | undefined; maxUniformBuffersPerShaderStage?: number | null | undefined; maxUniformBufferBindingSize?: number | bigint | null | undefined; maxStorageBufferBindingSize?: number | bigint | null | undefined; minUniformBufferOffsetAlignment?: number | null | undefined; minStorageBufferOffsetAlignment?: number | null | undefined; maxVertexBuffers?: number | null | undefined; maxBufferSize?: number | bigint | null | undefined; maxVertexAttributes?: number | null | undefined; maxVertexBufferArrayStride?: number | null | undefined; maxInterStageShaderVariables?: number | null | undefined; maxColorAttachments?: number | null | undefined; maxColorAttachmentBytesPerSample?: number | null | undefined; maxComputeWorkgroupStorageSize?: number | null | undefined; maxComputeInvocationsPerWorkgroup?: number | null | undefined; maxComputeWorkgroupSizeX?: number | null | undefined; maxComputeWorkgroupSizeY?: number | null | undefined; maxComputeWorkgroupSizeZ?: number | null | undefined; maxComputeWorkgroupsPerDimension?: number | null | undefined; maxImmediateSize?: number | null | undefined; maxStorageBuffersInVertexStage?: number | null | undefined; maxStorageTexturesInVertexStage?: number | null | undefined; maxStorageBuffersInFragmentStage?: number | null | undefined; maxStorageTexturesInFragmentStage?: number | null | undefined; } | null | undefined; deviceLostCallbackInfo?: { mode: "WaitAnyOnly" | "AllowProcessEvents" | "AllowSpontaneous" | "Force32"; callback: number | bigint; nextInChain?: number | bigint | null | undefined; userdata1?: number | bigint | null | undefined; userdata2?: number | bigint | null | undefined; } | null | undefined; }>; export declare const WGPUBufferDescriptorStruct: import("./structs_ffi").StructDef<{ usage: number | bigint; size: number | bigint; nextInChain?: number | bigint | null | undefined; label?: string | null | undefined; mappedAtCreation?: boolean | null | undefined; }, { usage: number | bigint; size: number | bigint; nextInChain?: number | bigint | null | undefined; label?: string | null | undefined; mappedAtCreation?: boolean | null | undefined; }>; export declare function normalizeGPUExtent3DStrict(size: GPUExtent3DStrict): { width: number; height?: number; depthOrArrayLayers?: number; }; export declare const WGPUExtent3DStruct: import("./structs_ffi").StructDef<{ width: number; height?: number | null | undefined; depthOrArrayLayers?: number | null | undefined; }, { [Symbol.iterator]: () => Iterator<number, any, any>; } | { depth?: undefined | undefined; width: GPUIntegerCoordinate; height?: GPUIntegerCoordinate | undefined; depthOrArrayLayers?: GPUIntegerCoordinate | undefined; }>; export declare const WGPUTextureDimension: import("./structs_ffi").EnumDef<{ undefined: number; "1d": number; "2d": number; "3d": number; "force-32": number; }>; export declare const WGPUTextureDescriptorStruct: import("./structs_ffi").StructDef<{ usage: number | bigint; size: { width: number; height?: number | null | undefined; depthOrArrayLayers?: number | null | undefined; }; nextInChain?: number | bigint | null | undefined; label?: string | null | undefined; dimension?: "undefined" | "force-32" | "1d" | "2d" | "3d" | null | undefined; format?: "undefined" | "depth32float-stencil8" | "r8unorm" | "r8snorm" | "r8uint" | "r8sint" | "r16uint" | "r16sint" | "r16float" | "rg8unorm" | "rg8snorm" | "rg8uint" | "rg8sint" | "r32float" | "r32uint" | "r32sint" | "rg16uint" | "rg16sint" | "rg16float" | "rgba8unorm" | "rgba8unorm-srgb" | "rgba8snorm" | "rgba8uint" | "rgba8sint" | "bgra8unorm" | "bgra8unorm-srgb" | "rgb10a2uint" | "rgb10a2unorm" | "rg11b10ufloat" | "rgb9e5ufloat" | "rg32float" | "rg32uint" | "rg32sint" | "rgba16uint" | "rgba16sint" | "rgba16float" | "rgba32float" | "rgba32uint" | "rgba32sint" | "stencil8" | "depth16unorm" | "depth24plus" | "depth24plus-stencil8" | "depth32float" | "bc1-rgba-unorm" | "bc1-rgba-unorm-srgb" | "bc2-rgba-unorm" | "bc2-rgba-unorm-srgb" | "bc3-rgba-unorm" | "bc3-rgba-unorm-srgb" | "bc4-r-unorm" | "bc4-r-snorm" | "bc5-rg-unorm" | "bc5-rg-snorm" | "bc6h-rgb-ufloat" | "bc6h-rgb-float" | "bc7-rgba-unorm" | "bc7-rgba-unorm-srgb" | "etc2-rgb8unorm" | "etc2-rgb8unorm-srgb" | "etc2-rgb8a1unorm" | "etc2-rgb8a1unorm-srgb" | "etc2-rgba8unorm" | "etc2-rgba8unorm-srgb" | "eac-r11unorm" | "eac-r11snorm" | "eac-rg11unorm" | "eac-rg11snorm" | "astc-4x4-unorm" | "astc-4x4-unorm-srgb" | "astc-5x4-unorm" | "astc-5x4-unorm-srgb" | "astc-5x5-unorm" | "astc-5x5-unorm-srgb" | "astc-6x5-unorm" | "astc-6x5-unorm-srgb" | "astc-6x6-unorm" | "astc-6x6-unorm-srgb" | "astc-8x5-unorm" | "astc-8x5-unorm-srgb" | "astc-8x6-unorm" | "astc-8x6-unorm-srgb" | "astc-8x8-unorm" | "astc-8x8-unorm-srgb" | "astc-10x5-unorm" | "astc-10x5-unorm-srgb" | "astc-10x6-unorm" | "astc-10x6-unorm-srgb" | "astc-10x8-unorm" | "astc-10x8-unorm-srgb" | "astc-10x10-unorm" | "astc-10x10-unorm-srgb" | "astc-12x10-unorm" | "astc-12x10-unorm-srgb" | "astc-12x12-unorm" | "astc-12x12-unorm-srgb" | "r16unorm" | "rg16unorm" | "rgba16unorm" | "r16snorm" | "rg16snorm" | "rgba16snorm" | "r8bg8-biplanar-420unorm" | "r10x6bg10x6-biplanar-420unorm" | "r8bg8a8-triplanar-420unorm" | "r8bg8-biplanar-422unorm" | "r8bg8-biplanar-444unorm" | "r10x6bg10x6-biplanar-422unorm" | "r10x6bg10x6-biplanar-444unorm" | "external" | null | undefined; mipLevelCount?: number | null | undefined; sampleCount?: number | null | undefined; viewFormatCount?: number | bigint | null | undefined; viewFormats?: Iterable<"undefined" | "depth32float-stencil8" | "r8unorm" | "r8snorm" | "r8uint" | "r8sint" | "r16uint" | "r16sint" | "r16float" | "rg8unorm" | "rg8snorm" | "rg8uint" | "rg8sint" | "r32float" | "r32uint" | "r32sint" | "rg16uint" | "rg16sint" | "rg16float" | "rgba8unorm" | "rgba8unorm-srgb" | "rgba8snorm" | "rgba8uint" | "rgba8sint" | "bgra8unorm" | "bgra8unorm-srgb" | "rgb10a2uint" | "rgb10a2unorm" | "rg11b10ufloat" | "rgb9e5ufloat" | "rg32float" | "rg32uint" | "rg32sint" | "rgba16uint" | "rgba16sint" | "rgba16float" | "rgba32float" | "rgba32uint" | "rgba32sint" | "stencil8" | "depth16unorm" | "depth24plus" | "depth24plus-stencil8" | "depth32float" | "bc1-rgba-unorm" | "bc1-rgba-unorm-srgb" | "bc2-rgba-unorm" | "bc2-rgba-unorm-srgb" | "bc3-rgba-unorm" | "bc3-rgba-unorm-srgb" | "bc4-r-unorm" | "bc4-r-snorm" | "bc5-rg-unorm" | "bc5-rg-snorm" | "bc6h-rgb-ufloat" | "bc6h-rgb-float" | "bc7-rgba-unorm" | "bc7-rgba-unorm-srgb" | "etc2-rgb8unorm" | "etc2-rgb8unorm-srgb" | "etc2-rgb8a1unorm" | "etc2-rgb8a1unorm-srgb" | "etc2-rgba8unorm" | "etc2-rgba8unorm-srgb" | "eac-r11unorm" | "eac-r11snorm" | "eac-rg11unorm" | "eac-rg11snorm" | "astc-4x4-unorm" | "astc-4x4-unorm-srgb" | "astc-5x4-unorm" | "astc-5x4-unorm-srgb" | "astc-5x5-unorm" | "astc-5x5-unorm-srgb" | "astc-6x5-unorm" | "astc-6x5-unorm-srgb" | "astc-6x6-unorm" | "astc-6x6-unorm-srgb" | "astc-8x5-unorm" | "astc-8x5-unorm-srgb" | "astc-8x6-unorm" | "astc-8x6-unorm-srgb" | "astc-8x8-unorm" | "astc-8x8-unorm-srgb" | "astc-10x5-unorm" | "astc-10x5-unorm-srgb" | "astc-10x6-unorm" | "astc-10x6-unorm-srgb" | "astc-10x8-unorm" | "astc-10x8-unorm-srgb" | "astc-10x10-unorm" | "astc-10x10-unorm-srgb" | "astc-12x10-unorm" | "astc-12x10-unorm-srgb" | "astc-12x12-unorm" | "astc-12x12-unorm-srgb" | "r16unorm" | "rg16unorm" | "rgba16unorm" | "r16snorm" | "rg16snorm" | "rgba16snorm" | "r8bg8-biplanar-420unorm" | "r10x6bg10x6-biplanar-420unorm" | "r8bg8a8-triplanar-420unorm" | "r8bg8-biplanar-422unorm" | "r8bg8-biplanar-444unorm" | "r10x6bg10x6-biplanar-422unorm" | "r10x6bg10x6-biplanar-444unorm" | "external"> | null | undefined; }, { usage: number | bigint; size: { [Symbol.iterator]: () => Iterator<number, any, any>; } | { depth?: undefined | undefined; width: GPUIntegerCoordinate; height?: GPUIntegerCoordinate | undefined; depthOrArrayLayers?: GPUIntegerCoordinate | undefined; }; nextInChain?: number | bigint | null | undefined; label?: string | null | undefined; dimension?: "undefined" | "force-32" | "1d" | "2d" | "3d" | null | undefined; format?: "undefined" | "depth32float-stencil8" | "r8unorm" | "r8snorm" | "r8uint" | "r8sint" | "r16uint" | "r16sint" | "r16float" | "rg8unorm" | "rg8snorm" | "rg8uint" | "rg8sint" | "r32float" | "r32uint" | "r32sint" | "rg16uint" | "rg16sint" | "rg16float" | "rgba8unorm" | "rgba8unorm-srgb" | "rgba8snorm" | "rgba8uint" | "rgba8sint" | "bgra8unorm" | "bgra8unorm-srgb" | "rgb10a2uint" | "rgb10a2unorm" | "rg11b10ufloat" | "rgb9e5ufloat" | "rg32float" | "rg32uint" | "rg32sint" | "rgba16uint" | "rgba16sint" | "rgba16float" | "rgba32float" | "rgba32uint" | "rgba32sint" | "stencil8" | "depth16unorm" | "depth24plus" | "depth24plus-stencil8" | "depth32float" | "bc1-rgba-unorm" | "bc1-rgba-unorm-srgb" | "bc2-rgba-unorm" | "bc2-rgba-unorm-srgb" | "bc3-rgba-unorm" | "bc3-rgba-unorm-srgb" | "bc4-r-unorm" | "bc4-r-snorm" | "bc5-rg-unorm" | "bc5-rg-snorm" | "bc6h-rgb-ufloat" | "bc6h-rgb-float" | "bc7-rgba-unorm" | "bc7-rgba-unorm-srgb" | "etc2-rgb8unorm" | "etc2-rgb8unorm-srgb" | "etc2-rgb8a1unorm" | "etc2-rgb8a1unorm-srgb" | "etc2-rgba8unorm" | "etc2-rgba8unorm-srgb" | "eac-r11unorm" | "eac-r11snorm" | "eac-rg11unorm" | "eac-rg11snorm" | "astc-4x4-unorm" | "astc-4x4-unorm-srgb" | "astc-5x4-unorm" | "astc-5x4-unorm-srgb" | "astc-5x5-unorm" | "astc-5x5-unorm-srgb" | "astc-6x5-unorm" | "astc-6x5-unorm-srgb" | "astc-6x6-unorm" | "astc-6x6-unorm-srgb" | "astc-8x5-unorm" | "astc-8x5-unorm-srgb" | "astc-8x6-unorm" | "astc-8x6-unorm-srgb" | "astc-8x8-unorm" | "astc-8x8-unorm-srgb" | "astc-10x5-unorm" | "astc-10x5-unorm-srgb" | "astc-10x6-unorm" | "astc-10x6-unorm-srgb" | "astc-10x8-unorm" | "astc-10x8-unorm-srgb" | "astc-10x10-unorm" | "astc-10x10-unorm-srgb" | "astc-12x10-unorm" | "astc-12x10-unorm-srgb" | "astc-12x12-unorm" | "astc-12x12-unorm-srgb" | "r16unorm" | "rg16unorm" | "rgba16unorm" | "r16snorm" | "rg16snorm" | "rgba16snorm" | "r8bg8-biplanar-420unorm" | "r10x6bg10x6-biplanar-420unorm" | "r8bg8a8-triplanar-420unorm" | "r8bg8-biplanar-422unorm" | "r8bg8-biplanar-444unorm" | "r10x6bg10x6-biplanar-422unorm" | "r10x6bg10x6-biplanar-444unorm" | "external" | null | undefined; mipLevelCount?: number | null | undefined; sampleCount?: number | null | undefined; viewFormatCount?: number | bigint | null | undefined; viewFormats?: Iterable<"undefined" | "depth32float-stencil8" | "r8unorm" | "r8snorm" | "r8uint" | "r8sint" | "r16uint" | "r16sint" | "r16float" | "rg8unorm" | "rg8snorm" | "rg8uint" | "rg8sint" | "r32float" | "r32uint" | "r32sint" | "rg16uint" | "rg16sint" | "rg16float" | "rgba8unorm" | "rgba8unorm-srgb" | "rgba8s