Changeset 232783 in webkit


Ignore:
Timestamp:
Jun 12, 2018, 5:27:15 PM (7 years ago)
Author:
achristensen@apple.com
Message:

Import the 2.0.0 version of Khronos WebGL conformance suite
https://bugs.webkit.org/show_bug.cgi?id=181293
<rdar://problem/40654103>

Patch by Justin Fan <Justin Fan> on 2018-06-07
Reviewed by Dean Jackson.

Original description and patch by Zan Dobersek <zdobersek@igalia.com>.
Retrying patch with up-to-date revision of conformance suite:

"Import the 2.0.0 version of the WebGL conformance suite that's
maintained under the Khronos organization on GitHub:
https://github.com/KhronosGroup/WebGL.git

The following revision of this repository has been used for importing:
8ea92581353d18f50d25159489897ae634eb23b1

For importing purposes, the generate-webgl-tests.py script is modified
to import tests at version 2.0.0 or below. 2.0 is now used as the
default version for importing purposes. Additionally, the
GreaterThanOrEqualToVersion function is fixed to correctly compare 2.x
versions against 1.x.

The following generate-webgl-tests.py invocation was used:
$ python generate-webgl-tests.py -e -w ~/WebGL/conformance-suites/2.0.0

The 2.0.0 version of the conformance suite is composed of three parts:

  • tests under conformance/ cover WebGL1 functionality,
  • tests under conformance2/ cover WebGL2 functionality,
  • tests under deqp/ are a port of the dEQP suite.

webkit-webgl-test-harness.js file is added under webgl/2.0.0/resources/
to properly integrate the imported tests with the WebKit testing
facilities.

The complete suite is for now skipped on all platforms. WebGL1 tests
should be passing in majority, with failures in that part of the suite
mirroring the ones experienced in the current 1.0.2 and 1.0.3 suites.
The WebGL2 support is still incomplete, and the conformance2/ pass rate
will reflect that. dEQP in majority utilizes WebGL2, so the pass rate
is similarly poor.

List of imported conformance suite files is omitted for brevity."

  • TestExpectations: Skip the WebGL 1 (conformance) and WebGL 2 (conformance2) tests
  • webgl/2.0.0/conformance: Added.
  • webgl/2.0.0/conformance2: Added.
  • webgl/2.0.0/deqp: Added.
  • webgl/2.0.0/resources: Added.
  • webgl/2.0.0/resources/webkit-webgl-test-harness.js:

(window.layoutTestController.window.console.log):
(window.layoutTestController.window.console.error):
(log):
(window.webglTestHarness.reportResults):
(window.webglTestHarness.notifyFinished):

  • webgl/generate-webgl-tests.py:

(GreaterThanOrEqualToVersion):

  • webgl/resources/js-test-pre.js:

(window.console.log):
(window.console.error):
(initNonKhronosFramework):
(this.initTestingHarness):
(nonKhronosFrameworkNotifyDone):
(reportTestResultsToHarness):
(notifyFinishedToHarness):
(_logToConsole):
(enableJSTestPreVerboseLogging):
(description):
(_addSpan):
(debug):
(escapeHTML):
(testPassed):
(testFailed):
(areArraysEqual):
(isMinusZero):
(isResultCorrect):
(stringify):
(evalAndLog):
(shouldBe):
(shouldNotBe):
(shouldBeTrue):
(shouldBeFalse):
(shouldBeNaN):
(shouldBeNull):
(shouldBeEqualToString):
(shouldEvaluateTo):
(shouldBeNonZero):
(shouldBeNonNull):
(shouldBeUndefined):
(shouldBeDefined):
(shouldBeGreaterThanOrEqual):
(expectTrue):
(shouldThrow):
(assertMsg):
(gc.gcRec):
(gc):
(finishTest):

  • webgl/resources/webgl-test-harness.js:

(log):
(try.request.onreadystatechange):
(loadTextFileAsynchronous):
(getMajorVersion):
(getURLWithOptions):
(greaterThanOrEqualToVersion):
(copyObject):
(toCamelCase):
(getFileListImpl):
(getFileList):
(FilterURL):
(TestFile):
(Test):
(TestHarness):
(TestHarness.prototype.addFiles_):
(TestHarness.prototype.runTests):
(TestHarness.prototype.setTimeout):
(TestHarness.prototype.clearTimeout):
(TestHarness.prototype.startNextTest):
(TestHarness.prototype.startTest):
(TestHarness.prototype.getTest):
(TestHarness.prototype.reportResults):
(TestHarness.prototype.dequeTest):
(TestHarness.prototype.notifyFinished):
(TestHarness.prototype.timeout):
(TestHarness.prototype.setTimeoutDelay):
(WebGLTestHarnessModule):

Location:
trunk/LayoutTests
Files:
10271 added
3 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified trunk/LayoutTests/ChangeLog

    r232781 r232783  
     12018-06-07  Justin Fan  <justin_fan@apple.com>
     2
     3        Import the 2.0.0 version of Khronos WebGL conformance suite
     4        https://bugs.webkit.org/show_bug.cgi?id=181293
     5        <rdar://problem/40654103>
     6
     7        Reviewed by Dean Jackson.
     8
     9        Original description and patch by Zan Dobersek <zdobersek@igalia.com>.
     10        Retrying patch with up-to-date revision of conformance suite:
     11
     12        "Import the 2.0.0 version of the WebGL conformance suite that's
     13        maintained under the Khronos organization on GitHub:
     14        https://github.com/KhronosGroup/WebGL.git
     15
     16        The following revision of this repository has been used for importing:
     17        8ea92581353d18f50d25159489897ae634eb23b1
     18
     19        For importing purposes, the generate-webgl-tests.py script is modified
     20        to import tests at version 2.0.0 or below. 2.0 is now used as the
     21        default version for importing purposes. Additionally, the
     22        GreaterThanOrEqualToVersion function is fixed to correctly compare 2.x
     23        versions against 1.x.
     24
     25        The following generate-webgl-tests.py invocation was used:
     26        $ python generate-webgl-tests.py -e -w ~/WebGL/conformance-suites/2.0.0
     27
     28        The 2.0.0 version of the conformance suite is composed of three parts:
     29        - tests under conformance/ cover WebGL1 functionality,
     30        - tests under conformance2/ cover WebGL2 functionality,
     31        - tests under deqp/ are a port of the dEQP suite.
     32        webkit-webgl-test-harness.js file is added under webgl/2.0.0/resources/
     33        to properly integrate the imported tests with the WebKit testing
     34        facilities.
     35
     36        The complete suite is for now skipped on all platforms. WebGL1 tests
     37        should be passing in majority, with failures in that part of the suite
     38        mirroring the ones experienced in the current 1.0.2 and 1.0.3 suites.
     39        The WebGL2 support is still incomplete, and the conformance2/ pass rate
     40        will reflect that. dEQP in majority utilizes WebGL2, so the pass rate
     41        is similarly poor.
     42
     43        List of imported conformance suite files is omitted for brevity."
     44
     45        * TestExpectations: Skip the WebGL 1 (conformance) and WebGL 2 (conformance2) tests
     46        * webgl/2.0.0/conformance: Added.
     47        * webgl/2.0.0/conformance2: Added.
     48        * webgl/2.0.0/deqp: Added.
     49        * webgl/2.0.0/resources: Added.
     50        * webgl/2.0.0/resources/webkit-webgl-test-harness.js:
     51        (window.layoutTestController.window.console.log):
     52        (window.layoutTestController.window.console.error):
     53        (log):
     54        (window.webglTestHarness.reportResults):
     55        (window.webglTestHarness.notifyFinished):
     56        * webgl/generate-webgl-tests.py:
     57        (GreaterThanOrEqualToVersion):
     58        * webgl/resources/js-test-pre.js:
     59        (window.console.log):
     60        (window.console.error):
     61        (initNonKhronosFramework):
     62        (this.initTestingHarness):
     63        (nonKhronosFrameworkNotifyDone):
     64        (reportTestResultsToHarness):
     65        (notifyFinishedToHarness):
     66        (_logToConsole):
     67        (enableJSTestPreVerboseLogging):
     68        (description):
     69        (_addSpan):
     70        (debug):
     71        (escapeHTML):
     72        (testPassed):
     73        (testFailed):
     74        (areArraysEqual):
     75        (isMinusZero):
     76        (isResultCorrect):
     77        (stringify):
     78        (evalAndLog):
     79        (shouldBe):
     80        (shouldNotBe):
     81        (shouldBeTrue):
     82        (shouldBeFalse):
     83        (shouldBeNaN):
     84        (shouldBeNull):
     85        (shouldBeEqualToString):
     86        (shouldEvaluateTo):
     87        (shouldBeNonZero):
     88        (shouldBeNonNull):
     89        (shouldBeUndefined):
     90        (shouldBeDefined):
     91        (shouldBeGreaterThanOrEqual):
     92        (expectTrue):
     93        (shouldThrow):
     94        (assertMsg):
     95        (gc.gcRec):
     96        (gc):
     97        (finishTest):
     98        * webgl/resources/webgl-test-harness.js:
     99        (log):
     100        (try.request.onreadystatechange):
     101        (loadTextFileAsynchronous):
     102        (getMajorVersion):
     103        (getURLWithOptions):
     104        (greaterThanOrEqualToVersion):
     105        (copyObject):
     106        (toCamelCase):
     107        (getFileListImpl):
     108        (getFileList):
     109        (FilterURL):
     110        (TestFile):
     111        (Test):
     112        (TestHarness):
     113        (TestHarness.prototype.addFiles_):
     114        (TestHarness.prototype.runTests):
     115        (TestHarness.prototype.setTimeout):
     116        (TestHarness.prototype.clearTimeout):
     117        (TestHarness.prototype.startNextTest):
     118        (TestHarness.prototype.startTest):
     119        (TestHarness.prototype.getTest):
     120        (TestHarness.prototype.reportResults):
     121        (TestHarness.prototype.dequeTest):
     122        (TestHarness.prototype.notifyFinished):
     123        (TestHarness.prototype.timeout):
     124        (TestHarness.prototype.setTimeoutDelay):
     125        (WebGLTestHarnessModule):
     126
    11272018-06-12  Ryan Haddad  <ryanhaddad@apple.com>
    2128
  • TabularUnified trunk/LayoutTests/TestExpectations

    r232776 r232783  
    20042004
    20052005webkit.org/b/186574 media/video-buffering-allowed.html [ Pass Failure ]
     2006
     2007### WebL Conformance Suite 2.0.0 tests that do not yet have support as of 6/7/2018. Enable as support is implemented. ###
     2008
     2009# All WebGL 1 and 2 tests for now
     2010webgl/2.0.0 [ Skip ]
  • TabularUnified trunk/LayoutTests/webgl/generate-webgl-tests.py

    r176776 r232783  
    5656GLOBAL_OPTIONS = {
    5757  # version use. Tests at or below this will be included.
    58   "version": "1.0.3",
     58  "version": "2.0.0",
    5959
    6060  # version used for unlabled tests
    61   "default-version": "1.0",
     61  "default-version": "2.0",
    6262
    6363  # If set, the version we require. Tests below this will be ignored.
     
    142142    if have_num < want_num:
    143143      return False
     144    if have_num >= want_num:
     145      return True
    144146  return True
    145147
Note: See TracChangeset for help on using the changeset viewer.