diff options
Diffstat (limited to 'dom/canvas/test/webgl-conf/checkout/CONFORMANCE_RULES.txt')
-rw-r--r-- | dom/canvas/test/webgl-conf/checkout/CONFORMANCE_RULES.txt | 127 |
1 files changed, 127 insertions, 0 deletions
diff --git a/dom/canvas/test/webgl-conf/checkout/CONFORMANCE_RULES.txt b/dom/canvas/test/webgl-conf/checkout/CONFORMANCE_RULES.txt new file mode 100644 index 000000000..c267d34b0 --- /dev/null +++ b/dom/canvas/test/webgl-conf/checkout/CONFORMANCE_RULES.txt @@ -0,0 +1,127 @@ +Rules for Claiming a Conformant WebGL Implementation +==================================================== + +The WebGL API is a web standard, and many web browser implementers +deliver their browser on multiple operating systems (OSs). WebGL +implementations also typically rely on the presence of an OpenGL or +OpenGL ES implementation on the OS. It can be appreciated that a WebGL +implementation therefore has many dependencies. This document attempts +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 +a particular version of the conformance suite if the suite passes with +no test failures on at least two GPUs, each from a different +vendor. If the OS only supports a GPU from one vendor, the two-GPU +requirement is dropped. + +2. Conformance across multiple operating systems + +A WebGL implementation will be considered to conform to a particular +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 that do not +cause any previously passing test to fail. + +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 that do not cause any previously passing test to +fail. + +2. Conformance results carry forward for a given GPU as the operating +system and graphics driver are upgraded but do not cause any previously +passing test to fail. + +Discussion +========== + +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. + +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 +version of the test suite. However, the implementer must not advertise +conformance to the later version until it has been reached. It is +acceptable for the implementer to advertise details of their +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 +granted. + +The Khronos Group determines whether a particular WebGL implementation +is conformant based on the implementer's conformance suite +submissions, on multiple OSs and on multiple GPUs as necessary, using +the rules above. An implementer shall not judge their own +implementation conformant simply by applying the above rules. |