Skip to content

Vulkan-Profiles will not compile with Android NDK 28.0.13004108 #758

@lunarpapillo

Description

@lunarpapillo

Vulkan-ValidationLayers would like to update the NDK compiler on our CI systems to NDK 28.0.13004108, to gain access to 16K page sizes required by Android 15 devices.

Vulkan-Profiles does not currently compile with NDK 28.0.13004108, apparently due to a new compiler warnings: http://tcubuser.lunarg.localdomain:8080/view/Manual/job/manual-VulkanProfiles/97/console

/home/lunarg/.jenkins/workspace/manual-VulkanProfiles/VulkanProfiles/layer/profiles_generated.cpp:11904:9: warning: loop will run at most once (loop increment never executed) [-Wunreachable-code-loop-increment]
 11904 |         for (const auto &profile : profiles.getMemberNames()) {
       |         ^~~
/home/lunarg/.jenkins/workspace/manual-VulkanProfiles/VulkanProfiles/layer/profiles_generated.cpp:12006:17: warning: loop will run at most once (loop increment never executed) [-Wunreachable-code-loop-increment]
 12006 |                 for (const auto &profile : profiles.getMemberNames()) {
       |                 ^~~
/home/lunarg/.jenkins/workspace/manual-VulkanProfiles/VulkanProfiles/library/test/test_api_create_device_android.cpp:145:49: warning: unused parameter 'app' [-Wunused-parameter]
  145 | static int32_t processInput(struct android_app *app, AInputEvent *event) { return 0; }
      |                                                 ^
/home/lunarg/.jenkins/workspace/manual-VulkanProfiles/VulkanProfiles/library/test/test_api_create_device_android.cpp:145:67: warning: unused parameter 'event' [-Wunused-parameter]
  145 | static int32_t processInput(struct android_app *app, AInputEvent *event) { return 0; }
      |                                                                   ^
/home/lunarg/.jenkins/workspace/manual-VulkanProfiles/VulkanProfiles/library/test/test_api_create_device_android.cpp:173:22: error: 'ALooper_pollAll' is unavailable: obsoleted in Android 1 - ALooper_pollAll may ignore wakes. Use ALooper_pollOnce instead. See The API documentation for more information
  173 |         int result = ALooper_pollAll(-1, nullptr, &events, reinterpret_cast<void **>(&source));
      |                      ^
/home/lunarg/Android/Sdk/ndk/28.0.13004108/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/android/looper.h:234:5: note: 'ALooper_pollAll' has been explicitly marked unavailable here
  234 | int ALooper_pollAll(int timeoutMillis, int* outFd, int* outEvents, void** outData)
      |     ^
/home/lunarg/.jenkins/workspace/manual-VulkanProfiles/VulkanProfiles/library/test/test_api_create_device_android.cpp:192:16: error: 'ALooper_pollAll' is unavailable: obsoleted in Android 1 - ALooper_pollAll may ignore wakes. Use ALooper_pollOnce instead. See The API documentation for more information
  192 |         while (ALooper_pollAll(active ? 0 : -1, NULL, &events, (void **)&source) >= 0) {
      |                ^
/home/lunarg/Android/Sdk/ndk/28.0.13004108/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/android/looper.h:234:5: note: 'ALooper_pollAll' has been explicitly marked unavailable here
  234 | int ALooper_pollAll(int timeoutMillis, int* outFd, int* outEvents, void** outData)
      |     ^
/home/lunarg/.jenkins/workspace/manual-VulkanProfiles/VulkanProfiles/library/test/test_api_create_device_android.cpp:184:27: warning: unused variable 'window' [-Wunused-variable]
  184 |     static ANativeWindow *window;
      |                           ^~~~~~
3 warnings and 2 errors generated.
gmake[2]: *** [library/test/CMakeFiles/VpLibrary_test_api_create_device_android.dir/build.make:79: library/test/CMakeFiles/VpLibrary_test_api_create_device_android.dir/test_api_create_device_android.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:791: library/test/CMakeFiles/VpLibrary_test_api_create_device_android.dir/all] Error 2
gmake[1]: *** Waiting for unfinished jobs....
2 warnings generated.
gmake: *** [Makefile:146: all] Error 2

These warnings need to be fixed before we can move to Android NDK 28.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions