Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(581)

Issue 8726046: Partial swaps on OSX (Closed)

Created:
9 years ago by jonathan.backer
Modified:
9 years ago
CC:
chromium-reviews, joi+watch-content_chromium.org, darin-cc_chromium.org, jam, apatrick_chromium, dpranke-watch+content_chromium.org, shawnsingh
Base URL:
backer@fancypants:chromium/src@master
Visibility:
Public.

Description

Partial swaps on OSX In combination with shawnsingh's scissoring, this is a huge win on 10.5 which uses a readback through main memory. Some numbers given on https://bugs.webkit.org/show_bug.cgi?id=67341 The win on >= 10.6 is probably less because there is not readback through main memory. The 10.6 implementation assumes that nothing outside the partial swap region was damaged (i.e. it's a SwapBuffers that always preserves the backbuffer --- it's not a true partial swap a la GLX_MESA_copy_sub_buffers). This is all that the scissoring needs. BUG=none TEST=ran with shawnsingh's patch on http://www.webkit.org/blog-files/3d-transforms/poster-circle.html on 10.6 and 10.5 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=113397

Patch Set 1 #

Patch Set 2 : Plumbed all the way through. #

Patch Set 3 : "" #

Patch Set 4 : Now with 10.6 support. #

Total comments: 8

Patch Set 5 : Nits. #

Total comments: 2

Patch Set 6 : Address reviewer comments. #

Total comments: 4

Patch Set 7 : Address reviewer comments. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+156 lines, -35 lines) Patch
M content/browser/renderer_host/accelerated_surface_container_mac.h View 1 2 3 4 5 6 3 chunks +11 lines, -6 lines 0 comments Download
M content/browser/renderer_host/accelerated_surface_container_mac.cc View 1 2 3 4 5 6 3 chunks +48 lines, -19 lines 0 comments Download
M content/browser/renderer_host/accelerated_surface_container_manager_mac.h View 1 2 3 4 2 chunks +7 lines, -0 lines 0 comments Download
M content/browser/renderer_host/accelerated_surface_container_manager_mac.cc View 1 2 3 4 2 chunks +12 lines, -0 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_view_mac.mm View 1 2 3 4 2 chunks +23 lines, -2 lines 0 comments Download
M content/common/gpu/image_transport_surface_mac.cc View 1 2 3 4 5 4 chunks +55 lines, -8 lines 0 comments Download

Messages

Total messages: 9 (0 generated)
jonathan.backer
9 years ago (2011-11-29 22:24:09 UTC) #1
jonathan.backer
9 years ago (2011-12-05 22:30:39 UTC) #2
apatrick_chromium
Some nits http://codereview.chromium.org/8726046/diff/8001/content/browser/renderer_host/accelerated_surface_container_mac.h File content/browser/renderer_host/accelerated_surface_container_mac.h (right): http://codereview.chromium.org/8726046/diff/8001/content/browser/renderer_host/accelerated_surface_container_mac.h#newcode86 content/browser/renderer_host/accelerated_surface_container_mac.h:86: void set_was_painted_to(uint64 surface_id, nit: const gfx::Rect& http://codereview.chromium.org/8726046/diff/8001/content/browser/renderer_host/render_widget_host_view_mac.mm ...
9 years ago (2011-12-05 22:42:45 UTC) #3
jonathan.backer
http://codereview.chromium.org/8726046/diff/8001/content/browser/renderer_host/accelerated_surface_container_mac.h File content/browser/renderer_host/accelerated_surface_container_mac.h (right): http://codereview.chromium.org/8726046/diff/8001/content/browser/renderer_host/accelerated_surface_container_mac.h#newcode86 content/browser/renderer_host/accelerated_surface_container_mac.h:86: void set_was_painted_to(uint64 surface_id, On 2011/12/05 22:42:45, apatrick_chromium wrote: > ...
9 years ago (2011-12-06 18:29:31 UTC) #4
Ken Russell (switch to Gerrit)
LGTM with one issue fixed. http://codereview.chromium.org/8726046/diff/17001/content/common/gpu/image_transport_surface_mac.cc File content/common/gpu/image_transport_surface_mac.cc (right): http://codereview.chromium.org/8726046/diff/17001/content/common/gpu/image_transport_surface_mac.cc#newcode480 content/common/gpu/image_transport_surface_mac.cc:480: glGetIntegerv(GL_PACK_ALIGNMENT, &current_pack_row_length); GL_PACK_ROW_LENGTH
9 years ago (2011-12-06 18:38:59 UTC) #5
apatrick_chromium
What kbr said then LGTM.
9 years ago (2011-12-06 19:23:47 UTC) #6
jonathan.backer
http://codereview.chromium.org/8726046/diff/17001/content/common/gpu/image_transport_surface_mac.cc File content/common/gpu/image_transport_surface_mac.cc (right): http://codereview.chromium.org/8726046/diff/17001/content/common/gpu/image_transport_surface_mac.cc#newcode480 content/common/gpu/image_transport_surface_mac.cc:480: glGetIntegerv(GL_PACK_ALIGNMENT, &current_pack_row_length); On 2011/12/06 18:38:59, kbr wrote: > GL_PACK_ROW_LENGTH ...
9 years ago (2011-12-06 19:36:12 UTC) #7
sky
LGTM http://codereview.chromium.org/8726046/diff/18002/content/browser/renderer_host/accelerated_surface_container_mac.cc File content/browser/renderer_host/accelerated_surface_container_mac.cc (right): http://codereview.chromium.org/8726046/diff/18002/content/browser/renderer_host/accelerated_surface_container_mac.cc#newcode244 content/browser/renderer_host/accelerated_surface_container_mac.cc:244: void AcceleratedSurfaceContainerMac::set_was_painted_to(uint64 surface_id) { nit: position should match ...
9 years ago (2011-12-06 19:40:39 UTC) #8
jonathan.backer
9 years ago (2011-12-06 20:24:41 UTC) #9
http://codereview.chromium.org/8726046/diff/18002/content/browser/renderer_ho...
File content/browser/renderer_host/accelerated_surface_container_mac.cc (right):

http://codereview.chromium.org/8726046/diff/18002/content/browser/renderer_ho...
content/browser/renderer_host/accelerated_surface_container_mac.cc:244: void
AcceleratedSurfaceContainerMac::set_was_painted_to(uint64 surface_id) {
On 2011/12/06 19:40:39, sky wrote:
> nit: position should match header.

Done.

http://codereview.chromium.org/8726046/diff/18002/content/browser/renderer_ho...
File content/browser/renderer_host/accelerated_surface_container_mac.h (right):

http://codereview.chromium.org/8726046/diff/18002/content/browser/renderer_ho...
content/browser/renderer_host/accelerated_surface_container_mac.h:155: void
set_was_painted_to_common(uint64 surface_id);
On 2011/12/06 19:40:39, sky wrote:
> methods before variables.

Done.

Powered by Google App Engine
This is Rietveld 408576698