Chromium Code Reviews| Index: cc/resources/resource_provider.h |
| diff --git a/cc/resources/resource_provider.h b/cc/resources/resource_provider.h |
| index 8e9bc114747e1b0c76d1d89b5fa0e8b48cb647c4..4e294341c0799ac7d51978d3f63fe08298701370 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,10 @@ class CC_EXPORT ResourceProvider |
| gpu::gles2::GLES2Interface* ContextGL() const; |
| bool IsGLContextLost() const; |
| + // Returns null if |enable_color_correct_rendering_| is false. |
|
enne (OOO)
2016/09/12 22:53:32
Bikeshedding on readability, but I expect ColorSpa
|
| + sk_sp<SkColorSpace> ColorSpaceToSkColorSpace( |
| + const gfx::ColorSpace& color_space); |
| + |
| ContextProvider* compositor_context_provider_; |
| SharedBitmapManager* shared_bitmap_manager_; |
| gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager_; |
| @@ -690,6 +700,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_; |