mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-21 07:47:32 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
|
|
@ -0,0 +1,132 @@
|
|||
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, 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 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.
|
||||
Loading…
Add table
Add a link
Reference in a new issue