aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrOpFlushState.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpu/GrOpFlushState.cpp')
-rw-r--r--src/gpu/GrOpFlushState.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/gpu/GrOpFlushState.cpp b/src/gpu/GrOpFlushState.cpp
index 5245a9d9b2..6ac5d13430 100644
--- a/src/gpu/GrOpFlushState.cpp
+++ b/src/gpu/GrOpFlushState.cpp
@@ -12,6 +12,25 @@
#include "GrResourceProvider.h"
#include "GrTexture.h"
+template <typename T>
+template <typename... Args>
+T& GrOpFlushState::List<T>::append(SkArenaAlloc* arena, Args... args) {
+ SkASSERT(!fHead == !fTail);
+ auto* n = arena->make<Node>(std::forward<Args>(args)...);
+ if (!fTail) {
+ fHead = fTail = n;
+ } else {
+ fTail = fTail->fNext = n;
+ }
+ return fTail->fT;
+}
+
+template <typename T>
+typename GrOpFlushState::List<T>::Iter& GrOpFlushState::List<T>::Iter::operator++() {
+ fCurr = fCurr->fNext;
+ return *this;
+}
+
//////////////////////////////////////////////////////////////////////////////
GrOpFlushState::GrOpFlushState(GrGpu* gpu, GrResourceProvider* resourceProvider)