Dav1dde / glad

Multi-Language Vulkan/GL/GLES/EGL/GLX/WGL Loader-Generator based on the official specs.
https://glad.dav1d.de/
Other
3.72k stars 440 forks source link

Vulkan missing enum VK_DRIVER_ID_MESA_AGXV #474

Closed tim-rex closed 1 week ago

tim-rex commented 2 months ago

Generated headers for Vulkan 1.3 appear to be missing the following enum VK_DRIVER_ID_MESA_AGXV = 26 This would ordinarily be found in vulkan_core.h for the latest Vulkan SDK 1.3.283

Incidentally, do the generated files report anywhere the Vulkan SDK patch version? I see only reference to major/minor version number (1.3)

Dav1dde commented 2 months ago

Are you looking for VK_DRIVER_ID_MESA_HONEYKRISP? That has the driver id 26 in the vk.xml:

    <enums name="VkDriverId" type="enum">
        <comment>Driver IDs are now represented as enums instead of the old
                 &lt;driverids&gt; tag, allowing them to be included in the
                 API headers.</comment>
        <enum value="1"       name="VK_DRIVER_ID_AMD_PROPRIETARY"               comment="Advanced Micro Devices, Inc."/>
        <enum value="2"       name="VK_DRIVER_ID_AMD_OPEN_SOURCE"               comment="Advanced Micro Devices, Inc."/>
        <enum value="3"       name="VK_DRIVER_ID_MESA_RADV"                     comment="Mesa open source project"/>
        <enum value="4"       name="VK_DRIVER_ID_NVIDIA_PROPRIETARY"            comment="NVIDIA Corporation"/>
        <enum value="5"       name="VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS"     comment="Intel Corporation"/>
        <enum value="6"       name="VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA"        comment="Intel Corporation"/>
        <enum value="7"       name="VK_DRIVER_ID_IMAGINATION_PROPRIETARY"       comment="Imagination Technologies"/>
        <enum value="8"       name="VK_DRIVER_ID_QUALCOMM_PROPRIETARY"          comment="Qualcomm Technologies, Inc."/>
        <enum value="9"       name="VK_DRIVER_ID_ARM_PROPRIETARY"               comment="Arm Limited"/>
        <enum value="10"      name="VK_DRIVER_ID_GOOGLE_SWIFTSHADER"            comment="Google LLC"/>
        <enum value="11"      name="VK_DRIVER_ID_GGP_PROPRIETARY"               comment="Google LLC"/>
        <enum value="12"      name="VK_DRIVER_ID_BROADCOM_PROPRIETARY"          comment="Broadcom Inc."/>
        <enum value="13"      name="VK_DRIVER_ID_MESA_LLVMPIPE"                 comment="Mesa"/>
        <enum value="14"      name="VK_DRIVER_ID_MOLTENVK"                      comment="MoltenVK"/>
        <enum value="15"      name="VK_DRIVER_ID_COREAVI_PROPRIETARY"           comment="Core Avionics &amp; Industrial Inc."/>
        <enum value="16"      name="VK_DRIVER_ID_JUICE_PROPRIETARY"             comment="Juice Technologies, Inc."/>
        <enum value="17"      name="VK_DRIVER_ID_VERISILICON_PROPRIETARY"       comment="Verisilicon, Inc."/>
        <enum value="18"      name="VK_DRIVER_ID_MESA_TURNIP"                   comment="Mesa open source project"/>
        <enum value="19"      name="VK_DRIVER_ID_MESA_V3DV"                     comment="Mesa open source project"/>
        <enum value="20"      name="VK_DRIVER_ID_MESA_PANVK"                    comment="Mesa open source project"/>
        <enum value="21"      name="VK_DRIVER_ID_SAMSUNG_PROPRIETARY"           comment="Samsung Electronics Co., Ltd."/>
        <enum value="22"      name="VK_DRIVER_ID_MESA_VENUS"                    comment="Mesa open source project"/>
        <enum value="23"      name="VK_DRIVER_ID_MESA_DOZEN"                    comment="Mesa open source project"/>
        <enum value="24"      name="VK_DRIVER_ID_MESA_NVK"                      comment="Mesa open source project"/>
        <enum value="25"      name="VK_DRIVER_ID_IMAGINATION_OPEN_SOURCE_MESA"  comment="Imagination Technologies"/>
        <enum value="26"      name="VK_DRIVER_ID_MESA_HONEYKRISP"               comment="Mesa open source project"/>
        <enum value="27"      name="VK_DRIVER_ID_RESERVED_27"                   comment="Reserved for undisclosed driver project"/>
    </enums>

Re patch version: I don't think the XML exposes that info, so best there is, is to go by timestamp.

tim-rex commented 2 months ago

Hmm.. appears vk.xml disagrees with _vulkancore.h then. I'll raise an issue with Kronos

There are code references in the SDK for this enum (VK_DRIVER_ID_MESA_AGXV) in _vk_enum_stringhelper.h

Dav1dde commented 2 months ago

I don't see it here vk_enum_string_helper.h. Are you comparing the XML to your local installation?

tim-rex commented 2 months ago

Yeah, I've been referencing my installed version from 1.3.280 It does looks like this has since been fixed, and simply hasn't rolled out with another SDK release yet. I guess GLAD is referencing bleeding edge while my dependencies are on official release tarballs

The value was originally added here in 1.3.280

It seems this value was swapped out here in 1.3.287

Dav1dde commented 2 months ago

Yeah, the website updates once a day, locally it will always fetch the latest and with --reproducible it uses the latest version available when I packaged the version.