summaryrefslogtreecommitdiffstats
path: root/dom/canvas/test/webgl-conf/checkout/CONFORMANCE_RULES.txt
diff options
context:
space:
mode:
Diffstat (limited to 'dom/canvas/test/webgl-conf/checkout/CONFORMANCE_RULES.txt')
-rw-r--r--dom/canvas/test/webgl-conf/checkout/CONFORMANCE_RULES.txt127
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 0000000000..c267d34b08
--- /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.