summaryrefslogtreecommitdiffstats
path: root/cc/output
diff options
context:
space:
mode:
authorskaslev@chromium.org <skaslev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-06-08 04:38:51 +0000
committerskaslev@chromium.org <skaslev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-06-08 04:38:51 +0000
commit42f40a546f90a81727c05aea44ce299d97d7507b (patch)
tree3004f86f245e15cea8606868cdbdac2d0d1b0ac0 /cc/output
parent165e50b4b57c105da46d662273f1ce4a164b195d (diff)
downloadchromium_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.cc3
-rw-r--r--cc/output/compositor_frame_ack.h3
-rw-r--r--cc/output/software_frame_data.cc4
-rw-r--r--cc/output/software_frame_data.h6
-rw-r--r--cc/output/software_output_device.cc5
-rw-r--r--cc/output/software_output_device.h4
-rw-r--r--cc/output/software_renderer.cc2
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 {