VK-GL-CTS
VK-GL-CTS copied to clipboard
Tests do not properly support targeting MSVC ARM64
Examples of broken behavior:
- https://github.com/KhronosGroup/VK-GL-CTS/blob/dab93ea8f88c3661c166ff0771310f36d0a7d790/framework/delibs/cmake/Defs.cmake#L114 - Pointer size is not sufficient for detecting x86 vs arm.
- https://github.com/KhronosGroup/VK-GL-CTS/blob/60c66b3c1a0b2d1b745aded2454178dfbf429f7d/framework/opengl/wrapper/glwTypes.inl#L73 - ARM64 needs
long long
pointer-sized variables too.
I haven't done an exhaustive search, but this looks pretty generally broken.
VK-GL-CTS/framework/delibs/cmake/Defs.cmake
This isn't broken. As you can see from https://github.com/KhronosGroup/VK-GL-CTS/blob/dab93ea8f88c3661c166ff0771310f36d0a7d790/framework/delibs/cmake/Defs.cmake#L115 this code path is executed if CPU is not known. DE_CPU
is typically set in a separate cmake file e.g. https://github.com/KhronosGroup/VK-GL-CTS/blob/dab93ea8f88c3661c166ff0771310f36d0a7d790/targets/android/ndk-modern.cmake#L56
You need to update the cmake file you are using for your target.
VK-GL-CTS/framework/opengl/wrapper/glwTypes.inl
I'm afraid MSVC/ARM64 combination isn't that widely used. You are probable placed best to address these shortcomings
I think DE_CPU
should be fixed in Defs.cmake, as MSVC build does not seem to use separate toolchain CMake file (as Android uses for NDK in the example above).