{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE NoImplicitPrelude #-}

-- This file was generated by wgpu-raw-hs-codegen on:
--   2021-08-25T10:02:03.522705
-- Using wgpu-native git hash:
--   b10496e7eed9349f0fd541e6dfe5029cb436de74 wgpu-native (v0.9.2.2)

module WGPU.Raw.Generated.Enum.WGPUBufferUsage where

import Data.Word (Word32)
import Foreign (Storable)
import Prelude (Eq, Num, Show)

newtype WGPUBufferUsage = WGPUBufferUsage Word32
  deriving (WGPUBufferUsage -> WGPUBufferUsage -> Bool
(WGPUBufferUsage -> WGPUBufferUsage -> Bool)
-> (WGPUBufferUsage -> WGPUBufferUsage -> Bool)
-> Eq WGPUBufferUsage
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: WGPUBufferUsage -> WGPUBufferUsage -> Bool
$c/= :: WGPUBufferUsage -> WGPUBufferUsage -> Bool
== :: WGPUBufferUsage -> WGPUBufferUsage -> Bool
$c== :: WGPUBufferUsage -> WGPUBufferUsage -> Bool
Eq, Int -> WGPUBufferUsage -> ShowS
[WGPUBufferUsage] -> ShowS
WGPUBufferUsage -> String
(Int -> WGPUBufferUsage -> ShowS)
-> (WGPUBufferUsage -> String)
-> ([WGPUBufferUsage] -> ShowS)
-> Show WGPUBufferUsage
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [WGPUBufferUsage] -> ShowS
$cshowList :: [WGPUBufferUsage] -> ShowS
show :: WGPUBufferUsage -> String
$cshow :: WGPUBufferUsage -> String
showsPrec :: Int -> WGPUBufferUsage -> ShowS
$cshowsPrec :: Int -> WGPUBufferUsage -> ShowS
Show, Integer -> WGPUBufferUsage
WGPUBufferUsage -> WGPUBufferUsage
WGPUBufferUsage -> WGPUBufferUsage -> WGPUBufferUsage
(WGPUBufferUsage -> WGPUBufferUsage -> WGPUBufferUsage)
-> (WGPUBufferUsage -> WGPUBufferUsage -> WGPUBufferUsage)
-> (WGPUBufferUsage -> WGPUBufferUsage -> WGPUBufferUsage)
-> (WGPUBufferUsage -> WGPUBufferUsage)
-> (WGPUBufferUsage -> WGPUBufferUsage)
-> (WGPUBufferUsage -> WGPUBufferUsage)
-> (Integer -> WGPUBufferUsage)
-> Num WGPUBufferUsage
forall a.
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (Integer -> a)
-> Num a
fromInteger :: Integer -> WGPUBufferUsage
$cfromInteger :: Integer -> WGPUBufferUsage
signum :: WGPUBufferUsage -> WGPUBufferUsage
$csignum :: WGPUBufferUsage -> WGPUBufferUsage
abs :: WGPUBufferUsage -> WGPUBufferUsage
$cabs :: WGPUBufferUsage -> WGPUBufferUsage
negate :: WGPUBufferUsage -> WGPUBufferUsage
$cnegate :: WGPUBufferUsage -> WGPUBufferUsage
* :: WGPUBufferUsage -> WGPUBufferUsage -> WGPUBufferUsage
$c* :: WGPUBufferUsage -> WGPUBufferUsage -> WGPUBufferUsage
- :: WGPUBufferUsage -> WGPUBufferUsage -> WGPUBufferUsage
$c- :: WGPUBufferUsage -> WGPUBufferUsage -> WGPUBufferUsage
+ :: WGPUBufferUsage -> WGPUBufferUsage -> WGPUBufferUsage
$c+ :: WGPUBufferUsage -> WGPUBufferUsage -> WGPUBufferUsage
Num, Ptr b -> Int -> IO WGPUBufferUsage
Ptr b -> Int -> WGPUBufferUsage -> IO ()
Ptr WGPUBufferUsage -> IO WGPUBufferUsage
Ptr WGPUBufferUsage -> Int -> IO WGPUBufferUsage
Ptr WGPUBufferUsage -> Int -> WGPUBufferUsage -> IO ()
Ptr WGPUBufferUsage -> WGPUBufferUsage -> IO ()
WGPUBufferUsage -> Int
(WGPUBufferUsage -> Int)
-> (WGPUBufferUsage -> Int)
-> (Ptr WGPUBufferUsage -> Int -> IO WGPUBufferUsage)
-> (Ptr WGPUBufferUsage -> Int -> WGPUBufferUsage -> IO ())
-> (forall b. Ptr b -> Int -> IO WGPUBufferUsage)
-> (forall b. Ptr b -> Int -> WGPUBufferUsage -> IO ())
-> (Ptr WGPUBufferUsage -> IO WGPUBufferUsage)
-> (Ptr WGPUBufferUsage -> WGPUBufferUsage -> IO ())
-> Storable WGPUBufferUsage
forall b. Ptr b -> Int -> IO WGPUBufferUsage
forall b. Ptr b -> Int -> WGPUBufferUsage -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
poke :: Ptr WGPUBufferUsage -> WGPUBufferUsage -> IO ()
$cpoke :: Ptr WGPUBufferUsage -> WGPUBufferUsage -> IO ()
peek :: Ptr WGPUBufferUsage -> IO WGPUBufferUsage
$cpeek :: Ptr WGPUBufferUsage -> IO WGPUBufferUsage
pokeByteOff :: Ptr b -> Int -> WGPUBufferUsage -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> WGPUBufferUsage -> IO ()
peekByteOff :: Ptr b -> Int -> IO WGPUBufferUsage
$cpeekByteOff :: forall b. Ptr b -> Int -> IO WGPUBufferUsage
pokeElemOff :: Ptr WGPUBufferUsage -> Int -> WGPUBufferUsage -> IO ()
$cpokeElemOff :: Ptr WGPUBufferUsage -> Int -> WGPUBufferUsage -> IO ()
peekElemOff :: Ptr WGPUBufferUsage -> Int -> IO WGPUBufferUsage
$cpeekElemOff :: Ptr WGPUBufferUsage -> Int -> IO WGPUBufferUsage
alignment :: WGPUBufferUsage -> Int
$calignment :: WGPUBufferUsage -> Int
sizeOf :: WGPUBufferUsage -> Int
$csizeOf :: WGPUBufferUsage -> Int
Storable)

pattern None :: forall a. (Eq a, Num a) => a
pattern $bNone :: a
$mNone :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
None = 0x00000000

pattern MapRead :: forall a. (Eq a, Num a) => a
pattern $bMapRead :: a
$mMapRead :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
MapRead = 0x00000001

pattern MapWrite :: forall a. (Eq a, Num a) => a
pattern $bMapWrite :: a
$mMapWrite :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
MapWrite = 0x00000002

pattern CopySrc :: forall a. (Eq a, Num a) => a
pattern $bCopySrc :: a
$mCopySrc :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
CopySrc = 0x00000004

pattern CopyDst :: forall a. (Eq a, Num a) => a
pattern $bCopyDst :: a
$mCopyDst :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
CopyDst = 0x00000008

pattern Index :: forall a. (Eq a, Num a) => a
pattern $bIndex :: a
$mIndex :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
Index = 0x00000010

pattern Vertex :: forall a. (Eq a, Num a) => a
pattern $bVertex :: a
$mVertex :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
Vertex = 0x00000020

pattern Uniform :: forall a. (Eq a, Num a) => a
pattern $bUniform :: a
$mUniform :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
Uniform = 0x00000040

pattern Storage :: forall a. (Eq a, Num a) => a
pattern $bStorage :: a
$mStorage :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
Storage = 0x00000080

pattern Indirect :: forall a. (Eq a, Num a) => a
pattern $bIndirect :: a
$mIndirect :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
Indirect = 0x00000100

pattern QueryResolve :: forall a. (Eq a, Num a) => a
pattern $bQueryResolve :: a
$mQueryResolve :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
QueryResolve = 0x00000200