# GPULimits

Artifact: [androidx.webgpu:webgpu](https://developer.android.com/jetpack/androidx/releases/webgpu) [View Source](https://cs.android.com/search?q=file:androidx/webgpu/GPULimits.kt+class:androidx.webgpu.GPULimits) Added in [1.0.0-alpha06](https://developer.android.com/jetpack/androidx/releases/webgpu#1.0.0-alpha06)

*** ** * ** ***


```
class GPULimits
```

<br />

*** ** * ** ***

Defines the resource limits for a device.

## Summary

| ### Nested types |
|---|
| `class https://developer.android.com/reference/kotlin/androidx/webgpu/GPULimits.Builder` Builder for `https://developer.android.com/reference/kotlin/androidx/webgpu/GPULimits`. |

| ### Public constructors |
|---|
| `https://developer.android.com/reference/kotlin/androidx/webgpu/GPULimits#GPULimits(kotlin.Int,kotlin.Int,kotlin.Int,kotlin.Int,kotlin.Int,kotlin.Int,kotlin.Int,kotlin.Int,kotlin.Int,kotlin.Int,kotlin.Int,kotlin.Int,kotlin.Int,kotlin.Int,kotlin.Long,kotlin.Long,kotlin.Int,kotlin.Int,kotlin.Int,kotlin.Long,kotlin.Int,kotlin.Int,kotlin.Int,kotlin.Int,kotlin.Int,kotlin.Int,kotlin.Int,kotlin.Int,kotlin.Int,kotlin.Int,kotlin.Int,kotlin.Int,androidx.webgpu.GPUCompatibilityModeLimits)( maxTextureDimension1D: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, maxTextureDimension2D: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, maxTextureDimension3D: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, maxTextureArrayLayers: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, maxBindGroups: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, maxBindGroupsPlusVertexBuffers: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, maxBindingsPerBindGroup: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, maxDynamicUniformBuffersPerPipelineLayout: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, maxDynamicStorageBuffersPerPipelineLayout: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, maxSampledTexturesPerShaderStage: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, maxSamplersPerShaderStage: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, maxStorageBuffersPerShaderStage: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, maxStorageTexturesPerShaderStage: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, maxUniformBuffersPerShaderStage: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, maxUniformBufferBindingSize: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html, maxStorageBufferBindingSize: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html, minUniformBufferOffsetAlignment: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, minStorageBufferOffsetAlignment: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, maxVertexBuffers: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, maxBufferSize: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html, maxVertexAttributes: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, maxVertexBufferArrayStride: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, maxInterStageShaderVariables: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, maxColorAttachments: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, maxColorAttachmentBytesPerSample: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, maxComputeWorkgroupStorageSize: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, maxComputeInvocationsPerWorkgroup: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, maxComputeWorkgroupSizeX: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, maxComputeWorkgroupSizeY: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, maxComputeWorkgroupSizeZ: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, maxComputeWorkgroupsPerDimension: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, maxImmediateSize: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, compatibilityModeLimits: https://developer.android.com/reference/kotlin/androidx/webgpu/GPUCompatibilityModeLimits? )` |

| ### Public properties |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/webgpu/GPUCompatibilityModeLimits?` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPULimits#compatibilityModeLimits()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPULimits#maxBindGroups()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPULimits#maxBindGroupsPlusVertexBuffers()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPULimits#maxBindingsPerBindGroup()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPULimits#maxBufferSize()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPULimits#maxColorAttachmentBytesPerSample()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPULimits#maxColorAttachments()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPULimits#maxComputeInvocationsPerWorkgroup()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPULimits#maxComputeWorkgroupSizeX()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPULimits#maxComputeWorkgroupSizeY()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPULimits#maxComputeWorkgroupSizeZ()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPULimits#maxComputeWorkgroupStorageSize()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPULimits#maxComputeWorkgroupsPerDimension()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPULimits#maxDynamicStorageBuffersPerPipelineLayout()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPULimits#maxDynamicUniformBuffersPerPipelineLayout()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPULimits#maxImmediateSize()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPULimits#maxInterStageShaderVariables()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPULimits#maxSampledTexturesPerShaderStage()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPULimits#maxSamplersPerShaderStage()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPULimits#maxStorageBufferBindingSize()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPULimits#maxStorageBuffersPerShaderStage()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPULimits#maxStorageTexturesPerShaderStage()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPULimits#maxTextureArrayLayers()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPULimits#maxTextureDimension1D()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPULimits#maxTextureDimension2D()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPULimits#maxTextureDimension3D()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPULimits#maxUniformBufferBindingSize()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPULimits#maxUniformBuffersPerShaderStage()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPULimits#maxVertexAttributes()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPULimits#maxVertexBufferArrayStride()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPULimits#maxVertexBuffers()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPULimits#minStorageBufferOffsetAlignment()` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/webgpu/GPULimits#minUniformBufferOffsetAlignment()` |

## Public constructors

### GPULimits

Added in [1.0.0-alpha06](https://developer.android.com/jetpack/androidx/releases/webgpu#1.0.0-alpha06)

```
GPULimits(
    maxTextureDimension1D: Int = Constants.LIMIT_U32_UNDEFINED,
    maxTextureDimension2D: Int = Constants.LIMIT_U32_UNDEFINED,
    maxTextureDimension3D: Int = Constants.LIMIT_U32_UNDEFINED,
    maxTextureArrayLayers: Int = Constants.LIMIT_U32_UNDEFINED,
    maxBindGroups: Int = Constants.LIMIT_U32_UNDEFINED,
    maxBindGroupsPlusVertexBuffers: Int = Constants.LIMIT_U32_UNDEFINED,
    maxBindingsPerBindGroup: Int = Constants.LIMIT_U32_UNDEFINED,
    maxDynamicUniformBuffersPerPipelineLayout: Int = Constants.LIMIT_U32_UNDEFINED,
    maxDynamicStorageBuffersPerPipelineLayout: Int = Constants.LIMIT_U32_UNDEFINED,
    maxSampledTexturesPerShaderStage: Int = Constants.LIMIT_U32_UNDEFINED,
    maxSamplersPerShaderStage: Int = Constants.LIMIT_U32_UNDEFINED,
    maxStorageBuffersPerShaderStage: Int = Constants.LIMIT_U32_UNDEFINED,
    maxStorageTexturesPerShaderStage: Int = Constants.LIMIT_U32_UNDEFINED,
    maxUniformBuffersPerShaderStage: Int = Constants.LIMIT_U32_UNDEFINED,
    maxUniformBufferBindingSize: Long = Constants.LIMIT_U64_UNDEFINED,
    maxStorageBufferBindingSize: Long = Constants.LIMIT_U64_UNDEFINED,
    minUniformBufferOffsetAlignment: Int = Constants.LIMIT_U32_UNDEFINED,
    minStorageBufferOffsetAlignment: Int = Constants.LIMIT_U32_UNDEFINED,
    maxVertexBuffers: Int = Constants.LIMIT_U32_UNDEFINED,
    maxBufferSize: Long = Constants.LIMIT_U64_UNDEFINED,
    maxVertexAttributes: Int = Constants.LIMIT_U32_UNDEFINED,
    maxVertexBufferArrayStride: Int = Constants.LIMIT_U32_UNDEFINED,
    maxInterStageShaderVariables: Int = Constants.LIMIT_U32_UNDEFINED,
    maxColorAttachments: Int = Constants.LIMIT_U32_UNDEFINED,
    maxColorAttachmentBytesPerSample: Int = Constants.LIMIT_U32_UNDEFINED,
    maxComputeWorkgroupStorageSize: Int = Constants.LIMIT_U32_UNDEFINED,
    maxComputeInvocationsPerWorkgroup: Int = Constants.LIMIT_U32_UNDEFINED,
    maxComputeWorkgroupSizeX: Int = Constants.LIMIT_U32_UNDEFINED,
    maxComputeWorkgroupSizeY: Int = Constants.LIMIT_U32_UNDEFINED,
    maxComputeWorkgroupSizeZ: Int = Constants.LIMIT_U32_UNDEFINED,
    maxComputeWorkgroupsPerDimension: Int = Constants.LIMIT_U32_UNDEFINED,
    maxImmediateSize: Int = Constants.LIMIT_U32_UNDEFINED,
    compatibilityModeLimits: GPUCompatibilityModeLimits? = null
)
```

## Public properties

### compatibilityModeLimits

Added in [1.0.0-alpha06](https://developer.android.com/jetpack/androidx/releases/webgpu#1.0.0-alpha06)

```
var compatibilityModeLimits: GPUCompatibilityModeLimits?
```

### maxBindGroups

Added in [1.0.0-alpha06](https://developer.android.com/jetpack/androidx/releases/webgpu#1.0.0-alpha06)

```
var maxBindGroups: Int
```

### maxBindGroupsPlusVertexBuffers

Added in [1.0.0-alpha06](https://developer.android.com/jetpack/androidx/releases/webgpu#1.0.0-alpha06)

```
var maxBindGroupsPlusVertexBuffers: Int
```

### maxBindingsPerBindGroup

Added in [1.0.0-alpha06](https://developer.android.com/jetpack/androidx/releases/webgpu#1.0.0-alpha06)

```
var maxBindingsPerBindGroup: Int
```

### maxBufferSize

Added in [1.0.0-alpha06](https://developer.android.com/jetpack/androidx/releases/webgpu#1.0.0-alpha06)

```
var maxBufferSize: Long
```

### maxColorAttachmentBytesPerSample

Added in [1.0.0-alpha06](https://developer.android.com/jetpack/androidx/releases/webgpu#1.0.0-alpha06)

```
var maxColorAttachmentBytesPerSample: Int
```

### maxColorAttachments

Added in [1.0.0-alpha06](https://developer.android.com/jetpack/androidx/releases/webgpu#1.0.0-alpha06)

```
var maxColorAttachments: Int
```

### maxComputeInvocationsPerWorkgroup

Added in [1.0.0-alpha06](https://developer.android.com/jetpack/androidx/releases/webgpu#1.0.0-alpha06)

```
var maxComputeInvocationsPerWorkgroup: Int
```

### maxComputeWorkgroupSizeX

Added in [1.0.0-alpha06](https://developer.android.com/jetpack/androidx/releases/webgpu#1.0.0-alpha06)

```
var maxComputeWorkgroupSizeX: Int
```

### maxComputeWorkgroupSizeY

Added in [1.0.0-alpha06](https://developer.android.com/jetpack/androidx/releases/webgpu#1.0.0-alpha06)

```
var maxComputeWorkgroupSizeY: Int
```

### maxComputeWorkgroupSizeZ

Added in [1.0.0-alpha06](https://developer.android.com/jetpack/androidx/releases/webgpu#1.0.0-alpha06)

```
var maxComputeWorkgroupSizeZ: Int
```

### maxComputeWorkgroupStorageSize

Added in [1.0.0-alpha06](https://developer.android.com/jetpack/androidx/releases/webgpu#1.0.0-alpha06)

```
var maxComputeWorkgroupStorageSize: Int
```

### maxComputeWorkgroupsPerDimension

Added in [1.0.0-alpha06](https://developer.android.com/jetpack/androidx/releases/webgpu#1.0.0-alpha06)

```
var maxComputeWorkgroupsPerDimension: Int
```

### maxDynamicStorageBuffersPerPipelineLayout

Added in [1.0.0-alpha06](https://developer.android.com/jetpack/androidx/releases/webgpu#1.0.0-alpha06)

```
var maxDynamicStorageBuffersPerPipelineLayout: Int
```

### maxDynamicUniformBuffersPerPipelineLayout

Added in [1.0.0-alpha06](https://developer.android.com/jetpack/androidx/releases/webgpu#1.0.0-alpha06)

```
var maxDynamicUniformBuffersPerPipelineLayout: Int
```

### maxImmediateSize

Added in [1.0.0-alpha06](https://developer.android.com/jetpack/androidx/releases/webgpu#1.0.0-alpha06)

```
var maxImmediateSize: Int
```

### maxInterStageShaderVariables

Added in [1.0.0-alpha06](https://developer.android.com/jetpack/androidx/releases/webgpu#1.0.0-alpha06)

```
var maxInterStageShaderVariables: Int
```

### maxSampledTexturesPerShaderStage

Added in [1.0.0-alpha06](https://developer.android.com/jetpack/androidx/releases/webgpu#1.0.0-alpha06)

```
var maxSampledTexturesPerShaderStage: Int
```

### maxSamplersPerShaderStage

Added in [1.0.0-alpha06](https://developer.android.com/jetpack/androidx/releases/webgpu#1.0.0-alpha06)

```
var maxSamplersPerShaderStage: Int
```

### maxStorageBufferBindingSize

Added in [1.0.0-alpha06](https://developer.android.com/jetpack/androidx/releases/webgpu#1.0.0-alpha06)

```
var maxStorageBufferBindingSize: Long
```

### maxStorageBuffersPerShaderStage

Added in [1.0.0-alpha06](https://developer.android.com/jetpack/androidx/releases/webgpu#1.0.0-alpha06)

```
var maxStorageBuffersPerShaderStage: Int
```

### maxStorageTexturesPerShaderStage

Added in [1.0.0-alpha06](https://developer.android.com/jetpack/androidx/releases/webgpu#1.0.0-alpha06)

```
var maxStorageTexturesPerShaderStage: Int
```

### maxTextureArrayLayers

Added in [1.0.0-alpha06](https://developer.android.com/jetpack/androidx/releases/webgpu#1.0.0-alpha06)

```
var maxTextureArrayLayers: Int
```

### maxTextureDimension1D

Added in [1.0.0-alpha06](https://developer.android.com/jetpack/androidx/releases/webgpu#1.0.0-alpha06)

```
var maxTextureDimension1D: Int
```

### maxTextureDimension2D

Added in [1.0.0-alpha06](https://developer.android.com/jetpack/androidx/releases/webgpu#1.0.0-alpha06)

```
var maxTextureDimension2D: Int
```

### maxTextureDimension3D

Added in [1.0.0-alpha06](https://developer.android.com/jetpack/androidx/releases/webgpu#1.0.0-alpha06)

```
var maxTextureDimension3D: Int
```

### maxUniformBufferBindingSize

Added in [1.0.0-alpha06](https://developer.android.com/jetpack/androidx/releases/webgpu#1.0.0-alpha06)

```
var maxUniformBufferBindingSize: Long
```

### maxUniformBuffersPerShaderStage

Added in [1.0.0-alpha06](https://developer.android.com/jetpack/androidx/releases/webgpu#1.0.0-alpha06)

```
var maxUniformBuffersPerShaderStage: Int
```

### maxVertexAttributes

Added in [1.0.0-alpha06](https://developer.android.com/jetpack/androidx/releases/webgpu#1.0.0-alpha06)

```
var maxVertexAttributes: Int
```

### maxVertexBufferArrayStride

Added in [1.0.0-alpha06](https://developer.android.com/jetpack/androidx/releases/webgpu#1.0.0-alpha06)

```
var maxVertexBufferArrayStride: Int
```

### maxVertexBuffers

Added in [1.0.0-alpha06](https://developer.android.com/jetpack/androidx/releases/webgpu#1.0.0-alpha06)

```
var maxVertexBuffers: Int
```

### minStorageBufferOffsetAlignment

Added in [1.0.0-alpha06](https://developer.android.com/jetpack/androidx/releases/webgpu#1.0.0-alpha06)

```
var minStorageBufferOffsetAlignment: Int
```

### minUniformBufferOffsetAlignment

Added in [1.0.0-alpha06](https://developer.android.com/jetpack/androidx/releases/webgpu#1.0.0-alpha06)

```
var minUniformBufferOffsetAlignment: Int
```