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

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

Issue 522303004: Add option to add precision to varyings in shader (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Change param to fsPrecision 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/builders/GrGLProgramBuilder.h ('k') | no next file » | 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 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 #include "gl/GrGLProgram.h" 8 #include "gl/GrGLProgram.h"
9 #include "gl/GrGLSLPrettyPrint.h" 9 #include "gl/GrGLSLPrettyPrint.h"
10 #include "gl/GrGLUniformHandle.h" 10 #include "gl/GrGLUniformHandle.h"
(...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after
336 fVS.emitCodeBeforeEffects(color, coverage); 336 fVS.emitCodeBeforeEffects(color, coverage);
337 } 337 }
338 338
339 void GrGLFullProgramBuilder::emitCodeAfterEffects() { 339 void GrGLFullProgramBuilder::emitCodeAfterEffects() {
340 fVS.emitCodeAfterEffects(); 340 fVS.emitCodeAfterEffects();
341 } 341 }
342 342
343 void GrGLFullProgramBuilder::addVarying(GrSLType type, 343 void GrGLFullProgramBuilder::addVarying(GrSLType type,
344 const char* name, 344 const char* name,
345 const char** vsOutName, 345 const char** vsOutName,
346 const char** fsInName) { 346 const char** fsInName,
347 GrGLShaderVar::Precision fsPrecision) {
347 fVS.addVarying(type, name, vsOutName); 348 fVS.addVarying(type, name, vsOutName);
348 349
349 SkString* fsInputName = fVS.fOutputs.back().accessName(); 350 SkString* fsInputName = fVS.fOutputs.back().accessName();
350 351
351 #if GR_GL_EXPERIMENTAL_GS 352 #if GR_GL_EXPERIMENTAL_GS
352 if (desc().getHeader().fExperimentalGS) { 353 if (desc().getHeader().fExperimentalGS) {
353 // TODO let the caller use these names 354 // TODO let the caller use these names
354 fGS.addVarying(type, fsInputName->c_str(), NULL); 355 fGS.addVarying(type, fsInputName->c_str(), NULL);
355 fsInputName = fGS.fOutputs.back().accessName(); 356 fsInputName = fGS.fOutputs.back().accessName();
356 } 357 }
357 #endif 358 #endif
358 fFS.addVarying(type, fsInputName->c_str(), fsInName); 359 fFS.addVarying(type, fsInputName->c_str(), fsInName, fsPrecision);
359 } 360 }
360 361
361 GrGLFullProgramBuilder::VaryingHandle 362 GrGLFullProgramBuilder::VaryingHandle
362 GrGLFullProgramBuilder::addSeparableVarying(GrSLType type, 363 GrGLFullProgramBuilder::addSeparableVarying(GrSLType type,
363 const char* name, 364 const char* name,
364 const char** vsOutName, 365 const char** vsOutName,
365 const char** fsInName) { 366 const char** fsInName) {
366 addVarying(type, name, vsOutName, fsInName); 367 addVarying(type, name, vsOutName, fsInName);
367 SeparableVaryingInfo& varying = fSeparableVaryingInfos.push_back(); 368 SeparableVaryingInfo& varying = fSeparableVaryingInfos.push_back();
368 varying.fVariable = fFS.fInputs.back(); 369 varying.fVariable = fFS.fInputs.back();
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
425 426
426 GrGLPathTexGenProgramEffectsBuilder pathTexGenEffectsBuilder(this, 427 GrGLPathTexGenProgramEffectsBuilder pathTexGenEffectsBuilder(this,
427 effectCnt); 428 effectCnt);
428 this->INHERITED::createAndEmitEffects(&pathTexGenEffectsBuilder, 429 this->INHERITED::createAndEmitEffects(&pathTexGenEffectsBuilder,
429 effectStages, 430 effectStages,
430 effectCnt, 431 effectCnt,
431 keyProvider, 432 keyProvider,
432 inOutFSColor); 433 inOutFSColor);
433 return pathTexGenEffectsBuilder.finish(); 434 return pathTexGenEffectsBuilder.finish();
434 } 435 }
OLDNEW
« no previous file with comments | « src/gpu/gl/builders/GrGLProgramBuilder.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698