summaryrefslogtreecommitdiff
path: root/chromium/ui/surface
diff options
context:
space:
mode:
authorAndras Becsi <andras.becsi@digia.com>2014-03-18 13:16:26 +0100
committerFrederik Gladhorn <frederik.gladhorn@digia.com>2014-03-20 15:55:39 +0100
commit3f0f86b0caed75241fa71c95a5d73bc0164348c5 (patch)
tree92b9fb00f2e9e90b0be2262093876d4f43b6cd13 /chromium/ui/surface
parente90d7c4b152c56919d963987e2503f9909a666d2 (diff)
downloadqtwebengine-chromium-3f0f86b0caed75241fa71c95a5d73bc0164348c5.tar.gz
Update to new stable branch 1750
This also includes an updated ninja and chromium dependencies needed on Windows. Change-Id: Icd597d80ed3fa4425933c9f1334c3c2e31291c42 Reviewed-by: Zoltan Arvai <zarvai@inf.u-szeged.hu> Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
Diffstat (limited to 'chromium/ui/surface')
-rw-r--r--chromium/ui/surface/DEPS6
-rw-r--r--chromium/ui/surface/OWNERS3
-rw-r--r--chromium/ui/surface/accelerated_surface_transformer_win_unittest.cc6
-rw-r--r--chromium/ui/surface/accelerated_surface_win.cc25
-rw-r--r--chromium/ui/surface/surface.gyp4
-rw-r--r--chromium/ui/surface/transport_dib_posix.cc1
6 files changed, 32 insertions, 13 deletions
diff --git a/chromium/ui/surface/DEPS b/chromium/ui/surface/DEPS
index cc5cd701423..f4a3ec8864c 100644
--- a/chromium/ui/surface/DEPS
+++ b/chromium/ui/surface/DEPS
@@ -1,3 +1,9 @@
include_rules = [
"+media/base",
+ "+skia/ext",
+ "+third_party/skia",
+ "+ui/base",
+ "+ui/events/latency_info.h",
+ "+ui/gfx",
+ "+ui/gl",
]
diff --git a/chromium/ui/surface/OWNERS b/chromium/ui/surface/OWNERS
index cffdf259cef..62a309c13fc 100644
--- a/chromium/ui/surface/OWNERS
+++ b/chromium/ui/surface/OWNERS
@@ -1,4 +1,5 @@
+jbauman@chromium.org
kbr@chromium.org
+piman@chromium.org
pinkerton@chromium.org
stuartmorgan@chromium.org
-apatrick@chromium.org
diff --git a/chromium/ui/surface/accelerated_surface_transformer_win_unittest.cc b/chromium/ui/surface/accelerated_surface_transformer_win_unittest.cc
index 607e361ea72..968720fe068 100644
--- a/chromium/ui/surface/accelerated_surface_transformer_win_unittest.cc
+++ b/chromium/ui/surface/accelerated_surface_transformer_win_unittest.cc
@@ -45,8 +45,8 @@ SkBitmap ToSkBitmap(IDirect3DSurface9* surface, bool is_single_channel) {
gfx::Size size = d3d_utils::GetSize(surface);
if (is_single_channel)
size = gfx::Size(size.width() * 4, size.height());
- result.setConfig(SkBitmap::kARGB_8888_Config, size.width(), size.height());
- result.setIsOpaque(true);
+ result.setConfig(SkBitmap::kARGB_8888_Config, size.width(), size.height(),
+ 0, kOpaque_SkAlphaType);
result.allocPixels();
result.lockPixels();
for (int y = 0; y < size.height(); ++y) {
@@ -75,7 +75,7 @@ bool WritePNGFile(const SkBitmap& bitmap, const base::FilePath& file_path) {
if (gfx::PNGCodec::EncodeBGRASkBitmap(bitmap,
discard_transparency,
&png_data) &&
- file_util::CreateDirectory(file_path.DirName())) {
+ base::CreateDirectory(file_path.DirName())) {
char* data = reinterpret_cast<char*>(&png_data[0]);
int size = static_cast<int>(png_data.size());
return file_util::WriteFile(file_path, data, size) == size;
diff --git a/chromium/ui/surface/accelerated_surface_win.cc b/chromium/ui/surface/accelerated_surface_win.cc
index 15d78c00ac3..a8b57c5a450 100644
--- a/chromium/ui/surface/accelerated_surface_win.cc
+++ b/chromium/ui/surface/accelerated_surface_win.cc
@@ -14,6 +14,7 @@
#include "base/debug/trace_event.h"
#include "base/files/file_path.h"
#include "base/lazy_instance.h"
+#include "base/metrics/histogram.h"
#include "base/memory/scoped_ptr.h"
#include "base/message_loop/message_loop_proxy.h"
#include "base/scoped_native_library.h"
@@ -27,6 +28,7 @@
#include "third_party/skia/include/core/SkBitmap.h"
#include "ui/base/win/shell.h"
#include "ui/events/latency_info.h"
+#include "ui/gfx/frame_time.h"
#include "ui/gfx/rect.h"
#include "ui/gfx/win/dpi.h"
#include "ui/gfx/win/hwnd_util.h"
@@ -521,11 +523,10 @@ bool AcceleratedPresenter::DoCopyToARGB(const gfx::Rect& requested_src_subrect,
}
}
- bitmap->setConfig(SkBitmap::kARGB_8888_Config,
- dst_size.width(), dst_size.height());
+ bitmap->setConfig(SkBitmap::kARGB_8888_Config, dst_size.width(),
+ dst_size.height(), 0, kOpaque_SkAlphaType);
if (!bitmap->allocPixels())
return false;
- bitmap->setIsOpaque(true);
// Copy |final_surface| to |bitmap|. This is always a synchronous operation.
return gpu_ops->ReadFast(final_surface,
@@ -846,7 +847,8 @@ void AcceleratedPresenter::DoPresentAndAcknowledge(
ReleaseDC(window_, dc);
}
- latency_info_.swap_timestamp = base::TimeTicks::HighResNow();
+ latency_info_.AddLatencyNumber(
+ ui::INPUT_EVENT_LATENCY_TERMINATED_FRAME_SWAP_COMPONENT, 0, 0);
hidden_ = false;
@@ -864,6 +866,9 @@ void AcceleratedPresenter::DoPresentAndAcknowledge(
return;
}
+ UMA_HISTOGRAM_CUSTOM_COUNTS("GPU.AcceleratedSurfaceRefreshRate",
+ display_mode.RefreshRate, 0, 121, 122);
+
// I can't figure out how to determine how many scanlines are in the
// vertical blank so clamp it such that scanline / height <= 1.
int clamped_scanline = std::min(raster_status.ScanLine, display_mode.Height);
@@ -873,18 +878,22 @@ void AcceleratedPresenter::DoPresentAndAcknowledge(
if (raster_status.InVBlank)
clamped_scanline = display_mode.Height;
- base::TimeTicks current_time = base::TimeTicks::HighResNow();
-
// Figure out approximately how far back in time the last vsync was based on
// the ratio of the raster scanline to the display height.
base::TimeTicks last_vsync_time;
base::TimeDelta refresh_period;
+
if (display_mode.Height) {
+ refresh_period = base::TimeDelta::FromMicroseconds(
+ 1000000 / display_mode.RefreshRate);
+ // If FrameTime is not high resolution, we use a timebase of zero to avoid
+ // introducing jitter into our frame start times.
+ if (gfx::FrameTime::TimestampsAreHighRes()) {
+ base::TimeTicks current_time = gfx::FrameTime::Now();
last_vsync_time = current_time -
base::TimeDelta::FromMilliseconds((clamped_scanline * 1000) /
(display_mode.RefreshRate * display_mode.Height));
- refresh_period = base::TimeDelta::FromMicroseconds(
- 1000000 / display_mode.RefreshRate);
+ }
}
// Wait for the StretchRect to complete before notifying the GPU process
diff --git a/chromium/ui/surface/surface.gyp b/chromium/ui/surface/surface.gyp
index 5887e06c990..57a0d2cc771 100644
--- a/chromium/ui/surface/surface.gyp
+++ b/chromium/ui/surface/surface.gyp
@@ -61,6 +61,8 @@
'<(DEPTH)/base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
'<(DEPTH)/media/media.gyp:media',
'<(DEPTH)/skia/skia.gyp:skia',
+ '<(DEPTH)/ui/events/events.gyp:events_base',
+ '<(DEPTH)/ui/gfx/gfx.gyp:gfx',
'<(DEPTH)/ui/gl/gl.gyp:gl',
'<(DEPTH)/ui/ui.gyp:ui',
],
@@ -100,6 +102,8 @@
'<(DEPTH)/media/media.gyp:media',
'<(DEPTH)/skia/skia.gyp:skia',
'<(DEPTH)/testing/gtest.gyp:gtest',
+ '<(DEPTH)/ui/events/events.gyp:events_base',
+ '<(DEPTH)/ui/gfx/gfx.gyp:gfx',
'<(DEPTH)/ui/ui.gyp:ui',
'surface',
],
diff --git a/chromium/ui/surface/transport_dib_posix.cc b/chromium/ui/surface/transport_dib_posix.cc
index cd9ac6266e5..28095f2c940 100644
--- a/chromium/ui/surface/transport_dib_posix.cc
+++ b/chromium/ui/surface/transport_dib_posix.cc
@@ -13,7 +13,6 @@
#include "base/logging.h"
#include "base/memory/scoped_ptr.h"
#include "base/memory/shared_memory.h"
-#include "base/posix/eintr_wrapper.h"
#include "skia/ext/platform_canvas.h"
TransportDIB::TransportDIB()