{-# OPTIONS_GHC -Wall -fno-warn-tabs #-}

module Gpu.Vulkan.PushConstant.Middle.Internal where

import Data.Word

import Gpu.Vulkan.Enum

import qualified Gpu.Vulkan.PushConstant.Core as C

data Range = Range {
	Range -> ShaderStageFlags
rangeStageFlags :: ShaderStageFlags,
	Range -> Word32
rangeOffset :: Word32,
	Range -> Word32
rangeSize :: Word32 }
	deriving Int -> Range -> ShowS
[Range] -> ShowS
Range -> String
(Int -> Range -> ShowS)
-> (Range -> String) -> ([Range] -> ShowS) -> Show Range
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> Range -> ShowS
showsPrec :: Int -> Range -> ShowS
$cshow :: Range -> String
show :: Range -> String
$cshowList :: [Range] -> ShowS
showList :: [Range] -> ShowS
Show

rangeToCore :: Range -> C.Range
rangeToCore :: Range -> Range
rangeToCore Range {
	rangeStageFlags :: Range -> ShaderStageFlags
rangeStageFlags = ShaderStageFlagBits Word32
sf,
	rangeOffset :: Range -> Word32
rangeOffset = Word32
ost, rangeSize :: Range -> Word32
rangeSize = Word32
sz
	} = C.Range {
		rangeStageFlags :: Word32
C.rangeStageFlags = Word32
sf,
		rangeOffset :: Word32
C.rangeOffset = Word32
ost, rangeSize :: Word32
C.rangeSize = Word32
sz }