{-# LANGUAGE ForeignFunctionInterface #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -Wno-unused-imports #-}

-- This file was generated by wgpu-raw-hs-codegen on:
--   2021-08-15T08:56:06.968390
-- Using wgpu-native git hash:
--   b10496e7eed9349f0fd541e6dfe5029cb436de74 wgpu-native (v0.9.2.2)

module WGPU.Raw.Generated.Fun where

import Foreign
import Foreign.C
import WGPU.Raw.Generated.Enum.WGPUAdapterType
import WGPU.Raw.Generated.Enum.WGPUAddressMode
import WGPU.Raw.Generated.Enum.WGPUBackendType
import WGPU.Raw.Generated.Enum.WGPUBlendFactor
import WGPU.Raw.Generated.Enum.WGPUBlendOperation
import WGPU.Raw.Generated.Enum.WGPUBufferBindingType
import WGPU.Raw.Generated.Enum.WGPUBufferMapAsyncStatus
import WGPU.Raw.Generated.Enum.WGPUBufferUsage
import WGPU.Raw.Generated.Enum.WGPUColorWriteMask
import WGPU.Raw.Generated.Enum.WGPUCompareFunction
import WGPU.Raw.Generated.Enum.WGPUCreatePipelineAsyncStatus
import WGPU.Raw.Generated.Enum.WGPUCullMode
import WGPU.Raw.Generated.Enum.WGPUErrorFilter
import WGPU.Raw.Generated.Enum.WGPUErrorType
import WGPU.Raw.Generated.Enum.WGPUFilterMode
import WGPU.Raw.Generated.Enum.WGPUFrontFace
import WGPU.Raw.Generated.Enum.WGPUIndexFormat
import WGPU.Raw.Generated.Enum.WGPUInputStepMode
import WGPU.Raw.Generated.Enum.WGPULoadOp
import WGPU.Raw.Generated.Enum.WGPULogLevel
import WGPU.Raw.Generated.Enum.WGPUMapMode
import WGPU.Raw.Generated.Enum.WGPUNativeFeature
import WGPU.Raw.Generated.Enum.WGPUNativeSType
import WGPU.Raw.Generated.Enum.WGPUPipelineStatisticName
import WGPU.Raw.Generated.Enum.WGPUPresentMode
import WGPU.Raw.Generated.Enum.WGPUPrimitiveTopology
import WGPU.Raw.Generated.Enum.WGPUQueryType
import WGPU.Raw.Generated.Enum.WGPUQueueWorkDoneStatus
import WGPU.Raw.Generated.Enum.WGPUSType
import WGPU.Raw.Generated.Enum.WGPUSamplerBindingType
import WGPU.Raw.Generated.Enum.WGPUShaderStage
import WGPU.Raw.Generated.Enum.WGPUStencilOperation
import WGPU.Raw.Generated.Enum.WGPUStorageTextureAccess
import WGPU.Raw.Generated.Enum.WGPUStoreOp
import WGPU.Raw.Generated.Enum.WGPUTextureAspect
import WGPU.Raw.Generated.Enum.WGPUTextureComponentType
import WGPU.Raw.Generated.Enum.WGPUTextureDimension
import WGPU.Raw.Generated.Enum.WGPUTextureFormat
import WGPU.Raw.Generated.Enum.WGPUTextureSampleType
import WGPU.Raw.Generated.Enum.WGPUTextureUsage
import WGPU.Raw.Generated.Enum.WGPUTextureViewDimension
import WGPU.Raw.Generated.Enum.WGPUVertexFormat
import WGPU.Raw.Generated.Struct.WGPUAdapterExtras
import WGPU.Raw.Generated.Struct.WGPUAdapterProperties
import WGPU.Raw.Generated.Struct.WGPUBindGroupDescriptor
import WGPU.Raw.Generated.Struct.WGPUBindGroupEntry
import WGPU.Raw.Generated.Struct.WGPUBindGroupLayoutDescriptor
import WGPU.Raw.Generated.Struct.WGPUBindGroupLayoutEntry
import WGPU.Raw.Generated.Struct.WGPUBlendComponent
import WGPU.Raw.Generated.Struct.WGPUBlendState
import WGPU.Raw.Generated.Struct.WGPUBufferBindingLayout
import WGPU.Raw.Generated.Struct.WGPUBufferDescriptor
import WGPU.Raw.Generated.Struct.WGPUChainedStruct
import WGPU.Raw.Generated.Struct.WGPUColor
import WGPU.Raw.Generated.Struct.WGPUColorTargetState
import WGPU.Raw.Generated.Struct.WGPUCommandBufferDescriptor
import WGPU.Raw.Generated.Struct.WGPUCommandEncoderDescriptor
import WGPU.Raw.Generated.Struct.WGPUComputePassDescriptor
import WGPU.Raw.Generated.Struct.WGPUComputePipelineDescriptor
import WGPU.Raw.Generated.Struct.WGPUDepthStencilState
import WGPU.Raw.Generated.Struct.WGPUDeviceDescriptor
import WGPU.Raw.Generated.Struct.WGPUDeviceExtras
import WGPU.Raw.Generated.Struct.WGPUExtent3D
import WGPU.Raw.Generated.Struct.WGPUFragmentState
import WGPU.Raw.Generated.Struct.WGPUImageCopyBuffer
import WGPU.Raw.Generated.Struct.WGPUImageCopyTexture
import WGPU.Raw.Generated.Struct.WGPUInstanceDescriptor
import WGPU.Raw.Generated.Struct.WGPUMultisampleState
import WGPU.Raw.Generated.Struct.WGPUOrigin3D
import WGPU.Raw.Generated.Struct.WGPUPipelineLayoutDescriptor
import WGPU.Raw.Generated.Struct.WGPUPrimitiveDepthClampingState
import WGPU.Raw.Generated.Struct.WGPUPrimitiveState
import WGPU.Raw.Generated.Struct.WGPUProgrammableStageDescriptor
import WGPU.Raw.Generated.Struct.WGPUQuerySetDescriptor
import WGPU.Raw.Generated.Struct.WGPURenderBundleDescriptor
import WGPU.Raw.Generated.Struct.WGPURenderBundleEncoderDescriptor
import WGPU.Raw.Generated.Struct.WGPURenderPassColorAttachment
import WGPU.Raw.Generated.Struct.WGPURenderPassDepthStencilAttachment
import WGPU.Raw.Generated.Struct.WGPURenderPassDescriptor
import WGPU.Raw.Generated.Struct.WGPURenderPipelineDescriptor
import WGPU.Raw.Generated.Struct.WGPURequestAdapterOptions
import WGPU.Raw.Generated.Struct.WGPUSamplerBindingLayout
import WGPU.Raw.Generated.Struct.WGPUSamplerDescriptor
import WGPU.Raw.Generated.Struct.WGPUShaderModuleDescriptor
import WGPU.Raw.Generated.Struct.WGPUShaderModuleSPIRVDescriptor
import WGPU.Raw.Generated.Struct.WGPUShaderModuleWGSLDescriptor
import WGPU.Raw.Generated.Struct.WGPUStencilFaceState
import WGPU.Raw.Generated.Struct.WGPUStorageTextureBindingLayout
import WGPU.Raw.Generated.Struct.WGPUSurfaceDescriptor
import WGPU.Raw.Generated.Struct.WGPUSurfaceDescriptorFromCanvasHTMLSelector
import WGPU.Raw.Generated.Struct.WGPUSurfaceDescriptorFromMetalLayer
import WGPU.Raw.Generated.Struct.WGPUSurfaceDescriptorFromWindowsHWND
import WGPU.Raw.Generated.Struct.WGPUSurfaceDescriptorFromXlib
import WGPU.Raw.Generated.Struct.WGPUSwapChainDescriptor
import WGPU.Raw.Generated.Struct.WGPUTextureBindingLayout
import WGPU.Raw.Generated.Struct.WGPUTextureDataLayout
import WGPU.Raw.Generated.Struct.WGPUTextureDescriptor
import WGPU.Raw.Generated.Struct.WGPUTextureViewDescriptor
import WGPU.Raw.Generated.Struct.WGPUVertexAttribute
import WGPU.Raw.Generated.Struct.WGPUVertexBufferLayout
import WGPU.Raw.Generated.Struct.WGPUVertexState
import WGPU.Raw.Types
import Prelude (IO, String, pure, (<$>))

data WGPUHsInstance = WGPUHsInstance
  { WGPUHsInstance -> WGPUAdapter -> Ptr WGPUAdapterProperties -> IO ()
wgpuAdapterGetProperties :: WGPUAdapter -> Ptr (WGPUAdapterProperties) -> IO (()),
    WGPUHsInstance
-> WGPUAdapter
-> Ptr WGPUDeviceDescriptor
-> WGPURequestDeviceCallback
-> Ptr ()
-> IO ()
wgpuAdapterRequestDevice :: WGPUAdapter -> Ptr (WGPUDeviceDescriptor) -> WGPURequestDeviceCallback -> Ptr (()) -> IO (()),
    WGPUHsInstance -> WGPUBuffer -> IO ()
wgpuBufferDestroy :: WGPUBuffer -> IO (()),
    WGPUHsInstance -> WGPUBuffer -> CSize -> CSize -> IO (Ptr ())
wgpuBufferGetMappedRange :: WGPUBuffer -> CSize -> CSize -> IO (Ptr (())),
    WGPUHsInstance
-> WGPUBuffer
-> WGPUMapModeFlags
-> CSize
-> CSize
-> WGPUBufferMapCallback
-> Ptr ()
-> IO ()
wgpuBufferMapAsync :: WGPUBuffer -> WGPUMapModeFlags -> CSize -> CSize -> WGPUBufferMapCallback -> Ptr (()) -> IO (()),
    WGPUHsInstance -> WGPUBuffer -> IO ()
wgpuBufferUnmap :: WGPUBuffer -> IO (()),
    WGPUHsInstance
-> WGPUCommandEncoder
-> Ptr WGPUComputePassDescriptor
-> IO WGPUComputePassEncoder
wgpuCommandEncoderBeginComputePass :: WGPUCommandEncoder -> Ptr (WGPUComputePassDescriptor) -> IO (WGPUComputePassEncoder),
    WGPUHsInstance
-> WGPUCommandEncoder
-> Ptr WGPURenderPassDescriptor
-> IO WGPURenderPassEncoder
wgpuCommandEncoderBeginRenderPass :: WGPUCommandEncoder -> Ptr (WGPURenderPassDescriptor) -> IO (WGPURenderPassEncoder),
    WGPUHsInstance
-> WGPUCommandEncoder
-> WGPUBuffer
-> Word64
-> WGPUBuffer
-> Word64
-> Word64
-> IO ()
wgpuCommandEncoderCopyBufferToBuffer :: WGPUCommandEncoder -> WGPUBuffer -> Word64 -> WGPUBuffer -> Word64 -> Word64 -> IO (()),
    WGPUHsInstance
-> WGPUCommandEncoder
-> Ptr WGPUImageCopyBuffer
-> Ptr WGPUImageCopyTexture
-> Ptr WGPUExtent3D
-> IO ()
wgpuCommandEncoderCopyBufferToTexture :: WGPUCommandEncoder -> Ptr (WGPUImageCopyBuffer) -> Ptr (WGPUImageCopyTexture) -> Ptr (WGPUExtent3D) -> IO (()),
    WGPUHsInstance
-> WGPUCommandEncoder
-> Ptr WGPUImageCopyTexture
-> Ptr WGPUImageCopyTexture
-> Ptr WGPUExtent3D
-> IO ()
wgpuCommandEncoderCopyTextureToTexture :: WGPUCommandEncoder -> Ptr (WGPUImageCopyTexture) -> Ptr (WGPUImageCopyTexture) -> Ptr (WGPUExtent3D) -> IO (()),
    WGPUHsInstance
-> WGPUCommandEncoder
-> Ptr WGPUImageCopyTexture
-> Ptr WGPUImageCopyBuffer
-> Ptr WGPUExtent3D
-> IO ()
wgpuCommandEncoderCopyTextureToBuffer :: WGPUCommandEncoder -> Ptr (WGPUImageCopyTexture) -> Ptr (WGPUImageCopyBuffer) -> Ptr (WGPUExtent3D) -> IO (()),
    WGPUHsInstance
-> WGPUCommandEncoder
-> Ptr WGPUCommandBufferDescriptor
-> IO WGPUCommandBuffer
wgpuCommandEncoderFinish :: WGPUCommandEncoder -> Ptr (WGPUCommandBufferDescriptor) -> IO (WGPUCommandBuffer),
    WGPUHsInstance
-> WGPUComputePassEncoder
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> IO ()
wgpuComputePassEncoderDispatch :: WGPUComputePassEncoder -> Word32 -> Word32 -> Word32 -> IO (()),
    WGPUHsInstance
-> WGPUComputePassEncoder -> WGPUBuffer -> Word64 -> IO ()
wgpuComputePassEncoderDispatchIndirect :: WGPUComputePassEncoder -> WGPUBuffer -> Word64 -> IO (()),
    WGPUHsInstance -> WGPUComputePassEncoder -> IO ()
wgpuComputePassEncoderEndPass :: WGPUComputePassEncoder -> IO (()),
    WGPUHsInstance
-> WGPUComputePassEncoder
-> WGPUMapModeFlags
-> WGPUBindGroup
-> WGPUMapModeFlags
-> Ptr WGPUMapModeFlags
-> IO ()
wgpuComputePassEncoderSetBindGroup :: WGPUComputePassEncoder -> Word32 -> WGPUBindGroup -> Word32 -> Ptr (Word32) -> IO (()),
    WGPUHsInstance
-> WGPUComputePassEncoder -> WGPUComputePipeline -> IO ()
wgpuComputePassEncoderSetPipeline :: WGPUComputePassEncoder -> WGPUComputePipeline -> IO (()),
    WGPUHsInstance
-> WGPUDevice -> Ptr WGPUBindGroupDescriptor -> IO WGPUBindGroup
wgpuDeviceCreateBindGroup :: WGPUDevice -> Ptr (WGPUBindGroupDescriptor) -> IO (WGPUBindGroup),
    WGPUHsInstance
-> WGPUDevice
-> Ptr WGPUBindGroupLayoutDescriptor
-> IO WGPUBindGroupLayout
wgpuDeviceCreateBindGroupLayout :: WGPUDevice -> Ptr (WGPUBindGroupLayoutDescriptor) -> IO (WGPUBindGroupLayout),
    WGPUHsInstance
-> WGPUDevice -> Ptr WGPUBufferDescriptor -> IO WGPUBuffer
wgpuDeviceCreateBuffer :: WGPUDevice -> Ptr (WGPUBufferDescriptor) -> IO (WGPUBuffer),
    WGPUHsInstance
-> WGPUDevice
-> Ptr WGPUCommandEncoderDescriptor
-> IO WGPUCommandEncoder
wgpuDeviceCreateCommandEncoder :: WGPUDevice -> Ptr (WGPUCommandEncoderDescriptor) -> IO (WGPUCommandEncoder),
    WGPUHsInstance
-> WGPUDevice
-> Ptr WGPUComputePipelineDescriptor
-> IO WGPUComputePipeline
wgpuDeviceCreateComputePipeline :: WGPUDevice -> Ptr (WGPUComputePipelineDescriptor) -> IO (WGPUComputePipeline),
    WGPUHsInstance
-> WGPUDevice
-> Ptr WGPUPipelineLayoutDescriptor
-> IO WGPUPipelineLayout
wgpuDeviceCreatePipelineLayout :: WGPUDevice -> Ptr (WGPUPipelineLayoutDescriptor) -> IO (WGPUPipelineLayout),
    WGPUHsInstance
-> WGPUDevice
-> Ptr WGPURenderPipelineDescriptor
-> IO WGPURenderPipeline
wgpuDeviceCreateRenderPipeline :: WGPUDevice -> Ptr (WGPURenderPipelineDescriptor) -> IO (WGPURenderPipeline),
    WGPUHsInstance
-> WGPUDevice -> Ptr WGPUSamplerDescriptor -> IO WGPUSampler
wgpuDeviceCreateSampler :: WGPUDevice -> Ptr (WGPUSamplerDescriptor) -> IO (WGPUSampler),
    WGPUHsInstance
-> WGPUDevice
-> Ptr WGPUShaderModuleDescriptor
-> IO WGPUShaderModule
wgpuDeviceCreateShaderModule :: WGPUDevice -> Ptr (WGPUShaderModuleDescriptor) -> IO (WGPUShaderModule),
    WGPUHsInstance
-> WGPUDevice
-> WGPUSurface
-> Ptr WGPUSwapChainDescriptor
-> IO WGPUSwapChain
wgpuDeviceCreateSwapChain :: WGPUDevice -> WGPUSurface -> Ptr (WGPUSwapChainDescriptor) -> IO (WGPUSwapChain),
    WGPUHsInstance
-> WGPUDevice -> Ptr WGPUTextureDescriptor -> IO WGPUTexture
wgpuDeviceCreateTexture :: WGPUDevice -> Ptr (WGPUTextureDescriptor) -> IO (WGPUTexture),
    WGPUHsInstance -> WGPUDevice -> IO WGPUQueue
wgpuDeviceGetQueue :: WGPUDevice -> IO (WGPUQueue),
    WGPUHsInstance
-> WGPUInstance -> Ptr WGPUSurfaceDescriptor -> IO WGPUSurface
wgpuInstanceCreateSurface :: WGPUInstance -> Ptr (WGPUSurfaceDescriptor) -> IO (WGPUSurface),
    WGPUHsInstance
-> WGPUInstance
-> Ptr WGPURequestAdapterOptions
-> WGPURequestAdapterCallback
-> Ptr ()
-> IO ()
wgpuInstanceRequestAdapter :: WGPUInstance -> Ptr (WGPURequestAdapterOptions) -> WGPURequestAdapterCallback -> Ptr (()) -> IO (()),
    WGPUHsInstance
-> WGPUQueue -> WGPUMapModeFlags -> Ptr WGPUCommandBuffer -> IO ()
wgpuQueueSubmit :: WGPUQueue -> Word32 -> Ptr (WGPUCommandBuffer) -> IO (()),
    WGPUHsInstance
-> WGPUQueue -> WGPUBuffer -> Word64 -> Ptr () -> CSize -> IO ()
wgpuQueueWriteBuffer :: WGPUQueue -> WGPUBuffer -> Word64 -> Ptr (()) -> CSize -> IO (()),
    WGPUHsInstance
-> WGPUQueue
-> Ptr WGPUImageCopyTexture
-> Ptr ()
-> CSize
-> Ptr WGPUTextureDataLayout
-> Ptr WGPUExtent3D
-> IO ()
wgpuQueueWriteTexture :: WGPUQueue -> Ptr (WGPUImageCopyTexture) -> Ptr (()) -> CSize -> Ptr (WGPUTextureDataLayout) -> Ptr (WGPUExtent3D) -> IO (()),
    WGPUHsInstance
-> WGPURenderPassEncoder
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> IO ()
wgpuRenderPassEncoderDraw :: WGPURenderPassEncoder -> Word32 -> Word32 -> Word32 -> Word32 -> IO (()),
    WGPUHsInstance
-> WGPURenderPassEncoder
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> Int32
-> WGPUMapModeFlags
-> IO ()
wgpuRenderPassEncoderDrawIndexed :: WGPURenderPassEncoder -> Word32 -> Word32 -> Word32 -> Int32 -> Word32 -> IO (()),
    WGPUHsInstance
-> WGPURenderPassEncoder -> WGPUBuffer -> Word64 -> IO ()
wgpuRenderPassEncoderDrawIndexedIndirect :: WGPURenderPassEncoder -> WGPUBuffer -> Word64 -> IO (()),
    WGPUHsInstance
-> WGPURenderPassEncoder -> WGPUBuffer -> Word64 -> IO ()
wgpuRenderPassEncoderDrawIndirect :: WGPURenderPassEncoder -> WGPUBuffer -> Word64 -> IO (()),
    WGPUHsInstance -> WGPURenderPassEncoder -> IO ()
wgpuRenderPassEncoderEndPass :: WGPURenderPassEncoder -> IO (()),
    WGPUHsInstance
-> WGPURenderPassEncoder
-> WGPUMapModeFlags
-> WGPUBindGroup
-> WGPUMapModeFlags
-> Ptr WGPUMapModeFlags
-> IO ()
wgpuRenderPassEncoderSetBindGroup :: WGPURenderPassEncoder -> Word32 -> WGPUBindGroup -> Word32 -> Ptr (Word32) -> IO (()),
    WGPUHsInstance -> WGPURenderPassEncoder -> Ptr WGPUColor -> IO ()
wgpuRenderPassEncoderSetBlendConstant :: WGPURenderPassEncoder -> Ptr (WGPUColor) -> IO (()),
    WGPUHsInstance
-> WGPURenderPassEncoder
-> WGPUBuffer
-> WGPUIndexFormat
-> Word64
-> Word64
-> IO ()
wgpuRenderPassEncoderSetIndexBuffer :: WGPURenderPassEncoder -> WGPUBuffer -> WGPUIndexFormat -> Word64 -> Word64 -> IO (()),
    WGPUHsInstance
-> WGPURenderPassEncoder -> WGPURenderPipeline -> IO ()
wgpuRenderPassEncoderSetPipeline :: WGPURenderPassEncoder -> WGPURenderPipeline -> IO (()),
    WGPUHsInstance
-> WGPURenderPassEncoder
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> IO ()
wgpuRenderPassEncoderSetScissorRect :: WGPURenderPassEncoder -> Word32 -> Word32 -> Word32 -> Word32 -> IO (()),
    WGPUHsInstance
-> WGPURenderPassEncoder -> WGPUMapModeFlags -> IO ()
wgpuRenderPassEncoderSetStencilReference :: WGPURenderPassEncoder -> Word32 -> IO (()),
    WGPUHsInstance
-> WGPURenderPassEncoder
-> WGPUMapModeFlags
-> WGPUBuffer
-> Word64
-> Word64
-> IO ()
wgpuRenderPassEncoderSetVertexBuffer :: WGPURenderPassEncoder -> Word32 -> WGPUBuffer -> Word64 -> Word64 -> IO (()),
    WGPUHsInstance
-> WGPURenderPassEncoder
-> CFloat
-> CFloat
-> CFloat
-> CFloat
-> CFloat
-> CFloat
-> IO ()
wgpuRenderPassEncoderSetViewport :: WGPURenderPassEncoder -> CFloat -> CFloat -> CFloat -> CFloat -> CFloat -> CFloat -> IO (()),
    WGPUHsInstance
-> WGPUSurface
-> WGPUAdapter
-> WGPUSurfaceGetPreferredFormatCallback
-> Ptr ()
-> IO ()
wgpuSurfaceGetPreferredFormat :: WGPUSurface -> WGPUAdapter -> WGPUSurfaceGetPreferredFormatCallback -> Ptr (()) -> IO (()),
    WGPUHsInstance -> WGPUSwapChain -> IO WGPUTextureView
wgpuSwapChainGetCurrentTextureView :: WGPUSwapChain -> IO (WGPUTextureView),
    WGPUHsInstance -> WGPUSwapChain -> IO ()
wgpuSwapChainPresent :: WGPUSwapChain -> IO (()),
    WGPUHsInstance
-> WGPUTexture
-> Ptr WGPUTextureViewDescriptor
-> IO WGPUTextureView
wgpuTextureCreateView :: WGPUTexture -> Ptr (WGPUTextureViewDescriptor) -> IO (WGPUTextureView),
    WGPUHsInstance -> WGPUTexture -> IO ()
wgpuTextureDestroy :: WGPUTexture -> IO (()),
    WGPUHsInstance -> WGPUDevice -> CBool -> IO ()
wgpuDevicePoll :: WGPUDevice -> CBool -> IO (()),
    WGPUHsInstance -> WGPULogCallback -> IO ()
wgpuSetLogCallback :: WGPULogCallback -> IO (()),
    WGPUHsInstance -> WGPULogLevel -> IO ()
wgpuSetLogLevel :: WGPULogLevel -> IO (()),
    WGPUHsInstance -> IO WGPUMapModeFlags
wgpuGetVersion :: IO (Word32),
    WGPUHsInstance
-> WGPURenderPassEncoder
-> WGPUShaderStage
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> Ptr ()
-> IO ()
wgpuRenderPassEncoderSetPushConstants :: WGPURenderPassEncoder -> WGPUShaderStage -> Word32 -> Word32 -> Ptr (()) -> IO (())
  }

loadDynamicInstance ::
  (forall a. String -> IO (FunPtr a)) ->
  IO WGPUHsInstance
loadDynamicInstance :: (forall a. String -> IO (FunPtr a)) -> IO WGPUHsInstance
loadDynamicInstance forall a. String -> IO (FunPtr a)
load = do
  WGPUAdapter -> Ptr WGPUAdapterProperties -> IO ()
wgpuAdapterGetProperties <- FunPtr (WGPUAdapter -> Ptr WGPUAdapterProperties -> IO ())
-> WGPUAdapter -> Ptr WGPUAdapterProperties -> IO ()
mk_wgpuhsfn_wgpuAdapterGetProperties (FunPtr (WGPUAdapter -> Ptr WGPUAdapterProperties -> IO ())
 -> WGPUAdapter -> Ptr WGPUAdapterProperties -> IO ())
-> IO (FunPtr (WGPUAdapter -> Ptr WGPUAdapterProperties -> IO ()))
-> IO (WGPUAdapter -> Ptr WGPUAdapterProperties -> IO ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String
-> IO (FunPtr (WGPUAdapter -> Ptr WGPUAdapterProperties -> IO ()))
forall a. String -> IO (FunPtr a)
load String
"wgpuAdapterGetProperties"
  WGPUAdapter
-> Ptr WGPUDeviceDescriptor
-> WGPURequestDeviceCallback
-> Ptr ()
-> IO ()
wgpuAdapterRequestDevice <- FunPtr
  (WGPUAdapter
   -> Ptr WGPUDeviceDescriptor
   -> WGPURequestDeviceCallback
   -> Ptr ()
   -> IO ())
-> WGPUAdapter
-> Ptr WGPUDeviceDescriptor
-> WGPURequestDeviceCallback
-> Ptr ()
-> IO ()
mk_wgpuhsfn_wgpuAdapterRequestDevice (FunPtr
   (WGPUAdapter
    -> Ptr WGPUDeviceDescriptor
    -> WGPURequestDeviceCallback
    -> Ptr ()
    -> IO ())
 -> WGPUAdapter
 -> Ptr WGPUDeviceDescriptor
 -> WGPURequestDeviceCallback
 -> Ptr ()
 -> IO ())
-> IO
     (FunPtr
        (WGPUAdapter
         -> Ptr WGPUDeviceDescriptor
         -> WGPURequestDeviceCallback
         -> Ptr ()
         -> IO ()))
-> IO
     (WGPUAdapter
      -> Ptr WGPUDeviceDescriptor
      -> WGPURequestDeviceCallback
      -> Ptr ()
      -> IO ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String
-> IO
     (FunPtr
        (WGPUAdapter
         -> Ptr WGPUDeviceDescriptor
         -> WGPURequestDeviceCallback
         -> Ptr ()
         -> IO ()))
forall a. String -> IO (FunPtr a)
load String
"wgpuAdapterRequestDevice"
  WGPUBuffer -> IO ()
wgpuBufferDestroy <- FunPtr (WGPUBuffer -> IO ()) -> WGPUBuffer -> IO ()
mk_wgpuhsfn_wgpuBufferDestroy (FunPtr (WGPUBuffer -> IO ()) -> WGPUBuffer -> IO ())
-> IO (FunPtr (WGPUBuffer -> IO ())) -> IO (WGPUBuffer -> IO ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String -> IO (FunPtr (WGPUBuffer -> IO ()))
forall a. String -> IO (FunPtr a)
load String
"wgpuBufferDestroy"
  WGPUBuffer -> CSize -> CSize -> IO (Ptr ())
wgpuBufferGetMappedRange <- FunPtr (WGPUBuffer -> CSize -> CSize -> IO (Ptr ()))
-> WGPUBuffer -> CSize -> CSize -> IO (Ptr ())
mk_wgpuhsfn_wgpuBufferGetMappedRange (FunPtr (WGPUBuffer -> CSize -> CSize -> IO (Ptr ()))
 -> WGPUBuffer -> CSize -> CSize -> IO (Ptr ()))
-> IO (FunPtr (WGPUBuffer -> CSize -> CSize -> IO (Ptr ())))
-> IO (WGPUBuffer -> CSize -> CSize -> IO (Ptr ()))
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String -> IO (FunPtr (WGPUBuffer -> CSize -> CSize -> IO (Ptr ())))
forall a. String -> IO (FunPtr a)
load String
"wgpuBufferGetMappedRange"
  WGPUBuffer
-> WGPUMapModeFlags
-> CSize
-> CSize
-> WGPUBufferMapCallback
-> Ptr ()
-> IO ()
wgpuBufferMapAsync <- FunPtr
  (WGPUBuffer
   -> WGPUMapModeFlags
   -> CSize
   -> CSize
   -> WGPUBufferMapCallback
   -> Ptr ()
   -> IO ())
-> WGPUBuffer
-> WGPUMapModeFlags
-> CSize
-> CSize
-> WGPUBufferMapCallback
-> Ptr ()
-> IO ()
mk_wgpuhsfn_wgpuBufferMapAsync (FunPtr
   (WGPUBuffer
    -> WGPUMapModeFlags
    -> CSize
    -> CSize
    -> WGPUBufferMapCallback
    -> Ptr ()
    -> IO ())
 -> WGPUBuffer
 -> WGPUMapModeFlags
 -> CSize
 -> CSize
 -> WGPUBufferMapCallback
 -> Ptr ()
 -> IO ())
-> IO
     (FunPtr
        (WGPUBuffer
         -> WGPUMapModeFlags
         -> CSize
         -> CSize
         -> WGPUBufferMapCallback
         -> Ptr ()
         -> IO ()))
-> IO
     (WGPUBuffer
      -> WGPUMapModeFlags
      -> CSize
      -> CSize
      -> WGPUBufferMapCallback
      -> Ptr ()
      -> IO ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String
-> IO
     (FunPtr
        (WGPUBuffer
         -> WGPUMapModeFlags
         -> CSize
         -> CSize
         -> WGPUBufferMapCallback
         -> Ptr ()
         -> IO ()))
forall a. String -> IO (FunPtr a)
load String
"wgpuBufferMapAsync"
  WGPUBuffer -> IO ()
wgpuBufferUnmap <- FunPtr (WGPUBuffer -> IO ()) -> WGPUBuffer -> IO ()
mk_wgpuhsfn_wgpuBufferUnmap (FunPtr (WGPUBuffer -> IO ()) -> WGPUBuffer -> IO ())
-> IO (FunPtr (WGPUBuffer -> IO ())) -> IO (WGPUBuffer -> IO ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String -> IO (FunPtr (WGPUBuffer -> IO ()))
forall a. String -> IO (FunPtr a)
load String
"wgpuBufferUnmap"
  WGPUCommandEncoder
-> Ptr WGPUComputePassDescriptor -> IO WGPUComputePassEncoder
wgpuCommandEncoderBeginComputePass <- FunPtr
  (WGPUCommandEncoder
   -> Ptr WGPUComputePassDescriptor -> IO WGPUComputePassEncoder)
-> WGPUCommandEncoder
-> Ptr WGPUComputePassDescriptor
-> IO WGPUComputePassEncoder
mk_wgpuhsfn_wgpuCommandEncoderBeginComputePass (FunPtr
   (WGPUCommandEncoder
    -> Ptr WGPUComputePassDescriptor -> IO WGPUComputePassEncoder)
 -> WGPUCommandEncoder
 -> Ptr WGPUComputePassDescriptor
 -> IO WGPUComputePassEncoder)
-> IO
     (FunPtr
        (WGPUCommandEncoder
         -> Ptr WGPUComputePassDescriptor -> IO WGPUComputePassEncoder))
-> IO
     (WGPUCommandEncoder
      -> Ptr WGPUComputePassDescriptor -> IO WGPUComputePassEncoder)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String
-> IO
     (FunPtr
        (WGPUCommandEncoder
         -> Ptr WGPUComputePassDescriptor -> IO WGPUComputePassEncoder))
forall a. String -> IO (FunPtr a)
load String
"wgpuCommandEncoderBeginComputePass"
  WGPUCommandEncoder
-> Ptr WGPURenderPassDescriptor -> IO WGPURenderPassEncoder
wgpuCommandEncoderBeginRenderPass <- FunPtr
  (WGPUCommandEncoder
   -> Ptr WGPURenderPassDescriptor -> IO WGPURenderPassEncoder)
-> WGPUCommandEncoder
-> Ptr WGPURenderPassDescriptor
-> IO WGPURenderPassEncoder
mk_wgpuhsfn_wgpuCommandEncoderBeginRenderPass (FunPtr
   (WGPUCommandEncoder
    -> Ptr WGPURenderPassDescriptor -> IO WGPURenderPassEncoder)
 -> WGPUCommandEncoder
 -> Ptr WGPURenderPassDescriptor
 -> IO WGPURenderPassEncoder)
-> IO
     (FunPtr
        (WGPUCommandEncoder
         -> Ptr WGPURenderPassDescriptor -> IO WGPURenderPassEncoder))
-> IO
     (WGPUCommandEncoder
      -> Ptr WGPURenderPassDescriptor -> IO WGPURenderPassEncoder)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String
-> IO
     (FunPtr
        (WGPUCommandEncoder
         -> Ptr WGPURenderPassDescriptor -> IO WGPURenderPassEncoder))
forall a. String -> IO (FunPtr a)
load String
"wgpuCommandEncoderBeginRenderPass"
  WGPUCommandEncoder
-> WGPUBuffer -> Word64 -> WGPUBuffer -> Word64 -> Word64 -> IO ()
wgpuCommandEncoderCopyBufferToBuffer <- FunPtr
  (WGPUCommandEncoder
   -> WGPUBuffer -> Word64 -> WGPUBuffer -> Word64 -> Word64 -> IO ())
-> WGPUCommandEncoder
-> WGPUBuffer
-> Word64
-> WGPUBuffer
-> Word64
-> Word64
-> IO ()
mk_wgpuhsfn_wgpuCommandEncoderCopyBufferToBuffer (FunPtr
   (WGPUCommandEncoder
    -> WGPUBuffer -> Word64 -> WGPUBuffer -> Word64 -> Word64 -> IO ())
 -> WGPUCommandEncoder
 -> WGPUBuffer
 -> Word64
 -> WGPUBuffer
 -> Word64
 -> Word64
 -> IO ())
-> IO
     (FunPtr
        (WGPUCommandEncoder
         -> WGPUBuffer
         -> Word64
         -> WGPUBuffer
         -> Word64
         -> Word64
         -> IO ()))
-> IO
     (WGPUCommandEncoder
      -> WGPUBuffer -> Word64 -> WGPUBuffer -> Word64 -> Word64 -> IO ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String
-> IO
     (FunPtr
        (WGPUCommandEncoder
         -> WGPUBuffer
         -> Word64
         -> WGPUBuffer
         -> Word64
         -> Word64
         -> IO ()))
forall a. String -> IO (FunPtr a)
load String
"wgpuCommandEncoderCopyBufferToBuffer"
  WGPUCommandEncoder
-> Ptr WGPUImageCopyBuffer
-> Ptr WGPUImageCopyTexture
-> Ptr WGPUExtent3D
-> IO ()
wgpuCommandEncoderCopyBufferToTexture <- FunPtr
  (WGPUCommandEncoder
   -> Ptr WGPUImageCopyBuffer
   -> Ptr WGPUImageCopyTexture
   -> Ptr WGPUExtent3D
   -> IO ())
-> WGPUCommandEncoder
-> Ptr WGPUImageCopyBuffer
-> Ptr WGPUImageCopyTexture
-> Ptr WGPUExtent3D
-> IO ()
mk_wgpuhsfn_wgpuCommandEncoderCopyBufferToTexture (FunPtr
   (WGPUCommandEncoder
    -> Ptr WGPUImageCopyBuffer
    -> Ptr WGPUImageCopyTexture
    -> Ptr WGPUExtent3D
    -> IO ())
 -> WGPUCommandEncoder
 -> Ptr WGPUImageCopyBuffer
 -> Ptr WGPUImageCopyTexture
 -> Ptr WGPUExtent3D
 -> IO ())
-> IO
     (FunPtr
        (WGPUCommandEncoder
         -> Ptr WGPUImageCopyBuffer
         -> Ptr WGPUImageCopyTexture
         -> Ptr WGPUExtent3D
         -> IO ()))
-> IO
     (WGPUCommandEncoder
      -> Ptr WGPUImageCopyBuffer
      -> Ptr WGPUImageCopyTexture
      -> Ptr WGPUExtent3D
      -> IO ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String
-> IO
     (FunPtr
        (WGPUCommandEncoder
         -> Ptr WGPUImageCopyBuffer
         -> Ptr WGPUImageCopyTexture
         -> Ptr WGPUExtent3D
         -> IO ()))
forall a. String -> IO (FunPtr a)
load String
"wgpuCommandEncoderCopyBufferToTexture"
  WGPUCommandEncoder
-> Ptr WGPUImageCopyTexture
-> Ptr WGPUImageCopyTexture
-> Ptr WGPUExtent3D
-> IO ()
wgpuCommandEncoderCopyTextureToTexture <- FunPtr
  (WGPUCommandEncoder
   -> Ptr WGPUImageCopyTexture
   -> Ptr WGPUImageCopyTexture
   -> Ptr WGPUExtent3D
   -> IO ())
-> WGPUCommandEncoder
-> Ptr WGPUImageCopyTexture
-> Ptr WGPUImageCopyTexture
-> Ptr WGPUExtent3D
-> IO ()
mk_wgpuhsfn_wgpuCommandEncoderCopyTextureToTexture (FunPtr
   (WGPUCommandEncoder
    -> Ptr WGPUImageCopyTexture
    -> Ptr WGPUImageCopyTexture
    -> Ptr WGPUExtent3D
    -> IO ())
 -> WGPUCommandEncoder
 -> Ptr WGPUImageCopyTexture
 -> Ptr WGPUImageCopyTexture
 -> Ptr WGPUExtent3D
 -> IO ())
-> IO
     (FunPtr
        (WGPUCommandEncoder
         -> Ptr WGPUImageCopyTexture
         -> Ptr WGPUImageCopyTexture
         -> Ptr WGPUExtent3D
         -> IO ()))
-> IO
     (WGPUCommandEncoder
      -> Ptr WGPUImageCopyTexture
      -> Ptr WGPUImageCopyTexture
      -> Ptr WGPUExtent3D
      -> IO ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String
-> IO
     (FunPtr
        (WGPUCommandEncoder
         -> Ptr WGPUImageCopyTexture
         -> Ptr WGPUImageCopyTexture
         -> Ptr WGPUExtent3D
         -> IO ()))
forall a. String -> IO (FunPtr a)
load String
"wgpuCommandEncoderCopyTextureToTexture"
  WGPUCommandEncoder
-> Ptr WGPUImageCopyTexture
-> Ptr WGPUImageCopyBuffer
-> Ptr WGPUExtent3D
-> IO ()
wgpuCommandEncoderCopyTextureToBuffer <- FunPtr
  (WGPUCommandEncoder
   -> Ptr WGPUImageCopyTexture
   -> Ptr WGPUImageCopyBuffer
   -> Ptr WGPUExtent3D
   -> IO ())
-> WGPUCommandEncoder
-> Ptr WGPUImageCopyTexture
-> Ptr WGPUImageCopyBuffer
-> Ptr WGPUExtent3D
-> IO ()
mk_wgpuhsfn_wgpuCommandEncoderCopyTextureToBuffer (FunPtr
   (WGPUCommandEncoder
    -> Ptr WGPUImageCopyTexture
    -> Ptr WGPUImageCopyBuffer
    -> Ptr WGPUExtent3D
    -> IO ())
 -> WGPUCommandEncoder
 -> Ptr WGPUImageCopyTexture
 -> Ptr WGPUImageCopyBuffer
 -> Ptr WGPUExtent3D
 -> IO ())
-> IO
     (FunPtr
        (WGPUCommandEncoder
         -> Ptr WGPUImageCopyTexture
         -> Ptr WGPUImageCopyBuffer
         -> Ptr WGPUExtent3D
         -> IO ()))
-> IO
     (WGPUCommandEncoder
      -> Ptr WGPUImageCopyTexture
      -> Ptr WGPUImageCopyBuffer
      -> Ptr WGPUExtent3D
      -> IO ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String
-> IO
     (FunPtr
        (WGPUCommandEncoder
         -> Ptr WGPUImageCopyTexture
         -> Ptr WGPUImageCopyBuffer
         -> Ptr WGPUExtent3D
         -> IO ()))
forall a. String -> IO (FunPtr a)
load String
"wgpuCommandEncoderCopyTextureToBuffer"
  WGPUCommandEncoder
-> Ptr WGPUCommandBufferDescriptor -> IO WGPUCommandBuffer
wgpuCommandEncoderFinish <- FunPtr
  (WGPUCommandEncoder
   -> Ptr WGPUCommandBufferDescriptor -> IO WGPUCommandBuffer)
-> WGPUCommandEncoder
-> Ptr WGPUCommandBufferDescriptor
-> IO WGPUCommandBuffer
mk_wgpuhsfn_wgpuCommandEncoderFinish (FunPtr
   (WGPUCommandEncoder
    -> Ptr WGPUCommandBufferDescriptor -> IO WGPUCommandBuffer)
 -> WGPUCommandEncoder
 -> Ptr WGPUCommandBufferDescriptor
 -> IO WGPUCommandBuffer)
-> IO
     (FunPtr
        (WGPUCommandEncoder
         -> Ptr WGPUCommandBufferDescriptor -> IO WGPUCommandBuffer))
-> IO
     (WGPUCommandEncoder
      -> Ptr WGPUCommandBufferDescriptor -> IO WGPUCommandBuffer)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String
-> IO
     (FunPtr
        (WGPUCommandEncoder
         -> Ptr WGPUCommandBufferDescriptor -> IO WGPUCommandBuffer))
forall a. String -> IO (FunPtr a)
load String
"wgpuCommandEncoderFinish"
  WGPUComputePassEncoder
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> IO ()
wgpuComputePassEncoderDispatch <- FunPtr
  (WGPUComputePassEncoder
   -> WGPUMapModeFlags
   -> WGPUMapModeFlags
   -> WGPUMapModeFlags
   -> IO ())
-> WGPUComputePassEncoder
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> IO ()
mk_wgpuhsfn_wgpuComputePassEncoderDispatch (FunPtr
   (WGPUComputePassEncoder
    -> WGPUMapModeFlags
    -> WGPUMapModeFlags
    -> WGPUMapModeFlags
    -> IO ())
 -> WGPUComputePassEncoder
 -> WGPUMapModeFlags
 -> WGPUMapModeFlags
 -> WGPUMapModeFlags
 -> IO ())
-> IO
     (FunPtr
        (WGPUComputePassEncoder
         -> WGPUMapModeFlags
         -> WGPUMapModeFlags
         -> WGPUMapModeFlags
         -> IO ()))
-> IO
     (WGPUComputePassEncoder
      -> WGPUMapModeFlags
      -> WGPUMapModeFlags
      -> WGPUMapModeFlags
      -> IO ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String
-> IO
     (FunPtr
        (WGPUComputePassEncoder
         -> WGPUMapModeFlags
         -> WGPUMapModeFlags
         -> WGPUMapModeFlags
         -> IO ()))
forall a. String -> IO (FunPtr a)
load String
"wgpuComputePassEncoderDispatch"
  WGPUComputePassEncoder -> WGPUBuffer -> Word64 -> IO ()
wgpuComputePassEncoderDispatchIndirect <- FunPtr (WGPUComputePassEncoder -> WGPUBuffer -> Word64 -> IO ())
-> WGPUComputePassEncoder -> WGPUBuffer -> Word64 -> IO ()
mk_wgpuhsfn_wgpuComputePassEncoderDispatchIndirect (FunPtr (WGPUComputePassEncoder -> WGPUBuffer -> Word64 -> IO ())
 -> WGPUComputePassEncoder -> WGPUBuffer -> Word64 -> IO ())
-> IO
     (FunPtr (WGPUComputePassEncoder -> WGPUBuffer -> Word64 -> IO ()))
-> IO (WGPUComputePassEncoder -> WGPUBuffer -> Word64 -> IO ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String
-> IO
     (FunPtr (WGPUComputePassEncoder -> WGPUBuffer -> Word64 -> IO ()))
forall a. String -> IO (FunPtr a)
load String
"wgpuComputePassEncoderDispatchIndirect"
  WGPUComputePassEncoder -> IO ()
wgpuComputePassEncoderEndPass <- FunPtr (WGPUComputePassEncoder -> IO ())
-> WGPUComputePassEncoder -> IO ()
mk_wgpuhsfn_wgpuComputePassEncoderEndPass (FunPtr (WGPUComputePassEncoder -> IO ())
 -> WGPUComputePassEncoder -> IO ())
-> IO (FunPtr (WGPUComputePassEncoder -> IO ()))
-> IO (WGPUComputePassEncoder -> IO ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String -> IO (FunPtr (WGPUComputePassEncoder -> IO ()))
forall a. String -> IO (FunPtr a)
load String
"wgpuComputePassEncoderEndPass"
  WGPUComputePassEncoder
-> WGPUMapModeFlags
-> WGPUBindGroup
-> WGPUMapModeFlags
-> Ptr WGPUMapModeFlags
-> IO ()
wgpuComputePassEncoderSetBindGroup <- FunPtr
  (WGPUComputePassEncoder
   -> WGPUMapModeFlags
   -> WGPUBindGroup
   -> WGPUMapModeFlags
   -> Ptr WGPUMapModeFlags
   -> IO ())
-> WGPUComputePassEncoder
-> WGPUMapModeFlags
-> WGPUBindGroup
-> WGPUMapModeFlags
-> Ptr WGPUMapModeFlags
-> IO ()
mk_wgpuhsfn_wgpuComputePassEncoderSetBindGroup (FunPtr
   (WGPUComputePassEncoder
    -> WGPUMapModeFlags
    -> WGPUBindGroup
    -> WGPUMapModeFlags
    -> Ptr WGPUMapModeFlags
    -> IO ())
 -> WGPUComputePassEncoder
 -> WGPUMapModeFlags
 -> WGPUBindGroup
 -> WGPUMapModeFlags
 -> Ptr WGPUMapModeFlags
 -> IO ())
-> IO
     (FunPtr
        (WGPUComputePassEncoder
         -> WGPUMapModeFlags
         -> WGPUBindGroup
         -> WGPUMapModeFlags
         -> Ptr WGPUMapModeFlags
         -> IO ()))
-> IO
     (WGPUComputePassEncoder
      -> WGPUMapModeFlags
      -> WGPUBindGroup
      -> WGPUMapModeFlags
      -> Ptr WGPUMapModeFlags
      -> IO ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String
-> IO
     (FunPtr
        (WGPUComputePassEncoder
         -> WGPUMapModeFlags
         -> WGPUBindGroup
         -> WGPUMapModeFlags
         -> Ptr WGPUMapModeFlags
         -> IO ()))
forall a. String -> IO (FunPtr a)
load String
"wgpuComputePassEncoderSetBindGroup"
  WGPUComputePassEncoder -> WGPUComputePipeline -> IO ()
wgpuComputePassEncoderSetPipeline <- FunPtr (WGPUComputePassEncoder -> WGPUComputePipeline -> IO ())
-> WGPUComputePassEncoder -> WGPUComputePipeline -> IO ()
mk_wgpuhsfn_wgpuComputePassEncoderSetPipeline (FunPtr (WGPUComputePassEncoder -> WGPUComputePipeline -> IO ())
 -> WGPUComputePassEncoder -> WGPUComputePipeline -> IO ())
-> IO
     (FunPtr (WGPUComputePassEncoder -> WGPUComputePipeline -> IO ()))
-> IO (WGPUComputePassEncoder -> WGPUComputePipeline -> IO ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String
-> IO
     (FunPtr (WGPUComputePassEncoder -> WGPUComputePipeline -> IO ()))
forall a. String -> IO (FunPtr a)
load String
"wgpuComputePassEncoderSetPipeline"
  WGPUDevice -> Ptr WGPUBindGroupDescriptor -> IO WGPUBindGroup
wgpuDeviceCreateBindGroup <- FunPtr
  (WGPUDevice -> Ptr WGPUBindGroupDescriptor -> IO WGPUBindGroup)
-> WGPUDevice -> Ptr WGPUBindGroupDescriptor -> IO WGPUBindGroup
mk_wgpuhsfn_wgpuDeviceCreateBindGroup (FunPtr
   (WGPUDevice -> Ptr WGPUBindGroupDescriptor -> IO WGPUBindGroup)
 -> WGPUDevice -> Ptr WGPUBindGroupDescriptor -> IO WGPUBindGroup)
-> IO
     (FunPtr
        (WGPUDevice -> Ptr WGPUBindGroupDescriptor -> IO WGPUBindGroup))
-> IO
     (WGPUDevice -> Ptr WGPUBindGroupDescriptor -> IO WGPUBindGroup)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String
-> IO
     (FunPtr
        (WGPUDevice -> Ptr WGPUBindGroupDescriptor -> IO WGPUBindGroup))
forall a. String -> IO (FunPtr a)
load String
"wgpuDeviceCreateBindGroup"
  WGPUDevice
-> Ptr WGPUBindGroupLayoutDescriptor -> IO WGPUBindGroupLayout
wgpuDeviceCreateBindGroupLayout <- FunPtr
  (WGPUDevice
   -> Ptr WGPUBindGroupLayoutDescriptor -> IO WGPUBindGroupLayout)
-> WGPUDevice
-> Ptr WGPUBindGroupLayoutDescriptor
-> IO WGPUBindGroupLayout
mk_wgpuhsfn_wgpuDeviceCreateBindGroupLayout (FunPtr
   (WGPUDevice
    -> Ptr WGPUBindGroupLayoutDescriptor -> IO WGPUBindGroupLayout)
 -> WGPUDevice
 -> Ptr WGPUBindGroupLayoutDescriptor
 -> IO WGPUBindGroupLayout)
-> IO
     (FunPtr
        (WGPUDevice
         -> Ptr WGPUBindGroupLayoutDescriptor -> IO WGPUBindGroupLayout))
-> IO
     (WGPUDevice
      -> Ptr WGPUBindGroupLayoutDescriptor -> IO WGPUBindGroupLayout)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String
-> IO
     (FunPtr
        (WGPUDevice
         -> Ptr WGPUBindGroupLayoutDescriptor -> IO WGPUBindGroupLayout))
forall a. String -> IO (FunPtr a)
load String
"wgpuDeviceCreateBindGroupLayout"
  WGPUDevice -> Ptr WGPUBufferDescriptor -> IO WGPUBuffer
wgpuDeviceCreateBuffer <- FunPtr (WGPUDevice -> Ptr WGPUBufferDescriptor -> IO WGPUBuffer)
-> WGPUDevice -> Ptr WGPUBufferDescriptor -> IO WGPUBuffer
mk_wgpuhsfn_wgpuDeviceCreateBuffer (FunPtr (WGPUDevice -> Ptr WGPUBufferDescriptor -> IO WGPUBuffer)
 -> WGPUDevice -> Ptr WGPUBufferDescriptor -> IO WGPUBuffer)
-> IO
     (FunPtr (WGPUDevice -> Ptr WGPUBufferDescriptor -> IO WGPUBuffer))
-> IO (WGPUDevice -> Ptr WGPUBufferDescriptor -> IO WGPUBuffer)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String
-> IO
     (FunPtr (WGPUDevice -> Ptr WGPUBufferDescriptor -> IO WGPUBuffer))
forall a. String -> IO (FunPtr a)
load String
"wgpuDeviceCreateBuffer"
  WGPUDevice
-> Ptr WGPUCommandEncoderDescriptor -> IO WGPUCommandEncoder
wgpuDeviceCreateCommandEncoder <- FunPtr
  (WGPUDevice
   -> Ptr WGPUCommandEncoderDescriptor -> IO WGPUCommandEncoder)
-> WGPUDevice
-> Ptr WGPUCommandEncoderDescriptor
-> IO WGPUCommandEncoder
mk_wgpuhsfn_wgpuDeviceCreateCommandEncoder (FunPtr
   (WGPUDevice
    -> Ptr WGPUCommandEncoderDescriptor -> IO WGPUCommandEncoder)
 -> WGPUDevice
 -> Ptr WGPUCommandEncoderDescriptor
 -> IO WGPUCommandEncoder)
-> IO
     (FunPtr
        (WGPUDevice
         -> Ptr WGPUCommandEncoderDescriptor -> IO WGPUCommandEncoder))
-> IO
     (WGPUDevice
      -> Ptr WGPUCommandEncoderDescriptor -> IO WGPUCommandEncoder)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String
-> IO
     (FunPtr
        (WGPUDevice
         -> Ptr WGPUCommandEncoderDescriptor -> IO WGPUCommandEncoder))
forall a. String -> IO (FunPtr a)
load String
"wgpuDeviceCreateCommandEncoder"
  WGPUDevice
-> Ptr WGPUComputePipelineDescriptor -> IO WGPUComputePipeline
wgpuDeviceCreateComputePipeline <- FunPtr
  (WGPUDevice
   -> Ptr WGPUComputePipelineDescriptor -> IO WGPUComputePipeline)
-> WGPUDevice
-> Ptr WGPUComputePipelineDescriptor
-> IO WGPUComputePipeline
mk_wgpuhsfn_wgpuDeviceCreateComputePipeline (FunPtr
   (WGPUDevice
    -> Ptr WGPUComputePipelineDescriptor -> IO WGPUComputePipeline)
 -> WGPUDevice
 -> Ptr WGPUComputePipelineDescriptor
 -> IO WGPUComputePipeline)
-> IO
     (FunPtr
        (WGPUDevice
         -> Ptr WGPUComputePipelineDescriptor -> IO WGPUComputePipeline))
-> IO
     (WGPUDevice
      -> Ptr WGPUComputePipelineDescriptor -> IO WGPUComputePipeline)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String
-> IO
     (FunPtr
        (WGPUDevice
         -> Ptr WGPUComputePipelineDescriptor -> IO WGPUComputePipeline))
forall a. String -> IO (FunPtr a)
load String
"wgpuDeviceCreateComputePipeline"
  WGPUDevice
-> Ptr WGPUPipelineLayoutDescriptor -> IO WGPUPipelineLayout
wgpuDeviceCreatePipelineLayout <- FunPtr
  (WGPUDevice
   -> Ptr WGPUPipelineLayoutDescriptor -> IO WGPUPipelineLayout)
-> WGPUDevice
-> Ptr WGPUPipelineLayoutDescriptor
-> IO WGPUPipelineLayout
mk_wgpuhsfn_wgpuDeviceCreatePipelineLayout (FunPtr
   (WGPUDevice
    -> Ptr WGPUPipelineLayoutDescriptor -> IO WGPUPipelineLayout)
 -> WGPUDevice
 -> Ptr WGPUPipelineLayoutDescriptor
 -> IO WGPUPipelineLayout)
-> IO
     (FunPtr
        (WGPUDevice
         -> Ptr WGPUPipelineLayoutDescriptor -> IO WGPUPipelineLayout))
-> IO
     (WGPUDevice
      -> Ptr WGPUPipelineLayoutDescriptor -> IO WGPUPipelineLayout)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String
-> IO
     (FunPtr
        (WGPUDevice
         -> Ptr WGPUPipelineLayoutDescriptor -> IO WGPUPipelineLayout))
forall a. String -> IO (FunPtr a)
load String
"wgpuDeviceCreatePipelineLayout"
  WGPUDevice
-> Ptr WGPURenderPipelineDescriptor -> IO WGPURenderPipeline
wgpuDeviceCreateRenderPipeline <- FunPtr
  (WGPUDevice
   -> Ptr WGPURenderPipelineDescriptor -> IO WGPURenderPipeline)
-> WGPUDevice
-> Ptr WGPURenderPipelineDescriptor
-> IO WGPURenderPipeline
mk_wgpuhsfn_wgpuDeviceCreateRenderPipeline (FunPtr
   (WGPUDevice
    -> Ptr WGPURenderPipelineDescriptor -> IO WGPURenderPipeline)
 -> WGPUDevice
 -> Ptr WGPURenderPipelineDescriptor
 -> IO WGPURenderPipeline)
-> IO
     (FunPtr
        (WGPUDevice
         -> Ptr WGPURenderPipelineDescriptor -> IO WGPURenderPipeline))
-> IO
     (WGPUDevice
      -> Ptr WGPURenderPipelineDescriptor -> IO WGPURenderPipeline)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String
-> IO
     (FunPtr
        (WGPUDevice
         -> Ptr WGPURenderPipelineDescriptor -> IO WGPURenderPipeline))
forall a. String -> IO (FunPtr a)
load String
"wgpuDeviceCreateRenderPipeline"
  WGPUDevice -> Ptr WGPUSamplerDescriptor -> IO WGPUSampler
wgpuDeviceCreateSampler <- FunPtr (WGPUDevice -> Ptr WGPUSamplerDescriptor -> IO WGPUSampler)
-> WGPUDevice -> Ptr WGPUSamplerDescriptor -> IO WGPUSampler
mk_wgpuhsfn_wgpuDeviceCreateSampler (FunPtr (WGPUDevice -> Ptr WGPUSamplerDescriptor -> IO WGPUSampler)
 -> WGPUDevice -> Ptr WGPUSamplerDescriptor -> IO WGPUSampler)
-> IO
     (FunPtr
        (WGPUDevice -> Ptr WGPUSamplerDescriptor -> IO WGPUSampler))
-> IO (WGPUDevice -> Ptr WGPUSamplerDescriptor -> IO WGPUSampler)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String
-> IO
     (FunPtr
        (WGPUDevice -> Ptr WGPUSamplerDescriptor -> IO WGPUSampler))
forall a. String -> IO (FunPtr a)
load String
"wgpuDeviceCreateSampler"
  WGPUDevice -> Ptr WGPUShaderModuleDescriptor -> IO WGPUShaderModule
wgpuDeviceCreateShaderModule <- FunPtr
  (WGPUDevice
   -> Ptr WGPUShaderModuleDescriptor -> IO WGPUShaderModule)
-> WGPUDevice
-> Ptr WGPUShaderModuleDescriptor
-> IO WGPUShaderModule
mk_wgpuhsfn_wgpuDeviceCreateShaderModule (FunPtr
   (WGPUDevice
    -> Ptr WGPUShaderModuleDescriptor -> IO WGPUShaderModule)
 -> WGPUDevice
 -> Ptr WGPUShaderModuleDescriptor
 -> IO WGPUShaderModule)
-> IO
     (FunPtr
        (WGPUDevice
         -> Ptr WGPUShaderModuleDescriptor -> IO WGPUShaderModule))
-> IO
     (WGPUDevice
      -> Ptr WGPUShaderModuleDescriptor -> IO WGPUShaderModule)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String
-> IO
     (FunPtr
        (WGPUDevice
         -> Ptr WGPUShaderModuleDescriptor -> IO WGPUShaderModule))
forall a. String -> IO (FunPtr a)
load String
"wgpuDeviceCreateShaderModule"
  WGPUDevice
-> WGPUSurface -> Ptr WGPUSwapChainDescriptor -> IO WGPUSwapChain
wgpuDeviceCreateSwapChain <- FunPtr
  (WGPUDevice
   -> WGPUSurface -> Ptr WGPUSwapChainDescriptor -> IO WGPUSwapChain)
-> WGPUDevice
-> WGPUSurface
-> Ptr WGPUSwapChainDescriptor
-> IO WGPUSwapChain
mk_wgpuhsfn_wgpuDeviceCreateSwapChain (FunPtr
   (WGPUDevice
    -> WGPUSurface -> Ptr WGPUSwapChainDescriptor -> IO WGPUSwapChain)
 -> WGPUDevice
 -> WGPUSurface
 -> Ptr WGPUSwapChainDescriptor
 -> IO WGPUSwapChain)
-> IO
     (FunPtr
        (WGPUDevice
         -> WGPUSurface -> Ptr WGPUSwapChainDescriptor -> IO WGPUSwapChain))
-> IO
     (WGPUDevice
      -> WGPUSurface -> Ptr WGPUSwapChainDescriptor -> IO WGPUSwapChain)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String
-> IO
     (FunPtr
        (WGPUDevice
         -> WGPUSurface -> Ptr WGPUSwapChainDescriptor -> IO WGPUSwapChain))
forall a. String -> IO (FunPtr a)
load String
"wgpuDeviceCreateSwapChain"
  WGPUDevice -> Ptr WGPUTextureDescriptor -> IO WGPUTexture
wgpuDeviceCreateTexture <- FunPtr (WGPUDevice -> Ptr WGPUTextureDescriptor -> IO WGPUTexture)
-> WGPUDevice -> Ptr WGPUTextureDescriptor -> IO WGPUTexture
mk_wgpuhsfn_wgpuDeviceCreateTexture (FunPtr (WGPUDevice -> Ptr WGPUTextureDescriptor -> IO WGPUTexture)
 -> WGPUDevice -> Ptr WGPUTextureDescriptor -> IO WGPUTexture)
-> IO
     (FunPtr
        (WGPUDevice -> Ptr WGPUTextureDescriptor -> IO WGPUTexture))
-> IO (WGPUDevice -> Ptr WGPUTextureDescriptor -> IO WGPUTexture)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String
-> IO
     (FunPtr
        (WGPUDevice -> Ptr WGPUTextureDescriptor -> IO WGPUTexture))
forall a. String -> IO (FunPtr a)
load String
"wgpuDeviceCreateTexture"
  WGPUDevice -> IO WGPUQueue
wgpuDeviceGetQueue <- FunPtr (WGPUDevice -> IO WGPUQueue) -> WGPUDevice -> IO WGPUQueue
mk_wgpuhsfn_wgpuDeviceGetQueue (FunPtr (WGPUDevice -> IO WGPUQueue) -> WGPUDevice -> IO WGPUQueue)
-> IO (FunPtr (WGPUDevice -> IO WGPUQueue))
-> IO (WGPUDevice -> IO WGPUQueue)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String -> IO (FunPtr (WGPUDevice -> IO WGPUQueue))
forall a. String -> IO (FunPtr a)
load String
"wgpuDeviceGetQueue"
  WGPUInstance -> Ptr WGPUSurfaceDescriptor -> IO WGPUSurface
wgpuInstanceCreateSurface <- FunPtr
  (WGPUInstance -> Ptr WGPUSurfaceDescriptor -> IO WGPUSurface)
-> WGPUInstance -> Ptr WGPUSurfaceDescriptor -> IO WGPUSurface
mk_wgpuhsfn_wgpuInstanceCreateSurface (FunPtr
   (WGPUInstance -> Ptr WGPUSurfaceDescriptor -> IO WGPUSurface)
 -> WGPUInstance -> Ptr WGPUSurfaceDescriptor -> IO WGPUSurface)
-> IO
     (FunPtr
        (WGPUInstance -> Ptr WGPUSurfaceDescriptor -> IO WGPUSurface))
-> IO (WGPUInstance -> Ptr WGPUSurfaceDescriptor -> IO WGPUSurface)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String
-> IO
     (FunPtr
        (WGPUInstance -> Ptr WGPUSurfaceDescriptor -> IO WGPUSurface))
forall a. String -> IO (FunPtr a)
load String
"wgpuInstanceCreateSurface"
  WGPUInstance
-> Ptr WGPURequestAdapterOptions
-> WGPURequestAdapterCallback
-> Ptr ()
-> IO ()
wgpuInstanceRequestAdapter <- FunPtr
  (WGPUInstance
   -> Ptr WGPURequestAdapterOptions
   -> WGPURequestAdapterCallback
   -> Ptr ()
   -> IO ())
-> WGPUInstance
-> Ptr WGPURequestAdapterOptions
-> WGPURequestAdapterCallback
-> Ptr ()
-> IO ()
mk_wgpuhsfn_wgpuInstanceRequestAdapter (FunPtr
   (WGPUInstance
    -> Ptr WGPURequestAdapterOptions
    -> WGPURequestAdapterCallback
    -> Ptr ()
    -> IO ())
 -> WGPUInstance
 -> Ptr WGPURequestAdapterOptions
 -> WGPURequestAdapterCallback
 -> Ptr ()
 -> IO ())
-> IO
     (FunPtr
        (WGPUInstance
         -> Ptr WGPURequestAdapterOptions
         -> WGPURequestAdapterCallback
         -> Ptr ()
         -> IO ()))
-> IO
     (WGPUInstance
      -> Ptr WGPURequestAdapterOptions
      -> WGPURequestAdapterCallback
      -> Ptr ()
      -> IO ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String
-> IO
     (FunPtr
        (WGPUInstance
         -> Ptr WGPURequestAdapterOptions
         -> WGPURequestAdapterCallback
         -> Ptr ()
         -> IO ()))
forall a. String -> IO (FunPtr a)
load String
"wgpuInstanceRequestAdapter"
  WGPUQueue -> WGPUMapModeFlags -> Ptr WGPUCommandBuffer -> IO ()
wgpuQueueSubmit <- FunPtr
  (WGPUQueue -> WGPUMapModeFlags -> Ptr WGPUCommandBuffer -> IO ())
-> WGPUQueue -> WGPUMapModeFlags -> Ptr WGPUCommandBuffer -> IO ()
mk_wgpuhsfn_wgpuQueueSubmit (FunPtr
   (WGPUQueue -> WGPUMapModeFlags -> Ptr WGPUCommandBuffer -> IO ())
 -> WGPUQueue -> WGPUMapModeFlags -> Ptr WGPUCommandBuffer -> IO ())
-> IO
     (FunPtr
        (WGPUQueue -> WGPUMapModeFlags -> Ptr WGPUCommandBuffer -> IO ()))
-> IO
     (WGPUQueue -> WGPUMapModeFlags -> Ptr WGPUCommandBuffer -> IO ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String
-> IO
     (FunPtr
        (WGPUQueue -> WGPUMapModeFlags -> Ptr WGPUCommandBuffer -> IO ()))
forall a. String -> IO (FunPtr a)
load String
"wgpuQueueSubmit"
  WGPUQueue -> WGPUBuffer -> Word64 -> Ptr () -> CSize -> IO ()
wgpuQueueWriteBuffer <- FunPtr
  (WGPUQueue -> WGPUBuffer -> Word64 -> Ptr () -> CSize -> IO ())
-> WGPUQueue -> WGPUBuffer -> Word64 -> Ptr () -> CSize -> IO ()
mk_wgpuhsfn_wgpuQueueWriteBuffer (FunPtr
   (WGPUQueue -> WGPUBuffer -> Word64 -> Ptr () -> CSize -> IO ())
 -> WGPUQueue -> WGPUBuffer -> Word64 -> Ptr () -> CSize -> IO ())
-> IO
     (FunPtr
        (WGPUQueue -> WGPUBuffer -> Word64 -> Ptr () -> CSize -> IO ()))
-> IO
     (WGPUQueue -> WGPUBuffer -> Word64 -> Ptr () -> CSize -> IO ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String
-> IO
     (FunPtr
        (WGPUQueue -> WGPUBuffer -> Word64 -> Ptr () -> CSize -> IO ()))
forall a. String -> IO (FunPtr a)
load String
"wgpuQueueWriteBuffer"
  WGPUQueue
-> Ptr WGPUImageCopyTexture
-> Ptr ()
-> CSize
-> Ptr WGPUTextureDataLayout
-> Ptr WGPUExtent3D
-> IO ()
wgpuQueueWriteTexture <- FunPtr
  (WGPUQueue
   -> Ptr WGPUImageCopyTexture
   -> Ptr ()
   -> CSize
   -> Ptr WGPUTextureDataLayout
   -> Ptr WGPUExtent3D
   -> IO ())
-> WGPUQueue
-> Ptr WGPUImageCopyTexture
-> Ptr ()
-> CSize
-> Ptr WGPUTextureDataLayout
-> Ptr WGPUExtent3D
-> IO ()
mk_wgpuhsfn_wgpuQueueWriteTexture (FunPtr
   (WGPUQueue
    -> Ptr WGPUImageCopyTexture
    -> Ptr ()
    -> CSize
    -> Ptr WGPUTextureDataLayout
    -> Ptr WGPUExtent3D
    -> IO ())
 -> WGPUQueue
 -> Ptr WGPUImageCopyTexture
 -> Ptr ()
 -> CSize
 -> Ptr WGPUTextureDataLayout
 -> Ptr WGPUExtent3D
 -> IO ())
-> IO
     (FunPtr
        (WGPUQueue
         -> Ptr WGPUImageCopyTexture
         -> Ptr ()
         -> CSize
         -> Ptr WGPUTextureDataLayout
         -> Ptr WGPUExtent3D
         -> IO ()))
-> IO
     (WGPUQueue
      -> Ptr WGPUImageCopyTexture
      -> Ptr ()
      -> CSize
      -> Ptr WGPUTextureDataLayout
      -> Ptr WGPUExtent3D
      -> IO ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String
-> IO
     (FunPtr
        (WGPUQueue
         -> Ptr WGPUImageCopyTexture
         -> Ptr ()
         -> CSize
         -> Ptr WGPUTextureDataLayout
         -> Ptr WGPUExtent3D
         -> IO ()))
forall a. String -> IO (FunPtr a)
load String
"wgpuQueueWriteTexture"
  WGPURenderPassEncoder
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> IO ()
wgpuRenderPassEncoderDraw <- FunPtr
  (WGPURenderPassEncoder
   -> WGPUMapModeFlags
   -> WGPUMapModeFlags
   -> WGPUMapModeFlags
   -> WGPUMapModeFlags
   -> IO ())
-> WGPURenderPassEncoder
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> IO ()
mk_wgpuhsfn_wgpuRenderPassEncoderDraw (FunPtr
   (WGPURenderPassEncoder
    -> WGPUMapModeFlags
    -> WGPUMapModeFlags
    -> WGPUMapModeFlags
    -> WGPUMapModeFlags
    -> IO ())
 -> WGPURenderPassEncoder
 -> WGPUMapModeFlags
 -> WGPUMapModeFlags
 -> WGPUMapModeFlags
 -> WGPUMapModeFlags
 -> IO ())
-> IO
     (FunPtr
        (WGPURenderPassEncoder
         -> WGPUMapModeFlags
         -> WGPUMapModeFlags
         -> WGPUMapModeFlags
         -> WGPUMapModeFlags
         -> IO ()))
-> IO
     (WGPURenderPassEncoder
      -> WGPUMapModeFlags
      -> WGPUMapModeFlags
      -> WGPUMapModeFlags
      -> WGPUMapModeFlags
      -> IO ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String
-> IO
     (FunPtr
        (WGPURenderPassEncoder
         -> WGPUMapModeFlags
         -> WGPUMapModeFlags
         -> WGPUMapModeFlags
         -> WGPUMapModeFlags
         -> IO ()))
forall a. String -> IO (FunPtr a)
load String
"wgpuRenderPassEncoderDraw"
  WGPURenderPassEncoder
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> Int32
-> WGPUMapModeFlags
-> IO ()
wgpuRenderPassEncoderDrawIndexed <- FunPtr
  (WGPURenderPassEncoder
   -> WGPUMapModeFlags
   -> WGPUMapModeFlags
   -> WGPUMapModeFlags
   -> Int32
   -> WGPUMapModeFlags
   -> IO ())
-> WGPURenderPassEncoder
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> Int32
-> WGPUMapModeFlags
-> IO ()
mk_wgpuhsfn_wgpuRenderPassEncoderDrawIndexed (FunPtr
   (WGPURenderPassEncoder
    -> WGPUMapModeFlags
    -> WGPUMapModeFlags
    -> WGPUMapModeFlags
    -> Int32
    -> WGPUMapModeFlags
    -> IO ())
 -> WGPURenderPassEncoder
 -> WGPUMapModeFlags
 -> WGPUMapModeFlags
 -> WGPUMapModeFlags
 -> Int32
 -> WGPUMapModeFlags
 -> IO ())
-> IO
     (FunPtr
        (WGPURenderPassEncoder
         -> WGPUMapModeFlags
         -> WGPUMapModeFlags
         -> WGPUMapModeFlags
         -> Int32
         -> WGPUMapModeFlags
         -> IO ()))
-> IO
     (WGPURenderPassEncoder
      -> WGPUMapModeFlags
      -> WGPUMapModeFlags
      -> WGPUMapModeFlags
      -> Int32
      -> WGPUMapModeFlags
      -> IO ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String
-> IO
     (FunPtr
        (WGPURenderPassEncoder
         -> WGPUMapModeFlags
         -> WGPUMapModeFlags
         -> WGPUMapModeFlags
         -> Int32
         -> WGPUMapModeFlags
         -> IO ()))
forall a. String -> IO (FunPtr a)
load String
"wgpuRenderPassEncoderDrawIndexed"
  WGPURenderPassEncoder -> WGPUBuffer -> Word64 -> IO ()
wgpuRenderPassEncoderDrawIndexedIndirect <- FunPtr (WGPURenderPassEncoder -> WGPUBuffer -> Word64 -> IO ())
-> WGPURenderPassEncoder -> WGPUBuffer -> Word64 -> IO ()
mk_wgpuhsfn_wgpuRenderPassEncoderDrawIndexedIndirect (FunPtr (WGPURenderPassEncoder -> WGPUBuffer -> Word64 -> IO ())
 -> WGPURenderPassEncoder -> WGPUBuffer -> Word64 -> IO ())
-> IO
     (FunPtr (WGPURenderPassEncoder -> WGPUBuffer -> Word64 -> IO ()))
-> IO (WGPURenderPassEncoder -> WGPUBuffer -> Word64 -> IO ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String
-> IO
     (FunPtr (WGPURenderPassEncoder -> WGPUBuffer -> Word64 -> IO ()))
forall a. String -> IO (FunPtr a)
load String
"wgpuRenderPassEncoderDrawIndexedIndirect"
  WGPURenderPassEncoder -> WGPUBuffer -> Word64 -> IO ()
wgpuRenderPassEncoderDrawIndirect <- FunPtr (WGPURenderPassEncoder -> WGPUBuffer -> Word64 -> IO ())
-> WGPURenderPassEncoder -> WGPUBuffer -> Word64 -> IO ()
mk_wgpuhsfn_wgpuRenderPassEncoderDrawIndirect (FunPtr (WGPURenderPassEncoder -> WGPUBuffer -> Word64 -> IO ())
 -> WGPURenderPassEncoder -> WGPUBuffer -> Word64 -> IO ())
-> IO
     (FunPtr (WGPURenderPassEncoder -> WGPUBuffer -> Word64 -> IO ()))
-> IO (WGPURenderPassEncoder -> WGPUBuffer -> Word64 -> IO ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String
-> IO
     (FunPtr (WGPURenderPassEncoder -> WGPUBuffer -> Word64 -> IO ()))
forall a. String -> IO (FunPtr a)
load String
"wgpuRenderPassEncoderDrawIndirect"
  WGPURenderPassEncoder -> IO ()
wgpuRenderPassEncoderEndPass <- FunPtr (WGPURenderPassEncoder -> IO ())
-> WGPURenderPassEncoder -> IO ()
mk_wgpuhsfn_wgpuRenderPassEncoderEndPass (FunPtr (WGPURenderPassEncoder -> IO ())
 -> WGPURenderPassEncoder -> IO ())
-> IO (FunPtr (WGPURenderPassEncoder -> IO ()))
-> IO (WGPURenderPassEncoder -> IO ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String -> IO (FunPtr (WGPURenderPassEncoder -> IO ()))
forall a. String -> IO (FunPtr a)
load String
"wgpuRenderPassEncoderEndPass"
  WGPURenderPassEncoder
-> WGPUMapModeFlags
-> WGPUBindGroup
-> WGPUMapModeFlags
-> Ptr WGPUMapModeFlags
-> IO ()
wgpuRenderPassEncoderSetBindGroup <- FunPtr
  (WGPURenderPassEncoder
   -> WGPUMapModeFlags
   -> WGPUBindGroup
   -> WGPUMapModeFlags
   -> Ptr WGPUMapModeFlags
   -> IO ())
-> WGPURenderPassEncoder
-> WGPUMapModeFlags
-> WGPUBindGroup
-> WGPUMapModeFlags
-> Ptr WGPUMapModeFlags
-> IO ()
mk_wgpuhsfn_wgpuRenderPassEncoderSetBindGroup (FunPtr
   (WGPURenderPassEncoder
    -> WGPUMapModeFlags
    -> WGPUBindGroup
    -> WGPUMapModeFlags
    -> Ptr WGPUMapModeFlags
    -> IO ())
 -> WGPURenderPassEncoder
 -> WGPUMapModeFlags
 -> WGPUBindGroup
 -> WGPUMapModeFlags
 -> Ptr WGPUMapModeFlags
 -> IO ())
-> IO
     (FunPtr
        (WGPURenderPassEncoder
         -> WGPUMapModeFlags
         -> WGPUBindGroup
         -> WGPUMapModeFlags
         -> Ptr WGPUMapModeFlags
         -> IO ()))
-> IO
     (WGPURenderPassEncoder
      -> WGPUMapModeFlags
      -> WGPUBindGroup
      -> WGPUMapModeFlags
      -> Ptr WGPUMapModeFlags
      -> IO ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String
-> IO
     (FunPtr
        (WGPURenderPassEncoder
         -> WGPUMapModeFlags
         -> WGPUBindGroup
         -> WGPUMapModeFlags
         -> Ptr WGPUMapModeFlags
         -> IO ()))
forall a. String -> IO (FunPtr a)
load String
"wgpuRenderPassEncoderSetBindGroup"
  WGPURenderPassEncoder -> Ptr WGPUColor -> IO ()
wgpuRenderPassEncoderSetBlendConstant <- FunPtr (WGPURenderPassEncoder -> Ptr WGPUColor -> IO ())
-> WGPURenderPassEncoder -> Ptr WGPUColor -> IO ()
mk_wgpuhsfn_wgpuRenderPassEncoderSetBlendConstant (FunPtr (WGPURenderPassEncoder -> Ptr WGPUColor -> IO ())
 -> WGPURenderPassEncoder -> Ptr WGPUColor -> IO ())
-> IO (FunPtr (WGPURenderPassEncoder -> Ptr WGPUColor -> IO ()))
-> IO (WGPURenderPassEncoder -> Ptr WGPUColor -> IO ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String
-> IO (FunPtr (WGPURenderPassEncoder -> Ptr WGPUColor -> IO ()))
forall a. String -> IO (FunPtr a)
load String
"wgpuRenderPassEncoderSetBlendConstant"
  WGPURenderPassEncoder
-> WGPUBuffer -> WGPUIndexFormat -> Word64 -> Word64 -> IO ()
wgpuRenderPassEncoderSetIndexBuffer <- FunPtr
  (WGPURenderPassEncoder
   -> WGPUBuffer -> WGPUIndexFormat -> Word64 -> Word64 -> IO ())
-> WGPURenderPassEncoder
-> WGPUBuffer
-> WGPUIndexFormat
-> Word64
-> Word64
-> IO ()
mk_wgpuhsfn_wgpuRenderPassEncoderSetIndexBuffer (FunPtr
   (WGPURenderPassEncoder
    -> WGPUBuffer -> WGPUIndexFormat -> Word64 -> Word64 -> IO ())
 -> WGPURenderPassEncoder
 -> WGPUBuffer
 -> WGPUIndexFormat
 -> Word64
 -> Word64
 -> IO ())
-> IO
     (FunPtr
        (WGPURenderPassEncoder
         -> WGPUBuffer -> WGPUIndexFormat -> Word64 -> Word64 -> IO ()))
-> IO
     (WGPURenderPassEncoder
      -> WGPUBuffer -> WGPUIndexFormat -> Word64 -> Word64 -> IO ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String
-> IO
     (FunPtr
        (WGPURenderPassEncoder
         -> WGPUBuffer -> WGPUIndexFormat -> Word64 -> Word64 -> IO ()))
forall a. String -> IO (FunPtr a)
load String
"wgpuRenderPassEncoderSetIndexBuffer"
  WGPURenderPassEncoder -> WGPURenderPipeline -> IO ()
wgpuRenderPassEncoderSetPipeline <- FunPtr (WGPURenderPassEncoder -> WGPURenderPipeline -> IO ())
-> WGPURenderPassEncoder -> WGPURenderPipeline -> IO ()
mk_wgpuhsfn_wgpuRenderPassEncoderSetPipeline (FunPtr (WGPURenderPassEncoder -> WGPURenderPipeline -> IO ())
 -> WGPURenderPassEncoder -> WGPURenderPipeline -> IO ())
-> IO
     (FunPtr (WGPURenderPassEncoder -> WGPURenderPipeline -> IO ()))
-> IO (WGPURenderPassEncoder -> WGPURenderPipeline -> IO ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String
-> IO
     (FunPtr (WGPURenderPassEncoder -> WGPURenderPipeline -> IO ()))
forall a. String -> IO (FunPtr a)
load String
"wgpuRenderPassEncoderSetPipeline"
  WGPURenderPassEncoder
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> IO ()
wgpuRenderPassEncoderSetScissorRect <- FunPtr
  (WGPURenderPassEncoder
   -> WGPUMapModeFlags
   -> WGPUMapModeFlags
   -> WGPUMapModeFlags
   -> WGPUMapModeFlags
   -> IO ())
-> WGPURenderPassEncoder
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> IO ()
mk_wgpuhsfn_wgpuRenderPassEncoderSetScissorRect (FunPtr
   (WGPURenderPassEncoder
    -> WGPUMapModeFlags
    -> WGPUMapModeFlags
    -> WGPUMapModeFlags
    -> WGPUMapModeFlags
    -> IO ())
 -> WGPURenderPassEncoder
 -> WGPUMapModeFlags
 -> WGPUMapModeFlags
 -> WGPUMapModeFlags
 -> WGPUMapModeFlags
 -> IO ())
-> IO
     (FunPtr
        (WGPURenderPassEncoder
         -> WGPUMapModeFlags
         -> WGPUMapModeFlags
         -> WGPUMapModeFlags
         -> WGPUMapModeFlags
         -> IO ()))
-> IO
     (WGPURenderPassEncoder
      -> WGPUMapModeFlags
      -> WGPUMapModeFlags
      -> WGPUMapModeFlags
      -> WGPUMapModeFlags
      -> IO ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String
-> IO
     (FunPtr
        (WGPURenderPassEncoder
         -> WGPUMapModeFlags
         -> WGPUMapModeFlags
         -> WGPUMapModeFlags
         -> WGPUMapModeFlags
         -> IO ()))
forall a. String -> IO (FunPtr a)
load String
"wgpuRenderPassEncoderSetScissorRect"
  WGPURenderPassEncoder -> WGPUMapModeFlags -> IO ()
wgpuRenderPassEncoderSetStencilReference <- FunPtr (WGPURenderPassEncoder -> WGPUMapModeFlags -> IO ())
-> WGPURenderPassEncoder -> WGPUMapModeFlags -> IO ()
mk_wgpuhsfn_wgpuRenderPassEncoderSetStencilReference (FunPtr (WGPURenderPassEncoder -> WGPUMapModeFlags -> IO ())
 -> WGPURenderPassEncoder -> WGPUMapModeFlags -> IO ())
-> IO (FunPtr (WGPURenderPassEncoder -> WGPUMapModeFlags -> IO ()))
-> IO (WGPURenderPassEncoder -> WGPUMapModeFlags -> IO ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String
-> IO (FunPtr (WGPURenderPassEncoder -> WGPUMapModeFlags -> IO ()))
forall a. String -> IO (FunPtr a)
load String
"wgpuRenderPassEncoderSetStencilReference"
  WGPURenderPassEncoder
-> WGPUMapModeFlags -> WGPUBuffer -> Word64 -> Word64 -> IO ()
wgpuRenderPassEncoderSetVertexBuffer <- FunPtr
  (WGPURenderPassEncoder
   -> WGPUMapModeFlags -> WGPUBuffer -> Word64 -> Word64 -> IO ())
-> WGPURenderPassEncoder
-> WGPUMapModeFlags
-> WGPUBuffer
-> Word64
-> Word64
-> IO ()
mk_wgpuhsfn_wgpuRenderPassEncoderSetVertexBuffer (FunPtr
   (WGPURenderPassEncoder
    -> WGPUMapModeFlags -> WGPUBuffer -> Word64 -> Word64 -> IO ())
 -> WGPURenderPassEncoder
 -> WGPUMapModeFlags
 -> WGPUBuffer
 -> Word64
 -> Word64
 -> IO ())
-> IO
     (FunPtr
        (WGPURenderPassEncoder
         -> WGPUMapModeFlags -> WGPUBuffer -> Word64 -> Word64 -> IO ()))
-> IO
     (WGPURenderPassEncoder
      -> WGPUMapModeFlags -> WGPUBuffer -> Word64 -> Word64 -> IO ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String
-> IO
     (FunPtr
        (WGPURenderPassEncoder
         -> WGPUMapModeFlags -> WGPUBuffer -> Word64 -> Word64 -> IO ()))
forall a. String -> IO (FunPtr a)
load String
"wgpuRenderPassEncoderSetVertexBuffer"
  WGPURenderPassEncoder
-> CFloat
-> CFloat
-> CFloat
-> CFloat
-> CFloat
-> CFloat
-> IO ()
wgpuRenderPassEncoderSetViewport <- FunPtr
  (WGPURenderPassEncoder
   -> CFloat
   -> CFloat
   -> CFloat
   -> CFloat
   -> CFloat
   -> CFloat
   -> IO ())
-> WGPURenderPassEncoder
-> CFloat
-> CFloat
-> CFloat
-> CFloat
-> CFloat
-> CFloat
-> IO ()
mk_wgpuhsfn_wgpuRenderPassEncoderSetViewport (FunPtr
   (WGPURenderPassEncoder
    -> CFloat
    -> CFloat
    -> CFloat
    -> CFloat
    -> CFloat
    -> CFloat
    -> IO ())
 -> WGPURenderPassEncoder
 -> CFloat
 -> CFloat
 -> CFloat
 -> CFloat
 -> CFloat
 -> CFloat
 -> IO ())
-> IO
     (FunPtr
        (WGPURenderPassEncoder
         -> CFloat
         -> CFloat
         -> CFloat
         -> CFloat
         -> CFloat
         -> CFloat
         -> IO ()))
-> IO
     (WGPURenderPassEncoder
      -> CFloat
      -> CFloat
      -> CFloat
      -> CFloat
      -> CFloat
      -> CFloat
      -> IO ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String
-> IO
     (FunPtr
        (WGPURenderPassEncoder
         -> CFloat
         -> CFloat
         -> CFloat
         -> CFloat
         -> CFloat
         -> CFloat
         -> IO ()))
forall a. String -> IO (FunPtr a)
load String
"wgpuRenderPassEncoderSetViewport"
  WGPUSurface
-> WGPUAdapter
-> WGPUSurfaceGetPreferredFormatCallback
-> Ptr ()
-> IO ()
wgpuSurfaceGetPreferredFormat <- FunPtr
  (WGPUSurface
   -> WGPUAdapter
   -> WGPUSurfaceGetPreferredFormatCallback
   -> Ptr ()
   -> IO ())
-> WGPUSurface
-> WGPUAdapter
-> WGPUSurfaceGetPreferredFormatCallback
-> Ptr ()
-> IO ()
mk_wgpuhsfn_wgpuSurfaceGetPreferredFormat (FunPtr
   (WGPUSurface
    -> WGPUAdapter
    -> WGPUSurfaceGetPreferredFormatCallback
    -> Ptr ()
    -> IO ())
 -> WGPUSurface
 -> WGPUAdapter
 -> WGPUSurfaceGetPreferredFormatCallback
 -> Ptr ()
 -> IO ())
-> IO
     (FunPtr
        (WGPUSurface
         -> WGPUAdapter
         -> WGPUSurfaceGetPreferredFormatCallback
         -> Ptr ()
         -> IO ()))
-> IO
     (WGPUSurface
      -> WGPUAdapter
      -> WGPUSurfaceGetPreferredFormatCallback
      -> Ptr ()
      -> IO ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String
-> IO
     (FunPtr
        (WGPUSurface
         -> WGPUAdapter
         -> WGPUSurfaceGetPreferredFormatCallback
         -> Ptr ()
         -> IO ()))
forall a. String -> IO (FunPtr a)
load String
"wgpuSurfaceGetPreferredFormat"
  WGPUSwapChain -> IO WGPUTextureView
wgpuSwapChainGetCurrentTextureView <- FunPtr (WGPUSwapChain -> IO WGPUTextureView)
-> WGPUSwapChain -> IO WGPUTextureView
mk_wgpuhsfn_wgpuSwapChainGetCurrentTextureView (FunPtr (WGPUSwapChain -> IO WGPUTextureView)
 -> WGPUSwapChain -> IO WGPUTextureView)
-> IO (FunPtr (WGPUSwapChain -> IO WGPUTextureView))
-> IO (WGPUSwapChain -> IO WGPUTextureView)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String -> IO (FunPtr (WGPUSwapChain -> IO WGPUTextureView))
forall a. String -> IO (FunPtr a)
load String
"wgpuSwapChainGetCurrentTextureView"
  WGPUSwapChain -> IO ()
wgpuSwapChainPresent <- FunPtr (WGPUSwapChain -> IO ()) -> WGPUSwapChain -> IO ()
mk_wgpuhsfn_wgpuSwapChainPresent (FunPtr (WGPUSwapChain -> IO ()) -> WGPUSwapChain -> IO ())
-> IO (FunPtr (WGPUSwapChain -> IO ()))
-> IO (WGPUSwapChain -> IO ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String -> IO (FunPtr (WGPUSwapChain -> IO ()))
forall a. String -> IO (FunPtr a)
load String
"wgpuSwapChainPresent"
  WGPUTexture -> Ptr WGPUTextureViewDescriptor -> IO WGPUTextureView
wgpuTextureCreateView <- FunPtr
  (WGPUTexture
   -> Ptr WGPUTextureViewDescriptor -> IO WGPUTextureView)
-> WGPUTexture
-> Ptr WGPUTextureViewDescriptor
-> IO WGPUTextureView
mk_wgpuhsfn_wgpuTextureCreateView (FunPtr
   (WGPUTexture
    -> Ptr WGPUTextureViewDescriptor -> IO WGPUTextureView)
 -> WGPUTexture
 -> Ptr WGPUTextureViewDescriptor
 -> IO WGPUTextureView)
-> IO
     (FunPtr
        (WGPUTexture
         -> Ptr WGPUTextureViewDescriptor -> IO WGPUTextureView))
-> IO
     (WGPUTexture
      -> Ptr WGPUTextureViewDescriptor -> IO WGPUTextureView)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String
-> IO
     (FunPtr
        (WGPUTexture
         -> Ptr WGPUTextureViewDescriptor -> IO WGPUTextureView))
forall a. String -> IO (FunPtr a)
load String
"wgpuTextureCreateView"
  WGPUTexture -> IO ()
wgpuTextureDestroy <- FunPtr (WGPUTexture -> IO ()) -> WGPUTexture -> IO ()
mk_wgpuhsfn_wgpuTextureDestroy (FunPtr (WGPUTexture -> IO ()) -> WGPUTexture -> IO ())
-> IO (FunPtr (WGPUTexture -> IO ())) -> IO (WGPUTexture -> IO ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String -> IO (FunPtr (WGPUTexture -> IO ()))
forall a. String -> IO (FunPtr a)
load String
"wgpuTextureDestroy"
  WGPUDevice -> CBool -> IO ()
wgpuDevicePoll <- FunPtr (WGPUDevice -> CBool -> IO ())
-> WGPUDevice -> CBool -> IO ()
mk_wgpuhsfn_wgpuDevicePoll (FunPtr (WGPUDevice -> CBool -> IO ())
 -> WGPUDevice -> CBool -> IO ())
-> IO (FunPtr (WGPUDevice -> CBool -> IO ()))
-> IO (WGPUDevice -> CBool -> IO ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String -> IO (FunPtr (WGPUDevice -> CBool -> IO ()))
forall a. String -> IO (FunPtr a)
load String
"wgpuDevicePoll"
  WGPULogCallback -> IO ()
wgpuSetLogCallback <- FunPtr (WGPULogCallback -> IO ()) -> WGPULogCallback -> IO ()
mk_wgpuhsfn_wgpuSetLogCallback (FunPtr (WGPULogCallback -> IO ()) -> WGPULogCallback -> IO ())
-> IO (FunPtr (WGPULogCallback -> IO ()))
-> IO (WGPULogCallback -> IO ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String -> IO (FunPtr (WGPULogCallback -> IO ()))
forall a. String -> IO (FunPtr a)
load String
"wgpuSetLogCallback"
  WGPULogLevel -> IO ()
wgpuSetLogLevel <- FunPtr (WGPULogLevel -> IO ()) -> WGPULogLevel -> IO ()
mk_wgpuhsfn_wgpuSetLogLevel (FunPtr (WGPULogLevel -> IO ()) -> WGPULogLevel -> IO ())
-> IO (FunPtr (WGPULogLevel -> IO ()))
-> IO (WGPULogLevel -> IO ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String -> IO (FunPtr (WGPULogLevel -> IO ()))
forall a. String -> IO (FunPtr a)
load String
"wgpuSetLogLevel"
  IO WGPUMapModeFlags
wgpuGetVersion <- FunPtr (IO WGPUMapModeFlags) -> IO WGPUMapModeFlags
mk_wgpuhsfn_wgpuGetVersion (FunPtr (IO WGPUMapModeFlags) -> IO WGPUMapModeFlags)
-> IO (FunPtr (IO WGPUMapModeFlags)) -> IO (IO WGPUMapModeFlags)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String -> IO (FunPtr (IO WGPUMapModeFlags))
forall a. String -> IO (FunPtr a)
load String
"wgpuGetVersion"
  WGPURenderPassEncoder
-> WGPUShaderStage
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> Ptr ()
-> IO ()
wgpuRenderPassEncoderSetPushConstants <- FunPtr
  (WGPURenderPassEncoder
   -> WGPUShaderStage
   -> WGPUMapModeFlags
   -> WGPUMapModeFlags
   -> Ptr ()
   -> IO ())
-> WGPURenderPassEncoder
-> WGPUShaderStage
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> Ptr ()
-> IO ()
mk_wgpuhsfn_wgpuRenderPassEncoderSetPushConstants (FunPtr
   (WGPURenderPassEncoder
    -> WGPUShaderStage
    -> WGPUMapModeFlags
    -> WGPUMapModeFlags
    -> Ptr ()
    -> IO ())
 -> WGPURenderPassEncoder
 -> WGPUShaderStage
 -> WGPUMapModeFlags
 -> WGPUMapModeFlags
 -> Ptr ()
 -> IO ())
-> IO
     (FunPtr
        (WGPURenderPassEncoder
         -> WGPUShaderStage
         -> WGPUMapModeFlags
         -> WGPUMapModeFlags
         -> Ptr ()
         -> IO ()))
-> IO
     (WGPURenderPassEncoder
      -> WGPUShaderStage
      -> WGPUMapModeFlags
      -> WGPUMapModeFlags
      -> Ptr ()
      -> IO ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> String
-> IO
     (FunPtr
        (WGPURenderPassEncoder
         -> WGPUShaderStage
         -> WGPUMapModeFlags
         -> WGPUMapModeFlags
         -> Ptr ()
         -> IO ()))
forall a. String -> IO (FunPtr a)
load String
"wgpuRenderPassEncoderSetPushConstants"
  WGPUHsInstance -> IO WGPUHsInstance
forall (f :: * -> *) a. Applicative f => a -> f a
pure WGPUHsInstance :: (WGPUAdapter -> Ptr WGPUAdapterProperties -> IO ())
-> (WGPUAdapter
    -> Ptr WGPUDeviceDescriptor
    -> WGPURequestDeviceCallback
    -> Ptr ()
    -> IO ())
-> (WGPUBuffer -> IO ())
-> (WGPUBuffer -> CSize -> CSize -> IO (Ptr ()))
-> (WGPUBuffer
    -> WGPUMapModeFlags
    -> CSize
    -> CSize
    -> WGPUBufferMapCallback
    -> Ptr ()
    -> IO ())
-> (WGPUBuffer -> IO ())
-> (WGPUCommandEncoder
    -> Ptr WGPUComputePassDescriptor -> IO WGPUComputePassEncoder)
-> (WGPUCommandEncoder
    -> Ptr WGPURenderPassDescriptor -> IO WGPURenderPassEncoder)
-> (WGPUCommandEncoder
    -> WGPUBuffer -> Word64 -> WGPUBuffer -> Word64 -> Word64 -> IO ())
-> (WGPUCommandEncoder
    -> Ptr WGPUImageCopyBuffer
    -> Ptr WGPUImageCopyTexture
    -> Ptr WGPUExtent3D
    -> IO ())
-> (WGPUCommandEncoder
    -> Ptr WGPUImageCopyTexture
    -> Ptr WGPUImageCopyTexture
    -> Ptr WGPUExtent3D
    -> IO ())
-> (WGPUCommandEncoder
    -> Ptr WGPUImageCopyTexture
    -> Ptr WGPUImageCopyBuffer
    -> Ptr WGPUExtent3D
    -> IO ())
-> (WGPUCommandEncoder
    -> Ptr WGPUCommandBufferDescriptor -> IO WGPUCommandBuffer)
-> (WGPUComputePassEncoder
    -> WGPUMapModeFlags
    -> WGPUMapModeFlags
    -> WGPUMapModeFlags
    -> IO ())
-> (WGPUComputePassEncoder -> WGPUBuffer -> Word64 -> IO ())
-> (WGPUComputePassEncoder -> IO ())
-> (WGPUComputePassEncoder
    -> WGPUMapModeFlags
    -> WGPUBindGroup
    -> WGPUMapModeFlags
    -> Ptr WGPUMapModeFlags
    -> IO ())
-> (WGPUComputePassEncoder -> WGPUComputePipeline -> IO ())
-> (WGPUDevice -> Ptr WGPUBindGroupDescriptor -> IO WGPUBindGroup)
-> (WGPUDevice
    -> Ptr WGPUBindGroupLayoutDescriptor -> IO WGPUBindGroupLayout)
-> (WGPUDevice -> Ptr WGPUBufferDescriptor -> IO WGPUBuffer)
-> (WGPUDevice
    -> Ptr WGPUCommandEncoderDescriptor -> IO WGPUCommandEncoder)
-> (WGPUDevice
    -> Ptr WGPUComputePipelineDescriptor -> IO WGPUComputePipeline)
-> (WGPUDevice
    -> Ptr WGPUPipelineLayoutDescriptor -> IO WGPUPipelineLayout)
-> (WGPUDevice
    -> Ptr WGPURenderPipelineDescriptor -> IO WGPURenderPipeline)
-> (WGPUDevice -> Ptr WGPUSamplerDescriptor -> IO WGPUSampler)
-> (WGPUDevice
    -> Ptr WGPUShaderModuleDescriptor -> IO WGPUShaderModule)
-> (WGPUDevice
    -> WGPUSurface -> Ptr WGPUSwapChainDescriptor -> IO WGPUSwapChain)
-> (WGPUDevice -> Ptr WGPUTextureDescriptor -> IO WGPUTexture)
-> (WGPUDevice -> IO WGPUQueue)
-> (WGPUInstance -> Ptr WGPUSurfaceDescriptor -> IO WGPUSurface)
-> (WGPUInstance
    -> Ptr WGPURequestAdapterOptions
    -> WGPURequestAdapterCallback
    -> Ptr ()
    -> IO ())
-> (WGPUQueue
    -> WGPUMapModeFlags -> Ptr WGPUCommandBuffer -> IO ())
-> (WGPUQueue -> WGPUBuffer -> Word64 -> Ptr () -> CSize -> IO ())
-> (WGPUQueue
    -> Ptr WGPUImageCopyTexture
    -> Ptr ()
    -> CSize
    -> Ptr WGPUTextureDataLayout
    -> Ptr WGPUExtent3D
    -> IO ())
-> (WGPURenderPassEncoder
    -> WGPUMapModeFlags
    -> WGPUMapModeFlags
    -> WGPUMapModeFlags
    -> WGPUMapModeFlags
    -> IO ())
-> (WGPURenderPassEncoder
    -> WGPUMapModeFlags
    -> WGPUMapModeFlags
    -> WGPUMapModeFlags
    -> Int32
    -> WGPUMapModeFlags
    -> IO ())
-> (WGPURenderPassEncoder -> WGPUBuffer -> Word64 -> IO ())
-> (WGPURenderPassEncoder -> WGPUBuffer -> Word64 -> IO ())
-> (WGPURenderPassEncoder -> IO ())
-> (WGPURenderPassEncoder
    -> WGPUMapModeFlags
    -> WGPUBindGroup
    -> WGPUMapModeFlags
    -> Ptr WGPUMapModeFlags
    -> IO ())
-> (WGPURenderPassEncoder -> Ptr WGPUColor -> IO ())
-> (WGPURenderPassEncoder
    -> WGPUBuffer -> WGPUIndexFormat -> Word64 -> Word64 -> IO ())
-> (WGPURenderPassEncoder -> WGPURenderPipeline -> IO ())
-> (WGPURenderPassEncoder
    -> WGPUMapModeFlags
    -> WGPUMapModeFlags
    -> WGPUMapModeFlags
    -> WGPUMapModeFlags
    -> IO ())
-> (WGPURenderPassEncoder -> WGPUMapModeFlags -> IO ())
-> (WGPURenderPassEncoder
    -> WGPUMapModeFlags -> WGPUBuffer -> Word64 -> Word64 -> IO ())
-> (WGPURenderPassEncoder
    -> CFloat
    -> CFloat
    -> CFloat
    -> CFloat
    -> CFloat
    -> CFloat
    -> IO ())
-> (WGPUSurface
    -> WGPUAdapter
    -> WGPUSurfaceGetPreferredFormatCallback
    -> Ptr ()
    -> IO ())
-> (WGPUSwapChain -> IO WGPUTextureView)
-> (WGPUSwapChain -> IO ())
-> (WGPUTexture
    -> Ptr WGPUTextureViewDescriptor -> IO WGPUTextureView)
-> (WGPUTexture -> IO ())
-> (WGPUDevice -> CBool -> IO ())
-> (WGPULogCallback -> IO ())
-> (WGPULogLevel -> IO ())
-> IO WGPUMapModeFlags
-> (WGPURenderPassEncoder
    -> WGPUShaderStage
    -> WGPUMapModeFlags
    -> WGPUMapModeFlags
    -> Ptr ()
    -> IO ())
-> WGPUHsInstance
WGPUHsInstance {IO WGPUMapModeFlags
WGPULogCallback -> IO ()
WGPULogLevel -> IO ()
WGPUTexture -> IO ()
WGPUTexture -> Ptr WGPUTextureViewDescriptor -> IO WGPUTextureView
WGPUSwapChain -> IO ()
WGPUSwapChain -> IO WGPUTextureView
WGPUSurface
-> WGPUAdapter
-> WGPUSurfaceGetPreferredFormatCallback
-> Ptr ()
-> IO ()
WGPURenderPassEncoder -> IO ()
WGPURenderPassEncoder -> WGPUMapModeFlags -> IO ()
WGPURenderPassEncoder
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> Int32
-> WGPUMapModeFlags
-> IO ()
WGPURenderPassEncoder
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> IO ()
WGPURenderPassEncoder
-> WGPUMapModeFlags -> WGPUBuffer -> Word64 -> Word64 -> IO ()
WGPURenderPassEncoder
-> WGPUMapModeFlags
-> WGPUBindGroup
-> WGPUMapModeFlags
-> Ptr WGPUMapModeFlags
-> IO ()
WGPURenderPassEncoder -> Ptr WGPUColor -> IO ()
WGPURenderPassEncoder
-> CFloat
-> CFloat
-> CFloat
-> CFloat
-> CFloat
-> CFloat
-> IO ()
WGPURenderPassEncoder
-> WGPUShaderStage
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> Ptr ()
-> IO ()
WGPURenderPassEncoder -> WGPURenderPipeline -> IO ()
WGPURenderPassEncoder -> WGPUBuffer -> Word64 -> IO ()
WGPURenderPassEncoder
-> WGPUBuffer -> WGPUIndexFormat -> Word64 -> Word64 -> IO ()
WGPUQueue -> WGPUMapModeFlags -> Ptr WGPUCommandBuffer -> IO ()
WGPUQueue
-> Ptr WGPUImageCopyTexture
-> Ptr ()
-> CSize
-> Ptr WGPUTextureDataLayout
-> Ptr WGPUExtent3D
-> IO ()
WGPUQueue -> WGPUBuffer -> Word64 -> Ptr () -> CSize -> IO ()
WGPUInstance -> Ptr WGPUSurfaceDescriptor -> IO WGPUSurface
WGPUInstance
-> Ptr WGPURequestAdapterOptions
-> WGPURequestAdapterCallback
-> Ptr ()
-> IO ()
WGPUDevice -> IO WGPUQueue
WGPUDevice -> Ptr WGPUTextureDescriptor -> IO WGPUTexture
WGPUDevice -> Ptr WGPUShaderModuleDescriptor -> IO WGPUShaderModule
WGPUDevice -> Ptr WGPUSamplerDescriptor -> IO WGPUSampler
WGPUDevice
-> Ptr WGPUPipelineLayoutDescriptor -> IO WGPUPipelineLayout
WGPUDevice
-> Ptr WGPUComputePipelineDescriptor -> IO WGPUComputePipeline
WGPUDevice
-> Ptr WGPUCommandEncoderDescriptor -> IO WGPUCommandEncoder
WGPUDevice -> Ptr WGPUBufferDescriptor -> IO WGPUBuffer
WGPUDevice
-> Ptr WGPURenderPipelineDescriptor -> IO WGPURenderPipeline
WGPUDevice
-> Ptr WGPUBindGroupLayoutDescriptor -> IO WGPUBindGroupLayout
WGPUDevice -> Ptr WGPUBindGroupDescriptor -> IO WGPUBindGroup
WGPUDevice -> CBool -> IO ()
WGPUDevice
-> WGPUSurface -> Ptr WGPUSwapChainDescriptor -> IO WGPUSwapChain
WGPUComputePassEncoder -> IO ()
WGPUComputePassEncoder
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> IO ()
WGPUComputePassEncoder
-> WGPUMapModeFlags
-> WGPUBindGroup
-> WGPUMapModeFlags
-> Ptr WGPUMapModeFlags
-> IO ()
WGPUComputePassEncoder -> WGPUComputePipeline -> IO ()
WGPUComputePassEncoder -> WGPUBuffer -> Word64 -> IO ()
WGPUCommandEncoder
-> Ptr WGPURenderPassDescriptor -> IO WGPURenderPassEncoder
WGPUCommandEncoder
-> Ptr WGPUImageCopyTexture
-> Ptr WGPUImageCopyTexture
-> Ptr WGPUExtent3D
-> IO ()
WGPUCommandEncoder
-> Ptr WGPUImageCopyTexture
-> Ptr WGPUImageCopyBuffer
-> Ptr WGPUExtent3D
-> IO ()
WGPUCommandEncoder
-> Ptr WGPUImageCopyBuffer
-> Ptr WGPUImageCopyTexture
-> Ptr WGPUExtent3D
-> IO ()
WGPUCommandEncoder
-> Ptr WGPUComputePassDescriptor -> IO WGPUComputePassEncoder
WGPUCommandEncoder
-> Ptr WGPUCommandBufferDescriptor -> IO WGPUCommandBuffer
WGPUCommandEncoder
-> WGPUBuffer -> Word64 -> WGPUBuffer -> Word64 -> Word64 -> IO ()
WGPUBuffer -> IO ()
WGPUBuffer
-> WGPUMapModeFlags
-> CSize
-> CSize
-> WGPUBufferMapCallback
-> Ptr ()
-> IO ()
WGPUBuffer -> CSize -> CSize -> IO (Ptr ())
WGPUAdapter
-> Ptr WGPUDeviceDescriptor
-> WGPURequestDeviceCallback
-> Ptr ()
-> IO ()
WGPUAdapter -> Ptr WGPUAdapterProperties -> IO ()
wgpuRenderPassEncoderSetPushConstants :: WGPURenderPassEncoder
-> WGPUShaderStage
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> Ptr ()
-> IO ()
wgpuGetVersion :: IO WGPUMapModeFlags
wgpuSetLogLevel :: WGPULogLevel -> IO ()
wgpuSetLogCallback :: WGPULogCallback -> IO ()
wgpuDevicePoll :: WGPUDevice -> CBool -> IO ()
wgpuTextureDestroy :: WGPUTexture -> IO ()
wgpuTextureCreateView :: WGPUTexture -> Ptr WGPUTextureViewDescriptor -> IO WGPUTextureView
wgpuSwapChainPresent :: WGPUSwapChain -> IO ()
wgpuSwapChainGetCurrentTextureView :: WGPUSwapChain -> IO WGPUTextureView
wgpuSurfaceGetPreferredFormat :: WGPUSurface
-> WGPUAdapter
-> WGPUSurfaceGetPreferredFormatCallback
-> Ptr ()
-> IO ()
wgpuRenderPassEncoderSetViewport :: WGPURenderPassEncoder
-> CFloat
-> CFloat
-> CFloat
-> CFloat
-> CFloat
-> CFloat
-> IO ()
wgpuRenderPassEncoderSetVertexBuffer :: WGPURenderPassEncoder
-> WGPUMapModeFlags -> WGPUBuffer -> Word64 -> Word64 -> IO ()
wgpuRenderPassEncoderSetStencilReference :: WGPURenderPassEncoder -> WGPUMapModeFlags -> IO ()
wgpuRenderPassEncoderSetScissorRect :: WGPURenderPassEncoder
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> IO ()
wgpuRenderPassEncoderSetPipeline :: WGPURenderPassEncoder -> WGPURenderPipeline -> IO ()
wgpuRenderPassEncoderSetIndexBuffer :: WGPURenderPassEncoder
-> WGPUBuffer -> WGPUIndexFormat -> Word64 -> Word64 -> IO ()
wgpuRenderPassEncoderSetBlendConstant :: WGPURenderPassEncoder -> Ptr WGPUColor -> IO ()
wgpuRenderPassEncoderSetBindGroup :: WGPURenderPassEncoder
-> WGPUMapModeFlags
-> WGPUBindGroup
-> WGPUMapModeFlags
-> Ptr WGPUMapModeFlags
-> IO ()
wgpuRenderPassEncoderEndPass :: WGPURenderPassEncoder -> IO ()
wgpuRenderPassEncoderDrawIndirect :: WGPURenderPassEncoder -> WGPUBuffer -> Word64 -> IO ()
wgpuRenderPassEncoderDrawIndexedIndirect :: WGPURenderPassEncoder -> WGPUBuffer -> Word64 -> IO ()
wgpuRenderPassEncoderDrawIndexed :: WGPURenderPassEncoder
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> Int32
-> WGPUMapModeFlags
-> IO ()
wgpuRenderPassEncoderDraw :: WGPURenderPassEncoder
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> IO ()
wgpuQueueWriteTexture :: WGPUQueue
-> Ptr WGPUImageCopyTexture
-> Ptr ()
-> CSize
-> Ptr WGPUTextureDataLayout
-> Ptr WGPUExtent3D
-> IO ()
wgpuQueueWriteBuffer :: WGPUQueue -> WGPUBuffer -> Word64 -> Ptr () -> CSize -> IO ()
wgpuQueueSubmit :: WGPUQueue -> WGPUMapModeFlags -> Ptr WGPUCommandBuffer -> IO ()
wgpuInstanceRequestAdapter :: WGPUInstance
-> Ptr WGPURequestAdapterOptions
-> WGPURequestAdapterCallback
-> Ptr ()
-> IO ()
wgpuInstanceCreateSurface :: WGPUInstance -> Ptr WGPUSurfaceDescriptor -> IO WGPUSurface
wgpuDeviceGetQueue :: WGPUDevice -> IO WGPUQueue
wgpuDeviceCreateTexture :: WGPUDevice -> Ptr WGPUTextureDescriptor -> IO WGPUTexture
wgpuDeviceCreateSwapChain :: WGPUDevice
-> WGPUSurface -> Ptr WGPUSwapChainDescriptor -> IO WGPUSwapChain
wgpuDeviceCreateShaderModule :: WGPUDevice -> Ptr WGPUShaderModuleDescriptor -> IO WGPUShaderModule
wgpuDeviceCreateSampler :: WGPUDevice -> Ptr WGPUSamplerDescriptor -> IO WGPUSampler
wgpuDeviceCreateRenderPipeline :: WGPUDevice
-> Ptr WGPURenderPipelineDescriptor -> IO WGPURenderPipeline
wgpuDeviceCreatePipelineLayout :: WGPUDevice
-> Ptr WGPUPipelineLayoutDescriptor -> IO WGPUPipelineLayout
wgpuDeviceCreateComputePipeline :: WGPUDevice
-> Ptr WGPUComputePipelineDescriptor -> IO WGPUComputePipeline
wgpuDeviceCreateCommandEncoder :: WGPUDevice
-> Ptr WGPUCommandEncoderDescriptor -> IO WGPUCommandEncoder
wgpuDeviceCreateBuffer :: WGPUDevice -> Ptr WGPUBufferDescriptor -> IO WGPUBuffer
wgpuDeviceCreateBindGroupLayout :: WGPUDevice
-> Ptr WGPUBindGroupLayoutDescriptor -> IO WGPUBindGroupLayout
wgpuDeviceCreateBindGroup :: WGPUDevice -> Ptr WGPUBindGroupDescriptor -> IO WGPUBindGroup
wgpuComputePassEncoderSetPipeline :: WGPUComputePassEncoder -> WGPUComputePipeline -> IO ()
wgpuComputePassEncoderSetBindGroup :: WGPUComputePassEncoder
-> WGPUMapModeFlags
-> WGPUBindGroup
-> WGPUMapModeFlags
-> Ptr WGPUMapModeFlags
-> IO ()
wgpuComputePassEncoderEndPass :: WGPUComputePassEncoder -> IO ()
wgpuComputePassEncoderDispatchIndirect :: WGPUComputePassEncoder -> WGPUBuffer -> Word64 -> IO ()
wgpuComputePassEncoderDispatch :: WGPUComputePassEncoder
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> IO ()
wgpuCommandEncoderFinish :: WGPUCommandEncoder
-> Ptr WGPUCommandBufferDescriptor -> IO WGPUCommandBuffer
wgpuCommandEncoderCopyTextureToBuffer :: WGPUCommandEncoder
-> Ptr WGPUImageCopyTexture
-> Ptr WGPUImageCopyBuffer
-> Ptr WGPUExtent3D
-> IO ()
wgpuCommandEncoderCopyTextureToTexture :: WGPUCommandEncoder
-> Ptr WGPUImageCopyTexture
-> Ptr WGPUImageCopyTexture
-> Ptr WGPUExtent3D
-> IO ()
wgpuCommandEncoderCopyBufferToTexture :: WGPUCommandEncoder
-> Ptr WGPUImageCopyBuffer
-> Ptr WGPUImageCopyTexture
-> Ptr WGPUExtent3D
-> IO ()
wgpuCommandEncoderCopyBufferToBuffer :: WGPUCommandEncoder
-> WGPUBuffer -> Word64 -> WGPUBuffer -> Word64 -> Word64 -> IO ()
wgpuCommandEncoderBeginRenderPass :: WGPUCommandEncoder
-> Ptr WGPURenderPassDescriptor -> IO WGPURenderPassEncoder
wgpuCommandEncoderBeginComputePass :: WGPUCommandEncoder
-> Ptr WGPUComputePassDescriptor -> IO WGPUComputePassEncoder
wgpuBufferUnmap :: WGPUBuffer -> IO ()
wgpuBufferMapAsync :: WGPUBuffer
-> WGPUMapModeFlags
-> CSize
-> CSize
-> WGPUBufferMapCallback
-> Ptr ()
-> IO ()
wgpuBufferGetMappedRange :: WGPUBuffer -> CSize -> CSize -> IO (Ptr ())
wgpuBufferDestroy :: WGPUBuffer -> IO ()
wgpuAdapterRequestDevice :: WGPUAdapter
-> Ptr WGPUDeviceDescriptor
-> WGPURequestDeviceCallback
-> Ptr ()
-> IO ()
wgpuAdapterGetProperties :: WGPUAdapter -> Ptr WGPUAdapterProperties -> IO ()
wgpuRenderPassEncoderSetPushConstants :: WGPURenderPassEncoder
-> WGPUShaderStage
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> Ptr ()
-> IO ()
wgpuGetVersion :: IO WGPUMapModeFlags
wgpuSetLogLevel :: WGPULogLevel -> IO ()
wgpuSetLogCallback :: WGPULogCallback -> IO ()
wgpuDevicePoll :: WGPUDevice -> CBool -> IO ()
wgpuTextureDestroy :: WGPUTexture -> IO ()
wgpuTextureCreateView :: WGPUTexture -> Ptr WGPUTextureViewDescriptor -> IO WGPUTextureView
wgpuSwapChainPresent :: WGPUSwapChain -> IO ()
wgpuSwapChainGetCurrentTextureView :: WGPUSwapChain -> IO WGPUTextureView
wgpuSurfaceGetPreferredFormat :: WGPUSurface
-> WGPUAdapter
-> WGPUSurfaceGetPreferredFormatCallback
-> Ptr ()
-> IO ()
wgpuRenderPassEncoderSetViewport :: WGPURenderPassEncoder
-> CFloat
-> CFloat
-> CFloat
-> CFloat
-> CFloat
-> CFloat
-> IO ()
wgpuRenderPassEncoderSetVertexBuffer :: WGPURenderPassEncoder
-> WGPUMapModeFlags -> WGPUBuffer -> Word64 -> Word64 -> IO ()
wgpuRenderPassEncoderSetStencilReference :: WGPURenderPassEncoder -> WGPUMapModeFlags -> IO ()
wgpuRenderPassEncoderSetScissorRect :: WGPURenderPassEncoder
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> IO ()
wgpuRenderPassEncoderSetPipeline :: WGPURenderPassEncoder -> WGPURenderPipeline -> IO ()
wgpuRenderPassEncoderSetIndexBuffer :: WGPURenderPassEncoder
-> WGPUBuffer -> WGPUIndexFormat -> Word64 -> Word64 -> IO ()
wgpuRenderPassEncoderSetBlendConstant :: WGPURenderPassEncoder -> Ptr WGPUColor -> IO ()
wgpuRenderPassEncoderSetBindGroup :: WGPURenderPassEncoder
-> WGPUMapModeFlags
-> WGPUBindGroup
-> WGPUMapModeFlags
-> Ptr WGPUMapModeFlags
-> IO ()
wgpuRenderPassEncoderEndPass :: WGPURenderPassEncoder -> IO ()
wgpuRenderPassEncoderDrawIndirect :: WGPURenderPassEncoder -> WGPUBuffer -> Word64 -> IO ()
wgpuRenderPassEncoderDrawIndexedIndirect :: WGPURenderPassEncoder -> WGPUBuffer -> Word64 -> IO ()
wgpuRenderPassEncoderDrawIndexed :: WGPURenderPassEncoder
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> Int32
-> WGPUMapModeFlags
-> IO ()
wgpuRenderPassEncoderDraw :: WGPURenderPassEncoder
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> IO ()
wgpuQueueWriteTexture :: WGPUQueue
-> Ptr WGPUImageCopyTexture
-> Ptr ()
-> CSize
-> Ptr WGPUTextureDataLayout
-> Ptr WGPUExtent3D
-> IO ()
wgpuQueueWriteBuffer :: WGPUQueue -> WGPUBuffer -> Word64 -> Ptr () -> CSize -> IO ()
wgpuQueueSubmit :: WGPUQueue -> WGPUMapModeFlags -> Ptr WGPUCommandBuffer -> IO ()
wgpuInstanceRequestAdapter :: WGPUInstance
-> Ptr WGPURequestAdapterOptions
-> WGPURequestAdapterCallback
-> Ptr ()
-> IO ()
wgpuInstanceCreateSurface :: WGPUInstance -> Ptr WGPUSurfaceDescriptor -> IO WGPUSurface
wgpuDeviceGetQueue :: WGPUDevice -> IO WGPUQueue
wgpuDeviceCreateTexture :: WGPUDevice -> Ptr WGPUTextureDescriptor -> IO WGPUTexture
wgpuDeviceCreateSwapChain :: WGPUDevice
-> WGPUSurface -> Ptr WGPUSwapChainDescriptor -> IO WGPUSwapChain
wgpuDeviceCreateShaderModule :: WGPUDevice -> Ptr WGPUShaderModuleDescriptor -> IO WGPUShaderModule
wgpuDeviceCreateSampler :: WGPUDevice -> Ptr WGPUSamplerDescriptor -> IO WGPUSampler
wgpuDeviceCreateRenderPipeline :: WGPUDevice
-> Ptr WGPURenderPipelineDescriptor -> IO WGPURenderPipeline
wgpuDeviceCreatePipelineLayout :: WGPUDevice
-> Ptr WGPUPipelineLayoutDescriptor -> IO WGPUPipelineLayout
wgpuDeviceCreateComputePipeline :: WGPUDevice
-> Ptr WGPUComputePipelineDescriptor -> IO WGPUComputePipeline
wgpuDeviceCreateCommandEncoder :: WGPUDevice
-> Ptr WGPUCommandEncoderDescriptor -> IO WGPUCommandEncoder
wgpuDeviceCreateBuffer :: WGPUDevice -> Ptr WGPUBufferDescriptor -> IO WGPUBuffer
wgpuDeviceCreateBindGroupLayout :: WGPUDevice
-> Ptr WGPUBindGroupLayoutDescriptor -> IO WGPUBindGroupLayout
wgpuDeviceCreateBindGroup :: WGPUDevice -> Ptr WGPUBindGroupDescriptor -> IO WGPUBindGroup
wgpuComputePassEncoderSetPipeline :: WGPUComputePassEncoder -> WGPUComputePipeline -> IO ()
wgpuComputePassEncoderSetBindGroup :: WGPUComputePassEncoder
-> WGPUMapModeFlags
-> WGPUBindGroup
-> WGPUMapModeFlags
-> Ptr WGPUMapModeFlags
-> IO ()
wgpuComputePassEncoderEndPass :: WGPUComputePassEncoder -> IO ()
wgpuComputePassEncoderDispatchIndirect :: WGPUComputePassEncoder -> WGPUBuffer -> Word64 -> IO ()
wgpuComputePassEncoderDispatch :: WGPUComputePassEncoder
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> WGPUMapModeFlags
-> IO ()
wgpuCommandEncoderFinish :: WGPUCommandEncoder
-> Ptr WGPUCommandBufferDescriptor -> IO WGPUCommandBuffer
wgpuCommandEncoderCopyTextureToBuffer :: WGPUCommandEncoder
-> Ptr WGPUImageCopyTexture
-> Ptr WGPUImageCopyBuffer
-> Ptr WGPUExtent3D
-> IO ()
wgpuCommandEncoderCopyTextureToTexture :: WGPUCommandEncoder
-> Ptr WGPUImageCopyTexture
-> Ptr WGPUImageCopyTexture
-> Ptr WGPUExtent3D
-> IO ()
wgpuCommandEncoderCopyBufferToTexture :: WGPUCommandEncoder
-> Ptr WGPUImageCopyBuffer
-> Ptr WGPUImageCopyTexture
-> Ptr WGPUExtent3D
-> IO ()
wgpuCommandEncoderCopyBufferToBuffer :: WGPUCommandEncoder
-> WGPUBuffer -> Word64 -> WGPUBuffer -> Word64 -> Word64 -> IO ()
wgpuCommandEncoderBeginRenderPass :: WGPUCommandEncoder
-> Ptr WGPURenderPassDescriptor -> IO WGPURenderPassEncoder
wgpuCommandEncoderBeginComputePass :: WGPUCommandEncoder
-> Ptr WGPUComputePassDescriptor -> IO WGPUComputePassEncoder
wgpuBufferUnmap :: WGPUBuffer -> IO ()
wgpuBufferMapAsync :: WGPUBuffer
-> WGPUMapModeFlags
-> CSize
-> CSize
-> WGPUBufferMapCallback
-> Ptr ()
-> IO ()
wgpuBufferGetMappedRange :: WGPUBuffer -> CSize -> CSize -> IO (Ptr ())
wgpuBufferDestroy :: WGPUBuffer -> IO ()
wgpuAdapterRequestDevice :: WGPUAdapter
-> Ptr WGPUDeviceDescriptor
-> WGPURequestDeviceCallback
-> Ptr ()
-> IO ()
wgpuAdapterGetProperties :: WGPUAdapter -> Ptr WGPUAdapterProperties -> IO ()
..}

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuAdapterGetProperties :: FunPtr (WGPUAdapter -> Ptr (WGPUAdapterProperties) -> IO (())) -> WGPUAdapter -> Ptr (WGPUAdapterProperties) -> IO (())

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuAdapterRequestDevice :: FunPtr (WGPUAdapter -> Ptr (WGPUDeviceDescriptor) -> WGPURequestDeviceCallback -> Ptr (()) -> IO (())) -> WGPUAdapter -> Ptr (WGPUDeviceDescriptor) -> WGPURequestDeviceCallback -> Ptr (()) -> IO (())

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuBufferDestroy :: FunPtr (WGPUBuffer -> IO (())) -> WGPUBuffer -> IO (())

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuBufferGetMappedRange :: FunPtr (WGPUBuffer -> CSize -> CSize -> IO (Ptr (()))) -> WGPUBuffer -> CSize -> CSize -> IO (Ptr (()))

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuBufferMapAsync :: FunPtr (WGPUBuffer -> WGPUMapModeFlags -> CSize -> CSize -> WGPUBufferMapCallback -> Ptr (()) -> IO (())) -> WGPUBuffer -> WGPUMapModeFlags -> CSize -> CSize -> WGPUBufferMapCallback -> Ptr (()) -> IO (())

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuBufferUnmap :: FunPtr (WGPUBuffer -> IO (())) -> WGPUBuffer -> IO (())

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuCommandEncoderBeginComputePass :: FunPtr (WGPUCommandEncoder -> Ptr (WGPUComputePassDescriptor) -> IO (WGPUComputePassEncoder)) -> WGPUCommandEncoder -> Ptr (WGPUComputePassDescriptor) -> IO (WGPUComputePassEncoder)

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuCommandEncoderBeginRenderPass :: FunPtr (WGPUCommandEncoder -> Ptr (WGPURenderPassDescriptor) -> IO (WGPURenderPassEncoder)) -> WGPUCommandEncoder -> Ptr (WGPURenderPassDescriptor) -> IO (WGPURenderPassEncoder)

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuCommandEncoderCopyBufferToBuffer :: FunPtr (WGPUCommandEncoder -> WGPUBuffer -> Word64 -> WGPUBuffer -> Word64 -> Word64 -> IO (())) -> WGPUCommandEncoder -> WGPUBuffer -> Word64 -> WGPUBuffer -> Word64 -> Word64 -> IO (())

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuCommandEncoderCopyBufferToTexture :: FunPtr (WGPUCommandEncoder -> Ptr (WGPUImageCopyBuffer) -> Ptr (WGPUImageCopyTexture) -> Ptr (WGPUExtent3D) -> IO (())) -> WGPUCommandEncoder -> Ptr (WGPUImageCopyBuffer) -> Ptr (WGPUImageCopyTexture) -> Ptr (WGPUExtent3D) -> IO (())

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuCommandEncoderCopyTextureToTexture :: FunPtr (WGPUCommandEncoder -> Ptr (WGPUImageCopyTexture) -> Ptr (WGPUImageCopyTexture) -> Ptr (WGPUExtent3D) -> IO (())) -> WGPUCommandEncoder -> Ptr (WGPUImageCopyTexture) -> Ptr (WGPUImageCopyTexture) -> Ptr (WGPUExtent3D) -> IO (())

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuCommandEncoderCopyTextureToBuffer :: FunPtr (WGPUCommandEncoder -> Ptr (WGPUImageCopyTexture) -> Ptr (WGPUImageCopyBuffer) -> Ptr (WGPUExtent3D) -> IO (())) -> WGPUCommandEncoder -> Ptr (WGPUImageCopyTexture) -> Ptr (WGPUImageCopyBuffer) -> Ptr (WGPUExtent3D) -> IO (())

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuCommandEncoderFinish :: FunPtr (WGPUCommandEncoder -> Ptr (WGPUCommandBufferDescriptor) -> IO (WGPUCommandBuffer)) -> WGPUCommandEncoder -> Ptr (WGPUCommandBufferDescriptor) -> IO (WGPUCommandBuffer)

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuComputePassEncoderDispatch :: FunPtr (WGPUComputePassEncoder -> Word32 -> Word32 -> Word32 -> IO (())) -> WGPUComputePassEncoder -> Word32 -> Word32 -> Word32 -> IO (())

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuComputePassEncoderDispatchIndirect :: FunPtr (WGPUComputePassEncoder -> WGPUBuffer -> Word64 -> IO (())) -> WGPUComputePassEncoder -> WGPUBuffer -> Word64 -> IO (())

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuComputePassEncoderEndPass :: FunPtr (WGPUComputePassEncoder -> IO (())) -> WGPUComputePassEncoder -> IO (())

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuComputePassEncoderSetBindGroup :: FunPtr (WGPUComputePassEncoder -> Word32 -> WGPUBindGroup -> Word32 -> Ptr (Word32) -> IO (())) -> WGPUComputePassEncoder -> Word32 -> WGPUBindGroup -> Word32 -> Ptr (Word32) -> IO (())

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuComputePassEncoderSetPipeline :: FunPtr (WGPUComputePassEncoder -> WGPUComputePipeline -> IO (())) -> WGPUComputePassEncoder -> WGPUComputePipeline -> IO (())

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuDeviceCreateBindGroup :: FunPtr (WGPUDevice -> Ptr (WGPUBindGroupDescriptor) -> IO (WGPUBindGroup)) -> WGPUDevice -> Ptr (WGPUBindGroupDescriptor) -> IO (WGPUBindGroup)

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuDeviceCreateBindGroupLayout :: FunPtr (WGPUDevice -> Ptr (WGPUBindGroupLayoutDescriptor) -> IO (WGPUBindGroupLayout)) -> WGPUDevice -> Ptr (WGPUBindGroupLayoutDescriptor) -> IO (WGPUBindGroupLayout)

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuDeviceCreateBuffer :: FunPtr (WGPUDevice -> Ptr (WGPUBufferDescriptor) -> IO (WGPUBuffer)) -> WGPUDevice -> Ptr (WGPUBufferDescriptor) -> IO (WGPUBuffer)

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuDeviceCreateCommandEncoder :: FunPtr (WGPUDevice -> Ptr (WGPUCommandEncoderDescriptor) -> IO (WGPUCommandEncoder)) -> WGPUDevice -> Ptr (WGPUCommandEncoderDescriptor) -> IO (WGPUCommandEncoder)

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuDeviceCreateComputePipeline :: FunPtr (WGPUDevice -> Ptr (WGPUComputePipelineDescriptor) -> IO (WGPUComputePipeline)) -> WGPUDevice -> Ptr (WGPUComputePipelineDescriptor) -> IO (WGPUComputePipeline)

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuDeviceCreatePipelineLayout :: FunPtr (WGPUDevice -> Ptr (WGPUPipelineLayoutDescriptor) -> IO (WGPUPipelineLayout)) -> WGPUDevice -> Ptr (WGPUPipelineLayoutDescriptor) -> IO (WGPUPipelineLayout)

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuDeviceCreateRenderPipeline :: FunPtr (WGPUDevice -> Ptr (WGPURenderPipelineDescriptor) -> IO (WGPURenderPipeline)) -> WGPUDevice -> Ptr (WGPURenderPipelineDescriptor) -> IO (WGPURenderPipeline)

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuDeviceCreateSampler :: FunPtr (WGPUDevice -> Ptr (WGPUSamplerDescriptor) -> IO (WGPUSampler)) -> WGPUDevice -> Ptr (WGPUSamplerDescriptor) -> IO (WGPUSampler)

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuDeviceCreateShaderModule :: FunPtr (WGPUDevice -> Ptr (WGPUShaderModuleDescriptor) -> IO (WGPUShaderModule)) -> WGPUDevice -> Ptr (WGPUShaderModuleDescriptor) -> IO (WGPUShaderModule)

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuDeviceCreateSwapChain :: FunPtr (WGPUDevice -> WGPUSurface -> Ptr (WGPUSwapChainDescriptor) -> IO (WGPUSwapChain)) -> WGPUDevice -> WGPUSurface -> Ptr (WGPUSwapChainDescriptor) -> IO (WGPUSwapChain)

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuDeviceCreateTexture :: FunPtr (WGPUDevice -> Ptr (WGPUTextureDescriptor) -> IO (WGPUTexture)) -> WGPUDevice -> Ptr (WGPUTextureDescriptor) -> IO (WGPUTexture)

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuDeviceGetQueue :: FunPtr (WGPUDevice -> IO (WGPUQueue)) -> WGPUDevice -> IO (WGPUQueue)

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuInstanceCreateSurface :: FunPtr (WGPUInstance -> Ptr (WGPUSurfaceDescriptor) -> IO (WGPUSurface)) -> WGPUInstance -> Ptr (WGPUSurfaceDescriptor) -> IO (WGPUSurface)

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuInstanceRequestAdapter :: FunPtr (WGPUInstance -> Ptr (WGPURequestAdapterOptions) -> WGPURequestAdapterCallback -> Ptr (()) -> IO (())) -> WGPUInstance -> Ptr (WGPURequestAdapterOptions) -> WGPURequestAdapterCallback -> Ptr (()) -> IO (())

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuQueueSubmit :: FunPtr (WGPUQueue -> Word32 -> Ptr (WGPUCommandBuffer) -> IO (())) -> WGPUQueue -> Word32 -> Ptr (WGPUCommandBuffer) -> IO (())

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuQueueWriteBuffer :: FunPtr (WGPUQueue -> WGPUBuffer -> Word64 -> Ptr (()) -> CSize -> IO (())) -> WGPUQueue -> WGPUBuffer -> Word64 -> Ptr (()) -> CSize -> IO (())

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuQueueWriteTexture :: FunPtr (WGPUQueue -> Ptr (WGPUImageCopyTexture) -> Ptr (()) -> CSize -> Ptr (WGPUTextureDataLayout) -> Ptr (WGPUExtent3D) -> IO (())) -> WGPUQueue -> Ptr (WGPUImageCopyTexture) -> Ptr (()) -> CSize -> Ptr (WGPUTextureDataLayout) -> Ptr (WGPUExtent3D) -> IO (())

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuRenderPassEncoderDraw :: FunPtr (WGPURenderPassEncoder -> Word32 -> Word32 -> Word32 -> Word32 -> IO (())) -> WGPURenderPassEncoder -> Word32 -> Word32 -> Word32 -> Word32 -> IO (())

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuRenderPassEncoderDrawIndexed :: FunPtr (WGPURenderPassEncoder -> Word32 -> Word32 -> Word32 -> Int32 -> Word32 -> IO (())) -> WGPURenderPassEncoder -> Word32 -> Word32 -> Word32 -> Int32 -> Word32 -> IO (())

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuRenderPassEncoderDrawIndexedIndirect :: FunPtr (WGPURenderPassEncoder -> WGPUBuffer -> Word64 -> IO (())) -> WGPURenderPassEncoder -> WGPUBuffer -> Word64 -> IO (())

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuRenderPassEncoderDrawIndirect :: FunPtr (WGPURenderPassEncoder -> WGPUBuffer -> Word64 -> IO (())) -> WGPURenderPassEncoder -> WGPUBuffer -> Word64 -> IO (())

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuRenderPassEncoderEndPass :: FunPtr (WGPURenderPassEncoder -> IO (())) -> WGPURenderPassEncoder -> IO (())

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuRenderPassEncoderSetBindGroup :: FunPtr (WGPURenderPassEncoder -> Word32 -> WGPUBindGroup -> Word32 -> Ptr (Word32) -> IO (())) -> WGPURenderPassEncoder -> Word32 -> WGPUBindGroup -> Word32 -> Ptr (Word32) -> IO (())

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuRenderPassEncoderSetBlendConstant :: FunPtr (WGPURenderPassEncoder -> Ptr (WGPUColor) -> IO (())) -> WGPURenderPassEncoder -> Ptr (WGPUColor) -> IO (())

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuRenderPassEncoderSetIndexBuffer :: FunPtr (WGPURenderPassEncoder -> WGPUBuffer -> WGPUIndexFormat -> Word64 -> Word64 -> IO (())) -> WGPURenderPassEncoder -> WGPUBuffer -> WGPUIndexFormat -> Word64 -> Word64 -> IO (())

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuRenderPassEncoderSetPipeline :: FunPtr (WGPURenderPassEncoder -> WGPURenderPipeline -> IO (())) -> WGPURenderPassEncoder -> WGPURenderPipeline -> IO (())

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuRenderPassEncoderSetScissorRect :: FunPtr (WGPURenderPassEncoder -> Word32 -> Word32 -> Word32 -> Word32 -> IO (())) -> WGPURenderPassEncoder -> Word32 -> Word32 -> Word32 -> Word32 -> IO (())

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuRenderPassEncoderSetStencilReference :: FunPtr (WGPURenderPassEncoder -> Word32 -> IO (())) -> WGPURenderPassEncoder -> Word32 -> IO (())

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuRenderPassEncoderSetVertexBuffer :: FunPtr (WGPURenderPassEncoder -> Word32 -> WGPUBuffer -> Word64 -> Word64 -> IO (())) -> WGPURenderPassEncoder -> Word32 -> WGPUBuffer -> Word64 -> Word64 -> IO (())

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuRenderPassEncoderSetViewport :: FunPtr (WGPURenderPassEncoder -> CFloat -> CFloat -> CFloat -> CFloat -> CFloat -> CFloat -> IO (())) -> WGPURenderPassEncoder -> CFloat -> CFloat -> CFloat -> CFloat -> CFloat -> CFloat -> IO (())

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuSurfaceGetPreferredFormat :: FunPtr (WGPUSurface -> WGPUAdapter -> WGPUSurfaceGetPreferredFormatCallback -> Ptr (()) -> IO (())) -> WGPUSurface -> WGPUAdapter -> WGPUSurfaceGetPreferredFormatCallback -> Ptr (()) -> IO (())

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuSwapChainGetCurrentTextureView :: FunPtr (WGPUSwapChain -> IO (WGPUTextureView)) -> WGPUSwapChain -> IO (WGPUTextureView)

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuSwapChainPresent :: FunPtr (WGPUSwapChain -> IO (())) -> WGPUSwapChain -> IO (())

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuTextureCreateView :: FunPtr (WGPUTexture -> Ptr (WGPUTextureViewDescriptor) -> IO (WGPUTextureView)) -> WGPUTexture -> Ptr (WGPUTextureViewDescriptor) -> IO (WGPUTextureView)

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuTextureDestroy :: FunPtr (WGPUTexture -> IO (())) -> WGPUTexture -> IO (())

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuDevicePoll :: FunPtr (WGPUDevice -> CBool -> IO (())) -> WGPUDevice -> CBool -> IO (())

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuSetLogCallback :: FunPtr (WGPULogCallback -> IO (())) -> WGPULogCallback -> IO (())

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuSetLogLevel :: FunPtr (WGPULogLevel -> IO (())) -> WGPULogLevel -> IO (())

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuGetVersion :: FunPtr (IO (Word32)) -> IO (Word32)

foreign import ccall "dynamic"
  mk_wgpuhsfn_wgpuRenderPassEncoderSetPushConstants :: FunPtr (WGPURenderPassEncoder -> WGPUShaderStage -> Word32 -> Word32 -> Ptr (()) -> IO (())) -> WGPURenderPassEncoder -> WGPUShaderStage -> Word32 -> Word32 -> Ptr (()) -> IO (())