Skip to content

vulkan_entrypoints_gen: For Windows ARM64EC, prefix symbols with '#'

Jesse Natalie requested to merge jenatali/mesa:dzn-arm64ec into main

/cc @jekstrand

For the ARM64EC "architecture" (ARM64 code running in an x64 process), names get unique mangling. This is so that you can have both ARM64EC code and ARM64 code in the same binary without name collisions (called ARM64X). The mangling prepends a # to the names, so we need to use that for the /alternatename linker hacks that're done in the Vulkan common code. See https://docs.microsoft.com/en-us/cpp/build/arm64ec-windows-abi-conventions?view=msvc-170#arm64ec-function-name-decoration

Without this, Vulkan ICDs fail to compile for this architecture. I've verified that with this fix, the tables are correctly populated with defined functions where possible, and stubs when not.

Edited by Jesse Natalie

Merge request reports