Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(423)

Unified Diff: cc/resources/resource_provider.h

Issue 2332143002: cc: Populate SkColorSpace for raster from resource gfx::ColorSpace (Closed)
Patch Set: Review feedback Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/raster/zero_copy_raster_buffer_provider.cc ('k') | cc/resources/resource_provider.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_;
« no previous file with comments | « cc/raster/zero_copy_raster_buffer_provider.cc ('k') | cc/resources/resource_provider.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698