| Index: CONFORMANCE_RULES.txt
|
| ===================================================================
|
| --- CONFORMANCE_RULES.txt (revision 230753)
|
| +++ CONFORMANCE_RULES.txt (working copy)
|
| @@ -9,6 +9,43 @@
|
| to clarify to potential implementers the rules the Khronos Group uses
|
| to judge whether a particular WebGL implementation is conformant.
|
|
|
| +There are two primary reasons to submit conformance results:
|
| +
|
| + A) A web browser implementer desires to certify their WebGL
|
| + implementation as conformant.
|
| +
|
| + B) A GPU manufacturer delivering an embedded system including web
|
| + browser with WebGL support desires to certify their WebGL
|
| + implementation as conformant.
|
| +
|
| +Each of these situations carries different constraints, so the
|
| +conformance rules are phrased differently for each. Typically, a web
|
| +browser implementer aims to certify that the WebGL "layer" is correct.
|
| +A GPU vendor typically aims to certify that a given device is
|
| +physically capable of passing the tests.
|
| +
|
| +A newly-developed WebGL implementation should not support the "webgl"
|
| +HTML Canvas context type by default in a shipping version of the
|
| +product until reaching conformance. It is acceptable to give end users
|
| +an option to turn on WebGL support in a non-conformant implementation
|
| +as long as the documentation for that option clearly indicates that
|
| +the implementation is not yet conformant and may have compatibility
|
| +issues. It is suggested that the Canvas context type
|
| +"experimental-webgl" may be supported by default in such
|
| +implementations.
|
| +
|
| +A WebGL implementation might reach conformance, but a subsequent
|
| +graphics driver release on a particular OS might introduce a
|
| +regression causing failures of one or more of the WebGL conformance
|
| +tests. In this situation it is not required to revoke support for the
|
| +"webgl" HTML Canvas context type. The WebGL implementer should work
|
| +with the GPU vendor to ensure the driver regression is fixed. A
|
| +situation like this would, however, prevent the WebGL implementer from
|
| +conforming to a subsequent version of the test suite.
|
| +
|
| +(A) Conformance Rules for a Web Browser Implementer
|
| +===================================================
|
| +
|
| 1. Conformance on a particular operating system
|
|
|
| On a given OS, a WebGL implementation will be considered to conform to
|
| @@ -23,33 +60,52 @@
|
| version of the conformance suite if it passes rule (1) on all of the
|
| OSs on which the WebGL implementation is intended to be supported.
|
|
|
| +3. Conformance as the web browser is upgraded
|
| +
|
| +WebGL conformance results submitted for an earlier version of the
|
| +browser carry forward to later versions of the browser, unless the
|
| +WebGL implementation changes substantially enough that it is expected
|
| +that conformance may have been affected. In that case, the browser
|
| +implementer should submit new conformance results.
|
| +
|
| +4. Conformance as the operating system is upgraded
|
| +
|
| +If a new version is released of one of the OSs on which a WebGL
|
| +implementation is intended to run, then WebGL conformance results
|
| +submitted for earlier versions of that OS carry forward. Future
|
| +conformance results must be submitted against the new version of the
|
| +OS. If it is anticipated that the older OS version will be supported
|
| +for some time, then future conformance results must be submitted
|
| +separately for both the old and new versions of the OS.
|
| +
|
| +(B) Conformance Rules for a GPU Vendor
|
| +======================================
|
| +
|
| +A GPU vendor submitting conformance results for a WebGL implementation
|
| +typically does so because the device containing the GPU includes a
|
| +built-in web browser. In this case the following rules apply:
|
| +
|
| +1. Conformance results must be submitted for each GPU and operating
|
| +system combination to be certified. It is not required to submit
|
| +results for different devices containing the same GPU and running the
|
| +same operating system.
|
| +
|
| +2. Conformance results may be submitted up to three months in advance
|
| +of the product reaching initial shipment.
|
| +
|
| +3. Conformance results carry forward for a given GPU as the operating
|
| +system and graphics driver are upgraded, unless there is an
|
| +expectation that conformance may have been affected. In that case, the
|
| +GPU vendor should submit new conformance results.
|
| +
|
| Discussion
|
| ==========
|
|
|
| -A WebGL implementation might reach conformance on a particular OS, but
|
| -a subsequent graphics driver release on that OS might introduce a
|
| -regression causing failures of one or more of the WebGL conformance
|
| -tests. In this situation it is not required that the browser revoke
|
| -support for the "webgl" HTML Canvas context type. The browser vendor
|
| -should work with the GPU vendor to ensure the driver regression is
|
| -fixed. A situation like this would, however, prevent the WebGL
|
| -implementer from conforming to a subsequent version of the test suite.
|
| -
|
| A WebGL implementation intended to ship on three OSs may reach
|
| conformance on two of them, but due to graphics driver bugs, may be
|
| unable to reach conformance on the third. In this situation the
|
| implementation is not yet considered to be conformant.
|
|
|
| -A web browser author developing a new WebGL implementation should not
|
| -support the "webgl" HTML Canvas context type by default in a shipping
|
| -version of the product until reaching conformance. It is acceptable to
|
| -give end users an option to turn on WebGL support in a non-conformant
|
| -implementation as long as the documentation for that option clearly
|
| -indicates that the implementation is not yet conformant and may have
|
| -compatibility issues. It is suggested that the Canvas context type
|
| -"experimental-webgl" may be supported by default in such
|
| -implementations.
|
| -
|
| An existing WebGL implementation which conformed to an earlier version
|
| of the test suite is not required to remove support for the "webgl"
|
| HTML Canvas context type while in the process of conforming to a later
|
| @@ -59,6 +115,11 @@
|
| conformance, for example number or percentage of passing or failing
|
| tests, or names of passing or failing tests.
|
|
|
| +A GPU vendor might submit conformance results in order to use the
|
| +WebGL logo in a marketing campaign. In this situation, results may be
|
| +submitted in advance of the product becoming available through sales
|
| +channels, per the rules above.
|
| +
|
| The WebGL API has strict security requirements. Even one failing test
|
| may indicate a serious security issue in the WebGL implementation. For
|
| this reason, no exceptions for failing conformance tests will be
|
|
|