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

Unified Diff: include/gpu/GrTextureParams.h

Issue 1789663002: sRGB support in Ganesh. Several pieces: (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Rebase 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 side-by-side diff with in-line comments
Download patch
Index: include/gpu/GrTextureParams.h
diff --git a/include/gpu/GrTextureParams.h b/include/gpu/GrTextureParams.h
index 3186b1b027186b29df31361e7fd80eb6055d52f8..85bf26fab32539c2f4f7feac3cf8bcb5342bfa34 100644
--- a/include/gpu/GrTextureParams.h
+++ b/include/gpu/GrTextureParams.h
@@ -24,6 +24,11 @@ public:
static const GrTextureParams gParams(SkShader::kClamp_TileMode, kBilerp_FilterMode);
return gParams;
}
+ static const GrTextureParams& ClampNoFilterAllowSRGB() {
+ static const GrTextureParams gParams(SkShader::kClamp_TileMode, kNone_FilterMode,
+ kAllowSRGB_GrSRGBPolicy);
+ return gParams;
+ }
GrTextureParams() {
this->reset();
@@ -39,6 +44,10 @@ public:
this->reset(tileXAndY, filterMode);
}
+ GrTextureParams(SkShader::TileMode tileXandY, FilterMode filterMode, GrSRGBPolicy srgbPolicy) {
+ this->reset(tileXandY, filterMode, srgbPolicy);
+ }
+
GrTextureParams(const SkShader::TileMode tileModes[2], FilterMode filterMode) {
this->reset(tileModes, filterMode);
}
@@ -51,6 +60,7 @@ public:
fTileModes[0] = params.fTileModes[0];
fTileModes[1] = params.fTileModes[1];
fFilterMode = params.fFilterMode;
+ fSRGBPolicy = params.fSRGBPolicy;
return *this;
}
@@ -61,12 +71,20 @@ public:
void reset(SkShader::TileMode tileXAndY, FilterMode filterMode) {
fTileModes[0] = fTileModes[1] = tileXAndY;
fFilterMode = filterMode;
+ fSRGBPolicy = kUnknown_GrSRGBPolicy;
+ }
+
+ void reset(SkShader::TileMode tileXandY, FilterMode filterMode, GrSRGBPolicy srgbPolicy) {
+ fTileModes[0] = fTileModes[1] = tileXandY;
+ fFilterMode = filterMode;
+ fSRGBPolicy = srgbPolicy;
}
void reset(const SkShader::TileMode tileModes[2], FilterMode filterMode) {
fTileModes[0] = tileModes[0];
fTileModes[1] = tileModes[1];
fFilterMode = filterMode;
+ fSRGBPolicy = kUnknown_GrSRGBPolicy;
}
void setClampNoFilter() {
@@ -84,6 +102,8 @@ public:
void setTileModeY(const SkShader::TileMode tm) { fTileModes[1] = tm; }
void setTileModeXAndY(const SkShader::TileMode tm) { fTileModes[0] = fTileModes[1] = tm; }
+ void setSRGBPolicy(GrSRGBPolicy srgbPolicy) { fSRGBPolicy = srgbPolicy; }
+
SkShader::TileMode getTileModeX() const { return fTileModes[0]; }
SkShader::TileMode getTileModeY() const { return fTileModes[1]; }
@@ -95,10 +115,13 @@ public:
FilterMode filterMode() const { return fFilterMode; }
+ GrSRGBPolicy srgbPolicy() const { return fSRGBPolicy; }
+
bool operator== (const GrTextureParams& other) const {
return fTileModes[0] == other.fTileModes[0] &&
fTileModes[1] == other.fTileModes[1] &&
- fFilterMode == other.fFilterMode;
+ fFilterMode == other.fFilterMode &&
+ fSRGBPolicy == other.fSRGBPolicy;
}
bool operator!= (const GrTextureParams& other) const { return !(*this == other); }
@@ -106,5 +129,6 @@ public:
private:
SkShader::TileMode fTileModes[2];
FilterMode fFilterMode;
+ GrSRGBPolicy fSRGBPolicy;
};
#endif
« no previous file with comments | « include/gpu/GrColor.h ('k') | include/gpu/GrTypes.h » ('j') | include/gpu/GrTypes.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698