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

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

Issue 14875002: Add support for GL_*_shader_framebuffer_fetch (Closed) Base URL: http://skia.googlecode.com/svn/trunk/
Patch Set: Created 7 years, 7 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
« no previous file with comments | « src/gpu/gl/GrGLProgramDesc.cpp ('k') | src/gpu/gl/GrGLShaderBuilder.cpp » ('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 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 #ifndef GrGLShaderBuilder_DEFINED 8 #ifndef GrGLShaderBuilder_DEFINED
9 #define GrGLShaderBuilder_DEFINED 9 #define GrGLShaderBuilder_DEFINED
10 10
(...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after
252 */ 252 */
253 const GrGLShaderVar& positionAttribute() const { return *fPositionVar; } 253 const GrGLShaderVar& positionAttribute() const { return *fPositionVar; }
254 254
255 /** Returns a vertex attribute that represents the local coords in the VS. T his may be the same 255 /** Returns a vertex attribute that represents the local coords in the VS. T his may be the same
256 as positionAttribute() or it may not be. It depends upon whether the ren dering code 256 as positionAttribute() or it may not be. It depends upon whether the ren dering code
257 specified explicit local coords or not in the GrDrawState. */ 257 specified explicit local coords or not in the GrDrawState. */
258 const GrGLShaderVar& localCoordsAttribute() const { return *fLocalCoordsVar; } 258 const GrGLShaderVar& localCoordsAttribute() const { return *fLocalCoordsVar; }
259 259
260 /** Returns the color of the destination pixel. This may be NULL if no effec t advertised 260 /** Returns the color of the destination pixel. This may be NULL if no effec t advertised
261 that it will read the destination. */ 261 that it will read the destination. */
262 const char* dstColor() const; 262 const char* dstColor();
263 263
264 /** 264 /**
265 * Are explicit local coordinates provided as input to the vertex shader. 265 * Are explicit local coordinates provided as input to the vertex shader.
266 */ 266 */
267 bool hasExplicitLocalCoords() const { return (fLocalCoordsVar != fPositionVa r); } 267 bool hasExplicitLocalCoords() const { return (fLocalCoordsVar != fPositionVa r); }
268 268
269 /** 269 /**
270 * Interfaces used by GrGLProgram. 270 * Interfaces used by GrGLProgram.
271 * TODO: Hide these from the GrEffects using friend or splitting this into t wo related classes. 271 * TODO: Hide these from the GrEffects using friend or splitting this into t wo related classes.
272 * Also, GrGLProgram's shader string construction should be moved to this cl ass. 272 * Also, GrGLProgram's shader string construction should be moved to this cl ass.
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
339 339
340 private: 340 private:
341 enum { 341 enum {
342 kNonStageIdx = -1, 342 kNonStageIdx = -1,
343 }; 343 };
344 344
345 /** 345 /**
346 * Features that should only be enabled by GrGLShaderBuilder itself. 346 * Features that should only be enabled by GrGLShaderBuilder itself.
347 */ 347 */
348 enum GLSLPrivateFeature { 348 enum GLSLPrivateFeature {
349 kFragCoordConventions_GLSLPrivateFeature = kLastGLSLFeature + 1 349 kFragCoordConventions_GLSLPrivateFeature = kLastGLSLFeature + 1,
350 kEXTShaderFramebufferFetch_GLSLPrivateFeature,
351 kNVShaderFramebufferFetch_GLSLPrivateFeature,
350 }; 352 };
351 bool enablePrivateFeature(GLSLPrivateFeature); 353 bool enablePrivateFeature(GLSLPrivateFeature);
352 354
353 // If we ever have VS/GS features we can expand this to take a bitmask of Sh aderType and track 355 // If we ever have VS/GS features we can expand this to take a bitmask of Sh aderType and track
354 // the enables separately for each shader. 356 // the enables separately for each shader.
355 void addFSFeature(uint32_t featureBit, const char* extensionName); 357 void addFSFeature(uint32_t featureBit, const char* extensionName);
356 358
357 // Interpretation of DstReadKey when generating code 359 // Interpretation of DstReadKey when generating code
358 enum { 360 enum {
359 kNoDstRead_DstReadKey = 0, 361 kNoDstRead_DstReadKey = 0,
(...skipping 23 matching lines...) Expand all
383 GrGLUniformManager::UniformHandle fDstCopyScaleUniform; 385 GrGLUniformManager::UniformHandle fDstCopyScaleUniform;
384 386
385 SkSTArray<10, AttributePair, true> fEffectAttributes; 387 SkSTArray<10, AttributePair, true> fEffectAttributes;
386 388
387 GrGLShaderVar* fPositionVar; 389 GrGLShaderVar* fPositionVar;
388 GrGLShaderVar* fLocalCoordsVar; 390 GrGLShaderVar* fLocalCoordsVar;
389 391
390 }; 392 };
391 393
392 #endif 394 #endif
OLDNEW
« no previous file with comments | « src/gpu/gl/GrGLProgramDesc.cpp ('k') | src/gpu/gl/GrGLShaderBuilder.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698