packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/GPUQueue.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.GPUQueue
       (copyExternalImageToTexture, onSubmittedWorkDone, submit, writeBuffer, writeTexture, GPUQueue(..), gTypeGPUQueue)
       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/GPUQueue/copyExternalImageToTexture MDN GPUQueue.copyExternalImageToTexture documentation>
copyExternalImageToTexture :: (MonadDOM m, IsGPUExtent3D copySize) => GPUQueue -> GPUCopyExternalImageSourceInfo -> GPUCopyExternalImageDestInfo -> copySize -> m ()
copyExternalImageToTexture self source destination copySize = liftDOM (void (self ^. jsf "copyExternalImageToTexture" [toJSVal source, toJSVal destination, toJSVal copySize]))

-- | <https://developer.mozilla.org/docs/Web/API/GPUQueue/onSubmittedWorkDone MDN GPUQueue.onSubmittedWorkDone documentation>
onSubmittedWorkDone :: (MonadDOM m) => GPUQueue -> m ()
onSubmittedWorkDone self = liftDOM (void (((self ^. jsf "onSubmittedWorkDone" ()) >>= readPromise)))

-- | <https://developer.mozilla.org/docs/Web/API/GPUQueue/submit MDN GPUQueue.submit documentation>
submit :: (MonadDOM m) => GPUQueue -> [GPUCommandBuffer] -> m ()
submit self commandBuffers = liftDOM (void (self ^. jsf "submit" [toJSVal commandBuffers]))

-- | <https://developer.mozilla.org/docs/Web/API/GPUQueue/writeBuffer MDN GPUQueue.writeBuffer documentation>
writeBuffer :: (MonadDOM m, IsAllowSharedBufferSource data') => GPUQueue -> GPUBuffer -> Word53 -> data' -> Maybe Word53 -> Maybe Word53 -> m ()
writeBuffer self buffer bufferOffset data' dataOffset size = liftDOM (void (self ^. jsf "writeBuffer" [toJSVal buffer, toJSVal bufferOffset, toJSVal data', P.maybe (P.return jsUndefined) toJSVal dataOffset, P.maybe (P.return jsUndefined) toJSVal size]))

-- | <https://developer.mozilla.org/docs/Web/API/GPUQueue/writeTexture MDN GPUQueue.writeTexture documentation>
writeTexture :: (MonadDOM m, IsGPUTexelCopyTextureInfo destination, IsAllowSharedBufferSource data', IsGPUTexelCopyBufferLayout dataLayout, IsGPUExtent3D size) => GPUQueue -> destination -> data' -> dataLayout -> size -> m ()
writeTexture self destination data' dataLayout size = liftDOM (void (self ^. jsf "writeTexture" [toJSVal destination, toJSVal data', toJSVal dataLayout, toJSVal size]))