GpuFeatureId import { GpuFeatureId } from "destack:gpu/binding"; Stable GPU feature identifier. These identifiers map one-to-one to WebGPU and wgpu feature names. Values are grouped into one web feature bank and one native feature bank. export enum GpuFeatureId { DepthClipControl = 0x10000, Depth32FloatStencil8 = 0x10001, TextureCompressionBc = 0x10002, TextureCompressionBcSliced3D = 0x10003, TextureCompressionEtc2 = 0x10004, TextureCompressionAstc = 0x10005, TextureCompressionAstcSliced3D = 0x10006, TimestampQuery = 0x10007, IndirectFirstInstance = 0x10008, ShaderF16 = 0x10009, Rg11B10UfloatRenderable = 0x1000a, Bgra8UnormStorage = 0x1000b, Float32Filterable = 0x1000c, Float32Blendable = 0x1000d, DualSourceBlending = 0x1000e, ClipDistances = 0x1000f, Immediates = 0x10010, ShaderFloat32Atomic = 0x20000, TextureFormat16BitNorm = 0x20001, TextureCompressionAstcHdr = 0x20002, TextureAdapterSpecificFormatFeatures = 0x20003, PipelineStatisticsQuery = 0x20004, TimestampQueryInsideEncoders = 0x20005, TimestampQueryInsidePasses = 0x20006, MappablePrimaryBuffers = 0x20007, TextureBindingArray = 0x20008, BufferBindingArray = 0x20009, StorageResourceBindingArray = 0x2000a, SampledTextureAndStorageBufferArrayNonUniformIndexing = 0x2000b, StorageTextureArrayNonUniformIndexing = 0x2000c, PartiallyBoundBindingArray = 0x2000d, MultiDrawIndirectCount = 0x2000f, AddressModeClampToZero = 0x20011, AddressModeClampToBorder = 0x20012, PolygonModeLine = 0x20013, PolygonModePoint = 0x20014, ConservativeRasterization = 0x20015, VertexWritableStorage = 0x20016, ClearTexture = 0x20017, Multiview = 0x2001a, VertexAttribute64Bit = 0x2001b, TextureAtomic = 0x2001c, TextureFormatNv12 = 0x2001d, TextureFormatP010 = 0x2001e, ExternalTexture = 0x2001f, ExperimentalRayQuery = 0x20020, ShaderF64 = 0x20021, ShaderI16 = 0x20022, ShaderPrimitiveIndex = 0x20023, ShaderEarlyDepthTest = 0x20024, ShaderInt64 = 0x20025, Subgroup = 0x20026, SubgroupVertex = 0x20027, SubgroupBarrier = 0x20028, PipelineCache = 0x20029, ShaderInt64AtomicMinMax = 0x2002a, ShaderInt64AtomicAllOps = 0x2002b, VulkanGoogleDisplayTiming = 0x2002c, VulkanExternalMemoryWin32 = 0x2002d, TextureInt64Atomic = 0x2002e, UniformBufferBindingArrays = 0x2002f, ExperimentalMeshShader = 0x20030, ExperimentalRayHitVertexReturn = 0x20031, ExperimentalMeshShaderMultiview = 0x20032, ExtendedAccelerationStructureVertexFormats = 0x20033, ExperimentalPassthroughShaders = 0x20034, ShaderBarycentrics = 0x20035, SelectiveMultiview = 0x20036, ExperimentalMeshShaderPoints = 0x20037, MultisampleArray = 0x20038, ExperimentalCooperativeMatrix = 0x20039, ShaderPerVertex = 0x2003a, ShaderDrawIndex = 0x2003b, } language/library/src/gpu/binding/adapter.ds:53:201 Variants DepthClipControl = 0x10000 Enables depth clip control. Depth32FloatStencil8 = 0x10001 Enables depth32float-stencil8. TextureCompressionBc = 0x10002 Enables BC texture compression. TextureCompressionBcSliced3D = 0x10003 Enables 3D BC texture compression. TextureCompressionEtc2 = 0x10004 Enables ETC2 texture compression. TextureCompressionAstc = 0x10005 Enables ASTC texture compression. TextureCompressionAstcSliced3D = 0x10006 Enables 3D ASTC texture compression. TimestampQuery = 0x10007 Enables timestamp queries. IndirectFirstInstance = 0x10008 Enables nonzero indirect first instance. ShaderF16 = 0x10009 Enables shader f16. Rg11B10UfloatRenderable = 0x1000a Enables rg11b10ufloat render targets. Bgra8UnormStorage = 0x1000b Enables bgra8unorm storage textures. Float32Filterable = 0x1000c Enables filterable 32-bit float textures. Float32Blendable = 0x1000d Enables blendable 32-bit float textures. DualSourceBlending = 0x1000e Enables dual-source blending. ClipDistances = 0x1000f Enables clip distances. Immediates = 0x10010 Enables immediate data. ShaderFloat32Atomic = 0x20000 Enables shader atomic. TextureFormat16BitNorm = 0x20001 Enables 16-bit normalized texture formats. TextureCompressionAstcHdr = 0x20002 Enables ASTC HDR texture formats. TextureAdapterSpecificFormatFeatures = 0x20003 Enables adapter-specific texture format features. PipelineStatisticsQuery = 0x20004 Enables pipeline statistics queries. TimestampQueryInsideEncoders = 0x20005 Enables timestamp writes inside command encoders. TimestampQueryInsidePasses = 0x20006 Enables timestamp writes inside passes. MappablePrimaryBuffers = 0x20007 Enables mappable primary buffers. TextureBindingArray = 0x20008 Enables texture binding arrays. BufferBindingArray = 0x20009 Enables buffer binding arrays. StorageResourceBindingArray = 0x2000a Enables storage resource binding arrays. SampledTextureAndStorageBufferArrayNonUniformIndexing = 0x2000b Enables nonuniform indexing for sampled-texture and storage-buffer arrays. StorageTextureArrayNonUniformIndexing = 0x2000c Enables nonuniform indexing for storage-texture arrays. PartiallyBoundBindingArray = 0x2000d Enables partially bound binding arrays. MultiDrawIndirectCount = 0x2000f Enables multi-draw indirect count. AddressModeClampToZero = 0x20011 Enables clamp-to-zero address mode. AddressModeClampToBorder = 0x20012 Enables clamp-to-border address mode. PolygonModeLine = 0x20013 Enables line polygon mode. PolygonModePoint = 0x20014 Enables point polygon mode. ConservativeRasterization = 0x20015 Enables conservative rasterization. VertexWritableStorage = 0x20016 Enables writable storage from vertex shaders. ClearTexture = 0x20017 Enables explicit texture clears. Multiview = 0x2001a Enables multiview rendering. VertexAttribute64Bit = 0x2001b Enables 64-bit vertex attributes. TextureAtomic = 0x2001c Enables texture atomics. TextureFormatNv12 = 0x2001d Enables NV12 texture format support. TextureFormatP010 = 0x2001e Enables P010 texture format support. ExternalTexture = 0x2001f Enables external textures. ExperimentalRayQuery = 0x20020 Enables experimental ray queries. ShaderF64 = 0x20021 Enables shader f64. ShaderI16 = 0x20022 Enables shader i16. ShaderPrimitiveIndex = 0x20023 Enables shader primitive index builtins. ShaderEarlyDepthTest = 0x20024 Enables early depth tests in shaders. ShaderInt64 = 0x20025 Enables shader i64. Subgroup = 0x20026 Enables subgroup operations. SubgroupVertex = 0x20027 Enables subgroup operations in vertex shaders. SubgroupBarrier = 0x20028 Enables subgroup barriers. PipelineCache = 0x20029 Enables pipeline caches. ShaderInt64AtomicMinMax = 0x2002a Enables i64 atomic min and max. ShaderInt64AtomicAllOps = 0x2002b Enables full i64 atomic operations. VulkanGoogleDisplayTiming = 0x2002c Enables Vulkan Google display timing. VulkanExternalMemoryWin32 = 0x2002d Enables Vulkan external memory on Win32. TextureInt64Atomic = 0x2002e Enables 64-bit texture atomics. UniformBufferBindingArrays = 0x2002f Enables uniform buffer binding arrays. ExperimentalMeshShader = 0x20030 Enables experimental mesh shaders. ExperimentalRayHitVertexReturn = 0x20031 Enables experimental ray hit vertex return. ExperimentalMeshShaderMultiview = 0x20032 Enables experimental mesh-shader multiview. ExtendedAccelerationStructureVertexFormats = 0x20033 Enables extended acceleration-structure vertex formats. ExperimentalPassthroughShaders = 0x20034 Enables experimental passthrough shaders. ShaderBarycentrics = 0x20035 Enables shader barycentrics. SelectiveMultiview = 0x20036 Enables selective multiview. ExperimentalMeshShaderPoints = 0x20037 Enables experimental mesh-shader points. MultisampleArray = 0x20038 Enables multisample arrays. ExperimentalCooperativeMatrix = 0x20039 Enables experimental cooperative matrices. ShaderPerVertex = 0x2003a Enables per-vertex shader outputs. ShaderDrawIndex = 0x2003b Enables shader draw index builtins.