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

Side by Side Diff: src/gpu/gl/GrGLProgramEffects.cpp

Issue 580863004: Adding 3D lut color filter (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: New version Created 6 years, 3 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 2013 Google Inc. 2 * Copyright 2013 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 #include "gl/builders/GrGLProgramBuilder.h" 8 #include "gl/builders/GrGLProgramBuilder.h"
9 #include "GrGLProgramEffects.h" 9 #include "GrGLProgramEffects.h"
10 #include "GrDrawEffect.h" 10 #include "GrDrawEffect.h"
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after
208 208
209 void GrGLProgramEffects::emitSamplers(GrGLProgramBuilder* builder, 209 void GrGLProgramEffects::emitSamplers(GrGLProgramBuilder* builder,
210 const GrEffect* effect, 210 const GrEffect* effect,
211 TextureSamplerArray* outSamplers) { 211 TextureSamplerArray* outSamplers) {
212 SkTArray<Sampler, true>& samplers = fSamplers.push_back(); 212 SkTArray<Sampler, true>& samplers = fSamplers.push_back();
213 int numTextures = effect->numTextures(); 213 int numTextures = effect->numTextures();
214 samplers.push_back_n(numTextures); 214 samplers.push_back_n(numTextures);
215 SkString name; 215 SkString name;
216 for (int t = 0; t < numTextures; ++t) { 216 for (int t = 0; t < numTextures; ++t) {
217 name.printf("Sampler%d", t); 217 name.printf("Sampler%d", t);
218 const GrTextureAccess& textureAccess = effect->textureAccess(t);
218 samplers[t].fUniform = builder->addUniform(GrGLProgramBuilder::kFragment _Visibility, 219 samplers[t].fUniform = builder->addUniform(GrGLProgramBuilder::kFragment _Visibility,
219 kSampler2D_GrSLType, 220 SkToBool(textureAccess.getTexture()->desc().fFlags & k3DTexture_GrTe xtureFlagBit) ?
220 name.c_str()); 221 kSampler3D_GrSLType : kSampler2D_GrSLType, name.c_str());
221 SkNEW_APPEND_TO_TARRAY(outSamplers, TextureSampler, 222 SkNEW_APPEND_TO_TARRAY(outSamplers, TextureSampler,
222 (samplers[t].fUniform, effect->textureAccess(t))) ; 223 (samplers[t].fUniform, textureAccess));
223 } 224 }
224 } 225 }
225 226
226 void GrGLProgramEffects::initSamplers(const GrGLProgramDataManager& programResou rceManager, int* texUnitIdx) { 227 void GrGLProgramEffects::initSamplers(const GrGLProgramDataManager& programResou rceManager, int* texUnitIdx) {
227 int numEffects = fGLEffects.count(); 228 int numEffects = fGLEffects.count();
228 SkASSERT(numEffects == fSamplers.count()); 229 SkASSERT(numEffects == fSamplers.count());
229 for (int e = 0; e < numEffects; ++e) { 230 for (int e = 0; e < numEffects; ++e) {
230 SkTArray<Sampler, true>& samplers = fSamplers[e]; 231 SkTArray<Sampler, true>& samplers = fSamplers[e];
231 int numSamplers = samplers.count(); 232 int numSamplers = samplers.count();
232 for (int s = 0; s < numSamplers; ++s) { 233 for (int s = 0; s < numSamplers; ++s) {
(...skipping 334 matching lines...) Expand 10 before | Expand all | Expand 10 after
567 } 568 }
568 void GrGLPathTexGenProgramEffectsBuilder::emitEffect(const GrEffectStage& stage, 569 void GrGLPathTexGenProgramEffectsBuilder::emitEffect(const GrEffectStage& stage,
569 const GrEffectKey& key, 570 const GrEffectKey& key,
570 const char* outColor, 571 const char* outColor,
571 const char* inColor, 572 const char* inColor,
572 int stageIndex) { 573 int stageIndex) {
573 SkASSERT(fProgramEffects.get()); 574 SkASSERT(fProgramEffects.get());
574 fProgramEffects->emitEffect(fBuilder, stage, key, outColor, inColor, stageIn dex); 575 fProgramEffects->emitEffect(fBuilder, stage, key, outColor, inColor, stageIn dex);
575 } 576 }
576 577
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698