GPUBindGroupLayout

  • GPUDevice.createBindGroupLayout(descriptor: GPUBindGroupLayoutDescriptor): GPUBindGroupLayout

    GPUBindGroupLayoutDescriptor

    • label: USVString
    • entries: sequence<GPUBindGroupLayoutEntry>required

    GPUBindGroupLayoutEntry

    • binding: GPUIndex32required
    • visibility: GPUShaderStageFlagsrequired
    • buffer: GPUBufferBindingLayout
    • sampler: GPUSamplerBindingLayout
    • texture: GPUTextureBindingLayout
    • storageTexture: GPUStorageTextureBindingLayout
    • externalTexture: GPUExternalTextureBindingLayout

    GPUIndex32

    typedef GPUIndex32 = unsigned long

    GPUShaderStageFlags

    GPUBufferBindingLayout

    • type: GPUBufferBindingType= 'uniform'
    • hasDynamicOffset: boolean
    • minBindingSize: GPUSize64= 0

    GPUBufferBindingType

    'uniform', 'storage', 'read-only-storage'

    GPUSize64

    typedef GPUSize64 = unsigned long long

    GPUSamplerBindingLayout

    • type: GPUSamplerBindingType= 'filtering'

    GPUSamplerBindingType

    'filtering', 'non-filtering', 'comparison'

    GPUTextureBindingLayout

    • sampleType: GPUTextureSampleType= 'float'
    • viewDimension: GPUTextureViewDimension= '2d'
    • multisampled: boolean

    GPUTextureSampleType

    'float', 'unfilterable-float', 'depth', 'sint', 'uint'

    GPUTextureViewDimension

    '1d', '2d', '2d-array', 'cube', 'cube-array', '3d'

    GPUStorageTextureBindingLayout

    • access: GPUStorageTextureAccess= 'write-only'
    • format: GPUTextureFormatrequired
    • viewDimension: GPUTextureViewDimension= '2d'

    GPUStorageTextureAccess

    'write-only'

    GPUTextureFormat

    'r8unorm', 'r8snorm', 'r8uint', 'r8sint', 'r16uint', 'r16sint', 'r16float', 'rg8unorm', 'rg8snorm', 'rg8uint', 'rg8sint', 'r32uint', 'r32sint', 'r32float', 'rg16uint', 'rg16sint', 'rg16float', 'rgba8unorm', 'rgba8unorm-srgb', 'rgba8snorm', 'rgba8uint', 'rgba8sint', 'bgra8unorm', 'bgra8unorm-srgb', 'rgb9e5ufloat', 'rgb10a2unorm', 'rg11b10ufloat', 'rg32uint', 'rg32sint', 'rg32float', 'rgba16uint', 'rgba16sint', 'rgba16float', 'rgba32uint', 'rgba32sint', 'rgba32float', 'stencil8', 'depth16unorm', 'depth24plus', 'depth24plus-stencil8', 'depth32float', 'depth32float-stencil8', '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'

    GPUExternalTextureBindingLayout

  • GPUPipelineBase.getBindGroupLayout(index: unsigned long): GPUBindGroupLayout
  • GPUComputePipeline.getBindGroupLayout(index: unsigned long): GPUBindGroupLayout
  • GPURenderPipeline.getBindGroupLayout(index: unsigned long): GPUBindGroupLayout
  • label: USVString