diff options
author | nick@chromium.org <nick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-12 00:54:25 +0000 |
---|---|---|
committer | nick@chromium.org <nick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-12 00:54:25 +0000 |
commit | 744329cf9801e052f15c9697c3fcf57e7a3169b4 (patch) | |
tree | 92d17439d43862570ac6357c283f82ff8c829e99 /cc/output | |
parent | 36a3cd62844159f91f542ae3657dd0ac24d7f5af (diff) | |
download | chromium_src-744329cf9801e052f15c9697c3fcf57e7a3169b4.zip chromium_src-744329cf9801e052f15c9697c3fcf57e7a3169b4.tar.gz chromium_src-744329cf9801e052f15c9697c3fcf57e7a3169b4.tar.bz2 |
Revert 210138 "Perform glReadPixels with PBOs in the gpu, if PBO..."
> Perform glReadPixels with PBOs in the gpu, if PBOs are available.
> Make GL_ASYNC_READ_PIXELS_COMPLETED_CHROMIUM wait for readpixel transfers.
> PLEASE NOTE: glMapBuffer does not wait for the readpixels transfer to complete anymore.
> Nobody is currently relying on that behaviour.
> Update gl_helper.cc and gl_renderer.cc to use queries.
>
> This CL is the same as https://codereview.chromium.org/16831004/
> but includes fixes for:
> OutOfProcessPPAPITests.Graphics3D (removed a check in query_tracker.cc)
> GLReadbackTest.ReadPixelsWithPBO (removed, no longer a valid test)
> GLReadbackTest.ReadPixelsWithPBOAndQuery (now uses the correct query)
>
> BUG=249925
>
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=209873
>
> Review URL: https://chromiumcodereview.appspot.com/18555006
TBR=hubbe@chromium.org
BUG=258169
Review URL: https://codereview.chromium.org/19029003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@211274 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/output')
-rw-r--r-- | cc/output/gl_renderer.cc | 21 | ||||
-rw-r--r-- | cc/output/gl_renderer.h | 1 |
2 files changed, 3 insertions, 19 deletions
diff --git a/cc/output/gl_renderer.cc b/cc/output/gl_renderer.cc index 72987e8..f1ac9d7 100644 --- a/cc/output/gl_renderer.cc +++ b/cc/output/gl_renderer.cc @@ -2265,14 +2265,6 @@ void GLRenderer::DoGetFramebufferPixels( NULL, GL_STREAM_READ)); - WebKit::WebGLId query = 0; - if (is_async) { - query = context_->createQueryEXT(); - GLC(context_, context_->beginQueryEXT( - GL_ASYNC_PIXEL_TRANSFERS_COMPLETED_CHROMIUM, - query)); - } - GLC(context_, context_->readPixels(window_rect.x(), window_rect.y(), @@ -2298,7 +2290,6 @@ void GLRenderer::DoGetFramebufferPixels( base::Unretained(this), cleanup_callback, buffer, - query, dest_pixels, window_rect.size()); // Save the finished_callback so it can be cancelled. @@ -2309,11 +2300,10 @@ void GLRenderer::DoGetFramebufferPixels( pending_async_read_pixels_.front()->buffer = buffer; if (is_async) { - GLC(context_, context_->endQueryEXT( - GL_ASYNC_PIXEL_TRANSFERS_COMPLETED_CHROMIUM)); - SyncPointHelper::SignalQuery( + unsigned sync_point = context_->insertSyncPoint(); + SyncPointHelper::SignalSyncPoint( context_, - query, + sync_point, finished_callback); } else { resource_provider_->Finish(); @@ -2326,15 +2316,10 @@ void GLRenderer::DoGetFramebufferPixels( void GLRenderer::FinishedReadback( const AsyncGetFramebufferPixelsCleanupCallback& cleanup_callback, unsigned source_buffer, - unsigned query, uint8* dest_pixels, gfx::Size size) { DCHECK(!pending_async_read_pixels_.empty()); - if (query != 0) { - GLC(context_, context_->deleteQueryEXT(query)); - } - PendingAsyncReadPixels* current_read = pending_async_read_pixels_.back(); // Make sure we service the readbacks in order. DCHECK_EQ(source_buffer, current_read->buffer); diff --git a/cc/output/gl_renderer.h b/cc/output/gl_renderer.h index 97ef0b0..bde4d71 100644 --- a/cc/output/gl_renderer.h +++ b/cc/output/gl_renderer.h @@ -201,7 +201,6 @@ class CC_EXPORT GLRenderer : public DirectRenderer { void FinishedReadback( const AsyncGetFramebufferPixelsCleanupCallback& cleanup_callback, unsigned source_buffer, - unsigned query, uint8_t* dest_pixels, gfx::Size size); void PassOnSkBitmap(scoped_ptr<SkBitmap> bitmap, |