Home | History | Annotate | Download | only in glsl
      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 
     20     GrGLSLTextureSampler(UniformHandle uniform, const GrTextureAccess& access)
     21         : fSamplerUniform(uniform)
     22         , fConfig(access.getTexture()->config()) {
     23         SkASSERT(kUnknown_GrPixelConfig != fConfig);
     24     }
     25 
     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