OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2015 Google Inc. | 2 * Copyright 2015 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 GrGLVaryingHandler_DEFINED | 8 #ifndef GrGLVaryingHandler_DEFINED |
9 #define GrGLVaryingHandler_DEFINED | 9 #define GrGLVaryingHandler_DEFINED |
10 | 10 |
11 #include "glsl/GrGLSLVarying.h" | 11 #include "glsl/GrGLSLVarying.h" |
12 #include "GrTypesPriv.h" | 12 #include "GrTypesPriv.h" |
13 #include "gl/GrGLProgramDataManager.h" | 13 #include "gl/GrGLProgramDataManager.h" |
14 | 14 |
15 class GrGLVaryingHandler : public GrGLSLVaryingHandler { | 15 class GrGLVaryingHandler : public GrGLSLVaryingHandler { |
16 public: | 16 public: |
17 GrGLVaryingHandler(GrGLSLProgramBuilder* program) | 17 GrGLVaryingHandler(GrGLSLProgramBuilder* program) |
18 : INHERITED(program), | 18 : INHERITED(program), |
19 fPathProcVaryingInfos(kVaryingsPerBlock) {} | 19 fPathProcVaryingInfos(kVaryingsPerBlock) {} |
20 | 20 |
21 // This function is used by the NVPR PathProcessor to add a varying directly
into the fragment | 21 // This function is used by the NVPR PathProcessor to add a varying directly
into the fragment |
22 // shader since there is no vertex shader. | 22 // shader since there is no vertex shader. |
23 VaryingHandle addPathProcessingVarying(const char* name, GrGLSLVertToFrag*, | 23 VaryingHandle addPathProcessingVarying(const char* name, GrGLSLVertToFrag*, |
24 GrSLPrecision fsPrecision = kDefault_
GrSLPrecision); | 24 GrSLPrecision fsPrecision = kDefault_
GrSLPrecision); |
25 | 25 |
26 private: | 26 private: |
| 27 void onFinalize() override {} |
| 28 |
27 typedef GrGLProgramDataManager::VaryingInfo VaryingInfo; | 29 typedef GrGLProgramDataManager::VaryingInfo VaryingInfo; |
28 typedef GrGLProgramDataManager::VaryingInfoArray VaryingInfoArray; | 30 typedef GrGLProgramDataManager::VaryingInfoArray VaryingInfoArray; |
29 | 31 |
30 VaryingInfoArray fPathProcVaryingInfos; | 32 VaryingInfoArray fPathProcVaryingInfos; |
31 | 33 |
32 friend class GrGLProgramBuilder; | 34 friend class GrGLProgramBuilder; |
33 | 35 |
34 typedef GrGLSLVaryingHandler INHERITED; | 36 typedef GrGLSLVaryingHandler INHERITED; |
35 }; | 37 }; |
36 | 38 |
37 #endif | 39 #endif |
38 | 40 |
OLD | NEW |