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

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

Issue 1825393002: Consolidate GPU buffer implementations (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: gyp Created 4 years, 9 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/GrVkBuffer.h
diff --git a/src/gpu/vk/GrVkBuffer.h b/src/gpu/vk/GrVkBuffer.h
index 7dac3a1149a38d3fb1dd5e896609b4e7cbdcefdf..2961637ccd1b4547461068b5b0c081972f50d117 100644
--- a/src/gpu/vk/GrVkBuffer.h
+++ b/src/gpu/vk/GrVkBuffer.h
@@ -8,6 +8,7 @@
#ifndef GrVkBuffer_DEFINED
#define GrVkBuffer_DEFINED
+#include "GrBuffer.h"
#include "vk/GrVkInterface.h"
#include "GrVkResource.h"
@@ -17,7 +18,7 @@ class GrVkGpu;
* This class serves as the base of GrVk*Buffer classes. It was written to avoid code
* duplication in those classes.
*/
-class GrVkBuffer : public SkNoncopyable {
+class GrVkBuffer : public GrBuffer {
public:
~GrVkBuffer() {
// either release or abandon should have been called by the owner of this object.
@@ -36,19 +37,11 @@ public:
VkPipelineStageFlags dstStageMask,
bool byRegion) const;
- enum Type {
- kVertex_Type,
- kIndex_Type,
- kUniform_Type,
- kCopyRead_Type,
- kCopyWrite_Type,
- };
-
protected:
struct Desc {
- size_t fSizeInBytes;
- Type fType; // vertex buffer, index buffer, etc.
- bool fDynamic;
+ size_t fSizeInBytes;
+ GrBufferType fType; // vertex buffer, index buffer, etc.
+ GrAccessPattern fAccessPattern;
};
class Resource : public GrVkResource {
@@ -67,16 +60,16 @@ protected:
static const Resource* Create(const GrVkGpu* gpu,
const Desc& descriptor);
- GrVkBuffer(const Desc& desc, const GrVkBuffer::Resource* resource)
- : fDesc(desc), fResource(resource), fMapPtr(nullptr) {
- }
+ GrVkBuffer(GrVkGpu* gpu, const Desc& desc, const GrVkBuffer::Resource* resource);
+
+ GrVkGpu* vkGpu() const;
- void* vkMap(const GrVkGpu* gpu);
- void vkUnmap(const GrVkGpu* gpu);
- bool vkUpdateData(const GrVkGpu* gpu, const void* src, size_t srcSizeInBytes);
+ void onMap() override;
+ void onUnmap() override;
+ bool onUpdateData(const void* src, size_t srcSizeInBytes) override;
- void vkAbandon();
- void vkRelease(const GrVkGpu* gpu);
+ void onAbandon() override;
+ void onRelease() override;
private:
void validate() const;
@@ -86,7 +79,7 @@ private:
const Resource* fResource;
void* fMapPtr;
jvanverth1 2016/03/24 17:05:43 This needs to be deleted -- it duplicates fMapPtr
- typedef SkRefCnt INHERITED;
+ typedef GrBuffer INHERITED;
};
#endif

Powered by Google App Engine
This is Rietveld 408576698