Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(678)

Unified Diff: src/gpu/vk/GrVkImage.h

Issue 2018933004: Add offset to memory allocations (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Take care of some additional FreeMemorys Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/gpu/vk/GrVkImage.h
diff --git a/src/gpu/vk/GrVkImage.h b/src/gpu/vk/GrVkImage.h
index 30b6b89a13ac5aa540a89b7a40be8743a1cc93b0..7bc01b6d4e0983073f418a416f9556c2fdb02492 100644
--- a/src/gpu/vk/GrVkImage.h
+++ b/src/gpu/vk/GrVkImage.h
@@ -33,15 +33,16 @@ public:
: fInfo(info)
, fIsBorrowed(kBorrowed_Wrapped == wrapped) {
if (kBorrowed_Wrapped == wrapped) {
- fResource = new BorrowedResource(info.fImage, info.fAlloc);
+ fResource = new BorrowedResource(info.fImage, info.fAlloc, info.fOffset);
} else {
- fResource = new Resource(info.fImage, info.fAlloc);
+ fResource = new Resource(info.fImage, info.fAlloc, info.fOffset);
}
}
virtual ~GrVkImage();
VkImage image() const { return fInfo.fImage; }
VkDeviceMemory memory() const { return fInfo.fAlloc; }
+ VkDeviceSize offset() const { return fInfo.fOffset; }
VkFormat imageFormat() const { return fInfo.fFormat; }
const Resource* resource() const { return fResource; }
bool isLinearTiled() const {
@@ -87,7 +88,7 @@ protected:
void releaseImage(const GrVkGpu* gpu);
void abandonImage();
- void setNewResource(VkImage image, VkDeviceMemory alloc);
+ void setNewResource(VkImage image, VkDeviceMemory alloc, VkDeviceSize offset);
GrVkImageInfo fInfo;
bool fIsBorrowed;
@@ -99,10 +100,12 @@ private:
Resource()
: INHERITED()
, fImage(VK_NULL_HANDLE)
- , fAlloc(VK_NULL_HANDLE) {
+ , fAlloc(VK_NULL_HANDLE)
+ , fOffset(0) {
}
- Resource(VkImage image, VkDeviceMemory alloc) : fImage(image), fAlloc(alloc) {}
+ Resource(VkImage image, VkDeviceMemory alloc, VkDeviceSize offset)
+ : fImage(image), fAlloc(alloc), fOffset(offset) {}
~Resource() override {}
@@ -111,6 +114,7 @@ private:
VkImage fImage;
VkDeviceMemory fAlloc;
+ VkDeviceSize fOffset;
typedef GrVkResource INHERITED;
};
@@ -118,7 +122,8 @@ private:
// for wrapped textures
class BorrowedResource : public Resource {
public:
- BorrowedResource(VkImage image, VkDeviceMemory alloc) : Resource(image, alloc) {
+ BorrowedResource(VkImage image, VkDeviceMemory alloc, VkDeviceSize offset)
+ : Resource(image, alloc, offset) {
}
private:
void freeGPUData(const GrVkGpu* gpu) const override;

Powered by Google App Engine
This is Rietveld 408576698