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

-- 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.Enum.WGPUShaderStage where

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

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

pattern Fragment :: forall a. (Eq a, Num a) => a
pattern $bFragment :: a
$mFragment :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
Fragment = 0x00000002

pattern Compute :: forall a. (Eq a, Num a) => a
pattern $bCompute :: a
$mCompute :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
Compute = 0x00000004