diff options
author | Andras Becsi <andras.becsi@digia.com> | 2014-03-18 13:16:26 +0100 |
---|---|---|
committer | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2014-03-20 15:55:39 +0100 |
commit | 3f0f86b0caed75241fa71c95a5d73bc0164348c5 (patch) | |
tree | 92b9fb00f2e9e90b0be2262093876d4f43b6cd13 /chromium/ui/surface | |
parent | e90d7c4b152c56919d963987e2503f9909a666d2 (diff) | |
download | qtwebengine-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/DEPS | 6 | ||||
-rw-r--r-- | chromium/ui/surface/OWNERS | 3 | ||||
-rw-r--r-- | chromium/ui/surface/accelerated_surface_transformer_win_unittest.cc | 6 | ||||
-rw-r--r-- | chromium/ui/surface/accelerated_surface_win.cc | 25 | ||||
-rw-r--r-- | chromium/ui/surface/surface.gyp | 4 | ||||
-rw-r--r-- | chromium/ui/surface/transport_dib_posix.cc | 1 |
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() |