aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Brian Osman <brianosman@google.com>2017-01-11 16:58:42 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-01-12 14:31:31 +0000
commit0c2997b6d85e381e63e3af98245a87bf04753681 (patch)
tree2b476059185efd3b32377397c5ab3c280e5e2ac7
parentd0be1ef36c64c2a420cbd82f4c033704d4c54a07 (diff)
Remove second version of SkImageInfo2GrPixelConfig
Alpha type is not (and never will be) part of pixel config, so the logic around that was unnecessary. (Also, we already sanitize color type and alpha type before making a new device at a higher level). With that out of the way, we can easily supply a full info at the two call-sites that were using the other version. BUG=skia: Change-Id: Iceccdbdebd1062d3e5023620755aabcc86604d2f Reviewed-on: https://skia-review.googlesource.com/6920 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
-rw-r--r--include/gpu/SkGr.h7
-rw-r--r--src/gpu/SkGpuDevice.cpp15
-rw-r--r--src/gpu/SkGr.cpp8
-rw-r--r--tests/ReadPixelsTest.cpp5
4 files changed, 7 insertions, 28 deletions
diff --git a/include/gpu/SkGr.h b/include/gpu/SkGr.h
index e59720e82d..e2f09e5ac2 100644
--- a/include/gpu/SkGr.h
+++ b/include/gpu/SkGr.h
@@ -84,12 +84,7 @@ GrTexture* GrRefCachedBitmapTexture(GrContext*, const SkBitmap&, const GrSampler
sk_sp<GrTexture> GrMakeCachedBitmapTexture(GrContext*, const SkBitmap&, const GrSamplerParams&);
// TODO: Move SkImageInfo2GrPixelConfig to SkGrPriv.h (requires cleanup to SkWindow its subclasses).
-GrPixelConfig SkImageInfo2GrPixelConfig(SkColorType, SkAlphaType, const SkColorSpace*,
- const GrCaps&);
-
-static inline GrPixelConfig SkImageInfo2GrPixelConfig(const SkImageInfo& info, const GrCaps& caps) {
- return SkImageInfo2GrPixelConfig(info.colorType(), info.alphaType(), info.colorSpace(), caps);
-}
+GrPixelConfig SkImageInfo2GrPixelConfig(const SkImageInfo& info, const GrCaps& caps);
GrSamplerParams::FilterMode GrSkFilterQualityToGrFilterMode(SkFilterQuality paintFilterQuality,
const SkMatrix& viewM,
diff --git a/src/gpu/SkGpuDevice.cpp b/src/gpu/SkGpuDevice.cpp
index 3e94d32956..845b22c3cc 100644
--- a/src/gpu/SkGpuDevice.cpp
+++ b/src/gpu/SkGpuDevice.cpp
@@ -163,21 +163,10 @@ sk_sp<GrRenderTargetContext> SkGpuDevice::MakeRenderTargetContext(
return nullptr;
}
- SkColorType ct = origInfo.colorType();
- SkAlphaType at = origInfo.alphaType();
- SkColorSpace* cs = origInfo.colorSpace();
- if (kRGB_565_SkColorType == ct || kGray_8_SkColorType == ct) {
- at = kOpaque_SkAlphaType; // force this setting
- }
- if (kOpaque_SkAlphaType != at) {
- at = kPremul_SkAlphaType; // force this setting
- }
-
- GrPixelConfig config = SkImageInfo2GrPixelConfig(ct, at, cs, *context->caps());
-
+ GrPixelConfig config = SkImageInfo2GrPixelConfig(origInfo, *context->caps());
return context->makeRenderTargetContext(SkBackingFit::kExact, // Why exact?
origInfo.width(), origInfo.height(),
- config, sk_ref_sp(cs), sampleCount,
+ config, sk_ref_sp(origInfo.colorSpace()), sampleCount,
origin, surfaceProps, budgeted);
}
diff --git a/src/gpu/SkGr.cpp b/src/gpu/SkGr.cpp
index 6837a3d56c..5c937d40e8 100644
--- a/src/gpu/SkGr.cpp
+++ b/src/gpu/SkGr.cpp
@@ -378,13 +378,11 @@ GrColor4f SkColorToUnpremulGrColor4f(SkColor c, bool gammaCorrect, GrColorSpaceX
///////////////////////////////////////////////////////////////////////////////
-// alphatype is ignore for now, but if GrPixelConfig is expanded to encompass
-// alpha info, that will be considered.
-GrPixelConfig SkImageInfo2GrPixelConfig(SkColorType ct, SkAlphaType, const SkColorSpace* cs,
- const GrCaps& caps) {
+GrPixelConfig SkImageInfo2GrPixelConfig(const SkImageInfo& info, const GrCaps& caps) {
// We intentionally ignore profile type for non-8888 formats. Anything we can't support
// in hardware will be expanded to sRGB 8888 in GrUploadPixmapToTexture.
- switch (ct) {
+ SkColorSpace* cs = info.colorSpace();
+ switch (info.colorType()) {
case kUnknown_SkColorType:
return kUnknown_GrPixelConfig;
case kAlpha_8_SkColorType:
diff --git a/tests/ReadPixelsTest.cpp b/tests/ReadPixelsTest.cpp
index 71cd8f5fc9..ee762d19a2 100644
--- a/tests/ReadPixelsTest.cpp
+++ b/tests/ReadPixelsTest.cpp
@@ -449,10 +449,7 @@ static void test_readpixels_texture(skiatest::Reporter* reporter, GrTexture* tex
if (startsWithPixels) {
fill_dst_bmp_with_init_data(&bmp);
GrPixelConfig dstConfig =
- SkImageInfo2GrPixelConfig(gReadPixelsConfigs[c].fColorType,
- gReadPixelsConfigs[c].fAlphaType,
- nullptr,
- *texture->getContext()->caps());
+ SkImageInfo2GrPixelConfig(bmp.info(), *texture->getContext()->caps());
uint32_t flags = 0;
if (gReadPixelsConfigs[c].fAlphaType == kUnpremul_SkAlphaType) {
flags = GrContext::kUnpremul_PixelOpsFlag;