Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(37)

Side by Side Diff: CONFORMANCE_RULES.txt

Issue 41443002: Add ToT webgl conformance tests: part 1 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/third_party/webgl/sdk/tests/
Patch Set: Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | README.chromium » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 Rules for Claiming a Conformant WebGL Implementation 1 Rules for Claiming a Conformant WebGL Implementation
2 ==================================================== 2 ====================================================
3 3
4 The WebGL API is a web standard, and many web browser implementers 4 The WebGL API is a web standard, and many web browser implementers
5 deliver their browser on multiple operating systems (OSs). WebGL 5 deliver their browser on multiple operating systems (OSs). WebGL
6 implementations also typically rely on the presence of an OpenGL or 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 7 OpenGL ES implementation on the OS. It can be appreciated that a WebGL
8 implementation therefore has many dependencies. This document attempts 8 implementation therefore has many dependencies. This document attempts
9 to clarify to potential implementers the rules the Khronos Group uses 9 to clarify to potential implementers the rules the Khronos Group uses
10 to judge whether a particular WebGL implementation is conformant. 10 to judge whether a particular WebGL implementation is conformant.
11 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
12 1. Conformance on a particular operating system 49 1. Conformance on a particular operating system
13 50
14 On a given OS, a WebGL implementation will be considered to conform to 51 On a given OS, a WebGL implementation will be considered to conform to
15 a particular version of the conformance suite if the suite passes with 52 a particular version of the conformance suite if the suite passes with
16 no test failures on at least two GPUs, each from a different 53 no test failures on at least two GPUs, each from a different
17 vendor. If the OS only supports a GPU from one vendor, the two-GPU 54 vendor. If the OS only supports a GPU from one vendor, the two-GPU
18 requirement is dropped. 55 requirement is dropped.
19 56
20 2. Conformance across multiple operating systems 57 2. Conformance across multiple operating systems
21 58
22 A WebGL implementation will be considered to conform to a particular 59 A WebGL implementation will be considered to conform to a particular
23 version of the conformance suite if it passes rule (1) on all of the 60 version of the conformance suite if it passes rule (1) on all of the
24 OSs on which the WebGL implementation is intended to be supported. 61 OSs on which the WebGL implementation is intended to be supported.
25 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, unless the
67 WebGL implementation changes substantially enough that it is expected
68 that conformance may have been affected. In that case, the browser
69 implementer should submit new conformance results.
70
71 4. Conformance as the operating system is upgraded
72
73 If a new version is released of one of the OSs on which a WebGL
74 implementation is intended to run, then WebGL conformance results
75 submitted for earlier versions of that OS carry forward. Future
76 conformance results must be submitted against the new version of the
77 OS. If it is anticipated that the older OS version will be supported
78 for some time, then future conformance results must be submitted
79 separately for both the old and new versions of the OS.
80
81 (B) Conformance Rules for a GPU Vendor
82 ======================================
83
84 A GPU vendor submitting conformance results for a WebGL implementation
85 typically does so because the device containing the GPU includes a
86 built-in web browser. In this case the following rules apply:
87
88 1. Conformance results must be submitted for each GPU and operating
89 system combination to be certified. It is not required to submit
90 results for different devices containing the same GPU and running the
91 same operating system.
92
93 2. Conformance results may be submitted up to three months in advance
94 of the product reaching initial shipment.
95
96 3. Conformance results carry forward for a given GPU as the operating
97 system and graphics driver are upgraded, unless there is an
98 expectation that conformance may have been affected. In that case, the
99 GPU vendor should submit new conformance results.
100
26 Discussion 101 Discussion
27 ========== 102 ==========
28 103
29 A WebGL implementation might reach conformance on a particular OS, but
30 a subsequent graphics driver release on that OS might introduce a
31 regression causing failures of one or more of the WebGL conformance
32 tests. In this situation it is not required that the browser revoke
33 support for the "webgl" HTML Canvas context type. The browser vendor
34 should work with the GPU vendor to ensure the driver regression is
35 fixed. A situation like this would, however, prevent the WebGL
36 implementer from conforming to a subsequent version of the test suite.
37
38 A WebGL implementation intended to ship on three OSs may reach 104 A WebGL implementation intended to ship on three OSs may reach
39 conformance on two of them, but due to graphics driver bugs, may be 105 conformance on two of them, but due to graphics driver bugs, may be
40 unable to reach conformance on the third. In this situation the 106 unable to reach conformance on the third. In this situation the
41 implementation is not yet considered to be conformant. 107 implementation is not yet considered to be conformant.
42 108
43 A web browser author developing a new WebGL implementation should not
44 support the "webgl" HTML Canvas context type by default in a shipping
45 version of the product until reaching conformance. It is acceptable to
46 give end users an option to turn on WebGL support in a non-conformant
47 implementation as long as the documentation for that option clearly
48 indicates that the implementation is not yet conformant and may have
49 compatibility issues. It is suggested that the Canvas context type
50 "experimental-webgl" may be supported by default in such
51 implementations.
52
53 An existing WebGL implementation which conformed to an earlier version 109 An existing WebGL implementation which conformed to an earlier version
54 of the test suite is not required to remove support for the "webgl" 110 of the test suite is not required to remove support for the "webgl"
55 HTML Canvas context type while in the process of conforming to a later 111 HTML Canvas context type while in the process of conforming to a later
56 version of the test suite. However, the implementer must not advertise 112 version of the test suite. However, the implementer must not advertise
57 conformance to the later version until it has been reached. It is 113 conformance to the later version until it has been reached. It is
58 acceptable for the implementer to advertise details of their 114 acceptable for the implementer to advertise details of their
59 conformance, for example number or percentage of passing or failing 115 conformance, for example number or percentage of passing or failing
60 tests, or names of passing or failing tests. 116 tests, or names of passing or failing tests.
61 117
118 A GPU vendor might submit conformance results in order to use the
119 WebGL logo in a marketing campaign. In this situation, results may be
120 submitted in advance of the product becoming available through sales
121 channels, per the rules above.
122
62 The WebGL API has strict security requirements. Even one failing test 123 The WebGL API has strict security requirements. Even one failing test
63 may indicate a serious security issue in the WebGL implementation. For 124 may indicate a serious security issue in the WebGL implementation. For
64 this reason, no exceptions for failing conformance tests will be 125 this reason, no exceptions for failing conformance tests will be
65 granted. 126 granted.
66 127
67 The Khronos Group determines whether a particular WebGL implementation 128 The Khronos Group determines whether a particular WebGL implementation
68 is conformant based on the implementer's conformance suite 129 is conformant based on the implementer's conformance suite
69 submissions, on multiple OSs and on multiple GPUs as necessary, using 130 submissions, on multiple OSs and on multiple GPUs as necessary, using
70 the rules above. An implementer shall not judge their own 131 the rules above. An implementer shall not judge their own
71 implementation conformant simply by applying the above rules. 132 implementation conformant simply by applying the above rules.
OLDNEW
« no previous file with comments | « no previous file | README.chromium » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698