{-# LINE 1 "src/Gpu/Vulkan/Descriptor/Middle/Internal.hsc" #-} {-# LANGUAGE ImportQualifiedPost #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE ScopedTypeVariables, TypeApplications #-} {-# LANGUAGE MonoLocalBinds #-} {-# LANGUAGE FlexibleContexts #-} {-# OPTIONS_GHC -Wall -fno-warn-tabs #-} module Gpu.Vulkan.Descriptor.Middle.Internal ( indexingExtensionName, ImageInfo(..), imageInfoToCore, BufferInfo(..), bufferInfoToCore ) where import qualified Gpu.Vulkan.Device.Middle.Internal as Device import qualified Gpu.Vulkan.Buffer.Middle.Internal as Buffer import qualified Gpu.Vulkan.Image.Enum as Image import qualified Gpu.Vulkan.ImageView.Middle.Internal as ImageView import qualified Gpu.Vulkan.Sampler.Middle.Internal as Sampler import qualified Gpu.Vulkan.Descriptor.Core as C import Data.Text qualified as T indexingExtensionName :: T.Text indexingExtensionName :: Text indexingExtensionName = Text "VK_EXT_descriptor_indexing" {-# LINE 25 "src/Gpu/Vulkan/Descriptor/Middle/Internal.hsc" #-} data BufferInfo = BufferInfo { BufferInfo -> B bufferInfoBuffer :: Buffer.B, BufferInfo -> Size bufferInfoOffset :: Device.Size, BufferInfo -> Size bufferInfoRange :: Device.Size } deriving Int -> BufferInfo -> ShowS [BufferInfo] -> ShowS BufferInfo -> String (Int -> BufferInfo -> ShowS) -> (BufferInfo -> String) -> ([BufferInfo] -> ShowS) -> Show BufferInfo forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a $cshowsPrec :: Int -> BufferInfo -> ShowS showsPrec :: Int -> BufferInfo -> ShowS $cshow :: BufferInfo -> String show :: BufferInfo -> String $cshowList :: [BufferInfo] -> ShowS showList :: [BufferInfo] -> ShowS Show bufferInfoToCore :: BufferInfo -> C.BufferInfo bufferInfoToCore :: BufferInfo -> BufferInfo bufferInfoToCore BufferInfo { bufferInfoBuffer :: BufferInfo -> B bufferInfoBuffer = Buffer.B B b, bufferInfoOffset :: BufferInfo -> Size bufferInfoOffset = Device.Size Word64 os, bufferInfoRange :: BufferInfo -> Size bufferInfoRange = Device.Size Word64 rg } = C.BufferInfo { bufferInfoBuffer :: B C.bufferInfoBuffer = B b, bufferInfoOffset :: Word64 C.bufferInfoOffset = Word64 os, bufferInfoRange :: Word64 C.bufferInfoRange = Word64 rg } data ImageInfo = ImageInfo { ImageInfo -> S imageInfoSampler :: Sampler.S, ImageInfo -> I imageInfoImageView :: ImageView.I, ImageInfo -> Layout imageInfoImageLayout :: Image.Layout } deriving Int -> ImageInfo -> ShowS [ImageInfo] -> ShowS ImageInfo -> String (Int -> ImageInfo -> ShowS) -> (ImageInfo -> String) -> ([ImageInfo] -> ShowS) -> Show ImageInfo forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a $cshowsPrec :: Int -> ImageInfo -> ShowS showsPrec :: Int -> ImageInfo -> ShowS $cshow :: ImageInfo -> String show :: ImageInfo -> String $cshowList :: [ImageInfo] -> ShowS showList :: [ImageInfo] -> ShowS Show imageInfoToCore :: ImageInfo -> IO C.ImageInfo imageInfoToCore :: ImageInfo -> IO ImageInfo imageInfoToCore ImageInfo { imageInfoSampler :: ImageInfo -> S imageInfoSampler = Sampler.S S s, imageInfoImageView :: ImageInfo -> I imageInfoImageView = I iv, imageInfoImageLayout :: ImageInfo -> Layout imageInfoImageLayout = Image.Layout Word32 l } = do iv' <- I -> IO I ImageView.iToCore I iv pure C.ImageInfo { C.imageInfoSampler = s, C.imageInfoImageView = iv', C.imageInfoImageLayout = l }