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

Issue 1154053002: gpu: Use a rectangle to keep track of the cleared area of each texture level. (Closed)

Created:
5 years, 7 months ago by reveman
Modified:
5 years, 6 months ago
CC:
chromium-reviews, darin-cc_chromium.org, feature-media-reviews_chromium.org, jam, mcasas+watch_chromium.org, piman+watch_chromium.org, posciak+watch_chromium.org, wjia+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

gpu: Use a rectangle to keep track of the cleared area of each texture level. This makes it possible for a client to initialize a texture using partial updates without causing the texture level to be implicitly cleared at the time of the first partial update. BUG=460288 TEST=gl_tests, gpu_unittests Committed: https://crrev.com/7c4a13b0f04027293aecec40dc91544307f29746 Cr-Commit-Position: refs/heads/master@{#333154}

Patch Set 1 #

Patch Set 2 : android build fix #

Patch Set 3 : android build fix #

Patch Set 4 : rebase #

Patch Set 5 : v2 #

Total comments: 4

Patch Set 6 : restore count optimization #

Patch Set 7 : add unit tests #

Patch Set 8 : add DCHECKs #

Patch Set 9 : fix GLES2DecoderImpl::DoCopyTexImage2D #

Total comments: 6

Patch Set 10 : piman's review #

Patch Set 11 : keep using HaveUnclearedMips #

Patch Set 12 : restore scissor state in GLES2DecoderImpl::ClearLevel and update GLES2DecoderManualInitTest.DrawCle… #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+708 lines, -1412 lines) Patch
M content/common/gpu/media/gpu_video_decode_accelerator.cc View 2 chunks +5 lines, -12 lines 0 comments Download
M content/common/gpu/stream_texture_android.cc View 1 2 3 4 1 chunk +3 lines, -11 lines 0 comments Download
M gpu/command_buffer/service/framebuffer_manager_unittest.cc View 6 chunks +24 lines, -80 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder.h View 1 2 3 4 5 6 7 8 9 1 chunk +10 lines, -11 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder.cc View 1 2 3 4 5 6 7 8 9 10 11 18 chunks +125 lines, -68 lines 2 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_mock.h View 1 2 3 4 5 6 7 8 9 1 chunk +10 lines, -10 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.h View 1 2 3 4 5 6 1 chunk +12 lines, -11 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc View 1 2 3 4 5 6 1 chunk +14 lines, -13 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_unittest_drawing.cc View 1 2 3 4 5 6 7 8 9 10 11 5 chunks +25 lines, -62 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_unittest_textures.cc View 1 2 3 4 5 6 9 chunks +103 lines, -166 lines 0 comments Download
M gpu/command_buffer/service/mailbox_manager_unittest.cc View 1 2 3 4 5 5 chunks +21 lines, -67 lines 0 comments Download
M gpu/command_buffer/service/stream_texture_manager_in_process_android.cc View 1 1 chunk +3 lines, -11 lines 0 comments Download
M gpu/command_buffer/service/texture_definition.h View 1 2 3 4 5 3 chunks +3 lines, -2 lines 0 comments Download
M gpu/command_buffer/service/texture_definition.cc View 1 2 3 4 5 6 6 chunks +8 lines, -7 lines 0 comments Download
M gpu/command_buffer/service/texture_manager.h View 1 2 3 4 5 8 chunks +47 lines, -31 lines 0 comments Download
M gpu/command_buffer/service/texture_manager.cc View 1 2 3 4 5 16 chunks +125 lines, -110 lines 0 comments Download
M gpu/command_buffer/service/texture_manager_unittest.cc View 1 2 3 4 5 51 chunks +170 lines, -740 lines 0 comments Download

Messages

Total messages: 25 (8 generated)
reveman
5 years, 7 months ago (2015-05-26 14:47:09 UTC) #2
reveman
Just realized that this is broken. Please ignore this patch until I've uploaded a new ...
5 years, 7 months ago (2015-05-26 22:48:35 UTC) #3
reveman
This is now ready for review. Please take a look.
5 years, 7 months ago (2015-05-27 17:43:26 UTC) #6
piman
Could you add a test for the new logic? https://codereview.chromium.org/1154053002/diff/80001/gpu/command_buffer/service/texture_manager.cc File gpu/command_buffer/service/texture_manager.cc (right): https://codereview.chromium.org/1154053002/diff/80001/gpu/command_buffer/service/texture_manager.cc#newcode668 gpu/command_buffer/service/texture_manager.cc:668: ...
5 years, 7 months ago (2015-05-27 20:50:17 UTC) #7
reveman
Latest patch adds these same optimizations to TexSubImage2D and CopyTexSubImage2D commands. Unit tests have been ...
5 years, 6 months ago (2015-06-03 22:40:04 UTC) #8
reveman
Fixed some webgl conformance test issues in latest patch. Antoine, please take a look. https://codereview.chromium.org/1154053002/diff/160001/gpu/command_buffer/service/gles2_cmd_decoder.cc ...
5 years, 6 months ago (2015-06-05 19:38:37 UTC) #9
piman
https://codereview.chromium.org/1154053002/diff/160001/gpu/command_buffer/service/gles2_cmd_decoder.cc File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): https://codereview.chromium.org/1154053002/diff/160001/gpu/command_buffer/service/gles2_cmd_decoder.cc#newcode8903 gpu/command_buffer/service/gles2_cmd_decoder.cc:8903: // on depth formats. It sounds like this is ...
5 years, 6 months ago (2015-06-05 19:55:50 UTC) #10
reveman
ptal https://codereview.chromium.org/1154053002/diff/160001/gpu/command_buffer/service/gles2_cmd_decoder.cc File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): https://codereview.chromium.org/1154053002/diff/160001/gpu/command_buffer/service/gles2_cmd_decoder.cc#newcode8903 gpu/command_buffer/service/gles2_cmd_decoder.cc:8903: // on depth formats. On 2015/06/05 at 19:55:49, ...
5 years, 6 months ago (2015-06-05 20:39:44 UTC) #11
piman
lgtm
5 years, 6 months ago (2015-06-05 20:46:31 UTC) #12
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1154053002/200001
5 years, 6 months ago (2015-06-05 20:49:26 UTC) #14
commit-bot: I haz the power
Try jobs failed on following builders: cast_shell_linux on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/cast_shell_linux/builds/17700)
5 years, 6 months ago (2015-06-05 21:13:57 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1154053002/220001
5 years, 6 months ago (2015-06-05 21:22:30 UTC) #19
commit-bot: I haz the power
Committed patchset #12 (id:220001)
5 years, 6 months ago (2015-06-05 22:28:23 UTC) #20
commit-bot: I haz the power
Patchset 12 (id:??) landed as https://crrev.com/7c4a13b0f04027293aecec40dc91544307f29746 Cr-Commit-Position: refs/heads/master@{#333154}
5 years, 6 months ago (2015-06-05 22:30:18 UTC) #21
Ken Russell (switch to Gerrit)
https://codereview.chromium.org/1154053002/diff/220001/gpu/command_buffer/service/gles2_cmd_decoder.cc File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): https://codereview.chromium.org/1154053002/diff/220001/gpu/command_buffer/service/gles2_cmd_decoder.cc#newcode8935 gpu/command_buffer/service/gles2_cmd_decoder.cc:8935: glScissor(xoffset, yoffset, width, height); Can this end up changing ...
5 years, 6 months ago (2015-06-06 00:33:05 UTC) #23
piman
https://codereview.chromium.org/1154053002/diff/220001/gpu/command_buffer/service/gles2_cmd_decoder.cc File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): https://codereview.chromium.org/1154053002/diff/220001/gpu/command_buffer/service/gles2_cmd_decoder.cc#newcode8935 gpu/command_buffer/service/gles2_cmd_decoder.cc:8935: glScissor(xoffset, yoffset, width, height); On 2015/06/06 00:33:05, Ken Russell ...
5 years, 6 months ago (2015-06-06 00:48:13 UTC) #24
reveman
5 years, 6 months ago (2015-06-09 02:30:36 UTC) #25
Message was sent while issue was closed.
On 2015/06/06 at 00:48:13, piman wrote:
>
https://codereview.chromium.org/1154053002/diff/220001/gpu/command_buffer/ser...
> File gpu/command_buffer/service/gles2_cmd_decoder.cc (right):
> 
>
https://codereview.chromium.org/1154053002/diff/220001/gpu/command_buffer/ser...
> gpu/command_buffer/service/gles2_cmd_decoder.cc:8935: glScissor(xoffset,
yoffset, width, height);
> On 2015/06/06 00:33:05, Ken Russell wrote:
> > Can this end up changing the user's scissor rectangle out from under them?
> 
> Good point, we should restore the rectangle, either immediately after the
clear or in ApplyDirtyState

Uploaded at patch for this here: https://codereview.chromium.org/1168213003

Powered by Google App Engine
This is Rietveld 408576698