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

Issue 154263011: Reduce cost of glBind* on contexts without bind_generates_resource. (Closed)

Created:
6 years, 10 months ago by vmiura
Modified:
6 years, 10 months ago
CC:
chromium-reviews, piman+watch_chromium.org, Vangelis Kokkevis
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Visibility:
Public.

Description

Reduce cost of glBind* on contexts without bind_generates_resource. Contexts without bind_generates_resource utilize StrictIdHandler. Binding ungenerated Ids is an error on StrictIdHandler, but there were still calls made to IdAllocator::MarkAsUsed, which has the overhead of taking a lock and doing a std::map lookup. - Changed to generate GL error on service side instead of DCHECK on client side. - StrictIdHandler::MarkAsUsedForBind becomes no-op. - Merged lock functionality of ThreadSafeIdHandlerWrapper up into the base handlers to reduce indirection and use finer grained locking. - Removed unused SharedIdHandler class. BUG=244968 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=250681

Patch Set 1 #

Total comments: 8

Patch Set 2 : Fix nits. Restore DCHECK. #

Patch Set 3 : Updated gpu_unittest to match new error semantics. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+44 lines, -102 lines) Patch
M gpu/command_buffer/client/share_group.cc View 1 6 chunks +22 lines, -86 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder.cc View 1 4 chunks +14 lines, -12 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc View 1 2 1 chunk +8 lines, -4 lines 0 comments Download

Messages

Total messages: 10 (0 generated)
vmiura
PTAL.
6 years, 10 months ago (2014-02-12 00:41:10 UTC) #1
piman
LGTM+couple of nits. In the future, it's conceivable that we could have contexts that don't ...
6 years, 10 months ago (2014-02-12 00:52:53 UTC) #2
no sievers
lgtm https://codereview.chromium.org/154263011/diff/1/gpu/command_buffer/client/share_group.cc File gpu/command_buffer/client/share_group.cc (right): https://codereview.chromium.org/154263011/diff/1/gpu/command_buffer/client/share_group.cc#newcode77 gpu/command_buffer/client/share_group.cc:77: virtual bool MarkAsUsedForBind(GLuint id) OVERRIDE { return true; ...
6 years, 10 months ago (2014-02-12 01:09:04 UTC) #3
piman
On Tue, Feb 11, 2014 at 5:09 PM, <sievers@chromium.org> wrote: > lgtm > > > ...
6 years, 10 months ago (2014-02-12 01:11:19 UTC) #4
no sievers
On 2014/02/12 01:11:19, piman wrote: > On Tue, Feb 11, 2014 at 5:09 PM, <mailto:sievers@chromium.org> ...
6 years, 10 months ago (2014-02-12 01:13:21 UTC) #5
piman
On Tue, Feb 11, 2014 at 5:13 PM, <sievers@chromium.org> wrote: > On 2014/02/12 01:11:19, piman ...
6 years, 10 months ago (2014-02-12 01:35:52 UTC) #6
vmiura
Fixed nits and restored DCHECK. https://codereview.chromium.org/154263011/diff/1/gpu/command_buffer/client/share_group.cc File gpu/command_buffer/client/share_group.cc (right): https://codereview.chromium.org/154263011/diff/1/gpu/command_buffer/client/share_group.cc#newcode67 gpu/command_buffer/client/share_group.cc:67: base::Lock lock_; On 2014/02/12 ...
6 years, 10 months ago (2014-02-12 02:03:52 UTC) #7
vmiura
The CQ bit was checked by vmiura@chromium.org
6 years, 10 months ago (2014-02-12 02:27:27 UTC) #8
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/vmiura@chromium.org/154263011/160001
6 years, 10 months ago (2014-02-12 02:27:45 UTC) #9
commit-bot: I haz the power
6 years, 10 months ago (2014-02-12 11:15:25 UTC) #10
Message was sent while issue was closed.
Change committed as 250681

Powered by Google App Engine
This is Rietveld 408576698