16class JPH_EXPORT ComputeSystemVKWithAllocator :
public ComputeSystemVK
22 bool Initialize(VkInstance inInstance, VkPhysicalDevice inPhysicalDevice, PFN_vkGetInstanceProcAddr inGetInstanceProcAddr, PFN_vkGetDeviceProcAddr inVkGetDeviceProcAddr, VkDevice inDevice,
uint32 inComputeQueueIndex,
ComputeSystemResult &outResult);
25 virtual bool CreateBuffer(VkDeviceSize inSize, VkBufferUsageFlags inUsage, VkMemoryPropertyFlags inProperties,
BufferVK &outBuffer)
override;
26 virtual void FreeBuffer(
BufferVK &ioBuffer)
override;
27 virtual void * MapBuffer(
BufferVK &ioBuffer)
override;
28 virtual void UnmapBuffer(
BufferVK &ioBuffer)
override;
31 virtual bool InitializeMemory()
override;
32 virtual void ShutdownMemory()
override;
34 uint32 FindMemoryType(
uint32 inTypeFilter, VkMemoryPropertyFlags inProperties)
const;
35 void AllocateMemory(VkDeviceSize inSize,
uint32 inMemoryTypeBits, VkMemoryPropertyFlags inProperties,
MemoryVK &ioMemory);
38 VkPhysicalDeviceMemoryProperties mMemoryProperties;
40 PFN_vkGetPhysicalDeviceMemoryProperties mVkGetPhysicalDeviceMemoryProperties =
nullptr;
45 static constexpr VkDeviceSize cMinAllocSize = 512;
46 static constexpr VkDeviceSize cMaxAllocSize = 65536;
47 static constexpr VkDeviceSize cBlockSize = 524288;
51 bool operator == (
const MemoryKey &inRHS)
const
53 return mSize == inRHS.mSize && mProperties == inRHS.mProperties;
57 VkMemoryPropertyFlags mProperties;
70 MemoryCache mMemoryCache;
#define JPH_EXPORT
Definition Core.h:278
#define JPH_NAMESPACE_END
Definition Core.h:428
std::uint32_t uint32
Definition Core.h:508
#define JPH_NAMESPACE_BEGIN
Definition Core.h:422
#define JPH_MAKE_HASH_STRUCT(type, name,...)
Definition HashCombine.h:198
#define JPH_DECLARE_RTTI_VIRTUAL(linkage, class_name)
Definition RTTI.h:245
Simple wrapper class to manage a Vulkan buffer.
Definition BufferVK.h:34
Simple wrapper class to manage a Vulkan memory block.
Definition BufferVK.h:15
Definition Reference.h:110
Helper class that either contains a valid result or an error.
Definition Result.h:12
Definition UnorderedMap.h:31