Hello community,

here is the log from the commit of package vkmark for openSUSE:Factory checked 
in at 2020-06-11 14:53:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/vkmark (Old)
 and      /work/SRC/openSUSE:Factory/.vkmark.new.3606 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "vkmark"

Thu Jun 11 14:53:47 2020 rev:5 rq:813427 version:2017.08+git.20200521

Changes:
--------
--- /work/SRC/openSUSE:Factory/vkmark/vkmark.changes    2019-12-21 
12:31:26.751365076 +0100
+++ /work/SRC/openSUSE:Factory/.vkmark.new.3606/vkmark.changes  2020-06-11 
14:54:57.827326747 +0200
@@ -1,0 +2,15 @@
+Fri May 22 07:09:01 UTC 2020 - Martin Pluskal <mplus...@suse.com>
+
+- Update to version 2017.08+git.20200521:
+  * core: Use generated map of pixel formats to handle --pixel-format option
+  * core: Fix crash with newer vulkan-hpp
+  * doc: Update README.md with new wayland dependencies
+  * ci: Update packages dependencies for wayland
+  * wayland: Port to xdg-shell
+  * wayland: Mark the whole surface as opaque
+  * wayland: Retain native size in hidpi scaled outputs
+  * ci: Add build and test github workflow
+  * Fix build against glm-0.9.9.6
+  * build: Specify meson version as 0.45
+
+-------------------------------------------------------------------

Old:
----
  vkmark-2017.08+git.20191115.obscpio

New:
----
  _servicedata
  vkmark-2017.08+git.20200521.obscpio

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

Other differences:
------------------
++++++ vkmark.spec ++++++
--- /var/tmp/diff_new_pack.KGpWLD/_old  2020-06-11 14:55:06.239352699 +0200
+++ /var/tmp/diff_new_pack.KGpWLD/_new  2020-06-11 14:55:06.243352711 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package vkmark
 #
-# Copyright (c) 2019 SUSE LLC
+# Copyright (c) 2020 SUSE LLC
 # Copyright (c) 2018-2019 Malcolm J Lewis <malcolmle...@opensuse.org>
 #
 # All modifications and additions to the file contributed by third parties
@@ -18,7 +18,7 @@
 
 
 Name:           vkmark
-Version:        2017.08+git.20191115
+Version:        2017.08+git.20200521
 Release:        0
 Summary:        Vulkan benchmark utility
 License:        LGPL-2.1-or-later
@@ -26,12 +26,13 @@
 Source0:        %{name}-%{version}.tar.xz
 BuildRequires:  gcc-c++
 BuildRequires:  glm-devel
-BuildRequires:  meson
+BuildRequires:  meson >= 0.45
 BuildRequires:  pkgconfig
 BuildRequires:  pkgconfig(assimp)
 BuildRequires:  pkgconfig(gbm)
 BuildRequires:  pkgconfig(libdrm)
 BuildRequires:  pkgconfig(vulkan)
+BuildRequires:  pkgconfig(wayland-protocols)
 BuildRequires:  pkgconfig(xcb)
 BuildRequires:  pkgconfig(xcb-icccm)
 ExcludeArch:    %{arm} %{ix86}

++++++ _servicedata ++++++
<servicedata>
<service name="tar_scm">
                <param name="url">git://github.com/vkmark/vkmark</param>
              <param 
name="changesrevision">e8c0720f3251e50aa8e777f44e3c2406dceb919c</param></service></servicedata>++++++
 vkmark-2017.08+git.20191115.obscpio -> vkmark-2017.08+git.20200521.obscpio 
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vkmark-2017.08+git.20191115/.github/workflows/build.yml 
new/vkmark-2017.08+git.20200521/.github/workflows/build.yml
--- old/vkmark-2017.08+git.20191115/.github/workflows/build.yml 2019-11-15 
10:20:50.000000000 +0100
+++ new/vkmark-2017.08+git.20200521/.github/workflows/build.yml 2020-05-21 
12:17:11.000000000 +0200
@@ -16,7 +16,7 @@
     - name: Install dependencies
       run: >
         sudo apt install meson libvulkan-dev libglm-dev libassimp-dev
-        libxcb1-dev libxcb-icccm4-dev libwayland-dev
+        libxcb1-dev libxcb-icccm4-dev libwayland-dev wayland-protocols
         libdrm-dev libgbm-dev
     - name: Setup
       run: meson setup build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vkmark-2017.08+git.20191115/README.md 
new/vkmark-2017.08+git.20200521/README.md
--- old/vkmark-2017.08+git.20191115/README.md   2019-11-15 10:20:50.000000000 
+0100
+++ new/vkmark-2017.08+git.20200521/README.md   2020-05-21 12:17:11.000000000 
+0200
@@ -21,6 +21,7 @@
 for the wayland backend:
 
  * libwayland-client and development files
+ * wayland-protocols >= 1.12
 
 for the KMS backend:
 
@@ -29,7 +30,7 @@
 
 On a recent Debian/Ubuntu system you can get all the dependencies with:
 
- `$ sudo apt install meson libvulkan-dev libglm-dev libassimp-dev libxcb1-dev 
libxcb-icccm4-dev libwayland-dev libdrm-dev libgbm-dev`
+ `$ sudo apt install meson libvulkan-dev libglm-dev libassimp-dev libxcb1-dev 
libxcb-icccm4-dev libwayland-dev wayland-protocols libdrm-dev libgbm-dev`
 
 # Building and installing
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vkmark-2017.08+git.20191115/meson.build 
new/vkmark-2017.08+git.20200521/meson.build
--- old/vkmark-2017.08+git.20191115/meson.build 2019-11-15 10:20:50.000000000 
+0100
+++ new/vkmark-2017.08+git.20200521/meson.build 2020-05-21 12:17:11.000000000 
+0200
@@ -1,6 +1,6 @@
 project(
     'vkmark',
-    'cpp',
+    ['cpp', 'c'],
     default_options : ['cpp_std=c++14'],
     version : '2017.08',
     meson_version: '>=0.45'
@@ -16,7 +16,7 @@
 
 cpp = meson.get_compiler('cpp')
 
-vulkan_dep = cpp.find_library('vulkan')
+vulkan_dep = dependency('vulkan')
 dl_dep = cpp.find_library('dl')
 glm_dep = dependency('glm', required: false)
 if not glm_dep.found() and not cpp.has_header('glm/glm.hpp')
@@ -27,6 +27,9 @@
 xcb_dep = dependency('xcb', required : get_option('xcb') == 'true')
 xcb_icccm_dep = dependency('xcb-icccm', required : get_option('xcb') == 'true')
 wayland_client_dep = dependency('wayland-client', required : 
get_option('wayland') == 'true')
+wayland_protocols_dep = dependency('wayland-protocols', version : '>= 1.12',
+                                   required : get_option('wayland') == 'true')
+wayland_scanner_dep = dependency('wayland-scanner', required : 
get_option('wayland') == 'true')
 libdrm_dep = dependency('libdrm', required : get_option('kms') == 'true')
 gbm_dep = dependency('gbm', required : get_option('kms') == 'true')
 has_vulkan_intel_header = cpp.has_header('vulkan/vulkan_intel.h', 
dependencies: vulkan_dep)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vkmark-2017.08+git.20191115/src/gen_format_map.py 
new/vkmark-2017.08+git.20200521/src/gen_format_map.py
--- old/vkmark-2017.08+git.20191115/src/gen_format_map.py       1970-01-01 
01:00:00.000000000 +0100
+++ new/vkmark-2017.08+git.20200521/src/gen_format_map.py       2020-05-21 
12:17:11.000000000 +0200
@@ -0,0 +1,41 @@
+# Copyright © 2017 Collabora Ltd.
+# 
+# This file is part of vkmark.
+# 
+# vkmark is free software: you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation, either
+# version 2.1 of the License, or (at your option) any later version.
+# 
+# vkmark is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+# 
+# You should have received a copy of the GNU Lesser General Public
+# License along with vkmark. If not, see <http://www.gnu.org/licenses/>.
+# 
+# Authors:
+#   Alexandros Frantzis <alexandros.frant...@collabora.com>
+
+import sys
+
+infile = sys.argv[1]
+outfile = sys.argv[2]
+
+in_formats = False
+
+with open(infile, 'r') as inf, open(outfile, 'w') as outf:
+    print("#include <unordered_map>", file=outf);
+    print("static std::unordered_map<std::string, vk::Format> format_map = {", 
file=outf)
+    for line in inf:
+        line = line.strip()
+        if in_formats:
+            if line.startswith('e'):
+                enum = line.split('=')[0].strip()
+                print('    {"%s", vk::Format::%s},' % (enum[1:].upper(), 
enum), file=outf)
+            if line.endswith('};'): 
+                break
+        elif line.startswith('enum class Format'):
+            in_formats = True
+    print("};", file=outf)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vkmark-2017.08+git.20191115/src/meson.build 
new/vkmark-2017.08+git.20200521/src/meson.build
--- old/vkmark-2017.08+git.20191115/src/meson.build     2019-11-15 
10:20:50.000000000 +0100
+++ new/vkmark-2017.08+git.20200521/src/meson.build     2020-05-21 
12:17:11.000000000 +0200
@@ -1,3 +1,18 @@
+prog_python = find_program('python3')
+
+vulkan_hpp = join_paths([
+    vulkan_dep.get_pkgconfig_variable('includedir'),
+    'vulkan',
+    'vulkan.hpp'
+    ])
+
+format_map_gen_h = custom_target(
+    'format_map_gen.h',
+    output: 'format_map_gen.h',
+    input: vulkan_hpp,
+    command: [prog_python, files('gen_format_map.py'), '@INPUT@', '@OUTPUT@']
+    )
+
 core_sources = files(
     'benchmark.cpp',
     'benchmark_collection.cpp',
@@ -12,7 +27,7 @@
     'util.cpp',
     'vulkan_state.cpp',
     'window_system_loader.cpp'
-    )
+    ) + [format_map_gen_h]
 
 vkutil_sources = files(
     'vkutil/buffer_builder.cpp',
@@ -71,11 +86,30 @@
 endif
 
 if build_wayland_ws
+    wayland_scanner = 
find_program(wayland_scanner_dep.get_pkgconfig_variable('wayland_scanner'))
+    wayland_protocols_dir = 
wayland_protocols_dep.get_pkgconfig_variable('pkgdatadir')
+
+    xdg_shell_xml_path = wayland_protocols_dir + 
'/stable/xdg-shell/xdg-shell.xml'
+    xdg_shell_client_header = custom_target(
+        'xdg-shell client-header',
+        command: [ wayland_scanner, 'client-header', '@INPUT@', '@OUTPUT@' ],
+        input: xdg_shell_xml_path,
+        output: 'xdg-shell-client-protocol.h',
+        )
+    xdg_shell_private_code = custom_target(
+        'xdg-shell private-code',
+        command: [ wayland_scanner, 'private-code', '@INPUT@', '@OUTPUT@' ],
+        input: xdg_shell_xml_path,
+        output: 'xdg-shell-protocol.c',
+        )
+
     wayland_ws = shared_module(
         'wayland',
         'ws/wayland_window_system_plugin.cpp',
         'ws/wayland_native_system.cpp',
         'ws/swapchain_window_system.cpp',
+        xdg_shell_client_header,
+        xdg_shell_private_code,
         dependencies : [vulkan_dep, wayland_client_dep],
         name_prefix : '',
         install : true,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vkmark-2017.08+git.20191115/src/options.cpp 
new/vkmark-2017.08+git.20200521/src/options.cpp
--- old/vkmark-2017.08+git.20191115/src/options.cpp     2019-11-15 
10:20:50.000000000 +0100
+++ new/vkmark-2017.08+git.20200521/src/options.cpp     2020-05-21 
12:17:11.000000000 +0200
@@ -28,6 +28,8 @@
 #include "options.h"
 #include "util.h"
 
+#include "format_map_gen.h" // Generated map from string to vk::Format
+
 namespace
 {
 
@@ -92,13 +94,9 @@
 
 vk::Format parse_pixel_format(std::string const& str)
 {
-    for (auto e = static_cast<vk::Format>(VK_FORMAT_BEGIN_RANGE);
-         e < static_cast<vk::Format>(VK_FORMAT_END_RANGE);
-         e = static_cast<vk::Format>(static_cast<int>(e) + 1))
-    {
-        if (normalize_pixel_format(to_string(e)) == 
normalize_pixel_format(str))
-            return e;
-    }
+    auto const format_iter = format_map.find(normalize_pixel_format(str));
+    if (format_iter != format_map.end())
+        return format_iter->second;
 
     return vk::Format::eUndefined;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vkmark-2017.08+git.20191115/src/vulkan_state.cpp 
new/vkmark-2017.08+git.20200521/src/vulkan_state.cpp
--- old/vkmark-2017.08+git.20191115/src/vulkan_state.cpp        2019-11-15 
10:20:50.000000000 +0100
+++ new/vkmark-2017.08+git.20200521/src/vulkan_state.cpp        2020-05-21 
12:17:11.000000000 +0200
@@ -42,7 +42,7 @@
 
     Log::info("    Vendor ID:      0x%X\n", props.vendorID);
     Log::info("    Device ID:      0x%X\n", props.deviceID);
-    Log::info("    Device Name:    %s\n", props.deviceName);
+    Log::info("    Device Name:    %s\n", static_cast<char 
const*>(props.deviceName));
     Log::info("    Driver Version: %u\n", props.driverVersion);
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vkmark-2017.08+git.20191115/src/ws/wayland_native_system.cpp 
new/vkmark-2017.08+git.20200521/src/ws/wayland_native_system.cpp
--- old/vkmark-2017.08+git.20191115/src/ws/wayland_native_system.cpp    
2019-11-15 10:20:50.000000000 +0100
+++ new/vkmark-2017.08+git.20200521/src/ws/wayland_native_system.cpp    
2020-05-21 12:17:11.000000000 +0200
@@ -48,11 +48,6 @@
 {
 }
 
-void handle_output_scale(
-    void* /*data*/, wl_output* /*wl_output*/, int32_t /*factor*/)
-{
-}
-
 void handle_keyboard_keymap(
     void* /*data*/, wl_keyboard* /*wl_keyboard*/, uint32_t /*format*/,
     int32_t /*fd*/, uint32_t /*size*/)
@@ -84,17 +79,48 @@
 {
 }
 
+void handle_xdg_wm_base_ping(
+    void* /*data*/, xdg_wm_base* xdg_wm_base, uint32_t serial)
+{
+    xdg_wm_base_pong(xdg_wm_base, serial);
+}
+
+void handle_xdg_surface_configure(
+    void* /*data*/, xdg_surface* xdg_surface, uint32_t serial)
+{
+    xdg_surface_ack_configure(xdg_surface, serial);
+}
+
+void handle_xdg_toplevel_configure(
+    void* /*data*/, struct xdg_toplevel* /*xdg_toplevel*/,
+    int32_t /*width*/, int32_t /*height*/, wl_array* /*states*/)
+{
 }
 
+}
+
+xdg_wm_base_listener const WaylandNativeSystem::xdg_wm_base_listener{
+    handle_xdg_wm_base_ping,
+};
+
+xdg_toplevel_listener const WaylandNativeSystem::xdg_toplevel_listener{
+    handle_xdg_toplevel_configure,
+    WaylandNativeSystem::handle_xdg_toplevel_close,
+};
+
+xdg_surface_listener const WaylandNativeSystem::xdg_surface_listener{
+    handle_xdg_surface_configure,
+};
+
 wl_seat_listener const WaylandNativeSystem::seat_listener{
     WaylandNativeSystem::handle_seat_capabilities
 };
 
 wl_output_listener const WaylandNativeSystem::output_listener{
     handle_output_geometry,
-    handle_output_mode,
+    WaylandNativeSystem::handle_output_mode,
     handle_output_done,
-    handle_output_scale
+    WaylandNativeSystem::handle_output_scale
 };
 
 wl_keyboard_listener const WaylandNativeSystem::keyboard_listener{
@@ -109,7 +135,12 @@
 WaylandNativeSystem::WaylandNativeSystem(int width, int height)
     : requested_width{width},
       requested_height{height},
-      should_quit_{false}
+      should_quit_{false},
+      display_fd{0},
+      output_width{0},
+      output_height{0},
+      output_refresh{0},
+      output_scale{1}
 {
     create_native_window();
 }
@@ -203,32 +234,57 @@
     if (!surface)
         throw std::runtime_error("Failed to create Wayland surface");
 
-    shell_surface = ManagedResource<wl_shell_surface*>{
-        wl_shell_get_shell_surface(shell, surface),
-        wl_shell_surface_destroy};
-    if (!shell_surface)
-        throw std::runtime_error("Failed to create Wayland shell surface");
+    if (!xdg_wm_base)
+    {
+        throw std::runtime_error(
+            "Failed to create Wayland xdg_surface, xdg_wm_base not supported");
+    }
+
+    xdg_surface = ManagedResource<struct xdg_surface*>{
+        xdg_wm_base_get_xdg_surface(xdg_wm_base, surface),
+        xdg_surface_destroy};
+    if (!xdg_surface)
+        throw std::runtime_error("Failed to create Wayland xdg_surface");
+
+    xdg_surface_add_listener(xdg_surface, &xdg_surface_listener, this);
+
+    xdg_toplevel = ManagedResource<struct xdg_toplevel*>{
+        xdg_surface_get_toplevel(xdg_surface),
+        xdg_toplevel_destroy};
+    if (!xdg_toplevel)
+        throw std::runtime_error("Failed to create Wayland xdg_toplevel");
+
+    xdg_toplevel_add_listener(xdg_toplevel, &xdg_toplevel_listener, this);
 
-    wl_shell_surface_set_title(shell_surface, "vkmark " VKMARK_VERSION_STR);
+    xdg_toplevel_set_app_id(xdg_toplevel, "com.github.vkmark.vkmark");
+    xdg_toplevel_set_title(xdg_toplevel, "vkmark " VKMARK_VERSION_STR);
 
     if (fullscreen_requested())
     {
-        wl_shell_surface_set_fullscreen(
-            shell_surface,
-            WL_SHELL_SURFACE_FULLSCREEN_METHOD_DRIVER,
-            output_refresh,
-            output);
+        xdg_toplevel_set_fullscreen(xdg_toplevel, output);
         vk_extent = vk::Extent2D{
             static_cast<uint32_t>(output_width),
             static_cast<uint32_t>(output_height)};
     }
     else
     {
-        wl_shell_surface_set_toplevel(shell_surface);
         vk_extent = vk::Extent2D{
             static_cast<uint32_t>(requested_width),
             static_cast<uint32_t>(requested_height)};
     }
+
+    if (wl_proxy_get_version(reinterpret_cast<wl_proxy*>(output.raw)) >=
+        WL_OUTPUT_SCALE_SINCE_VERSION)
+    {
+        wl_surface_set_buffer_scale(surface, output_scale);
+    }
+
+    auto const opaque_region = ManagedResource<wl_region*>{
+        wl_compositor_create_region(compositor), wl_region_destroy};
+    wl_region_add(opaque_region, 0, 0, vk_extent.width, vk_extent.height);
+    wl_surface_set_opaque_region(surface, opaque_region);
+
+    wl_surface_commit(surface);
 }
 
 bool WaylandNativeSystem::fullscreen_requested()
@@ -246,16 +302,18 @@
     if (interface == "wl_compositor")
     {
         auto compositor_raw = static_cast<wl_compositor*>(
-            wl_registry_bind(registry, id, &wl_compositor_interface, 1));
+            wl_registry_bind(registry, id, &wl_compositor_interface,
+                std::min(version, 4U)));
         wws->compositor = ManagedResource<wl_compositor*>{
             std::move(compositor_raw), wl_compositor_destroy};
     }
-    else if (interface == "wl_shell")
+    else if (interface == "xdg_wm_base")
     {
-        auto shell_raw = static_cast<wl_shell*>(
-            wl_registry_bind(registry, id, &wl_shell_interface, 1));
-        wws->shell = ManagedResource<wl_shell*>{
-            std::move(shell_raw), wl_shell_destroy};
+        auto xdg_wm_base_raw = static_cast<struct xdg_wm_base*>(
+            wl_registry_bind(
+                registry, id, &xdg_wm_base_interface, std::min(version, 2U)));
+        wws->xdg_wm_base = ManagedResource<struct xdg_wm_base*>{
+            std::move(xdg_wm_base_raw), xdg_wm_base_destroy};
     }
     else if (interface == "wl_seat")
     {
@@ -271,7 +329,8 @@
         if (!wws->output)
         {
             auto output_raw = static_cast<wl_output*>(
-                wl_registry_bind(registry, id, &wl_output_interface, 1));
+                wl_registry_bind(registry, id, &wl_output_interface,
+                    std::min(version, 2U)));
             wws->output = ManagedResource<wl_output*>{
                 std::move(output_raw), wl_output_destroy};
 
@@ -281,6 +340,13 @@
     }
 }
 
+void WaylandNativeSystem::handle_xdg_toplevel_close(
+    void* data, struct xdg_toplevel* /*xdg_toplevel*/)
+{
+    auto const wws = static_cast<WaylandNativeSystem*>(data);
+    wws->should_quit_ = true;
+}
+
 void WaylandNativeSystem::handle_seat_capabilities(
     void* data, wl_seat* seat, uint32_t capabilities)
 {
@@ -314,6 +380,13 @@
     }
 }
 
+void WaylandNativeSystem::handle_output_scale(
+    void* data, wl_output* /*output*/, int32_t factor)
+{
+    auto const wws = static_cast<WaylandNativeSystem*>(data);
+    wws->output_scale = factor;
+}
+
 void WaylandNativeSystem::handle_keyboard_key(
     void* data, wl_keyboard* /*wl_keyboard*/,
     uint32_t /*serial*/, uint32_t /*time*/,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vkmark-2017.08+git.20191115/src/ws/wayland_native_system.h 
new/vkmark-2017.08+git.20200521/src/ws/wayland_native_system.h
--- old/vkmark-2017.08+git.20191115/src/ws/wayland_native_system.h      
2019-11-15 10:20:50.000000000 +0100
+++ new/vkmark-2017.08+git.20200521/src/ws/wayland_native_system.h      
2020-05-21 12:17:11.000000000 +0200
@@ -24,6 +24,7 @@
 
 #define VK_USE_PLATFORM_WAYLAND_KHR
 #include "native_system.h"
+#include "xdg-shell-client-protocol.h"
 
 #include <wayland-client.h>
 
@@ -47,11 +48,15 @@
     static void handle_registry_global(
         void* data, wl_registry* registry, uint32_t id,
         char const* interface, uint32_t version);
+    static void handle_xdg_toplevel_close(
+        void* data, xdg_toplevel* xdg_toplevel);
     static void handle_seat_capabilities(
         void* data, wl_seat* seat, uint32_t capabilities);
     static void handle_output_mode(
         void* data, wl_output* output,
         uint32_t flags, int32_t width, int32_t height, int32_t refresh);
+    static void handle_output_scale(
+        void* data, wl_output* output, int32_t factor);
     static void handle_keyboard_key(
         void* data, wl_keyboard* wl_keyboard,
         uint32_t serial, uint32_t time,
@@ -60,6 +65,9 @@
     static wl_seat_listener const seat_listener;
     static wl_keyboard_listener const keyboard_listener;
     static wl_output_listener const output_listener;
+    static struct xdg_wm_base_listener const xdg_wm_base_listener;
+    static struct xdg_toplevel_listener const xdg_toplevel_listener;
+    static struct xdg_surface_listener const xdg_surface_listener;
 
     int const requested_width;
     int const requested_height;
@@ -67,15 +75,17 @@
 
     ManagedResource<wl_display*> display;
     ManagedResource<wl_compositor*> compositor;
-    ManagedResource<wl_shell*> shell;
+    ManagedResource<struct xdg_wm_base*> xdg_wm_base;
     ManagedResource<wl_seat*> seat;
     ManagedResource<wl_output*> output;
     ManagedResource<wl_keyboard*> keyboard;
     ManagedResource<wl_surface*> surface;
-    ManagedResource<wl_shell_surface*> shell_surface;
+    ManagedResource<struct xdg_surface*> xdg_surface;
+    ManagedResource<struct xdg_toplevel*> xdg_toplevel;
     int display_fd;
     int32_t output_width;
     int32_t output_height;
     int32_t output_refresh;
+    int32_t output_scale;
     vk::Extent2D vk_extent;
 };

++++++ vkmark.obsinfo ++++++
--- /var/tmp/diff_new_pack.KGpWLD/_old  2020-06-11 14:55:06.423353267 +0200
+++ /var/tmp/diff_new_pack.KGpWLD/_new  2020-06-11 14:55:06.427353279 +0200
@@ -1,5 +1,5 @@
 name: vkmark
-version: 2017.08+git.20191115
-mtime: 1573809650
-commit: 54f29c885b2c2c9f6a083cdfd171dcc814c2a306
+version: 2017.08+git.20200521
+mtime: 1590056231
+commit: e8c0720f3251e50aa8e777f44e3c2406dceb919c
 


Reply via email to