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

Unified Diff: gpu/ipc/client/gpu_memory_buffer_impl_io_surface.cc

Issue 2119723002: Color: Add SetColorSpace member to gfx::GpuMemoryBuffer (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@plumb_2
Patch Set: Add OWNERs Created 4 years, 6 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
Index: gpu/ipc/client/gpu_memory_buffer_impl_io_surface.cc
diff --git a/gpu/ipc/client/gpu_memory_buffer_impl_io_surface.cc b/gpu/ipc/client/gpu_memory_buffer_impl_io_surface.cc
index 438cc04a16adefe3ab9b827fe7a78f8ca2480d7d..f77895c0e03308fc245c4c814db6c891d743e9eb 100644
--- a/gpu/ipc/client/gpu_memory_buffer_impl_io_surface.cc
+++ b/gpu/ipc/client/gpu_memory_buffer_impl_io_surface.cc
@@ -8,6 +8,7 @@
#include "base/memory/ptr_util.h"
#include "gpu/ipc/common/gpu_memory_buffer_support.h"
#include "ui/gfx/buffer_format_util.h"
+#include "ui/gfx/color_space.h"
#include "ui/gfx/mac/io_surface.h"
namespace gpu {
@@ -109,6 +110,18 @@ int GpuMemoryBufferImplIOSurface::stride(size_t plane) const {
return IOSurfaceGetBytesPerRowOfPlane(io_surface_, plane);
}
+void GpuMemoryBufferImplIOSurface::SetColorSpaceForScanout(
+ const gfx::ColorSpace& color_space) {
+ const std::vector<char>& icc_profile = color_space.GetICCProfile();
+ if (icc_profile.size()) {
+ base::ScopedCFTypeRef<CFDataRef> cf_data_icc_profile(CFDataCreate(
+ nullptr, reinterpret_cast<const UInt8*>(icc_profile.data()),
+ icc_profile.size()));
+ IOSurfaceSetValue(io_surface_, CFSTR("IOSurfaceColorSpace"),
+ cf_data_icc_profile);
+ }
+}
+
gfx::GpuMemoryBufferHandle GpuMemoryBufferImplIOSurface::GetHandle() const {
gfx::GpuMemoryBufferHandle handle;
handle.type = gfx::IO_SURFACE_BUFFER;

Powered by Google App Engine
This is Rietveld 408576698