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

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: 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
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&, 42 void nameSampler(int idx, SkString* name) override { name->printf("Sampler%d ", idx); }
Chris Dalton 2016/03/10 08:36:03 Is this needed or can we name it "SamplerN" in Vul
egdaniel 2016/03/11 14:22:27 calling it samplerN in vulkan is fine
43 GrGLSLTextureSampler::TextureSamplerArray* outSamplers) ov erride;
44 43
45 bool compileAndAttachShaders(GrGLSLShaderBuilder& shader, 44 bool compileAndAttachShaders(GrGLSLShaderBuilder& shader,
46 GrGLuint programId, 45 GrGLuint programId,
47 GrGLenum type, 46 GrGLenum type,
48 SkTDArray<GrGLuint>* shaderIds); 47 SkTDArray<GrGLuint>* shaderIds);
49 GrGLProgram* finalize(); 48 GrGLProgram* finalize();
50 void bindProgramResourceLocations(GrGLuint programID); 49 void bindProgramResourceLocations(GrGLuint programID);
51 bool checkLinkStatus(GrGLuint programID); 50 bool checkLinkStatus(GrGLuint programID);
52 void resolveProgramResourceLocations(GrGLuint programID); 51 void resolveProgramResourceLocations(GrGLuint programID);
53 void cleanupProgram(GrGLuint programID, const SkTDArray<GrGLuint>& shaderIDs ); 52 void cleanupProgram(GrGLuint programID, const SkTDArray<GrGLuint>& shaderIDs );
54 void cleanupShaders(const SkTDArray<GrGLuint>& shaderIDs); 53 void cleanupShaders(const SkTDArray<GrGLuint>& shaderIDs);
55 54
56 // Subclasses create different programs 55 // Subclasses create different programs
57 GrGLProgram* createProgram(GrGLuint programID); 56 GrGLProgram* createProgram(GrGLuint programID);
58 57
59 GrGLSLUniformHandler* uniformHandler() override { return &fUniformHandler; } 58 GrGLSLUniformHandler* uniformHandler() override { return &fUniformHandler; }
60 const GrGLSLUniformHandler* uniformHandler() const override { return &fUnifo rmHandler; } 59 const GrGLSLUniformHandler* uniformHandler() const override { return &fUnifo rmHandler; }
61 GrGLSLVaryingHandler* varyingHandler() override { return &fVaryingHandler; } 60 GrGLSLVaryingHandler* varyingHandler() override { return &fVaryingHandler; }
62 61
63 62
64 GrGLGpu* fGpu; 63 GrGLGpu* fGpu;
65 typedef GrGLSLUniformHandler::UniformHandle UniformHandle; 64 GrGLVaryingHandler fVaryingHandler;
66 SkTArray<UniformHandle> fSamplerUniforms; 65 GrGLUniformHandler fUniformHandler;
67
68 GrGLVaryingHandler fVaryingHandler;
69 GrGLUniformHandler fUniformHandler;
70 66
71 typedef GrGLSLProgramBuilder INHERITED; 67 typedef GrGLSLProgramBuilder INHERITED;
72 }; 68 };
73 #endif 69 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698