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

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

Issue 739673002: Create GrOptDrawState before recording draw in GrInOrderDrawBuffer (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: remove unused function in pendingprogramelement Created 6 years, 1 month 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
« no previous file with comments | « src/gpu/gl/GrGLProcessor.h ('k') | src/gpu/gl/GrGLProgram.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2011 Google Inc. 2 * Copyright 2011 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 8
9 #ifndef GrGLProgram_DEFINED 9 #ifndef GrGLProgram_DEFINED
10 #define GrGLProgram_DEFINED 10 #define GrGLProgram_DEFINED
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
152 // Helper for setData(). Makes GL calls to specify the initial color when th ere is not 152 // Helper for setData(). Makes GL calls to specify the initial color when th ere is not
153 // per-vertex colors. 153 // per-vertex colors.
154 void setColor(const GrOptDrawState&, GrColor color); 154 void setColor(const GrOptDrawState&, GrColor color);
155 155
156 // Helper for setData(). Makes GL calls to specify the initial coverage when there is not 156 // Helper for setData(). Makes GL calls to specify the initial coverage when there is not
157 // per-vertex coverages. 157 // per-vertex coverages.
158 void setCoverage(const GrOptDrawState&, uint8_t coverage); 158 void setCoverage(const GrOptDrawState&, uint8_t coverage);
159 159
160 // A templated helper to loop over effects, set the transforms(via subclass) and bind textures 160 // A templated helper to loop over effects, set the transforms(via subclass) and bind textures
161 void setFragmentData(const GrOptDrawState&); 161 void setFragmentData(const GrOptDrawState&);
162 virtual void setTransformData(const GrFragmentStage& effectStage, GrGLInstal ledFragProc* pe); 162 virtual void setTransformData(const GrPendingFragmentStage&, GrGLInstalledFr agProc*);
163 void bindTextures(const GrGLInstalledProc*, const GrProcessor&); 163 void bindTextures(const GrGLInstalledProc*, const GrProcessor&);
164 164
165 /* 165 /*
166 * Legacy NVPR needs a hook here to flush path tex gen settings. 166 * Legacy NVPR needs a hook here to flush path tex gen settings.
167 * TODO when legacy nvpr is removed, remove this call. 167 * TODO when legacy nvpr is removed, remove this call.
168 */ 168 */
169 virtual void didSetData(GrGpu::DrawType); 169 virtual void didSetData(GrGpu::DrawType);
170 170
171 // Helper for setData() that sets the view matrix and loads the render targe t height uniform 171 // Helper for setData() that sets the view matrix and loads the render targe t height uniform
172 void setMatrixAndRenderTargetHeight(GrGpu::DrawType, const GrOptDrawState&); 172 void setMatrixAndRenderTargetHeight(GrGpu::DrawType, const GrOptDrawState&);
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
208 GrGLuint programID, 208 GrGLuint programID,
209 const UniformInfoArray&, 209 const UniformInfoArray&,
210 GrGLInstalledFragProcs* fragmentProcessors); 210 GrGLInstalledFragProcs* fragmentProcessors);
211 virtual void onSetMatrixAndRenderTargetHeight(GrGpu::DrawType, const GrOptDr awState&); 211 virtual void onSetMatrixAndRenderTargetHeight(GrGpu::DrawType, const GrOptDr awState&);
212 212
213 typedef GrGLProgram INHERITED; 213 typedef GrGLProgram INHERITED;
214 }; 214 };
215 215
216 class GrGLNvprProgram : public GrGLNvprProgramBase { 216 class GrGLNvprProgram : public GrGLNvprProgramBase {
217 public: 217 public:
218 virtual bool hasVertexShader() const SK_OVERRIDE { return true; } 218 virtual bool hasVertexShader() const SK_OVERRIDE { return true; }
219 219
220 private: 220 private:
221 typedef GrGLNvprProgramBuilder::SeparableVaryingInfo SeparableVaryingInfo; 221 typedef GrGLNvprProgramBuilder::SeparableVaryingInfo SeparableVaryingInfo;
222 typedef GrGLNvprProgramBuilder::SeparableVaryingInfoArray SeparableVaryingIn foArray; 222 typedef GrGLNvprProgramBuilder::SeparableVaryingInfoArray SeparableVaryingIn foArray;
223 GrGLNvprProgram(GrGpuGL*, 223 GrGLNvprProgram(GrGpuGL*,
224 const GrProgramDesc&, 224 const GrProgramDesc&,
225 const BuiltinUniformHandles&, 225 const BuiltinUniformHandles&,
226 GrGLuint programID, 226 GrGLuint programID,
227 const UniformInfoArray&, 227 const UniformInfoArray&,
228 GrGLInstalledFragProcs* fragmentProcessors, 228 GrGLInstalledFragProcs* fragmentProcessors,
229 const SeparableVaryingInfoArray& separableVaryings); 229 const SeparableVaryingInfoArray& separableVaryings);
230 virtual void didSetData(GrGpu::DrawType) SK_OVERRIDE; 230 virtual void didSetData(GrGpu::DrawType) SK_OVERRIDE;
231 virtual void setTransformData(const GrFragmentStage&, GrGLInstalledFragProc* ) SK_OVERRIDE; 231 virtual void setTransformData(const GrPendingFragmentStage&,
232 GrGLInstalledFragProc*) SK_OVERRIDE;
232 233
233 struct Varying { 234 struct Varying {
234 GrGLint fLocation; 235 GrGLint fLocation;
235 SkDEBUGCODE( 236 SkDEBUGCODE(
236 GrSLType fType; 237 GrSLType fType;
237 ); 238 );
238 }; 239 };
239 SkTArray<Varying, true> fVaryings; 240 SkTArray<Varying, true> fVaryings;
240 241
241 friend class GrGLNvprProgramBuilder; 242 friend class GrGLNvprProgramBuilder;
242 243
243 typedef GrGLNvprProgramBase INHERITED; 244 typedef GrGLNvprProgramBase INHERITED;
244 }; 245 };
245 246
246 class GrGLLegacyNvprProgram : public GrGLNvprProgramBase { 247 class GrGLLegacyNvprProgram : public GrGLNvprProgramBase {
247 public: 248 public:
248 virtual bool hasVertexShader() const SK_OVERRIDE { return false; } 249 virtual bool hasVertexShader() const SK_OVERRIDE { return false; }
249 250
250 private: 251 private:
251 GrGLLegacyNvprProgram(GrGpuGL* gpu, 252 GrGLLegacyNvprProgram(GrGpuGL* gpu,
252 const GrProgramDesc& desc, 253 const GrProgramDesc& desc,
253 const BuiltinUniformHandles&, 254 const BuiltinUniformHandles&,
254 GrGLuint programID, 255 GrGLuint programID,
255 const UniformInfoArray&, 256 const UniformInfoArray&,
256 GrGLInstalledFragProcs* fragmentProcessors, 257 GrGLInstalledFragProcs* fragmentProcessors,
257 int texCoordSetCnt); 258 int texCoordSetCnt);
258 virtual void didSetData(GrGpu::DrawType) SK_OVERRIDE; 259 virtual void didSetData(GrGpu::DrawType) SK_OVERRIDE;
259 virtual void setTransformData(const GrFragmentStage&, GrGLInstalledFragProc* ) SK_OVERRIDE; 260 virtual void setTransformData(const GrPendingFragmentStage&,
261 GrGLInstalledFragProc*) SK_OVERRIDE;
260 262
261 int fTexCoordSetCnt; 263 int fTexCoordSetCnt;
262 264
263 friend class GrGLLegacyNvprProgramBuilder; 265 friend class GrGLLegacyNvprProgramBuilder;
264 266
265 typedef GrGLNvprProgramBase INHERITED; 267 typedef GrGLNvprProgramBase INHERITED;
266 }; 268 };
267 269
268 #endif 270 #endif
OLDNEW
« no previous file with comments | « src/gpu/gl/GrGLProcessor.h ('k') | src/gpu/gl/GrGLProgram.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698