From 4ea9c944d24b348b571753d836e420f49ddee7da Mon Sep 17 00:00:00 2001 From: "Corwin (bricevideau-ai)" Date: Mon, 12 Oct 2026 21:10:58 +0000 Subject: [PATCH 1/7] Add 'group' attribute to enum definitions Adds an optional 'group' attribute to definitions in cl.xml, following the gl.xml convention: each token names the C value-set type(s) it belongs to (comma-separated for multi-role tokens). The RNC schema is extended with 'attribute group { text } ?' on enums. Attributions were derived from the OpenCL core and extension specifications (cross-checked against the Khronos registry chapters and cl.xml's own containers), not from container names alone. Changes xml/cl.xml and xml/registry.rnc only; generated headers are byte-identical (the attribute is metadata no current generator reads). --- xml/cl.xml | 2632 +++++++++++++++++++++++----------------------- xml/registry.rnc | 6 + 2 files changed, 1322 insertions(+), 1316 deletions(-) diff --git a/xml/cl.xml b/xml/cl.xml index 7d8ef091c..69830b359 100644 --- a/xml/cl.xml +++ b/xml/cl.xml @@ -488,82 +488,82 @@ server's OpenCL/api-docs repository. parameter types, including bitmasks in their own namespaces --> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + These values are defined differently along the #if (defined (_WIN32) && defined(_MSC_VER)) compilation path, as follows: @@ -606,121 +606,121 @@ server's OpenCL/api-docs repository. - + - - + + - - + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - + - + - + - + - + - + - + - - + + - - + + - - + + - - + + @@ -741,67 +741,67 @@ server's OpenCL/api-docs repository. - - - + + + - - + + - - - - - - - - + + + + + + + + - - + + - + - + - - - - - - - - - + + + + + + + + + - - - - + + + + - + @@ -817,53 +817,53 @@ server's OpenCL/api-docs repository. - - + + - - + + - - - - - - - - + + + + + + + + - - - - - - + + + + + + - - - - + + + + - - - - + + + + - - - + + + @@ -876,677 +876,677 @@ server's OpenCL/api-docs repository. - - + + - - - - + + + + - + - - - - - + + + + + - - + + - - - - - - - - + + + + + + + + - - + + - - - - + + + + - - - - - - - + + + + + + + - - + + - - - - + + + + - - - + + + - - + + - + - - - + + + - - - + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - + + + - - - - - - + + + + + + - - - - - - - - - + + + + + + + + + - - - + + + - - - + + + - - - - - - + + + + + + - - - - - + + + + + - - - + + + - - - + + + - - + + - - + + - + - - - - + + + + - - + + - - - - + + + + - - + + - - - - + + + + - - - - + + + + - - - - - - - - - - + + + + + + + + + + - - - - + + + + - - + + - - - + + + - - - + + + - - - - - + + + + + - - + + - - - - + + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - + + - - - + + + - - - - + + + + - - - - - + + + + + - - - - + + + + - - + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - + + - - - + + + - - - + + + - - - - + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - + + + - - - + + + - - + + - - - - + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - + + + - - + + - - + + - - + + - - - - - - + + + + + + - - + + - - - - + + + + - - - + + + - - - - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - - - - - - - + + + + + + + + + - - - + + + - - + + - - + + - - + + - + - - - + + + - - - + + + - + - - - + + + - - - + + + - - - - - + + + + + - + - + - - - + + + - - - + + + - - - + + + @@ -1563,537 +1563,537 @@ server's OpenCL/api-docs repository. Only once the ID has been reserved should a new enum entry be added here. - + - + - - - - - - - - - - - - + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - + + + - - - - - + + + + + - - + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - + - - - + + + - - - - + + + + @@ -2105,26 +2105,26 @@ server's OpenCL/api-docs repository. - - - - - - - + + + + + + + - - - - - - - - - + + + + + + + + + @@ -2134,15 +2134,15 @@ server's OpenCL/api-docs repository. - - - - - - - - - + + + + + + + + + @@ -2152,13 +2152,13 @@ server's OpenCL/api-docs repository. - - - - - - - + + + + + + + @@ -2167,12 +2167,12 @@ server's OpenCL/api-docs repository. - + - + - - + + @@ -2182,48 +2182,48 @@ server's OpenCL/api-docs repository. - - + + - - + + - - - - + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + @@ -2232,18 +2232,18 @@ server's OpenCL/api-docs repository. - - - - - - - - - - + + + + + + + + + + - + @@ -2255,87 +2255,87 @@ server's OpenCL/api-docs repository. - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - + + @@ -2349,18 +2349,18 @@ server's OpenCL/api-docs repository. - - - - - - - - - - - - + + + + + + + + + + + + @@ -2381,37 +2381,37 @@ server's OpenCL/api-docs repository. - - + + - - - + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + @@ -2420,108 +2420,108 @@ server's OpenCL/api-docs repository. - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - + - - - - - - - - + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - + + + + + - + - + - - - - + + + + - - + + - - - - + + + + - - - - - - - + + + + + + + - + @@ -2558,9 +2558,9 @@ server's OpenCL/api-docs repository. - - - + + + diff --git a/xml/registry.rnc b/xml/registry.rnc index 22420824a..78da0c1a2 100644 --- a/xml/registry.rnc +++ b/xml/registry.rnc @@ -237,6 +237,11 @@ Enums = element enums { # comment - descriptive text with no semantic meaning # deprecated - denotes that this enum is deprecated, and why. # Valid values: 'aliased', 'ignored', 'true'. +# group - one or more C value-set names (comma-separated) that the +# enumerant is a valid member of, mirroring the OpenGL registry's +# `group` attribute (see gl.xml). Optional; absence means the +# enumerant's meaning is defined by its call site rather than by a +# named value set. Enum = element enum { ( ( @@ -264,6 +269,7 @@ Enum = element enum { attribute type { TypeSuffix } ? & attribute name { text } & attribute deprecated { text } ? & + attribute group { text } ? & Comment ? ) } From 44e4498caebdb4c2f0df87bbdd277718a0342cd9 Mon Sep 17 00:00:00 2001 From: bricevideau-ai Date: Tue, 20 Oct 2026 15:21:00 -0500 Subject: [PATCH 2/7] Update xml/cl.xml Co-authored-by: Ben Ashbaugh --- xml/cl.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xml/cl.xml b/xml/cl.xml index 69830b359..5bcbded17 100644 --- a/xml/cl.xml +++ b/xml/cl.xml @@ -1039,7 +1039,7 @@ server's OpenCL/api-docs repository. - + From 3eb2c4d68881d3086daefba93b50e56e42eeec39 Mon Sep 17 00:00:00 2001 From: bricevideau-ai Date: Tue, 20 Oct 2026 15:35:19 -0500 Subject: [PATCH 3/7] Update xml/cl.xml --- xml/cl.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xml/cl.xml b/xml/cl.xml index 5bcbded17..18348de99 100644 --- a/xml/cl.xml +++ b/xml/cl.xml @@ -610,7 +610,7 @@ server's OpenCL/api-docs repository. - + From 0c360d4204d76bf6baf3d8ccb0528bdf8c57bf14 Mon Sep 17 00:00:00 2001 From: bricevideau-ai Date: Tue, 20 Oct 2026 15:35:37 -0500 Subject: [PATCH 4/7] Update xml/cl.xml --- xml/cl.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xml/cl.xml b/xml/cl.xml index 18348de99..0b4c14c40 100644 --- a/xml/cl.xml +++ b/xml/cl.xml @@ -615,7 +615,7 @@ server's OpenCL/api-docs repository. - + From ca144f95e930c76cf20b7562978a5f55dfa531d5 Mon Sep 17 00:00:00 2001 From: bricevideau-ai Date: Tue, 20 Oct 2026 15:35:48 -0500 Subject: [PATCH 5/7] Update xml/cl.xml --- xml/cl.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/xml/cl.xml b/xml/cl.xml index 0b4c14c40..33ec2269c 100644 --- a/xml/cl.xml +++ b/xml/cl.xml @@ -853,10 +853,10 @@ server's OpenCL/api-docs repository. - - - - + + + + From 03971885a7d888abcf136fe915cc0083485268bb Mon Sep 17 00:00:00 2001 From: bricevideau-ai Date: Tue, 20 Oct 2026 15:35:59 -0500 Subject: [PATCH 6/7] Update xml/cl.xml --- xml/cl.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/xml/cl.xml b/xml/cl.xml index 33ec2269c..62e73837e 100644 --- a/xml/cl.xml +++ b/xml/cl.xml @@ -1092,10 +1092,10 @@ server's OpenCL/api-docs repository. - - - - + + + + From 03eabf37dcdbb13cb2a6a3abbfd39845eb306020 Mon Sep 17 00:00:00 2001 From: bricevideau-ai Date: Tue, 20 Oct 2026 15:36:19 -0500 Subject: [PATCH 7/7] Update xml/cl.xml --- xml/cl.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xml/cl.xml b/xml/cl.xml index 62e73837e..d3980ec9a 100644 --- a/xml/cl.xml +++ b/xml/cl.xml @@ -1100,8 +1100,8 @@ server's OpenCL/api-docs repository. - - + +