diff options
author | Robert Phillips <robertphillips@google.com> | 2017-10-20 17:26:51 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-10-20 22:03:35 +0000 |
commit | b350f1c075a35915f30a69300d263aeb1a9ed4f0 (patch) | |
tree | 77de8187e924f4e45350c0eba2bbaefeec2ad269 | |
parent | 2b2936e75c79c61ff04082f5ae7a9738c439caac (diff) |
Be considerate of GPUs lacking npot support when testing GrSimpleTextureEffect
Change-Id: I3b03c621d78971e1ed62b61d0466a6ac8132be79
Reviewed-on: https://skia-review.googlesource.com/62465
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
-rw-r--r-- | src/gpu/effects/GrSimpleTextureEffect.cpp | 7 | ||||
-rw-r--r-- | src/gpu/effects/GrSimpleTextureEffect.fp | 7 |
2 files changed, 14 insertions, 0 deletions
diff --git a/src/gpu/effects/GrSimpleTextureEffect.cpp b/src/gpu/effects/GrSimpleTextureEffect.cpp index c0dec230f7..d1438df4e9 100644 --- a/src/gpu/effects/GrSimpleTextureEffect.cpp +++ b/src/gpu/effects/GrSimpleTextureEffect.cpp @@ -70,6 +70,13 @@ std::unique_ptr<GrFragmentProcessor> GrSimpleTextureEffect::TestCreate( : GrProcessorUnitTest::kAlphaTextureIdx; GrSamplerState::WrapMode wrapModes[2]; GrTest::TestWrapModes(testData->fRandom, wrapModes); + if (!testData->caps()->npotTextureTileSupport()) { + // Performing repeat sampling on npot textures will cause asserts on HW + // that lacks support. + wrapModes[0] = GrSamplerState::WrapMode::kClamp; + wrapModes[1] = GrSamplerState::WrapMode::kClamp; + } + GrSamplerState params(wrapModes, testData->fRandom->nextBool() ? GrSamplerState::Filter::kBilerp : GrSamplerState::Filter::kNearest); diff --git a/src/gpu/effects/GrSimpleTextureEffect.fp b/src/gpu/effects/GrSimpleTextureEffect.fp index b5bc49fb97..18ce3a9387 100644 --- a/src/gpu/effects/GrSimpleTextureEffect.fp +++ b/src/gpu/effects/GrSimpleTextureEffect.fp @@ -60,6 +60,13 @@ void main() { : GrProcessorUnitTest::kAlphaTextureIdx; GrSamplerState::WrapMode wrapModes[2]; GrTest::TestWrapModes(testData->fRandom, wrapModes); + if (!testData->caps()->npotTextureTileSupport()) { + // Performing repeat sampling on npot textures will cause asserts on HW + // that lacks support. + wrapModes[0] = GrSamplerState::WrapMode::kClamp; + wrapModes[1] = GrSamplerState::WrapMode::kClamp; + } + GrSamplerState params(wrapModes, testData->fRandom->nextBool() ? GrSamplerState::Filter::kBilerp : GrSamplerState::Filter::kNearest); |