packages feed

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

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from webgl2 (webref). Do not edit.
module GHCJS.DOM.JSFFI.Generated.WebGL2RenderingContextBase
       (js_beginQuery, js_beginTransformFeedback, js_bindBufferBase, js_bindBufferRange, js_bindSampler, js_bindTransformFeedback, js_bindVertexArray, js_blitFramebuffer, js_clearBufferfi, js_clearBufferfv, js_clearBufferfv', js_clearBufferiv, js_clearBufferiv', js_clearBufferuiv, js_clearBufferuiv', js_clientWaitSync, js_compressedTexImage3D, js_compressedTexImage3DSrcDataSrcOffsetSrcLengthOverride, js_compressedTexSubImage3D, js_compressedTexSubImage3DSrcDataSrcOffsetSrcLengthOverride, js_copyBufferSubData, js_copyTexSubImage3D, js_createQuery, js_createSampler, js_createTransformFeedback, js_createVertexArray, js_deleteQuery, js_deleteSampler, js_deleteSync, js_deleteTransformFeedback, js_deleteVertexArray, js_drawArraysInstanced, js_drawBuffers, js_drawElementsInstanced, js_drawRangeElements, js_endQuery, js_endTransformFeedback, js_fenceSync, js_framebufferTextureLayer, js_getActiveUniformBlockName, js_getActiveUniformBlockParameter, js_getActiveUniforms, js_getBufferSubData, js_getFragDataLocation, js_getIndexedParameter, js_getInternalformatParameter, js_getQuery, js_getQueryParameter, js_getSamplerParameter, js_getSyncParameter, js_getTransformFeedbackVarying, js_getUniformBlockIndex, js_getUniformIndices, js_invalidateFramebuffer, js_invalidateSubFramebuffer, js_isQuery, js_isSampler, js_isSync, js_isTransformFeedback, js_isVertexArray, js_pauseTransformFeedback, js_readBuffer, js_renderbufferStorageMultisample, js_resumeTransformFeedback, js_samplerParameterf, js_samplerParameteri, js_texImage3D, js_texImage3DSource, js_texImage3DSrcData, js_texImage3DSrcDataSrcOffset, js_texStorage2D, js_texStorage3D, js_texSubImage3D, js_texSubImage3DSource, js_texSubImage3DSrcDataSrcOffset, js_transformFeedbackVaryings, js_uniform1ui, js_uniform1uiv, js_uniform1uiv', js_uniform2ui, js_uniform2uiv, js_uniform2uiv', js_uniform3ui, js_uniform3uiv, js_uniform3uiv', js_uniform4ui, js_uniform4uiv, js_uniform4uiv', js_uniformBlockBinding, js_uniformMatrix2x3fv, js_uniformMatrix2x3fv', js_uniformMatrix2x4fv, js_uniformMatrix2x4fv', js_uniformMatrix3x2fv, js_uniformMatrix3x2fv', js_uniformMatrix3x4fv, js_uniformMatrix3x4fv', js_uniformMatrix4x2fv, js_uniformMatrix4x2fv', js_uniformMatrix4x3fv, js_uniformMatrix4x3fv', js_vertexAttribDivisor, js_vertexAttribI4i, js_vertexAttribI4iv, js_vertexAttribI4ui, js_vertexAttribI4uiv, js_vertexAttribIPointer, js_waitSync, beginQuery, beginTransformFeedback, bindBufferBase, bindBufferRange, bindSampler, bindTransformFeedback, bindVertexArray, blitFramebuffer, clearBufferfi, clearBufferfv, clearBufferfv', clearBufferiv, clearBufferiv', clearBufferuiv, clearBufferuiv', clientWaitSync, clientWaitSync_, compressedTexImage3D, compressedTexImage3DSrcDataSrcOffsetSrcLengthOverride, compressedTexSubImage3D, compressedTexSubImage3DSrcDataSrcOffsetSrcLengthOverride, copyBufferSubData, copyTexSubImage3D, createQuery, createQuery_, createSampler, createSampler_, createTransformFeedback, createTransformFeedback_, createVertexArray, createVertexArray_, deleteQuery, deleteSampler, deleteSync, deleteTransformFeedback, deleteVertexArray, drawArraysInstanced, drawBuffers, drawElementsInstanced, drawRangeElements, endQuery, endTransformFeedback, fenceSync, fenceSync_, fenceSyncUnsafe, fenceSyncUnchecked, framebufferTextureLayer, getActiveUniformBlockName, getActiveUniformBlockName_, getActiveUniformBlockNameUnsafe, getActiveUniformBlockNameUnchecked, getActiveUniformBlockParameter, getActiveUniformBlockParameter_, getActiveUniforms, getActiveUniforms_, getBufferSubData, getFragDataLocation, getFragDataLocation_, getIndexedParameter, getIndexedParameter_, getInternalformatParameter, getInternalformatParameter_, getQuery, getQuery_, getQueryUnsafe, getQueryUnchecked, getQueryParameter, getQueryParameter_, getSamplerParameter, getSamplerParameter_, getSyncParameter, getSyncParameter_, getTransformFeedbackVarying, getTransformFeedbackVarying_, getTransformFeedbackVaryingUnsafe, getTransformFeedbackVaryingUnchecked, getUniformBlockIndex, getUniformBlockIndex_, getUniformIndices, getUniformIndices_, getUniformIndicesUnsafe, getUniformIndicesUnchecked, invalidateFramebuffer, invalidateSubFramebuffer, isQuery, isQuery_, isSampler, isSampler_, isSync, isSync_, isTransformFeedback, isTransformFeedback_, isVertexArray, isVertexArray_, pauseTransformFeedback, readBuffer, renderbufferStorageMultisample, resumeTransformFeedback, samplerParameterf, samplerParameteri, texImage3D, texImage3DSource, texImage3DSrcData, texImage3DSrcDataSrcOffset, texStorage2D, texStorage3D, texSubImage3D, texSubImage3DSource, texSubImage3DSrcDataSrcOffset, transformFeedbackVaryings, uniform1ui, uniform1uiv, uniform1uiv', uniform2ui, uniform2uiv, uniform2uiv', uniform3ui, uniform3uiv, uniform3uiv', uniform4ui, uniform4uiv, uniform4uiv', uniformBlockBinding, uniformMatrix2x3fv, uniformMatrix2x3fv', uniformMatrix2x4fv, uniformMatrix2x4fv', uniformMatrix3x2fv, uniformMatrix3x2fv', uniformMatrix3x4fv, uniformMatrix3x4fv', uniformMatrix4x2fv, uniformMatrix4x2fv', uniformMatrix4x3fv, uniformMatrix4x3fv', vertexAttribDivisor, vertexAttribI4i, vertexAttribI4iv, vertexAttribI4ui, vertexAttribI4uiv, vertexAttribIPointer, waitSync, pattern READ_BUFFER, pattern UNPACK_ROW_LENGTH, pattern UNPACK_SKIP_ROWS, pattern UNPACK_SKIP_PIXELS, pattern PACK_ROW_LENGTH, pattern PACK_SKIP_ROWS, pattern PACK_SKIP_PIXELS, pattern COLOR, pattern DEPTH, pattern STENCIL, pattern RED, pattern RGB8, pattern RGB10_A2, pattern TEXTURE_BINDING_3D, pattern UNPACK_SKIP_IMAGES, pattern UNPACK_IMAGE_HEIGHT, pattern TEXTURE_3D, pattern TEXTURE_WRAP_R, pattern MAX_3D_TEXTURE_SIZE, pattern UNSIGNED_INT_2_10_10_10_REV, pattern MAX_ELEMENTS_VERTICES, pattern MAX_ELEMENTS_INDICES, pattern TEXTURE_MIN_LOD, pattern TEXTURE_MAX_LOD, pattern TEXTURE_BASE_LEVEL, pattern TEXTURE_MAX_LEVEL, pattern MIN, pattern MAX, pattern DEPTH_COMPONENT24, pattern MAX_TEXTURE_LOD_BIAS, pattern TEXTURE_COMPARE_MODE, pattern TEXTURE_COMPARE_FUNC, pattern CURRENT_QUERY, pattern QUERY_RESULT, pattern QUERY_RESULT_AVAILABLE, pattern STREAM_READ, pattern STREAM_COPY, pattern STATIC_READ, pattern STATIC_COPY, pattern DYNAMIC_READ, pattern DYNAMIC_COPY, pattern MAX_DRAW_BUFFERS, pattern DRAW_BUFFER0, pattern DRAW_BUFFER1, pattern DRAW_BUFFER2, pattern DRAW_BUFFER3, pattern DRAW_BUFFER4, pattern DRAW_BUFFER5, pattern DRAW_BUFFER6, pattern DRAW_BUFFER7, pattern DRAW_BUFFER8, pattern DRAW_BUFFER9, pattern DRAW_BUFFER10, pattern DRAW_BUFFER11, pattern DRAW_BUFFER12, pattern DRAW_BUFFER13, pattern DRAW_BUFFER14, pattern DRAW_BUFFER15, pattern MAX_FRAGMENT_UNIFORM_COMPONENTS, pattern MAX_VERTEX_UNIFORM_COMPONENTS, pattern SAMPLER_3D, pattern SAMPLER_2D_SHADOW, pattern FRAGMENT_SHADER_DERIVATIVE_HINT, pattern PIXEL_PACK_BUFFER, pattern PIXEL_UNPACK_BUFFER, pattern PIXEL_PACK_BUFFER_BINDING, pattern PIXEL_UNPACK_BUFFER_BINDING, pattern FLOAT_MAT2x3, pattern FLOAT_MAT2x4, pattern FLOAT_MAT3x2, pattern FLOAT_MAT3x4, pattern FLOAT_MAT4x2, pattern FLOAT_MAT4x3, pattern SRGB, pattern SRGB8, pattern SRGB8_ALPHA8, pattern COMPARE_REF_TO_TEXTURE, pattern RGBA32F, pattern RGB32F, pattern RGBA16F, pattern RGB16F, pattern VERTEX_ATTRIB_ARRAY_INTEGER, pattern MAX_ARRAY_TEXTURE_LAYERS, pattern MIN_PROGRAM_TEXEL_OFFSET, pattern MAX_PROGRAM_TEXEL_OFFSET, pattern MAX_VARYING_COMPONENTS, pattern TEXTURE_2D_ARRAY, pattern TEXTURE_BINDING_2D_ARRAY, pattern R11F_G11F_B10F, pattern UNSIGNED_INT_10F_11F_11F_REV, pattern RGB9_E5, pattern UNSIGNED_INT_5_9_9_9_REV, pattern TRANSFORM_FEEDBACK_BUFFER_MODE, pattern MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS, pattern TRANSFORM_FEEDBACK_VARYINGS, pattern TRANSFORM_FEEDBACK_BUFFER_START, pattern TRANSFORM_FEEDBACK_BUFFER_SIZE, pattern TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN, pattern RASTERIZER_DISCARD, pattern MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS, pattern MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS, pattern INTERLEAVED_ATTRIBS, pattern SEPARATE_ATTRIBS, pattern TRANSFORM_FEEDBACK_BUFFER, pattern TRANSFORM_FEEDBACK_BUFFER_BINDING, pattern RGBA32UI, pattern RGB32UI, pattern RGBA16UI, pattern RGB16UI, pattern RGBA8UI, pattern RGB8UI, pattern RGBA32I, pattern RGB32I, pattern RGBA16I, pattern RGB16I, pattern RGBA8I, pattern RGB8I, pattern RED_INTEGER, pattern RGB_INTEGER, pattern RGBA_INTEGER, pattern SAMPLER_2D_ARRAY, pattern SAMPLER_2D_ARRAY_SHADOW, pattern SAMPLER_CUBE_SHADOW, pattern UNSIGNED_INT_VEC2, pattern UNSIGNED_INT_VEC3, pattern UNSIGNED_INT_VEC4, pattern INT_SAMPLER_2D, pattern INT_SAMPLER_3D, pattern INT_SAMPLER_CUBE, pattern INT_SAMPLER_2D_ARRAY, pattern UNSIGNED_INT_SAMPLER_2D, pattern UNSIGNED_INT_SAMPLER_3D, pattern UNSIGNED_INT_SAMPLER_CUBE, pattern UNSIGNED_INT_SAMPLER_2D_ARRAY, pattern DEPTH_COMPONENT32F, pattern DEPTH32F_STENCIL8, pattern FLOAT_32_UNSIGNED_INT_24_8_REV, pattern FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING, pattern FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE, pattern FRAMEBUFFER_ATTACHMENT_RED_SIZE, pattern FRAMEBUFFER_ATTACHMENT_GREEN_SIZE, pattern FRAMEBUFFER_ATTACHMENT_BLUE_SIZE, pattern FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE, pattern FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE, pattern FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE, pattern FRAMEBUFFER_DEFAULT, pattern UNSIGNED_INT_24_8, pattern DEPTH24_STENCIL8, pattern UNSIGNED_NORMALIZED, pattern DRAW_FRAMEBUFFER_BINDING, pattern READ_FRAMEBUFFER, pattern DRAW_FRAMEBUFFER, pattern READ_FRAMEBUFFER_BINDING, pattern RENDERBUFFER_SAMPLES, pattern FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER, pattern MAX_COLOR_ATTACHMENTS, pattern COLOR_ATTACHMENT1, pattern COLOR_ATTACHMENT2, pattern COLOR_ATTACHMENT3, pattern COLOR_ATTACHMENT4, pattern COLOR_ATTACHMENT5, pattern COLOR_ATTACHMENT6, pattern COLOR_ATTACHMENT7, pattern COLOR_ATTACHMENT8, pattern COLOR_ATTACHMENT9, pattern COLOR_ATTACHMENT10, pattern COLOR_ATTACHMENT11, pattern COLOR_ATTACHMENT12, pattern COLOR_ATTACHMENT13, pattern COLOR_ATTACHMENT14, pattern COLOR_ATTACHMENT15, pattern FRAMEBUFFER_INCOMPLETE_MULTISAMPLE, pattern MAX_SAMPLES, pattern HALF_FLOAT, pattern RG, pattern RG_INTEGER, pattern R8, pattern RG8, pattern R16F, pattern R32F, pattern RG16F, pattern RG32F, pattern R8I, pattern R8UI, pattern R16I, pattern R16UI, pattern R32I, pattern R32UI, pattern RG8I, pattern RG8UI, pattern RG16I, pattern RG16UI, pattern RG32I, pattern RG32UI, pattern VERTEX_ARRAY_BINDING, pattern R8_SNORM, pattern RG8_SNORM, pattern RGB8_SNORM, pattern RGBA8_SNORM, pattern SIGNED_NORMALIZED, pattern COPY_READ_BUFFER, pattern COPY_WRITE_BUFFER, pattern COPY_READ_BUFFER_BINDING, pattern COPY_WRITE_BUFFER_BINDING, pattern UNIFORM_BUFFER, pattern UNIFORM_BUFFER_BINDING, pattern UNIFORM_BUFFER_START, pattern UNIFORM_BUFFER_SIZE, pattern MAX_VERTEX_UNIFORM_BLOCKS, pattern MAX_FRAGMENT_UNIFORM_BLOCKS, pattern MAX_COMBINED_UNIFORM_BLOCKS, pattern MAX_UNIFORM_BUFFER_BINDINGS, pattern MAX_UNIFORM_BLOCK_SIZE, pattern MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS, pattern MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS, pattern UNIFORM_BUFFER_OFFSET_ALIGNMENT, pattern ACTIVE_UNIFORM_BLOCKS, pattern UNIFORM_TYPE, pattern UNIFORM_SIZE, pattern UNIFORM_BLOCK_INDEX, pattern UNIFORM_OFFSET, pattern UNIFORM_ARRAY_STRIDE, pattern UNIFORM_MATRIX_STRIDE, pattern UNIFORM_IS_ROW_MAJOR, pattern UNIFORM_BLOCK_BINDING, pattern UNIFORM_BLOCK_DATA_SIZE, pattern UNIFORM_BLOCK_ACTIVE_UNIFORMS, pattern UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES, pattern UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER, pattern UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER, pattern INVALID_INDEX, pattern MAX_VERTEX_OUTPUT_COMPONENTS, pattern MAX_FRAGMENT_INPUT_COMPONENTS, pattern MAX_SERVER_WAIT_TIMEOUT, pattern OBJECT_TYPE, pattern SYNC_CONDITION, pattern SYNC_STATUS, pattern SYNC_FLAGS, pattern SYNC_FENCE, pattern SYNC_GPU_COMMANDS_COMPLETE, pattern UNSIGNALED, pattern SIGNALED, pattern ALREADY_SIGNALED, pattern TIMEOUT_EXPIRED, pattern CONDITION_SATISFIED, pattern WAIT_FAILED, pattern SYNC_FLUSH_COMMANDS_BIT, pattern VERTEX_ATTRIB_ARRAY_DIVISOR, pattern ANY_SAMPLES_PASSED, pattern ANY_SAMPLES_PASSED_CONSERVATIVE, pattern SAMPLER_BINDING, pattern RGB10_A2UI, pattern INT_2_10_10_10_REV, pattern TRANSFORM_FEEDBACK, pattern TRANSFORM_FEEDBACK_PAUSED, pattern TRANSFORM_FEEDBACK_ACTIVE, pattern TRANSFORM_FEEDBACK_BINDING, pattern TEXTURE_IMMUTABLE_FORMAT, pattern MAX_ELEMENT_INDEX, pattern TEXTURE_IMMUTABLE_LEVELS, pattern TIMEOUT_IGNORED, pattern MAX_CLIENT_WAIT_TIMEOUT_WEBGL, WebGL2RenderingContextBase(..), gTypeWebGL2RenderingContextBase, IsWebGL2RenderingContextBase, toWebGL2RenderingContextBase)
       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) => { return $1[\"beginQuery\"]($2, $3); })"
        js_beginQuery :: WebGL2RenderingContextBase -> Word -> WebGLQuery -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/beginQuery MDN WebGL2RenderingContextBase.beginQuery documentation>
beginQuery :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Word -> WebGLQuery -> m ()
beginQuery self target query = liftDOM (void ((js_beginQuery ((Types.toWebGL2RenderingContextBase self)) (target) (query))))

foreign import javascript safe "(($1, $2) => { return $1[\"beginTransformFeedback\"]($2); })"
        js_beginTransformFeedback :: WebGL2RenderingContextBase -> Word -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/beginTransformFeedback MDN WebGL2RenderingContextBase.beginTransformFeedback documentation>
beginTransformFeedback :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Word -> m ()
beginTransformFeedback self primitiveMode = liftDOM (void ((js_beginTransformFeedback ((Types.toWebGL2RenderingContextBase self)) (primitiveMode))))

foreign import javascript safe "(($1, $2, $3, $4) => { return $1[\"bindBufferBase\"]($2, $3, $4); })"
        js_bindBufferBase :: WebGL2RenderingContextBase -> Word -> Word -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/bindBufferBase MDN WebGL2RenderingContextBase.bindBufferBase documentation>
bindBufferBase :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Word -> Word -> Maybe WebGLBuffer -> m ()
bindBufferBase self target index buffer = liftDOM (void (((toJSVal buffer) >>= \a4' -> js_bindBufferBase ((Types.toWebGL2RenderingContextBase self)) (target) (index) a4')))

foreign import javascript safe "(($1, $2, $3, $4, $5, $6) => { return $1[\"bindBufferRange\"]($2, $3, $4, $5, $6); })"
        js_bindBufferRange :: WebGL2RenderingContextBase -> Word -> Word -> JSVal -> JSVal -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/bindBufferRange MDN WebGL2RenderingContextBase.bindBufferRange documentation>
bindBufferRange :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Word -> Word -> Maybe WebGLBuffer -> Int53 -> Int53 -> m ()
bindBufferRange self target index buffer offset size = liftDOM (void (((toJSVal buffer) >>= \a4' -> (toJSVal offset) >>= \a5' -> (toJSVal size) >>= \a6' -> js_bindBufferRange ((Types.toWebGL2RenderingContextBase self)) (target) (index) a4' a5' a6')))

foreign import javascript safe "(($1, $2, $3) => { return $1[\"bindSampler\"]($2, $3); })"
        js_bindSampler :: WebGL2RenderingContextBase -> Word -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/bindSampler MDN WebGL2RenderingContextBase.bindSampler documentation>
bindSampler :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Word -> Maybe WebGLSampler -> m ()
bindSampler self unit sampler = liftDOM (void (((toJSVal sampler) >>= \a3' -> js_bindSampler ((Types.toWebGL2RenderingContextBase self)) (unit) a3')))

foreign import javascript safe "(($1, $2, $3) => { return $1[\"bindTransformFeedback\"]($2, $3); })"
        js_bindTransformFeedback :: WebGL2RenderingContextBase -> Word -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/bindTransformFeedback MDN WebGL2RenderingContextBase.bindTransformFeedback documentation>
bindTransformFeedback :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Word -> Maybe WebGLTransformFeedback -> m ()
bindTransformFeedback self target tf = liftDOM (void (((toJSVal tf) >>= \a3' -> js_bindTransformFeedback ((Types.toWebGL2RenderingContextBase self)) (target) a3')))

foreign import javascript safe "(($1, $2) => { return $1[\"bindVertexArray\"]($2); })"
        js_bindVertexArray :: WebGL2RenderingContextBase -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/bindVertexArray MDN WebGL2RenderingContextBase.bindVertexArray documentation>
bindVertexArray :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Maybe WebGLVertexArrayObject -> m ()
bindVertexArray self array = liftDOM (void (((toJSVal array) >>= \a2' -> js_bindVertexArray ((Types.toWebGL2RenderingContextBase self)) a2')))

foreign import javascript safe "(($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) => { return $1[\"blitFramebuffer\"]($2, $3, $4, $5, $6, $7, $8, $9, $10, $11); })"
        js_blitFramebuffer :: WebGL2RenderingContextBase -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Word -> Word -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/blitFramebuffer MDN WebGL2RenderingContextBase.blitFramebuffer documentation>
blitFramebuffer :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Word -> Word -> m ()
blitFramebuffer self srcX0 srcY0 srcX1 srcY1 dstX0 dstY0 dstX1 dstY1 mask filter = liftDOM (void ((js_blitFramebuffer ((Types.toWebGL2RenderingContextBase self)) (srcX0) (srcY0) (srcX1) (srcY1) (dstX0) (dstY0) (dstX1) (dstY1) (mask) (filter))))

foreign import javascript safe "(($1, $2, $3, $4, $5) => { return $1[\"clearBufferfi\"]($2, $3, $4, $5); })"
        js_clearBufferfi :: WebGL2RenderingContextBase -> Word -> Int -> Float -> Int -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/clearBuffer MDN WebGL2RenderingContextBase.clearBufferfi documentation>
clearBufferfi :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Word -> Int -> Float -> Int -> m ()
clearBufferfi self buffer drawbuffer depth stencil = liftDOM (void ((js_clearBufferfi ((Types.toWebGL2RenderingContextBase self)) (buffer) (drawbuffer) (depth) (stencil))))

foreign import javascript safe "(($1, $2, $3, $4) => { return $1[\"clearBufferfv\"]($2, $3, $4); })"
        js_clearBufferfv :: WebGL2RenderingContextBase -> Word -> Int -> Float32List -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/clearBuffer MDN WebGL2RenderingContextBase.clearBufferfv documentation>
clearBufferfv :: (MonadDOM m, IsWebGL2RenderingContextBase self, IsFloat32List values) => self -> Word -> Int -> values -> m ()
clearBufferfv self buffer drawbuffer values = liftDOM (void ((js_clearBufferfv ((Types.toWebGL2RenderingContextBase self)) (buffer) (drawbuffer) (Types.toFloat32List values))))

foreign import javascript safe "(($1, $2, $3, $4, $5) => { return $1[\"clearBufferfv\"]($2, $3, $4, $5); })"
        js_clearBufferfv' :: WebGL2RenderingContextBase -> Word -> Int -> Float32List -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/clearBuffer MDN WebGL2RenderingContextBase.clearBufferfv documentation>
clearBufferfv' :: (MonadDOM m, IsWebGL2RenderingContextBase self, IsFloat32List values) => self -> Word -> Int -> values -> Maybe Word53 -> m ()
clearBufferfv' self buffer drawbuffer values srcOffset = liftDOM (void (((P.maybe (P.return jsUndefined) toJSVal srcOffset) >>= \a5' -> js_clearBufferfv' ((Types.toWebGL2RenderingContextBase self)) (buffer) (drawbuffer) (Types.toFloat32List values) a5')))

foreign import javascript safe "(($1, $2, $3, $4) => { return $1[\"clearBufferiv\"]($2, $3, $4); })"
        js_clearBufferiv :: WebGL2RenderingContextBase -> Word -> Int -> Int32List -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/clearBuffer MDN WebGL2RenderingContextBase.clearBufferiv documentation>
clearBufferiv :: (MonadDOM m, IsWebGL2RenderingContextBase self, IsInt32List values) => self -> Word -> Int -> values -> m ()
clearBufferiv self buffer drawbuffer values = liftDOM (void ((js_clearBufferiv ((Types.toWebGL2RenderingContextBase self)) (buffer) (drawbuffer) (Types.toInt32List values))))

foreign import javascript safe "(($1, $2, $3, $4, $5) => { return $1[\"clearBufferiv\"]($2, $3, $4, $5); })"
        js_clearBufferiv' :: WebGL2RenderingContextBase -> Word -> Int -> Int32List -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/clearBuffer MDN WebGL2RenderingContextBase.clearBufferiv documentation>
clearBufferiv' :: (MonadDOM m, IsWebGL2RenderingContextBase self, IsInt32List values) => self -> Word -> Int -> values -> Maybe Word53 -> m ()
clearBufferiv' self buffer drawbuffer values srcOffset = liftDOM (void (((P.maybe (P.return jsUndefined) toJSVal srcOffset) >>= \a5' -> js_clearBufferiv' ((Types.toWebGL2RenderingContextBase self)) (buffer) (drawbuffer) (Types.toInt32List values) a5')))

foreign import javascript safe "(($1, $2, $3, $4) => { return $1[\"clearBufferuiv\"]($2, $3, $4); })"
        js_clearBufferuiv :: WebGL2RenderingContextBase -> Word -> Int -> Uint32List -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/clearBuffer MDN WebGL2RenderingContextBase.clearBufferuiv documentation>
clearBufferuiv :: (MonadDOM m, IsWebGL2RenderingContextBase self, IsUint32List values) => self -> Word -> Int -> values -> m ()
clearBufferuiv self buffer drawbuffer values = liftDOM (void ((js_clearBufferuiv ((Types.toWebGL2RenderingContextBase self)) (buffer) (drawbuffer) (Types.toUint32List values))))

foreign import javascript safe "(($1, $2, $3, $4, $5) => { return $1[\"clearBufferuiv\"]($2, $3, $4, $5); })"
        js_clearBufferuiv' :: WebGL2RenderingContextBase -> Word -> Int -> Uint32List -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/clearBuffer MDN WebGL2RenderingContextBase.clearBufferuiv documentation>
clearBufferuiv' :: (MonadDOM m, IsWebGL2RenderingContextBase self, IsUint32List values) => self -> Word -> Int -> values -> Maybe Word53 -> m ()
clearBufferuiv' self buffer drawbuffer values srcOffset = liftDOM (void (((P.maybe (P.return jsUndefined) toJSVal srcOffset) >>= \a5' -> js_clearBufferuiv' ((Types.toWebGL2RenderingContextBase self)) (buffer) (drawbuffer) (Types.toUint32List values) a5')))

foreign import javascript safe "(($1, $2, $3, $4) => { return $1[\"clientWaitSync\"]($2, $3, $4); })"
        js_clientWaitSync :: WebGL2RenderingContextBase -> WebGLSync -> Word -> JSVal -> IO Word
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/clientWaitSync MDN WebGL2RenderingContextBase.clientWaitSync documentation>
clientWaitSync :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> WebGLSync -> Word -> Word53 -> m Word
clientWaitSync self sync flags timeout = liftDOM (((toJSVal timeout) >>= \a4' -> js_clientWaitSync ((Types.toWebGL2RenderingContextBase self)) (sync) (flags) a4'))

-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/clientWaitSync MDN WebGL2RenderingContextBase.clientWaitSync documentation>
clientWaitSync_ :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> WebGLSync -> Word -> Word53 -> m ()
clientWaitSync_ self sync flags timeout = liftDOM (void (((toJSVal timeout) >>= \a4' -> js_clientWaitSync ((Types.toWebGL2RenderingContextBase self)) (sync) (flags) a4')))

foreign import javascript safe "(($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) => { return $1[\"compressedTexImage3D\"]($2, $3, $4, $5, $6, $7, $8, $9, $10); })"
        js_compressedTexImage3D :: WebGL2RenderingContextBase -> Word -> Int -> Word -> Int -> Int -> Int -> Int -> Int -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/compressedTexImage3D MDN WebGL2RenderingContextBase.compressedTexImage3D documentation>
compressedTexImage3D :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Word -> Int -> Word -> Int -> Int -> Int -> Int -> Int -> Int53 -> m ()
compressedTexImage3D self target level internalformat width height depth border imageSize offset = liftDOM (void (((toJSVal offset) >>= \a10' -> js_compressedTexImage3D ((Types.toWebGL2RenderingContextBase self)) (target) (level) (internalformat) (width) (height) (depth) (border) (imageSize) a10')))

foreign import javascript safe "(($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) => { return $1[\"compressedTexImage3D\"]($2, $3, $4, $5, $6, $7, $8, $9, $10, $11); })"
        js_compressedTexImage3DSrcDataSrcOffsetSrcLengthOverride :: WebGL2RenderingContextBase -> Word -> Int -> Word -> Int -> Int -> Int -> Int -> ArrayBufferView -> JSVal -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/compressedTexImage3D MDN WebGL2RenderingContextBase.compressedTexImage3D documentation>
compressedTexImage3DSrcDataSrcOffsetSrcLengthOverride :: (MonadDOM m, IsWebGL2RenderingContextBase self, IsArrayBufferView srcData) => self -> Word -> Int -> Word -> Int -> Int -> Int -> Int -> srcData -> Maybe Word53 -> Maybe Word -> m ()
compressedTexImage3DSrcDataSrcOffsetSrcLengthOverride self target level internalformat width height depth border srcData srcOffset srcLengthOverride = liftDOM (void (((P.maybe (P.return jsUndefined) toJSVal srcOffset) >>= \a10' -> (P.maybe (P.return jsUndefined) toJSVal srcLengthOverride) >>= \a11' -> js_compressedTexImage3DSrcDataSrcOffsetSrcLengthOverride ((Types.toWebGL2RenderingContextBase self)) (target) (level) (internalformat) (width) (height) (depth) (border) (Types.toArrayBufferView srcData) a10' a11')))

foreign import javascript safe "(($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12) => { return $1[\"compressedTexSubImage3D\"]($2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12); })"
        js_compressedTexSubImage3D :: WebGL2RenderingContextBase -> Word -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Word -> Int -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/compressedTexSubImage3D MDN WebGL2RenderingContextBase.compressedTexSubImage3D documentation>
compressedTexSubImage3D :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Word -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Word -> Int -> Int53 -> m ()
compressedTexSubImage3D self target level xoffset yoffset zoffset width height depth format imageSize offset = liftDOM (void (((toJSVal offset) >>= \a12' -> js_compressedTexSubImage3D ((Types.toWebGL2RenderingContextBase self)) (target) (level) (xoffset) (yoffset) (zoffset) (width) (height) (depth) (format) (imageSize) a12')))

foreign import javascript safe "(($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13) => { return $1[\"compressedTexSubImage3D\"]($2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13); })"
        js_compressedTexSubImage3DSrcDataSrcOffsetSrcLengthOverride :: WebGL2RenderingContextBase -> Word -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Word -> ArrayBufferView -> JSVal -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/compressedTexSubImage3D MDN WebGL2RenderingContextBase.compressedTexSubImage3D documentation>
compressedTexSubImage3DSrcDataSrcOffsetSrcLengthOverride :: (MonadDOM m, IsWebGL2RenderingContextBase self, IsArrayBufferView srcData) => self -> Word -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Word -> srcData -> Maybe Word53 -> Maybe Word -> m ()
compressedTexSubImage3DSrcDataSrcOffsetSrcLengthOverride self target level xoffset yoffset zoffset width height depth format srcData srcOffset srcLengthOverride = liftDOM (void (((P.maybe (P.return jsUndefined) toJSVal srcOffset) >>= \a12' -> (P.maybe (P.return jsUndefined) toJSVal srcLengthOverride) >>= \a13' -> js_compressedTexSubImage3DSrcDataSrcOffsetSrcLengthOverride ((Types.toWebGL2RenderingContextBase self)) (target) (level) (xoffset) (yoffset) (zoffset) (width) (height) (depth) (format) (Types.toArrayBufferView srcData) a12' a13')))

foreign import javascript safe "(($1, $2, $3, $4, $5, $6) => { return $1[\"copyBufferSubData\"]($2, $3, $4, $5, $6); })"
        js_copyBufferSubData :: WebGL2RenderingContextBase -> Word -> Word -> JSVal -> JSVal -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/copyBufferSubData MDN WebGL2RenderingContextBase.copyBufferSubData documentation>
copyBufferSubData :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Word -> Word -> Int53 -> Int53 -> Int53 -> m ()
copyBufferSubData self readTarget writeTarget readOffset writeOffset size = liftDOM (void (((toJSVal readOffset) >>= \a4' -> (toJSVal writeOffset) >>= \a5' -> (toJSVal size) >>= \a6' -> js_copyBufferSubData ((Types.toWebGL2RenderingContextBase self)) (readTarget) (writeTarget) a4' a5' a6')))

foreign import javascript safe "(($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) => { return $1[\"copyTexSubImage3D\"]($2, $3, $4, $5, $6, $7, $8, $9, $10); })"
        js_copyTexSubImage3D :: WebGL2RenderingContextBase -> Word -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/copyTexSubImage3D MDN WebGL2RenderingContextBase.copyTexSubImage3D documentation>
copyTexSubImage3D :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Word -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> m ()
copyTexSubImage3D self target level xoffset yoffset zoffset x y width height = liftDOM (void ((js_copyTexSubImage3D ((Types.toWebGL2RenderingContextBase self)) (target) (level) (xoffset) (yoffset) (zoffset) (x) (y) (width) (height))))

foreign import javascript safe "(($1) => { return $1[\"createQuery\"](); })"
        js_createQuery :: WebGL2RenderingContextBase -> IO WebGLQuery
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/createQuery MDN WebGL2RenderingContextBase.createQuery documentation>
createQuery :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> m WebGLQuery
createQuery self = liftDOM ((js_createQuery ((Types.toWebGL2RenderingContextBase self))))

-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/createQuery MDN WebGL2RenderingContextBase.createQuery documentation>
createQuery_ :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> m ()
createQuery_ self = liftDOM (void ((js_createQuery ((Types.toWebGL2RenderingContextBase self)))))

foreign import javascript safe "(($1) => { return $1[\"createSampler\"](); })"
        js_createSampler :: WebGL2RenderingContextBase -> IO WebGLSampler
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/createSampler MDN WebGL2RenderingContextBase.createSampler documentation>
createSampler :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> m WebGLSampler
createSampler self = liftDOM ((js_createSampler ((Types.toWebGL2RenderingContextBase self))))

-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/createSampler MDN WebGL2RenderingContextBase.createSampler documentation>
createSampler_ :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> m ()
createSampler_ self = liftDOM (void ((js_createSampler ((Types.toWebGL2RenderingContextBase self)))))

foreign import javascript safe "(($1) => { return $1[\"createTransformFeedback\"](); })"
        js_createTransformFeedback :: WebGL2RenderingContextBase -> IO WebGLTransformFeedback
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/createTransformFeedback MDN WebGL2RenderingContextBase.createTransformFeedback documentation>
createTransformFeedback :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> m WebGLTransformFeedback
createTransformFeedback self = liftDOM ((js_createTransformFeedback ((Types.toWebGL2RenderingContextBase self))))

-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/createTransformFeedback MDN WebGL2RenderingContextBase.createTransformFeedback documentation>
createTransformFeedback_ :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> m ()
createTransformFeedback_ self = liftDOM (void ((js_createTransformFeedback ((Types.toWebGL2RenderingContextBase self)))))

foreign import javascript safe "(($1) => { return $1[\"createVertexArray\"](); })"
        js_createVertexArray :: WebGL2RenderingContextBase -> IO WebGLVertexArrayObject
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/createVertexArray MDN WebGL2RenderingContextBase.createVertexArray documentation>
createVertexArray :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> m WebGLVertexArrayObject
createVertexArray self = liftDOM ((js_createVertexArray ((Types.toWebGL2RenderingContextBase self))))

-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/createVertexArray MDN WebGL2RenderingContextBase.createVertexArray documentation>
createVertexArray_ :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> m ()
createVertexArray_ self = liftDOM (void ((js_createVertexArray ((Types.toWebGL2RenderingContextBase self)))))

foreign import javascript safe "(($1, $2) => { return $1[\"deleteQuery\"]($2); })"
        js_deleteQuery :: WebGL2RenderingContextBase -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/deleteQuery MDN WebGL2RenderingContextBase.deleteQuery documentation>
deleteQuery :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Maybe WebGLQuery -> m ()
deleteQuery self query = liftDOM (void (((toJSVal query) >>= \a2' -> js_deleteQuery ((Types.toWebGL2RenderingContextBase self)) a2')))

foreign import javascript safe "(($1, $2) => { return $1[\"deleteSampler\"]($2); })"
        js_deleteSampler :: WebGL2RenderingContextBase -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/deleteSampler MDN WebGL2RenderingContextBase.deleteSampler documentation>
deleteSampler :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Maybe WebGLSampler -> m ()
deleteSampler self sampler = liftDOM (void (((toJSVal sampler) >>= \a2' -> js_deleteSampler ((Types.toWebGL2RenderingContextBase self)) a2')))

foreign import javascript safe "(($1, $2) => { return $1[\"deleteSync\"]($2); })"
        js_deleteSync :: WebGL2RenderingContextBase -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/deleteSync MDN WebGL2RenderingContextBase.deleteSync documentation>
deleteSync :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Maybe WebGLSync -> m ()
deleteSync self sync = liftDOM (void (((toJSVal sync) >>= \a2' -> js_deleteSync ((Types.toWebGL2RenderingContextBase self)) a2')))

foreign import javascript safe "(($1, $2) => { return $1[\"deleteTransformFeedback\"]($2); })"
        js_deleteTransformFeedback :: WebGL2RenderingContextBase -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/deleteTransformFeedback MDN WebGL2RenderingContextBase.deleteTransformFeedback documentation>
deleteTransformFeedback :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Maybe WebGLTransformFeedback -> m ()
deleteTransformFeedback self tf = liftDOM (void (((toJSVal tf) >>= \a2' -> js_deleteTransformFeedback ((Types.toWebGL2RenderingContextBase self)) a2')))

foreign import javascript safe "(($1, $2) => { return $1[\"deleteVertexArray\"]($2); })"
        js_deleteVertexArray :: WebGL2RenderingContextBase -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/deleteVertexArray MDN WebGL2RenderingContextBase.deleteVertexArray documentation>
deleteVertexArray :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Maybe WebGLVertexArrayObject -> m ()
deleteVertexArray self vertexArray = liftDOM (void (((toJSVal vertexArray) >>= \a2' -> js_deleteVertexArray ((Types.toWebGL2RenderingContextBase self)) a2')))

foreign import javascript safe "(($1, $2, $3, $4, $5) => { return $1[\"drawArraysInstanced\"]($2, $3, $4, $5); })"
        js_drawArraysInstanced :: WebGL2RenderingContextBase -> Word -> Int -> Int -> Int -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/drawArraysInstanced MDN WebGL2RenderingContextBase.drawArraysInstanced documentation>
drawArraysInstanced :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Word -> Int -> Int -> Int -> m ()
drawArraysInstanced self mode first count instanceCount = liftDOM (void ((js_drawArraysInstanced ((Types.toWebGL2RenderingContextBase self)) (mode) (first) (count) (instanceCount))))

foreign import javascript safe "(($1, $2) => { return $1[\"drawBuffers\"]($2); })"
        js_drawBuffers :: WebGL2RenderingContextBase -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/drawBuffers MDN WebGL2RenderingContextBase.drawBuffers documentation>
drawBuffers :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> [Word] -> m ()
drawBuffers self buffers = liftDOM (void (((toJSVal buffers) >>= \a2' -> js_drawBuffers ((Types.toWebGL2RenderingContextBase self)) a2')))

foreign import javascript safe "(($1, $2, $3, $4, $5, $6) => { return $1[\"drawElementsInstanced\"]($2, $3, $4, $5, $6); })"
        js_drawElementsInstanced :: WebGL2RenderingContextBase -> Word -> Int -> Word -> JSVal -> Int -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/drawElementsInstanced MDN WebGL2RenderingContextBase.drawElementsInstanced documentation>
drawElementsInstanced :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Word -> Int -> Word -> Int53 -> Int -> m ()
drawElementsInstanced self mode count type' offset instanceCount = liftDOM (void (((toJSVal offset) >>= \a5' -> js_drawElementsInstanced ((Types.toWebGL2RenderingContextBase self)) (mode) (count) (type') a5' (instanceCount))))

foreign import javascript safe "(($1, $2, $3, $4, $5, $6, $7) => { return $1[\"drawRangeElements\"]($2, $3, $4, $5, $6, $7); })"
        js_drawRangeElements :: WebGL2RenderingContextBase -> Word -> Word -> Word -> Int -> Word -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/drawRangeElements MDN WebGL2RenderingContextBase.drawRangeElements documentation>
drawRangeElements :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Word -> Word -> Word -> Int -> Word -> Int53 -> m ()
drawRangeElements self mode start end count type' offset = liftDOM (void (((toJSVal offset) >>= \a7' -> js_drawRangeElements ((Types.toWebGL2RenderingContextBase self)) (mode) (start) (end) (count) (type') a7')))

foreign import javascript safe "(($1, $2) => { return $1[\"endQuery\"]($2); })"
        js_endQuery :: WebGL2RenderingContextBase -> Word -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/endQuery MDN WebGL2RenderingContextBase.endQuery documentation>
endQuery :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Word -> m ()
endQuery self target = liftDOM (void ((js_endQuery ((Types.toWebGL2RenderingContextBase self)) (target))))

foreign import javascript safe "(($1) => { return $1[\"endTransformFeedback\"](); })"
        js_endTransformFeedback :: WebGL2RenderingContextBase -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/endTransformFeedback MDN WebGL2RenderingContextBase.endTransformFeedback documentation>
endTransformFeedback :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> m ()
endTransformFeedback self = liftDOM (void ((js_endTransformFeedback ((Types.toWebGL2RenderingContextBase self)))))

foreign import javascript safe "(($1, $2, $3) => { return $1[\"fenceSync\"]($2, $3); })"
        js_fenceSync :: WebGL2RenderingContextBase -> Word -> Word -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/fenceSync MDN WebGL2RenderingContextBase.fenceSync documentation>
fenceSync :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Word -> Word -> m (Maybe WebGLSync)
fenceSync self condition flags = liftDOM (((js_fenceSync ((Types.toWebGL2RenderingContextBase self)) (condition) (flags)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/fenceSync MDN WebGL2RenderingContextBase.fenceSync documentation>
fenceSync_ :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Word -> Word -> m ()
fenceSync_ self condition flags = liftDOM (void ((js_fenceSync ((Types.toWebGL2RenderingContextBase self)) (condition) (flags))))

-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/fenceSync MDN WebGL2RenderingContextBase.fenceSync documentation>
fenceSyncUnsafe :: (MonadDOM m, IsWebGL2RenderingContextBase self, HasCallStack) => self -> Word -> Word -> m WebGLSync
fenceSyncUnsafe self condition flags = liftDOM ((((js_fenceSync ((Types.toWebGL2RenderingContextBase self)) (condition) (flags)) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/fenceSync MDN WebGL2RenderingContextBase.fenceSync documentation>
fenceSyncUnchecked :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Word -> Word -> m WebGLSync
fenceSyncUnchecked self condition flags = liftDOM ((pFromJSVal <$> (js_fenceSync ((Types.toWebGL2RenderingContextBase self)) (condition) (flags))))

foreign import javascript safe "(($1, $2, $3, $4, $5, $6) => { return $1[\"framebufferTextureLayer\"]($2, $3, $4, $5, $6); })"
        js_framebufferTextureLayer :: WebGL2RenderingContextBase -> Word -> Word -> JSVal -> Int -> Int -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/framebufferTextureLayer MDN WebGL2RenderingContextBase.framebufferTextureLayer documentation>
framebufferTextureLayer :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Word -> Word -> Maybe WebGLTexture -> Int -> Int -> m ()
framebufferTextureLayer self target attachment texture level layer = liftDOM (void (((toJSVal texture) >>= \a4' -> js_framebufferTextureLayer ((Types.toWebGL2RenderingContextBase self)) (target) (attachment) a4' (level) (layer))))

foreign import javascript safe "(($1, $2, $3) => { return $1[\"getActiveUniformBlockName\"]($2, $3); })"
        js_getActiveUniformBlockName :: WebGL2RenderingContextBase -> WebGLProgram -> Word -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getActiveUniformBlockName MDN WebGL2RenderingContextBase.getActiveUniformBlockName documentation>
getActiveUniformBlockName :: (MonadDOM m, IsWebGL2RenderingContextBase self, FromJSString result) => self -> WebGLProgram -> Word -> m (Maybe result)
getActiveUniformBlockName self program uniformBlockIndex = liftDOM (((fromMaybeJSString . Nullable) <$> (js_getActiveUniformBlockName ((Types.toWebGL2RenderingContextBase self)) (program) (uniformBlockIndex))))

-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getActiveUniformBlockName MDN WebGL2RenderingContextBase.getActiveUniformBlockName documentation>
getActiveUniformBlockName_ :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> WebGLProgram -> Word -> m ()
getActiveUniformBlockName_ self program uniformBlockIndex = liftDOM (void ((js_getActiveUniformBlockName ((Types.toWebGL2RenderingContextBase self)) (program) (uniformBlockIndex))))

-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getActiveUniformBlockName MDN WebGL2RenderingContextBase.getActiveUniformBlockName documentation>
getActiveUniformBlockNameUnsafe :: (MonadDOM m, IsWebGL2RenderingContextBase self, HasCallStack, FromJSString result) => self -> WebGLProgram -> Word -> m result
getActiveUniformBlockNameUnsafe self program uniformBlockIndex = liftDOM ((((fromMaybeJSString . Nullable) <$> (js_getActiveUniformBlockName ((Types.toWebGL2RenderingContextBase self)) (program) (uniformBlockIndex))) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getActiveUniformBlockName MDN WebGL2RenderingContextBase.getActiveUniformBlockName documentation>
getActiveUniformBlockNameUnchecked :: (MonadDOM m, IsWebGL2RenderingContextBase self, FromJSString result) => self -> WebGLProgram -> Word -> m result
getActiveUniformBlockNameUnchecked self program uniformBlockIndex = liftDOM ((pFromJSVal <$> (js_getActiveUniformBlockName ((Types.toWebGL2RenderingContextBase self)) (program) (uniformBlockIndex))))

foreign import javascript safe "(($1, $2, $3, $4) => { return $1[\"getActiveUniformBlockParameter\"]($2, $3, $4); })"
        js_getActiveUniformBlockParameter :: WebGL2RenderingContextBase -> WebGLProgram -> Word -> Word -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getActiveUniformBlockParameter MDN WebGL2RenderingContextBase.getActiveUniformBlockParameter documentation>
getActiveUniformBlockParameter :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> WebGLProgram -> Word -> Word -> m JSVal
getActiveUniformBlockParameter self program uniformBlockIndex pname = liftDOM ((js_getActiveUniformBlockParameter ((Types.toWebGL2RenderingContextBase self)) (program) (uniformBlockIndex) (pname)))

-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getActiveUniformBlockParameter MDN WebGL2RenderingContextBase.getActiveUniformBlockParameter documentation>
getActiveUniformBlockParameter_ :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> WebGLProgram -> Word -> Word -> m ()
getActiveUniformBlockParameter_ self program uniformBlockIndex pname = liftDOM (void ((js_getActiveUniformBlockParameter ((Types.toWebGL2RenderingContextBase self)) (program) (uniformBlockIndex) (pname))))

foreign import javascript safe "(($1, $2, $3, $4) => { return $1[\"getActiveUniforms\"]($2, $3, $4); })"
        js_getActiveUniforms :: WebGL2RenderingContextBase -> WebGLProgram -> JSVal -> Word -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getActiveUniforms MDN WebGL2RenderingContextBase.getActiveUniforms documentation>
getActiveUniforms :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> WebGLProgram -> [Word] -> Word -> m JSVal
getActiveUniforms self program uniformIndices pname = liftDOM (((toJSVal uniformIndices) >>= \a3' -> js_getActiveUniforms ((Types.toWebGL2RenderingContextBase self)) (program) a3' (pname)))

-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getActiveUniforms MDN WebGL2RenderingContextBase.getActiveUniforms documentation>
getActiveUniforms_ :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> WebGLProgram -> [Word] -> Word -> m ()
getActiveUniforms_ self program uniformIndices pname = liftDOM (void (((toJSVal uniformIndices) >>= \a3' -> js_getActiveUniforms ((Types.toWebGL2RenderingContextBase self)) (program) a3' (pname))))

foreign import javascript safe "(($1, $2, $3, $4, $5, $6) => { return $1[\"getBufferSubData\"]($2, $3, $4, $5, $6); })"
        js_getBufferSubData :: WebGL2RenderingContextBase -> Word -> JSVal -> ArrayBufferView -> JSVal -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getBufferSubData MDN WebGL2RenderingContextBase.getBufferSubData documentation>
getBufferSubData :: (MonadDOM m, IsWebGL2RenderingContextBase self, IsArrayBufferView dstBuffer) => self -> Word -> Int53 -> dstBuffer -> Maybe Word53 -> Maybe Word -> m ()
getBufferSubData self target srcByteOffset dstBuffer dstOffset length = liftDOM (void (((toJSVal srcByteOffset) >>= \a3' -> (P.maybe (P.return jsUndefined) toJSVal dstOffset) >>= \a5' -> (P.maybe (P.return jsUndefined) toJSVal length) >>= \a6' -> js_getBufferSubData ((Types.toWebGL2RenderingContextBase self)) (target) a3' (Types.toArrayBufferView dstBuffer) a5' a6')))

foreign import javascript safe "(($1, $2, $3) => { return $1[\"getFragDataLocation\"]($2, $3); })"
        js_getFragDataLocation :: WebGL2RenderingContextBase -> WebGLProgram -> JSString -> IO Int
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getFragDataLocation MDN WebGL2RenderingContextBase.getFragDataLocation documentation>
getFragDataLocation :: (MonadDOM m, IsWebGL2RenderingContextBase self, ToJSString name) => self -> WebGLProgram -> name -> m Int
getFragDataLocation self program name = liftDOM ((js_getFragDataLocation ((Types.toWebGL2RenderingContextBase self)) (program) (toJSString name)))

-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getFragDataLocation MDN WebGL2RenderingContextBase.getFragDataLocation documentation>
getFragDataLocation_ :: (MonadDOM m, IsWebGL2RenderingContextBase self, ToJSString name) => self -> WebGLProgram -> name -> m ()
getFragDataLocation_ self program name = liftDOM (void ((js_getFragDataLocation ((Types.toWebGL2RenderingContextBase self)) (program) (toJSString name))))

foreign import javascript safe "(($1, $2, $3) => { return $1[\"getIndexedParameter\"]($2, $3); })"
        js_getIndexedParameter :: WebGL2RenderingContextBase -> Word -> Word -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getIndexedParameter MDN WebGL2RenderingContextBase.getIndexedParameter documentation>
getIndexedParameter :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Word -> Word -> m JSVal
getIndexedParameter self target index = liftDOM ((js_getIndexedParameter ((Types.toWebGL2RenderingContextBase self)) (target) (index)))

-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getIndexedParameter MDN WebGL2RenderingContextBase.getIndexedParameter documentation>
getIndexedParameter_ :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Word -> Word -> m ()
getIndexedParameter_ self target index = liftDOM (void ((js_getIndexedParameter ((Types.toWebGL2RenderingContextBase self)) (target) (index))))

foreign import javascript safe "(($1, $2, $3, $4) => { return $1[\"getInternalformatParameter\"]($2, $3, $4); })"
        js_getInternalformatParameter :: WebGL2RenderingContextBase -> Word -> Word -> Word -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getInternalformatParameter MDN WebGL2RenderingContextBase.getInternalformatParameter documentation>
getInternalformatParameter :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Word -> Word -> Word -> m JSVal
getInternalformatParameter self target internalformat pname = liftDOM ((js_getInternalformatParameter ((Types.toWebGL2RenderingContextBase self)) (target) (internalformat) (pname)))

-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getInternalformatParameter MDN WebGL2RenderingContextBase.getInternalformatParameter documentation>
getInternalformatParameter_ :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Word -> Word -> Word -> m ()
getInternalformatParameter_ self target internalformat pname = liftDOM (void ((js_getInternalformatParameter ((Types.toWebGL2RenderingContextBase self)) (target) (internalformat) (pname))))

foreign import javascript safe "(($1, $2, $3) => { return $1[\"getQuery\"]($2, $3); })"
        js_getQuery :: WebGL2RenderingContextBase -> Word -> Word -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getQuery MDN WebGL2RenderingContextBase.getQuery documentation>
getQuery :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Word -> Word -> m (Maybe WebGLQuery)
getQuery self target pname = liftDOM (((js_getQuery ((Types.toWebGL2RenderingContextBase self)) (target) (pname)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getQuery MDN WebGL2RenderingContextBase.getQuery documentation>
getQuery_ :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Word -> Word -> m ()
getQuery_ self target pname = liftDOM (void ((js_getQuery ((Types.toWebGL2RenderingContextBase self)) (target) (pname))))

-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getQuery MDN WebGL2RenderingContextBase.getQuery documentation>
getQueryUnsafe :: (MonadDOM m, IsWebGL2RenderingContextBase self, HasCallStack) => self -> Word -> Word -> m WebGLQuery
getQueryUnsafe self target pname = liftDOM ((((js_getQuery ((Types.toWebGL2RenderingContextBase self)) (target) (pname)) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getQuery MDN WebGL2RenderingContextBase.getQuery documentation>
getQueryUnchecked :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Word -> Word -> m WebGLQuery
getQueryUnchecked self target pname = liftDOM ((pFromJSVal <$> (js_getQuery ((Types.toWebGL2RenderingContextBase self)) (target) (pname))))

foreign import javascript safe "(($1, $2, $3) => { return $1[\"getQueryParameter\"]($2, $3); })"
        js_getQueryParameter :: WebGL2RenderingContextBase -> WebGLQuery -> Word -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getQueryParameter MDN WebGL2RenderingContextBase.getQueryParameter documentation>
getQueryParameter :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> WebGLQuery -> Word -> m JSVal
getQueryParameter self query pname = liftDOM ((js_getQueryParameter ((Types.toWebGL2RenderingContextBase self)) (query) (pname)))

-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getQueryParameter MDN WebGL2RenderingContextBase.getQueryParameter documentation>
getQueryParameter_ :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> WebGLQuery -> Word -> m ()
getQueryParameter_ self query pname = liftDOM (void ((js_getQueryParameter ((Types.toWebGL2RenderingContextBase self)) (query) (pname))))

foreign import javascript safe "(($1, $2, $3) => { return $1[\"getSamplerParameter\"]($2, $3); })"
        js_getSamplerParameter :: WebGL2RenderingContextBase -> WebGLSampler -> Word -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getSamplerParameter MDN WebGL2RenderingContextBase.getSamplerParameter documentation>
getSamplerParameter :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> WebGLSampler -> Word -> m JSVal
getSamplerParameter self sampler pname = liftDOM ((js_getSamplerParameter ((Types.toWebGL2RenderingContextBase self)) (sampler) (pname)))

-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getSamplerParameter MDN WebGL2RenderingContextBase.getSamplerParameter documentation>
getSamplerParameter_ :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> WebGLSampler -> Word -> m ()
getSamplerParameter_ self sampler pname = liftDOM (void ((js_getSamplerParameter ((Types.toWebGL2RenderingContextBase self)) (sampler) (pname))))

foreign import javascript safe "(($1, $2, $3) => { return $1[\"getSyncParameter\"]($2, $3); })"
        js_getSyncParameter :: WebGL2RenderingContextBase -> WebGLSync -> Word -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getSyncParameter MDN WebGL2RenderingContextBase.getSyncParameter documentation>
getSyncParameter :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> WebGLSync -> Word -> m JSVal
getSyncParameter self sync pname = liftDOM ((js_getSyncParameter ((Types.toWebGL2RenderingContextBase self)) (sync) (pname)))

-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getSyncParameter MDN WebGL2RenderingContextBase.getSyncParameter documentation>
getSyncParameter_ :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> WebGLSync -> Word -> m ()
getSyncParameter_ self sync pname = liftDOM (void ((js_getSyncParameter ((Types.toWebGL2RenderingContextBase self)) (sync) (pname))))

foreign import javascript safe "(($1, $2, $3) => { return $1[\"getTransformFeedbackVarying\"]($2, $3); })"
        js_getTransformFeedbackVarying :: WebGL2RenderingContextBase -> WebGLProgram -> Word -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getTransformFeedbackVarying MDN WebGL2RenderingContextBase.getTransformFeedbackVarying documentation>
getTransformFeedbackVarying :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> WebGLProgram -> Word -> m (Maybe WebGLActiveInfo)
getTransformFeedbackVarying self program index = liftDOM (((js_getTransformFeedbackVarying ((Types.toWebGL2RenderingContextBase self)) (program) (index)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getTransformFeedbackVarying MDN WebGL2RenderingContextBase.getTransformFeedbackVarying documentation>
getTransformFeedbackVarying_ :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> WebGLProgram -> Word -> m ()
getTransformFeedbackVarying_ self program index = liftDOM (void ((js_getTransformFeedbackVarying ((Types.toWebGL2RenderingContextBase self)) (program) (index))))

-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getTransformFeedbackVarying MDN WebGL2RenderingContextBase.getTransformFeedbackVarying documentation>
getTransformFeedbackVaryingUnsafe :: (MonadDOM m, IsWebGL2RenderingContextBase self, HasCallStack) => self -> WebGLProgram -> Word -> m WebGLActiveInfo
getTransformFeedbackVaryingUnsafe self program index = liftDOM ((((js_getTransformFeedbackVarying ((Types.toWebGL2RenderingContextBase self)) (program) (index)) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getTransformFeedbackVarying MDN WebGL2RenderingContextBase.getTransformFeedbackVarying documentation>
getTransformFeedbackVaryingUnchecked :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> WebGLProgram -> Word -> m WebGLActiveInfo
getTransformFeedbackVaryingUnchecked self program index = liftDOM ((pFromJSVal <$> (js_getTransformFeedbackVarying ((Types.toWebGL2RenderingContextBase self)) (program) (index))))

foreign import javascript safe "(($1, $2, $3) => { return $1[\"getUniformBlockIndex\"]($2, $3); })"
        js_getUniformBlockIndex :: WebGL2RenderingContextBase -> WebGLProgram -> JSString -> IO Word
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getUniformBlockIndex MDN WebGL2RenderingContextBase.getUniformBlockIndex documentation>
getUniformBlockIndex :: (MonadDOM m, IsWebGL2RenderingContextBase self, ToJSString uniformBlockName) => self -> WebGLProgram -> uniformBlockName -> m Word
getUniformBlockIndex self program uniformBlockName = liftDOM ((js_getUniformBlockIndex ((Types.toWebGL2RenderingContextBase self)) (program) (toJSString uniformBlockName)))

-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getUniformBlockIndex MDN WebGL2RenderingContextBase.getUniformBlockIndex documentation>
getUniformBlockIndex_ :: (MonadDOM m, IsWebGL2RenderingContextBase self, ToJSString uniformBlockName) => self -> WebGLProgram -> uniformBlockName -> m ()
getUniformBlockIndex_ self program uniformBlockName = liftDOM (void ((js_getUniformBlockIndex ((Types.toWebGL2RenderingContextBase self)) (program) (toJSString uniformBlockName))))

foreign import javascript safe "(($1, $2, $3) => { return $1[\"getUniformIndices\"]($2, $3); })"
        js_getUniformIndices :: WebGL2RenderingContextBase -> WebGLProgram -> JSVal -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getUniformIndices MDN WebGL2RenderingContextBase.getUniformIndices documentation>
getUniformIndices :: (MonadDOM m, IsWebGL2RenderingContextBase self, ToJSString uniformNames) => self -> WebGLProgram -> [uniformNames] -> m (Maybe [Word])
getUniformIndices self program uniformNames = liftDOM ((((toJSVal uniformNames) >>= \a3' -> js_getUniformIndices ((Types.toWebGL2RenderingContextBase self)) (program) a3') >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getUniformIndices MDN WebGL2RenderingContextBase.getUniformIndices documentation>
getUniformIndices_ :: (MonadDOM m, IsWebGL2RenderingContextBase self, ToJSString uniformNames) => self -> WebGLProgram -> [uniformNames] -> m ()
getUniformIndices_ self program uniformNames = liftDOM (void (((toJSVal uniformNames) >>= \a3' -> js_getUniformIndices ((Types.toWebGL2RenderingContextBase self)) (program) a3')))

-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getUniformIndices MDN WebGL2RenderingContextBase.getUniformIndices documentation>
getUniformIndicesUnsafe :: (MonadDOM m, IsWebGL2RenderingContextBase self, ToJSString uniformNames, HasCallStack) => self -> WebGLProgram -> [uniformNames] -> m [Word]
getUniformIndicesUnsafe self program uniformNames = liftDOM (((((toJSVal uniformNames) >>= \a3' -> js_getUniformIndices ((Types.toWebGL2RenderingContextBase self)) (program) a3') >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getUniformIndices MDN WebGL2RenderingContextBase.getUniformIndices documentation>
getUniformIndicesUnchecked :: (MonadDOM m, IsWebGL2RenderingContextBase self, ToJSString uniformNames) => self -> WebGLProgram -> [uniformNames] -> m [Word]
getUniformIndicesUnchecked self program uniformNames = liftDOM ((((toJSVal uniformNames) >>= \a3' -> js_getUniformIndices ((Types.toWebGL2RenderingContextBase self)) (program) a3') >>= fromJSValUnchecked))

foreign import javascript safe "(($1, $2, $3) => { return $1[\"invalidateFramebuffer\"]($2, $3); })"
        js_invalidateFramebuffer :: WebGL2RenderingContextBase -> Word -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/invalidateFramebuffer MDN WebGL2RenderingContextBase.invalidateFramebuffer documentation>
invalidateFramebuffer :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Word -> [Word] -> m ()
invalidateFramebuffer self target attachments = liftDOM (void (((toJSVal attachments) >>= \a3' -> js_invalidateFramebuffer ((Types.toWebGL2RenderingContextBase self)) (target) a3')))

foreign import javascript safe "(($1, $2, $3, $4, $5, $6, $7) => { return $1[\"invalidateSubFramebuffer\"]($2, $3, $4, $5, $6, $7); })"
        js_invalidateSubFramebuffer :: WebGL2RenderingContextBase -> Word -> JSVal -> Int -> Int -> Int -> Int -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/invalidateSubFramebuffer MDN WebGL2RenderingContextBase.invalidateSubFramebuffer documentation>
invalidateSubFramebuffer :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Word -> [Word] -> Int -> Int -> Int -> Int -> m ()
invalidateSubFramebuffer self target attachments x y width height = liftDOM (void (((toJSVal attachments) >>= \a3' -> js_invalidateSubFramebuffer ((Types.toWebGL2RenderingContextBase self)) (target) a3' (x) (y) (width) (height))))

foreign import javascript safe "(($1, $2) => { return $1[\"isQuery\"]($2); })"
        js_isQuery :: WebGL2RenderingContextBase -> JSVal -> IO Bool
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/isQuery MDN WebGL2RenderingContextBase.isQuery documentation>
isQuery :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Maybe WebGLQuery -> m Bool
isQuery self query = liftDOM (((toJSVal query) >>= \a2' -> js_isQuery ((Types.toWebGL2RenderingContextBase self)) a2'))

-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/isQuery MDN WebGL2RenderingContextBase.isQuery documentation>
isQuery_ :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Maybe WebGLQuery -> m ()
isQuery_ self query = liftDOM (void (((toJSVal query) >>= \a2' -> js_isQuery ((Types.toWebGL2RenderingContextBase self)) a2')))

foreign import javascript safe "(($1, $2) => { return $1[\"isSampler\"]($2); })"
        js_isSampler :: WebGL2RenderingContextBase -> JSVal -> IO Bool
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/isSampler MDN WebGL2RenderingContextBase.isSampler documentation>
isSampler :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Maybe WebGLSampler -> m Bool
isSampler self sampler = liftDOM (((toJSVal sampler) >>= \a2' -> js_isSampler ((Types.toWebGL2RenderingContextBase self)) a2'))

-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/isSampler MDN WebGL2RenderingContextBase.isSampler documentation>
isSampler_ :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Maybe WebGLSampler -> m ()
isSampler_ self sampler = liftDOM (void (((toJSVal sampler) >>= \a2' -> js_isSampler ((Types.toWebGL2RenderingContextBase self)) a2')))

foreign import javascript safe "(($1, $2) => { return $1[\"isSync\"]($2); })"
        js_isSync :: WebGL2RenderingContextBase -> JSVal -> IO Bool
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/isSync MDN WebGL2RenderingContextBase.isSync documentation>
isSync :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Maybe WebGLSync -> m Bool
isSync self sync = liftDOM (((toJSVal sync) >>= \a2' -> js_isSync ((Types.toWebGL2RenderingContextBase self)) a2'))

-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/isSync MDN WebGL2RenderingContextBase.isSync documentation>
isSync_ :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Maybe WebGLSync -> m ()
isSync_ self sync = liftDOM (void (((toJSVal sync) >>= \a2' -> js_isSync ((Types.toWebGL2RenderingContextBase self)) a2')))

foreign import javascript safe "(($1, $2) => { return $1[\"isTransformFeedback\"]($2); })"
        js_isTransformFeedback :: WebGL2RenderingContextBase -> JSVal -> IO Bool
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/isTransformFeedback MDN WebGL2RenderingContextBase.isTransformFeedback documentation>
isTransformFeedback :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Maybe WebGLTransformFeedback -> m Bool
isTransformFeedback self tf = liftDOM (((toJSVal tf) >>= \a2' -> js_isTransformFeedback ((Types.toWebGL2RenderingContextBase self)) a2'))

-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/isTransformFeedback MDN WebGL2RenderingContextBase.isTransformFeedback documentation>
isTransformFeedback_ :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Maybe WebGLTransformFeedback -> m ()
isTransformFeedback_ self tf = liftDOM (void (((toJSVal tf) >>= \a2' -> js_isTransformFeedback ((Types.toWebGL2RenderingContextBase self)) a2')))

foreign import javascript safe "(($1, $2) => { return $1[\"isVertexArray\"]($2); })"
        js_isVertexArray :: WebGL2RenderingContextBase -> JSVal -> IO Bool
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/isVertexArray MDN WebGL2RenderingContextBase.isVertexArray documentation>
isVertexArray :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Maybe WebGLVertexArrayObject -> m Bool
isVertexArray self vertexArray = liftDOM (((toJSVal vertexArray) >>= \a2' -> js_isVertexArray ((Types.toWebGL2RenderingContextBase self)) a2'))

-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/isVertexArray MDN WebGL2RenderingContextBase.isVertexArray documentation>
isVertexArray_ :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Maybe WebGLVertexArrayObject -> m ()
isVertexArray_ self vertexArray = liftDOM (void (((toJSVal vertexArray) >>= \a2' -> js_isVertexArray ((Types.toWebGL2RenderingContextBase self)) a2')))

foreign import javascript safe "(($1) => { return $1[\"pauseTransformFeedback\"](); })"
        js_pauseTransformFeedback :: WebGL2RenderingContextBase -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/pauseTransformFeedback MDN WebGL2RenderingContextBase.pauseTransformFeedback documentation>
pauseTransformFeedback :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> m ()
pauseTransformFeedback self = liftDOM (void ((js_pauseTransformFeedback ((Types.toWebGL2RenderingContextBase self)))))

foreign import javascript safe "(($1, $2) => { return $1[\"readBuffer\"]($2); })"
        js_readBuffer :: WebGL2RenderingContextBase -> Word -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/readBuffer MDN WebGL2RenderingContextBase.readBuffer documentation>
readBuffer :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Word -> m ()
readBuffer self src = liftDOM (void ((js_readBuffer ((Types.toWebGL2RenderingContextBase self)) (src))))

foreign import javascript safe "(($1, $2, $3, $4, $5, $6) => { return $1[\"renderbufferStorageMultisample\"]($2, $3, $4, $5, $6); })"
        js_renderbufferStorageMultisample :: WebGL2RenderingContextBase -> Word -> Int -> Word -> Int -> Int -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/renderbufferStorageMultisample MDN WebGL2RenderingContextBase.renderbufferStorageMultisample documentation>
renderbufferStorageMultisample :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Word -> Int -> Word -> Int -> Int -> m ()
renderbufferStorageMultisample self target samples internalformat width height = liftDOM (void ((js_renderbufferStorageMultisample ((Types.toWebGL2RenderingContextBase self)) (target) (samples) (internalformat) (width) (height))))

foreign import javascript safe "(($1) => { return $1[\"resumeTransformFeedback\"](); })"
        js_resumeTransformFeedback :: WebGL2RenderingContextBase -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/resumeTransformFeedback MDN WebGL2RenderingContextBase.resumeTransformFeedback documentation>
resumeTransformFeedback :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> m ()
resumeTransformFeedback self = liftDOM (void ((js_resumeTransformFeedback ((Types.toWebGL2RenderingContextBase self)))))

foreign import javascript safe "(($1, $2, $3, $4) => { return $1[\"samplerParameterf\"]($2, $3, $4); })"
        js_samplerParameterf :: WebGL2RenderingContextBase -> WebGLSampler -> Word -> Float -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/samplerParameter MDN WebGL2RenderingContextBase.samplerParameterf documentation>
samplerParameterf :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> WebGLSampler -> Word -> Float -> m ()
samplerParameterf self sampler pname param = liftDOM (void ((js_samplerParameterf ((Types.toWebGL2RenderingContextBase self)) (sampler) (pname) (param))))

foreign import javascript safe "(($1, $2, $3, $4) => { return $1[\"samplerParameteri\"]($2, $3, $4); })"
        js_samplerParameteri :: WebGL2RenderingContextBase -> WebGLSampler -> Word -> Int -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/samplerParameter MDN WebGL2RenderingContextBase.samplerParameteri documentation>
samplerParameteri :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> WebGLSampler -> Word -> Int -> m ()
samplerParameteri self sampler pname param = liftDOM (void ((js_samplerParameteri ((Types.toWebGL2RenderingContextBase self)) (sampler) (pname) (param))))

foreign import javascript safe "(($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) => { return $1[\"texImage3D\"]($2, $3, $4, $5, $6, $7, $8, $9, $10, $11); })"
        js_texImage3D :: WebGL2RenderingContextBase -> Word -> Int -> Int -> Int -> Int -> Int -> Int -> Word -> Word -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/texImage3D MDN WebGL2RenderingContextBase.texImage3D documentation>
texImage3D :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Word -> Int -> Int -> Int -> Int -> Int -> Int -> Word -> Word -> Int53 -> m ()
texImage3D self target level internalformat width height depth border format type' pboOffset = liftDOM (void (((toJSVal pboOffset) >>= \a11' -> js_texImage3D ((Types.toWebGL2RenderingContextBase self)) (target) (level) (internalformat) (width) (height) (depth) (border) (format) (type') a11')))

foreign import javascript safe "(($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) => { return $1[\"texImage3D\"]($2, $3, $4, $5, $6, $7, $8, $9, $10, $11); })"
        js_texImage3DSource :: WebGL2RenderingContextBase -> Word -> Int -> Int -> Int -> Int -> Int -> Int -> Word -> Word -> TexImageSource -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/texImage3D MDN WebGL2RenderingContextBase.texImage3D documentation>
texImage3DSource :: (MonadDOM m, IsWebGL2RenderingContextBase self, IsTexImageSource source) => self -> Word -> Int -> Int -> Int -> Int -> Int -> Int -> Word -> Word -> source -> m ()
texImage3DSource self target level internalformat width height depth border format type' source = liftDOM (void ((js_texImage3DSource ((Types.toWebGL2RenderingContextBase self)) (target) (level) (internalformat) (width) (height) (depth) (border) (format) (type') (Types.toTexImageSource source))))

foreign import javascript safe "(($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) => { return $1[\"texImage3D\"]($2, $3, $4, $5, $6, $7, $8, $9, $10, $11); })"
        js_texImage3DSrcData :: WebGL2RenderingContextBase -> Word -> Int -> Int -> Int -> Int -> Int -> Int -> Word -> Word -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/texImage3D MDN WebGL2RenderingContextBase.texImage3D documentation>
texImage3DSrcData :: (MonadDOM m, IsWebGL2RenderingContextBase self, IsArrayBufferView srcData) => self -> Word -> Int -> Int -> Int -> Int -> Int -> Int -> Word -> Word -> Maybe srcData -> m ()
texImage3DSrcData self target level internalformat width height depth border format type' srcData = liftDOM (void (((toJSVal srcData) >>= \a11' -> js_texImage3DSrcData ((Types.toWebGL2RenderingContextBase self)) (target) (level) (internalformat) (width) (height) (depth) (border) (format) (type') a11')))

foreign import javascript safe "(($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12) => { return $1[\"texImage3D\"]($2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12); })"
        js_texImage3DSrcDataSrcOffset :: WebGL2RenderingContextBase -> Word -> Int -> Int -> Int -> Int -> Int -> Int -> Word -> Word -> ArrayBufferView -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/texImage3D MDN WebGL2RenderingContextBase.texImage3D documentation>
texImage3DSrcDataSrcOffset :: (MonadDOM m, IsWebGL2RenderingContextBase self, IsArrayBufferView srcData) => self -> Word -> Int -> Int -> Int -> Int -> Int -> Int -> Word -> Word -> srcData -> Word53 -> m ()
texImage3DSrcDataSrcOffset self target level internalformat width height depth border format type' srcData srcOffset = liftDOM (void (((toJSVal srcOffset) >>= \a12' -> js_texImage3DSrcDataSrcOffset ((Types.toWebGL2RenderingContextBase self)) (target) (level) (internalformat) (width) (height) (depth) (border) (format) (type') (Types.toArrayBufferView srcData) a12')))

foreign import javascript safe "(($1, $2, $3, $4, $5, $6) => { return $1[\"texStorage2D\"]($2, $3, $4, $5, $6); })"
        js_texStorage2D :: WebGL2RenderingContextBase -> Word -> Int -> Word -> Int -> Int -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/texStorage2D MDN WebGL2RenderingContextBase.texStorage2D documentation>
texStorage2D :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Word -> Int -> Word -> Int -> Int -> m ()
texStorage2D self target levels internalformat width height = liftDOM (void ((js_texStorage2D ((Types.toWebGL2RenderingContextBase self)) (target) (levels) (internalformat) (width) (height))))

foreign import javascript safe "(($1, $2, $3, $4, $5, $6, $7) => { return $1[\"texStorage3D\"]($2, $3, $4, $5, $6, $7); })"
        js_texStorage3D :: WebGL2RenderingContextBase -> Word -> Int -> Word -> Int -> Int -> Int -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/texStorage3D MDN WebGL2RenderingContextBase.texStorage3D documentation>
texStorage3D :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Word -> Int -> Word -> Int -> Int -> Int -> m ()
texStorage3D self target levels internalformat width height depth = liftDOM (void ((js_texStorage3D ((Types.toWebGL2RenderingContextBase self)) (target) (levels) (internalformat) (width) (height) (depth))))

foreign import javascript safe "(($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12) => { return $1[\"texSubImage3D\"]($2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12); })"
        js_texSubImage3D :: WebGL2RenderingContextBase -> Word -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Word -> Word -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/texSubImage3D MDN WebGL2RenderingContextBase.texSubImage3D documentation>
texSubImage3D :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Word -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Word -> Word -> Int53 -> m ()
texSubImage3D self target level xoffset yoffset zoffset width height depth format type' pboOffset = liftDOM (void (((toJSVal pboOffset) >>= \a12' -> js_texSubImage3D ((Types.toWebGL2RenderingContextBase self)) (target) (level) (xoffset) (yoffset) (zoffset) (width) (height) (depth) (format) (type') a12')))

foreign import javascript safe "(($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12) => { return $1[\"texSubImage3D\"]($2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12); })"
        js_texSubImage3DSource :: WebGL2RenderingContextBase -> Word -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Word -> Word -> TexImageSource -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/texSubImage3D MDN WebGL2RenderingContextBase.texSubImage3D documentation>
texSubImage3DSource :: (MonadDOM m, IsWebGL2RenderingContextBase self, IsTexImageSource source) => self -> Word -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Word -> Word -> source -> m ()
texSubImage3DSource self target level xoffset yoffset zoffset width height depth format type' source = liftDOM (void ((js_texSubImage3DSource ((Types.toWebGL2RenderingContextBase self)) (target) (level) (xoffset) (yoffset) (zoffset) (width) (height) (depth) (format) (type') (Types.toTexImageSource source))))

foreign import javascript safe "(($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13) => { return $1[\"texSubImage3D\"]($2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13); })"
        js_texSubImage3DSrcDataSrcOffset :: WebGL2RenderingContextBase -> Word -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Word -> Word -> JSVal -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/texSubImage3D MDN WebGL2RenderingContextBase.texSubImage3D documentation>
texSubImage3DSrcDataSrcOffset :: (MonadDOM m, IsWebGL2RenderingContextBase self, IsArrayBufferView srcData) => self -> Word -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Word -> Word -> Maybe srcData -> Maybe Word53 -> m ()
texSubImage3DSrcDataSrcOffset self target level xoffset yoffset zoffset width height depth format type' srcData srcOffset = liftDOM (void (((toJSVal srcData) >>= \a12' -> (P.maybe (P.return jsUndefined) toJSVal srcOffset) >>= \a13' -> js_texSubImage3DSrcDataSrcOffset ((Types.toWebGL2RenderingContextBase self)) (target) (level) (xoffset) (yoffset) (zoffset) (width) (height) (depth) (format) (type') a12' a13')))

foreign import javascript safe "(($1, $2, $3, $4) => { return $1[\"transformFeedbackVaryings\"]($2, $3, $4); })"
        js_transformFeedbackVaryings :: WebGL2RenderingContextBase -> WebGLProgram -> JSVal -> Word -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/transformFeedbackVaryings MDN WebGL2RenderingContextBase.transformFeedbackVaryings documentation>
transformFeedbackVaryings :: (MonadDOM m, IsWebGL2RenderingContextBase self, ToJSString varyings) => self -> WebGLProgram -> [varyings] -> Word -> m ()
transformFeedbackVaryings self program varyings bufferMode = liftDOM (void (((toJSVal varyings) >>= \a3' -> js_transformFeedbackVaryings ((Types.toWebGL2RenderingContextBase self)) (program) a3' (bufferMode))))

foreign import javascript safe "(($1, $2, $3) => { return $1[\"uniform1ui\"]($2, $3); })"
        js_uniform1ui :: WebGL2RenderingContextBase -> JSVal -> Word -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniform MDN WebGL2RenderingContextBase.uniform1ui documentation>
uniform1ui :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Maybe WebGLUniformLocation -> Word -> m ()
uniform1ui self location v0 = liftDOM (void (((toJSVal location) >>= \a2' -> js_uniform1ui ((Types.toWebGL2RenderingContextBase self)) a2' (v0))))

foreign import javascript safe "(($1, $2, $3) => { return $1[\"uniform1uiv\"]($2, $3); })"
        js_uniform1uiv :: WebGL2RenderingContextBase -> JSVal -> Uint32List -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniform MDN WebGL2RenderingContextBase.uniform1uiv documentation>
uniform1uiv :: (MonadDOM m, IsWebGL2RenderingContextBase self, IsUint32List data') => self -> Maybe WebGLUniformLocation -> data' -> m ()
uniform1uiv self location data' = liftDOM (void (((toJSVal location) >>= \a2' -> js_uniform1uiv ((Types.toWebGL2RenderingContextBase self)) a2' (Types.toUint32List data'))))

foreign import javascript safe "(($1, $2, $3, $4, $5) => { return $1[\"uniform1uiv\"]($2, $3, $4, $5); })"
        js_uniform1uiv' :: WebGL2RenderingContextBase -> JSVal -> Uint32List -> JSVal -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniform MDN WebGL2RenderingContextBase.uniform1uiv documentation>
uniform1uiv' :: (MonadDOM m, IsWebGL2RenderingContextBase self, IsUint32List data') => self -> Maybe WebGLUniformLocation -> data' -> Maybe Word53 -> Maybe Word -> m ()
uniform1uiv' self location data' srcOffset srcLength = liftDOM (void (((toJSVal location) >>= \a2' -> (P.maybe (P.return jsUndefined) toJSVal srcOffset) >>= \a4' -> (P.maybe (P.return jsUndefined) toJSVal srcLength) >>= \a5' -> js_uniform1uiv' ((Types.toWebGL2RenderingContextBase self)) a2' (Types.toUint32List data') a4' a5')))

foreign import javascript safe "(($1, $2, $3, $4) => { return $1[\"uniform2ui\"]($2, $3, $4); })"
        js_uniform2ui :: WebGL2RenderingContextBase -> JSVal -> Word -> Word -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniform MDN WebGL2RenderingContextBase.uniform2ui documentation>
uniform2ui :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Maybe WebGLUniformLocation -> Word -> Word -> m ()
uniform2ui self location v0 v1 = liftDOM (void (((toJSVal location) >>= \a2' -> js_uniform2ui ((Types.toWebGL2RenderingContextBase self)) a2' (v0) (v1))))

foreign import javascript safe "(($1, $2, $3) => { return $1[\"uniform2uiv\"]($2, $3); })"
        js_uniform2uiv :: WebGL2RenderingContextBase -> JSVal -> Uint32List -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniform MDN WebGL2RenderingContextBase.uniform2uiv documentation>
uniform2uiv :: (MonadDOM m, IsWebGL2RenderingContextBase self, IsUint32List data') => self -> Maybe WebGLUniformLocation -> data' -> m ()
uniform2uiv self location data' = liftDOM (void (((toJSVal location) >>= \a2' -> js_uniform2uiv ((Types.toWebGL2RenderingContextBase self)) a2' (Types.toUint32List data'))))

foreign import javascript safe "(($1, $2, $3, $4, $5) => { return $1[\"uniform2uiv\"]($2, $3, $4, $5); })"
        js_uniform2uiv' :: WebGL2RenderingContextBase -> JSVal -> Uint32List -> JSVal -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniform MDN WebGL2RenderingContextBase.uniform2uiv documentation>
uniform2uiv' :: (MonadDOM m, IsWebGL2RenderingContextBase self, IsUint32List data') => self -> Maybe WebGLUniformLocation -> data' -> Maybe Word53 -> Maybe Word -> m ()
uniform2uiv' self location data' srcOffset srcLength = liftDOM (void (((toJSVal location) >>= \a2' -> (P.maybe (P.return jsUndefined) toJSVal srcOffset) >>= \a4' -> (P.maybe (P.return jsUndefined) toJSVal srcLength) >>= \a5' -> js_uniform2uiv' ((Types.toWebGL2RenderingContextBase self)) a2' (Types.toUint32List data') a4' a5')))

foreign import javascript safe "(($1, $2, $3, $4, $5) => { return $1[\"uniform3ui\"]($2, $3, $4, $5); })"
        js_uniform3ui :: WebGL2RenderingContextBase -> JSVal -> Word -> Word -> Word -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniform MDN WebGL2RenderingContextBase.uniform3ui documentation>
uniform3ui :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Maybe WebGLUniformLocation -> Word -> Word -> Word -> m ()
uniform3ui self location v0 v1 v2 = liftDOM (void (((toJSVal location) >>= \a2' -> js_uniform3ui ((Types.toWebGL2RenderingContextBase self)) a2' (v0) (v1) (v2))))

foreign import javascript safe "(($1, $2, $3) => { return $1[\"uniform3uiv\"]($2, $3); })"
        js_uniform3uiv :: WebGL2RenderingContextBase -> JSVal -> Uint32List -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniform MDN WebGL2RenderingContextBase.uniform3uiv documentation>
uniform3uiv :: (MonadDOM m, IsWebGL2RenderingContextBase self, IsUint32List data') => self -> Maybe WebGLUniformLocation -> data' -> m ()
uniform3uiv self location data' = liftDOM (void (((toJSVal location) >>= \a2' -> js_uniform3uiv ((Types.toWebGL2RenderingContextBase self)) a2' (Types.toUint32List data'))))

foreign import javascript safe "(($1, $2, $3, $4, $5) => { return $1[\"uniform3uiv\"]($2, $3, $4, $5); })"
        js_uniform3uiv' :: WebGL2RenderingContextBase -> JSVal -> Uint32List -> JSVal -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniform MDN WebGL2RenderingContextBase.uniform3uiv documentation>
uniform3uiv' :: (MonadDOM m, IsWebGL2RenderingContextBase self, IsUint32List data') => self -> Maybe WebGLUniformLocation -> data' -> Maybe Word53 -> Maybe Word -> m ()
uniform3uiv' self location data' srcOffset srcLength = liftDOM (void (((toJSVal location) >>= \a2' -> (P.maybe (P.return jsUndefined) toJSVal srcOffset) >>= \a4' -> (P.maybe (P.return jsUndefined) toJSVal srcLength) >>= \a5' -> js_uniform3uiv' ((Types.toWebGL2RenderingContextBase self)) a2' (Types.toUint32List data') a4' a5')))

foreign import javascript safe "(($1, $2, $3, $4, $5, $6) => { return $1[\"uniform4ui\"]($2, $3, $4, $5, $6); })"
        js_uniform4ui :: WebGL2RenderingContextBase -> JSVal -> Word -> Word -> Word -> Word -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniform MDN WebGL2RenderingContextBase.uniform4ui documentation>
uniform4ui :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Maybe WebGLUniformLocation -> Word -> Word -> Word -> Word -> m ()
uniform4ui self location v0 v1 v2 v3 = liftDOM (void (((toJSVal location) >>= \a2' -> js_uniform4ui ((Types.toWebGL2RenderingContextBase self)) a2' (v0) (v1) (v2) (v3))))

foreign import javascript safe "(($1, $2, $3) => { return $1[\"uniform4uiv\"]($2, $3); })"
        js_uniform4uiv :: WebGL2RenderingContextBase -> JSVal -> Uint32List -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniform MDN WebGL2RenderingContextBase.uniform4uiv documentation>
uniform4uiv :: (MonadDOM m, IsWebGL2RenderingContextBase self, IsUint32List data') => self -> Maybe WebGLUniformLocation -> data' -> m ()
uniform4uiv self location data' = liftDOM (void (((toJSVal location) >>= \a2' -> js_uniform4uiv ((Types.toWebGL2RenderingContextBase self)) a2' (Types.toUint32List data'))))

foreign import javascript safe "(($1, $2, $3, $4, $5) => { return $1[\"uniform4uiv\"]($2, $3, $4, $5); })"
        js_uniform4uiv' :: WebGL2RenderingContextBase -> JSVal -> Uint32List -> JSVal -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniform MDN WebGL2RenderingContextBase.uniform4uiv documentation>
uniform4uiv' :: (MonadDOM m, IsWebGL2RenderingContextBase self, IsUint32List data') => self -> Maybe WebGLUniformLocation -> data' -> Maybe Word53 -> Maybe Word -> m ()
uniform4uiv' self location data' srcOffset srcLength = liftDOM (void (((toJSVal location) >>= \a2' -> (P.maybe (P.return jsUndefined) toJSVal srcOffset) >>= \a4' -> (P.maybe (P.return jsUndefined) toJSVal srcLength) >>= \a5' -> js_uniform4uiv' ((Types.toWebGL2RenderingContextBase self)) a2' (Types.toUint32List data') a4' a5')))

foreign import javascript safe "(($1, $2, $3, $4) => { return $1[\"uniformBlockBinding\"]($2, $3, $4); })"
        js_uniformBlockBinding :: WebGL2RenderingContextBase -> WebGLProgram -> Word -> Word -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformBlockBinding MDN WebGL2RenderingContextBase.uniformBlockBinding documentation>
uniformBlockBinding :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> WebGLProgram -> Word -> Word -> m ()
uniformBlockBinding self program uniformBlockIndex uniformBlockBinding = liftDOM (void ((js_uniformBlockBinding ((Types.toWebGL2RenderingContextBase self)) (program) (uniformBlockIndex) (uniformBlockBinding))))

foreign import javascript safe "(($1, $2, $3, $4) => { return $1[\"uniformMatrix2x3fv\"]($2, $3, $4); })"
        js_uniformMatrix2x3fv :: WebGL2RenderingContextBase -> JSVal -> Bool -> Float32List -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix MDN WebGL2RenderingContextBase.uniformMatrix2x3fv documentation>
uniformMatrix2x3fv :: (MonadDOM m, IsWebGL2RenderingContextBase self, IsFloat32List data') => self -> Maybe WebGLUniformLocation -> Bool -> data' -> m ()
uniformMatrix2x3fv self location transpose data' = liftDOM (void (((toJSVal location) >>= \a2' -> js_uniformMatrix2x3fv ((Types.toWebGL2RenderingContextBase self)) a2' (transpose) (Types.toFloat32List data'))))

foreign import javascript safe "(($1, $2, $3, $4, $5, $6) => { return $1[\"uniformMatrix2x3fv\"]($2, $3, $4, $5, $6); })"
        js_uniformMatrix2x3fv' :: WebGL2RenderingContextBase -> JSVal -> Bool -> Float32List -> JSVal -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix MDN WebGL2RenderingContextBase.uniformMatrix2x3fv documentation>
uniformMatrix2x3fv' :: (MonadDOM m, IsWebGL2RenderingContextBase self, IsFloat32List data') => self -> Maybe WebGLUniformLocation -> Bool -> data' -> Maybe Word53 -> Maybe Word -> m ()
uniformMatrix2x3fv' self location transpose data' srcOffset srcLength = liftDOM (void (((toJSVal location) >>= \a2' -> (P.maybe (P.return jsUndefined) toJSVal srcOffset) >>= \a5' -> (P.maybe (P.return jsUndefined) toJSVal srcLength) >>= \a6' -> js_uniformMatrix2x3fv' ((Types.toWebGL2RenderingContextBase self)) a2' (transpose) (Types.toFloat32List data') a5' a6')))

foreign import javascript safe "(($1, $2, $3, $4) => { return $1[\"uniformMatrix2x4fv\"]($2, $3, $4); })"
        js_uniformMatrix2x4fv :: WebGL2RenderingContextBase -> JSVal -> Bool -> Float32List -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix MDN WebGL2RenderingContextBase.uniformMatrix2x4fv documentation>
uniformMatrix2x4fv :: (MonadDOM m, IsWebGL2RenderingContextBase self, IsFloat32List data') => self -> Maybe WebGLUniformLocation -> Bool -> data' -> m ()
uniformMatrix2x4fv self location transpose data' = liftDOM (void (((toJSVal location) >>= \a2' -> js_uniformMatrix2x4fv ((Types.toWebGL2RenderingContextBase self)) a2' (transpose) (Types.toFloat32List data'))))

foreign import javascript safe "(($1, $2, $3, $4, $5, $6) => { return $1[\"uniformMatrix2x4fv\"]($2, $3, $4, $5, $6); })"
        js_uniformMatrix2x4fv' :: WebGL2RenderingContextBase -> JSVal -> Bool -> Float32List -> JSVal -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix MDN WebGL2RenderingContextBase.uniformMatrix2x4fv documentation>
uniformMatrix2x4fv' :: (MonadDOM m, IsWebGL2RenderingContextBase self, IsFloat32List data') => self -> Maybe WebGLUniformLocation -> Bool -> data' -> Maybe Word53 -> Maybe Word -> m ()
uniformMatrix2x4fv' self location transpose data' srcOffset srcLength = liftDOM (void (((toJSVal location) >>= \a2' -> (P.maybe (P.return jsUndefined) toJSVal srcOffset) >>= \a5' -> (P.maybe (P.return jsUndefined) toJSVal srcLength) >>= \a6' -> js_uniformMatrix2x4fv' ((Types.toWebGL2RenderingContextBase self)) a2' (transpose) (Types.toFloat32List data') a5' a6')))

foreign import javascript safe "(($1, $2, $3, $4) => { return $1[\"uniformMatrix3x2fv\"]($2, $3, $4); })"
        js_uniformMatrix3x2fv :: WebGL2RenderingContextBase -> JSVal -> Bool -> Float32List -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix MDN WebGL2RenderingContextBase.uniformMatrix3x2fv documentation>
uniformMatrix3x2fv :: (MonadDOM m, IsWebGL2RenderingContextBase self, IsFloat32List data') => self -> Maybe WebGLUniformLocation -> Bool -> data' -> m ()
uniformMatrix3x2fv self location transpose data' = liftDOM (void (((toJSVal location) >>= \a2' -> js_uniformMatrix3x2fv ((Types.toWebGL2RenderingContextBase self)) a2' (transpose) (Types.toFloat32List data'))))

foreign import javascript safe "(($1, $2, $3, $4, $5, $6) => { return $1[\"uniformMatrix3x2fv\"]($2, $3, $4, $5, $6); })"
        js_uniformMatrix3x2fv' :: WebGL2RenderingContextBase -> JSVal -> Bool -> Float32List -> JSVal -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix MDN WebGL2RenderingContextBase.uniformMatrix3x2fv documentation>
uniformMatrix3x2fv' :: (MonadDOM m, IsWebGL2RenderingContextBase self, IsFloat32List data') => self -> Maybe WebGLUniformLocation -> Bool -> data' -> Maybe Word53 -> Maybe Word -> m ()
uniformMatrix3x2fv' self location transpose data' srcOffset srcLength = liftDOM (void (((toJSVal location) >>= \a2' -> (P.maybe (P.return jsUndefined) toJSVal srcOffset) >>= \a5' -> (P.maybe (P.return jsUndefined) toJSVal srcLength) >>= \a6' -> js_uniformMatrix3x2fv' ((Types.toWebGL2RenderingContextBase self)) a2' (transpose) (Types.toFloat32List data') a5' a6')))

foreign import javascript safe "(($1, $2, $3, $4) => { return $1[\"uniformMatrix3x4fv\"]($2, $3, $4); })"
        js_uniformMatrix3x4fv :: WebGL2RenderingContextBase -> JSVal -> Bool -> Float32List -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix MDN WebGL2RenderingContextBase.uniformMatrix3x4fv documentation>
uniformMatrix3x4fv :: (MonadDOM m, IsWebGL2RenderingContextBase self, IsFloat32List data') => self -> Maybe WebGLUniformLocation -> Bool -> data' -> m ()
uniformMatrix3x4fv self location transpose data' = liftDOM (void (((toJSVal location) >>= \a2' -> js_uniformMatrix3x4fv ((Types.toWebGL2RenderingContextBase self)) a2' (transpose) (Types.toFloat32List data'))))

foreign import javascript safe "(($1, $2, $3, $4, $5, $6) => { return $1[\"uniformMatrix3x4fv\"]($2, $3, $4, $5, $6); })"
        js_uniformMatrix3x4fv' :: WebGL2RenderingContextBase -> JSVal -> Bool -> Float32List -> JSVal -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix MDN WebGL2RenderingContextBase.uniformMatrix3x4fv documentation>
uniformMatrix3x4fv' :: (MonadDOM m, IsWebGL2RenderingContextBase self, IsFloat32List data') => self -> Maybe WebGLUniformLocation -> Bool -> data' -> Maybe Word53 -> Maybe Word -> m ()
uniformMatrix3x4fv' self location transpose data' srcOffset srcLength = liftDOM (void (((toJSVal location) >>= \a2' -> (P.maybe (P.return jsUndefined) toJSVal srcOffset) >>= \a5' -> (P.maybe (P.return jsUndefined) toJSVal srcLength) >>= \a6' -> js_uniformMatrix3x4fv' ((Types.toWebGL2RenderingContextBase self)) a2' (transpose) (Types.toFloat32List data') a5' a6')))

foreign import javascript safe "(($1, $2, $3, $4) => { return $1[\"uniformMatrix4x2fv\"]($2, $3, $4); })"
        js_uniformMatrix4x2fv :: WebGL2RenderingContextBase -> JSVal -> Bool -> Float32List -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix MDN WebGL2RenderingContextBase.uniformMatrix4x2fv documentation>
uniformMatrix4x2fv :: (MonadDOM m, IsWebGL2RenderingContextBase self, IsFloat32List data') => self -> Maybe WebGLUniformLocation -> Bool -> data' -> m ()
uniformMatrix4x2fv self location transpose data' = liftDOM (void (((toJSVal location) >>= \a2' -> js_uniformMatrix4x2fv ((Types.toWebGL2RenderingContextBase self)) a2' (transpose) (Types.toFloat32List data'))))

foreign import javascript safe "(($1, $2, $3, $4, $5, $6) => { return $1[\"uniformMatrix4x2fv\"]($2, $3, $4, $5, $6); })"
        js_uniformMatrix4x2fv' :: WebGL2RenderingContextBase -> JSVal -> Bool -> Float32List -> JSVal -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix MDN WebGL2RenderingContextBase.uniformMatrix4x2fv documentation>
uniformMatrix4x2fv' :: (MonadDOM m, IsWebGL2RenderingContextBase self, IsFloat32List data') => self -> Maybe WebGLUniformLocation -> Bool -> data' -> Maybe Word53 -> Maybe Word -> m ()
uniformMatrix4x2fv' self location transpose data' srcOffset srcLength = liftDOM (void (((toJSVal location) >>= \a2' -> (P.maybe (P.return jsUndefined) toJSVal srcOffset) >>= \a5' -> (P.maybe (P.return jsUndefined) toJSVal srcLength) >>= \a6' -> js_uniformMatrix4x2fv' ((Types.toWebGL2RenderingContextBase self)) a2' (transpose) (Types.toFloat32List data') a5' a6')))

foreign import javascript safe "(($1, $2, $3, $4) => { return $1[\"uniformMatrix4x3fv\"]($2, $3, $4); })"
        js_uniformMatrix4x3fv :: WebGL2RenderingContextBase -> JSVal -> Bool -> Float32List -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix MDN WebGL2RenderingContextBase.uniformMatrix4x3fv documentation>
uniformMatrix4x3fv :: (MonadDOM m, IsWebGL2RenderingContextBase self, IsFloat32List data') => self -> Maybe WebGLUniformLocation -> Bool -> data' -> m ()
uniformMatrix4x3fv self location transpose data' = liftDOM (void (((toJSVal location) >>= \a2' -> js_uniformMatrix4x3fv ((Types.toWebGL2RenderingContextBase self)) a2' (transpose) (Types.toFloat32List data'))))

foreign import javascript safe "(($1, $2, $3, $4, $5, $6) => { return $1[\"uniformMatrix4x3fv\"]($2, $3, $4, $5, $6); })"
        js_uniformMatrix4x3fv' :: WebGL2RenderingContextBase -> JSVal -> Bool -> Float32List -> JSVal -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix MDN WebGL2RenderingContextBase.uniformMatrix4x3fv documentation>
uniformMatrix4x3fv' :: (MonadDOM m, IsWebGL2RenderingContextBase self, IsFloat32List data') => self -> Maybe WebGLUniformLocation -> Bool -> data' -> Maybe Word53 -> Maybe Word -> m ()
uniformMatrix4x3fv' self location transpose data' srcOffset srcLength = liftDOM (void (((toJSVal location) >>= \a2' -> (P.maybe (P.return jsUndefined) toJSVal srcOffset) >>= \a5' -> (P.maybe (P.return jsUndefined) toJSVal srcLength) >>= \a6' -> js_uniformMatrix4x3fv' ((Types.toWebGL2RenderingContextBase self)) a2' (transpose) (Types.toFloat32List data') a5' a6')))

foreign import javascript safe "(($1, $2, $3) => { return $1[\"vertexAttribDivisor\"]($2, $3); })"
        js_vertexAttribDivisor :: WebGL2RenderingContextBase -> Word -> Word -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/vertexAttribDivisor MDN WebGL2RenderingContextBase.vertexAttribDivisor documentation>
vertexAttribDivisor :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Word -> Word -> m ()
vertexAttribDivisor self index divisor = liftDOM (void ((js_vertexAttribDivisor ((Types.toWebGL2RenderingContextBase self)) (index) (divisor))))

foreign import javascript safe "(($1, $2, $3, $4, $5, $6) => { return $1[\"vertexAttribI4i\"]($2, $3, $4, $5, $6); })"
        js_vertexAttribI4i :: WebGL2RenderingContextBase -> Word -> Int -> Int -> Int -> Int -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/vertexAttribI MDN WebGL2RenderingContextBase.vertexAttribI4i documentation>
vertexAttribI4i :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Word -> Int -> Int -> Int -> Int -> m ()
vertexAttribI4i self index x y z w = liftDOM (void ((js_vertexAttribI4i ((Types.toWebGL2RenderingContextBase self)) (index) (x) (y) (z) (w))))

foreign import javascript safe "(($1, $2, $3) => { return $1[\"vertexAttribI4iv\"]($2, $3); })"
        js_vertexAttribI4iv :: WebGL2RenderingContextBase -> Word -> Int32List -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/vertexAttribI MDN WebGL2RenderingContextBase.vertexAttribI4iv documentation>
vertexAttribI4iv :: (MonadDOM m, IsWebGL2RenderingContextBase self, IsInt32List values) => self -> Word -> values -> m ()
vertexAttribI4iv self index values = liftDOM (void ((js_vertexAttribI4iv ((Types.toWebGL2RenderingContextBase self)) (index) (Types.toInt32List values))))

foreign import javascript safe "(($1, $2, $3, $4, $5, $6) => { return $1[\"vertexAttribI4ui\"]($2, $3, $4, $5, $6); })"
        js_vertexAttribI4ui :: WebGL2RenderingContextBase -> Word -> Word -> Word -> Word -> Word -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/vertexAttribI MDN WebGL2RenderingContextBase.vertexAttribI4ui documentation>
vertexAttribI4ui :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Word -> Word -> Word -> Word -> Word -> m ()
vertexAttribI4ui self index x y z w = liftDOM (void ((js_vertexAttribI4ui ((Types.toWebGL2RenderingContextBase self)) (index) (x) (y) (z) (w))))

foreign import javascript safe "(($1, $2, $3) => { return $1[\"vertexAttribI4uiv\"]($2, $3); })"
        js_vertexAttribI4uiv :: WebGL2RenderingContextBase -> Word -> Uint32List -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/vertexAttribI MDN WebGL2RenderingContextBase.vertexAttribI4uiv documentation>
vertexAttribI4uiv :: (MonadDOM m, IsWebGL2RenderingContextBase self, IsUint32List values) => self -> Word -> values -> m ()
vertexAttribI4uiv self index values = liftDOM (void ((js_vertexAttribI4uiv ((Types.toWebGL2RenderingContextBase self)) (index) (Types.toUint32List values))))

foreign import javascript safe "(($1, $2, $3, $4, $5, $6) => { return $1[\"vertexAttribIPointer\"]($2, $3, $4, $5, $6); })"
        js_vertexAttribIPointer :: WebGL2RenderingContextBase -> Word -> Int -> Word -> Int -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/vertexAttribIPointer MDN WebGL2RenderingContextBase.vertexAttribIPointer documentation>
vertexAttribIPointer :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> Word -> Int -> Word -> Int -> Int53 -> m ()
vertexAttribIPointer self index size type' stride offset = liftDOM (void (((toJSVal offset) >>= \a6' -> js_vertexAttribIPointer ((Types.toWebGL2RenderingContextBase self)) (index) (size) (type') (stride) a6')))

foreign import javascript safe "(($1, $2, $3, $4) => { return $1[\"waitSync\"]($2, $3, $4); })"
        js_waitSync :: WebGL2RenderingContextBase -> WebGLSync -> Word -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/waitSync MDN WebGL2RenderingContextBase.waitSync documentation>
waitSync :: (MonadDOM m, IsWebGL2RenderingContextBase self) => self -> WebGLSync -> Word -> Int53 -> m ()
waitSync self sync flags timeout = liftDOM (void (((toJSVal timeout) >>= \a4' -> js_waitSync ((Types.toWebGL2RenderingContextBase self)) (sync) (flags) a4')))

pattern READ_BUFFER = 0x0C02

pattern UNPACK_ROW_LENGTH = 0x0CF2

pattern UNPACK_SKIP_ROWS = 0x0CF3

pattern UNPACK_SKIP_PIXELS = 0x0CF4

pattern PACK_ROW_LENGTH = 0x0D02

pattern PACK_SKIP_ROWS = 0x0D03

pattern PACK_SKIP_PIXELS = 0x0D04

pattern COLOR = 0x1800

pattern DEPTH = 0x1801

pattern STENCIL = 0x1802

pattern RED = 0x1903

pattern RGB8 = 0x8051

pattern RGB10_A2 = 0x8059

pattern TEXTURE_BINDING_3D = 0x806A

pattern UNPACK_SKIP_IMAGES = 0x806D

pattern UNPACK_IMAGE_HEIGHT = 0x806E

pattern TEXTURE_3D = 0x806F

pattern TEXTURE_WRAP_R = 0x8072

pattern MAX_3D_TEXTURE_SIZE = 0x8073

pattern UNSIGNED_INT_2_10_10_10_REV = 0x8368

pattern MAX_ELEMENTS_VERTICES = 0x80E8

pattern MAX_ELEMENTS_INDICES = 0x80E9

pattern TEXTURE_MIN_LOD = 0x813A

pattern TEXTURE_MAX_LOD = 0x813B

pattern TEXTURE_BASE_LEVEL = 0x813C

pattern TEXTURE_MAX_LEVEL = 0x813D

pattern MIN = 0x8007

pattern MAX = 0x8008

pattern DEPTH_COMPONENT24 = 0x81A6

pattern MAX_TEXTURE_LOD_BIAS = 0x84FD

pattern TEXTURE_COMPARE_MODE = 0x884C

pattern TEXTURE_COMPARE_FUNC = 0x884D

pattern CURRENT_QUERY = 0x8865

pattern QUERY_RESULT = 0x8866

pattern QUERY_RESULT_AVAILABLE = 0x8867

pattern STREAM_READ = 0x88E1

pattern STREAM_COPY = 0x88E2

pattern STATIC_READ = 0x88E5

pattern STATIC_COPY = 0x88E6

pattern DYNAMIC_READ = 0x88E9

pattern DYNAMIC_COPY = 0x88EA

pattern MAX_DRAW_BUFFERS = 0x8824

pattern DRAW_BUFFER0 = 0x8825

pattern DRAW_BUFFER1 = 0x8826

pattern DRAW_BUFFER2 = 0x8827

pattern DRAW_BUFFER3 = 0x8828

pattern DRAW_BUFFER4 = 0x8829

pattern DRAW_BUFFER5 = 0x882A

pattern DRAW_BUFFER6 = 0x882B

pattern DRAW_BUFFER7 = 0x882C

pattern DRAW_BUFFER8 = 0x882D

pattern DRAW_BUFFER9 = 0x882E

pattern DRAW_BUFFER10 = 0x882F

pattern DRAW_BUFFER11 = 0x8830

pattern DRAW_BUFFER12 = 0x8831

pattern DRAW_BUFFER13 = 0x8832

pattern DRAW_BUFFER14 = 0x8833

pattern DRAW_BUFFER15 = 0x8834

pattern MAX_FRAGMENT_UNIFORM_COMPONENTS = 0x8B49

pattern MAX_VERTEX_UNIFORM_COMPONENTS = 0x8B4A

pattern SAMPLER_3D = 0x8B5F

pattern SAMPLER_2D_SHADOW = 0x8B62

pattern FRAGMENT_SHADER_DERIVATIVE_HINT = 0x8B8B

pattern PIXEL_PACK_BUFFER = 0x88EB

pattern PIXEL_UNPACK_BUFFER = 0x88EC

pattern PIXEL_PACK_BUFFER_BINDING = 0x88ED

pattern PIXEL_UNPACK_BUFFER_BINDING = 0x88EF

pattern FLOAT_MAT2x3 = 0x8B65

pattern FLOAT_MAT2x4 = 0x8B66

pattern FLOAT_MAT3x2 = 0x8B67

pattern FLOAT_MAT3x4 = 0x8B68

pattern FLOAT_MAT4x2 = 0x8B69

pattern FLOAT_MAT4x3 = 0x8B6A

pattern SRGB = 0x8C40

pattern SRGB8 = 0x8C41

pattern SRGB8_ALPHA8 = 0x8C43

pattern COMPARE_REF_TO_TEXTURE = 0x884E

pattern RGBA32F = 0x8814

pattern RGB32F = 0x8815

pattern RGBA16F = 0x881A

pattern RGB16F = 0x881B

pattern VERTEX_ATTRIB_ARRAY_INTEGER = 0x88FD

pattern MAX_ARRAY_TEXTURE_LAYERS = 0x88FF

pattern MIN_PROGRAM_TEXEL_OFFSET = 0x8904

pattern MAX_PROGRAM_TEXEL_OFFSET = 0x8905

pattern MAX_VARYING_COMPONENTS = 0x8B4B

pattern TEXTURE_2D_ARRAY = 0x8C1A

pattern TEXTURE_BINDING_2D_ARRAY = 0x8C1D

pattern R11F_G11F_B10F = 0x8C3A

pattern UNSIGNED_INT_10F_11F_11F_REV = 0x8C3B

pattern RGB9_E5 = 0x8C3D

pattern UNSIGNED_INT_5_9_9_9_REV = 0x8C3E

pattern TRANSFORM_FEEDBACK_BUFFER_MODE = 0x8C7F

pattern MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = 0x8C80

pattern TRANSFORM_FEEDBACK_VARYINGS = 0x8C83

pattern TRANSFORM_FEEDBACK_BUFFER_START = 0x8C84

pattern TRANSFORM_FEEDBACK_BUFFER_SIZE = 0x8C85

pattern TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = 0x8C88

pattern RASTERIZER_DISCARD = 0x8C89

pattern MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 0x8C8A

pattern MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = 0x8C8B

pattern INTERLEAVED_ATTRIBS = 0x8C8C

pattern SEPARATE_ATTRIBS = 0x8C8D

pattern TRANSFORM_FEEDBACK_BUFFER = 0x8C8E

pattern TRANSFORM_FEEDBACK_BUFFER_BINDING = 0x8C8F

pattern RGBA32UI = 0x8D70

pattern RGB32UI = 0x8D71

pattern RGBA16UI = 0x8D76

pattern RGB16UI = 0x8D77

pattern RGBA8UI = 0x8D7C

pattern RGB8UI = 0x8D7D

pattern RGBA32I = 0x8D82

pattern RGB32I = 0x8D83

pattern RGBA16I = 0x8D88

pattern RGB16I = 0x8D89

pattern RGBA8I = 0x8D8E

pattern RGB8I = 0x8D8F

pattern RED_INTEGER = 0x8D94

pattern RGB_INTEGER = 0x8D98

pattern RGBA_INTEGER = 0x8D99

pattern SAMPLER_2D_ARRAY = 0x8DC1

pattern SAMPLER_2D_ARRAY_SHADOW = 0x8DC4

pattern SAMPLER_CUBE_SHADOW = 0x8DC5

pattern UNSIGNED_INT_VEC2 = 0x8DC6

pattern UNSIGNED_INT_VEC3 = 0x8DC7

pattern UNSIGNED_INT_VEC4 = 0x8DC8

pattern INT_SAMPLER_2D = 0x8DCA

pattern INT_SAMPLER_3D = 0x8DCB

pattern INT_SAMPLER_CUBE = 0x8DCC

pattern INT_SAMPLER_2D_ARRAY = 0x8DCF

pattern UNSIGNED_INT_SAMPLER_2D = 0x8DD2

pattern UNSIGNED_INT_SAMPLER_3D = 0x8DD3

pattern UNSIGNED_INT_SAMPLER_CUBE = 0x8DD4

pattern UNSIGNED_INT_SAMPLER_2D_ARRAY = 0x8DD7

pattern DEPTH_COMPONENT32F = 0x8CAC

pattern DEPTH32F_STENCIL8 = 0x8CAD

pattern FLOAT_32_UNSIGNED_INT_24_8_REV = 0x8DAD

pattern FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 0x8210

pattern FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = 0x8211

pattern FRAMEBUFFER_ATTACHMENT_RED_SIZE = 0x8212

pattern FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = 0x8213

pattern FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = 0x8214

pattern FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = 0x8215

pattern FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = 0x8216

pattern FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = 0x8217

pattern FRAMEBUFFER_DEFAULT = 0x8218

pattern UNSIGNED_INT_24_8 = 0x84FA

pattern DEPTH24_STENCIL8 = 0x88F0

pattern UNSIGNED_NORMALIZED = 0x8C17

pattern DRAW_FRAMEBUFFER_BINDING = 0x8CA6

pattern READ_FRAMEBUFFER = 0x8CA8

pattern DRAW_FRAMEBUFFER = 0x8CA9

pattern READ_FRAMEBUFFER_BINDING = 0x8CAA

pattern RENDERBUFFER_SAMPLES = 0x8CAB

pattern FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 0x8CD4

pattern MAX_COLOR_ATTACHMENTS = 0x8CDF

pattern COLOR_ATTACHMENT1 = 0x8CE1

pattern COLOR_ATTACHMENT2 = 0x8CE2

pattern COLOR_ATTACHMENT3 = 0x8CE3

pattern COLOR_ATTACHMENT4 = 0x8CE4

pattern COLOR_ATTACHMENT5 = 0x8CE5

pattern COLOR_ATTACHMENT6 = 0x8CE6

pattern COLOR_ATTACHMENT7 = 0x8CE7

pattern COLOR_ATTACHMENT8 = 0x8CE8

pattern COLOR_ATTACHMENT9 = 0x8CE9

pattern COLOR_ATTACHMENT10 = 0x8CEA

pattern COLOR_ATTACHMENT11 = 0x8CEB

pattern COLOR_ATTACHMENT12 = 0x8CEC

pattern COLOR_ATTACHMENT13 = 0x8CED

pattern COLOR_ATTACHMENT14 = 0x8CEE

pattern COLOR_ATTACHMENT15 = 0x8CEF

pattern FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 0x8D56

pattern MAX_SAMPLES = 0x8D57

pattern HALF_FLOAT = 0x140B

pattern RG = 0x8227

pattern RG_INTEGER = 0x8228

pattern R8 = 0x8229

pattern RG8 = 0x822B

pattern R16F = 0x822D

pattern R32F = 0x822E

pattern RG16F = 0x822F

pattern RG32F = 0x8230

pattern R8I = 0x8231

pattern R8UI = 0x8232

pattern R16I = 0x8233

pattern R16UI = 0x8234

pattern R32I = 0x8235

pattern R32UI = 0x8236

pattern RG8I = 0x8237

pattern RG8UI = 0x8238

pattern RG16I = 0x8239

pattern RG16UI = 0x823A

pattern RG32I = 0x823B

pattern RG32UI = 0x823C

pattern VERTEX_ARRAY_BINDING = 0x85B5

pattern R8_SNORM = 0x8F94

pattern RG8_SNORM = 0x8F95

pattern RGB8_SNORM = 0x8F96

pattern RGBA8_SNORM = 0x8F97

pattern SIGNED_NORMALIZED = 0x8F9C

pattern COPY_READ_BUFFER = 0x8F36

pattern COPY_WRITE_BUFFER = 0x8F37

pattern COPY_READ_BUFFER_BINDING = 0x8F36

pattern COPY_WRITE_BUFFER_BINDING = 0x8F37

pattern UNIFORM_BUFFER = 0x8A11

pattern UNIFORM_BUFFER_BINDING = 0x8A28

pattern UNIFORM_BUFFER_START = 0x8A29

pattern UNIFORM_BUFFER_SIZE = 0x8A2A

pattern MAX_VERTEX_UNIFORM_BLOCKS = 0x8A2B

pattern MAX_FRAGMENT_UNIFORM_BLOCKS = 0x8A2D

pattern MAX_COMBINED_UNIFORM_BLOCKS = 0x8A2E

pattern MAX_UNIFORM_BUFFER_BINDINGS = 0x8A2F

pattern MAX_UNIFORM_BLOCK_SIZE = 0x8A30

pattern MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = 0x8A31

pattern MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = 0x8A33

pattern UNIFORM_BUFFER_OFFSET_ALIGNMENT = 0x8A34

pattern ACTIVE_UNIFORM_BLOCKS = 0x8A36

pattern UNIFORM_TYPE = 0x8A37

pattern UNIFORM_SIZE = 0x8A38

pattern UNIFORM_BLOCK_INDEX = 0x8A3A

pattern UNIFORM_OFFSET = 0x8A3B

pattern UNIFORM_ARRAY_STRIDE = 0x8A3C

pattern UNIFORM_MATRIX_STRIDE = 0x8A3D

pattern UNIFORM_IS_ROW_MAJOR = 0x8A3E

pattern UNIFORM_BLOCK_BINDING = 0x8A3F

pattern UNIFORM_BLOCK_DATA_SIZE = 0x8A40

pattern UNIFORM_BLOCK_ACTIVE_UNIFORMS = 0x8A42

pattern UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43

pattern UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44

pattern UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46

pattern INVALID_INDEX = 0xFFFFFFFF

pattern MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122

pattern MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125

pattern MAX_SERVER_WAIT_TIMEOUT = 0x9111

pattern OBJECT_TYPE = 0x9112

pattern SYNC_CONDITION = 0x9113

pattern SYNC_STATUS = 0x9114

pattern SYNC_FLAGS = 0x9115

pattern SYNC_FENCE = 0x9116

pattern SYNC_GPU_COMMANDS_COMPLETE = 0x9117

pattern UNSIGNALED = 0x9118

pattern SIGNALED = 0x9119

pattern ALREADY_SIGNALED = 0x911A

pattern TIMEOUT_EXPIRED = 0x911B

pattern CONDITION_SATISFIED = 0x911C

pattern WAIT_FAILED = 0x911D

pattern SYNC_FLUSH_COMMANDS_BIT = 0x00000001

pattern VERTEX_ATTRIB_ARRAY_DIVISOR = 0x88FE

pattern ANY_SAMPLES_PASSED = 0x8C2F

pattern ANY_SAMPLES_PASSED_CONSERVATIVE = 0x8D6A

pattern SAMPLER_BINDING = 0x8919

pattern RGB10_A2UI = 0x906F

pattern INT_2_10_10_10_REV = 0x8D9F

pattern TRANSFORM_FEEDBACK = 0x8E22

pattern TRANSFORM_FEEDBACK_PAUSED = 0x8E23

pattern TRANSFORM_FEEDBACK_ACTIVE = 0x8E24

pattern TRANSFORM_FEEDBACK_BINDING = 0x8E25

pattern TEXTURE_IMMUTABLE_FORMAT = 0x912F

pattern MAX_ELEMENT_INDEX = 0x8D6B

pattern TEXTURE_IMMUTABLE_LEVELS = 0x82DF

pattern TIMEOUT_IGNORED = (-1)

pattern MAX_CLIENT_WAIT_TIMEOUT_WEBGL = 0x9247