packages feed

ghcjs-dom-javascript-0.10.0.0: src/GHCJS/DOM/JSFFI/Generated/GPUQueue.hs

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from webgpu (webref). Do not edit.
module GHCJS.DOM.JSFFI.Generated.GPUQueue
       (js_copyExternalImageToTexture, js_onSubmittedWorkDone, js_submit, js_writeBuffer, js_writeTexture, 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 GHCJS.Types (JSVal, JSString)
import GHCJS.Foreign (jsUndefined, jsNull)
import GHCJS.DOM.Types
import qualified GHCJS.DOM.Types as Types
import GHCJS.DOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import GHCJS.DOM.JSFFI.Generated.Enums

foreign import javascript safe "(($1, $2, $3, $4) => { return $1[\"copyExternalImageToTexture\"]($2, $3, $4); })"
        js_copyExternalImageToTexture :: GPUQueue -> GPUCopyExternalImageSourceInfo -> GPUCopyExternalImageDestInfo -> GPUExtent3D -> IO ()
-- | <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 ((js_copyExternalImageToTexture (self) (source) (destination) (Types.toGPUExtent3D copySize))))

foreign import javascript interruptible "(($1, $c) => { return $1[\"onSubmittedWorkDone\"]().then(function(s) { $c(null, s);}, function(e) { $c(e, null);}); })"
        js_onSubmittedWorkDone :: GPUQueue -> IO (JSVal, ())
-- | <https://developer.mozilla.org/docs/Web/API/GPUQueue/onSubmittedWorkDone MDN GPUQueue.onSubmittedWorkDone documentation>
onSubmittedWorkDone :: (MonadDOM m) => GPUQueue -> m ()
onSubmittedWorkDone self = liftDOM (void (((js_onSubmittedWorkDone (self)) >>= checkPromiseResult)))

foreign import javascript safe "(($1, $2) => { return $1[\"submit\"]($2); })"
        js_submit :: GPUQueue -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/GPUQueue/submit MDN GPUQueue.submit documentation>
submit :: (MonadDOM m) => GPUQueue -> [GPUCommandBuffer] -> m ()
submit self commandBuffers = liftDOM (void (((toJSVal commandBuffers) >>= \a2' -> js_submit (self) a2')))

foreign import javascript safe "(($1, $2, $3, $4, $5, $6) => { return $1[\"writeBuffer\"]($2, $3, $4, $5, $6); })"
        js_writeBuffer :: GPUQueue -> GPUBuffer -> JSVal -> AllowSharedBufferSource -> JSVal -> JSVal -> IO ()
-- | <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 (((toJSVal bufferOffset) >>= \a3' -> (P.maybe (P.return jsUndefined) toJSVal dataOffset) >>= \a5' -> (P.maybe (P.return jsUndefined) toJSVal size) >>= \a6' -> js_writeBuffer (self) (buffer) a3' (Types.toAllowSharedBufferSource data') a5' a6')))

foreign import javascript safe "(($1, $2, $3, $4, $5) => { return $1[\"writeTexture\"]($2, $3, $4, $5); })"
        js_writeTexture :: GPUQueue -> GPUTexelCopyTextureInfo -> AllowSharedBufferSource -> GPUTexelCopyBufferLayout -> GPUExtent3D -> IO ()
-- | <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 ((js_writeTexture (self) (Types.toGPUTexelCopyTextureInfo destination) (Types.toAllowSharedBufferSource data') (Types.toGPUTexelCopyBufferLayout dataLayout) (Types.toGPUExtent3D size))))