OLD | NEW |
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 GrGLProgramBuilder_DEFINED | 8 #ifndef GrGLProgramBuilder_DEFINED |
9 #define GrGLProgramBuilder_DEFINED | 9 #define GrGLProgramBuilder_DEFINED |
10 | 10 |
(...skipping 21 matching lines...) Expand all Loading... |
32 static GrGLProgram* CreateProgram(const DrawArgs&, GrGLGpu*); | 32 static GrGLProgram* CreateProgram(const DrawArgs&, GrGLGpu*); |
33 | 33 |
34 const GrCaps* caps() const override; | 34 const GrCaps* caps() const override; |
35 const GrGLSLCaps* glslCaps() const override; | 35 const GrGLSLCaps* glslCaps() const override; |
36 | 36 |
37 GrGLGpu* gpu() const { return fGpu; } | 37 GrGLGpu* gpu() const { return fGpu; } |
38 | 38 |
39 private: | 39 private: |
40 GrGLProgramBuilder(GrGLGpu*, const DrawArgs&); | 40 GrGLProgramBuilder(GrGLGpu*, const DrawArgs&); |
41 | 41 |
42 void emitSamplers(const GrProcessor&, | |
43 GrGLSLTextureSampler::TextureSamplerArray* outSamplers) ov
erride; | |
44 | |
45 bool compileAndAttachShaders(GrGLSLShaderBuilder& shader, | 42 bool compileAndAttachShaders(GrGLSLShaderBuilder& shader, |
46 GrGLuint programId, | 43 GrGLuint programId, |
47 GrGLenum type, | 44 GrGLenum type, |
48 SkTDArray<GrGLuint>* shaderIds); | 45 SkTDArray<GrGLuint>* shaderIds); |
49 GrGLProgram* finalize(); | 46 GrGLProgram* finalize(); |
50 void bindProgramResourceLocations(GrGLuint programID); | 47 void bindProgramResourceLocations(GrGLuint programID); |
51 bool checkLinkStatus(GrGLuint programID); | 48 bool checkLinkStatus(GrGLuint programID); |
52 void resolveProgramResourceLocations(GrGLuint programID); | 49 void resolveProgramResourceLocations(GrGLuint programID); |
53 void cleanupProgram(GrGLuint programID, const SkTDArray<GrGLuint>& shaderIDs
); | 50 void cleanupProgram(GrGLuint programID, const SkTDArray<GrGLuint>& shaderIDs
); |
54 void cleanupShaders(const SkTDArray<GrGLuint>& shaderIDs); | 51 void cleanupShaders(const SkTDArray<GrGLuint>& shaderIDs); |
55 | 52 |
56 // Subclasses create different programs | 53 // Subclasses create different programs |
57 GrGLProgram* createProgram(GrGLuint programID); | 54 GrGLProgram* createProgram(GrGLuint programID); |
58 | 55 |
59 GrGLSLUniformHandler* uniformHandler() override { return &fUniformHandler; } | 56 GrGLSLUniformHandler* uniformHandler() override { return &fUniformHandler; } |
60 const GrGLSLUniformHandler* uniformHandler() const override { return &fUnifo
rmHandler; } | 57 const GrGLSLUniformHandler* uniformHandler() const override { return &fUnifo
rmHandler; } |
61 GrGLSLVaryingHandler* varyingHandler() override { return &fVaryingHandler; } | 58 GrGLSLVaryingHandler* varyingHandler() override { return &fVaryingHandler; } |
62 | 59 |
63 | 60 |
64 GrGLGpu* fGpu; | 61 GrGLGpu* fGpu; |
65 typedef GrGLSLUniformHandler::UniformHandle UniformHandle; | 62 GrGLVaryingHandler fVaryingHandler; |
66 SkTArray<UniformHandle> fSamplerUniforms; | 63 GrGLUniformHandler fUniformHandler; |
67 | |
68 GrGLVaryingHandler fVaryingHandler; | |
69 GrGLUniformHandler fUniformHandler; | |
70 | 64 |
71 typedef GrGLSLProgramBuilder INHERITED; | 65 typedef GrGLSLProgramBuilder INHERITED; |
72 }; | 66 }; |
73 #endif | 67 #endif |
OLD | NEW |