| Index: cc/resources/resource_provider.h
|
| diff --git a/cc/resources/resource_provider.h b/cc/resources/resource_provider.h
|
| index 8e9bc114747e1b0c76d1d89b5fa0e8b48cb647c4..f7732d755d92f8f911f14e147ef2cd978fec1f2b 100644
|
| --- a/cc/resources/resource_provider.h
|
| +++ b/cc/resources/resource_provider.h
|
| @@ -96,6 +96,7 @@ class CC_EXPORT ResourceProvider
|
| size_t id_allocation_chunk_size,
|
| bool delegated_sync_points_required,
|
| bool use_gpu_memory_buffer_resources,
|
| + bool enable_color_correct_rendering,
|
| const BufferToTextureTargetMap& buffer_to_texture_target_map);
|
| ~ResourceProvider() override;
|
|
|
| @@ -275,6 +276,7 @@ class CC_EXPORT ResourceProvider
|
| GLenum target() const { return target_; }
|
| ResourceFormat format() const { return format_; }
|
| const gfx::Size& size() const { return size_; }
|
| + sk_sp<SkColorSpace> sk_color_space() const { return sk_color_space_; }
|
|
|
| const TextureMailbox& mailbox() const { return mailbox_; }
|
|
|
| @@ -295,6 +297,7 @@ class CC_EXPORT ResourceProvider
|
| gpu::SyncToken sync_token_;
|
| bool synchronized_;
|
| base::ThreadChecker thread_checker_;
|
| + sk_sp<SkColorSpace> sk_color_space_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(ScopedWriteLockGL);
|
| };
|
| @@ -382,11 +385,13 @@ class CC_EXPORT ResourceProvider
|
|
|
| SkBitmap& sk_bitmap() { return sk_bitmap_; }
|
| bool valid() const { return !!sk_bitmap_.getPixels(); }
|
| + sk_sp<SkColorSpace> sk_color_space() const { return sk_color_space_; }
|
|
|
| private:
|
| ResourceProvider* resource_provider_;
|
| ResourceId resource_id_;
|
| SkBitmap sk_bitmap_;
|
| + sk_sp<SkColorSpace> sk_color_space_;
|
| base::ThreadChecker thread_checker_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(ScopedWriteLockSoftware);
|
| @@ -397,8 +402,8 @@ class CC_EXPORT ResourceProvider
|
| ScopedWriteLockGpuMemoryBuffer(ResourceProvider* resource_provider,
|
| ResourceId resource_id);
|
| ~ScopedWriteLockGpuMemoryBuffer();
|
| -
|
| gfx::GpuMemoryBuffer* GetGpuMemoryBuffer();
|
| + sk_sp<SkColorSpace> sk_color_space() const { return sk_color_space_; }
|
|
|
| private:
|
| ResourceProvider* resource_provider_;
|
| @@ -407,6 +412,7 @@ class CC_EXPORT ResourceProvider
|
| gfx::BufferUsage usage_;
|
| gfx::Size size_;
|
| std::unique_ptr<gfx::GpuMemoryBuffer> gpu_memory_buffer_;
|
| + sk_sp<SkColorSpace> sk_color_space_;
|
| base::ThreadChecker thread_checker_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(ScopedWriteLockGpuMemoryBuffer);
|
| @@ -635,8 +641,8 @@ class CC_EXPORT ResourceProvider
|
| Resource* LockForWrite(ResourceId id);
|
| void UnlockForWrite(Resource* resource);
|
|
|
| - static void PopulateSkBitmapWithResource(SkBitmap* sk_bitmap,
|
| - const Resource* resource);
|
| + void PopulateSkBitmapWithResource(SkBitmap* sk_bitmap,
|
| + const Resource* resource);
|
|
|
| void CreateMailboxAndBindResource(gpu::gles2::GLES2Interface* gl,
|
| Resource* resource);
|
| @@ -667,6 +673,9 @@ class CC_EXPORT ResourceProvider
|
| gpu::gles2::GLES2Interface* ContextGL() const;
|
| bool IsGLContextLost() const;
|
|
|
| + // Returns null if |enable_color_correct_rendering_| is false.
|
| + sk_sp<SkColorSpace> GetResourceSkColorSpace(const Resource* resource) const;
|
| +
|
| ContextProvider* compositor_context_provider_;
|
| SharedBitmapManager* shared_bitmap_manager_;
|
| gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager_;
|
| @@ -690,6 +699,7 @@ class CC_EXPORT ResourceProvider
|
| int max_texture_size_;
|
| ResourceFormat best_texture_format_;
|
| ResourceFormat best_render_buffer_format_;
|
| + const bool enable_color_correct_rendering_ = false;
|
|
|
| base::ThreadChecker thread_checker_;
|
|
|
|
|