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

Side by Side Diff: include/gpu/GrFragmentProcessor.h

Issue 1109863004: Use GLSLCaps for creating processor keys and GLSL-specific programs (Closed) Base URL: https://chromium.googlesource.com/skia@master
Patch Set: Created 5 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
« no previous file with comments | « include/effects/SkTableColorFilter.h ('k') | include/gpu/GrXferProcessor.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 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 #ifndef GrFragmentProcessor_DEFINED 8 #ifndef GrFragmentProcessor_DEFINED
9 #define GrFragmentProcessor_DEFINED 9 #define GrFragmentProcessor_DEFINED
10 10
11 #include "GrProcessor.h" 11 #include "GrProcessor.h"
12 12
13 class GrCoordTransform; 13 class GrCoordTransform;
14 class GrGLCaps; 14 class GrGLCaps;
15 typedef GrGLCaps GrGLSLCaps;
15 class GrGLFragmentProcessor; 16 class GrGLFragmentProcessor;
16 class GrProcessorKeyBuilder; 17 class GrProcessorKeyBuilder;
17 18
18 /** Provides custom fragment shader code. Fragment processors receive an input c olor (vec4f) and 19 /** Provides custom fragment shader code. Fragment processors receive an input c olor (vec4f) and
19 produce an output color. They may reference textures and uniforms. They may use 20 produce an output color. They may reference textures and uniforms. They may use
20 GrCoordTransforms to receive a transformation of the local coordinates that map from local space 21 GrCoordTransforms to receive a transformation of the local coordinates that map from local space
21 to the fragment being processed. 22 to the fragment being processed.
22 */ 23 */
23 class GrFragmentProcessor : public GrProcessor { 24 class GrFragmentProcessor : public GrProcessor {
24 public: 25 public:
25 GrFragmentProcessor() 26 GrFragmentProcessor()
26 : INHERITED() 27 : INHERITED()
27 , fWillUseInputColor(true) 28 , fWillUseInputColor(true)
28 , fUsesLocalCoords(false) {} 29 , fUsesLocalCoords(false) {}
29 30
30 /** Implemented using GLFragmentProcessor::GenKey as described in this class 's comment. */ 31 /** Implemented using GLFragmentProcessor::GenKey as described in this class 's comment. */
31 virtual void getGLProcessorKey(const GrGLCaps& caps, 32 virtual void getGLProcessorKey(const GrGLSLCaps& caps,
32 GrProcessorKeyBuilder* b) const = 0; 33 GrProcessorKeyBuilder* b) const = 0;
33 34
34 /** Returns a new instance of the appropriate *GL* implementation class 35 /** Returns a new instance of the appropriate *GL* implementation class
35 for the given GrFragmentProcessor; caller is responsible for deleting 36 for the given GrFragmentProcessor; caller is responsible for deleting
36 the object. */ 37 the object. */
37 virtual GrGLFragmentProcessor* createGLInstance() const = 0; 38 virtual GrGLFragmentProcessor* createGLInstance() const = 0;
38 39
39 /** Human-meaningful string to identify this GrFragmentProcessor; may be emb edded 40 /** Human-meaningful string to identify this GrFragmentProcessor; may be emb edded
40 in generated shader code. */ 41 in generated shader code. */
41 virtual const char* name() const = 0; 42 virtual const char* name() const = 0;
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 bool hasSameTransforms(const GrFragmentProcessor&) const; 126 bool hasSameTransforms(const GrFragmentProcessor&) const;
126 127
127 SkSTArray<4, const GrCoordTransform*, true> fCoordTransforms; 128 SkSTArray<4, const GrCoordTransform*, true> fCoordTransforms;
128 bool fWillUseInputColor; 129 bool fWillUseInputColor;
129 bool fUsesLocalCoords; 130 bool fUsesLocalCoords;
130 131
131 typedef GrProcessor INHERITED; 132 typedef GrProcessor INHERITED;
132 }; 133 };
133 134
134 #endif 135 #endif
OLDNEW
« no previous file with comments | « include/effects/SkTableColorFilter.h ('k') | include/gpu/GrXferProcessor.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698