diff options
author | Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> | 2016-08-25 10:44:03 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2016-08-25 09:40:07 +0000 |
commit | e20ba3c57b50674f625b5088faa0fe9a076c0617 (patch) | |
tree | 3006142b83866a52a56d34ade8446d5044647305 /chromium/gpu/ipc | |
parent | 28b1110370900897ab652cb420c371fab8857ad4 (diff) | |
download | qtwebengine-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.cc | 9 | ||||
-rw-r--r-- | chromium/gpu/ipc/client/gpu_channel_host.cc | 5 | ||||
-rw-r--r-- | chromium/gpu/ipc/client/gpu_channel_host.h | 4 |
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); |