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

Side by Side Diff: src/gpu/gl/builders/GrGLProgramBuilder.h

Issue 1782583002: Add support for vertex and geometry shader textures (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: better rebase Created 4 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
« no previous file with comments | « src/gpu/gl/GrGLTexture.cpp ('k') | src/gpu/gl/builders/GrGLProgramBuilder.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 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
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
OLDNEW
« no previous file with comments | « src/gpu/gl/GrGLTexture.cpp ('k') | src/gpu/gl/builders/GrGLProgramBuilder.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698