Hello community,

here is the log from the commit of package vulkan-tools for openSUSE:Factory 
checked in at 2018-12-04 20:57:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/vulkan-tools (Old)
 and      /work/SRC/openSUSE:Factory/.vulkan-tools.new.19453 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "vulkan-tools"

Tue Dec  4 20:57:56 2018 rev:2 rq:653799 version:1.1.92

Changes:
--------
--- /work/SRC/openSUSE:Factory/vulkan-tools/vulkan-tools.changes        
2018-11-28 11:12:56.722936877 +0100
+++ /work/SRC/openSUSE:Factory/.vulkan-tools.new.19453/vulkan-tools.changes     
2018-12-04 20:58:14.432592836 +0100
@@ -1,0 +2,7 @@
+Sun Dec  2 15:12:52 UTC 2018 - Jan Engelhardt <[email protected]>
+
+- Update to new upstream release 1.1.92
+  * vulkaninfo: Add wayland surface extension support
+  * vulkaninfo: Describe multiple surface extensions
+
+-------------------------------------------------------------------

Old:
----
  Vulkan-Tools-1.1.91.g3.tar.xz

New:
----
  Vulkan-Tools-1.1.92.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ vulkan-tools.spec ++++++
--- /var/tmp/diff_new_pack.z0aOsU/_old  2018-12-04 20:58:15.040592165 +0100
+++ /var/tmp/diff_new_pack.z0aOsU/_new  2018-12-04 20:58:15.040592165 +0100
@@ -12,14 +12,14 @@
 # license that conforms to the Open Source Definition (Version 1.9)
 # published by the Open Source Initiative.
 
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
 #
 
 
-%define version_unconverted 1.1.91.g3
+%define version_unconverted 1.1.92
 
 Name:           vulkan-tools
-Version:        1.1.91.g3
+Version:        1.1.92
 Release:        0
 Summary:        Reference ICD loader for Vulkan
 License:        Apache-2.0
@@ -31,9 +31,9 @@
 BuildRequires:  cmake >= 2.8.11
 BuildRequires:  gcc-c++ >= 4.8
 BuildRequires:  glslang-devel
-BuildRequires:  pkgconfig(vulkan)
 BuildRequires:  pkg-config
 BuildRequires:  python3-base
+BuildRequires:  pkgconfig(vulkan)
 BuildRequires:  pkgconfig(x11)
 BuildRequires:  pkgconfig(xcb)
 Obsoletes:      vulkan < %version-%release
@@ -52,7 +52,7 @@
 
 %build
 mkdir -p glslang/bin
-ln -sv /usr/bin/glslangValidator glslang/bin/
+ln -fsv /usr/bin/glslangValidator glslang/bin/
 %cmake
 make %{?_smp_mflags}
 

++++++ Vulkan-Tools-1.1.91.g3.tar.xz -> Vulkan-Tools-1.1.92.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Vulkan-Tools-1.1.91.g3/build-android/vulkan-headers_revision_android 
new/Vulkan-Tools-1.1.92/build-android/vulkan-headers_revision_android
--- old/Vulkan-Tools-1.1.91.g3/build-android/vulkan-headers_revision_android    
2018-11-09 23:38:46.000000000 +0100
+++ new/Vulkan-Tools-1.1.92/build-android/vulkan-headers_revision_android       
2018-11-20 01:10:06.000000000 +0100
@@ -1 +1 @@
-afd12b7bdcd63bf4d8d669d6e06a368a0954b6e3
+114c3546e195819bd53a34b39f5194b2989a5b12
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Vulkan-Tools-1.1.91.g3/cube/cube.c 
new/Vulkan-Tools-1.1.92/cube/cube.c
--- old/Vulkan-Tools-1.1.91.g3/cube/cube.c      2018-11-09 23:38:46.000000000 
+0100
+++ new/Vulkan-Tools-1.1.92/cube/cube.c 2018-11-20 01:10:06.000000000 +0100
@@ -60,8 +60,8 @@
 #define BILLION 1000000000L
 
 #define DEMO_TEXTURE_COUNT 1
-#define APP_SHORT_NAME "cube"
-#define APP_LONG_NAME "The Vulkan Cube Demo Program"
+#define APP_SHORT_NAME "vkcube"
+#define APP_LONG_NAME "Vulkan Cube"
 
 // Allow a maximum of two outstanding presentation operations.
 #define FRAME_LAG 2
@@ -99,20 +99,20 @@
 #include <android/log.h>
 #define ERR_EXIT(err_msg, err_class)                                    \
     do {                                                                \
-        ((void)__android_log_print(ANDROID_LOG_INFO, "Cube", err_msg)); \
+        ((void)__android_log_print(ANDROID_LOG_INFO, "Vulkan Cube", err_msg)); 
\
         exit(1);                                                        \
     } while (0)
 #ifdef VARARGS_WORKS_ON_ANDROID
 void DbgMsg(const char *fmt, ...) {
     va_list va;
     va_start(va, fmt);
-    __android_log_print(ANDROID_LOG_INFO, "Cube", fmt, va);
+    __android_log_print(ANDROID_LOG_INFO, "Vulkan Cube", fmt, va);
     va_end(va);
 }
 #else  // VARARGS_WORKS_ON_ANDROID
 #define DbgMsg(fmt, ...)                                                       
    \
     do {                                                                       
    \
-        ((void)__android_log_print(ANDROID_LOG_INFO, "Cube", fmt, 
##__VA_ARGS__)); \
+        ((void)__android_log_print(ANDROID_LOG_INFO, "Vulkan Cube", fmt, 
##__VA_ARGS__)); \
     } while (0)
 #endif  // VARARGS_WORKS_ON_ANDROID
 #else
@@ -3707,7 +3707,7 @@
         }
 
 #if defined(ANDROID)
-        ERR_EXIT("Usage: cube [--validate]\n", "Usage");
+        ERR_EXIT("Usage: vkcube [--validate]\n", "Usage");
 #else
         fprintf(stderr,
                 "Usage:\n  %s\t[--use_staging] [--validate] 
[--validate-checks-disabled] [--break]\n"
@@ -3798,7 +3798,7 @@
     }
 
     demo.connection = hInstance;
-    strncpy(demo.name, "cube", APP_NAME_STR_LEN);
+    strncpy(demo.name, "Vulkan Cube", APP_NAME_STR_LEN);
     demo_create_window(&demo);
     demo_init_vk_swapchain(&demo);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Vulkan-Tools-1.1.91.g3/cube/cube.cpp 
new/Vulkan-Tools-1.1.92/cube/cube.cpp
--- old/Vulkan-Tools-1.1.91.g3/cube/cube.cpp    2018-11-09 23:38:46.000000000 
+0100
+++ new/Vulkan-Tools-1.1.92/cube/cube.cpp       2018-11-20 01:10:06.000000000 
+0100
@@ -45,7 +45,7 @@
 #define VERIFY(x) ((void)(x))
 #endif
 
-#define APP_SHORT_NAME "cube"
+#define APP_SHORT_NAME "vkcube"
 #ifdef _WIN32
 #define APP_NAME_STR_LEN 80
 #endif
@@ -2934,7 +2934,7 @@
     }
 
     demo.connection = hInstance;
-    strncpy(demo.name, "cube", APP_NAME_STR_LEN);
+    strncpy(demo.name, "Vulkan Cube", APP_NAME_STR_LEN);
     demo.create_window();
     demo.init_vk_swapchain();
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Vulkan-Tools-1.1.91.g3/cube/macOS/cube/cube.cmake 
new/Vulkan-Tools-1.1.92/cube/macOS/cube/cube.cmake
--- old/Vulkan-Tools-1.1.91.g3/cube/macOS/cube/cube.cmake       2018-11-09 
23:38:46.000000000 +0100
+++ new/Vulkan-Tools-1.1.92/cube/macOS/cube/cube.cmake  2018-11-20 
01:10:06.000000000 +0100
@@ -72,12 +72,12 @@
 # Copy the MoltenVK lib into the bundle.
 if(${CMAKE_GENERATOR} MATCHES "^Xcode.*")
     add_custom_command(TARGET vkcube POST_BUILD
-                       COMMAND ${CMAKE_COMMAND} -E copy 
"${MOLTENVK_DIR}/MoltenVK/macOS/libMoltenVK.dylib"
+                       COMMAND ${CMAKE_COMMAND} -E copy 
"${MOLTENVK_DIR}/MoltenVK/macOS/dynamic/libMoltenVK.dylib"
                                
${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/vkcube.app/Contents/Frameworks/libMoltenVK.dylib
                        DEPENDS vulkan)
 else()
     add_custom_command(TARGET vkcube POST_BUILD
-                       COMMAND ${CMAKE_COMMAND} -E copy 
"${MOLTENVK_DIR}/MoltenVK/macOS/libMoltenVK.dylib"
+                       COMMAND ${CMAKE_COMMAND} -E copy 
"${MOLTENVK_DIR}/MoltenVK/macOS/dynamic/libMoltenVK.dylib"
                                
${CMAKE_CURRENT_BINARY_DIR}/vkcube.app/Contents/Frameworks/libMoltenVK.dylib
                        DEPENDS vulkan)
 endif()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Vulkan-Tools-1.1.91.g3/cube/macOS/cubepp/cubepp.cmake 
new/Vulkan-Tools-1.1.92/cube/macOS/cubepp/cubepp.cmake
--- old/Vulkan-Tools-1.1.91.g3/cube/macOS/cubepp/cubepp.cmake   2018-11-09 
23:38:46.000000000 +0100
+++ new/Vulkan-Tools-1.1.92/cube/macOS/cubepp/cubepp.cmake      2018-11-20 
01:10:06.000000000 +0100
@@ -74,12 +74,12 @@
 # Copy the MoltenVK lib into the bundle.
 if(${CMAKE_GENERATOR} MATCHES "^Xcode.*")
     add_custom_command(TARGET vkcubepp POST_BUILD
-                       COMMAND ${CMAKE_COMMAND} -E copy 
"${MOLTENVK_DIR}/MoltenVK/macOS/libMoltenVK.dylib"
+                       COMMAND ${CMAKE_COMMAND} -E copy 
"${MOLTENVK_DIR}/MoltenVK/macOS/dynamic/libMoltenVK.dylib"
                                
${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/vkcubepp.app/Contents/Frameworks/libMoltenVK.dylib
                        DEPENDS vulkan)
 else()
     add_custom_command(TARGET vkcubepp POST_BUILD
-                       COMMAND ${CMAKE_COMMAND} -E copy 
"${MOLTENVK_DIR}/MoltenVK/macOS/libMoltenVK.dylib"
+                       COMMAND ${CMAKE_COMMAND} -E copy 
"${MOLTENVK_DIR}/MoltenVK/macOS/dynamic/libMoltenVK.dylib"
                                
${CMAKE_CURRENT_BINARY_DIR}/vkcubepp.app/Contents/Frameworks/libMoltenVK.dylib
                        DEPENDS vulkan)
 endif()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Vulkan-Tools-1.1.91.g3/scripts/known_good.json 
new/Vulkan-Tools-1.1.92/scripts/known_good.json
--- old/Vulkan-Tools-1.1.91.g3/scripts/known_good.json  2018-11-09 
23:38:46.000000000 +0100
+++ new/Vulkan-Tools-1.1.92/scripts/known_good.json     2018-11-20 
01:10:06.000000000 +0100
@@ -6,7 +6,7 @@
       "sub_dir" : "glslang",
       "build_dir" : "glslang/build",
       "install_dir" : "glslang/build/install",
-      "commit" : "a440fbb04f82b5cb19541802a31abdf1aeb94abe",
+      "commit" : "d509a5eec6f5a65b3ffdfa0a19096f338d2582be",
       "prebuild" : [
         "python update_glslang_sources.py"
       ]
@@ -17,7 +17,7 @@
       "sub_dir" : "Vulkan-Headers",
       "build_dir" : "Vulkan-Headers/build",
       "install_dir" : "Vulkan-Headers/build/install",
-      "commit" : "369e6ea7f9b8cf0155b183da7e5be1b39ef6138d"
+      "commit" : "114c3546e195819bd53a34b39f5194b2989a5b12"
     },
     {
       "name" : "MoltenVK",
@@ -25,10 +25,10 @@
       "sub_dir" : "MoltenVK",
       "build_dir" : "MoltenVK",
       "install_dir" : "MoltenVK",
-      "commit" : "e651841e67e6faddaaa8e5848d248c4b1b7ad3cf",
+      "commit" : "9517c58dbdf1b4c269bd700b346361a5dc01f1c0",
       "custom_build" : [
         "./fetchDependencies --v-headers-root {0[Vulkan-Headers][repo_dir]} 
--glslang-root {0[glslang][repo_dir]}",
-        "xcodebuild -project MoltenVKPackaging.xcodeproj -scheme \"MoltenVK 
Package ({2})\" build"
+        "xcodebuild -project MoltenVKPackaging.xcodeproj 
GCC_PREPROCESSOR_DEFINITIONS='$GCC_PREPROCESSOR_DEFINITIONS 
MVK_LOGGING_ENABLED=0' -scheme \"MoltenVK Package\" build"
       ],
       "build_step" : "custom",
       "build_platforms" : [
@@ -41,7 +41,7 @@
       "sub_dir" : "Vulkan-Loader",
       "build_dir" : "Vulkan-Loader/build",
       "install_dir" : "Vulkan-Loader/build/install",
-      "commit" : "9f59673982ff0ef7614adbe4c698b79aef1eaedb",
+      "commit" : "abe5c2b3c33e42fff883d32d4c168556fb29b3ba",
       "deps" : [
         {
           "var_name" : "VULKAN_HEADERS_INSTALL_DIR",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Vulkan-Tools-1.1.91.g3/vulkaninfo/CMakeLists.txt 
new/Vulkan-Tools-1.1.92/vulkaninfo/CMakeLists.txt
--- old/Vulkan-Tools-1.1.91.g3/vulkaninfo/CMakeLists.txt        2018-11-09 
23:38:46.000000000 +0100
+++ new/Vulkan-Tools-1.1.92/vulkaninfo/CMakeLists.txt   2018-11-20 
01:10:06.000000000 +0100
@@ -32,31 +32,28 @@
     include(FindPkgConfig)
     option(BUILD_WSI_XCB_SUPPORT "Build XCB WSI support" ON)
     option(BUILD_WSI_XLIB_SUPPORT "Build Xlib WSI support" ON)
-    set(VULKANINFO_WSI_SELECTION "XCB" CACHE STRING "Select WSI target for 
vulkaninfo (XCB, XLIB)")
+    option(BUILD_WSI_WAYLAND_SUPPORT "Build Wayland WSI support" ON)
 
     if(BUILD_WSI_XCB_SUPPORT)
         find_package(XCB REQUIRED)
+        target_include_directories(vulkaninfo PRIVATE ${XCB_INCLUDE_DIRS})
+        target_link_libraries(vulkaninfo ${XCB_LIBRARIES})
+        target_compile_definitions(vulkaninfo PRIVATE 
-DVK_USE_PLATFORM_XCB_KHR)
     endif()
 
     if(BUILD_WSI_XLIB_SUPPORT)
         find_package(X11 REQUIRED)
-    endif()
-
-    if(VULKANINFO_WSI_SELECTION STREQUAL "XCB")
-        if(NOT BUILD_WSI_XCB_SUPPORT)
-            message(FATAL_ERROR "Selected XCB for vulkaninfo build but not 
building Xcb support")
-        endif()
-        target_include_directories(vulkaninfo PRIVATE ${XCB_INCLUDE_DIRS})
-        target_link_libraries(vulkaninfo ${XCB_LIBRARIES})
-        target_compile_definitions(vulkaninfo PRIVATE 
-DVK_USE_PLATFORM_XCB_KHR)
-    elseif(VULKANINFO_WSI_SELECTION STREQUAL "XLIB")
-        if(NOT BUILD_WSI_XLIB_SUPPORT)
-            message(FATAL_ERROR "Selected XLIB for vulkaninfo build but not 
building Xlib support")
-        endif()
         target_include_directories(vulkaninfo PRIVATE ${X11_INCLUDE_DIR})
         target_link_libraries(vulkaninfo ${X11_LIBRARIES})
         target_compile_definitions(vulkaninfo PRIVATE 
-DVK_USE_PLATFORM_XLIB_KHR)
     endif()
+
+    if(BUILD_WSI_WAYLAND_SUPPORT)
+        find_package(Wayland REQUIRED)
+        target_include_directories(vulkaninfo PRIVATE 
${WAYLAND_CLIENT_INCLUDE_DIR})
+        target_link_libraries(vulkaninfo ${WAYLAND_CLIENT_LIBRARIES})
+        target_compile_definitions(vulkaninfo PRIVATE 
-DVK_USE_PLATFORM_WAYLAND_KHR)
+    endif()
 endif()
 
 if(APPLE)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Vulkan-Tools-1.1.91.g3/vulkaninfo/macOS/vulkaninfo.cmake 
new/Vulkan-Tools-1.1.92/vulkaninfo/macOS/vulkaninfo.cmake
--- old/Vulkan-Tools-1.1.91.g3/vulkaninfo/macOS/vulkaninfo.cmake        
2018-11-09 23:38:46.000000000 +0100
+++ new/Vulkan-Tools-1.1.92/vulkaninfo/macOS/vulkaninfo.cmake   2018-11-20 
01:10:06.000000000 +0100
@@ -50,12 +50,12 @@
 # Xcode projects need some extra help with what would be install steps.
 if(${CMAKE_GENERATOR} MATCHES "^Xcode.*")
     add_custom_command(TARGET vulkaninfo-bundle POST_BUILD
-                       COMMAND ${CMAKE_COMMAND} -E copy 
"${MOLTENVK_DIR}/MoltenVK/macOS/libMoltenVK.dylib"
+                       COMMAND ${CMAKE_COMMAND} -E copy 
"${MOLTENVK_DIR}/MoltenVK/macOS/dynamic/libMoltenVK.dylib"
                                
${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/vulkaninfo.app/Contents/Frameworks/libMoltenVK.dylib
                        DEPENDS vulkan)
 else()
     add_custom_command(TARGET vulkaninfo-bundle POST_BUILD
-                       COMMAND ${CMAKE_COMMAND} -E copy 
"${MOLTENVK_DIR}/MoltenVK/macOS/libMoltenVK.dylib"
+                       COMMAND ${CMAKE_COMMAND} -E copy 
"${MOLTENVK_DIR}/MoltenVK/macOS/dynamic/libMoltenVK.dylib"
                                
${CMAKE_CURRENT_BINARY_DIR}/vulkaninfo.app/Contents/Frameworks/libMoltenVK.dylib
                        DEPENDS vulkan)
 endif()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Vulkan-Tools-1.1.91.g3/vulkaninfo/vulkaninfo.c 
new/Vulkan-Tools-1.1.92/vulkaninfo/vulkaninfo.c
--- old/Vulkan-Tools-1.1.91.g3/vulkaninfo/vulkaninfo.c  2018-11-09 
23:38:46.000000000 +0100
+++ new/Vulkan-Tools-1.1.92/vulkaninfo/vulkaninfo.c     2018-11-20 
01:10:06.000000000 +0100
@@ -150,18 +150,26 @@
 #ifdef VK_USE_PLATFORM_WIN32_KHR
     HINSTANCE h_instance;  // Windows Instance
     HWND h_wnd;            // window handle
-#elif VK_USE_PLATFORM_XCB_KHR
+#endif
+#ifdef VK_USE_PLATFORM_XCB_KHR
     xcb_connection_t *xcb_connection;
     xcb_screen_t *xcb_screen;
     xcb_window_t xcb_window;
-#elif VK_USE_PLATFORM_XLIB_KHR
+#endif
+#ifdef VK_USE_PLATFORM_XLIB_KHR
     Display *xlib_display;
     Window xlib_window;
-#elif VK_USE_PLATFORM_ANDROID_KHR  // TODO
+#endif
+#ifdef VK_USE_PLATFORM_ANDROID_KHR  // TODO
     ANativeWindow *window;
-#elif VK_USE_PLATFORM_MACOS_MVK
+#endif
+#ifdef VK_USE_PLATFORM_MACOS_MVK
     void *window;
 #endif
+#ifdef VK_USE_PLATFORM_WAYLAND_KHR
+    struct wl_display *wayland_display;
+    struct wl_surface *wayland_surface;
+#endif
 };
 
 struct AppGpu {
@@ -456,7 +464,7 @@
     }
 }
 #if defined(VK_USE_PLATFORM_XCB_KHR) || defined(VK_USE_PLATFORM_XLIB_KHR) || 
defined(VK_USE_PLATFORM_WIN32_KHR) || \
-    defined(VK_USE_PLATFORM_MACOS_MVK)
+    defined(VK_USE_PLATFORM_MACOS_MVK) || defined(VK_USE_PLATFORM_WAYLAND_KHR)
 static const char *VkPresentModeString(VkPresentModeKHR mode) {
     switch (mode) {
 #define STR(r)                \
@@ -751,26 +759,32 @@
 
     //---Build a list of extensions to load---
 
-    const char *info_instance_extensions[] = 
{VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME,
-                                              VK_KHR_DISPLAY_EXTENSION_NAME,
-                                              
VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME,
-                                              
VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME,
-                                              
VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME,
-                                              
VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME,
-                                              VK_KHR_SURFACE_EXTENSION_NAME,
-                                              
VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME,
+    const char *info_instance_extensions[] = {
+        VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME,
+        VK_KHR_DISPLAY_EXTENSION_NAME,
+        VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME,
+        VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME,
+        VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME,
+        VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME,
+        VK_KHR_SURFACE_EXTENSION_NAME,
+        VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME,
 #ifdef VK_USE_PLATFORM_WIN32_KHR
-                                              
VK_KHR_WIN32_SURFACE_EXTENSION_NAME
-#elif VK_USE_PLATFORM_XCB_KHR
-                                              VK_KHR_XCB_SURFACE_EXTENSION_NAME
-#elif VK_USE_PLATFORM_XLIB_KHR
-                                              
VK_KHR_XLIB_SURFACE_EXTENSION_NAME
-#elif VK_USE_PLATFORM_WAYLAND_KHR
-                                              
VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME
-#elif VK_USE_PLATFORM_ANDROID_KHR
-                                              
VK_KHR_ANDROID_SURFACE_EXTENSION_NAME
-#elif VK_USE_PLATFORM_MACOS_MVK
-                                              
VK_MVK_MACOS_SURFACE_EXTENSION_NAME
+        VK_KHR_WIN32_SURFACE_EXTENSION_NAME,
+#endif
+#ifdef VK_USE_PLATFORM_XCB_KHR
+        VK_KHR_XCB_SURFACE_EXTENSION_NAME,
+#endif
+#ifdef VK_USE_PLATFORM_XLIB_KHR
+        VK_KHR_XLIB_SURFACE_EXTENSION_NAME,
+#endif
+#ifdef VK_USE_PLATFORM_WAYLAND_KHR
+        VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME,
+#endif
+#ifdef VK_USE_PLATFORM_ANDROID_KHR
+        VK_KHR_ANDROID_SURFACE_EXTENSION_NAME,
+#endif
+#ifdef VK_USE_PLATFORM_MACOS_MVK
+        VK_MVK_MACOS_SURFACE_EXTENSION_NAME,
 #endif
     };
     const uint32_t info_instance_extensions_count = 
ARRAY_SIZE(info_instance_extensions);
@@ -1098,7 +1112,8 @@
 #if defined(VK_USE_PLATFORM_XCB_KHR)     || \
     defined(VK_USE_PLATFORM_XLIB_KHR)    || \
     defined(VK_USE_PLATFORM_WIN32_KHR)   || \
-    defined(VK_USE_PLATFORM_MACOS_MVK)
+    defined(VK_USE_PLATFORM_MACOS_MVK)   || \
+    defined(VK_USE_PLATFORM_WAYLAND_KHR)
 static void AppDestroySurface(struct AppInstance *inst) { //same for all 
platforms
     vkDestroySurfaceKHR(inst->instance, inst->surface, NULL);
 }
@@ -1166,11 +1181,11 @@
     xcb_destroy_window(inst->xcb_connection, inst->xcb_window);
     xcb_disconnect(inst->xcb_connection);
 }
-//VK_USE_PLATFORM_XCB_KHR
+#endif //VK_USE_PLATFORM_XCB_KHR
 //-----------------------------------------------------------
 
 //----------------------------XLib---------------------------
-#elif VK_USE_PLATFORM_XLIB_KHR
+#ifdef VK_USE_PLATFORM_XLIB_KHR
 static void AppCreateXlibWindow(struct AppInstance *inst) {
     long visualMask = VisualScreenMask;
     int numberOfVisuals;
@@ -1238,11 +1253,54 @@
     DestroyMetalView(inst->window);
 }
 #endif //VK_USE_PLATFORM_MACOS_MVK
+//-----------------------------------------------------------
+
+#ifdef VK_USE_PLATFORM_WAYLAND_KHR
+
+static void wayland_registry_global(void *data, struct wl_registry *registry, 
uint32_t id, const char *interface, uint32_t version) {
+    struct AppInstance *inst = (struct AppInstance *)data;
+    if (strcmp(interface, "wl_compositor") == 0) {
+        struct wl_compositor *compositor = (struct wl_compositor 
*)wl_registry_bind(registry, id, &wl_compositor_interface, 1);
+        inst->wayland_surface = wl_compositor_create_surface(compositor);
+    }
+}
+static void wayland_registry_global_remove(void *data, struct wl_registry 
*registry, uint32_t id) {
+}
+static const struct wl_registry_listener wayland_registry_listener = {
+    wayland_registry_global,
+    wayland_registry_global_remove
+};
+
+static void AppCreateWaylandWindow(struct AppInstance *inst) {
+    inst->wayland_display = wl_display_connect(NULL);
+    struct wl_registry *registry = 
wl_display_get_registry(inst->wayland_display);
+    wl_registry_add_listener(wl_display_get_registry(inst->wayland_display), 
&wayland_registry_listener, inst);
+    wl_display_roundtrip(inst->wayland_display);
+    wl_registry_destroy(registry);
+}
+
+static void AppCreateWaylandSurface(struct AppInstance *inst) {
+    VkResult U_ASSERT_ONLY err;
+    VkWaylandSurfaceCreateInfoKHR createInfo;
+    createInfo.sType   = VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR;
+    createInfo.pNext   = NULL;
+    createInfo.flags   = 0;
+    createInfo.display = inst->wayland_display;
+    createInfo.surface = inst->wayland_surface;
+    err = vkCreateWaylandSurfaceKHR(inst->instance, &createInfo, NULL, 
&inst->surface);
+    assert(!err);
+}
+
+static void AppDestroyWaylandWindow(struct AppInstance *inst) {
+    wl_display_disconnect(inst->wayland_display);
+}
+#endif //VK_USE_PLATFORM_WAYLAND_KHR
 
 #if defined(VK_USE_PLATFORM_XCB_KHR)     || \
     defined(VK_USE_PLATFORM_XLIB_KHR)    || \
     defined(VK_USE_PLATFORM_WIN32_KHR)   || \
-    defined(VK_USE_PLATFORM_MACOS_MVK)
+    defined(VK_USE_PLATFORM_MACOS_MVK)   || \
+    defined(VK_USE_PLATFORM_WAYLAND_KHR)
 static int AppDumpSurfaceFormats(struct AppInstance *inst, struct AppGpu *gpu, 
FILE *out) {
     // Get the list of VkFormat's that are supported
     VkResult U_ASSERT_ONLY err;
@@ -1451,8 +1509,7 @@
             }
             fprintf(out, "\t\t\t\t\t\t</details>\n");
         } else if (human_readable_output) {
-            printf("\nVkSurfaceCapabilitiesKHR:\n");
-            printf("=========================\n");
+            printf("VkSurfaceCapabilitiesKHR:\n");
             printf("\tminImageCount       = %u\n", 
inst->surface_capabilities.minImageCount);
             printf("\tmaxImageCount       = %u\n", 
inst->surface_capabilities.maxImageCount);
             printf("\tcurrentExtent:\n");
@@ -1525,8 +1582,7 @@
                 fprintf(out, "\t\t\t\t\t\t\t</details>\n");
                 fprintf(out, "\t\t\t\t\t\t</details>\n");
             } else if (human_readable_output) {
-                printf("\nVkSurfaceCapabilities2EXT:\n");
-                printf("==========================\n");
+                printf("VkSurfaceCapabilities2EXT:\n");
                 printf("\tsupportedSurfaceCounters:\n");
                 if (inst->surface_capabilities2_ext.supportedSurfaceCounters 
== 0) {
                     printf("\t\tNone\n");
@@ -1594,8 +1650,7 @@
                         fprintf(out, "\t\t\t\t\t\t\t</details>\n");
                         fprintf(out, "\t\t\t\t\t\t</details>\n");
                     } else if (human_readable_output) {
-                        printf("\nVkSharedPresentSurfaceCapabilitiesKHR:\n");
-                        printf("========================================\n");
+                        printf("VkSharedPresentSurfaceCapabilitiesKHR:\n");
                         printf("\tsharedPresentSupportedUsageFlags:\n");
                         if 
(shared_surface_capabilities->sharedPresentSupportedUsageFlags == 0) { 
printf("\t\tNone\n"); }
                         if 
(shared_surface_capabilities->sharedPresentSupportedUsageFlags & 
VK_IMAGE_USAGE_TRANSFER_SRC_BIT) { 
printf("\t\tVK_IMAGE_USAGE_TRANSFER_SRC_BIT\n"); }
@@ -1617,6 +1672,46 @@
     }
 }
 
+struct SurfaceExtensionInfo {
+    const char *name;
+    void (*create_window)(struct AppInstance *);
+    void (*create_surface)(struct AppInstance *);
+    void (*destroy_window)(struct AppInstance *);
+};
+
+static void AppDumpSurfaceExtension(struct AppInstance *inst, struct AppGpu 
*gpus, uint32_t gpu_count,
+                                    struct SurfaceExtensionInfo 
*surface_extension, int *format_count, int *present_mode_count,
+                                    FILE *out) {
+
+    if (!CheckExtensionEnabled(surface_extension->name, inst->inst_extensions, 
inst->inst_extensions_count)) {
+        return;
+    }
+
+    surface_extension->create_window(inst);
+    for (uint32_t i = 0; i < gpu_count; ++i) {
+        surface_extension->create_surface(inst);
+        if (html_output) {
+            fprintf(out, "\t\t\t\t<details><summary>GPU id : <div 
class='val'>%u</div> (%s)</summary>\n", i,
+                    gpus[i].props.deviceName);
+            fprintf(out, "\t\t\t\t\t<details><summary>Surface type : <div 
class='type'>%s</div></summary></details>\n",
+                    surface_extension->name);
+        } else if (human_readable_output) {
+            printf("GPU id       : %u (%s)\n", i, gpus[i].props.deviceName);
+            printf("Surface type : %s\n", surface_extension->name);
+        }
+        *format_count += AppDumpSurfaceFormats(inst, &gpus[i], out);
+        *present_mode_count += AppDumpSurfacePresentModes(inst, &gpus[i], out);
+        AppDumpSurfaceCapabilities(inst, &gpus[i], out);
+        AppDestroySurface(inst);
+        if (html_output) {
+            fprintf(out, "\t\t\t\t</details>\n");
+        } else if (human_readable_output) {
+            printf("\n");
+        }
+    }
+    surface_extension->destroy_window(inst);
+}
+
 #endif
 
 static void AppDevDumpFormatProps(const struct AppGpu *gpu, VkFormat fmt, bool 
*first_in_list, FILE *out) {
@@ -3512,113 +3607,78 @@
     }
 #endif
 
+#ifdef VK_USE_PLATFORM_WAYLAND_KHR
+    struct wl_display *wayland_display = wl_display_connect(NULL);
+    bool has_wayland_display = false;
+    if (wayland_display != NULL) {
+        wl_display_disconnect(wayland_display);
+        has_wayland_display = true;
+    }
+#endif
+
 //--WIN32--
 #ifdef VK_USE_PLATFORM_WIN32_KHR
-    if (CheckExtensionEnabled(VK_KHR_WIN32_SURFACE_EXTENSION_NAME, 
inst.inst_extensions, inst.inst_extensions_count)) {
-        AppCreateWin32Window(&inst);
-        for (uint32_t i = 0; i < gpu_count; ++i) {
-            AppCreateWin32Surface(&inst);
-            if (html_output) {
-                fprintf(out, "\t\t\t\t<details><summary>GPU id : <div 
class='val'>%u</div> (%s)</summary>\n", i,
-                        gpus[i].props.deviceName);
-                fprintf(out, "\t\t\t\t\t<details><summary>Surface type : <div 
class='type'>%s</div></summary></details>\n",
-                        VK_KHR_WIN32_SURFACE_EXTENSION_NAME);
-            } else if (human_readable_output) {
-                printf("GPU id       : %u (%s)\n", i, 
gpus[i].props.deviceName);
-                printf("Surface type : %s\n", 
VK_KHR_WIN32_SURFACE_EXTENSION_NAME);
-            }
-            format_count += AppDumpSurfaceFormats(&inst, &gpus[i], out);
-            present_mode_count += AppDumpSurfacePresentModes(&inst, &gpus[i], 
out);
-            AppDumpSurfaceCapabilities(&inst, &gpus[i], out);
-            AppDestroySurface(&inst);
-            if (html_output) {
-                fprintf(out, "\t\t\t\t</details>\n");
-            }
-        }
-        AppDestroyWin32Window(&inst);
-    }
+    struct SurfaceExtensionInfo surface_ext_win32;
+    surface_ext_win32.name = VK_KHR_WIN32_SURFACE_EXTENSION_NAME;
+    surface_ext_win32.create_window = AppCreateWin32Window;
+    surface_ext_win32.create_surface = AppCreateWin32Surface;
+    surface_ext_win32.destroy_window = AppDestroyWin32Window;
+    AppDumpSurfaceExtension(&inst, gpus, gpu_count, &surface_ext_win32, 
&format_count, &present_mode_count, out);
+#endif
 //--XCB--
-#elif VK_USE_PLATFORM_XCB_KHR
-    if (has_display && 
CheckExtensionEnabled(VK_KHR_XCB_SURFACE_EXTENSION_NAME, inst.inst_extensions, 
inst.inst_extensions_count)) {
-        AppCreateXcbWindow(&inst);
-        for (uint32_t i = 0; i < gpu_count; ++i) {
-            AppCreateXcbSurface(&inst);
-            if (html_output) {
-                fprintf(out, "\t\t\t\t<details><summary>GPU id : <div 
class='val'>%u</div> (%s)</summary></details>\n", i,
-                        gpus[i].props.deviceName);
-                fprintf(out, "\t\t\t\t<details><summary>Surface type : <div 
class='type'>%s</div></summary></details>\n",
-                        VK_KHR_XCB_SURFACE_EXTENSION_NAME);
-            } else if (human_readable_output) {
-                printf("GPU id       : %u (%s)\n", i, 
gpus[i].props.deviceName);
-                printf("Surface type : %s\n", 
VK_KHR_XCB_SURFACE_EXTENSION_NAME);
-            }
-            format_count += AppDumpSurfaceFormats(&inst, &gpus[i], out);
-            present_mode_count += AppDumpSurfacePresentModes(&inst, &gpus[i], 
out);
-            AppDumpSurfaceCapabilities(&inst, &gpus[i], out);
-            AppDestroySurface(&inst);
-        }
-        AppDestroyXcbWindow(&inst);
+#ifdef VK_USE_PLATFORM_XCB_KHR
+    struct SurfaceExtensionInfo surface_ext_xcb;
+    surface_ext_xcb.name = VK_KHR_XCB_SURFACE_EXTENSION_NAME;
+    surface_ext_xcb.create_window = AppCreateXcbWindow;
+    surface_ext_xcb.create_surface = AppCreateXcbSurface;
+    surface_ext_xcb.destroy_window = AppDestroyXcbWindow;
+    if (has_display) {
+        AppDumpSurfaceExtension(&inst, gpus, gpu_count, &surface_ext_xcb, 
&format_count, &present_mode_count, out);
     }
+#endif
 //--XLIB--
-#elif VK_USE_PLATFORM_XLIB_KHR
-    if (has_display &&
-        CheckExtensionEnabled(VK_KHR_XLIB_SURFACE_EXTENSION_NAME, 
inst.inst_extensions, inst.inst_extensions_count)) {
-        AppCreateXlibWindow(&inst);
-        for (uint32_t i = 0; i < gpu_count; ++i) {
-            AppCreateXlibSurface(&inst);
-            if (html_output) {
-                fprintf(out, "\t\t\t\t<details><summary>GPU id : <div 
class='val'>%u</div> (%s)</summary></details>\n", i,
-                        gpus[i].props.deviceName);
-                fprintf(out, "\t\t\t\t<details><summary>Surface type : <div 
class='type'>%s</div></summary></details>\n",
-                        VK_KHR_XLIB_SURFACE_EXTENSION_NAME);
-            } else if (human_readable_output) {
-                printf("GPU id       : %u (%s)\n", i, 
gpus[i].props.deviceName);
-                printf("Surface type : %s\n", 
VK_KHR_XLIB_SURFACE_EXTENSION_NAME);
-            }
-            format_count += AppDumpSurfaceFormats(&inst, &gpus[i], out);
-            present_mode_count += AppDumpSurfacePresentModes(&inst, &gpus[i], 
out);
-            AppDumpSurfaceCapabilities(&inst, &gpus[i], out);
-            AppDestroySurface(&inst);
-        }
-        AppDestroyXlibWindow(&inst);
+#ifdef VK_USE_PLATFORM_XLIB_KHR
+    struct SurfaceExtensionInfo surface_ext_xlib;
+    surface_ext_xlib.name = VK_KHR_XLIB_SURFACE_EXTENSION_NAME;
+    surface_ext_xlib.create_window = AppCreateXlibWindow;
+    surface_ext_xlib.create_surface = AppCreateXlibSurface;
+    surface_ext_xlib.destroy_window = AppDestroyXlibWindow;
+    if (has_display) {
+        AppDumpSurfaceExtension(&inst, gpus, gpu_count, &surface_ext_xlib, 
&format_count, &present_mode_count, out);
     }
+#endif
 //--MACOS--
-#elif VK_USE_PLATFORM_MACOS_MVK
-    if (CheckExtensionEnabled(VK_MVK_MACOS_SURFACE_EXTENSION_NAME, 
inst.inst_extensions, inst.inst_extensions_count)) {
-        AppCreateMacOSWindow(&inst);
-        for (uint32_t i = 0; i < gpu_count; ++i) {
-            AppCreateMacOSSurface(&inst);
-            if (html_output) {
-                fprintf(out, "\t\t\t\t<details><summary>GPU id : <div 
class='val'>%u</div> (%s)</summary></details>\n", i,
-                        gpus[i].props.deviceName);
-                fprintf(out, "\t\t\t\t<details><summary>Surface type : <div 
class='type'>%s</div></summary></details>\n",
-                        VK_MVK_MACOS_SURFACE_EXTENSION_NAME);
-            } else if (human_readable_output) {
-                printf("GPU id       : %u (%s)\n", i, 
gpus[i].props.deviceName);
-                printf("Surface type : %s\n", 
VK_MVK_MACOS_SURFACE_EXTENSION_NAME);
-            }
-            format_count += AppDumpSurfaceFormats(&inst, &gpus[i], out);
-            present_mode_count += AppDumpSurfacePresentModes(&inst, &gpus[i], 
out);
-            AppDumpSurfaceCapabilities(&inst, &gpus[i], out);
-            AppDestroySurface(&inst);
-        }
-        AppDestroyMacOSWindow(&inst);
+#ifdef VK_USE_PLATFORM_MACOS_MVK
+    struct SurfaceExtensionInfo surface_ext_macos;
+    surface_ext_macos.name = VK_MVK_MACOS_SURFACE_EXTENSION_NAME;
+    surface_ext_macos.create_window = AppCreateMacOSWindow;
+    surface_ext_macos.create_surface = AppCreateMacOSSurface;
+    surface_ext_macos.destroy_window = AppDestroyMacOSWindow;
+    AppDumpSurfaceExtension(&inst, gpus, gpu_count, &surface_ext_macos, 
&format_count, &present_mode_count, out);
+#endif
+//--WAYLAND--
+#ifdef VK_USE_PLATFORM_WAYLAND_KHR
+    struct SurfaceExtensionInfo surface_ext_wayland;
+    surface_ext_wayland.name = VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME;
+    surface_ext_wayland.create_window = AppCreateWaylandWindow;
+    surface_ext_wayland.create_surface = AppCreateWaylandSurface;
+    surface_ext_wayland.destroy_window = AppDestroyWaylandWindow;
+    if (has_wayland_display) {
+        AppDumpSurfaceExtension(&inst, gpus, gpu_count, &surface_ext_wayland, 
&format_count, &present_mode_count, out);
     }
 #endif
 
-    // TODO: Android / Wayland
+    // TODO: Android
     if (!format_count && !present_mode_count) {
         if (html_output) {
             fprintf(out, "\t\t\t\t<details><summary>None 
found</summary></details>\n");
         } else if (human_readable_output) {
-            printf("None found\n");
+            printf("None found\n\n");
         }
     }
 
     if (html_output) {
         fprintf(out, "\t\t\t</details>\n");
-    } else if (human_readable_output) {
-        printf("\n");
     }
     //---------
 

++++++ _service ++++++
--- /var/tmp/diff_new_pack.z0aOsU/_old  2018-12-04 20:58:15.208591980 +0100
+++ /var/tmp/diff_new_pack.z0aOsU/_new  2018-12-04 20:58:15.208591980 +0100
@@ -2,9 +2,9 @@
        <service name="tar_scm" mode="disabled">
                <param name="scm">git</param>
                <param 
name="url">https://github.com/KhronosGroup/Vulkan-Tools</param>
-               <param name="revision">master</param>
-               <param 
name="parent-tag">e4480fa9afd6f8cfc5579c7d24954f7030b180cf</param>
-               <param name="versionformat">1.1.91.g@TAG_OFFSET@</param>
+               <param name="revision">sdk-1.1.92.0</param>
+               <param name="parent-tag">sdk-1.1.92.0</param>
+               <param name="versionformat">1.1.92</param>
        </service>
        <service name="recompress" mode="disabled">
                <param name="file">*.tar</param>


Reply via email to