summaryrefslogtreecommitdiffstats
path: root/cc/output
diff options
context:
space:
mode:
authornick@chromium.org <nick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-12 00:54:25 +0000
committernick@chromium.org <nick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-12 00:54:25 +0000
commit744329cf9801e052f15c9697c3fcf57e7a3169b4 (patch)
tree92d17439d43862570ac6357c283f82ff8c829e99 /cc/output
parent36a3cd62844159f91f542ae3657dd0ac24d7f5af (diff)
downloadchromium_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.cc21
-rw-r--r--cc/output/gl_renderer.h1
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,