Skip to content

Commit aaa4605

Browse files
committed
Finish up the MixKhronosData section
1 parent 7707f64 commit aaa4605

1 file changed

Lines changed: 16 additions & 2 deletions

File tree

docs/for-contributors/Generator/generator-mods.md

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -369,7 +369,7 @@ such as `[PrettifyNames]`.
369369

370370
Mod categories: Creation, Metadata, Naming, Transformation
371371

372-
This is a monolithic mod that handles behavior specific to Khronos APIs such as OpenGL, OpenAL, Vulkan, and much more.
372+
This is a monolithic mod that handles behavior specific to Khronos-style APIs such as OpenGL, OpenAL, Vulkan, and more.
373373

374374
Because this mod is intended more for internal use rather than public use, the documentation here will focus on
375375
decisions made during the development of the mod and other internal details rather than the exact usage of the mod.
@@ -471,10 +471,24 @@ Name affix categories:
471471
as `KHR`, `EXT`, or `NV`. The list of vendor suffixes used during identification is retrieved from the provided XML
472472
specification. Silk's bindings are configured to move `KhronosVendor` suffixes to the end of the name. This is to
473473
match Khronos's own naming convention. This primarily affects cases where Silk's generator added additional suffixes
474-
to the end of the name, such as for handle types like `DebugUtilsMessengerHandleEXT` in Vulkan.
474+
to the end of the name, such as with `HandleType` suffixes like in `DebugUtilsMessengerHandleEXT` in Vulkan.
475475

476476
Usage recommendations:
477477

478+
This mod should only be used when generating bindings for Khronos-style APIs. While the mod does not strictly require
479+
the XML specification file, `MixKhronosData` has not been tested for use without the XML specification.
480+
481+
One key consideration when using `MixKhronosData` is identifying the conventions used by the API for which bindings are
482+
being generated for. Older Khronos APIs are more similar to OpenGL while newer Khronos APIs are more similar to Vulkan.
483+
These conventions determine which settings should be used in the `MixKhronosData` configuration. For exact configuration
484+
details, please refer to the configurations used by Silk for the existing Khronos-style bindings as well as the source
485+
code.
486+
487+
Note: Although `MixKhronosData` has not been used by Silk for generating bindings for APIs that do not have XML
488+
specifications, we will likely experiment with using this mod for bindings that do not have XML specifications such as
489+
SPIRV-Reflect in the near future. Whether we end up using this mod for these types of bindings depends on how much
490+
benefit `MixKhronosData` provides for those bindings.
491+
478492
### PrettifyNames
479493

480494
Mod categories: Naming, Transformation

0 commit comments

Comments
 (0)