Hi,
I think that the current version of the loader spec has some ambiguity about what fields are required in the layers manifest JSON, see the table at https://github.com/KhronosGroup/Vulkan-Loader/blob/b8b96a2862bff1eed468e602d43f706beae89cf1/docs/LoaderLayerInterface.md#layer-manifest-file-format
For example, from a first read it was not clear to me whether the description field was required, I had to read between the lines, and get confirmation from the loader reference implementation at https://github.com/KhronosGroup/Vulkan-Loader/blob/b8b96a2862bff1eed468e602d43f706beae89cf1/loader/loader.c#L2792-L2801which was not immediate.
While it can be argued that optional fields are labeled as OPTIONAL: in the Description and Notes column, and hence non-optional fields are required, this looks too informal and may leave room for ambiguity.
For comparison, in the OpenXR spec the correspondent table has a dedicated column to explicitly specify whether a field is required or optional, see the table at https://registry.khronos.org/OpenXR/specs/1.1/loader.html#api-layer-manifest-file-format
Can a something similar be added to the Vulkan Layers manifest format spec too?
If there is interest I can draft a patch. Would changing LoaderLayerInterface.md be enough? Or should I look somewhere else too?
Thanks, Antonio
Hi,
I think that the current version of the loader spec has some ambiguity about what fields are required in the layers manifest JSON, see the table at https://github.com/KhronosGroup/Vulkan-Loader/blob/b8b96a2862bff1eed468e602d43f706beae89cf1/docs/LoaderLayerInterface.md#layer-manifest-file-format
For example, from a first read it was not clear to me whether the
descriptionfield was required, I had to read between the lines, and get confirmation from the loader reference implementation at https://github.com/KhronosGroup/Vulkan-Loader/blob/b8b96a2862bff1eed468e602d43f706beae89cf1/loader/loader.c#L2792-L2801which was not immediate.While it can be argued that optional fields are labeled as OPTIONAL: in the
Description and Notescolumn, and hence non-optional fields are required, this looks too informal and may leave room for ambiguity.For comparison, in the OpenXR spec the correspondent table has a dedicated column to explicitly specify whether a field is required or optional, see the table at https://registry.khronos.org/OpenXR/specs/1.1/loader.html#api-layer-manifest-file-format
Can a something similar be added to the Vulkan Layers manifest format spec too?
If there is interest I can draft a patch. Would changing
LoaderLayerInterface.mdbe enough? Or should I look somewhere else too?Thanks, Antonio