aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrProcessorSet.cpp
diff options
context:
space:
mode:
authorGravatar Brian Salomon <bsalomon@google.com>2017-01-18 11:01:10 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-01-18 16:48:41 +0000
commit92ce5946855aa8d55bb4a0dd0a47d58746d67d0a (patch)
treeed5040bbd28661901009337c4a6ee311175ab142 /src/gpu/GrProcessorSet.cpp
parent70a309aa055dad8b2e7a6cbd90774f44a7fcd5fb (diff)
Add class GrProcessorSet which represents color and coverage FPs and a XPFactory.
Eventually ops can use this to hold their ops and create GrPipelines at flush time. For now it is used by GrPipelineBuilder. Change-Id: I0db3892032f2d07238e4c847a790678b3aab456f Reviewed-on: https://skia-review.googlesource.com/7132 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'src/gpu/GrProcessorSet.cpp')
-rw-r--r--src/gpu/GrProcessorSet.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/gpu/GrProcessorSet.cpp b/src/gpu/GrProcessorSet.cpp
new file mode 100644
index 0000000000..0d72d9bafe
--- /dev/null
+++ b/src/gpu/GrProcessorSet.cpp
@@ -0,0 +1,21 @@
+/*
+ * Copyright 2017 Google Inc.
+ *
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include "GrProcessorSet.h"
+
+GrProcessorSet::GrProcessorSet(GrPaint&& paint) {
+ fXPFactory = paint.fXPFactory;
+ fColorFragmentProcessorCnt = paint.numColorFragmentProcessors();
+ fFragmentProcessors.reset(paint.numTotalFragmentProcessors());
+ int i = 0;
+ for (auto& fp : paint.fColorFragmentProcessors) {
+ fFragmentProcessors[i++] = fp.release();
+ }
+ for (auto& fp : paint.fCoverageFragmentProcessors) {
+ fFragmentProcessors[i++] = fp.release();
+ }
+}