GPULimits


class GPULimits


Defines the resource limits for a device.

Summary

Nested types

Builder for GPULimits.

Public constructors

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

Public constructors

GPULimits

Added in 1.0.0-alpha05
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-alpha05
var compatibilityModeLimits: GPUCompatibilityModeLimits?

maxBindGroups

Added in 1.0.0-alpha05
var maxBindGroups: Int

maxBindGroupsPlusVertexBuffers

Added in 1.0.0-alpha05
var maxBindGroupsPlusVertexBuffers: Int

maxBindingsPerBindGroup

Added in 1.0.0-alpha05
var maxBindingsPerBindGroup: Int

maxBufferSize

Added in 1.0.0-alpha05
var maxBufferSize: Long

maxColorAttachmentBytesPerSample

Added in 1.0.0-alpha05
var maxColorAttachmentBytesPerSample: Int

maxColorAttachments

Added in 1.0.0-alpha05
var maxColorAttachments: Int

maxComputeInvocationsPerWorkgroup

Added in 1.0.0-alpha05
var maxComputeInvocationsPerWorkgroup: Int

maxComputeWorkgroupSizeX

Added in 1.0.0-alpha05
var maxComputeWorkgroupSizeX: Int

maxComputeWorkgroupSizeY

Added in 1.0.0-alpha05
var maxComputeWorkgroupSizeY: Int

maxComputeWorkgroupSizeZ

Added in 1.0.0-alpha05
var maxComputeWorkgroupSizeZ: Int

maxComputeWorkgroupStorageSize

Added in 1.0.0-alpha05
var maxComputeWorkgroupStorageSize: Int

maxComputeWorkgroupsPerDimension

Added in 1.0.0-alpha05
var maxComputeWorkgroupsPerDimension: Int

maxDynamicStorageBuffersPerPipelineLayout

Added in 1.0.0-alpha05
var maxDynamicStorageBuffersPerPipelineLayout: Int

maxDynamicUniformBuffersPerPipelineLayout

Added in 1.0.0-alpha05
var maxDynamicUniformBuffersPerPipelineLayout: Int

maxImmediateSize

Added in 1.0.0-alpha05
var maxImmediateSize: Int

maxInterStageShaderVariables

Added in 1.0.0-alpha05
var maxInterStageShaderVariables: Int

maxSampledTexturesPerShaderStage

Added in 1.0.0-alpha05
var maxSampledTexturesPerShaderStage: Int

maxSamplersPerShaderStage

Added in 1.0.0-alpha05
var maxSamplersPerShaderStage: Int

maxStorageBufferBindingSize

Added in 1.0.0-alpha05
var maxStorageBufferBindingSize: Long

maxStorageBuffersPerShaderStage

Added in 1.0.0-alpha05
var maxStorageBuffersPerShaderStage: Int

maxStorageTexturesPerShaderStage

Added in 1.0.0-alpha05
var maxStorageTexturesPerShaderStage: Int

maxTextureArrayLayers

Added in 1.0.0-alpha05
var maxTextureArrayLayers: Int

maxTextureDimension1D

Added in 1.0.0-alpha05
var maxTextureDimension1D: Int

maxTextureDimension2D

Added in 1.0.0-alpha05
var maxTextureDimension2D: Int

maxTextureDimension3D

Added in 1.0.0-alpha05
var maxTextureDimension3D: Int

maxUniformBufferBindingSize

Added in 1.0.0-alpha05
var maxUniformBufferBindingSize: Long

maxUniformBuffersPerShaderStage

Added in 1.0.0-alpha05
var maxUniformBuffersPerShaderStage: Int

maxVertexAttributes

Added in 1.0.0-alpha05
var maxVertexAttributes: Int

maxVertexBufferArrayStride

Added in 1.0.0-alpha05
var maxVertexBufferArrayStride: Int

maxVertexBuffers

Added in 1.0.0-alpha05
var maxVertexBuffers: Int

minStorageBufferOffsetAlignment

Added in 1.0.0-alpha05
var minStorageBufferOffsetAlignment: Int

minUniformBufferOffsetAlignment

Added in 1.0.0-alpha05
var minUniformBufferOffsetAlignment: Int