Skip to main content
torch.js has not been released yet.
torch.js logotorch.js logotorch.js
PlaygroundContact
Login
Documentation
IntroductionType SafetyTensor ExpressionsTensor IndexingEinsumEinopsAutogradTraining a ModelProfiling & MemoryPyTorch MigrationBest PracticesRuntimesPerformancePyTorch CompatibilityBenchmarksDType Coverage
Introduction
createBufferUsageMapModeWGPUBufferWGPUShaderModuleWGPUBindGroupLayoutWGPUBindGroupWGPUComputePipelineWGPUQuerySetWGPUComputePassEncoderWGPUCommandBufferWGPUCommandEncoderWGPUQueueWGPULimitsBufferDescriptorShaderModuleDescriptorComputePipelineDescriptorBufferBindingBindGroupEntryBindGroupDescriptorQuerySetDescriptorWGPUDeviceWGPUSupportedFeaturesWGPUAdapterWGPU
torch.js· 2026
LegalTerms of UsePrivacy Policy
/
/
  1. docs
  2. wgpu-native
  3. wgpu-native
  4. WGPULimits

wgpu-native.WGPULimits

export interface WGPULimits {
  /**
   * Maximum 1D texture dimension in pixels.
   */
  maxTextureDimension1D: number;

  /**
   * Maximum 2D texture dimension in pixels.
   */
  maxTextureDimension2D: number;

  /**
   * Maximum 3D texture dimension in pixels.
   */
  maxTextureDimension3D: number;

  /**
   * Maximum number of layers in a texture array.
   */
  maxTextureArrayLayers: number;

  /**
   * Maximum number of bind groups that can be bound.
   */
  maxBindGroups: number;

  /**
   * Maximum total of bind groups plus vertex buffers.
   */
  maxBindGroupsPlusVertexBuffers: number;

  /**
   * Maximum number of resource bindings in a single bind group.
   */
  maxBindingsPerBindGroup: number;

  /**
   * Maximum number of dynamic uniform buffers per pipeline layout.
   */
  maxDynamicUniformBuffersPerPipelineLayout: number;

  /**
   * Maximum number of dynamic storage buffers per pipeline layout.
   */
  maxDynamicStorageBuffersPerPipelineLayout: number;

  /**
   * Maximum number of sampled textures per shader stage.
   */
  maxSampledTexturesPerShaderStage: number;

  /**
   * Maximum number of samplers per shader stage.
   */
  maxSamplersPerShaderStage: number;

  /**
   * Maximum number of storage buffers per shader stage.
   */
  maxStorageBuffersPerShaderStage: number;

  /**
   * Maximum number of storage textures per shader stage.
   */
  maxStorageTexturesPerShaderStage: number;

  /**
   * Maximum number of uniform buffers per shader stage.
   */
  maxUniformBuffersPerShaderStage: number;

  /**
   * Maximum size in bytes of a uniform buffer binding.
   */
  maxUniformBufferBindingSize: number;

  /**
   * Maximum size in bytes of a storage buffer binding.
   */
  maxStorageBufferBindingSize: number;

  /**
   * Minimum required alignment for uniform buffer offsets.
   */
  minUniformBufferOffsetAlignment: number;

  /**
   * Minimum required alignment for storage buffer offsets.
   */
  minStorageBufferOffsetAlignment: number;

  /**
   * Maximum number of vertex buffers.
   */
  maxVertexBuffers: number;

  /**
   * Maximum buffer size in bytes.
   */
  maxBufferSize: number;

  /**
   * Maximum number of vertex attributes.
   */
  maxVertexAttributes: number;

  /**
   * Maximum stride of a vertex buffer in bytes.
   */
  maxVertexBufferArrayStride: number;

  /**
   * Maximum number of components across all inter-stage variables.
   */
  maxInterStageShaderComponents: number;

  /**
   * Maximum number of inter-stage shader variables.
   */
  maxInterStageShaderVariables: number;

  /**
   * Maximum number of color attachments in a render pass.
   */
  maxColorAttachments: number;

  /**
   * Maximum bytes per sample in color attachments.
   */
  maxColorAttachmentBytesPerSample: number;

  /**
   * Maximum size of compute workgroup shared memory in bytes.
   */
  maxComputeWorkgroupStorageSize: number;

  /**
   * Maximum number of invocations per workgroup.
   */
  maxComputeInvocationsPerWorkgroup: number;

  /**
   * Maximum workgroup size in X dimension.
   */
  maxComputeWorkgroupSizeX: number;

  /**
   * Maximum workgroup size in Y dimension.
   */
  maxComputeWorkgroupSizeY: number;

  /**
   * Maximum workgroup size in Z dimension.
   */
  maxComputeWorkgroupSizeZ: number;

  /**
   * Maximum number of workgroups per dispatch dimension.
   */
  maxComputeWorkgroupsPerDimension: number;
}
maxTextureDimension1D(number)
– Maximum 1D texture dimension in pixels.
maxTextureDimension2D(number)
– Maximum 2D texture dimension in pixels.
maxTextureDimension3D(number)
– Maximum 3D texture dimension in pixels.
maxTextureArrayLayers(number)
– Maximum number of layers in a texture array.
maxBindGroups(number)
– Maximum number of bind groups that can be bound.
maxBindGroupsPlusVertexBuffers(number)
– Maximum total of bind groups plus vertex buffers.
maxBindingsPerBindGroup(number)
– Maximum number of resource bindings in a single bind group.
maxDynamicUniformBuffersPerPipelineLayout(number)
– Maximum number of dynamic uniform buffers per pipeline layout.
maxDynamicStorageBuffersPerPipelineLayout(number)
– Maximum number of dynamic storage buffers per pipeline layout.
maxSampledTexturesPerShaderStage(number)
– Maximum number of sampled textures per shader stage.
maxSamplersPerShaderStage(number)
– Maximum number of samplers per shader stage.
maxStorageBuffersPerShaderStage(number)
– Maximum number of storage buffers per shader stage.
maxStorageTexturesPerShaderStage(number)
– Maximum number of storage textures per shader stage.
maxUniformBuffersPerShaderStage(number)
– Maximum number of uniform buffers per shader stage.
maxUniformBufferBindingSize(number)
– Maximum size in bytes of a uniform buffer binding.
maxStorageBufferBindingSize(number)
– Maximum size in bytes of a storage buffer binding.
minUniformBufferOffsetAlignment(number)
– Minimum required alignment for uniform buffer offsets.
minStorageBufferOffsetAlignment(number)
– Minimum required alignment for storage buffer offsets.
maxVertexBuffers(number)
– Maximum number of vertex buffers.
maxBufferSize(number)
– Maximum buffer size in bytes.
maxVertexAttributes(number)
– Maximum number of vertex attributes.
maxVertexBufferArrayStride(number)
– Maximum stride of a vertex buffer in bytes.
maxInterStageShaderComponents(number)
– Maximum number of components across all inter-stage variables.
maxInterStageShaderVariables(number)
– Maximum number of inter-stage shader variables.
maxColorAttachments(number)
– Maximum number of color attachments in a render pass.
maxColorAttachmentBytesPerSample(number)
– Maximum bytes per sample in color attachments.
maxComputeWorkgroupStorageSize(number)
– Maximum size of compute workgroup shared memory in bytes.
maxComputeInvocationsPerWorkgroup(number)
– Maximum number of invocations per workgroup.
maxComputeWorkgroupSizeX(number)
– Maximum workgroup size in X dimension.
maxComputeWorkgroupSizeY(number)
– Maximum workgroup size in Y dimension.
maxComputeWorkgroupSizeZ(number)
– Maximum workgroup size in Z dimension.
maxComputeWorkgroupsPerDimension(number)
– Maximum number of workgroups per dispatch dimension.

GPU device capabilities and limits.

Describes the maximum capabilities of a GPU device. These limits constrain how large buffers, textures, workgroups, and bind groups can be.

Different GPUs and drivers have different limits. Always check relevant limits before allocating resources, especially for workgroup sizes and buffer bindings.

Previous
WGPUDevice
Next
WGPUQuerySet