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

Unified Diff: src/gpu/glsl/GrGLSLCaps.h

Issue 1420033005: Create swizzle table inside of glsl caps (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 5 years, 1 month 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/gpu/gl/builders/GrGLShaderBuilder.cpp ('k') | src/gpu/glsl/GrGLSLCaps.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/gpu/glsl/GrGLSLCaps.h
diff --git a/src/gpu/glsl/GrGLSLCaps.h b/src/gpu/glsl/GrGLSLCaps.h
index f93ef2766d18f376a0e65c1399ebf6151fbb4502..e703fb852384c7b4193b6fb66d6e5fa7ad9e2c8a 100755
--- a/src/gpu/glsl/GrGLSLCaps.h
+++ b/src/gpu/glsl/GrGLSLCaps.h
@@ -82,6 +82,15 @@ public:
return fShaderDerivativeExtensionString;
}
+ 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.
+ */
+ const char* getSwizzleMap(GrPixelConfig config) const { return fConfigSwizzle[config]; }
+
GrGLSLGeneration generation() const { return fGLSLGeneration; }
/**
@@ -90,6 +99,8 @@ public:
SkString dump() const override;
private:
+ void onApplyOptionsOverrides(const GrContextOptions& options) override;
+
GrGLSLGeneration fGLSLGeneration;
bool fDropsTileOnZeroDivide : 1;
@@ -109,6 +120,9 @@ private:
AdvBlendEqInteraction fAdvBlendEqInteraction;
+ bool fMustSwizzleInShader;
+ const char* fConfigSwizzle[kGrPixelConfigCnt];
+
friend class GrGLCaps; // For initialization.
typedef GrShaderCaps INHERITED;
« no previous file with comments | « src/gpu/gl/builders/GrGLShaderBuilder.cpp ('k') | src/gpu/glsl/GrGLSLCaps.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698