bun-webgpu
Version:
Native WebGPU implementation for Bun runtime
746 lines • 174 kB
TypeScript
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