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

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

Issue 12843026: Make GrDrawTarget::Caps ref counted and GrGLCaps derive from it. (Closed) Base URL: http://skia.googlecode.com/svn/trunk/
Patch Set: Created 7 years, 9 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 | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright 2012 Google Inc. 2 * Copyright 2012 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/GrGLShaderBuilder.h" 8 #include "gl/GrGLShaderBuilder.h"
9 #include "gl/GrGLProgram.h" 9 #include "gl/GrGLProgram.h"
10 #include "gl/GrGLUniformHandle.h" 10 #include "gl/GrGLUniformHandle.h"
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
151 const GrGLShaderBuilder::TextureSamp ler& sampler, 151 const GrGLShaderBuilder::TextureSamp ler& sampler,
152 const char* coordName, 152 const char* coordName,
153 GrSLType varyingType) const { 153 GrSLType varyingType) const {
154 GrAssert(NULL != sampler.textureAccess()); 154 GrAssert(NULL != sampler.textureAccess());
155 GrAssert(NULL != coordName); 155 GrAssert(NULL != coordName);
156 156
157 out->appendf("%s(%s, %s)", 157 out->appendf("%s(%s, %s)",
158 sample_function_name(varyingType, fCtxInfo.glslGeneration()), 158 sample_function_name(varyingType, fCtxInfo.glslGeneration()),
159 this->getUniformCStr(sampler.fSamplerUniform), 159 this->getUniformCStr(sampler.fSamplerUniform),
160 coordName); 160 coordName);
161 append_swizzle(out, *sampler.textureAccess(), fCtxInfo.caps()); 161 append_swizzle(out, *sampler.textureAccess(), *fCtxInfo.caps());
162 } 162 }
163 163
164 void GrGLShaderBuilder::appendTextureLookup(ShaderType type, 164 void GrGLShaderBuilder::appendTextureLookup(ShaderType type,
165 const GrGLShaderBuilder::TextureSamp ler& sampler, 165 const GrGLShaderBuilder::TextureSamp ler& sampler,
166 const char* coordName, 166 const char* coordName,
167 GrSLType varyingType) { 167 GrSLType varyingType) {
168 GrAssert(kFragment_ShaderType == type); 168 GrAssert(kFragment_ShaderType == type);
169 this->appendTextureLookup(&fFSCode, sampler, coordName, varyingType); 169 this->appendTextureLookup(&fFSCode, sampler, coordName, varyingType);
170 } 170 }
171 171
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
325 fFSInputs.back().setType(type); 325 fFSInputs.back().setType(type);
326 fFSInputs.back().setTypeModifier(GrGLShaderVar::kIn_TypeModifier); 326 fFSInputs.back().setTypeModifier(GrGLShaderVar::kIn_TypeModifier);
327 fFSInputs.back().setName(*fsName); 327 fFSInputs.back().setName(*fsName);
328 if (fsInName) { 328 if (fsInName) {
329 *fsInName = fsName->c_str(); 329 *fsInName = fsName->c_str();
330 } 330 }
331 } 331 }
332 332
333 const char* GrGLShaderBuilder::fragmentPosition() { 333 const char* GrGLShaderBuilder::fragmentPosition() {
334 #if 1 334 #if 1
335 if (fCtxInfo.caps().fragCoordConventionsSupport()) { 335 if (fCtxInfo.caps()->fragCoordConventionsSupport()) {
336 if (!fSetupFragPosition) { 336 if (!fSetupFragPosition) {
337 if (fCtxInfo.glslGeneration() < k150_GrGLSLGeneration) { 337 if (fCtxInfo.glslGeneration() < k150_GrGLSLGeneration) {
338 fFSHeader.append("#extension GL_ARB_fragment_coord_conventions: require\n"); 338 fFSHeader.append("#extension GL_ARB_fragment_coord_conventions: require\n");
339 } 339 }
340 fFSInputs.push_back().set(kVec4f_GrSLType, 340 fFSInputs.push_back().set(kVec4f_GrSLType,
341 GrGLShaderVar::kIn_TypeModifier, 341 GrGLShaderVar::kIn_TypeModifier,
342 "gl_FragCoord", 342 "gl_FragCoord",
343 GrGLShaderVar::kDefault_Precision, 343 GrGLShaderVar::kDefault_Precision,
344 GrGLShaderVar::kUpperLeft_Origin); 344 GrGLShaderVar::kUpperLeft_Origin);
345 fSetupFragPosition = true; 345 fSetupFragPosition = true;
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after
552 for (const AttributePair* attrib = this->getEffectAttributes().begin(); 552 for (const AttributePair* attrib = this->getEffectAttributes().begin();
553 attrib != attribEnd; 553 attrib != attribEnd;
554 ++attrib) { 554 ++attrib) {
555 if (attrib->fIndex == attributeIndex) { 555 if (attrib->fIndex == attributeIndex) {
556 return &attrib->fName; 556 return &attrib->fName;
557 } 557 }
558 } 558 }
559 559
560 return NULL; 560 return NULL;
561 } 561 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698