Closed Bug 1290774 Opened 8 years ago Closed 6 years ago

WebGL 1.0.3 conformance error: conformance/extensions/webgl-draw-buffers.html

Categories

(Core :: Graphics: CanvasWebGL, defect, P3)

50 Branch
defect

Tracking

()

RESOLVED FIXED
mozilla67
Tracking Status
firefox50 --- wontfix
firefox67 --- fixed

People

(Reporter: lukebenes, Assigned: jgilbert)

References

(Blocks 1 open bug)

Details

(Whiteboard: [gfx-noted])

Attachments

(2 files, 1 obsolete file)

From: https://www.khronos.org/registry/webgl/conformance-suites/1.0.3/conformance/extensions/webgl-draw-buffers.html?webglVersion=1 This is Passing in FF 47 but with 50.0a1 (2016-07-31) Nightly on Intel HD 4000 in Ubuntu 16.04, I'm getting the following failures: test that gl_FragColor broadcasts FAIL at (0, 0) expected: 255,0,0,255 was 0,255,0,255 FAIL at (0, 0) expected: 255,0,0,255 was 0,255,0,255 FAIL at (0, 0) expected: 255,0,0,255 was 0,255,0,255 FAIL at (0, 0) expected: 255,0,0,255 was 0,255,0,255 FAIL at (0, 0) expected: 255,0,0,255 was 0,255,0,255 FAIL at (0, 0) expected: 255,0,0,255 was 0,255,0,255 FAIL at (0, 0) expected: 255,0,0,255 was 0,255,0,255 test setting first half to NONE and clearing FAIL at (0, 0) expected: 255,0,0,255 was 0,255,0,255 FAIL at (0, 0) expected: 255,0,0,255 was 0,255,0,255 FAIL at (0, 0) expected: 255,0,0,255 was 0,255,0,255 test setting first half to NONE and drawing FAIL at (0, 0) expected: 255,0,0,255 was 0,255,0,255 FAIL at (0, 0) expected: 255,0,0,255 was 0,255,0,255 FAIL at (0, 0) expected: 255,0,0,255 was 0,255,0,255
Blocks: webgl-103
Whiteboard: [gfx-noted]
I'm also seeing this regression on both HD 4000 and HD 5000 mozregression results: INFO: Narrowed inbound regression window from [8ae1c435, 6a5a741a] (3 revisions) to [8ae1c435, f8ada839] (2 revisions) (~1 steps left) 19:24.99 INFO: Oh noes, no (more) inbound revisions :( 19:24.99 INFO: Last good revision: 8ae1c435a0939dc96ce47b977d8c78524829444f 19:24.99 INFO: First bad revision: f8ada839cad0cad17040174331ff92afd96ec0e1 19:24.99 INFO: Pushlog: https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=8ae1c435a0939dc96ce47b977d8c78524829444f&tochange=f8ada839cad0cad17040174331ff92afd96ec0e1 19:25.58 INFO: Looks like the following bug has the changes which introduced the regression: https://bugzilla.mozilla.org/show_bug.cgi?id=1288638 Jeff, Could you please take a look at this?
Flags: needinfo?(jgilbert)
See Also: → 1288638
Still happening on recent Firefox builds. Doesn't occur on Chrome anymore https://bugs.chromium.org/p/chromium/issues/detail?id=635433. Looks that the root cause in ANGLE has been addressed. Will ANGLE be updated in the next rev?
I am looking at this. It's generally something we can work around (which we need to do on mac anyway), but we should also be getting an ANGLE update in 58 too.
Assignee: nobody → jgilbert
Flags: needinfo?(jgilbert)
Thanks, given this was fixed in Dec 2016, I was surprised still seeing this issue in 56 & 57
The only failure here on Windows and Mac is that we broadcast when we shouldnt't, but this is unlikely to cause bugs in actual content, and so is relatively low priority.
Fair point, but since the problem is fixed elsewhere it's still surprising, though it may not be a common use scenario.
(In reply to Paul Blinzer from comment #7) > Fair point, but since the problem is fixed elsewhere it's still surprising, > though it may not be a common use scenario. It shouldn't be being hit in practice. The behavior we have now (which is buggy wrt the webgl spec) is actually the spec-standard behavior for desktop gl, and potentially gles.

MozReview-Commit-ID: HhGKDVWXR1A

Pushed by jgilbert@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/58fe5a3d3c40 Validate frag shader output types match draw buffer types. r=lsalzman

Backed out changeset 58fe5a3d3c40 (Bug 1290774) for causing build bustages on WebGLContextDraw.

Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&resultStatus=testfailed%2Cbusted%2Cexception&fromchange=58fe5a3d3c403199b9ff87d2f5051fd6e0564a45&tochange=d6cd114bf585f724c94c3b97959785230911cd51&selectedJob=225369614

Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=225369614&repo=autoland&lineNumber=32630

Backout link: https://hg.mozilla.org/integration/autoland/rev/d6cd114bf585f724c94c3b97959785230911cd51

[task 2019-02-01T03:53:51.204Z] 03:53:51 INFO - make[4]: Entering directory '/builds/worker/workspace/build/src/obj-firefox/dom/canvas'
[task 2019-02-01T03:53:51.215Z] 03:53:51 INFO - /builds/worker/workspace/build/src/sccache2/sccache /builds/worker/workspace/build/src/clang/bin/clang++ --target=i686-linux-gnu -o Unified_cpp_dom_canvas1.o -c -I/builds/worker/workspace/build/src/obj-firefox/dist/stl_wrappers -I/builds/worker/workspace/build/src/obj-firefox/dist/system_wrappers -include /builds/worker/workspace/build/src/config/gcc_hidden.h -DNDEBUG=1 -DTRIMMED=1 -DOS_POSIX=1 -DOS_LINUX=1 -DSTATIC_EXPORTABLE_JS_API -DMOZ_HAS_MOZGLUE -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -I/builds/worker/workspace/build/src/dom/canvas -I/builds/worker/workspace/build/src/obj-firefox/dom/canvas -I/builds/worker/workspace/build/src/js/xpconnect/wrappers -I/builds/worker/workspace/build/src/obj-firefox/ipc/ipdl/_ipdlheaders -I/builds/worker/workspace/build/src/ipc/chromium/src -I/builds/worker/workspace/build/src/ipc/glue -I/builds/worker/workspace/build/src/dom/base -I/builds/worker/workspace/build/src/dom/html -I/builds/worker/workspace/build/src/dom/svg -I/builds/worker/workspace/build/src/dom/workers -I/builds/worker/workspace/build/src/dom/xul -I/builds/worker/workspace/build/src/gfx/angle/checkout/include -I/builds/worker/workspace/build/src/gfx/gl -I/builds/worker/workspace/build/src/image -I/builds/worker/workspace/build/src/js/xpconnect/src -I/builds/worker/workspace/build/src/layout/generic -I/builds/worker/workspace/build/src/layout/style -I/builds/worker/workspace/build/src/layout/xul -I/builds/worker/workspace/build/src/media/libyuv/libyuv/include -I/builds/worker/workspace/build/src/gfx/skia -I/builds/worker/workspace/build/src/gfx/skia/skia/include/config -I/builds/worker/workspace/build/src/gfx/skia/skia/include/core -I/builds/worker/workspace/build/src/gfx/skia/skia/include/docs -I/builds/worker/workspace/build/src/gfx/skia/skia/include/gpu -I/builds/worker/workspace/build/src/gfx/skia/skia/include/utils -I/builds/worker/workspace/build/src/obj-firefox/dist/include -I/builds/worker/workspace/build/src/obj-firefox/dist/include/nspr -I/builds/worker/workspace/build/src/obj-firefox/dist/include/nss -fPIC -DMOZILLA_CLIENT -include /builds/worker/workspace/build/src/obj-firefox/mozilla-config.h -Qunused-arguments -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -Qunused-arguments -Wall -Wbitfield-enum-conversion -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wshadow-field-in-constructor-modified -Wsign-compare -Wtype-limits -Wunreachable-code -Wunreachable-code-return -Wwrite-strings -Wno-invalid-offsetof -Wclass-varargs -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wloop-analysis -Wc++1z-compat -Wc++2a-compat -Wcomma -Wimplicit-fallthrough -Werror=non-literal-null-conversion -Wstring-conversion -Wtautological-overlap-compare -Wtautological-unsigned-enum-zero-compare -Wtautological-unsigned-zero-compare -Wno-inline-new-delete -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=return-std-move -Wno-error=atomic-alignment -Wformat -Wformat-security -Wno-gnu-zero-variadic-macro-arguments -Wno-unknown-warning-option -Wno-return-type-c-linkage -D_GLIBCXX_USE_CXX11_ABI=0 -fno-sized-deallocation -fcrash-diagnostics-dir=/builds/worker/artifacts -march=pentium-m -msse -msse2 -mfpmath=sse -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-exceptions -fno-strict-aliasing -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -pthread -pipe -g -Xclang -load -Xclang /builds/worker/workspace/build/src/obj-firefox/build/clang-plugin/libclang-plugin.so -Xclang -add-plugin -Xclang moz-check -O2 -fno-omit-frame-pointer -funwind-tables -Werror -I/builds/worker/workspace/build/src/obj-firefox/dist/include/cairo -I/builds/worker/workspace/build/src/widget/gtk/compat-gtk3 -pthread -I/usr/include/gtk-3.0 -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/pixman-1 -I/usr/include/libpng12 -I/usr/include/gtk-3.0/unix-print -Wno-error=shadow -Wno-missing-braces -MD -MP -MF .deps/Unified_cpp_dom_canvas1.o.pp /builds/worker/workspace/build/src/obj-firefox/dom/canvas/Unified_cpp_dom_canvas1.cpp
[task 2019-02-01T03:53:51.215Z] 03:53:51 INFO - In file included from /builds/worker/workspace/build/src/obj-firefox/dom/canvas/Unified_cpp_dom_canvas1.cpp:137:
[task 2019-02-01T03:53:51.215Z] 03:53:51 ERROR - /builds/worker/workspace/build/src/dom/canvas/WebGLContextDraw.cpp:341:15: error: redefinition of 'fb'
[task 2019-02-01T03:53:51.215Z] 03:53:51 INFO - const auto& fb = webgl->mBoundDrawFramebuffer;
[task 2019-02-01T03:53:51.215Z] 03:53:51 INFO - ^
[task 2019-02-01T03:53:51.215Z] 03:53:51 INFO - /builds/worker/workspace/build/src/dom/canvas/WebGLContextDraw.cpp:218:15: note: previous definition is here
[task 2019-02-01T03:53:51.215Z] 03:53:51 INFO - const auto& fb = webgl->mBoundDrawFramebuffer;
[task 2019-02-01T03:53:51.215Z] 03:53:51 INFO - ^
[task 2019-02-01T03:53:51.215Z] 03:53:51 INFO - 1 error generated.
[task 2019-02-01T03:53:51.215Z] 03:53:51 INFO - /builds/worker/workspace/build/src/config/rules.mk:1101: recipe for target 'Unified_cpp_dom_canvas1.o' failed
[task 2019-02-01T03:53:51.215Z] 03:53:51 ERROR - make[4]: *** [Unified_cpp_dom_canvas1.o] Error 1
[task 2019-02-01T03:53:51.215Z] 03:53:51 INFO - make[4]: Leaving directory '/builds/worker/workspace/build/src/obj-firefox/dom/canvas'
[task 2019-02-01T03:53:51.215Z] 03:53:51 INFO - make[4]: *** Waiting for unfinished jobs....

Flags: needinfo?(jgilbert)

Can you re-review the updated patch?

Flags: needinfo?(jgilbert) → needinfo?(lsalzman)
Flags: needinfo?(lsalzman)

MozReview-Commit-ID: FXQaUzJ0fDy

Pushed by jgilbert@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/c5f938f57394 Validate frag shader output types match draw buffer types. r=lsalzman
Attachment #9041306 - Attachment is obsolete: true
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla67
Depends on: 1525857

This has regressed on Linux. In Fedora 28 / Ubuntu 18.04 with an Intel HD 4000 / 5000, failing with:

conformance/extensions/webgl-draw-buffers.html (258 of 260 passed)

failed: at (0, 0) expected: 255,0,0,255 was 0,255,0,255
failed: getError expected: NO_ERROR. Was INVALID_OPERATION : there should be no errors

Tested on 67.0a1 (2019-02-07) (32-bit)

You want to file a new bug report for this regression or track it here?

The spec and test are in flux: https://github.com/KhronosGroup/WebGL/pull/2780
This bug implements WebGL#2780, so that test failure is expected for the moment.

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: