1 /*
2  * Copyright 2015 Google Inc.
3  *
4  * Use of this source code is governed by a BSD-style license that can be
5  * found in the LICENSE file.
6  */
7 
8 #ifndef GrGLSLTextureSampler_DEFINED
9 #define GrGLSLTextureSampler_DEFINED
10 
11 #include "GrShaderVar.h"
12 #include "GrTextureAccess.h"
13 #include "glsl/GrGLSLProgramDataManager.h"
14 
15 class GrGLSLTextureSampler {
16 public:
17     typedef GrGLSLProgramDataManager::UniformHandle UniformHandle;
18     typedef SkTArray<GrGLSLTextureSampler> TextureSamplerArray;
19 
GrGLSLTextureSampler(UniformHandle uniform,const GrTextureAccess & access)20     GrGLSLTextureSampler(UniformHandle uniform, const GrTextureAccess& access)
21         : fSamplerUniform(uniform)
22         , fConfig(access.getTexture()->config()) {
23         SkASSERT(kUnknown_GrPixelConfig != fConfig);
24     }
25 
config()26     GrPixelConfig config() const { return fConfig; }
27 
28 private:
29     UniformHandle fSamplerUniform;
30     GrPixelConfig fConfig;
31 
32     friend class GrGLSLShaderBuilder;
33 };
34 
35 #endif
36