aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/effects
diff options
context:
space:
mode:
authorGravatar Jim Van Verth <jvanverth@google.com>2018-05-16 14:54:41 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-05-16 19:28:32 +0000
commitcbeae03caee3b6c26c22f5f24c817521c78f8e43 (patch)
treebc24b50ca9e52de8fc783e087656027af1db53ce /src/gpu/effects
parentaf0f79c286ac955a94b2a0834099f3abd61584b5 (diff)
Fix check for valid proxies returned by AtlasManager.
Also renames a lot of variables to make it clearer that getProxies() returns the number of instantiated proxies, not the number of all proxies. Bug: skia: Change-Id: Ifbc910cbd6635dccdb4e7f0df2e69a0f341130af Reviewed-on: https://skia-review.googlesource.com/128660 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
Diffstat (limited to 'src/gpu/effects')
-rw-r--r--src/gpu/effects/GrBitmapTextGeoProc.cpp12
-rw-r--r--src/gpu/effects/GrBitmapTextGeoProc.h6
-rw-r--r--src/gpu/effects/GrDistanceFieldGeoProc.h29
3 files changed, 24 insertions, 23 deletions
diff --git a/src/gpu/effects/GrBitmapTextGeoProc.cpp b/src/gpu/effects/GrBitmapTextGeoProc.cpp
index 3efba9f509..14126794d7 100644
--- a/src/gpu/effects/GrBitmapTextGeoProc.cpp
+++ b/src/gpu/effects/GrBitmapTextGeoProc.cpp
@@ -122,7 +122,7 @@ private:
GrBitmapTextGeoProc::GrBitmapTextGeoProc(GrColor color,
const sk_sp<GrTextureProxy>* proxies,
- int numProxies,
+ int numActiveProxies,
const GrSamplerState& params, GrMaskFormat format,
const SkMatrix& localMatrix, bool usesLocalCoords)
: INHERITED(kGrBitmapTextGeoProc_ClassID)
@@ -131,7 +131,7 @@ GrBitmapTextGeoProc::GrBitmapTextGeoProc(GrColor color,
, fUsesLocalCoords(usesLocalCoords)
, fInColor(nullptr)
, fMaskFormat(format) {
- SkASSERT(numProxies <= kMaxTextures);
+ SkASSERT(numActiveProxies <= kMaxTextures);
fInPosition = &this->addVertexAttrib("inPosition", kFloat2_GrVertexAttribType);
@@ -142,7 +142,7 @@ GrBitmapTextGeoProc::GrBitmapTextGeoProc(GrColor color,
}
fInTextureCoords = &this->addVertexAttrib("inTextureCoords", kUShort2_GrVertexAttribType);
- for (int i = 0; i < numProxies; ++i) {
+ for (int i = 0; i < numActiveProxies; ++i) {
SkASSERT(proxies[i]);
fTextureSamplers[i].reset(std::move(proxies[i]), params);
@@ -151,11 +151,11 @@ GrBitmapTextGeoProc::GrBitmapTextGeoProc(GrColor color,
}
void GrBitmapTextGeoProc::addNewProxies(const sk_sp<GrTextureProxy>* proxies,
- int numProxies,
+ int numActiveProxies,
const GrSamplerState& params) {
- SkASSERT(numProxies <= kMaxTextures);
+ SkASSERT(numActiveProxies <= kMaxTextures);
- for (int i = 0; i < numProxies; ++i) {
+ for (int i = 0; i < numActiveProxies; ++i) {
SkASSERT(proxies[i]);
if (!fTextureSamplers[i].isInitialized()) {
diff --git a/src/gpu/effects/GrBitmapTextGeoProc.h b/src/gpu/effects/GrBitmapTextGeoProc.h
index 1f52e075b1..3b95f76192 100644
--- a/src/gpu/effects/GrBitmapTextGeoProc.h
+++ b/src/gpu/effects/GrBitmapTextGeoProc.h
@@ -24,11 +24,11 @@ public:
static sk_sp<GrGeometryProcessor> Make(GrColor color,
const sk_sp<GrTextureProxy>* proxies,
- int numProxies,
+ int numActiveProxies,
const GrSamplerState& p, GrMaskFormat format,
const SkMatrix& localMatrix, bool usesLocalCoords) {
return sk_sp<GrGeometryProcessor>(
- new GrBitmapTextGeoProc(color, proxies, numProxies, p, format,
+ new GrBitmapTextGeoProc(color, proxies, numActiveProxies, p, format,
localMatrix, usesLocalCoords));
}
@@ -45,7 +45,7 @@ public:
const SkMatrix& localMatrix() const { return fLocalMatrix; }
bool usesLocalCoords() const { return fUsesLocalCoords; }
- void addNewProxies(const sk_sp<GrTextureProxy>* proxies, int numProxies, const GrSamplerState&);
+ void addNewProxies(const sk_sp<GrTextureProxy>*, int numActiveProxies, const GrSamplerState&);
void getGLSLProcessorKey(const GrShaderCaps& caps, GrProcessorKeyBuilder* b) const override;
diff --git a/src/gpu/effects/GrDistanceFieldGeoProc.h b/src/gpu/effects/GrDistanceFieldGeoProc.h
index 4ac6ae0304..5ba19ed5a5 100644
--- a/src/gpu/effects/GrDistanceFieldGeoProc.h
+++ b/src/gpu/effects/GrDistanceFieldGeoProc.h
@@ -56,19 +56,19 @@ public:
/** The local matrix should be identity if local coords are not required by the GrPipeline. */
#ifdef SK_GAMMA_APPLY_TO_A8
static sk_sp<GrGeometryProcessor> Make(const sk_sp<GrTextureProxy>* proxies,
- int numProxies,
+ int numActiveProxies,
const GrSamplerState& params, float lum, uint32_t flags,
const SkMatrix& localMatrixIfUsesLocalCoords) {
return sk_sp<GrGeometryProcessor>(new GrDistanceFieldA8TextGeoProc(
- proxies, numProxies, params, lum, flags, localMatrixIfUsesLocalCoords));
+ proxies, numActiveProxies, params, lum, flags, localMatrixIfUsesLocalCoords));
}
#else
static sk_sp<GrGeometryProcessor> Make(const sk_sp<GrTextureProxy>* proxies,
- int numProxies,
+ int numActiveProxies,
const GrSamplerState& params, uint32_t flags,
const SkMatrix& localMatrixIfUsesLocalCoords) {
return sk_sp<GrGeometryProcessor>(new GrDistanceFieldA8TextGeoProc(
- proxies, numProxies, params, flags, localMatrixIfUsesLocalCoords));
+ proxies, numActiveProxies, params, flags, localMatrixIfUsesLocalCoords));
}
#endif
@@ -93,7 +93,7 @@ public:
private:
GrDistanceFieldA8TextGeoProc(const sk_sp<GrTextureProxy>* proxies,
- int numProxies,
+ int numActiveProxies,
const GrSamplerState& params,
#ifdef SK_GAMMA_APPLY_TO_A8
float distanceAdjust,
@@ -129,10 +129,10 @@ public:
/** The local matrix should be identity if local coords are not required by the GrPipeline. */
static sk_sp<GrGeometryProcessor> Make(const SkMatrix& matrix,
const sk_sp<GrTextureProxy>* proxies,
- int numProxies,
+ int numActiveProxies,
const GrSamplerState& params, uint32_t flags) {
return sk_sp<GrGeometryProcessor>(
- new GrDistanceFieldPathGeoProc(matrix, proxies, numProxies, params, flags));
+ new GrDistanceFieldPathGeoProc(matrix, proxies, numActiveProxies, params, flags));
}
~GrDistanceFieldPathGeoProc() override {}
@@ -145,7 +145,7 @@ public:
const SkMatrix& matrix() const { return fMatrix; }
uint32_t getFlags() const { return fFlags; }
- void addNewProxies(const sk_sp<GrTextureProxy>* proxies, int numProxies, const GrSamplerState&);
+ void addNewProxies(const sk_sp<GrTextureProxy>*, int numActiveProxies, const GrSamplerState&);
void getGLSLProcessorKey(const GrShaderCaps& caps, GrProcessorKeyBuilder* b) const override;
@@ -156,7 +156,7 @@ private:
GrDistanceFieldPathGeoProc(const SkMatrix& matrix,
const sk_sp<GrTextureProxy>* proxies,
- int numProxies,
+ int numActiveProxies,
const GrSamplerState&, uint32_t flags);
SkMatrix fMatrix; // view matrix if perspective, local matrix otherwise
@@ -195,13 +195,14 @@ public:
};
static sk_sp<GrGeometryProcessor> Make(const sk_sp<GrTextureProxy>* proxies,
- int numProxies,
+ int numActiveProxies,
const GrSamplerState& params,
DistanceAdjust distanceAdjust,
uint32_t flags,
const SkMatrix& localMatrixIfUsesLocalCoords) {
- return sk_sp<GrGeometryProcessor>(new GrDistanceFieldLCDTextGeoProc(
- proxies, numProxies, params, distanceAdjust, flags, localMatrixIfUsesLocalCoords));
+ return sk_sp<GrGeometryProcessor>(
+ new GrDistanceFieldLCDTextGeoProc(proxies, numActiveProxies, params, distanceAdjust,
+ flags, localMatrixIfUsesLocalCoords));
}
~GrDistanceFieldLCDTextGeoProc() override {}
@@ -215,14 +216,14 @@ public:
uint32_t getFlags() const { return fFlags; }
const SkMatrix& localMatrix() const { return fLocalMatrix; }
- void addNewProxies(const sk_sp<GrTextureProxy>* proxies, int numProxies, const GrSamplerState&);
+ void addNewProxies(const sk_sp<GrTextureProxy>*, int numActiveProxies, const GrSamplerState&);
void getGLSLProcessorKey(const GrShaderCaps& caps, GrProcessorKeyBuilder* b) const override;
GrGLSLPrimitiveProcessor* createGLSLInstance(const GrShaderCaps&) const override;
private:
- GrDistanceFieldLCDTextGeoProc(const sk_sp<GrTextureProxy>* proxies, int numProxies,
+ GrDistanceFieldLCDTextGeoProc(const sk_sp<GrTextureProxy>* proxies, int numActiveProxies,
const GrSamplerState& params, DistanceAdjust wa, uint32_t flags,
const SkMatrix& localMatrix);