tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

CONFORMANCE_RULES.txt (6012B)


      1 Rules for Claiming a Conformant WebGL Implementation
      2 ====================================================
      3 
      4 The WebGL API is a web standard, and many web browser implementers
      5 deliver their browser on multiple operating systems (OSs). WebGL
      6 implementations also typically rely on the presence of an OpenGL or
      7 OpenGL ES implementation on the OS. It can be appreciated that a WebGL
      8 implementation therefore has many dependencies. This document attempts
      9 to clarify to potential implementers the rules the Khronos Group uses
     10 to judge whether a particular WebGL implementation is conformant.
     11 
     12 There are two primary reasons to submit conformance results:
     13 
     14  A) A web browser implementer desires to certify their WebGL
     15     implementation as conformant.
     16 
     17  B) A GPU manufacturer delivering an embedded system including web
     18     browser with WebGL support desires to certify their WebGL
     19     implementation as conformant.
     20 
     21 Each of these situations carries different constraints, so the
     22 conformance rules are phrased differently for each. Typically, a web
     23 browser implementer aims to certify that the WebGL "layer" is correct.
     24 A GPU vendor typically aims to certify that a given device is
     25 physically capable of passing the tests.
     26 
     27 A newly-developed WebGL implementation should not support the "webgl"
     28 HTML Canvas context type by default in a shipping version of the
     29 product until reaching conformance. It is acceptable to give end users
     30 an option to turn on WebGL support in a non-conformant implementation
     31 as long as the documentation for that option clearly indicates that
     32 the implementation is not yet conformant and may have compatibility
     33 issues. It is suggested that the Canvas context type
     34 "experimental-webgl" may be supported by default in such
     35 implementations.
     36 
     37 A WebGL implementation might reach conformance, but a subsequent
     38 graphics driver release on a particular OS might introduce a
     39 regression causing failures of one or more of the WebGL conformance
     40 tests. In this situation it is not required to revoke support for the
     41 "webgl" HTML Canvas context type. The WebGL implementer should work
     42 with the GPU vendor to ensure the driver regression is fixed. A
     43 situation like this would, however, prevent the WebGL implementer from
     44 conforming to a subsequent version of the test suite.
     45 
     46 (A) Conformance Rules for a Web Browser Implementer
     47 ===================================================
     48 
     49 1. Conformance on a particular operating system
     50 
     51 On a given OS, a WebGL implementation will be considered to conform to
     52 a particular version of the conformance suite if the suite passes with
     53 no test failures on at least two GPUs, each from a different
     54 vendor. If the OS only supports a GPU from one vendor, the two-GPU
     55 requirement is dropped.
     56 
     57 2. Conformance across multiple operating systems
     58 
     59 A WebGL implementation will be considered to conform to a particular
     60 version of the conformance suite if it passes rule (1) on all of the
     61 OSs on which the WebGL implementation is intended to be supported.
     62 
     63 3. Conformance as the web browser is upgraded
     64 
     65 WebGL conformance results submitted for an earlier version of the
     66 browser carry forward to later versions of the browser that do not
     67 cause any previously passing test to fail.
     68 
     69 4. Conformance as the operating system is upgraded
     70 
     71 If a new version is released of one of the OSs on which a WebGL
     72 implementation is intended to run, then WebGL conformance results
     73 submitted for earlier versions of that OS carry forward. Future
     74 conformance results must be submitted against the new version of the
     75 OS. If it is anticipated that the older OS version will be supported
     76 for some time, then future conformance results must be submitted
     77 separately for both the old and new versions of the OS.
     78 
     79 (B) Conformance Rules for a GPU Vendor
     80 ======================================
     81 
     82 A GPU vendor submitting conformance results for a WebGL implementation
     83 typically does so because the device containing the GPU includes a
     84 built-in web browser. In this case the following rules apply:
     85 
     86 1. Conformance results must be submitted for each GPU and operating
     87 system combination to be certified. It is not required to submit
     88 results for different devices containing the same GPU and running the
     89 same operating system that do not cause any previously passing test to
     90 fail.
     91 
     92 2. Conformance results carry forward for a given GPU as the operating
     93 system and graphics driver are upgraded but do not cause any previously
     94 passing test to fail.
     95 
     96 Discussion
     97 ==========
     98 
     99 A WebGL implementation intended to ship on three OSs may reach
    100 conformance on two of them, but due to graphics driver bugs, may be
    101 unable to reach conformance on the third. In this situation the
    102 implementation is not yet considered to be conformant.
    103 
    104 An existing WebGL implementation which conformed to an earlier version
    105 of the test suite is not required to remove support for the "webgl"
    106 HTML Canvas context type while in the process of conforming to a later
    107 version of the test suite. However, the implementer must not advertise
    108 conformance to the later version until it has been reached. It is
    109 acceptable for the implementer to advertise details of their
    110 conformance, for example number or percentage of passing or failing
    111 tests, or names of passing or failing tests.
    112 
    113 A GPU vendor might submit conformance results in order to use the
    114 WebGL logo in a marketing campaign. In this situation, results may be
    115 submitted in advance of the product becoming available through sales
    116 channels, per the rules above.
    117 
    118 The WebGL API has strict security requirements. Even one failing test
    119 may indicate a serious security issue in the WebGL implementation. For
    120 this reason, no exceptions for failing conformance tests will be
    121 granted.
    122 
    123 The Khronos Group determines whether a particular WebGL implementation
    124 is conformant based on the implementer's conformance suite
    125 submissions, on multiple OSs and on multiple GPUs as necessary, using
    126 the rules above. An implementer shall not judge their own
    127 implementation conformant simply by applying the above rules.