jsaddle-dom-0.10.0.0: src/JSDOM/Generated/GPUSupportedLimits.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from webgpu (webref). Do not edit.
module JSDOM.Generated.GPUSupportedLimits
(getMaxTextureDimension1D, getMaxTextureDimension2D, getMaxTextureDimension3D, getMaxTextureArrayLayers, getMaxBindGroups, getMaxBindGroupsPlusVertexBuffers, getMaxBindingsPerBindGroup, getMaxDynamicUniformBuffersPerPipelineLayout, getMaxDynamicStorageBuffersPerPipelineLayout, getMaxSampledTexturesPerShaderStage, getMaxSamplersPerShaderStage, getMaxStorageBuffersPerShaderStage, getMaxStorageBuffersInVertexStage, getMaxStorageBuffersInFragmentStage, getMaxStorageTexturesPerShaderStage, getMaxStorageTexturesInVertexStage, getMaxStorageTexturesInFragmentStage, getMaxUniformBuffersPerShaderStage, getMaxUniformBufferBindingSize, getMaxStorageBufferBindingSize, getMinUniformBufferOffsetAlignment, getMinStorageBufferOffsetAlignment, getMaxVertexBuffers, getMaxBufferSize, getMaxVertexAttributes, getMaxVertexBufferArrayStride, getMaxInterStageShaderVariables, getMaxColorAttachments, getMaxColorAttachmentBytesPerSample, getMaxComputeWorkgroupStorageSize, getMaxComputeInvocationsPerWorkgroup, getMaxComputeWorkgroupSizeX, getMaxComputeWorkgroupSizeY, getMaxComputeWorkgroupSizeZ, getMaxComputeWorkgroupsPerDimension, GPUSupportedLimits(..), gTypeGPUSupportedLimits)
where
import Prelude ((.), (==), (>>=), (<$>), (++), Bool(..), Maybe(..), IO, Int, Word, Double, Float)
import qualified Prelude as P
import Control.Monad (void)
import Control.Lens.Operators ((^.))
import Language.Javascript.JSaddle (JSM, JSVal, JSString, toJSVal, valToBool, valToNumber, js, jss, jsf, jsg, new, function, asyncFunction, jsUndefined, jsNull)
import JSDOM.Types
import qualified JSDOM.Types as Types
import JSDOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import JSDOM.Generated.Enums
-- | <https://developer.mozilla.org/docs/Web/API/GPUSupportedLimits#instance_properties MDN GPUSupportedLimits.maxTextureDimension1D documentation>
getMaxTextureDimension1D :: (MonadDOM m) => GPUSupportedLimits -> m Word
getMaxTextureDimension1D self = liftDOM ((P.round <$> ((self ^. js "maxTextureDimension1D") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/GPUSupportedLimits#instance_properties MDN GPUSupportedLimits.maxTextureDimension2D documentation>
getMaxTextureDimension2D :: (MonadDOM m) => GPUSupportedLimits -> m Word
getMaxTextureDimension2D self = liftDOM ((P.round <$> ((self ^. js "maxTextureDimension2D") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/GPUSupportedLimits#instance_properties MDN GPUSupportedLimits.maxTextureDimension3D documentation>
getMaxTextureDimension3D :: (MonadDOM m) => GPUSupportedLimits -> m Word
getMaxTextureDimension3D self = liftDOM ((P.round <$> ((self ^. js "maxTextureDimension3D") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/GPUSupportedLimits#instance_properties MDN GPUSupportedLimits.maxTextureArrayLayers documentation>
getMaxTextureArrayLayers :: (MonadDOM m) => GPUSupportedLimits -> m Word
getMaxTextureArrayLayers self = liftDOM ((P.round <$> ((self ^. js "maxTextureArrayLayers") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/GPUSupportedLimits#instance_properties MDN GPUSupportedLimits.maxBindGroups documentation>
getMaxBindGroups :: (MonadDOM m) => GPUSupportedLimits -> m Word
getMaxBindGroups self = liftDOM ((P.round <$> ((self ^. js "maxBindGroups") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/GPUSupportedLimits#instance_properties MDN GPUSupportedLimits.maxBindGroupsPlusVertexBuffers documentation>
getMaxBindGroupsPlusVertexBuffers :: (MonadDOM m) => GPUSupportedLimits -> m Word
getMaxBindGroupsPlusVertexBuffers self = liftDOM ((P.round <$> ((self ^. js "maxBindGroupsPlusVertexBuffers") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/GPUSupportedLimits#instance_properties MDN GPUSupportedLimits.maxBindingsPerBindGroup documentation>
getMaxBindingsPerBindGroup :: (MonadDOM m) => GPUSupportedLimits -> m Word
getMaxBindingsPerBindGroup self = liftDOM ((P.round <$> ((self ^. js "maxBindingsPerBindGroup") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/GPUSupportedLimits#instance_properties MDN GPUSupportedLimits.maxDynamicUniformBuffersPerPipelineLayout documentation>
getMaxDynamicUniformBuffersPerPipelineLayout :: (MonadDOM m) => GPUSupportedLimits -> m Word
getMaxDynamicUniformBuffersPerPipelineLayout self = liftDOM ((P.round <$> ((self ^. js "maxDynamicUniformBuffersPerPipelineLayout") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/GPUSupportedLimits#instance_properties MDN GPUSupportedLimits.maxDynamicStorageBuffersPerPipelineLayout documentation>
getMaxDynamicStorageBuffersPerPipelineLayout :: (MonadDOM m) => GPUSupportedLimits -> m Word
getMaxDynamicStorageBuffersPerPipelineLayout self = liftDOM ((P.round <$> ((self ^. js "maxDynamicStorageBuffersPerPipelineLayout") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/GPUSupportedLimits#instance_properties MDN GPUSupportedLimits.maxSampledTexturesPerShaderStage documentation>
getMaxSampledTexturesPerShaderStage :: (MonadDOM m) => GPUSupportedLimits -> m Word
getMaxSampledTexturesPerShaderStage self = liftDOM ((P.round <$> ((self ^. js "maxSampledTexturesPerShaderStage") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/GPUSupportedLimits#instance_properties MDN GPUSupportedLimits.maxSamplersPerShaderStage documentation>
getMaxSamplersPerShaderStage :: (MonadDOM m) => GPUSupportedLimits -> m Word
getMaxSamplersPerShaderStage self = liftDOM ((P.round <$> ((self ^. js "maxSamplersPerShaderStage") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/GPUSupportedLimits#instance_properties MDN GPUSupportedLimits.maxStorageBuffersPerShaderStage documentation>
getMaxStorageBuffersPerShaderStage :: (MonadDOM m) => GPUSupportedLimits -> m Word
getMaxStorageBuffersPerShaderStage self = liftDOM ((P.round <$> ((self ^. js "maxStorageBuffersPerShaderStage") >>= valToNumber)))
-- | <https://gpuweb.github.io/gpuweb/#dom-gpusupportedlimits-maxstoragebuffersinvertexstage GPUSupportedLimits.maxStorageBuffersInVertexStage specification>
getMaxStorageBuffersInVertexStage :: (MonadDOM m) => GPUSupportedLimits -> m Word
getMaxStorageBuffersInVertexStage self = liftDOM ((P.round <$> ((self ^. js "maxStorageBuffersInVertexStage") >>= valToNumber)))
-- | <https://gpuweb.github.io/gpuweb/#dom-gpusupportedlimits-maxstoragebuffersinfragmentstage GPUSupportedLimits.maxStorageBuffersInFragmentStage specification>
getMaxStorageBuffersInFragmentStage :: (MonadDOM m) => GPUSupportedLimits -> m Word
getMaxStorageBuffersInFragmentStage self = liftDOM ((P.round <$> ((self ^. js "maxStorageBuffersInFragmentStage") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/GPUSupportedLimits#instance_properties MDN GPUSupportedLimits.maxStorageTexturesPerShaderStage documentation>
getMaxStorageTexturesPerShaderStage :: (MonadDOM m) => GPUSupportedLimits -> m Word
getMaxStorageTexturesPerShaderStage self = liftDOM ((P.round <$> ((self ^. js "maxStorageTexturesPerShaderStage") >>= valToNumber)))
-- | <https://gpuweb.github.io/gpuweb/#dom-gpusupportedlimits-maxstoragetexturesinvertexstage GPUSupportedLimits.maxStorageTexturesInVertexStage specification>
getMaxStorageTexturesInVertexStage :: (MonadDOM m) => GPUSupportedLimits -> m Word
getMaxStorageTexturesInVertexStage self = liftDOM ((P.round <$> ((self ^. js "maxStorageTexturesInVertexStage") >>= valToNumber)))
-- | <https://gpuweb.github.io/gpuweb/#dom-gpusupportedlimits-maxstoragetexturesinfragmentstage GPUSupportedLimits.maxStorageTexturesInFragmentStage specification>
getMaxStorageTexturesInFragmentStage :: (MonadDOM m) => GPUSupportedLimits -> m Word
getMaxStorageTexturesInFragmentStage self = liftDOM ((P.round <$> ((self ^. js "maxStorageTexturesInFragmentStage") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/GPUSupportedLimits#instance_properties MDN GPUSupportedLimits.maxUniformBuffersPerShaderStage documentation>
getMaxUniformBuffersPerShaderStage :: (MonadDOM m) => GPUSupportedLimits -> m Word
getMaxUniformBuffersPerShaderStage self = liftDOM ((P.round <$> ((self ^. js "maxUniformBuffersPerShaderStage") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/GPUSupportedLimits#instance_properties MDN GPUSupportedLimits.maxUniformBufferBindingSize documentation>
getMaxUniformBufferBindingSize :: (MonadDOM m) => GPUSupportedLimits -> m Word53
getMaxUniformBufferBindingSize self = liftDOM (((self ^. js "maxUniformBufferBindingSize") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/GPUSupportedLimits#instance_properties MDN GPUSupportedLimits.maxStorageBufferBindingSize documentation>
getMaxStorageBufferBindingSize :: (MonadDOM m) => GPUSupportedLimits -> m Word53
getMaxStorageBufferBindingSize self = liftDOM (((self ^. js "maxStorageBufferBindingSize") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/GPUSupportedLimits#instance_properties MDN GPUSupportedLimits.minUniformBufferOffsetAlignment documentation>
getMinUniformBufferOffsetAlignment :: (MonadDOM m) => GPUSupportedLimits -> m Word
getMinUniformBufferOffsetAlignment self = liftDOM ((P.round <$> ((self ^. js "minUniformBufferOffsetAlignment") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/GPUSupportedLimits#instance_properties MDN GPUSupportedLimits.minStorageBufferOffsetAlignment documentation>
getMinStorageBufferOffsetAlignment :: (MonadDOM m) => GPUSupportedLimits -> m Word
getMinStorageBufferOffsetAlignment self = liftDOM ((P.round <$> ((self ^. js "minStorageBufferOffsetAlignment") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/GPUSupportedLimits#instance_properties MDN GPUSupportedLimits.maxVertexBuffers documentation>
getMaxVertexBuffers :: (MonadDOM m) => GPUSupportedLimits -> m Word
getMaxVertexBuffers self = liftDOM ((P.round <$> ((self ^. js "maxVertexBuffers") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/GPUSupportedLimits#instance_properties MDN GPUSupportedLimits.maxBufferSize documentation>
getMaxBufferSize :: (MonadDOM m) => GPUSupportedLimits -> m Word53
getMaxBufferSize self = liftDOM (((self ^. js "maxBufferSize") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/GPUSupportedLimits#instance_properties MDN GPUSupportedLimits.maxVertexAttributes documentation>
getMaxVertexAttributes :: (MonadDOM m) => GPUSupportedLimits -> m Word
getMaxVertexAttributes self = liftDOM ((P.round <$> ((self ^. js "maxVertexAttributes") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/GPUSupportedLimits#instance_properties MDN GPUSupportedLimits.maxVertexBufferArrayStride documentation>
getMaxVertexBufferArrayStride :: (MonadDOM m) => GPUSupportedLimits -> m Word
getMaxVertexBufferArrayStride self = liftDOM ((P.round <$> ((self ^. js "maxVertexBufferArrayStride") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/GPUSupportedLimits#instance_properties MDN GPUSupportedLimits.maxInterStageShaderVariables documentation>
getMaxInterStageShaderVariables :: (MonadDOM m) => GPUSupportedLimits -> m Word
getMaxInterStageShaderVariables self = liftDOM ((P.round <$> ((self ^. js "maxInterStageShaderVariables") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/GPUSupportedLimits#instance_properties MDN GPUSupportedLimits.maxColorAttachments documentation>
getMaxColorAttachments :: (MonadDOM m) => GPUSupportedLimits -> m Word
getMaxColorAttachments self = liftDOM ((P.round <$> ((self ^. js "maxColorAttachments") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/GPUSupportedLimits#instance_properties MDN GPUSupportedLimits.maxColorAttachmentBytesPerSample documentation>
getMaxColorAttachmentBytesPerSample :: (MonadDOM m) => GPUSupportedLimits -> m Word
getMaxColorAttachmentBytesPerSample self = liftDOM ((P.round <$> ((self ^. js "maxColorAttachmentBytesPerSample") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/GPUSupportedLimits#instance_properties MDN GPUSupportedLimits.maxComputeWorkgroupStorageSize documentation>
getMaxComputeWorkgroupStorageSize :: (MonadDOM m) => GPUSupportedLimits -> m Word
getMaxComputeWorkgroupStorageSize self = liftDOM ((P.round <$> ((self ^. js "maxComputeWorkgroupStorageSize") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/GPUSupportedLimits#instance_properties MDN GPUSupportedLimits.maxComputeInvocationsPerWorkgroup documentation>
getMaxComputeInvocationsPerWorkgroup :: (MonadDOM m) => GPUSupportedLimits -> m Word
getMaxComputeInvocationsPerWorkgroup self = liftDOM ((P.round <$> ((self ^. js "maxComputeInvocationsPerWorkgroup") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/GPUSupportedLimits#instance_properties MDN GPUSupportedLimits.maxComputeWorkgroupSizeX documentation>
getMaxComputeWorkgroupSizeX :: (MonadDOM m) => GPUSupportedLimits -> m Word
getMaxComputeWorkgroupSizeX self = liftDOM ((P.round <$> ((self ^. js "maxComputeWorkgroupSizeX") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/GPUSupportedLimits#instance_properties MDN GPUSupportedLimits.maxComputeWorkgroupSizeY documentation>
getMaxComputeWorkgroupSizeY :: (MonadDOM m) => GPUSupportedLimits -> m Word
getMaxComputeWorkgroupSizeY self = liftDOM ((P.round <$> ((self ^. js "maxComputeWorkgroupSizeY") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/GPUSupportedLimits#instance_properties MDN GPUSupportedLimits.maxComputeWorkgroupSizeZ documentation>
getMaxComputeWorkgroupSizeZ :: (MonadDOM m) => GPUSupportedLimits -> m Word
getMaxComputeWorkgroupSizeZ self = liftDOM ((P.round <$> ((self ^. js "maxComputeWorkgroupSizeZ") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/GPUSupportedLimits#instance_properties MDN GPUSupportedLimits.maxComputeWorkgroupsPerDimension documentation>
getMaxComputeWorkgroupsPerDimension :: (MonadDOM m) => GPUSupportedLimits -> m Word
getMaxComputeWorkgroupsPerDimension self = liftDOM ((P.round <$> ((self ^. js "maxComputeWorkgroupsPerDimension") >>= valToNumber)))