New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 654201 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Nov 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows
Pri: 1
Type: Bug

Blocked on:
issue 661186

Blocking:
issue 295792
issue 654039



Sign in to add a comment

getBufferSubData.html fails on Linux and Windows

Project Member Reported by yunchao...@intel.com, Oct 8 2016

Issue description

<b>Version: <Kenneth, what is the frequency?></b> 100%
<b>OS: <please tell me it's not XP></b> Linux and Windows.

What steps will reproduce the problem?
(1) start Chromium browser, run WebGL 2 CTS getBufferSubData.html

What is the expected output?
The test can pass

What do you see instead?
It fails

Please use labels and text to provide additional information.
If the buffer data is not initialized, the data retrieved from the buffer through getBufferSubData is not 0 in Linux and Windows. It seems to me that the underlying driver will not initialize the buffer to 0 when create allocate buffer storage. 
 
According to WebGL spec at https://www.khronos.org/registry/webgl/specs/latest/1.0/#4.1: If initial data is not provided to these calls, the WebGL implementation must initialize their contents to 0. so the test case itself is correct. 

I will feed 0 to the uninitialized buffer, just like what we have done for texture ( for example TextureManager::ClearTextureLevel).  
@qiankun, That's true, maybe this is duplicated with crbug/654039

Comment 4 by zmo@chromium.org, Oct 10 2016

Labels: -Pri-3 Security_Severity-Medium Pri-1
Blocking: 654039
qiankun, I've modified 654039 so that that the two bugs are totally separate. One fix should fix both bugs, but I will track and test the Async one.

If you want to take this one (654201), please do so. Thanks!
EDIT:

yunchao: Since you're assigned already, if you want to take this one (654201), please do so. Thanks!

Comment 7 by zmo@chromium.org, Oct 10 2016

Cc: -zmo@chromium.org yunchao...@intel.com
Owner: zmo@chromium.org
Yunchao, I am in the middle of doing refactoring and enhancing validation for MapBufferRange and related commands, and I'd like to take this bug since it is all part of this refactoring.
@zmo, no problem. please go ahead.
Project Member

Comment 9 by bugdroid1@chromium.org, Oct 11 2016

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

commit d186b676595d4cda27feb6f1f9e37ac48636f679
Author: yunchao.he <yunchao.he@intel.com>
Date: Tue Oct 11 01:20:34 2016

Roll WebGL 79ef088..a5f3d8b

https://chromium.googlesource.com/external/khronosgroup/webgl.git/+log/79ef088..a5f3d8b

BUG= 654201 

TEST=bots

CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel

Review-Url: https://codereview.chromium.org/2396403004
Cr-Commit-Position: refs/heads/master@{#424325}

[modify] https://crrev.com/d186b676595d4cda27feb6f1f9e37ac48636f679/DEPS
[modify] https://crrev.com/d186b676595d4cda27feb6f1f9e37ac48636f679/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py

Project Member

Comment 10 by bugdroid1@chromium.org, Oct 25 2016

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

commit 26c35c2e81f97a5b291ebd4d639fc3f1a4cc50e8
Author: zmo <zmo@chromium.org>
Date: Tue Oct 25 00:59:56 2016

Initialize buffers before allowing access to them.

Also, refactor buffer access validation a bit to reduce
duplicated codes.

(Note that this is still part 1 of the work. We have more
buffer access paths that we need to put in buffer access
validation.)

BUG= 654201 
TEST=gpu_unittests, webgl_conformance
R=piman@chromium.org
CQ_INCLUDE_TRYBOTS=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

Review-Url: https://codereview.chromium.org/2435803004
Cr-Commit-Position: refs/heads/master@{#427200}

[modify] https://crrev.com/26c35c2e81f97a5b291ebd4d639fc3f1a4cc50e8/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py
[modify] https://crrev.com/26c35c2e81f97a5b291ebd4d639fc3f1a4cc50e8/content/test/gpu/gpu_tests/webgl_conformance_expectations.py
[modify] https://crrev.com/26c35c2e81f97a5b291ebd4d639fc3f1a4cc50e8/gpu/command_buffer/service/buffer_manager.cc
[modify] https://crrev.com/26c35c2e81f97a5b291ebd4d639fc3f1a4cc50e8/gpu/command_buffer/service/buffer_manager.h
[modify] https://crrev.com/26c35c2e81f97a5b291ebd4d639fc3f1a4cc50e8/gpu/command_buffer/service/buffer_manager_unittest.cc
[modify] https://crrev.com/26c35c2e81f97a5b291ebd4d639fc3f1a4cc50e8/gpu/command_buffer/service/gles2_cmd_decoder.cc
[modify] https://crrev.com/26c35c2e81f97a5b291ebd4d639fc3f1a4cc50e8/gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.h
[modify] https://crrev.com/26c35c2e81f97a5b291ebd4d639fc3f1a4cc50e8/gpu/command_buffer/service/gles2_cmd_decoder_unittest_buffers.cc
[modify] https://crrev.com/26c35c2e81f97a5b291ebd4d639fc3f1a4cc50e8/gpu/command_buffer/service/indexed_buffer_binding_host.cc
[modify] https://crrev.com/26c35c2e81f97a5b291ebd4d639fc3f1a4cc50e8/gpu/command_buffer/service/indexed_buffer_binding_host.h
[modify] https://crrev.com/26c35c2e81f97a5b291ebd4d639fc3f1a4cc50e8/gpu/command_buffer/service/vertex_attrib_manager.cc
[modify] https://crrev.com/26c35c2e81f97a5b291ebd4d639fc3f1a4cc50e8/gpu/command_buffer/service/vertex_attrib_manager.h
[modify] https://crrev.com/26c35c2e81f97a5b291ebd4d639fc3f1a4cc50e8/gpu/command_buffer/service/vertex_attrib_manager_unittest.cc
[modify] https://crrev.com/26c35c2e81f97a5b291ebd4d639fc3f1a4cc50e8/gpu/command_buffer/tests/gl_map_buffer_range_unittest.cc

Comment 11 by kbr@chromium.org, Nov 2 2016

Blockedon: 661186
Project Member

Comment 12 by bugdroid1@chromium.org, Nov 2 2016

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

commit 49f47242e1c13505573e4c469a5f61f7f65f886b
Author: kbr <kbr@chromium.org>
Date: Wed Nov 02 19:57:33 2016

Change BufferManager::RequestBufferAccess signatures to avoid sprintfs.

Using varargs and va_list eliminates the cost of string construction
in the callers.

BUG= 661186 ,  654201 
CQ_INCLUDE_TRYBOTS=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

Review-Url: https://codereview.chromium.org/2468123002
Cr-Commit-Position: refs/heads/master@{#429375}

[modify] https://crrev.com/49f47242e1c13505573e4c469a5f61f7f65f886b/gpu/command_buffer/service/buffer_manager.cc
[modify] https://crrev.com/49f47242e1c13505573e4c469a5f61f7f65f886b/gpu/command_buffer/service/buffer_manager.h
[modify] https://crrev.com/49f47242e1c13505573e4c469a5f61f7f65f886b/gpu/command_buffer/service/vertex_attrib_manager.cc

Comment 13 by zmo@chromium.org, Nov 5 2016

Status: Fixed (was: Assigned)

Sign in to add a comment