Fix assumption that enabled stage implies texture is present
Review URL: http://codereview.appspot.com/6353087/
git-svn-id: http://skia.googlecode.com/svn/trunk@4532 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/gpu/GrDrawTarget.cpp b/src/gpu/GrDrawTarget.cpp
index 60095ab..bd922fe 100644
--- a/src/gpu/GrDrawTarget.cpp
+++ b/src/gpu/GrDrawTarget.cpp
@@ -716,8 +716,7 @@
maxValidVertex = geoSrc.fVertexCount;
break;
case kBuffer_GeometrySrcType:
- maxValidVertex = geoSrc.fVertexBuffer->sizeInBytes() /
- VertexSize(geoSrc.fVertexLayout);
+ maxValidVertex = geoSrc.fVertexBuffer->sizeInBytes() / VertexSize(geoSrc.fVertexLayout);
break;
}
if (maxVertex > maxValidVertex) {
@@ -761,16 +760,14 @@
}
}
for (int s = 0; s < GrDrawState::kNumStages; ++s) {
- // We don't support using unpremultiplied textures with filters (other
- // than nearest). Alpha-premulling is not distributive WRT to filtering.
- // We'd have to filter each texel before filtering. We could do this for
- // our custom filters but we would also have to disable bilerp and do
- // a custom bilerp in the shader. Until Skia itself supports unpremul
- // configs there is no pressure to implement this.
- if (this->isStageEnabled(s) &&
+ // We don't support using unpremultiplied textures with filters (other than nearest). Alpha-
+ // premulling is not distributive WRT to filtering. We'd have to filter each texel before
+ // filtering. We could do this for our custom filters but we would also have to disable
+ // bilerp and do a custom bilerp in the shader. Until Skia itself supports unpremul configs
+ // there is no pressure to implement this.
+ if (drawState.getTexture(s) &&
GrPixelConfigIsUnpremultiplied(drawState.getTexture(s)->config()) &&
- GrSamplerState::kNearest_Filter !=
- drawState.getSampler(s).getFilter()) {
+ GrSamplerState::kNearest_Filter != drawState.getSampler(s).getFilter()) {
return false;
}
}