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

Side by Side Diff: src/gpu/gl/builders/GrGLProgramBuilder.h

Issue 1192463003: Don't call bindTexture from GrGLProgram (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 5 years, 6 months 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 2014 Google Inc. 2 * Copyright 2014 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 GrGLProgramBuilder_DEFINED 8 #ifndef GrGLProgramBuilder_DEFINED
9 #define GrGLProgramBuilder_DEFINED 9 #define GrGLProgramBuilder_DEFINED
10 10
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
181 /* 181 /*
182 * *NOTE* NO MEMBERS ALLOWED, MULTIPLE INHERITANCE 182 * *NOTE* NO MEMBERS ALLOWED, MULTIPLE INHERITANCE
183 */ 183 */
184 }; 184 };
185 185
186 /** 186 /**
187 * The below struct represent processors installed in programs. 187 * The below struct represent processors installed in programs.
188 */ 188 */
189 template <class Proc> 189 template <class Proc>
190 struct GrGLInstalledProc { 190 struct GrGLInstalledProc {
191 typedef GrGLProgramDataManager::UniformHandle UniformHandle; 191 SkDEBUGCODE(int fSamplersIdx;)
192 192 SkAutoTDelete<Proc> fGLProc;
193 struct Sampler {
194 SkDEBUGCODE(Sampler() : fTextureUnit(-1) {})
195 UniformHandle fUniform;
196 int fTextureUnit;
197 };
198 SkSTArray<4, Sampler, true> fSamplers;
199 SkAutoTDelete<Proc> fGLProc;
200 }; 193 };
201 194
202 typedef GrGLInstalledProc<GrGLPrimitiveProcessor> GrGLInstalledGeoProc; 195 typedef GrGLInstalledProc<GrGLPrimitiveProcessor> GrGLInstalledGeoProc;
203 typedef GrGLInstalledProc<GrGLXferProcessor> GrGLInstalledXferProc; 196 typedef GrGLInstalledProc<GrGLXferProcessor> GrGLInstalledXferProc;
204 typedef GrGLInstalledProc<GrGLFragmentProcessor> GrGLInstalledFragProc; 197 typedef GrGLInstalledProc<GrGLFragmentProcessor> GrGLInstalledFragProc;
205 198
206 struct GrGLInstalledFragProcs : public SkRefCnt { 199 struct GrGLInstalledFragProcs : public SkRefCnt {
207 virtual ~GrGLInstalledFragProcs(); 200 virtual ~GrGLInstalledFragProcs();
208 SkSTArray<8, GrGLInstalledFragProc*, true> fProcs; 201 SkSTArray<8, GrGLInstalledFragProc*, true> fProcs;
209 }; 202 };
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
383 376
384 GrGLInstalledGeoProc* fGeometryProcessor; 377 GrGLInstalledGeoProc* fGeometryProcessor;
385 GrGLInstalledXferProc* fXferProcessor; 378 GrGLInstalledXferProc* fXferProcessor;
386 SkAutoTUnref<GrGLInstalledFragProcs> fFragmentProcessors; 379 SkAutoTUnref<GrGLInstalledFragProcs> fFragmentProcessors;
387 380
388 const DrawArgs& fArgs; 381 const DrawArgs& fArgs;
389 GrGLGpu* fGpu; 382 GrGLGpu* fGpu;
390 UniformInfoArray fUniforms; 383 UniformInfoArray fUniforms;
391 GrGLPrimitiveProcessor::TransformsIn fCoordTransforms; 384 GrGLPrimitiveProcessor::TransformsIn fCoordTransforms;
392 GrGLPrimitiveProcessor::TransformsOut fOutCoords; 385 GrGLPrimitiveProcessor::TransformsOut fOutCoords;
386 SkTArray<UniformHandle> fSamplerUniforms;
393 387
394 friend class GrGLShaderBuilder; 388 friend class GrGLShaderBuilder;
395 friend class GrGLVertexBuilder; 389 friend class GrGLVertexBuilder;
396 friend class GrGLFragmentShaderBuilder; 390 friend class GrGLFragmentShaderBuilder;
397 friend class GrGLGeometryBuilder; 391 friend class GrGLGeometryBuilder;
398 }; 392 };
399 #endif 393 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698