diff options
Diffstat (limited to 'include/gpu/vk/GrVkTypes.h')
-rw-r--r-- | include/gpu/vk/GrVkTypes.h | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/include/gpu/vk/GrVkTypes.h b/include/gpu/vk/GrVkTypes.h index 0f7ff71d2e..2e31250324 100644 --- a/include/gpu/vk/GrVkTypes.h +++ b/include/gpu/vk/GrVkTypes.h @@ -26,6 +26,9 @@ /////////////////////////////////////////////////////////////////////////////// + +typedef intptr_t GrVkBackendMemory; + /** * Types for interacting with Vulkan resources created externally to Skia. GrBackendObjects for * Vulkan textures are really const GrVkImageInfo* @@ -36,6 +39,7 @@ struct GrVkAlloc { , fOffset(0) , fSize(0) , fFlags(0) + , fBackendMemory(0) , fUsesSystemHeap(false) {} GrVkAlloc(VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, uint32_t flags) @@ -43,15 +47,18 @@ struct GrVkAlloc { , fOffset(offset) , fSize(size) , fFlags(flags) + , fBackendMemory(0) , fUsesSystemHeap(false) {} - VkDeviceMemory fMemory; // can be VK_NULL_HANDLE iff is an RT and is borrowed - VkDeviceSize fOffset; - VkDeviceSize fSize; // this can be indeterminate iff Tex uses borrow semantics - uint32_t fFlags; + VkDeviceMemory fMemory; // can be VK_NULL_HANDLE iff is an RT and is borrowed + VkDeviceSize fOffset; + VkDeviceSize fSize; // this can be indeterminate iff Tex uses borrow semantics + uint32_t fFlags; + GrVkBackendMemory fBackendMemory; // handle to memory allocated via GrVkMemoryAllocator. enum Flag { kNoncoherent_Flag = 0x1, // memory must be flushed to device after mapping + kMappable_Flag = 0x2, // memory is able to be mapped. }; bool operator==(const GrVkAlloc& that) const { |