|
|
Chromium Code Reviews
DescriptionDon't delete CopyOutputRequests when queueing a new Surface frame.
This reduces the risk that the CopyOutputRequests will be discarded
unnecessarily. This only affects CopyOutputRequests created through
SurfaceFactory::RequestCopyOfSurface, as requests submitted on
RenderPasses directly with the frame will still be discarded.
BUG=681988
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel
Review-Url: https://codereview.chromium.org/2695243006
Cr-Commit-Position: refs/heads/master@{#453807}
Committed: https://chromium.googlesource.com/chromium/src/+/37b0e1379938325304eeaff6afb9e7cb9f8bb618
Patch Set 1 #Patch Set 2 : fix #Patch Set 3 : add test #
Total comments: 1
Patch Set 4 : save all copy requests on the root pass #Patch Set 5 : rebase #
Total comments: 1
Messages
Total messages: 36 (26 generated)
Description was changed from ========== Don't delete CopyOutputRequests when queueing a new Surface frame. ========== to ========== Don't delete CopyOutputRequests when queueing a new Surface frame. CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel ==========
The CQ bit was checked by jbauman@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was checked by jbauman@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: chromeos_daisy_chromium_compile_only_ng on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) chromium_presubmit on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) linux_chromium_asan_rel_ng on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) linux_chromium_chromeos_rel_ng on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) linux_chromium_rel_ng on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) linux_chromium_tsan_rel_ng on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL)
The CQ bit was checked by jbauman@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: cast_shell_linux on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) chromeos_daisy_chromium_compile_only_ng on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) chromium_presubmit on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) linux_chromium_asan_rel_ng on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) linux_chromium_chromeos_ozone_rel_ng on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) linux_chromium_chromeos_rel_ng on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) linux_chromium_compile_dbg_ng on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) linux_chromium_rel_ng on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL) linux_chromium_tsan_rel_ng on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL)
Description was changed from ========== Don't delete CopyOutputRequests when queueing a new Surface frame. CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel ========== to ========== Don't delete CopyOutputRequests when queueing a new Surface frame. This reduces the risk that the CopyOutputRequests will be discarded unnecessarily. This only affects CopyOutputRequests created through SurfaceFactory::RequestCopyOfSurface, as requests submitted on RenderPasses directly with the frame will still be discarded. BUG=681988 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel ==========
jbauman@chromium.org changed reviewers: + danakj@chromium.org
I'm concerned about the complexity of now having two stashes of copy requests. Some questions 1) Why do we want the frame-based ones to be cancelled? 2) Could we pull the frame's requests off on submit and stash them in the Surface, so we only have to look at once place in TakeCopyRequests and we don't have multiple notions of requests? https://codereview.chromium.org/2695243006/diff/40001/cc/surfaces/surface.cc File cc/surfaces/surface.cc (right): https://codereview.chromium.org/2695243006/diff/40001/cc/surfaces/surface.cc#... cc/surfaces/surface.cc:34: ClearCopyRequests(); Can you change this things name maybe so it doesn't look as redundant with the new code below?
On 2017/02/23 22:52:28, danakj wrote: > I'm concerned about the complexity of now having two stashes of copy requests. > Some questions > The basic problem with storing frame-based ones for the next frame is they're supposed to be on specific renderpasses. So if the renderpass disappears between frames (very likely) or changes size or other properties then it wouldn't make sense to try to do a copy of the new renderpass. > 1) Why do we want the frame-based ones to be cancelled? > > 2) Could we pull the frame's requests off on submit and stash them in the > Surface, so we only have to look at once place in TakeCopyRequests and we don't > have multiple notions of requests? > > https://codereview.chromium.org/2695243006/diff/40001/cc/surfaces/surface.cc > File cc/surfaces/surface.cc (right): > > https://codereview.chromium.org/2695243006/diff/40001/cc/surfaces/surface.cc#... > cc/surfaces/surface.cc:34: ClearCopyRequests(); > Can you change this things name maybe so it doesn't look as redundant with the > new code below?
On Thu, Feb 23, 2017 at 6:02 PM, <jbauman@chromium.org> wrote: > On 2017/02/23 22:52:28, danakj wrote: > > I'm concerned about the complexity of now having two stashes of copy > requests. > > Some questions > > > > The basic problem with storing frame-based ones for the next frame is > they're > supposed to be on specific renderpasses. So if the renderpass disappears > between > frames (very likely) or changes size or other properties then it wouldn't > make > sense to try to do a copy of the new renderpass. > Ah that's fair. What about just for the root requests? I think that would still make an easier system to explain, wdyt? > > > > 1) Why do we want the frame-based ones to be cancelled? > > > > 2) Could we pull the frame's requests off on submit and stash them in the > > Surface, so we only have to look at once place in TakeCopyRequests and we > don't > > have multiple notions of requests? > > > > https://codereview.chromium.org/2695243006/diff/40001/cc/ > surfaces/surface.cc > > File cc/surfaces/surface.cc (right): > > > > > https://codereview.chromium.org/2695243006/diff/40001/cc/ > surfaces/surface.cc#newcode34 > > cc/surfaces/surface.cc:34: ClearCopyRequests(); > > Can you change this things name maybe so it doesn't look as redundant > with the > > new code below? > > > > https://codereview.chromium.org/2695243006/ > -- You received this message because you are subscribed to the Google Groups "Chromium-reviews" group. To unsubscribe from this group and stop receiving emails from it, send an email to chromium-reviews+unsubscribe@chromium.org.
The CQ bit was checked by jbauman@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: ios-device on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-device/builds...) ios-simulator on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-simulator/bui...) ios-simulator-xcode-clang on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-simulator-xco...)
The CQ bit was checked by jbauman@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
PTAL. I've made it just save and copy over all requests on the root pass.
This is a lot simpler, thanks! LGTM https://codereview.chromium.org/2695243006/diff/80001/cc/surfaces/surface_uni... File cc/surfaces/surface_unittest.cc (right): https://codereview.chromium.org/2695243006/diff/80001/cc/surfaces/surface_uni... cc/surfaces/surface_unittest.cc:105: surface->GetActiveFrame().render_pass_list.back()->copy_requests.size()); This is some serious pointer travelling, and I think this is covered by below already, so I suggest maybe remove this line. It might be a pain to maintain.
The CQ bit was checked by jbauman@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: linux_chromium_chromeos_ozone_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...)
The CQ bit was checked by jbauman@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
CQ is committing da patch.
Bot data: {"patchset_id": 80001, "attempt_start_ts": 1488333031876880,
"parent_rev": "c75f6f0f5286abfacf96b9ef7ac088a9692ed897", "commit_rev":
"37b0e1379938325304eeaff6afb9e7cb9f8bb618"}
Message was sent while issue was closed.
Description was changed from ========== Don't delete CopyOutputRequests when queueing a new Surface frame. This reduces the risk that the CopyOutputRequests will be discarded unnecessarily. This only affects CopyOutputRequests created through SurfaceFactory::RequestCopyOfSurface, as requests submitted on RenderPasses directly with the frame will still be discarded. BUG=681988 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel ========== to ========== Don't delete CopyOutputRequests when queueing a new Surface frame. This reduces the risk that the CopyOutputRequests will be discarded unnecessarily. This only affects CopyOutputRequests created through SurfaceFactory::RequestCopyOfSurface, as requests submitted on RenderPasses directly with the frame will still be discarded. BUG=681988 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel Review-Url: https://codereview.chromium.org/2695243006 Cr-Commit-Position: refs/heads/master@{#453807} Committed: https://chromium.googlesource.com/chromium/src/+/37b0e1379938325304eeaff6afb9... ==========
Message was sent while issue was closed.
Committed patchset #5 (id:80001) as https://chromium.googlesource.com/chromium/src/+/37b0e1379938325304eeaff6afb9... |
