aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/gpu/vk/GrVkTypes.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/gpu/vk/GrVkTypes.h')
-rw-r--r--include/gpu/vk/GrVkTypes.h15
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 {