aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkBitmapProvider.h
diff options
context:
space:
mode:
authorGravatar Brian Osman <brianosman@google.com>2018-06-01 12:25:08 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-06-01 17:00:26 +0000
commit2b23c4bf3186bf3fa71bb105afdcf3b8e5995b52 (patch)
tree5bd5b115bb5d133682ba6c44e1b3422086e90a6b /src/core/SkBitmapProvider.h
parent7abeb28342078af39b19a1448d6147c7258f5203 (diff)
Dest color space no longer impacts mipmaps or texture sampling
PS5: Removes SkDestinationSurfaceColorMode, tracking of mipmap mode on GrTexture, sRGB decode state per-texture. Because we were often choosing sRGB configs for RGB color types, legacy rendering would then be incorrect (too dark). So... PS7: Stops ever using sRGB pixel configs when translating image info or color type. Also removes a bunch of GrCaps bits and a GrContextOption that are no longer relevant. PS9: Adjusts surface creation unit test expectations, and changes the raster rules accordingly. At this point, sRGB configs are (obviously) going to be broken. Locally, I ran 8888, gl, and the gbr- versions of both. Across all GMs x configs, there are 13 diffs. 12 are GMs that create surfaces with a color-space attached (and thus, the offscreen is no longer getting sRGB pixel config). The only remainder constructs an SkPictureImageGenerator, (with an attached color space) and renders it to the gbr-gl canvas, which triggers a a tagged surface inside the generator. Bug: skia: Change-Id: Ie5edfa157dd799f3121e8173fc4f97f6c8ed6789 Reviewed-on: https://skia-review.googlesource.com/131282 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Mike Klein <mtklein@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'src/core/SkBitmapProvider.h')
-rw-r--r--src/core/SkBitmapProvider.h12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/core/SkBitmapProvider.h b/src/core/SkBitmapProvider.h
index f4904d4aa4..186f155ee6 100644
--- a/src/core/SkBitmapProvider.h
+++ b/src/core/SkBitmapProvider.h
@@ -13,20 +13,17 @@
class SkBitmapProvider {
public:
- explicit SkBitmapProvider(const SkImage* img, SkColorSpace* dstColorSpace)
- : fImage(img)
- , fDstColorSpace(dstColorSpace) {
+ explicit SkBitmapProvider(const SkImage* img)
+ : fImage(img) {
SkASSERT(img);
}
SkBitmapProvider(const SkBitmapProvider& other)
: fImage(other.fImage)
- , fDstColorSpace(other.fDstColorSpace)
{}
int width() const;
int height() const;
uint32_t getID() const;
- SkColorSpace* dstColorSpace() const { return fDstColorSpace; }
SkImageInfo info() const;
bool isVolatile() const;
@@ -44,10 +41,9 @@ private:
void* operator new(size_t) = delete;
void* operator new(size_t, void*) = delete;
- // SkBitmapProvider is always short-lived/stack allocated, and the source image and destination
- // color space are guaranteed to outlive its scope => we can store raw ptrs to avoid ref churn.
+ // SkBitmapProvider is always short-lived/stack allocated, and the source image is guaranteed
+ // to outlive its scope => we can store a raw ptr to avoid ref churn.
const SkImage* fImage;
- SkColorSpace* fDstColorSpace;
};
#endif