New issue
Advanced search Search tips

Issue 866089 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Nov 28
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocking:
issue 662644


Participants' hotlists:
webgl-conformance-all


Sign in to add a comment

Transform feedback must fail if same buffer is bound to two binding points

Project Member Reported by kbr@chromium.org, Jul 20

Issue description

Per resolution by the WebGL working group in this pull request:
https://github.com/KhronosGroup/WebGL/pull/2658

Draw calls doing transform feedback must fail if the same buffer is bound to two different transform feedback attributes (using separate rather than interleaved attributes).

The new test conformance2/transform_feedback/same-buffer-two-binding-points.html is failing on all platforms right now:

https://ci.chromium.org/p/chromium/builders/luci.chromium.try/linux_angle_rel_ng/2341
https://ci.chromium.org/p/chromium/builders/luci.chromium.try/linux_optional_gpu_tests_rel/6289
https://ci.chromium.org/p/chromium/builders/luci.chromium.try/mac_optional_gpu_tests_rel/6887
https://ci.chromium.org/p/chromium/builders/luci.chromium.try/win_angle_rel_ng/2122
https://ci.chromium.org/p/chromium/builders/luci.chromium.try/win_optional_gpu_tests_rel/5256

 
Project Member

Comment 1 by bugdroid1@chromium.org, Jul 21

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

commit 6f64860d89fdb6d3397286e722b42f18c7df7db7
Author: Kenneth Russell <kbr@chromium.org>
Date: Sat Jul 21 02:54:54 2018

Roll WebGL a5c263c..21dbf06

https://chromium.googlesource.com/external/khronosgroup/webgl.git/+log/a5c263c..21dbf06

Bug:  830901 , 851870, 851873,  859400 ,  866089 
Tbr: zmo@chromium.org
Tbr: kainino@chromium.org
Cq-Include-Trybots: luci.chromium.try:win_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_angle_rel_ng;luci.chromium.try:win_angle_rel_ng
Change-Id: Icef8ddc970ccb6653e95920c28b4d003d1b27100
Reviewed-on: https://chromium-review.googlesource.com/1144306
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#577063}
[modify] https://crrev.com/6f64860d89fdb6d3397286e722b42f18c7df7db7/DEPS
[modify] https://crrev.com/6f64860d89fdb6d3397286e722b42f18c7df7db7/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py
[modify] https://crrev.com/6f64860d89fdb6d3397286e722b42f18c7df7db7/content/test/gpu/gpu_tests/webgl_conformance_revision.txt

Cc: -oetu...@nvidia.com
Owner: jdarpinian@chromium.org
Status: Assigned (was: Available)
Project Member

Comment 4 by bugdroid1@chromium.org, Nov 27

The following revision refers to this bug:
  https://chromium.googlesource.com/angle/angle/+/471b8d4c7383298792e185eaae59347be9ae8601

commit 471b8d4c7383298792e185eaae59347be9ae8601
Author: James Darpinian <jdarpinian@chromium.org>
Date: Tue Nov 27 08:50:46 2018

WebGL, D3D: Forbid multiple TF outputs in one buffer

Implementing a WebGL spec change:
https://github.com/KhronosGroup/WebGL/pull/2658
Fixes WebGL 2 conformance test:
conformance2/transform_feedback/same-buffer-two-binding-points.html

Also applying the change to D3D backends because they can't support
multiple transform feedback outputs in one buffer.

Bug:  chromium:866089 
Change-Id: I8d7eda14225c13efb7ca1ed974239332be4e79a6
Reviewed-on: https://chromium-review.googlesource.com/c/1347749
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>

[modify] https://crrev.com/471b8d4c7383298792e185eaae59347be9ae8601/src/libANGLE/Buffer.cpp
[modify] https://crrev.com/471b8d4c7383298792e185eaae59347be9ae8601/src/libANGLE/ErrorStrings.h
[modify] https://crrev.com/471b8d4c7383298792e185eaae59347be9ae8601/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp
[modify] https://crrev.com/471b8d4c7383298792e185eaae59347be9ae8601/src/libANGLE/validationES3.cpp
[modify] https://crrev.com/471b8d4c7383298792e185eaae59347be9ae8601/src/libANGLE/Buffer.h
[modify] https://crrev.com/471b8d4c7383298792e185eaae59347be9ae8601/src/libANGLE/Caps.h
[modify] https://crrev.com/471b8d4c7383298792e185eaae59347be9ae8601/src/libANGLE/Caps.cpp
[modify] https://crrev.com/471b8d4c7383298792e185eaae59347be9ae8601/src/tests/gl_tests/WebGLCompatibilityTest.cpp

Blocking: 662644
Labels: webgl-conformance
Project Member

Comment 7 by bugdroid1@chromium.org, Nov 27

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

commit edf93e9e7c14679be9923f7a425b57127181a6eb
Author: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com>
Date: Tue Nov 27 21:16:28 2018

Roll src/third_party/angle 5552cdf032dd..4f2b94cb9a6b (3 commits)

https://chromium.googlesource.com/angle/angle.git/+log/5552cdf032dd..4f2b94cb9a6b


git log 5552cdf032dd..4f2b94cb9a6b --date=short --no-merges --format='%ad %ae %s'
2018-11-27 geofflang@chromium.org Expose EXT_color_buffer_half_float if RGBA16F is renderable.
2018-11-27 jiajia.qin@intel.com ES31: Add swizzle support in SSBO (Part 1)
2018-11-27 jdarpinian@chromium.org WebGL, D3D: Forbid multiple TF outputs in one buffer


Created with:
  gclient setdep -r src/third_party/angle@4f2b94cb9a6b

The AutoRoll server is located here: https://autoroll.skia.org/r/angle-chromium-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel

BUG= chromium:866089 
TBR=fjhenigman@chromium.org

Change-Id: I2f9f64d4e1a188df1612ecfb8c66b6129dc5a202
Reviewed-on: https://chromium-review.googlesource.com/c/1352244
Reviewed-by: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#611325}
[modify] https://crrev.com/edf93e9e7c14679be9923f7a425b57127181a6eb/DEPS

Project Member

Comment 8 by bugdroid1@chromium.org, Nov 28

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

commit 75ece1742b60bcca5e1dfb28a7bb16b4496b97bc
Author: James Darpinian <jdarpinian@chromium.org>
Date: Wed Nov 28 00:44:31 2018

gpu: Forbid binding one buffer to two transform feedback outputs

Implementing a WebGL spec change:
https://github.com/KhronosGroup/WebGL/pull/2658
Fixes WebGL 2 conformance test:
conformance2/transform_feedback/same-buffer-two-binding-points.html

We want to forbid this for all GL contexts, not just WebGL ones, because
it is also forbidden by DirectX, so ANGLE can't efficiently implement
it.

Bug:  866089 
Change-Id: Ibf57adf513eca05b46b93d2139ba038d488c9cc9
Reviewed-on: https://chromium-review.googlesource.com/c/1346994
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
Cr-Commit-Position: refs/heads/master@{#611468}
[modify] https://crrev.com/75ece1742b60bcca5e1dfb28a7bb16b4496b97bc/content/test/gpu/gpu_tests/webgl2_conformance_expectations.py
[modify] https://crrev.com/75ece1742b60bcca5e1dfb28a7bb16b4496b97bc/gpu/command_buffer/service/buffer_manager.h
[modify] https://crrev.com/75ece1742b60bcca5e1dfb28a7bb16b4496b97bc/gpu/command_buffer/service/gles2_cmd_decoder.cc

Status: Fixed (was: Assigned)

Sign in to add a comment