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

Side by Side Diff: src/gpu/gl/GrGLProcessor.h

Issue 772513002: create and thread batch tracker object (Closed) Base URL: https://skia.googlesource.com/skia.git@2_vertex_attr
Patch Set: one tweak Created 6 years 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright 2012 Google Inc. 2 * Copyright 2012 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 #ifndef GrGLProcessor_DEFINED 8 #ifndef GrGLProcessor_DEFINED
9 #define GrGLProcessor_DEFINED 9 #define GrGLProcessor_DEFINED
10 10
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 uint32_t fConfigComponentMask; 63 uint32_t fConfigComponentMask;
64 char fSwizzle[5]; 64 char fSwizzle[5];
65 65
66 friend class GrGLShaderBuilder; 66 friend class GrGLShaderBuilder;
67 }; 67 };
68 68
69 typedef SkTArray<TextureSampler> TextureSamplerArray; 69 typedef SkTArray<TextureSampler> TextureSamplerArray;
70 70
71 virtual ~GrGLProcessor() {} 71 virtual ~GrGLProcessor() {}
72 72
73 /** A GrGLProcessor instance can be reused with any GrProcessor that produce s the same stage
74 key; this function reads data from a GrProcessor and uploads any uniform variables required
75 by the shaders created in emitCode(). The GrProcessor parameter is guara nteed to be of the
76 same type that created this GrGLProcessor and to have an identical effec t key as the one
77 that created this GrGLProcessor. */
78 virtual void setData(const GrGLProgramDataManager&, const GrProcessor&) {}
79
80 const char* name() const { return fFactory.name(); } 73 const char* name() const { return fFactory.name(); }
81 74
82 static void GenKey(const GrProcessor&, const GrGLCaps&, GrProcessorKeyBuilde r*) {} 75 static void GenKey(const GrProcessor&, const GrGLCaps&, GrProcessorKeyBuilde r*) {}
83 76
84 protected: 77 protected:
85 const GrBackendProcessorFactory& fFactory; 78 const GrBackendProcessorFactory& fFactory;
86 }; 79 };
87 80
88 class GrGLFPBuilder; 81 class GrGLFPBuilder;
89 82
(...skipping 24 matching lines...) Expand all
114 code. 107 code.
115 TODO this should take a struct 108 TODO this should take a struct
116 */ 109 */
117 virtual void emitCode(GrGLFPBuilder* builder, 110 virtual void emitCode(GrGLFPBuilder* builder,
118 const GrFragmentProcessor& effect, 111 const GrFragmentProcessor& effect,
119 const char* outputColor, 112 const char* outputColor,
120 const char* inputColor, 113 const char* inputColor,
121 const TransformedCoordsArray& coords, 114 const TransformedCoordsArray& coords,
122 const TextureSamplerArray& samplers) = 0; 115 const TextureSamplerArray& samplers) = 0;
123 116
117 /** A GrGLFragmentProcessor instance can be reused with any GrFragmentProces sor that produces
118 the same stage key; this function reads data from a GrFragmentProcessor and uploads any
119 uniform variables required by the shaders created in emitCode(). The GrF ragmentProcessor
120 parameter is guaranteed to be of the same type that created this GrGLFra gmentProcessor and
121 to have an identical effect key as the one that created this GrGLFragmen tProcessor. */
122 // TODO update this to pass in GrFragmentProcessor
123 virtual void setData(const GrGLProgramDataManager&, const GrProcessor&) {}
bsalomon 2014/12/03 19:38:32 Why can't it be fp? effect->processor
124
124 private: 125 private:
125 typedef GrGLProcessor INHERITED; 126 typedef GrGLProcessor INHERITED;
126 }; 127 };
127 128
128 class GrGLXferProcessor : public GrGLFragmentProcessor { 129 class GrGLXferProcessor : public GrGLFragmentProcessor {
129 public: 130 public:
130 GrGLXferProcessor(const GrBackendProcessorFactory& factory) 131 GrGLXferProcessor(const GrBackendProcessorFactory& factory)
131 : INHERITED(factory) { 132 : INHERITED(factory) {
132 } 133 }
133 134
134 virtual ~GrGLXferProcessor() {} 135 virtual ~GrGLXferProcessor() {}
135 136
136 private: 137 private:
137 typedef GrGLFragmentProcessor INHERITED; 138 typedef GrGLFragmentProcessor INHERITED;
138 }; 139 };
139 140
140 #endif 141 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698