{-# LANGUAGE ImportQualifiedPost #-} {-# OPTIONS_GHC -Wall -fno-warn-tabs #-} module Gpu.Vulkan.Sparse.Middle.Internal where import Gpu.Vulkan.Device.Middle.Internal qualified as Device import Gpu.Vulkan.Memory.Middle.Internal qualified as Memory import Gpu.Vulkan.Sparse.Enum import Gpu.Vulkan.Sparse.Core qualified as C data MemoryBind = MemoryBind { MemoryBind -> Size memoryBindResourceOffset :: Device.Size, MemoryBind -> Size memoryBindSize :: Device.Size, MemoryBind -> M memoryBindMemory :: Memory.M, MemoryBind -> Size memoryBindMemoryOffset :: Device.Size, MemoryBind -> MemoryBindFlags memoryBindFlags :: MemoryBindFlags } memoryBindToCore :: MemoryBind -> IO C.MemoryBind memoryBindToCore :: MemoryBind -> IO MemoryBind memoryBindToCore MemoryBind { memoryBindResourceOffset :: MemoryBind -> Size memoryBindResourceOffset = Device.Size Word64 ro, memoryBindSize :: MemoryBind -> Size memoryBindSize = Device.Size Word64 sz, memoryBindMemory :: MemoryBind -> M memoryBindMemory = M mm, memoryBindMemoryOffset :: MemoryBind -> Size memoryBindMemoryOffset = Device.Size Word64 mo, memoryBindFlags :: MemoryBind -> MemoryBindFlags memoryBindFlags = MemoryBindFlagBits Word32 fs } = do M cmm <- M -> IO M Memory.mToCore M mm MemoryBind -> IO MemoryBind forall a. a -> IO a forall (f :: * -> *) a. Applicative f => a -> f a pure C.MemoryBind { memoryBindResourceOffset :: Word64 C.memoryBindResourceOffset = Word64 ro, memoryBindSize :: Word64 C.memoryBindSize = Word64 sz, memoryBindMemory :: M C.memoryBindMemory = M cmm, memoryBindMemoryOffset :: Word64 C.memoryBindMemoryOffset = Word64 mo, memoryBindFlags :: Word32 C.memoryBindFlags = Word32 fs }