New issue
Advanced search Search tips

Issue 819044 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

glBindBufferRange does not update generic bind point state

Project Member Reported by jdarpinian@chromium.org, Mar 6 2018

Issue description

Discovered when debugging https://github.com/KhronosGroup/WebGL/pull/2604

GLES2Implementation::BindBufferRangeHelper is missing a block of logic that BindBufferBaseHelper has to detect errors and update the generic bind point state. Because of this the cache of bound buffers can become incorrect and bindBuffer calls can be incorrectly deduplicated in a situation like this:

glBindBuffer(GL_UNIFORM_BUFFER, <buffer1>);
glBindBufferRange(GL_UNIFORM_BUFFER, 1, <buffer2>);
glBindBuffer(GL_UNIFORM_BUFFER, <buffer1>); <- this is not executed

 
Components: Internals>GPU>Internals
Project Member

Comment 2 by bugdroid1@chromium.org, Mar 10 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a2dd5d7e301241b77a91a9adfda1b05c65710708

commit a2dd5d7e301241b77a91a9adfda1b05c65710708
Author: James Darpinian <jdarpinian@chromium.org>
Date: Sat Mar 10 06:26:47 2018

bindBufferRange must do the same validation as bindBufferBase.

Bug:  819044 
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I3d7cf99b0785198c8906f4bf43d3fa072c565b4b
Reviewed-on: https://chromium-review.googlesource.com/950462
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#542358}
[modify] https://crrev.com/a2dd5d7e301241b77a91a9adfda1b05c65710708/gpu/command_buffer/client/gles2_implementation.cc
[modify] https://crrev.com/a2dd5d7e301241b77a91a9adfda1b05c65710708/gpu/command_buffer/client/gles2_implementation.h

Status: Fixed (was: Started)

Sign in to add a comment