summaryrefslogtreecommitdiff
path: root/chromium/gpu/ipc
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2016-08-25 10:44:03 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2016-08-25 09:40:07 +0000
commite20ba3c57b50674f625b5088faa0fe9a076c0617 (patch)
tree3006142b83866a52a56d34ade8446d5044647305 /chromium/gpu/ipc
parent28b1110370900897ab652cb420c371fab8857ad4 (diff)
downloadqtwebengine-chromium-e20ba3c57b50674f625b5088faa0fe9a076c0617.tar.gz
BASELINE: Update Chromium to 53.0.2785.80
Also adds 3rdparty libraries under pdfium. Change-Id: I29afb23f1642fa55765d056697d5d145afa22bb2 Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
Diffstat (limited to 'chromium/gpu/ipc')
-rw-r--r--chromium/gpu/ipc/client/command_buffer_proxy_impl.cc9
-rw-r--r--chromium/gpu/ipc/client/gpu_channel_host.cc5
-rw-r--r--chromium/gpu/ipc/client/gpu_channel_host.h4
3 files changed, 14 insertions, 4 deletions
diff --git a/chromium/gpu/ipc/client/command_buffer_proxy_impl.cc b/chromium/gpu/ipc/client/command_buffer_proxy_impl.cc
index 9c1ec56129b..1af72b0be31 100644
--- a/chromium/gpu/ipc/client/command_buffer_proxy_impl.cc
+++ b/chromium/gpu/ipc/client/command_buffer_proxy_impl.cc
@@ -262,9 +262,11 @@ void CommandBufferProxyImpl::Flush(int32_t put_offset) {
last_barrier_put_offset_ = put_offset;
if (channel_) {
+ uint32_t highest_verified_flush_id;
const uint32_t flush_id = channel_->OrderingBarrier(
route_id_, stream_id_, put_offset, ++flush_count_, latency_info_,
- put_offset_changed, true);
+ put_offset_changed, true, &highest_verified_flush_id);
+ UpdateVerifiedReleases(highest_verified_flush_id);
if (put_offset_changed) {
DCHECK(flush_id);
const uint64_t fence_sync_release = next_fence_sync_release_ - 1;
@@ -292,9 +294,12 @@ void CommandBufferProxyImpl::OrderingBarrier(int32_t put_offset) {
last_barrier_put_offset_ = put_offset;
if (channel_) {
+ uint32_t highest_verified_flush_id;
const uint32_t flush_id = channel_->OrderingBarrier(
route_id_, stream_id_, put_offset, ++flush_count_, latency_info_,
- put_offset_changed, false);
+ put_offset_changed, false, &highest_verified_flush_id);
+ UpdateVerifiedReleases(highest_verified_flush_id);
+
if (put_offset_changed) {
DCHECK(flush_id);
const uint64_t fence_sync_release = next_fence_sync_release_ - 1;
diff --git a/chromium/gpu/ipc/client/gpu_channel_host.cc b/chromium/gpu/ipc/client/gpu_channel_host.cc
index 91a881e4421..ae6b8ea33c6 100644
--- a/chromium/gpu/ipc/client/gpu_channel_host.cc
+++ b/chromium/gpu/ipc/client/gpu_channel_host.cc
@@ -135,12 +135,15 @@ uint32_t GpuChannelHost::OrderingBarrier(
uint32_t flush_count,
const std::vector<ui::LatencyInfo>& latency_info,
bool put_offset_changed,
- bool do_flush) {
+ bool do_flush,
+ uint32_t* highest_verified_flush_id) {
AutoLock lock(context_lock_);
StreamFlushInfo& flush_info = stream_flush_info_[stream_id];
if (flush_info.flush_pending && flush_info.route_id != route_id)
InternalFlush(&flush_info);
+ *highest_verified_flush_id = flush_info.verified_stream_flush_id;
+
if (put_offset_changed) {
const uint32_t flush_id = flush_info.next_stream_flush_id++;
flush_info.flush_pending = true;
diff --git a/chromium/gpu/ipc/client/gpu_channel_host.h b/chromium/gpu/ipc/client/gpu_channel_host.h
index 94fb98d71d6..247354b1709 100644
--- a/chromium/gpu/ipc/client/gpu_channel_host.h
+++ b/chromium/gpu/ipc/client/gpu_channel_host.h
@@ -87,13 +87,15 @@ class GPU_EXPORT GpuChannelHost
// Set an ordering barrier. AsyncFlushes any pending barriers on other
// routes. Combines multiple OrderingBarriers into a single AsyncFlush.
// Returns the flush ID for the stream or 0 if put offset was not changed.
+ // Outputs *highest_verified_flush_id.
uint32_t OrderingBarrier(int32_t route_id,
int32_t stream_id,
int32_t put_offset,
uint32_t flush_count,
const std::vector<ui::LatencyInfo>& latency_info,
bool put_offset_changed,
- bool do_flush);
+ bool do_flush,
+ uint32_t* highest_verified_flush_id);
void FlushPendingStream(int32_t stream_id);