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 |