aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/gpu/GrProcessorDataManager.h
diff options
context:
space:
mode:
authorGravatar joshualitt <joshualitt@chromium.org>2015-07-10 07:26:21 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2015-07-10 07:26:21 -0700
commit5b4f05f709d2b45f1b61e613a4fd073c31fa66d8 (patch)
tree0453e242ad13d78f79770b89420aaf1aa782abcd /include/gpu/GrProcessorDataManager.h
parent9764c40cd31c11c82686c8b8dbbeaea9fa4de05d (diff)
Move GrProcessorDataManager to GrMemoryPool
TBR=bsalomon@google.com BUG=skia: Review URL: https://codereview.chromium.org/1225363002
Diffstat (limited to 'include/gpu/GrProcessorDataManager.h')
-rw-r--r--include/gpu/GrProcessorDataManager.h39
1 files changed, 38 insertions, 1 deletions
diff --git a/include/gpu/GrProcessorDataManager.h b/include/gpu/GrProcessorDataManager.h
index 0f376b7be2..a58cb4ef51 100644
--- a/include/gpu/GrProcessorDataManager.h
+++ b/include/gpu/GrProcessorDataManager.h
@@ -8,6 +8,43 @@
#ifndef GrProcessorDataManager_DEFINED
#define GrProcessorDataManager_DEFINED
-class GrProcessorDataManager {};
+#include "SkRefCnt.h"
+#include "SkTArray.h"
+
+class GrProcessorDataManager : public SkRefCnt {
+public:
+ GrProcessorDataManager() {}
+ GrProcessorDataManager(const GrProcessorDataManager& procDataManager) {
+ fIndices = procDataManager.fIndices;
+ fStorage = procDataManager.fStorage;
+ }
+
+ void* operator new(size_t size);
+ void operator delete(void* target);
+
+ void* operator new(size_t size, void* placement) {
+ return ::operator new(size, placement);
+ }
+ void operator delete(void* target, void* placement) {
+ ::operator delete(target, placement);
+ }
+
+private:
+ static const uint32_t kNumProcessor = 1;
+ static const uint32_t kDataIndicesPerProcessor = 1;
+ static const uint32_t kPreAllocDataPerProcessor = 1;
+
+ /*static const size_t kPreAllocStorage = kNumProcessor * kPreAllocDataPerProcessor;
+ static const uint32_t kNumProcessor = 8;
+ static const uint32_t kDataIndicesPerProcessor = 4;
+ static const uint32_t kPreAllocDataPerProcessor = kDataIndicesPerProcessor *
+ sizeof(GrCoordTransform);*/
+ static const size_t kPreAllocIndices = kNumProcessor * kDataIndicesPerProcessor;
+ static const size_t kPreAllocStorage = kNumProcessor * kPreAllocDataPerProcessor;
+ SkSTArray<kPreAllocIndices, uint32_t, true> fIndices;
+ SkSTArray<kPreAllocStorage, unsigned char, true> fStorage;
+
+ typedef SkRefCnt INHERITED;
+};
#endif