Open Bug 1371758 Opened 8 years ago Updated 2 years ago

WebGL 2 conformance test deqp/functional/gles3/builtinprecision/inverse.html and deqp/functional/gles3/builtinprecision/cross.html failures

Categories

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

55 Branch
ARM
Android
defect

Tracking

()

People

(Reporter: jujjyl, Unassigned)

Details

(Whiteboard: [gfx-noted])

Running either of https://www.khronos.org/registry/webgl/sdk/tests/deqp/functional/gles3/builtinprecision/inverse.html?webglVersion=2&quiet=0 https://www.khronos.org/registry/webgl/sdk/tests/deqp/functional/gles3/builtinprecision/cross.html?webglVersion=2&quiet=0 fail on - LG Nexus 5 - Android 6.0.1, Kernel 3.4.0-gcf10b7e (hammerhead M4B30Z), Fennec 55.0a1 (2017-05-19) - Qualcomm Adreno 330, OpenGL ES 3.0 V@127.9 AU@(GIT@I98aee987eb) but pass on - Apple MacBook Pro 13" 2016 - macOS Sierra 10.12.3 - Firefox Nightly 55.0a1 (2017-05-21) (64-bit) - Intel Iris Graphics 550 1536 MB 4.1 INTEL-10.22.29 - Apple Mac Mini (Late 2012) - Ubuntu 16.04 Xenial, Kernel 4.4.0-78-generic 64-bit - Firefox 55.0a1 (2017-05-22) (64-bit) - Intel HD Graphics 4000, Intel Mesa DRI Ivybridge Mobile, OpenGL 3.3 (Core Profile) Mesa 12.0.6 - Apple Mac Pro (Late 2013) - OS X El Capitan 10.11.6 - Firefox 55.0a1 (2017-05-22) (64-bit) - AMD FirePro D500 4.1 ATI-1.42.15 - HP Notebook 14-am009no 14" - Windows 10 Home - Firefox 55.0a1 (2017-05-22) (64-bit) - Intel HD Graphics (Intel HD 400?) Direct3D 11, 20.19.15.4509 9-1-2016, OpenGL ES 3.0 (ANGLE 2.1.0.dec065540d5f) - Haswell - Windows 10 Home 64-bit - Firefox 55.0a1 (2017-05-22) (64-bit) - 2x ASUS NVidia GeForce GTX 1080 Ti Direct3D 11, v22.21.13.8189 (4-19-2017), OpenGL ES 3.0 (ANGLE 2.1.0.dec065540d5f) - Intel NUC6i7KYB Skull Canyon - Windows 10 Pro 10.0.14393 64-bit, Firefox 55.0a1 (2017-05-22) (64-bit) - Intel Iris Pro Graphics 580, 21.20.16.4534 (10-7-2016), OpenGL ES 3.0 (ANGLE 2.1.0.dec065540d5f) - Supermicro X10DAX 1.02 - Linux Mint 18 Sarah, Kernel 4.4.0-36-generic 64-bit, Firefox 55.0a1 (2017-05-22) (64-bit) - ASUS GeForce GTX 1060 OpenGL 3.2.0, NVIDIA 370.28 - Microsoft Surface Pro 2 - Windows 10 Pro, Firefox 55.0a1 (2017-05-22) (64-bit) - Intel HD Graphics 4400 Direct3D11 v20.19.15.4331 (11-18-2015), OpenGL ES 3.0 (ANGLE 2.1.0.dec065540d5f) - Google Pixel XL - Android 7.1.2, Kernel 3.18.31-g416bf43 (marlin N2G47O), Fennec 55.0a1 (2017-05-19) - Qualcomm Adreno 530, OpenGL ES 3.2 V@145.0 (GIT@Idb2b4cb785) - Samsung Galaxy S7 Edge SM-G935F - Android 7.0, Kernel 3.18.14-11104523 (NRD90M), Fennec 55.0a1 (2017-05-19), ARM Mali-T880, OpenGL ES 3.2 v1.r12p1-03dev0.228ab63cced004f840e7dd47b762a1d0 - Huawei P10 Plus - Android 7.0, Kernel 4.1.18-gfd75bbb (VKY-L29), Fennec 55.0a1 (2017-05-19) - ARM Mali-G71, OpenGL ES 3.2 v1.r2p0-02dev0.f7269486f3e0e3b308edf85872e361f4
Priority: -- → P5
Whiteboard: [gfx-noted]
Severity: normal → S3

The issue you're facing with WebGL 2 conformance tests deqp/functional/gles3/builtinprecision/inverse.html and deqp/functional/gles3/builtinprecision/cross.html failures can be resolved by following a systematic debugging and resolution process. Here's a general approach to addressing these types of failures:

Isolate the Problem:

First, confirm that the failures are reproducible. Ensure that the failures are consistent and not intermittent.
Review the Test Code:

Inspect the test code for both inverse.html and cross.html to understand the specific test cases that are failing. Check for any errors or anomalies in the test code itself.
Check WebGL Implementation:

Verify that your WebGL 2 implementation adheres to the specification and standards. This includes verifying that the precision requirements for built-in functions like inverse() and cross() are met.
Check Shader Code:

Examine the shaders used in the failing tests. Ensure that the shaders are correct and that there are no issues with data types, precision qualifiers, or other aspects that could affect the test results.
Debugging Output:

If available, inspect any debugging or error output generated by the tests. This may provide valuable information about what went wrong.
Relevant Documentation:

Refer to the official WebGL 2 specification and documentation to make sure you are using built-in functions correctly and that your WebGL implementation is in compliance.
Compare Results: https://treeherder.mozilla.org/jobs?repo=mozilla-central&revision=bdfe643caf38aae40683a8229aac211021813'teatimeresultco.za'3

Compare the results of the failing tests with the expected results specified in the WebGL 2 specification or test documentation. Identify any discrepancies.
Modify and Re-run:

If you identify specific issues in the test code or shaders, make the necessary corrections. Ensure that you adhere to WebGL 2 precision requirements.
Re-run the tests to see if the issues have been resolved. Make sure to monitor for any new failures that might be introduced.
Regression Testing:

After making corrections, perform regression testing on other WebGL 2 conformance tests to ensure that your changes have not introduced new issues elsewhere.
Review with WebGL Community:

If the issues persist, consider discussing the problems with the WebGL community, which may include other developers and experts who can provide insights and solutions.
Update WebGL Implementation:

If the problem is identified as a bug in your WebGL implementation, work on updating the implementation to address the failures.
Documentation and Reporting:

Document the issues, the steps taken to resolve them, and the final resolution. This documentation can be valuable for your team and the broader development community.
Testing Environment and Hardware:

Ensure that the testing environment, including hardware and drivers, is consistent and up to date. Outdated drivers or hardware issues can sometimes lead to test failures.
Continuous Monitoring:

Continue to monitor the WebGL 2 conformance tests to ensure that these specific failures do not reoccur in future releases.
Keep in mind that addressing WebGL 2 conformance test failures often requires close attention to the details of the WebGL 2 specification and the precise implementation of the WebGL API. Collaboration with the WebGL community can also be beneficial in resolving complex issues.

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