Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package vkmark for openSUSE:Factory checked 
in at 2023-06-16 16:54:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/vkmark (Old)
 and      /work/SRC/openSUSE:Factory/.vkmark.new.15902 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "vkmark"

Fri Jun 16 16:54:53 2023 rev:14 rq:1093343 version:2017.08+git.20230412

Changes:
--------
--- /work/SRC/openSUSE:Factory/vkmark/vkmark.changes    2023-03-28 
17:50:35.435329565 +0200
+++ /work/SRC/openSUSE:Factory/.vkmark.new.15902/vkmark.changes 2023-06-16 
16:56:04.230141499 +0200
@@ -1,0 +2,12 @@
+Thu Jun 15 16:55:41 UTC 2023 - Martin Pluskal <mplus...@suse.com>
+
+- Update to version 2017.08+git.20230412:
+  * kms: Use VK_EXT_external_memory_dmabuf to create dmabuf-backed Vulkan 
images
+  * core,ws: Allow WSI backends to request device extensions
+  * core: Improve log message consistency
+  * github: Build with both ubuntu-20.04 and ubuntu-22.04 in CI
+  * vkutil: transition image to eShaderReadOnlyOptimal
+  * Fix missing <cstdint> include
+- Drop no longer needed vkmark-cstdint-include.patch
+
+-------------------------------------------------------------------

Old:
----
  vkmark-2017.08+git.20220909.obscpio
  vkmark-cstdint-include.patch

New:
----
  vkmark-2017.08+git.20230412.obscpio

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

Other differences:
------------------
++++++ vkmark.spec ++++++
--- /var/tmp/diff_new_pack.WGw9hi/_old  2023-06-16 16:56:05.450148696 +0200
+++ /var/tmp/diff_new_pack.WGw9hi/_new  2023-06-16 16:56:05.462148767 +0200
@@ -18,14 +18,12 @@
 
 
 Name:           vkmark
-Version:        2017.08+git.20220909
+Version:        2017.08+git.20230412
 Release:        0
 Summary:        Vulkan benchmark utility
 License:        LGPL-2.1-or-later
 URL:            https://github.com/vkmark/vkmark
 Source0:        %{name}-%{version}.tar.xz
-#PATCH-FIX-UPSTREAM vkmark-cstdint-include.patch gh#vkmark/vkmark#51 
malcolmle...@opensuse.org Add missing cstdint include in scene.h.
-Patch0:         vkmark-cstdint-include.patch
 BuildRequires:  gcc-c++
 BuildRequires:  glm-devel
 BuildRequires:  meson >= 0.45
@@ -43,7 +41,7 @@
 An extensible Vulkan benchmarking suite with targeted, configurable scenes.
 
 %prep
-%autosetup -p1
+%autosetup
 
 %build
 %meson

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.WGw9hi/_old  2023-06-16 16:56:05.498148979 +0200
+++ /var/tmp/diff_new_pack.WGw9hi/_new  2023-06-16 16:56:05.502149003 +0200
@@ -3,6 +3,6 @@
                 <param name="url">git://github.com/vkmark/vkmark</param>
               <param 
name="changesrevision">cf45f2faee236fd1118be2fcd27e4f2a91fc2e40</param></service><service
 name="tar_scm">
                 <param name="url">https://github.com/vkmark/vkmark</param>
-              <param 
name="changesrevision">30d2cd37f0566589d90914501fc7c51a4e51f559</param></service></servicedata>
+              <param 
name="changesrevision">ab6e6f34077722d5ae33f6bd40b18ef9c0e99a15</param></service></servicedata>
 (No newline at EOF)
 

++++++ vkmark-2017.08+git.20220909.obscpio -> 
vkmark-2017.08+git.20230412.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vkmark-2017.08+git.20220909/.github/workflows/build.yml 
new/vkmark-2017.08+git.20230412/.github/workflows/build.yml
--- old/vkmark-2017.08+git.20220909/.github/workflows/build.yml 2022-09-09 
13:29:28.000000000 +0200
+++ new/vkmark-2017.08+git.20230412/.github/workflows/build.yml 2023-04-12 
12:59:27.000000000 +0200
@@ -10,7 +10,10 @@
 
 jobs:
   build:
-    runs-on: ubuntu-latest
+    strategy:
+      matrix:
+        os: [ubuntu-20.04, ubuntu-22.04]
+    runs-on: ${{ matrix.os }}
     steps:
     - uses: actions/checkout@v1
     - name: Install dependencies
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vkmark-2017.08+git.20220909/meson.build 
new/vkmark-2017.08+git.20230412/meson.build
--- old/vkmark-2017.08+git.20220909/meson.build 2022-09-09 13:29:28.000000000 
+0200
+++ new/vkmark-2017.08+git.20230412/meson.build 2023-04-12 12:59:27.000000000 
+0200
@@ -32,16 +32,11 @@
 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)
-
-if get_option('kms') == 'true' and not has_vulkan_intel_header
-    error('KMS plugin needs the vulkan_intel.h header, but it couldn\'t be 
found')
-endif
 
 build_xcb_ws = xcb_dep.found() and xcb_icccm_dep.found() and get_option('xcb') 
!= 'false'
 build_wayland_ws = (wayland_client_dep.found() and 
wayland_protocols_dep.found() and
                     wayland_scanner_dep.found() and get_option('wayland') != 
'false')
-build_kms_ws = libdrm_dep.found() and gbm_dep.found() and 
has_vulkan_intel_header and get_option('kms') != 'false'
+build_kms_ws = libdrm_dep.found() and gbm_dep.found() and get_option('kms') != 
'false'
 
 if not build_xcb_ws and not build_wayland_ws and not build_kms_ws
     error('vkmark needs at least one winsys to work - xcb, wayland or kms')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vkmark-2017.08+git.20220909/src/scene.h 
new/vkmark-2017.08+git.20230412/src/scene.h
--- old/vkmark-2017.08+git.20220909/src/scene.h 2022-09-09 13:29:28.000000000 
+0200
+++ new/vkmark-2017.08+git.20230412/src/scene.h 2023-04-12 12:59:27.000000000 
+0200
@@ -22,6 +22,7 @@
 
 #pragma once
 
+#include <cstdint>
 #include <string>
 #include <vector>
 #include <unordered_map>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vkmark-2017.08+git.20220909/src/vkutil/texture_builder.cpp 
new/vkmark-2017.08+git.20230412/src/vkutil/texture_builder.cpp
--- old/vkmark-2017.08+git.20220909/src/vkutil/texture_builder.cpp      
2022-09-09 13:29:28.000000000 +0200
+++ new/vkmark-2017.08+git.20230412/src/vkutil/texture_builder.cpp      
2023-04-12 12:59:27.000000000 +0200
@@ -78,6 +78,13 @@
 
     vkutil::copy_buffer_to_image(vulkan, staging_buffer, texture.image, 
image_extent);
 
+    vkutil::transition_image_layout(
+        vulkan,
+        texture.image,
+        vk::ImageLayout::eTransferDstOptimal,
+        vk::ImageLayout::eShaderReadOnlyOptimal,
+        vk::ImageAspectFlagBits::eColor);
+
     texture.image_view = vkutil::ImageViewBuilder{vulkan}
         .set_image(texture.image)
         .set_format(texture_format)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vkmark-2017.08+git.20220909/src/vulkan_state.cpp 
new/vkmark-2017.08+git.20230412/src/vulkan_state.cpp
--- old/vkmark-2017.08+git.20220909/src/vulkan_state.cpp        2022-09-09 
13:29:28.000000000 +0200
+++ new/vkmark-2017.08+git.20230412/src/vulkan_state.cpp        2023-04-12 
12:59:27.000000000 +0200
@@ -44,7 +44,7 @@
     {
         if (!vulkan_wsi.is_physical_device_supported(*it_device))
         {
-            Log::debug("device with uuid %s is not supported by window system 
integration layer",
+            Log::debug("Device with uuid %s is not supported by window system 
integration layer\n",
                 
static_cast<DeviceUUID>(it_device->getProperties().pipelineCacheUUID).representation().data());
             it_device = available_devices.erase(it_device);
         }
@@ -87,7 +87,7 @@
     auto const app_info = vk::ApplicationInfo{}
         .setPApplicationName("vkmark");
 
-    std::vector<char const*> 
enabled_extensions{vulkan_wsi.vulkan_extensions()};
+    std::vector<char const*> 
enabled_extensions{vulkan_wsi.required_extensions().instance};
     enabled_extensions.push_back(VK_KHR_SURFACE_EXTENSION_NAME);
 
     auto const create_info = vk::InstanceCreateInfo{}
@@ -159,8 +159,7 @@
     Log::debug("VulkanState: Using queue family index %d for rendering\n",
                graphics_queue_family_index());
 
-    std::array<char const*,1> enabled_extensions{
-        {VK_KHR_SWAPCHAIN_EXTENSION_NAME}};
+    std::vector<char const*> 
enabled_extensions{vulkan_wsi.required_extensions().device};
 
     auto const device_features = vk::PhysicalDeviceFeatures{}
         .setSamplerAnisotropy(true);
@@ -193,17 +192,17 @@
 
 vk::PhysicalDevice ChooseFirstSupportedStrategy::operator()(const 
std::vector<vk::PhysicalDevice>& available_devices)
 {
-    Log::debug("Trying to use first supported device.\n");
+    Log::debug("Trying to use first supported device\n");
 
     for (auto const& physical_device : available_devices)
     {
         if (find_queue_family_index(physical_device, 
vk::QueueFlagBits::eGraphics).second)
         {
-            Log::debug("First supported device choosen!\n");
+            Log::debug("First supported device chosen\n");
             return physical_device;
         }
 
-        Log::debug("device with uuid %s skipped!\n",
+        Log::debug("Device with uuid %s skipped\n",
                
static_cast<DeviceUUID>(physical_device.getProperties().pipelineCacheUUID).representation().data()
         );
     }
@@ -213,7 +212,7 @@
 
 vk::PhysicalDevice ChooseByUUIDStrategy::operator()(const 
std::vector<vk::PhysicalDevice>& available_devices)
 {
-    Log::debug("Trying to use device with specified UUID %s.\n",
+    Log::debug("Trying to use device with specified UUID %s\n",
         m_selected_device_uuid.representation().data());
 
     for (auto const& physical_device: available_devices)
@@ -227,5 +226,5 @@
     }
 
     // if device is not supported by wsi it would appear in list_all_devices 
but is not available here
-    throw std::runtime_error(std::string("Device specified by uuid is not 
available!"));
+    throw std::runtime_error(std::string("Device specified by uuid is not 
available"));
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vkmark-2017.08+git.20220909/src/vulkan_wsi.h 
new/vkmark-2017.08+git.20230412/src/vulkan_wsi.h
--- old/vkmark-2017.08+git.20220909/src/vulkan_wsi.h    2022-09-09 
13:29:28.000000000 +0200
+++ new/vkmark-2017.08+git.20230412/src/vulkan_wsi.h    2023-04-12 
12:59:27.000000000 +0200
@@ -32,7 +32,13 @@
 public:
     virtual ~VulkanWSI() = default;
 
-    virtual std::vector<char const*> vulkan_extensions() = 0;
+    struct Extensions
+    {
+        std::vector<char const*> instance;
+        std::vector<char const*> device;
+    };
+
+    virtual Extensions required_extensions() = 0;
     virtual bool is_physical_device_supported(vk::PhysicalDevice const& pd) = 
0;
     virtual std::vector<uint32_t> physical_device_queue_family_indices(
         vk::PhysicalDevice const& pd) = 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vkmark-2017.08+git.20220909/src/ws/kms_window_system.cpp 
new/vkmark-2017.08+git.20230412/src/ws/kms_window_system.cpp
--- old/vkmark-2017.08+git.20220909/src/ws/kms_window_system.cpp        
2022-09-09 13:29:28.000000000 +0200
+++ new/vkmark-2017.08+git.20230412/src/ws/kms_window_system.cpp        
2023-04-12 12:59:27.000000000 +0200
@@ -29,8 +29,8 @@
 
 #include <xf86drm.h>
 #include <drm_fourcc.h>
-#include <vulkan/vulkan_intel.h>
 
+#include <algorithm>
 #include <system_error>
 #include <fcntl.h>
 #include <unistd.h>
@@ -270,6 +270,24 @@
         global_vt_state->restore();
 }
 
+uint32_t find_memory_type_index(vk::PhysicalDevice const& physical_device,
+                                vk::MemoryRequirements const& requirements,
+                                vk::MemoryPropertyFlags flags)
+{
+    auto const properties = physical_device.getMemoryProperties();
+
+    for (uint32_t i = 0; i < properties.memoryTypeCount; i++)
+    {
+        if ((requirements.memoryTypeBits & (1 << i)) &&
+            (properties.memoryTypes[i].propertyFlags & flags) == flags)
+        {
+            return i;
+        }
+    }
+
+    throw std::runtime_error{"Coudn't find matching memory type"};
+}
+
 }
 
 VTState::VTState()
@@ -433,14 +451,20 @@
     for (auto const& gbm_bo : gbm_bos)
     {
         uint32_t fb = 0;
+        uint32_t handles[4] = {0};
+        uint32_t strides[4] = {0};
+        uint32_t offsets[4] = {0};
 
-        uint32_t handles[4] = {gbm_bo_get_handle(gbm_bo).u32, 0, 0, 0};
-        uint32_t strides[4] = {gbm_bo_get_stride(gbm_bo), 0, 0, 0};
-        uint32_t offsets[4] = {0, 0, 0, 0};
+        for (auto i = 0; i < gbm_bo_get_plane_count(gbm_bo); i++)
+        {
+            handles[i] = gbm_bo_get_handle_for_plane(gbm_bo, i).u32;
+            offsets[i] = gbm_bo_get_offset(gbm_bo, i);
+            strides[i] = gbm_bo_get_stride_for_plane(gbm_bo, i);
+        }
 
         auto const ret = drmModeAddFB2(
             drm_fd, vk_extent.width, vk_extent.height,
-            DRM_FORMAT_XRGB8888,
+            gbm_bo_get_format(gbm_bo),
             handles, strides, offsets, &fb, 0);
 
         if (ret < 0)
@@ -453,52 +477,86 @@
     }
 }
 
-// TODO: Use an official extension to create the VkImages when it becomes
-// available (e.g. VK_MESAX_external_image_dma_buf)
 void KMSWindowSystem::create_vk_images()
 {
-    auto const create_dma_buf_image =
-        reinterpret_cast<PFN_vkCreateDmaBufImageINTEL>(
-            vulkan->device().getProcAddr("vkCreateDmaBufImageINTEL"));
-
-    if (!create_dma_buf_image)
-        throw std::runtime_error{"Failed to get vkCreateDmaBufImageINTEL 
function pointer"};
+    bool warned_mod_invalid = false;
 
     for (auto const& gbm_bo : gbm_bos)
     {
+        vk::SubresourceLayout layouts[4] = {0};
+        uint32_t num_planes = gbm_bo_get_plane_count(gbm_bo);
         auto const fd = ManagedResource<int>{gbm_bo_get_fd(gbm_bo), close};
-        auto const stride = gbm_bo_get_stride(gbm_bo);
+        uint64_t modifier = gbm_bo_get_modifier(gbm_bo);
 
-        VkDmaBufImageCreateInfo create_info{};
-        create_info.sType = 
static_cast<VkStructureType>(VK_STRUCTURE_TYPE_DMA_BUF_IMAGE_CREATE_INFO_INTEL);
-        create_info.fd = fd;
-        create_info.format = static_cast<VkFormat>(vk_image_format);
-        create_info.extent = {vk_extent.width, vk_extent.height, 1};
-        create_info.strideInBytes = stride;
-
-        VkImage image;
-        VkDeviceMemory device_memory;
-
-        VkResult result = create_dma_buf_image(
-            vulkan->device(),
-            &create_info,
-            nullptr,
-            &device_memory,
-            &image);
+        if (modifier == DRM_FORMAT_MOD_INVALID && !warned_mod_invalid)
+        {
+            Log::warning("KMSWindowSystem: Using VK_IMAGE_TILING_OPTIMAL for "
+                         "dmabuf with invalid modifier, but this is not "
+                         "guaranteed to work.\n");
+            warned_mod_invalid = true;
+        }
 
-        if (result != VK_SUCCESS)
+        for (uint32_t i = 0; i < num_planes; i++)
         {
-            vk::throwResultException(static_cast<vk::Result>(result),
-                                     "vkCreateDmbBufImageINTEL");
+            layouts[i].offset = gbm_bo_get_offset(gbm_bo, i);
+            layouts[i].rowPitch = gbm_bo_get_stride_for_plane(gbm_bo, i);
         }
 
+        auto const modifier_info = 
vk::ImageDrmFormatModifierExplicitCreateInfoEXT{}
+            .setDrmFormatModifier(modifier)
+            .setDrmFormatModifierPlaneCount(num_planes)
+            .setPPlaneLayouts(layouts);
+        auto const external_memory_create_info = 
vk::ExternalMemoryImageCreateInfoKHR{}
+            
.setHandleTypes(vk::ExternalMemoryHandleTypeFlagBitsKHR::eDmaBufEXT)
+            .setPNext(modifier != DRM_FORMAT_MOD_INVALID ? &modifier_info : 
nullptr);
+        auto const image_create_info = vk::ImageCreateInfo{}
+            .setPNext(&external_memory_create_info)
+            .setImageType(vk::ImageType::e2D)
+            .setFormat(vk_image_format)
+            .setExtent({vk_extent.width, vk_extent.height, 1})
+            .setMipLevels(1)
+            .setArrayLayers(1)
+            .setSamples(vk::SampleCountFlagBits::e1)
+            .setTiling(modifier != DRM_FORMAT_MOD_INVALID ?
+                       vk::ImageTiling::eDrmFormatModifierEXT :
+                       vk::ImageTiling::eOptimal)
+            .setUsage(vk::ImageUsageFlagBits::eColorAttachment)
+            .setSharingMode(vk::SharingMode::eExclusive)
+            .setInitialLayout(vk::ImageLayout::eUndefined);
+
+        auto vk_image = ManagedResource<vk::Image>{
+            vulkan->device().createImage(image_create_info),
+            [vptr=vulkan] (auto const& i) { vptr->device().destroyImage(i); }};
+
+        auto const requirements = 
vulkan->device().getImageMemoryRequirements(vk_image);
+        uint32_t index = find_memory_type_index(vulkan->physical_device(),
+                                                requirements,
+                                                
vk::MemoryPropertyFlagBits::eDeviceLocal);
+
+        auto const import_memory_fd_info = vk::ImportMemoryFdInfoKHR{}
+            .setHandleType(vk::ExternalMemoryHandleTypeFlagBitsKHR::eDmaBufEXT)
+            .setFd(fd);
+        auto const dedicated_allocate_info = 
vk::MemoryDedicatedAllocateInfoKHR{}
+            .setPNext(&import_memory_fd_info)
+            .setImage(vk_image);
+        auto const memory_allocate_info = vk::MemoryAllocateInfo{}
+            .setPNext(&dedicated_allocate_info)
+            .setAllocationSize(requirements.size)
+            .setMemoryTypeIndex((uint32_t)index);
+
+        auto device_memory = ManagedResource<vk::DeviceMemory>{
+            vulkan->device().allocateMemory(memory_allocate_info),
+            [vptr=vulkan] (auto const& m) { vptr->device().freeMemory(m); }};
+
+        vulkan->device().bindImageMemory(vk_image, device_memory, 0);
+
         vk_images.push_back(
             ManagedResource<vk::Image>{
-                vk::Image{image},
-                [vptr=vulkan, device_memory] (auto& image)
+                vk_image.steal(),
+                [vptr=vulkan, mem=device_memory.steal()] (auto const& image)
                 {
                     vptr->device().destroyImage(image);
-                    vptr->device().freeMemory(device_memory);
+                    vptr->device().freeMemory(mem);
                 }});
     }
 }
@@ -533,14 +591,30 @@
     }
 }
 
-std::vector<char const*> KMSWindowSystem::vulkan_extensions()
+VulkanWSI::Extensions KMSWindowSystem::required_extensions()
 {
-    return {};
+    return {{}, {VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME,
+                 VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME,
+                 VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME}};
 }
 
-bool KMSWindowSystem::is_physical_device_supported(vk::PhysicalDevice const&)
+bool KMSWindowSystem::is_physical_device_supported(vk::PhysicalDevice const& 
physdev)
 {
-    return true;
+    auto const props = physdev.enumerateDeviceExtensionProperties();
+    auto const exts = required_extensions();
+    auto const extension_is_supported =
+        [&props] (std::string const& ext)
+        {
+            auto const iter = std::find_if(props.begin(), props.end(),
+                [&ext](vk::ExtensionProperties prop)
+                {
+                    return ext == prop.extensionName;
+                });
+            return iter != props.end();
+        };
+
+    return std::all_of(exts.device.begin(), exts.device.end(),
+                       extension_is_supported);
 }
 
 std::vector<uint32_t> KMSWindowSystem::physical_device_queue_family_indices(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vkmark-2017.08+git.20220909/src/ws/kms_window_system.h 
new/vkmark-2017.08+git.20230412/src/ws/kms_window_system.h
--- old/vkmark-2017.08+git.20220909/src/ws/kms_window_system.h  2022-09-09 
13:29:28.000000000 +0200
+++ new/vkmark-2017.08+git.20230412/src/ws/kms_window_system.h  2023-04-12 
12:59:27.000000000 +0200
@@ -61,7 +61,7 @@
     bool should_quit() override;
 
     // VulkanWSI
-    std::vector<char const*> vulkan_extensions() override;
+    Extensions required_extensions() override;
     bool is_physical_device_supported(vk::PhysicalDevice const& pd) override;
     std::vector<uint32_t> physical_device_queue_family_indices(
         vk::PhysicalDevice const& pd) override;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vkmark-2017.08+git.20220909/src/ws/native_system.h 
new/vkmark-2017.08+git.20230412/src/ws/native_system.h
--- old/vkmark-2017.08+git.20220909/src/ws/native_system.h      2022-09-09 
13:29:28.000000000 +0200
+++ new/vkmark-2017.08+git.20230412/src/ws/native_system.h      2023-04-12 
12:59:27.000000000 +0200
@@ -34,7 +34,7 @@
 public:
     virtual ~NativeSystem() = default;
 
-    virtual std::vector<char const*> vulkan_extensions() = 0;
+    virtual std::vector<char const*> instance_extensions() = 0;
     virtual uint32_t get_presentation_queue_family_index(vk::PhysicalDevice 
const& pd) = 0;
     virtual bool should_quit() = 0;
     virtual vk::Extent2D get_vk_extent() = 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vkmark-2017.08+git.20220909/src/ws/swapchain_window_system.cpp 
new/vkmark-2017.08+git.20230412/src/ws/swapchain_window_system.cpp
--- old/vkmark-2017.08+git.20220909/src/ws/swapchain_window_system.cpp  
2022-09-09 13:29:28.000000000 +0200
+++ new/vkmark-2017.08+git.20230412/src/ws/swapchain_window_system.cpp  
2023-04-12 12:59:27.000000000 +0200
@@ -251,9 +251,9 @@
         [this] (auto& s) { vulkan->device().destroySwapchainKHR(s); }};
 }
 
-std::vector<char const*> SwapchainWindowSystem::vulkan_extensions()
+VulkanWSI::Extensions SwapchainWindowSystem::required_extensions()
 {
-    return native->vulkan_extensions();
+    return {native->instance_extensions(), {VK_KHR_SWAPCHAIN_EXTENSION_NAME}};
 }
 
 bool SwapchainWindowSystem::is_physical_device_supported(vk::PhysicalDevice 
const& pd)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vkmark-2017.08+git.20220909/src/ws/swapchain_window_system.h 
new/vkmark-2017.08+git.20230412/src/ws/swapchain_window_system.h
--- old/vkmark-2017.08+git.20220909/src/ws/swapchain_window_system.h    
2022-09-09 13:29:28.000000000 +0200
+++ new/vkmark-2017.08+git.20230412/src/ws/swapchain_window_system.h    
2023-04-12 12:59:27.000000000 +0200
@@ -51,7 +51,7 @@
     bool should_quit() override;
 
     // VulkanWSI
-    std::vector<char const*> vulkan_extensions() override;
+    Extensions required_extensions() override;
     bool is_physical_device_supported(vk::PhysicalDevice const& pd) override;
     std::vector<uint32_t> physical_device_queue_family_indices(
         vk::PhysicalDevice const& pd) override;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vkmark-2017.08+git.20220909/src/ws/wayland_native_system.cpp 
new/vkmark-2017.08+git.20230412/src/ws/wayland_native_system.cpp
--- old/vkmark-2017.08+git.20220909/src/ws/wayland_native_system.cpp    
2022-09-09 13:29:28.000000000 +0200
+++ new/vkmark-2017.08+git.20230412/src/ws/wayland_native_system.cpp    
2023-04-12 12:59:27.000000000 +0200
@@ -145,7 +145,7 @@
     create_native_window();
 }
 
-std::vector<char const*> WaylandNativeSystem::vulkan_extensions()
+std::vector<char const*> WaylandNativeSystem::instance_extensions()
 {
     return {VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME};
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vkmark-2017.08+git.20220909/src/ws/wayland_native_system.h 
new/vkmark-2017.08+git.20230412/src/ws/wayland_native_system.h
--- old/vkmark-2017.08+git.20220909/src/ws/wayland_native_system.h      
2022-09-09 13:29:28.000000000 +0200
+++ new/vkmark-2017.08+git.20230412/src/ws/wayland_native_system.h      
2023-04-12 12:59:27.000000000 +0200
@@ -35,7 +35,7 @@
 public:
     WaylandNativeSystem(int width, int height);
 
-    std::vector<char const*> vulkan_extensions() override;
+    std::vector<char const*> instance_extensions() override;
     uint32_t get_presentation_queue_family_index(vk::PhysicalDevice const& pd) 
override;
     bool should_quit() override;
     vk::Extent2D get_vk_extent() override;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vkmark-2017.08+git.20220909/src/ws/xcb_native_system.cpp 
new/vkmark-2017.08+git.20230412/src/ws/xcb_native_system.cpp
--- old/vkmark-2017.08+git.20220909/src/ws/xcb_native_system.cpp        
2022-09-09 13:29:28.000000000 +0200
+++ new/vkmark-2017.08+git.20230412/src/ws/xcb_native_system.cpp        
2023-04-12 12:59:27.000000000 +0200
@@ -47,7 +47,7 @@
     xcb_disconnect(connection);
 }
 
-std::vector<char const*> XcbNativeSystem::vulkan_extensions()
+std::vector<char const*> XcbNativeSystem::instance_extensions()
 {
     return {VK_KHR_XCB_SURFACE_EXTENSION_NAME};
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vkmark-2017.08+git.20220909/src/ws/xcb_native_system.h 
new/vkmark-2017.08+git.20230412/src/ws/xcb_native_system.h
--- old/vkmark-2017.08+git.20220909/src/ws/xcb_native_system.h  2022-09-09 
13:29:28.000000000 +0200
+++ new/vkmark-2017.08+git.20230412/src/ws/xcb_native_system.h  2023-04-12 
12:59:27.000000000 +0200
@@ -35,7 +35,7 @@
     XcbNativeSystem(int width, int height, xcb_visualid_t visual_id);
     ~XcbNativeSystem();
 
-    std::vector<char const*> vulkan_extensions() override;
+    std::vector<char const*> instance_extensions() override;
     uint32_t get_presentation_queue_family_index(vk::PhysicalDevice const& pd) 
override;
     bool should_quit() override;
     vk::Extent2D get_vk_extent() override;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vkmark-2017.08+git.20220909/tests/null_window_system.h 
new/vkmark-2017.08+git.20230412/tests/null_window_system.h
--- old/vkmark-2017.08+git.20220909/tests/null_window_system.h  2022-09-09 
13:29:28.000000000 +0200
+++ new/vkmark-2017.08+git.20230412/tests/null_window_system.h  2023-04-12 
12:59:27.000000000 +0200
@@ -39,7 +39,7 @@
 
     bool should_quit() override { return false; }
 
-    std::vector<char const*> vulkan_extensions() override { return {}; }
+    Extensions required_extensions() override { return {}; }
     bool is_physical_device_supported(vk::PhysicalDevice const&) override { 
return true; }
     std::vector<uint32_t> physical_device_queue_family_indices(
         vk::PhysicalDevice const&) override
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vkmark-2017.08+git.20220909/tests/test_window_system_plugin.cpp 
new/vkmark-2017.08+git.20230412/tests/test_window_system_plugin.cpp
--- old/vkmark-2017.08+git.20220909/tests/test_window_system_plugin.cpp 
2022-09-09 13:29:28.000000000 +0200
+++ new/vkmark-2017.08+git.20230412/tests/test_window_system_plugin.cpp 
2023-04-12 12:59:27.000000000 +0200
@@ -32,7 +32,7 @@
 {
 public:
     TestWindowSystem(std::string const& id) : id{id} {}
-    std::vector<char const*> vulkan_extensions() override { return 
{id.c_str()}; }
+    Extensions required_extensions() override { return {{id.c_str()}, {}}; }
 
 private:
     std::string const id;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vkmark-2017.08+git.20220909/tests/window_system_loader_test.cpp 
new/vkmark-2017.08+git.20230412/tests/window_system_loader_test.cpp
--- old/vkmark-2017.08+git.20220909/tests/window_system_loader_test.cpp 
2022-09-09 13:29:28.000000000 +0200
+++ new/vkmark-2017.08+git.20230412/tests/window_system_loader_test.cpp 
2023-04-12 12:59:27.000000000 +0200
@@ -84,7 +84,7 @@
 
 int window_system_id(WindowSystem& ws)
 {
-    return std::stoi(ws.vulkan_wsi().vulkan_extensions()[0]);
+    return std::stoi(ws.vulkan_wsi().required_extensions().instance[0]);
 }
 
 }

++++++ vkmark.obsinfo ++++++
--- /var/tmp/diff_new_pack.WGw9hi/_old  2023-06-16 16:56:05.662149947 +0200
+++ /var/tmp/diff_new_pack.WGw9hi/_new  2023-06-16 16:56:05.666149970 +0200
@@ -1,5 +1,5 @@
 name: vkmark
-version: 2017.08+git.20220909
-mtime: 1662722968
-commit: 30d2cd37f0566589d90914501fc7c51a4e51f559
+version: 2017.08+git.20230412
+mtime: 1681297167
+commit: ab6e6f34077722d5ae33f6bd40b18ef9c0e99a15
 

Reply via email to