Index: src/gpu/glsl/GrGLSLCaps.h |
diff --git a/src/gpu/glsl/GrGLSLCaps.h b/src/gpu/glsl/GrGLSLCaps.h |
index 21c59e7b162f880c2074e8317fd13bdaba6c7162..eba9602e5ac270cd65f68d156d5ae96d632f5e8d 100755 |
--- a/src/gpu/glsl/GrGLSLCaps.h |
+++ b/src/gpu/glsl/GrGLSLCaps.h |
@@ -11,6 +11,7 @@ |
#include "GrCaps.h" |
#include "GrGLSL.h" |
+#include "GrSwizzle.h" |
class GrGLSLCaps : public GrShaderCaps { |
public: |
@@ -104,14 +105,14 @@ public: |
return fExternalTextureExtensionString; |
} |
- bool mustSwizzleInShader() const { return fMustSwizzleInShader; } |
- |
/** |
- * Returns a string which represents how to map from an internal GLFormat to a given |
- * GrPixelConfig. The function mustSwizzleInShader determines whether this swizzle is applied |
- * in the generated shader code or using sample state in the 3D API. |
+ * Given a texture's config, this determines what swizzle must be appended to accesses to the |
+ * texture in generated shader code. Swizzling may be implemented in texture parameters or a |
+ * sampler rather than in the shader. In this case the shader swizzle will always be "rgba". |
*/ |
- const char* getSwizzleMap(GrPixelConfig config) const { return fConfigSwizzle[config]; } |
+ const GrSwizzle& configTextureSwizzle(GrPixelConfig config) const { |
+ return fConfigTextureSwizzle[config]; |
+ } |
GrGLSLGeneration generation() const { return fGLSLGeneration; } |
@@ -148,13 +149,11 @@ private: |
AdvBlendEqInteraction fAdvBlendEqInteraction; |
- bool fMustSwizzleInShader; |
- const char* fConfigSwizzle[kGrPixelConfigCnt]; |
+ GrSwizzle fConfigTextureSwizzle[kGrPixelConfigCnt]; |
friend class GrGLCaps; // For initialization. |
typedef GrShaderCaps INHERITED; |
}; |
- |
#endif |