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

Issue 846063002: compositor: Fix texture flipping for SW mirroring with surfaceless (Closed)

Created:
5 years, 11 months ago by achaulk
Modified:
5 years, 10 months ago
Reviewers:
danakj, Daniel Kurtz
CC:
chromium-reviews, Ian Vollick, jam, sievers+watch_chromium.org, jbauman+watch_chromium.org, darin-cc_chromium.org, kalyank, piman+watch_chromium.org, danakj+watch_chromium.org, cc-bugs_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

compositor: Fix texture flipping for SW mirroring with surfaceless Ozone-surfaceless renders the scene flipped, so the texture contents are inverted from what they should be. This fixes the mirroring logic to un-flip the texture when needed, and also to send the right sub-buffer update rect. BUG=434115 Committed: https://crrev.com/c6a481fe79e0c4851a576495105edf2600bfe5be Cr-Commit-Position: refs/heads/master@{#312979}

Patch Set 1 #

Patch Set 2 : #

Total comments: 10

Patch Set 3 : change UpdateSubBufferOnMainThread #

Patch Set 4 : remove buffer_queue changes #

Patch Set 5 : add tests #

Total comments: 14

Patch Set 6 : move flag to MainThreadData #

Patch Set 7 : export ReflectorImpl #

Patch Set 8 : add mac-only functions #

Patch Set 9 : also export ui::Reflector #

Patch Set 10 : move ui::Reflector to cc + change compositor to never-used task runner #

Patch Set 11 : forgot copyright notice #

Patch Set 12 : add to BUILD.gn #

Patch Set 13 : replace with custom task runner that does nothing. maybe this will work #

Unified diffs Side-by-side diffs Delta from patch set Stats (+222 lines, -18 lines) Patch
M cc/layers/texture_layer.h View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M content/browser/compositor/browser_compositor_output_surface.h View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M content/browser/compositor/browser_compositor_output_surface.cc View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M content/browser/compositor/reflector_impl.h View 1 2 3 4 5 6 5 chunks +10 lines, -4 lines 0 comments Download
M content/browser/compositor/reflector_impl.cc View 1 2 3 4 5 4 chunks +15 lines, -8 lines 0 comments Download
A content/browser/compositor/reflector_impl_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +155 lines, -0 lines 0 comments Download
M content/content_tests.gypi View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M ui/compositor/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -0 lines 0 comments Download
M ui/compositor/compositor.gyp View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -0 lines 0 comments Download
M ui/compositor/layer.h View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download
M ui/compositor/layer.cc View 1 2 3 4 1 chunk +10 lines, -0 lines 0 comments Download
M ui/compositor/reflector.h View 1 2 3 4 5 6 7 8 9 1 chunk +6 lines, -4 lines 0 comments Download
A ui/compositor/reflector.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +18 lines, -0 lines 0 comments Download

Messages

Total messages: 49 (16 generated)
achaulk
5 years, 11 months ago (2015-01-12 18:16:59 UTC) #2
danakj
https://codereview.chromium.org/846063002/diff/20001/content/browser/compositor/buffer_queue.cc File content/browser/compositor/buffer_queue.cc (right): https://codereview.chromium.org/846063002/diff/20001/content/browser/compositor/buffer_queue.cc#newcode78 content/browser/compositor/buffer_queue.cc:78: // CopySubBufferDamage binds its own framebuffer, restore ours. Should ...
5 years, 11 months ago (2015-01-12 18:27:30 UTC) #3
achaulk
https://codereview.chromium.org/846063002/diff/20001/content/browser/compositor/buffer_queue.cc File content/browser/compositor/buffer_queue.cc (right): https://codereview.chromium.org/846063002/diff/20001/content/browser/compositor/buffer_queue.cc#newcode78 content/browser/compositor/buffer_queue.cc:78: // CopySubBufferDamage binds its own framebuffer, restore ours. On ...
5 years, 11 months ago (2015-01-12 18:47:35 UTC) #4
danakj
https://codereview.chromium.org/846063002/diff/20001/content/browser/compositor/buffer_queue.cc File content/browser/compositor/buffer_queue.cc (right): https://codereview.chromium.org/846063002/diff/20001/content/browser/compositor/buffer_queue.cc#newcode78 content/browser/compositor/buffer_queue.cc:78: // CopySubBufferDamage binds its own framebuffer, restore ours. On ...
5 years, 11 months ago (2015-01-12 19:00:07 UTC) #5
danakj
Can you add a test to ui/compositor unittests for the new method to ensure it ...
5 years, 11 months ago (2015-01-12 19:02:42 UTC) #6
achaulk
Removed buffer_queue change On 2015/01/12 19:02:42, danakj wrote: > Can you add a test to ...
5 years, 11 months ago (2015-01-12 19:56:52 UTC) #7
danakj
On Mon, Jan 12, 2015 at 11:56 AM, <achaulk@chromium.org> wrote: > Removed buffer_queue change > ...
5 years, 11 months ago (2015-01-12 20:04:00 UTC) #8
achaulk
On 2015/01/12 20:04:00, danakj wrote: > On Mon, Jan 12, 2015 at 11:56 AM, <mailto:achaulk@chromium.org> ...
5 years, 11 months ago (2015-01-12 20:31:48 UTC) #9
danakj
On Mon, Jan 12, 2015 at 12:31 PM, <achaulk@chromium.org> wrote: > On 2015/01/12 20:04:00, danakj ...
5 years, 11 months ago (2015-01-12 20:33:45 UTC) #10
achaulk
Tests added
5 years, 11 months ago (2015-01-14 20:32:38 UTC) #11
achaulk
ping, we would like to get this in the 41 branch
5 years, 11 months ago (2015-01-15 22:14:12 UTC) #12
achaulk
ping
5 years, 11 months ago (2015-01-20 16:12:15 UTC) #13
danakj
https://codereview.chromium.org/846063002/diff/80001/content/browser/compositor/reflector_impl.cc File content/browser/compositor/reflector_impl.cc (right): https://codereview.chromium.org/846063002/diff/80001/content/browser/compositor/reflector_impl.cc#newcode187 content/browser/compositor/reflector_impl.cc:187: flip_texture_ = !output_surface->capabilities().flipped_output_surface; capabilities are not initialized until the ...
5 years, 11 months ago (2015-01-22 01:04:21 UTC) #14
achaulk
https://codereview.chromium.org/846063002/diff/80001/content/browser/compositor/reflector_impl.cc File content/browser/compositor/reflector_impl.cc (right): https://codereview.chromium.org/846063002/diff/80001/content/browser/compositor/reflector_impl.cc#newcode187 content/browser/compositor/reflector_impl.cc:187: flip_texture_ = !output_surface->capabilities().flipped_output_surface; On 2015/01/22 01:04:20, danakj wrote: > ...
5 years, 11 months ago (2015-01-23 16:45:53 UTC) #15
danakj
LGTM https://codereview.chromium.org/846063002/diff/80001/content/browser/compositor/reflector_impl_unittest.cc File content/browser/compositor/reflector_impl_unittest.cc (right): https://codereview.chromium.org/846063002/diff/80001/content/browser/compositor/reflector_impl_unittest.cc#newcode31 content/browser/compositor/reflector_impl_unittest.cc:31: void SetFlip(bool flip) { capabilities_.flipped_output_surface = flip; } ...
5 years, 11 months ago (2015-01-23 17:48:29 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/846063002/100001
5 years, 11 months ago (2015-01-23 17:49:57 UTC) #18
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_compile_dbg_32_ng on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_compile_dbg_32_ng/builds/16752) Try jobs failed on following ...
5 years, 11 months ago (2015-01-23 18:30:16 UTC) #20
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/846063002/120001
5 years, 11 months ago (2015-01-23 18:38:16 UTC) #22
commit-bot: I haz the power
Try jobs failed on following builders: mac_chromium_rel_ng on tryserver.chromium.mac (http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/26512) Try jobs failed on following ...
5 years, 11 months ago (2015-01-23 19:19:21 UTC) #24
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/846063002/140001
5 years, 11 months ago (2015-01-23 19:42:03 UTC) #26
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/846063002/160001
5 years, 11 months ago (2015-01-23 20:16:35 UTC) #28
commit-bot: I haz the power
Try jobs failed on following builders: win_chromium_compile_dbg_ng on tryserver.chromium.win (http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_compile_dbg_ng/builds/3496)
5 years, 11 months ago (2015-01-23 21:16:43 UTC) #30
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/846063002/180001
5 years, 11 months ago (2015-01-23 21:37:13 UTC) #32
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/38030) linux_chromium_gn_rel on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_gn_rel/builds/52650)
5 years, 11 months ago (2015-01-23 21:44:12 UTC) #34
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/846063002/200001
5 years, 11 months ago (2015-01-23 21:46:16 UTC) #36
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_gn_rel on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_gn_rel/builds/52658) Try jobs failed on following ...
5 years, 11 months ago (2015-01-23 22:00:25 UTC) #38
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/846063002/220001
5 years, 11 months ago (2015-01-23 22:34:04 UTC) #40
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_chromeos_rel_ng on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_rel_ng/builds/17808)
5 years, 11 months ago (2015-01-23 23:10:37 UTC) #42
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/846063002/240001
5 years, 11 months ago (2015-01-23 23:21:22 UTC) #44
commit-bot: I haz the power
Committed patchset #13 (id:240001)
5 years, 11 months ago (2015-01-24 00:29:36 UTC) #45
commit-bot: I haz the power
Patchset 13 (id:??) landed as https://crrev.com/c6a481fe79e0c4851a576495105edf2600bfe5be Cr-Commit-Position: refs/heads/master@{#312979}
5 years, 11 months ago (2015-01-24 00:32:01 UTC) #46
Daniel Kurtz
-1 Verified: This patch causes crbug.com/451804 .
5 years, 10 months ago (2015-01-28 06:16:06 UTC) #48
Daniel Kurtz
5 years, 10 months ago (2015-01-28 18:06:53 UTC) #49
Message was sent while issue was closed.
A revert of this CL (patchset #13 id:240001) has been created in
https://codereview.chromium.org/867483003/ by djkurtz@chromium.org.

The reason for reverting is: The original patch breaks software mirroring mode
on at least veyron_jerry,
and quite possibly all non-freon systems.

BUG=451804
.

Powered by Google App Engine
This is Rietveld 408576698