diff options
author | skaslev@chromium.org <skaslev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-06-08 04:38:51 +0000 |
---|---|---|
committer | skaslev@chromium.org <skaslev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-06-08 04:38:51 +0000 |
commit | 42f40a546f90a81727c05aea44ce299d97d7507b (patch) | |
tree | 3004f86f245e15cea8606868cdbdac2d0d1b0ac0 /cc/output | |
parent | 165e50b4b57c105da46d662273f1ce4a164b195d (diff) | |
download | chromium_src-42f40a546f90a81727c05aea44ce299d97d7507b.zip chromium_src-42f40a546f90a81727c05aea44ce299d97d7507b.tar.gz chromium_src-42f40a546f90a81727c05aea44ce299d97d7507b.tar.bz2 |
[Aura] Added Support for rendering software compositor frames as cc::TextureLayers through cc::TextureMailbox.
BUG=161008
R=piman
TBR=jschuh,ben
Review URL: https://chromiumcodereview.appspot.com/15001027
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@205010 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/output')
-rw-r--r-- | cc/output/compositor_frame_ack.cc | 3 | ||||
-rw-r--r-- | cc/output/compositor_frame_ack.h | 3 | ||||
-rw-r--r-- | cc/output/software_frame_data.cc | 4 | ||||
-rw-r--r-- | cc/output/software_frame_data.h | 6 | ||||
-rw-r--r-- | cc/output/software_output_device.cc | 5 | ||||
-rw-r--r-- | cc/output/software_output_device.h | 4 | ||||
-rw-r--r-- | cc/output/software_renderer.cc | 2 |
7 files changed, 15 insertions, 12 deletions
diff --git a/cc/output/compositor_frame_ack.cc b/cc/output/compositor_frame_ack.cc index a411b42..feb0bac 100644 --- a/cc/output/compositor_frame_ack.cc +++ b/cc/output/compositor_frame_ack.cc @@ -6,7 +6,8 @@ namespace cc { -CompositorFrameAck::CompositorFrameAck() {} +CompositorFrameAck::CompositorFrameAck() + : last_software_frame_id(0) {} CompositorFrameAck::~CompositorFrameAck() {} diff --git a/cc/output/compositor_frame_ack.h b/cc/output/compositor_frame_ack.h index 5b4bb50..276ecf0 100644 --- a/cc/output/compositor_frame_ack.h +++ b/cc/output/compositor_frame_ack.h @@ -9,7 +9,6 @@ #include "cc/base/cc_export.h" #include "cc/output/gl_frame_data.h" #include "cc/resources/transferable_resource.h" -#include "ui/surface/transport_dib.h" namespace cc { @@ -20,7 +19,7 @@ class CC_EXPORT CompositorFrameAck { TransferableResourceArray resources; scoped_ptr<GLFrameData> gl_frame_data; - TransportDIB::Id last_dib_id; + unsigned last_software_frame_id; private: DISALLOW_COPY_AND_ASSIGN(CompositorFrameAck); diff --git a/cc/output/software_frame_data.cc b/cc/output/software_frame_data.cc index 20da28e..0b43032 100644 --- a/cc/output/software_frame_data.cc +++ b/cc/output/software_frame_data.cc @@ -6,7 +6,9 @@ namespace cc { -SoftwareFrameData::SoftwareFrameData() {} +SoftwareFrameData::SoftwareFrameData() + : id(0), + handle(base::SharedMemory::NULLHandle()) {} SoftwareFrameData::~SoftwareFrameData() {} diff --git a/cc/output/software_frame_data.h b/cc/output/software_frame_data.h index c1e3dd7..b7fb44a 100644 --- a/cc/output/software_frame_data.h +++ b/cc/output/software_frame_data.h @@ -5,10 +5,9 @@ #ifndef CC_OUTPUT_SOFTWARE_FRAME_DATA_H_ #define CC_OUTPUT_SOFTWARE_FRAME_DATA_H_ -#include "base/basictypes.h" +#include "base/memory/shared_memory.h" #include "cc/base/cc_export.h" #include "ui/gfx/rect.h" -#include "ui/surface/transport_dib.h" namespace cc { @@ -17,9 +16,10 @@ class CC_EXPORT SoftwareFrameData { SoftwareFrameData(); ~SoftwareFrameData(); + unsigned id; gfx::Size size; gfx::Rect damage_rect; - TransportDIB::Id dib_id; + base::SharedMemoryHandle handle; }; } // namespace cc diff --git a/cc/output/software_output_device.cc b/cc/output/software_output_device.cc index 719eeed..30817e0 100644 --- a/cc/output/software_output_device.cc +++ b/cc/output/software_output_device.cc @@ -35,9 +35,10 @@ SkCanvas* SoftwareOutputDevice::BeginPaint(gfx::Rect damage_rect) { void SoftwareOutputDevice::EndPaint(SoftwareFrameData* frame_data) { DCHECK(device_); if (frame_data) { + frame_data->id = 0; frame_data->size = viewport_size_; frame_data->damage_rect = damage_rect_; - frame_data->dib_id = TransportDIB::Id(); + frame_data->handle = base::SharedMemory::NULLHandle(); } } @@ -53,7 +54,7 @@ void SoftwareOutputDevice::Scroll( NOTIMPLEMENTED(); } -void SoftwareOutputDevice::ReclaimDIB(const TransportDIB::Id& id) { +void SoftwareOutputDevice::ReclaimSoftwareFrame(unsigned id) { NOTIMPLEMENTED(); } diff --git a/cc/output/software_output_device.h b/cc/output/software_output_device.h index 9899629..fbada74 100644 --- a/cc/output/software_output_device.h +++ b/cc/output/software_output_device.h @@ -11,7 +11,6 @@ #include "ui/gfx/rect.h" #include "ui/gfx/size.h" #include "ui/gfx/vector2d.h" -#include "ui/surface/transport_dib.h" class SkBitmap; class SkDevice; @@ -39,7 +38,7 @@ class CC_EXPORT SoftwareOutputDevice { gfx::Rect clip_rect); // TODO(skaslev) Remove this after UberCompositor lands. - virtual void ReclaimDIB(const TransportDIB::Id& id); + virtual void ReclaimSoftwareFrame(unsigned id); protected: gfx::Size viewport_size_; @@ -47,6 +46,7 @@ class CC_EXPORT SoftwareOutputDevice { skia::RefPtr<SkDevice> device_; skia::RefPtr<SkCanvas> canvas_; + private: DISALLOW_COPY_AND_ASSIGN(SoftwareOutputDevice); }; diff --git a/cc/output/software_renderer.cc b/cc/output/software_renderer.cc index c53e0c7..9884666 100644 --- a/cc/output/software_renderer.cc +++ b/cc/output/software_renderer.cc @@ -113,7 +113,7 @@ void SoftwareRenderer::SwapBuffers(const ui::LatencyInfo& latency_info) { void SoftwareRenderer::ReceiveCompositorFrameAck( const CompositorFrameAck& ack) { - output_device_->ReclaimDIB(ack.last_dib_id); + output_device_->ReclaimSoftwareFrame(ack.last_software_frame_id); } bool SoftwareRenderer::FlippedFramebuffer() const { |