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

Issue 625738 link

Starred by 5 users

Issue metadata

Status: Assigned
Owner:
OOO until 2019-01-24
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Bug

Blocked on:
issue 612542

Blocking:
issue 570453



Sign in to add a comment

tex-sub-image-2d-bad-args.html failed when texImage2D go gpu-gpu fast path

Project Member Reported by yunchao...@intel.com, Jul 5 2016

Issue description

When the format/type of texSubImage2D is not the same as format/type in corresponding texImage2D, Browser should generate INVALID_OPERATION. Chromium doesn't obey to this rule for gpu-to-gpu fast path for texSubImage2D, making some test cases in tex-sub-image-2d-bad-args.html failed. For instance https://github.com/KhronosGroup/WebGL/blob/master/sdk/tests/conformance/textures/misc/tex-sub-image-2d-bad-args.html#L132 and https://github.com/KhronosGroup/WebGL/blob/master/sdk/tests/conformance/textures/misc/tex-sub-image-2d-bad-args.html#L135 will fail on some drivers.

 

Comment 1 Deleted

Cc: yang...@intel.com
Here comes the analysis in detail. The validations in GLES2DecoderImpl::HandleTexSubImage2D for format/type against format/type in previous call site of TexImage2D are done by https://blink.lc/chromium/tree/gpu/command_buffer/service/texture_manager.cc#n2197 for argument 'format', and https://blink.lc/chromium/tree/gpu/command_buffer/service/texture_manager.cc#n2539 for argument 'type'. However, gpu-to-gpu fast path will not call into GLES2DecoderImpl::HandleTexSubImage2D, so the code is not executed. Besides, validations in Blink webgl side has been removed, see the patch https://codereview.chromium.org/1684973002, and crbug https://bugs.chromium.org/p/chromium/issues/detail?id=570453. 

The gpu-to-gpu fast path call stack for the failed cases:
WebGLRenderingContextBase::texSubImage2D will call into WebGLRenderingContextBase::texImageHelperHTMLCanvasElement, then execute the gpu-to-gpu fast path if possible: https://blink.lc/chromium/tree/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp#n4388. 

Any thoughts about this bug, @zmo and @kbr? Should we add some validations back to WebGLRenderingContextBase.cpp, and add setLevelInfo/getInternalFormat/getType again in TextureManager in Blink WebGL side? 
It's strange why not all drivers fail on this test. 

Comment 4 by zmo@chromium.org, Jul 5 2016

In the current framework it's not possible to fix this bug unless we want to put back tex state tracking to blink side.

However, kbr is planning on upgrade the gpu-to-gpu path to handle all formats.  Once that's done, this bug will be automatically fixed.
Owner: kbr@chromium.org
Status: Assigned (was: Untriaged)
@qinakun. Yang found this bug with and without --ignore-gpu-blacklist command line parameter when he run Chromium yesterday. I suppose that the gpu-to-gpu path depends on some configs which may vary on different HWs. 

@zmo, that's OK. I would like to mark kbr as the owner of this bug to remind him. If you have some instructions, I can also help to upgrade gpu-to-gpu path. 

Comment 6 by kbr@chromium.org, Jul 7 2016

Blockedon: 612542

Comment 7 by kbr@chromium.org, Jul 7 2016

Blocking this on the other bug. Once fixed, will re-evaluate.

Project Member

Comment 8 by bugdroid1@chromium.org, Nov 12

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

commit a5f88b7e35a567c40e25e21b285ec7e8c687e6d6
Author: James Darpinian <jdarpinian@chromium.org>
Date: Mon Nov 12 23:09:19 2018

Cleaning up WebGL test failure expectations.

Many of these are leftover failure expectations from fixed bugs.
Some were fixed on some platforms but not others. There are some
new failures that were hidden by previous broad suppressions. Also
some tests are only failing because we haven't updated the drivers
on the bots (http://crbug.com/887241).

Bug:  757097 ,  838133 ,  672380 , 625738,  angleproject:2325 
Bug:  534697 , 849572, 625738, 703779,  angleproject:2142 
Bug: 757098, 644740, 705865, 602688,  angleproject:2103 
Bug: 903903,  740769 , 662644,  680720 ,  angleproject:1932 
Bug:  709874 , 887241,  625365 , angleproject:2952
Change-Id: I4e39e5a09d31d788d8a8615ad06d1ec88f064f00
Reviewed-on: https://chromium-review.googlesource.com/c/1325197
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#607367}
[modify] https://crrev.com/a5f88b7e35a567c40e25e21b285ec7e8c687e6d6/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py
[modify] https://crrev.com/a5f88b7e35a567c40e25e21b285ec7e8c687e6d6/content/test/gpu/gpu_tests/webgl_conformance_expectations.py
[modify] https://crrev.com/a5f88b7e35a567c40e25e21b285ec7e8c687e6d6/content/test/gpu/gpu_tests/webgl_conformance_expectations_unittest.py

Sign in to add a comment