Skip to content

Commit

Permalink
Add OpenGL ES Shading Language and glTF 2.0 (#1238)
Browse files Browse the repository at this point in the history
This adds 2 additional specifications developed by the Khronos Group, as
requested in #1089, and adjusts the code that was a bit too specific to WebGL
specs and extensions accordingly.

The notion of "Working Group" within the Khronos Group appears somewhat
informal, but the terminology is used in the page that lists Working Group
officers at least: https://www.khronos.org/about/working-group-officers/

Issue #1089 mentions GLSL, and not OpenGL **ES** Shading Language, but the
latter is what WebGL uses, and so should be what browsers implement. The name
`ESSL` is the official name for the ES variant, see:
https://github.com/KhronosGroup/GLSL

That repository only contains extensions and the issue tracker for the GLSL and
ESSL specifications, but not the actual specifications. I did not set the
`nightly.repository` property as a result (but that may be up for debate).

glTF is not added to the "browser" category because browsers do not directly
support glTF today.
  • Loading branch information
tidoust authored Feb 29, 2024
1 parent 43002cc commit e6acdd1
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 1 deletion.
27 changes: 27 additions & 0 deletions specs.json
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,33 @@
"https://privacycg.github.io/requestStorageAccessFor/",
"https://privacycg.github.io/storage-access/",
"https://quirks.spec.whatwg.org/",
{
"url": "https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html",
"shortname": "glTF",
"groups": [
{
"name": "glTF Working Group",
"url": "https://www.khronos.org/gltf/"
}
],
"categories": [
"-browser"
],
"nightly": {
"sourcePath": "specification/2.0/Specification.adoc"
}
},
{
"url": "https://registry.khronos.org/OpenGL/specs/es/3.2/GLSL_ES_Specification_3.20.html",
"shortname": "ESSL",
"shortTitle": "OpenGL ES® Shading Language 3.20",
"groups": [
{
"name": "OpenGL ES Working Group",
"url": "https://www.khronos.org/opengles/"
}
]
},
"https://registry.khronos.org/webgl/extensions/ANGLE_instanced_arrays/",
"https://registry.khronos.org/webgl/extensions/EXT_blend_minmax/",
"https://registry.khronos.org/webgl/extensions/EXT_color_buffer_float/",
Expand Down
2 changes: 1 addition & 1 deletion src/determine-testpath.js
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ module.exports = async function (specs, options) {
return Object.assign(info, spec.tests);
}

if (spec.url.startsWith("https://registry.khronos.org/")) {
if (spec.url.startsWith("https://registry.khronos.org/webgl/")) {
info.repository = "https://github.com/KhronosGroup/WebGL";
info.testPaths = ["conformance-suites"];
// TODO: Be more specific, tests for extensions should one of the files in:
Expand Down
5 changes: 5 additions & 0 deletions src/parse-spec-url.js
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,11 @@ module.exports = function (url) {
return { type: "custom", owner: "khronosgroup", name: "WebGL" };
}

const khronos = url.match(/^https:\/\/registry\.khronos\.org\/([^\/]+)\//);
if (khronos) {
return { type: "custom", owner: "khronosgroup", name: khronos[1] };
}

const httpwg = url.match(/^https:\/\/httpwg\.org\/specs\/rfc[0-9]+\.html$/);
if (httpwg) {
return { type: "custom", owner: "httpwg", name: "httpwg.github.io" };
Expand Down

0 comments on commit e6acdd1

Please sign in to comment.