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

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

Issue 509153002: Initial change to create GeometryProcessor (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: last warning 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
« no previous file with comments | « src/gpu/gl/GrGLProgramEffects.h ('k') | src/gpu/gl/GrGpuGL.h » ('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 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 369 matching lines...) Expand 10 before | Expand all | Expand 10 after
380 if (GrGpu::IsPathRenderingDrawType(drawType)) { 380 if (GrGpu::IsPathRenderingDrawType(drawType)) {
381 this->setPathTransformData(gpu, programDataManager, drawEffect, e); 381 this->setPathTransformData(gpu, programDataManager, drawEffect, e);
382 } else { 382 } else {
383 this->setTransformData(gpu, programDataManager, drawEffect, e); 383 this->setTransformData(gpu, programDataManager, drawEffect, e);
384 } 384 }
385 385
386 this->bindTextures(gpu, drawEffect.effect(), e); 386 this->bindTextures(gpu, drawEffect.effect(), e);
387 } 387 }
388 } 388 }
389 389
390 void GrGLVertexProgramEffects::setData(GrGpuGL* gpu,
391 GrGpu::DrawType drawType,
392 const GrGLProgramDataManager& programData Manager,
393 const GrEffectStage* effectStage) {
394 SkASSERT(1 == fTransforms.count());
395 SkASSERT(1 == fSamplers.count());
396 SkASSERT(1 == fGLEffects.count());
397 GrDrawEffect drawEffect(*effectStage, fHasExplicitLocalCoords);
398 fGLEffects[0]->setData(programDataManager, drawEffect);
399 if (GrGpu::IsPathRenderingDrawType(drawType)) {
400 this->setPathTransformData(gpu, programDataManager, drawEffect, 0);
401 } else {
402 this->setTransformData(gpu, programDataManager, drawEffect, 0);
403 }
404
405 this->bindTextures(gpu, drawEffect.effect(), 0);
406 }
407
390 void GrGLVertexProgramEffects::setTransformData(GrGpuGL* gpu, 408 void GrGLVertexProgramEffects::setTransformData(GrGpuGL* gpu,
391 const GrGLProgramDataManager& pd man, 409 const GrGLProgramDataManager& pd man,
392 const GrDrawEffect& drawEffect, 410 const GrDrawEffect& drawEffect,
393 int effectIdx) { 411 int effectIdx) {
394 SkTArray<Transform, true>& transforms = fTransforms[effectIdx]; 412 SkTArray<Transform, true>& transforms = fTransforms[effectIdx];
395 int numTransforms = transforms.count(); 413 int numTransforms = transforms.count();
396 SkASSERT(numTransforms == drawEffect.effect()->numTransforms()); 414 SkASSERT(numTransforms == drawEffect.effect()->numTransforms());
397 for (int t = 0; t < numTransforms; ++t) { 415 for (int t = 0; t < numTransforms; ++t) {
398 SkASSERT(transforms[t].fHandle.isValid()); 416 SkASSERT(transforms[t].fHandle.isValid());
399 const SkMatrix& matrix = get_transform_matrix(drawEffect, t); 417 const SkMatrix& matrix = get_transform_matrix(drawEffect, t);
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after
549 } 567 }
550 void GrGLPathTexGenProgramEffectsBuilder::emitEffect(const GrEffectStage& stage, 568 void GrGLPathTexGenProgramEffectsBuilder::emitEffect(const GrEffectStage& stage,
551 const GrEffectKey& key, 569 const GrEffectKey& key,
552 const char* outColor, 570 const char* outColor,
553 const char* inColor, 571 const char* inColor,
554 int stageIndex) { 572 int stageIndex) {
555 SkASSERT(NULL != fProgramEffects.get()); 573 SkASSERT(NULL != fProgramEffects.get());
556 fProgramEffects->emitEffect(fBuilder, stage, key, outColor, inColor, stageIn dex); 574 fProgramEffects->emitEffect(fBuilder, stage, key, outColor, inColor, stageIn dex);
557 } 575 }
558 576
OLDNEW
« no previous file with comments | « src/gpu/gl/GrGLProgramEffects.h ('k') | src/gpu/gl/GrGpuGL.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698