gpu-vulkan-core-0.1.0.11: src/Gpu/Vulkan/Sparse/Core.hsc
{-# LANGUAGE ImportQualifiedPost #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TupleSections #-}
{-# LANGUAGE PatternSynonyms, ViewPatterns #-}
{-# OPTIONS_GHC -Wall -fno-warn-tabs #-}
module Gpu.Vulkan.Sparse.Core where
import Foreign.Ptr
import Foreign.Storable
import Foreign.C.Struct
import Data.Word
import Gpu.Vulkan.Memory.Core qualified as Memory
#include <vulkan/vulkan.h>
struct "MemoryBind" #{size VkSparseMemoryBind} #{alignment VkSparseMemoryBind} [
("resourceOffset", ''#{type VkDeviceSize},
[| #{peek VkSparseMemoryBind, resourceOffset} |],
[| #{poke VkSparseMemoryBind, resourceOffset} |]),
("size", ''#{type VkDeviceSize},
[| #{peek VkSparseMemoryBind, size} |],
[| #{poke VkSparseMemoryBind, size} |]),
("memory", ''Memory.M,
[| #{peek VkSparseMemoryBind, memory} |],
[| #{poke VkSparseMemoryBind, memory} |]),
("memoryOffset", ''#{type VkDeviceSize},
[| #{peek VkSparseMemoryBind, memoryOffset} |],
[| #{poke VkSparseMemoryBind, memoryOffset} |]),
("flags", ''#{type VkSparseMemoryBindFlags},
[| #{peek VkSparseMemoryBind, flags} |],
[| #{poke VkSparseMemoryBind, flags} |]) ]
[''Show, ''Storable]
type PtrMemoryBind = Ptr MemoryBind