jpbruyere / vkvg

Vulkan 2D graphics library
https://jpbruyere.github.io/vkvg
MIT License
751 stars 33 forks source link

Linking failure #40

Open dov opened 4 years ago

dov commented 4 years ago

After following the installations instructions precisely I get the following errors on my Fedora 32 system:

-*- mode: compilation; default-directory: "/space/pub-repos/vkvg/build/" -*-
Compilation started at Wed Aug 12 23:18:59

make
[ 10%] Built target vkh_static
[ 23%] Built target vkvg_static
[ 25%] Built target tests_common
[ 26%] Linking CXX executable test_compositing
/usr/bin/ld: libtests_common.a(test.c.o):/space/pub-repos/vkvg/vkh/src/vkh_device.h:32: multiple definition of `CreateDebugReportCallback'; CMakeFiles/test_compositing.dir/tests/compositing.c.o:/space/pub-repos/vkvg/vkh/src/vkh_device.h:32: first defined here
/usr/bin/ld: libtests_common.a(test.c.o):/space/pub-repos/vkvg/vkh/src/vkh_device.h:33: multiple definition of `DestroyDebugReportCallback'; CMakeFiles/test_compositing.dir/tests/compositing.c.o:/space/pub-repos/vkvg/vkh/src/vkh_device.h:33: first defined here
/usr/bin/ld: libtests_common.a(test.c.o):/space/pub-repos/vkvg/vkh/src/vkh_device.h:34: multiple definition of `dbgBreakCallback'; CMakeFiles/test_compositing.dir/tests/compositing.c.o:/space/pub-repos/vkvg/vkh/src/vkh_device.h:34: first defined here
/usr/bin/ld: libtests_common.a(vkengine.c.o):/space/pub-repos/vkvg/vkh/src/vkh_device.h:32: multiple definition of `CreateDebugReportCallback'; CMakeFiles/test_compositing.dir/tests/compositing.c.o:/space/pub-repos/vkvg/vkh/src/vkh_device.h:32: first defined here
/usr/bin/ld: libtests_common.a(vkengine.c.o):/space/pub-repos/vkvg/vkh/src/vkh_device.h:33: multiple definition of `DestroyDebugReportCallback'; CMakeFiles/test_compositing.dir/tests/compositing.c.o:/space/pub-repos/vkvg/vkh/src/vkh_device.h:33: first defined here
:
jpbruyere commented 4 years ago

in vkvg/CMakeList.txt, you may try to remove vkh_static from target_linked_library of tests_common:

if (VKVG_BUILD_TESTS)
    ADD_LIBRARY("tests_common" STATIC tests/common/vkengine.c tests/common/test.c)
    TARGET_INCLUDE_DIRECTORIES(tests_common PRIVATE
        ${Vulkan_INCLUDE_DIRS}
        ${GLFW3_INCLUDE_DIR}
        ${CMAKE_CURRENT_SOURCE_DIR}/include
        ${CMAKE_CURRENT_SOURCE_DIR}/src
        ${CMAKE_CURRENT_SOURCE_DIR}/tests/common
        ${CMAKE_CURRENT_SOURCE_DIR}/vkh/include
        ${CMAKE_CURRENT_SOURCE_DIR}/vkh/src
    )
    TARGET_LINK_LIBRARIES(tests_common
        ${Vulkan_LIBRARIES}
        ${GLFW3_LIBRARY}
        #vkh_static      <===== HERE, vkh functions should be included in vkvg_static (put  # to comment the line)
        vkvg_static
    )

On my debian, It does not cause problem, maybe a default compiler option that remove some duplicates in static compilations.

jpbruyere commented 4 years ago

I've also remove those functions (old VK_EXT_debug_report extensions) from vkh_device.h, vkh now use the new VK_EXT_debug_utils. So you may remove those three lines from vkh_device.h:

PFN_vkCreateDebugReportCallbackEXT  CreateDebugReportCallback;
PFN_vkDestroyDebugReportCallbackEXT DestroyDebugReportCallback;
PFN_vkDebugReportMessageEXT         dbgBreakCallback;

I'll update the master branch with those two fixes.

dov commented 4 years ago

Thanks for looking into this!

But unfortunatley still doesn't work:

$ pwd
/space/pub-repos/vkvg/build
$ git reset --hard
HEAD is now at db2ba42 update vkh, remove vkh_static from test_common target libs in cmake
$ cmake ..
-- The C compiler identification is GNU 10.1.1
-- The CXX compiler identification is GNU 10.1.1
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc - works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ - works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Debug build.
-- VULKAN_SDK = /usr/local/vulkan/1.2.141.2/x86_64
-- VK_LAYER_PATH = /usr/local/vulkan/1.2.141.2/x86_64/etc/vulkan/explicit_layer.d
-- Found Vulkan: /usr/local/vulkan/1.2.141.2/x86_64/lib/libvulkan.so  
-- Found Freetype: /usr/lib64/libfreetype.so (found version "2.10.2") 
-- Found Fontconfig: /usr/lib64/libfontconfig.so (found version "2.13.92") 
-- Found HarfBuzz: /usr/lib64/libharfbuzz.so  
-- Found GLFW3: /usr/lib64/libglfw.so  
-- HarfBuzz_INCLUDE_DIRS = /usr/include
-- 

--------------------------------------------------------------------------
-- Build type       = Debug
-- VULKAN_SDK       = /usr/local/vulkan/1.2.141.2/x86_64
-- VK_LAYER_PATH    = /usr/local/vulkan/1.2.141.2/x86_64/etc/vulkan/explicit_layer.d
-- Build tests      = true.
-- Validation       = enabled.
-- Renderdoc        = disabled.
-- Premult Alpha    = enabled.
-- Font filtering   = LCD.
-- ---------------------------------------------------------------------------

-- Configuring done
-- Generating done
-- Build files have been written to: /space/pub-repos/vkvg/build
$ make -j 8
Scanning dependencies of target vkvg_DataCopy
Scanning dependencies of target BuildShaderHeader
Scanning dependencies of target vkh_static
Scanning dependencies of target vkh_shared
«lines removed»
[ 52%] Linking CXX static library libvkvg.a
[ 52%] Built target vkvg_static
[ 53%] Linking CXX shared library libvkvg.so
Scanning dependencies of target tests_common
/usr/bin/ld: CMakeFiles/vkvg_shared.dir/src/vkvg_context.c.o:/space/pub-repos/vkvg/src/vkvg_device_internal.h:33: multiple definition of `CmdBindPipeline'; CMakeFiles/vkvg_shared.dir/src/vkvg_buff.c.o:/space/pub-repos/vkvg/src/vkvg_device_internal.h:33: first defined here
/usr/bin/ld: CMakeFiles/vkvg_shared.dir/src/vkvg_context.c.o:/space/pub-repos/vkvg/src/vkvg_device_internal.h:34: multiple definition of `CmdBindDescriptorSets'; CMakeFiles/vkvg_shared.dir/src/vkvg_buff.c.o:/space/pub-repos/vkvg/src/vkvg_device_internal.h:34: first defined here
/usr/bin/ld: CMakeFiles/vkvg_shared.dir/src/vkvg_context.c.o:/space/pub-repos/vkvg/src/vkvg_device_internal.h:35: multiple definition of `CmdBindIndexBuffer'; CMakeFiles/vkvg_shared.dir/src/vkvg_buff.c.o:/space/pub-repos/vkvg/src/vkvg_device_internal.h:35: first defined here
/usr/bin/ld: CMakeFiles/vkvg_shared.dir/src/vkvg_context.c.o:/space/pub-repos/vkvg/src/vkvg_device_internal.h:36: multiple definition of `CmdBindVertexBuffers'; CMakeFiles/vkvg_shared.dir/src/vkvg_buff.c.o:/space/pub-repos/vkvg/src/vkvg_device_internal.h:36: first defined here
/usr/bin/ld: CMakeFiles/vkvg_shared.dir/src/vkvg_context.c.o:/space/pub-repos/vkvg/src/vkvg_device_internal.h:38: multiple definition of `CmdDrawIndexed'; CMakeFiles/vkvg_shared.dir/src/vkvg_buff.c.o:/space/pub-repos/vkvg/src/vkvg_device_internal.h:38: first defined here
/usr/bin/ld: CMakeFiles/vkvg_shared.dir/src/vkvg_context.c.o:/space/pub-repos/vkvg/src/vkvg_device_internal.h:39: multiple definition of `CmdDraw'; CMakeFiles/vkvg_shared.dir/src/vkvg_buff.c.o:/space/pub-repos/vkvg/src/vkvg_device_internal.h:39: first defined here
/usr/bin/ld: CMakeFiles/vkvg_shared.dir/src/vkvg_context.c.o:/space/pub-repos/vkvg/src/vkvg_device_internal.h:41: multiple definition of `CmdSetStencilCompareMask'; CMakeFiles/vkvg_shared.dir/src/vkvg_buff.c.o:/space/pub-repos/vkvg/src/vkvg_device_internal.h:41: first defined here
/usr/bin/ld: CMakeFiles/vkvg_shared.dir/src/vkvg_context.c.o:/space/pub-repos/vkvg/src/vkvg_device_internal.h:42: multiple definition of `CmdSetStencilReference'; CMakeFiles/vkvg_shared.dir/src/vkvg_buff.c.o:/space/pub-repos/vkvg/src/vkvg_device_internal.h:42: first defined here
«lines removed»
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/vkvg_shared.dir/build.make:275: libvkvg.so.0.1.1] Error 1
make[1]: *** [CMakeFiles/Makefile2:689: CMakeFiles/vkvg_shared.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 55%] Linking CXX static library libtests_common.a
[ 55%] Built target tests_common
make: *** [Makefile:172: all] Error 2
$
jpbruyere commented 4 years ago

I've moved the implementation for those function pointers into the .c file, adding 'extern' keyword in header. (changes in master) What's your current version of ld? And your compiler? gcc/clang/...? Thank you for reporting.

dov commented 4 years ago

Thanks it's compiling now!

But unfortunately it crashes when I try to run any of the examples:

$ ./test_test1
GEN: Device Extension: VK_KHR_16bit_storage (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_8bit_storage (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_bind_memory2 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_buffer_device_address (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_create_renderpass2 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_dedicated_allocation (libGLX_nvidia.so.0) version 0.0.3
GEN: Device Extension: VK_KHR_depth_stencil_resolve (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_descriptor_update_template (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_device_group (libGLX_nvidia.so.0) version 0.0.4
GEN: Device Extension: VK_KHR_draw_indirect_count (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_driver_properties (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_external_fence (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_external_fence_fd (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_external_memory (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_external_memory_fd (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_external_semaphore (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_external_semaphore_fd (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_get_memory_requirements2 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_image_format_list (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_imageless_framebuffer (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_maintenance1 (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_KHR_maintenance2 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_maintenance3 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_multiview (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_pipeline_executable_properties (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_push_descriptor (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_KHR_relaxed_block_layout (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_sampler_mirror_clamp_to_edge (libGLX_nvidia.so.0) version 0.0.3
GEN: Device Extension: VK_KHR_sampler_ycbcr_conversion (libGLX_nvidia.so.0) version 0.0.14
GEN: Device Extension: VK_KHR_separate_depth_stencil_layouts (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_shader_atomic_int64 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_shader_clock (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_shader_draw_parameters (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_shader_float16_int8 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_shader_float_controls (libGLX_nvidia.so.0) version 0.0.4
GEN: Device Extension: VK_KHR_shader_non_semantic_info (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_shader_subgroup_extended_types (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_spirv_1_4 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_storage_buffer_storage_class (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_swapchain (libGLX_nvidia.so.0) version 0.0.70
GEN: Device Extension: VK_KHR_swapchain_mutable_format (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_timeline_semaphore (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_KHR_uniform_buffer_standard_layout (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_variable_pointers (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_vulkan_memory_model (libGLX_nvidia.so.0) version 0.0.3
GEN: Device Extension: VK_EXT_blend_operation_advanced (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_EXT_buffer_device_address (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_EXT_calibrated_timestamps (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_conditional_rendering (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_EXT_conservative_rasterization (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_custom_border_color (libGLX_nvidia.so.0) version 0.0.11
GEN: Device Extension: VK_EXT_depth_clip_enable (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_depth_range_unrestricted (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_descriptor_indexing (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_EXT_discard_rectangles (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_display_control (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_fragment_shader_interlock (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_global_priority (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_EXT_host_query_reset (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_index_type_uint8 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_inline_uniform_block (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_line_rasterization (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_memory_budget (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_pci_bus_info (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_EXT_pipeline_creation_feedback (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_post_depth_coverage (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_sample_locations (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_sampler_filter_minmax (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_EXT_scalar_block_layout (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_separate_stencil_usage (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_shader_demote_to_helper_invocation (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_shader_subgroup_ballot (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_shader_subgroup_vote (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_shader_viewport_index_layer (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_subgroup_size_control (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_EXT_texel_buffer_alignment (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_tooling_info (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_transform_feedback (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_vertex_attribute_divisor (libGLX_nvidia.so.0) version 0.0.3
GEN: Device Extension: VK_EXT_ycbcr_image_arrays (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_clip_space_w_scaling (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_coverage_reduction_mode (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_dedicated_allocation (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_dedicated_allocation_image_aliasing (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_device_diagnostic_checkpoints (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_NV_device_diagnostics_config (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_fill_rectangle (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_fragment_coverage_to_color (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_framebuffer_mixed_samples (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_geometry_shader_passthrough (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_ray_tracing (libGLX_nvidia.so.0) version 0.0.3
GEN: Device Extension: VK_NV_sample_mask_override_coverage (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_shader_sm_builtins (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_shader_subgroup_partitioned (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_viewport_array2 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_viewport_swizzle (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NVX_device_generated_commands (libGLX_nvidia.so.0) version 0.0.3
GEN: Device Extension: VK_NVX_multiview_per_view_attributes (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_16bit_storage (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_8bit_storage (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_bind_memory2 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_buffer_device_address (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_create_renderpass2 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_dedicated_allocation (libGLX_nvidia.so.0) version 0.0.3
GEN: Device Extension: VK_KHR_depth_stencil_resolve (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_descriptor_update_template (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_device_group (libGLX_nvidia.so.0) version 0.0.4
GEN: Device Extension: VK_KHR_draw_indirect_count (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_driver_properties (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_external_fence (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_external_fence_fd (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_external_memory (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_external_memory_fd (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_external_semaphore (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_external_semaphore_fd (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_get_memory_requirements2 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_image_format_list (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_imageless_framebuffer (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_maintenance1 (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_KHR_maintenance2 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_maintenance3 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_multiview (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_pipeline_executable_properties (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_push_descriptor (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_KHR_relaxed_block_layout (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_sampler_mirror_clamp_to_edge (libGLX_nvidia.so.0) version 0.0.3
GEN: Device Extension: VK_KHR_sampler_ycbcr_conversion (libGLX_nvidia.so.0) version 0.0.14
GEN: Device Extension: VK_KHR_separate_depth_stencil_layouts (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_shader_atomic_int64 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_shader_clock (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_shader_draw_parameters (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_shader_float16_int8 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_shader_float_controls (libGLX_nvidia.so.0) version 0.0.4
GEN: Device Extension: VK_KHR_shader_non_semantic_info (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_shader_subgroup_extended_types (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_spirv_1_4 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_storage_buffer_storage_class (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_swapchain (libGLX_nvidia.so.0) version 0.0.70
GEN: Device Extension: VK_KHR_swapchain_mutable_format (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_timeline_semaphore (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_KHR_uniform_buffer_standard_layout (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_variable_pointers (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_vulkan_memory_model (libGLX_nvidia.so.0) version 0.0.3
GEN: Device Extension: VK_EXT_blend_operation_advanced (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_EXT_buffer_device_address (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_EXT_calibrated_timestamps (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_conditional_rendering (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_EXT_conservative_rasterization (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_custom_border_color (libGLX_nvidia.so.0) version 0.0.11
GEN: Device Extension: VK_EXT_depth_clip_enable (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_depth_range_unrestricted (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_descriptor_indexing (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_EXT_discard_rectangles (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_display_control (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_fragment_shader_interlock (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_global_priority (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_EXT_host_query_reset (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_index_type_uint8 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_inline_uniform_block (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_line_rasterization (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_memory_budget (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_pci_bus_info (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_EXT_pipeline_creation_feedback (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_post_depth_coverage (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_sample_locations (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_sampler_filter_minmax (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_EXT_scalar_block_layout (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_separate_stencil_usage (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_shader_demote_to_helper_invocation (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_shader_subgroup_ballot (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_shader_subgroup_vote (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_shader_viewport_index_layer (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_subgroup_size_control (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_EXT_texel_buffer_alignment (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_tooling_info (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_transform_feedback (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_vertex_attribute_divisor (libGLX_nvidia.so.0) version 0.0.3
GEN: Device Extension: VK_EXT_ycbcr_image_arrays (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_clip_space_w_scaling (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_coverage_reduction_mode (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_dedicated_allocation (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_dedicated_allocation_image_aliasing (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_device_diagnostic_checkpoints (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_NV_device_diagnostics_config (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_fill_rectangle (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_fragment_coverage_to_color (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_framebuffer_mixed_samples (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_geometry_shader_passthrough (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_ray_tracing (libGLX_nvidia.so.0) version 0.0.3
GEN: Device Extension: VK_NV_sample_mask_override_coverage (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_shader_sm_builtins (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_shader_subgroup_partitioned (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_viewport_array2 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_viewport_swizzle (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NVX_device_generated_commands (libGLX_nvidia.so.0) version 0.0.3
GEN: Device Extension: VK_NVX_multiview_per_view_attributes (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_16bit_storage (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_8bit_storage (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_bind_memory2 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_buffer_device_address (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_create_renderpass2 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_dedicated_allocation (libGLX_nvidia.so.0) version 0.0.3
GEN: Device Extension: VK_KHR_depth_stencil_resolve (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_descriptor_update_template (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_device_group (libGLX_nvidia.so.0) version 0.0.4
GEN: Device Extension: VK_KHR_draw_indirect_count (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_driver_properties (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_external_fence (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_external_fence_fd (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_external_memory (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_external_memory_fd (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_external_semaphore (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_external_semaphore_fd (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_get_memory_requirements2 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_image_format_list (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_imageless_framebuffer (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_maintenance1 (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_KHR_maintenance2 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_maintenance3 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_multiview (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_pipeline_executable_properties (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_push_descriptor (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_KHR_relaxed_block_layout (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_sampler_mirror_clamp_to_edge (libGLX_nvidia.so.0) version 0.0.3
GEN: Device Extension: VK_KHR_sampler_ycbcr_conversion (libGLX_nvidia.so.0) version 0.0.14
GEN: Device Extension: VK_KHR_separate_depth_stencil_layouts (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_shader_atomic_int64 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_shader_clock (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_shader_draw_parameters (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_shader_float16_int8 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_shader_float_controls (libGLX_nvidia.so.0) version 0.0.4
GEN: Device Extension: VK_KHR_shader_non_semantic_info (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_shader_subgroup_extended_types (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_spirv_1_4 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_storage_buffer_storage_class (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_swapchain (libGLX_nvidia.so.0) version 0.0.70
GEN: Device Extension: VK_KHR_swapchain_mutable_format (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_timeline_semaphore (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_KHR_uniform_buffer_standard_layout (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_variable_pointers (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_vulkan_memory_model (libGLX_nvidia.so.0) version 0.0.3
GEN: Device Extension: VK_EXT_blend_operation_advanced (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_EXT_buffer_device_address (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_EXT_calibrated_timestamps (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_conditional_rendering (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_EXT_conservative_rasterization (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_custom_border_color (libGLX_nvidia.so.0) version 0.0.11
GEN: Device Extension: VK_EXT_depth_clip_enable (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_depth_range_unrestricted (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_descriptor_indexing (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_EXT_discard_rectangles (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_display_control (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_fragment_shader_interlock (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_global_priority (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_EXT_host_query_reset (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_index_type_uint8 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_inline_uniform_block (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_line_rasterization (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_memory_budget (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_pci_bus_info (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_EXT_pipeline_creation_feedback (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_post_depth_coverage (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_sample_locations (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_sampler_filter_minmax (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_EXT_scalar_block_layout (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_separate_stencil_usage (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_shader_demote_to_helper_invocation (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_shader_subgroup_ballot (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_shader_subgroup_vote (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_shader_viewport_index_layer (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_subgroup_size_control (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_EXT_texel_buffer_alignment (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_tooling_info (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_transform_feedback (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_vertex_attribute_divisor (libGLX_nvidia.so.0) version 0.0.3
GEN: Device Extension: VK_EXT_ycbcr_image_arrays (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_clip_space_w_scaling (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_coverage_reduction_mode (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_dedicated_allocation (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_dedicated_allocation_image_aliasing (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_device_diagnostic_checkpoints (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_NV_device_diagnostics_config (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_fill_rectangle (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_fragment_coverage_to_color (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_framebuffer_mixed_samples (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_geometry_shader_passthrough (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_ray_tracing (libGLX_nvidia.so.0) version 0.0.3
GEN: Device Extension: VK_NV_sample_mask_override_coverage (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_shader_sm_builtins (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_shader_subgroup_partitioned (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_viewport_array2 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_viewport_swizzle (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NVX_device_generated_commands (libGLX_nvidia.so.0) version 0.0.3
GEN: Device Extension: VK_NVX_multiview_per_view_attributes (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_16bit_storage (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_8bit_storage (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_bind_memory2 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_buffer_device_address (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_create_renderpass2 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_dedicated_allocation (libGLX_nvidia.so.0) version 0.0.3
GEN: Device Extension: VK_KHR_depth_stencil_resolve (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_descriptor_update_template (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_device_group (libGLX_nvidia.so.0) version 0.0.4
GEN: Device Extension: VK_KHR_draw_indirect_count (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_driver_properties (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_external_fence (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_external_fence_fd (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_external_memory (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_external_memory_fd (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_external_semaphore (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_external_semaphore_fd (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_get_memory_requirements2 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_image_format_list (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_imageless_framebuffer (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_maintenance1 (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_KHR_maintenance2 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_maintenance3 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_multiview (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_pipeline_executable_properties (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_push_descriptor (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_KHR_relaxed_block_layout (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_sampler_mirror_clamp_to_edge (libGLX_nvidia.so.0) version 0.0.3
GEN: Device Extension: VK_KHR_sampler_ycbcr_conversion (libGLX_nvidia.so.0) version 0.0.14
GEN: Device Extension: VK_KHR_separate_depth_stencil_layouts (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_shader_atomic_int64 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_shader_clock (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_shader_draw_parameters (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_shader_float16_int8 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_shader_float_controls (libGLX_nvidia.so.0) version 0.0.4
GEN: Device Extension: VK_KHR_shader_non_semantic_info (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_shader_subgroup_extended_types (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_spirv_1_4 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_storage_buffer_storage_class (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_swapchain (libGLX_nvidia.so.0) version 0.0.70
GEN: Device Extension: VK_KHR_swapchain_mutable_format (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_timeline_semaphore (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_KHR_uniform_buffer_standard_layout (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_variable_pointers (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_vulkan_memory_model (libGLX_nvidia.so.0) version 0.0.3
GEN: Device Extension: VK_EXT_blend_operation_advanced (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_EXT_buffer_device_address (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_EXT_calibrated_timestamps (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_conditional_rendering (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_EXT_conservative_rasterization (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_custom_border_color (libGLX_nvidia.so.0) version 0.0.11
GEN: Device Extension: VK_EXT_depth_clip_enable (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_depth_range_unrestricted (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_descriptor_indexing (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_EXT_discard_rectangles (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_display_control (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_fragment_shader_interlock (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_global_priority (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_EXT_host_query_reset (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_index_type_uint8 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_inline_uniform_block (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_line_rasterization (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_memory_budget (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_pci_bus_info (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_EXT_pipeline_creation_feedback (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_post_depth_coverage (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_sample_locations (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_sampler_filter_minmax (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_EXT_scalar_block_layout (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_separate_stencil_usage (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_shader_demote_to_helper_invocation (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_shader_subgroup_ballot (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_shader_subgroup_vote (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_shader_viewport_index_layer (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_subgroup_size_control (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_EXT_texel_buffer_alignment (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_tooling_info (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_transform_feedback (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_vertex_attribute_divisor (libGLX_nvidia.so.0) version 0.0.3
GEN: Device Extension: VK_EXT_ycbcr_image_arrays (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_clip_space_w_scaling (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_coverage_reduction_mode (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_dedicated_allocation (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_dedicated_allocation_image_aliasing (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_device_diagnostic_checkpoints (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_NV_device_diagnostics_config (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_fill_rectangle (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_fragment_coverage_to_color (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_framebuffer_mixed_samples (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_geometry_shader_passthrough (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_ray_tracing (libGLX_nvidia.so.0) version 0.0.3
GEN: Device Extension: VK_NV_sample_mask_override_coverage (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_shader_sm_builtins (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_shader_subgroup_partitioned (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_viewport_array2 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_viewport_swizzle (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NVX_device_generated_commands (libGLX_nvidia.so.0) version 0.0.3
GEN: Device Extension: VK_NVX_multiview_per_view_attributes (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_16bit_storage (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_8bit_storage (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_bind_memory2 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_buffer_device_address (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_create_renderpass2 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_dedicated_allocation (libGLX_nvidia.so.0) version 0.0.3
GEN: Device Extension: VK_KHR_depth_stencil_resolve (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_descriptor_update_template (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_device_group (libGLX_nvidia.so.0) version 0.0.4
GEN: Device Extension: VK_KHR_draw_indirect_count (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_driver_properties (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_external_fence (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_external_fence_fd (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_external_memory (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_external_memory_fd (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_external_semaphore (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_external_semaphore_fd (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_get_memory_requirements2 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_image_format_list (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_imageless_framebuffer (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_maintenance1 (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_KHR_maintenance2 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_maintenance3 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_multiview (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_pipeline_executable_properties (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_push_descriptor (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_KHR_relaxed_block_layout (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_sampler_mirror_clamp_to_edge (libGLX_nvidia.so.0) version 0.0.3
GEN: Device Extension: VK_KHR_sampler_ycbcr_conversion (libGLX_nvidia.so.0) version 0.0.14
GEN: Device Extension: VK_KHR_separate_depth_stencil_layouts (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_shader_atomic_int64 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_shader_clock (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_shader_draw_parameters (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_shader_float16_int8 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_shader_float_controls (libGLX_nvidia.so.0) version 0.0.4
GEN: Device Extension: VK_KHR_shader_non_semantic_info (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_shader_subgroup_extended_types (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_spirv_1_4 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_storage_buffer_storage_class (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_swapchain (libGLX_nvidia.so.0) version 0.0.70
GEN: Device Extension: VK_KHR_swapchain_mutable_format (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_timeline_semaphore (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_KHR_uniform_buffer_standard_layout (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_variable_pointers (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_vulkan_memory_model (libGLX_nvidia.so.0) version 0.0.3
GEN: Device Extension: VK_EXT_blend_operation_advanced (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_EXT_buffer_device_address (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_EXT_calibrated_timestamps (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_conditional_rendering (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_EXT_conservative_rasterization (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_custom_border_color (libGLX_nvidia.so.0) version 0.0.11
GEN: Device Extension: VK_EXT_depth_clip_enable (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_depth_range_unrestricted (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_descriptor_indexing (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_EXT_discard_rectangles (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_display_control (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_fragment_shader_interlock (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_global_priority (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_EXT_host_query_reset (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_index_type_uint8 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_inline_uniform_block (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_line_rasterization (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_memory_budget (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_pci_bus_info (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_EXT_pipeline_creation_feedback (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_post_depth_coverage (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_sample_locations (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_sampler_filter_minmax (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_EXT_scalar_block_layout (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_separate_stencil_usage (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_shader_demote_to_helper_invocation (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_shader_subgroup_ballot (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_shader_subgroup_vote (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_shader_viewport_index_layer (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_subgroup_size_control (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_EXT_texel_buffer_alignment (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_tooling_info (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_transform_feedback (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_vertex_attribute_divisor (libGLX_nvidia.so.0) version 0.0.3
GEN: Device Extension: VK_EXT_ycbcr_image_arrays (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_clip_space_w_scaling (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_coverage_reduction_mode (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_dedicated_allocation (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_dedicated_allocation_image_aliasing (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_device_diagnostic_checkpoints (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_NV_device_diagnostics_config (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_fill_rectangle (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_fragment_coverage_to_color (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_framebuffer_mixed_samples (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_geometry_shader_passthrough (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_ray_tracing (libGLX_nvidia.so.0) version 0.0.3
GEN: Device Extension: VK_NV_sample_mask_override_coverage (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_shader_sm_builtins (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_shader_subgroup_partitioned (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_viewport_array2 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_viewport_swizzle (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NVX_device_generated_commands (libGLX_nvidia.so.0) version 0.0.3
GEN: Device Extension: VK_NVX_multiview_per_view_attributes (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_16bit_storage (Unknown) version 0.0.1
GEN: Device Extension: VK_KHR_8bit_storage (Unknown) version 0.0.1
GEN: Device Extension: VK_KHR_bind_memory2 (Unknown) version 0.0.1
GEN: Device Extension: VK_KHR_buffer_device_address (Unknown) version 0.0.1
GEN: Device Extension: VK_KHR_create_renderpass2 (Unknown) version 0.0.1
GEN: Device Extension: VK_KHR_dedicated_allocation (Unknown) version 0.0.3
GEN: Device Extension: VK_KHR_depth_stencil_resolve (Unknown) version 0.0.1
GEN: Device Extension: VK_KHR_descriptor_update_template (Unknown) version 0.0.1
GEN: Device Extension: VK_KHR_device_group (Unknown) version 0.0.4
GEN: Device Extension: VK_KHR_draw_indirect_count (Unknown) version 0.0.1
GEN: Device Extension: VK_KHR_driver_properties (Unknown) version 0.0.1
GEN: Device Extension: VK_KHR_external_fence (Unknown) version 0.0.1
GEN: Device Extension: VK_KHR_external_fence_fd (Unknown) version 0.0.1
GEN: Device Extension: VK_KHR_external_memory (Unknown) version 0.0.1
GEN: Device Extension: VK_KHR_external_memory_fd (Unknown) version 0.0.1
GEN: Device Extension: VK_KHR_external_semaphore (Unknown) version 0.0.1
GEN: Device Extension: VK_KHR_external_semaphore_fd (Unknown) version 0.0.1
GEN: Device Extension: VK_KHR_get_memory_requirements2 (Unknown) version 0.0.1
GEN: Device Extension: VK_KHR_image_format_list (Unknown) version 0.0.1
GEN: Device Extension: VK_KHR_imageless_framebuffer (Unknown) version 0.0.1
GEN: Device Extension: VK_KHR_maintenance1 (Unknown) version 0.0.2
GEN: Device Extension: VK_KHR_maintenance2 (Unknown) version 0.0.1
GEN: Device Extension: VK_KHR_maintenance3 (Unknown) version 0.0.1
GEN: Device Extension: VK_KHR_multiview (Unknown) version 0.0.1
GEN: Device Extension: VK_KHR_pipeline_executable_properties (Unknown) version 0.0.1
GEN: Device Extension: VK_KHR_push_descriptor (Unknown) version 0.0.2
GEN: Device Extension: VK_KHR_relaxed_block_layout (Unknown) version 0.0.1
GEN: Device Extension: VK_KHR_sampler_mirror_clamp_to_edge (Unknown) version 0.0.3
GEN: Device Extension: VK_KHR_sampler_ycbcr_conversion (Unknown) version 0.0.14
GEN: Device Extension: VK_KHR_separate_depth_stencil_layouts (Unknown) version 0.0.1
GEN: Device Extension: VK_KHR_shader_atomic_int64 (Unknown) version 0.0.1
GEN: Device Extension: VK_KHR_shader_clock (Unknown) version 0.0.1
GEN: Device Extension: VK_KHR_shader_draw_parameters (Unknown) version 0.0.1
GEN: Device Extension: VK_KHR_shader_float16_int8 (Unknown) version 0.0.1
GEN: Device Extension: VK_KHR_shader_float_controls (Unknown) version 0.0.4
GEN: Device Extension: VK_KHR_shader_non_semantic_info (Unknown) version 0.0.1
GEN: Device Extension: VK_KHR_shader_subgroup_extended_types (Unknown) version 0.0.1
GEN: Device Extension: VK_KHR_spirv_1_4 (Unknown) version 0.0.1
GEN: Device Extension: VK_KHR_storage_buffer_storage_class (Unknown) version 0.0.1
GEN: Device Extension: VK_KHR_swapchain (Unknown) version 0.0.70
GEN: Device Extension: VK_KHR_swapchain_mutable_format (Unknown) version 0.0.1
GEN: Device Extension: VK_KHR_timeline_semaphore (Unknown) version 0.0.2
GEN: Device Extension: VK_KHR_uniform_buffer_standard_layout (Unknown) version 0.0.1
GEN: Device Extension: VK_KHR_variable_pointers (Unknown) version 0.0.1
GEN: Device Extension: VK_KHR_vulkan_memory_model (Unknown) version 0.0.3
GEN: Device Extension: VK_EXT_blend_operation_advanced (Unknown) version 0.0.2
GEN: Device Extension: VK_EXT_buffer_device_address (Unknown) version 0.0.2
GEN: Device Extension: VK_EXT_calibrated_timestamps (Unknown) version 0.0.1
GEN: Device Extension: VK_EXT_conditional_rendering (Unknown) version 0.0.2
GEN: Device Extension: VK_EXT_conservative_rasterization (Unknown) version 0.0.1
GEN: Device Extension: VK_EXT_custom_border_color (Unknown) version 0.0.11
GEN: Device Extension: VK_EXT_depth_clip_enable (Unknown) version 0.0.1
GEN: Device Extension: VK_EXT_depth_range_unrestricted (Unknown) version 0.0.1
GEN: Device Extension: VK_EXT_descriptor_indexing (Unknown) version 0.0.2
GEN: Device Extension: VK_EXT_discard_rectangles (Unknown) version 0.0.1
GEN: Device Extension: VK_EXT_display_control (Unknown) version 0.0.1
GEN: Device Extension: VK_EXT_fragment_shader_interlock (Unknown) version 0.0.1
GEN: Device Extension: VK_EXT_global_priority (Unknown) version 0.0.2
GEN: Device Extension: VK_EXT_host_query_reset (Unknown) version 0.0.1
GEN: Device Extension: VK_EXT_index_type_uint8 (Unknown) version 0.0.1
GEN: Device Extension: VK_EXT_inline_uniform_block (Unknown) version 0.0.1
GEN: Device Extension: VK_EXT_line_rasterization (Unknown) version 0.0.1
GEN: Device Extension: VK_EXT_memory_budget (Unknown) version 0.0.1
GEN: Device Extension: VK_EXT_pci_bus_info (Unknown) version 0.0.2
GEN: Device Extension: VK_EXT_pipeline_creation_feedback (Unknown) version 0.0.1
GEN: Device Extension: VK_EXT_post_depth_coverage (Unknown) version 0.0.1
GEN: Device Extension: VK_EXT_sample_locations (Unknown) version 0.0.1
GEN: Device Extension: VK_EXT_sampler_filter_minmax (Unknown) version 0.0.2
GEN: Device Extension: VK_EXT_scalar_block_layout (Unknown) version 0.0.1
GEN: Device Extension: VK_EXT_separate_stencil_usage (Unknown) version 0.0.1
GEN: Device Extension: VK_EXT_shader_demote_to_helper_invocation (Unknown) version 0.0.1
GEN: Device Extension: VK_EXT_shader_subgroup_ballot (Unknown) version 0.0.1
GEN: Device Extension: VK_EXT_shader_subgroup_vote (Unknown) version 0.0.1
GEN: Device Extension: VK_EXT_shader_viewport_index_layer (Unknown) version 0.0.1
GEN: Device Extension: VK_EXT_subgroup_size_control (Unknown) version 0.0.2
GEN: Device Extension: VK_EXT_texel_buffer_alignment (Unknown) version 0.0.1
GEN: Device Extension: VK_EXT_tooling_info (Unknown) version 0.0.1
GEN: Device Extension: VK_EXT_transform_feedback (Unknown) version 0.0.1
GEN: Device Extension: VK_EXT_vertex_attribute_divisor (Unknown) version 0.0.3
GEN: Device Extension: VK_EXT_ycbcr_image_arrays (Unknown) version 0.0.1
GEN: Device Extension: VK_NV_clip_space_w_scaling (Unknown) version 0.0.1
GEN: Device Extension: VK_NV_coverage_reduction_mode (Unknown) version 0.0.1
GEN: Device Extension: VK_NV_dedicated_allocation (Unknown) version 0.0.1
GEN: Device Extension: VK_NV_dedicated_allocation_image_aliasing (Unknown) version 0.0.1
GEN: Device Extension: VK_NV_device_diagnostic_checkpoints (Unknown) version 0.0.2
GEN: Device Extension: VK_NV_device_diagnostics_config (Unknown) version 0.0.1
GEN: Device Extension: VK_NV_fill_rectangle (Unknown) version 0.0.1
GEN: Device Extension: VK_NV_fragment_coverage_to_color (Unknown) version 0.0.1
GEN: Device Extension: VK_NV_framebuffer_mixed_samples (Unknown) version 0.0.1
GEN: Device Extension: VK_NV_geometry_shader_passthrough (Unknown) version 0.0.1
GEN: Device Extension: VK_NV_ray_tracing (Unknown) version 0.0.3
GEN: Device Extension: VK_NV_sample_mask_override_coverage (Unknown) version 0.0.1
GEN: Device Extension: VK_NV_shader_sm_builtins (Unknown) version 0.0.1
GEN: Device Extension: VK_NV_shader_subgroup_partitioned (Unknown) version 0.0.1
GEN: Device Extension: VK_NV_viewport_array2 (Unknown) version 0.0.1
GEN: Device Extension: VK_NV_viewport_swizzle (Unknown) version 0.0.1
GEN: Device Extension: VK_NVX_device_generated_commands (Unknown) version 0.0.3
GEN: Device Extension: VK_NVX_multiview_per_view_attributes (Unknown) version 0.0.1
GEN: Loading layer library libVkLayer_khronos_validation.so
GEN: Inserted device layer VK_LAYER_KHRONOS_validation (libVkLayer_khronos_validation.so)
GEN: Loading layer library libVkLayer_MESA_device_select.so
GEN: Failed to find vkGetDeviceProcAddr in layer libVkLayer_MESA_device_select.so
GEN: Device Extension: VK_KHR_16bit_storage (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_8bit_storage (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_bind_memory2 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_buffer_device_address (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_create_renderpass2 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_dedicated_allocation (libGLX_nvidia.so.0) version 0.0.3
GEN: Device Extension: VK_KHR_depth_stencil_resolve (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_descriptor_update_template (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_device_group (libGLX_nvidia.so.0) version 0.0.4
GEN: Device Extension: VK_KHR_draw_indirect_count (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_driver_properties (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_external_fence (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_external_fence_fd (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_external_memory (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_external_memory_fd (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_external_semaphore (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_external_semaphore_fd (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_get_memory_requirements2 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_image_format_list (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_imageless_framebuffer (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_maintenance1 (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_KHR_maintenance2 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_maintenance3 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_multiview (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_pipeline_executable_properties (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_push_descriptor (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_KHR_relaxed_block_layout (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_sampler_mirror_clamp_to_edge (libGLX_nvidia.so.0) version 0.0.3
GEN: Device Extension: VK_KHR_sampler_ycbcr_conversion (libGLX_nvidia.so.0) version 0.0.14
GEN: Device Extension: VK_KHR_separate_depth_stencil_layouts (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_shader_atomic_int64 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_shader_clock (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_shader_draw_parameters (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_shader_float16_int8 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_shader_float_controls (libGLX_nvidia.so.0) version 0.0.4
GEN: Device Extension: VK_KHR_shader_non_semantic_info (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_shader_subgroup_extended_types (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_spirv_1_4 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_storage_buffer_storage_class (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_swapchain (libGLX_nvidia.so.0) version 0.0.70
GEN: Device Extension: VK_KHR_swapchain_mutable_format (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_timeline_semaphore (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_KHR_uniform_buffer_standard_layout (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_variable_pointers (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_KHR_vulkan_memory_model (libGLX_nvidia.so.0) version 0.0.3
GEN: Device Extension: VK_EXT_blend_operation_advanced (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_EXT_buffer_device_address (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_EXT_calibrated_timestamps (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_conditional_rendering (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_EXT_conservative_rasterization (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_custom_border_color (libGLX_nvidia.so.0) version 0.0.11
GEN: Device Extension: VK_EXT_depth_clip_enable (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_depth_range_unrestricted (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_descriptor_indexing (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_EXT_discard_rectangles (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_display_control (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_fragment_shader_interlock (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_global_priority (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_EXT_host_query_reset (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_index_type_uint8 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_inline_uniform_block (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_line_rasterization (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_memory_budget (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_pci_bus_info (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_EXT_pipeline_creation_feedback (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_post_depth_coverage (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_sample_locations (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_sampler_filter_minmax (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_EXT_scalar_block_layout (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_separate_stencil_usage (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_shader_demote_to_helper_invocation (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_shader_subgroup_ballot (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_shader_subgroup_vote (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_shader_viewport_index_layer (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_subgroup_size_control (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_EXT_texel_buffer_alignment (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_tooling_info (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_transform_feedback (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_EXT_vertex_attribute_divisor (libGLX_nvidia.so.0) version 0.0.3
GEN: Device Extension: VK_EXT_ycbcr_image_arrays (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_clip_space_w_scaling (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_coverage_reduction_mode (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_dedicated_allocation (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_dedicated_allocation_image_aliasing (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_device_diagnostic_checkpoints (libGLX_nvidia.so.0) version 0.0.2
GEN: Device Extension: VK_NV_device_diagnostics_config (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_fill_rectangle (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_fragment_coverage_to_color (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_framebuffer_mixed_samples (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_geometry_shader_passthrough (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_ray_tracing (libGLX_nvidia.so.0) version 0.0.3
GEN: Device Extension: VK_NV_sample_mask_override_coverage (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_shader_sm_builtins (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_shader_subgroup_partitioned (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_viewport_array2 (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NV_viewport_swizzle (libGLX_nvidia.so.0) version 0.0.1
GEN: Device Extension: VK_NVX_device_generated_commands (libGLX_nvidia.so.0) version 0.0.3
GEN: Device Extension: VK_NVX_multiview_per_view_attributes (libGLX_nvidia.so.0) version 0.0.1
VAL: Validation Error: [ VUID-VkSwapchainCreateInfoKHR-presentMode-parameter ] Object 0: handle = 0x12b5960, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0x8d87e4ef | vkCreateSwapchainKHR: value of pCreateInfo->presentMode (-1) does not fall within the begin..end range of the core VkPresentModeKHR enumeration tokens and is not an extension added token. The Vulkan spec states: presentMode must be a valid VkPresentModeKHR value (https://vulkan.lunarg.com/doc/view/1.2.141.0/linux/1.2-extensions/vkspec.html#VUID-VkSwapchainCreateInfoKHR-presentMode-parameter)
VAL: Validation Error: [ VUID-VkSwapchainCreateInfoKHR-presentMode-01281 ] Object 0: handle = 0x12b5960, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0xaddd2685 | vkCreateSwapchainKHR() called with a non-supported presentMode (i.e. Unhandled VkPresentModeKHR). The Vulkan spec states: presentMode must be one of the VkPresentModeKHR values returned by vkGetPhysicalDeviceSurfacePresentModesKHR for the surface (https://vulkan.lunarg.com/doc/view/1.2.141.0/linux/1.2-extensions/vkspec.html#VUID-VkSwapchainCreateInfoKHR-presentMode-01281)
VAL: vkCreateSwapchainKHR: invalid pCreateInfo->presentMode -141130768
Fatal : VkResult is -1000011001 in /space/pub-repos/vkvg/vkh/src/vkh_presenter.c at line 236
test_test1: /space/pub-repos/vkvg/vkh/src/vkh_presenter.c:236: vkh_presenter_create_swapchain: Assertion `res == VK_SUCCESS' failed.
[1]    134582 abort (core dumped)  ./test_test1

vulkaninfo shows:

$ vulkaninfo
==========
VULKANINFO
==========

Vulkan Instance Version: 1.2.141

Instance Extensions: count = 18
===============================
    VK_EXT_acquire_xlib_display            : extension revision 1
    VK_EXT_debug_report                    : extension revision 9
    VK_EXT_debug_utils                     : extension revision 1
    VK_EXT_direct_mode_display             : extension revision 1
    VK_EXT_display_surface_counter         : extension revision 1
    VK_KHR_device_group_creation           : extension revision 1
    VK_KHR_display                         : extension revision 23
    VK_KHR_external_fence_capabilities     : extension revision 1
    VK_KHR_external_memory_capabilities    : extension revision 1
    VK_KHR_external_semaphore_capabilities : extension revision 1
    VK_KHR_get_display_properties2         : extension revision 1
    VK_KHR_get_physical_device_properties2 : extension revision 2
    VK_KHR_get_surface_capabilities2       : extension revision 1
    VK_KHR_surface                         : extension revision 25
    VK_KHR_surface_protected_capabilities  : extension revision 1
    VK_KHR_wayland_surface                 : extension revision 6
    VK_KHR_xcb_surface                     : extension revision 6
    VK_KHR_xlib_surface                    : extension revision 6

Layers: count = 14
==================
VK_LAYER_KHRONOS_validation (Khronos Validation Layer) Vulkan version 1.2.141, layer version 1:
    Layer Extensions: count = 3
        VK_EXT_debug_report        : extension revision 9
        VK_EXT_debug_utils         : extension revision 1
        VK_EXT_validation_features : extension revision 2
    Devices: count = 1
        GPU id = 0 (GeForce GTX 1070)
        Layer-Device Extensions: count = 3
            VK_EXT_debug_marker     : extension revision 4
            VK_EXT_tooling_info     : extension revision 1
            VK_EXT_validation_cache : extension revision 1

VK_LAYER_LUNARG_api_dump (LunarG API dump layer) Vulkan version 1.2.141, layer version 2:
    Layer Extensions: count = 0
    Devices: count = 1
        GPU id = 0 (GeForce GTX 1070)
        Layer-Device Extensions: count = 1
            VK_EXT_tooling_info : extension revision 1

VK_LAYER_LUNARG_device_simulation (LunarG device simulation layer) Vulkan version 1.2.141, layer version 1:
    Layer Extensions: count = 0
    Devices: count = 1
        GPU id = 0 (GeForce GTX 1070)
        Layer-Device Extensions: count = 1
            VK_EXT_tooling_info : extension revision 1

VK_LAYER_LUNARG_gfxreconstruct (GFXReconstruct Capture Layer Version 0.9.1) Vulkan version 1.2.141, layer version 36865:
    Layer Extensions: count = 0
    Devices: count = 1
        GPU id = 0 (GeForce GTX 1070)
        Layer-Device Extensions: count = 1
            VK_EXT_tooling_info : extension revision 1

VK_LAYER_LUNARG_monitor (Execution Monitoring Layer) Vulkan version 1.2.141, layer version 1:
    Layer Extensions: count = 0
    Devices: count = 1
        GPU id = 0 (GeForce GTX 1070)
        Layer-Device Extensions: count = 1
            VK_EXT_tooling_info : extension revision 1

VK_LAYER_LUNARG_screenshot (LunarG image capture layer) Vulkan version 1.2.141, layer version 1:
    Layer Extensions: count = 0
    Devices: count = 1
        GPU id = 0 (GeForce GTX 1070)
        Layer-Device Extensions: count = 1
            VK_EXT_tooling_info : extension revision 1

VK_LAYER_LUNARG_vktrace (Vktrace tracing library) Vulkan version 1.2.141, layer version 1:
    Layer Extensions: count = 0
    Devices: count = 1
        GPU id = 0 (GeForce GTX 1070)
        Layer-Device Extensions: count = 0

VK_LAYER_MESA_device_select (Linux device selection layer) Vulkan version 1.1.73, layer version 1:
    Layer Extensions: count = 0
    Devices: count = 1
        GPU id = 0 (GeForce GTX 1070)
        Layer-Device Extensions: count = 0

VK_LAYER_NV_optimus (NVIDIA Optimus layer) Vulkan version 1.2.133, layer version 1:
    Layer Extensions: count = 0
    Devices: count = 1
        GPU id = 0 (GeForce GTX 1070)
        Layer-Device Extensions: count = 0

VK_LAYER_RENDERDOC_Capture (Debugging capture layer for RenderDoc) Vulkan version 1.2.131, layer version 6:
    Layer Extensions: count = 1
        VK_EXT_debug_utils : extension revision 1
    Devices: count = 1
        GPU id = 0 (GeForce GTX 1070)
        Layer-Device Extensions: count = 2
            VK_EXT_debug_marker : extension revision 4
            VK_EXT_tooling_info : extension revision 1

VK_LAYER_VALVE_steam_fossilize_32 (Steam Pipeline Caching Layer) Vulkan version 1.1.73, layer version 1:
    Layer Extensions: count = 0
    Devices: count = 1
        GPU id = 0 (GeForce GTX 1070)
        Layer-Device Extensions: count = 0

VK_LAYER_VALVE_steam_fossilize_64 (Steam Pipeline Caching Layer) Vulkan version 1.1.73, layer version 1:
    Layer Extensions: count = 0
    Devices: count = 1
        GPU id = 0 (GeForce GTX 1070)
        Layer-Device Extensions: count = 0

VK_LAYER_VALVE_steam_overlay_32 (Steam Overlay Layer) Vulkan version 1.1.73, layer version 1:
    Layer Extensions: count = 0
    Devices: count = 1
        GPU id = 0 (GeForce GTX 1070)
        Layer-Device Extensions: count = 0

VK_LAYER_VALVE_steam_overlay_64 (Steam Overlay Layer) Vulkan version 1.1.73, layer version 1:
    Layer Extensions: count = 0
    Devices: count = 1
        GPU id = 0 (GeForce GTX 1070)
        Layer-Device Extensions: count = 0

Presentable Surfaces:
=====================
GPU id : 0 (GeForce GTX 1070):
    Surface types: count = 2
        VK_KHR_xcb_surface
        VK_KHR_xlib_surface
    Formats: count = 2
        SurfaceFormat[0]:
            format = FORMAT_B8G8R8A8_UNORM
            colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
        SurfaceFormat[1]:
            format = FORMAT_B8G8R8A8_SRGB
            colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
    Present Modes: count = 3
        PRESENT_MODE_FIFO_KHR
        PRESENT_MODE_FIFO_RELAXED_KHR
        PRESENT_MODE_IMMEDIATE_KHR
    VkSurfaceCapabilitiesKHR:
    -------------------------
        minImageCount       = 2
        maxImageCount       = 8
        currentExtent:
            width  = 256
            height = 256
        minImageExtent:
            width  = 256
            height = 256
        maxImageExtent:
            width  = 256
            height = 256
        maxImageArrayLayers = 1
        supportedTransforms: count = 1
            SURFACE_TRANSFORM_IDENTITY_BIT_KHR
        currentTransform    = SURFACE_TRANSFORM_IDENTITY_BIT_KHR
        supportedCompositeAlpha: count = 1
            COMPOSITE_ALPHA_OPAQUE_BIT_KHR
        supportedUsageFlags: count = 6
            IMAGE_USAGE_TRANSFER_SRC_BIT
            IMAGE_USAGE_TRANSFER_DST_BIT
            IMAGE_USAGE_SAMPLED_BIT
            IMAGE_USAGE_STORAGE_BIT
            IMAGE_USAGE_COLOR_ATTACHMENT_BIT
            IMAGE_USAGE_INPUT_ATTACHMENT_BIT
    VkSurfaceCapabilities2EXT:
    --------------------------
        supportedSurfaceCounters: count = 0
            None
    VkSurfaceProtectedCapabilitiesKHR:
    ----------------------------------
        supportsProtected = false

Device Groups:
==============
Group 0:
    Properties:
        physicalDevices: count = 1
            GeForce GTX 1070 (ID: 0)
        subsetAllocation = 0

    Present Capabilities:
        GeForce GTX 1070 (ID: 0):
            Can present images from the following devices: count = 1
                GeForce GTX 1070 (ID: 0)
        Present modes: count = 1
            DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR

Device Properties and Extensions:
=================================
GPU0:
VkPhysicalDeviceProperties:
---------------------------
    apiVersion     = 4202629 (1.2.133)
    driverVersion  = 1888370688 (0x708e4000)
    vendorID       = 0x10de
    deviceID       = 0x1b81
    deviceType     = PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
    deviceName     = GeForce GTX 1070

VkPhysicalDeviceLimits:
-----------------------
    maxImageDimension1D                             = 32768
    maxImageDimension2D                             = 32768
    maxImageDimension3D                             = 16384
    maxImageDimensionCube                           = 32768
    maxImageArrayLayers                             = 2048
    maxTexelBufferElements                          = 134217728
    maxUniformBufferRange                           = 65536
    maxStorageBufferRange                           = 4294967295
    maxPushConstantsSize                            = 256
    maxMemoryAllocationCount                        = 4294967295
    maxSamplerAllocationCount                       = 4000
    bufferImageGranularity                          = 0x00000400
    sparseAddressSpaceSize                          = 0xffffffffff
    maxBoundDescriptorSets                          = 32
    maxPerStageDescriptorSamplers                   = 1048576
    maxPerStageDescriptorUniformBuffers             = 15
    maxPerStageDescriptorStorageBuffers             = 1048576
    maxPerStageDescriptorSampledImages              = 1048576
    maxPerStageDescriptorStorageImages              = 1048576
    maxPerStageDescriptorInputAttachments           = 1048576
    maxPerStageResources                            = 4294967295
    maxDescriptorSetSamplers                        = 1048576
    maxDescriptorSetUniformBuffers                  = 180
    maxDescriptorSetUniformBuffersDynamic           = 15
    maxDescriptorSetStorageBuffers                  = 1048576
    maxDescriptorSetStorageBuffersDynamic           = 16
    maxDescriptorSetSampledImages                   = 1048576
    maxDescriptorSetStorageImages                   = 1048576
    maxDescriptorSetInputAttachments                = 1048576
    maxVertexInputAttributes                        = 32
    maxVertexInputBindings                          = 32
    maxVertexInputAttributeOffset                   = 2047
    maxVertexInputBindingStride                     = 2048
    maxVertexOutputComponents                       = 128
    maxTessellationGenerationLevel                  = 64
    maxTessellationPatchSize                        = 32
    maxTessellationControlPerVertexInputComponents  = 128
    maxTessellationControlPerVertexOutputComponents = 128
    maxTessellationControlPerPatchOutputComponents  = 120
    maxTessellationControlTotalOutputComponents     = 4216
    maxTessellationEvaluationInputComponents        = 128
    maxTessellationEvaluationOutputComponents       = 128
    maxGeometryShaderInvocations                    = 32
    maxGeometryInputComponents                      = 128
    maxGeometryOutputComponents                     = 128
    maxGeometryOutputVertices                       = 1024
    maxGeometryTotalOutputComponents                = 1024
    maxFragmentInputComponents                      = 128
    maxFragmentOutputAttachments                    = 8
    maxFragmentDualSrcAttachments                   = 1
    maxFragmentCombinedOutputResources              = 16
    maxComputeSharedMemorySize                      = 49152
    maxComputeWorkGroupCount: count = 3
        2147483647
        65535
        65535
    maxComputeWorkGroupInvocations                  = 1536
    maxComputeWorkGroupSize: count = 3
        1536
        1024
        64
    subPixelPrecisionBits                           = 8
    subTexelPrecisionBits                           = 8
    mipmapPrecisionBits                             = 8
    maxDrawIndexedIndexValue                        = 4294967295
    maxDrawIndirectCount                            = 4294967295
    maxSamplerLodBias                               = 15
    maxSamplerAnisotropy                            = 16
    maxViewports                                    = 16
    maxViewportDimensions: count = 2
        32768
        32768
    viewportBoundsRange: count = 2
        -65536
        65536
    viewportSubPixelBits                            = 8
    minMemoryMapAlignment                           = 64
    minTexelBufferOffsetAlignment                   = 0x00000010
    minUniformBufferOffsetAlignment                 = 0x00000100
    minStorageBufferOffsetAlignment                 = 0x00000010
    minTexelOffset                                  = -8
    maxTexelOffset                                  = 7
    minTexelGatherOffset                            = -32
    maxTexelGatherOffset                            = 31
    minInterpolationOffset                          = -0.5
    maxInterpolationOffset                          = 0.4375
    subPixelInterpolationOffsetBits                 = 4
    maxFramebufferWidth                             = 32768
    maxFramebufferHeight                            = 32768
    maxFramebufferLayers                            = 2048
    framebufferColorSampleCounts: count = 4
        SAMPLE_COUNT_1_BIT
        SAMPLE_COUNT_2_BIT
        SAMPLE_COUNT_4_BIT
        SAMPLE_COUNT_8_BIT
    framebufferDepthSampleCounts: count = 4
        SAMPLE_COUNT_1_BIT
        SAMPLE_COUNT_2_BIT
        SAMPLE_COUNT_4_BIT
        SAMPLE_COUNT_8_BIT
    framebufferStencilSampleCounts: count = 5
        SAMPLE_COUNT_1_BIT
        SAMPLE_COUNT_2_BIT
        SAMPLE_COUNT_4_BIT
        SAMPLE_COUNT_8_BIT
        SAMPLE_COUNT_16_BIT
    framebufferNoAttachmentsSampleCounts: count = 5
        SAMPLE_COUNT_1_BIT
        SAMPLE_COUNT_2_BIT
        SAMPLE_COUNT_4_BIT
        SAMPLE_COUNT_8_BIT
        SAMPLE_COUNT_16_BIT
    maxColorAttachments                             = 8
    sampledImageColorSampleCounts: count = 4
        SAMPLE_COUNT_1_BIT
        SAMPLE_COUNT_2_BIT
        SAMPLE_COUNT_4_BIT
        SAMPLE_COUNT_8_BIT
    sampledImageIntegerSampleCounts: count = 4
        SAMPLE_COUNT_1_BIT
        SAMPLE_COUNT_2_BIT
        SAMPLE_COUNT_4_BIT
        SAMPLE_COUNT_8_BIT
    sampledImageDepthSampleCounts: count = 4
        SAMPLE_COUNT_1_BIT
        SAMPLE_COUNT_2_BIT
        SAMPLE_COUNT_4_BIT
        SAMPLE_COUNT_8_BIT
    sampledImageStencilSampleCounts: count = 5
        SAMPLE_COUNT_1_BIT
        SAMPLE_COUNT_2_BIT
        SAMPLE_COUNT_4_BIT
        SAMPLE_COUNT_8_BIT
        SAMPLE_COUNT_16_BIT
    storageImageSampleCounts: count = 4
        SAMPLE_COUNT_1_BIT
        SAMPLE_COUNT_2_BIT
        SAMPLE_COUNT_4_BIT
        SAMPLE_COUNT_8_BIT
    maxSampleMaskWords                              = 1
    timestampComputeAndGraphics                     = true
    timestampPeriod                                 = 1
    maxClipDistances                                = 8
    maxCullDistances                                = 8
    maxCombinedClipAndCullDistances                 = 8
    discreteQueuePriorities                         = 2
    pointSizeRange: count = 2
        1
        2047.94
    lineWidthRange: count = 2
        1
        64
    pointSizeGranularity                            = 0.0625
    lineWidthGranularity                            = 0.0625
    strictLines                                     = true
    standardSampleLocations                         = true
    optimalBufferCopyOffsetAlignment                = 0x00000001
    optimalBufferCopyRowPitchAlignment              = 0x00000001
    nonCoherentAtomSize                             = 0x00000040

VkPhysicalDeviceSparseProperties:
---------------------------------
    residencyStandard2DBlockShape            = true
    residencyStandard2DMultisampleBlockShape = true
    residencyStandard3DBlockShape            = true
    residencyAlignedMipSize                  = false
    residencyNonResidentStrict               = true

VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT:
----------------------------------------------------
    advancedBlendMaxColorAttachments      = 8
    advancedBlendIndependentBlend         = false
    advancedBlendNonPremultipliedSrcColor = true
    advancedBlendNonPremultipliedDstColor = true
    advancedBlendCorrelatedOverlap        = true
    advancedBlendAllOperations            = true

VkPhysicalDeviceConservativeRasterizationPropertiesEXT:
-------------------------------------------------------
    primitiveOverestimationSize                 = 0
    maxExtraPrimitiveOverestimationSize         = 0.75
    extraPrimitiveOverestimationSizeGranularity = 0.25
    primitiveUnderestimation                    = false
    conservativePointAndLineRasterization       = true
    degenerateTrianglesRasterized               = true
    degenerateLinesRasterized                   = false
    fullyCoveredFragmentShaderInputVariable     = false
    conservativeRasterizationPostDepthCoverage  = true

VkPhysicalDeviceCustomBorderColorPropertiesEXT:
-----------------------------------------------
    maxCustomBorderColorSamplers = 4000

VkPhysicalDeviceDepthStencilResolveProperties:
----------------------------------------------
    supportedDepthResolveModes: count = 4
        RESOLVE_MODE_SAMPLE_ZERO_BIT
        RESOLVE_MODE_AVERAGE_BIT
        RESOLVE_MODE_MIN_BIT
        RESOLVE_MODE_MAX_BIT
    supportedStencilResolveModes: count = 3
        RESOLVE_MODE_SAMPLE_ZERO_BIT
        RESOLVE_MODE_MIN_BIT
        RESOLVE_MODE_MAX_BIT
    independentResolveNone = true
    independentResolve     = true

VkPhysicalDeviceDescriptorIndexingProperties:
---------------------------------------------
    maxUpdateAfterBindDescriptorsInAllPools              = 4294967295
    shaderUniformBufferArrayNonUniformIndexingNative     = true
    shaderSampledImageArrayNonUniformIndexingNative      = true
    shaderStorageBufferArrayNonUniformIndexingNative     = true
    shaderStorageImageArrayNonUniformIndexingNative      = true
    shaderInputAttachmentArrayNonUniformIndexingNative   = true
    robustBufferAccessUpdateAfterBind                    = true
    quadDivergentImplicitLod                             = true
    maxPerStageDescriptorUpdateAfterBindSamplers         = 1048576
    maxPerStageDescriptorUpdateAfterBindUniformBuffers   = 15
    maxPerStageDescriptorUpdateAfterBindStorageBuffers   = 1048576
    maxPerStageDescriptorUpdateAfterBindSampledImages    = 1048576
    maxPerStageDescriptorUpdateAfterBindStorageImages    = 1048576
    maxPerStageDescriptorUpdateAfterBindInputAttachments = 1048576
    maxPerStageUpdateAfterBindResources                  = 4294967295
    maxDescriptorSetUpdateAfterBindSamplers              = 1048576
    maxDescriptorSetUpdateAfterBindUniformBuffers        = 180
    maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = 15
    maxDescriptorSetUpdateAfterBindStorageBuffers        = 1048576
    maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = 16
    maxDescriptorSetUpdateAfterBindSampledImages         = 1048576
    maxDescriptorSetUpdateAfterBindStorageImages         = 1048576
    maxDescriptorSetUpdateAfterBindInputAttachments      = 1048576

VkPhysicalDeviceDiscardRectanglePropertiesEXT:
----------------------------------------------
    maxDiscardRectangles = 8

VkPhysicalDeviceDriverProperties:
---------------------------------
    driverID           = DRIVER_ID_NVIDIA_PROPRIETARY
    driverName         = NVIDIA
    driverInfo         = 450.57
    conformanceVersion = 1.2.2.0

VkPhysicalDeviceFloatControlsProperties:
----------------------------------------
    denormBehaviorIndependence            = SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL
    roundingModeIndependence              = SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL
    shaderSignedZeroInfNanPreserveFloat16 = true
    shaderSignedZeroInfNanPreserveFloat32 = true
    shaderSignedZeroInfNanPreserveFloat64 = true
    shaderDenormPreserveFloat16           = true
    shaderDenormPreserveFloat32           = false
    shaderDenormPreserveFloat64           = false
    shaderDenormFlushToZeroFloat16        = false
    shaderDenormFlushToZeroFloat32        = false
    shaderDenormFlushToZeroFloat64        = false
    shaderRoundingModeRTEFloat16          = true
    shaderRoundingModeRTEFloat32          = true
    shaderRoundingModeRTEFloat64          = true
    shaderRoundingModeRTZFloat16          = false
    shaderRoundingModeRTZFloat32          = true
    shaderRoundingModeRTZFloat64          = true

VkPhysicalDeviceIDProperties:
-----------------------------
    deviceUUID      = b803400d-64ee-bac0-1e37-fd1724f039f4
    driverUUID      = 2c785ca6-f134-0390-9468-07452a7886e0
    deviceNodeMask  = 1
    deviceLUIDValid = false

VkPhysicalDeviceInlineUniformBlockPropertiesEXT:
------------------------------------------------
    maxInlineUniformBlockSize                               = 256
    maxPerStageDescriptorInlineUniformBlocks                = 32
    maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks = 32
    maxDescriptorSetInlineUniformBlocks                     = 32
    maxDescriptorSetUpdateAfterBindInlineUniformBlocks      = 32

VkPhysicalDeviceLineRasterizationPropertiesEXT:
-----------------------------------------------
    lineSubPixelPrecisionBits = 8

VkPhysicalDeviceMaintenance3Properties:
---------------------------------------
    maxPerSetDescriptors    = 4294967295
    maxMemoryAllocationSize = 0xffe00000

VkPhysicalDeviceMultiviewProperties:
------------------------------------
    maxMultiviewViewCount     = 32
    maxMultiviewInstanceIndex = 134217727

VkPhysicalDevicePCIBusInfoPropertiesEXT:
----------------------------------------
    pciDomain   = 0
    pciBus      = 1
    pciDevice   = 0
    pciFunction = 0

VkPhysicalDevicePointClippingProperties:
----------------------------------------
    pointClippingBehavior = POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY

VkPhysicalDeviceProtectedMemoryProperties:
------------------------------------------
    protectedNoFault = false

VkPhysicalDevicePushDescriptorPropertiesKHR:
--------------------------------------------
    maxPushDescriptors = 32

VkPhysicalDeviceSampleLocationsPropertiesEXT:
---------------------------------------------
    sampleLocationSampleCounts: count = 5
        SAMPLE_COUNT_1_BIT
        SAMPLE_COUNT_2_BIT
        SAMPLE_COUNT_4_BIT
        SAMPLE_COUNT_8_BIT
        SAMPLE_COUNT_16_BIT
    maxSampleLocationGridSize:
        width  = 1
        height = 1
    sampleLocationCoordinateRange: count = 2
        0
        0.9375
    sampleLocationSubPixelBits       = 4
    variableSampleLocations          = true

VkPhysicalDeviceSamplerFilterMinmaxProperties:
----------------------------------------------
    filterMinmaxSingleComponentFormats = true
    filterMinmaxImageComponentMapping  = true

VkPhysicalDeviceSubgroupProperties:
-----------------------------------
    subgroupSize              = 32
    supportedStages: count = 14
        SHADER_STAGE_VERTEX_BIT
        SHADER_STAGE_TESSELLATION_CONTROL_BIT
        SHADER_STAGE_TESSELLATION_EVALUATION_BIT
        SHADER_STAGE_GEOMETRY_BIT
        SHADER_STAGE_FRAGMENT_BIT
        SHADER_STAGE_COMPUTE_BIT
        SHADER_STAGE_ALL_GRAPHICS
        SHADER_STAGE_ALL
        SHADER_STAGE_RAYGEN_BIT_KHR
        SHADER_STAGE_ANY_HIT_BIT_KHR
        SHADER_STAGE_CLOSEST_HIT_BIT_KHR
        SHADER_STAGE_MISS_BIT_KHR
        SHADER_STAGE_INTERSECTION_BIT_KHR
        SHADER_STAGE_CALLABLE_BIT_KHR
    supportedOperations: count = 9
        SUBGROUP_FEATURE_BASIC_BIT
        SUBGROUP_FEATURE_VOTE_BIT
        SUBGROUP_FEATURE_ARITHMETIC_BIT
        SUBGROUP_FEATURE_BALLOT_BIT
        SUBGROUP_FEATURE_SHUFFLE_BIT
        SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT
        SUBGROUP_FEATURE_CLUSTERED_BIT
        SUBGROUP_FEATURE_QUAD_BIT
        SUBGROUP_FEATURE_PARTITIONED_BIT_NV
    quadOperationsInAllStages = true

VkPhysicalDeviceSubgroupSizeControlPropertiesEXT:
-------------------------------------------------
    minSubgroupSize              = 32
    maxSubgroupSize              = 32
    maxComputeWorkgroupSubgroups = 3145728
    requiredSubgroupSizeStages: count = 14
        SHADER_STAGE_VERTEX_BIT
        SHADER_STAGE_TESSELLATION_CONTROL_BIT
        SHADER_STAGE_TESSELLATION_EVALUATION_BIT
        SHADER_STAGE_GEOMETRY_BIT
        SHADER_STAGE_FRAGMENT_BIT
        SHADER_STAGE_COMPUTE_BIT
        SHADER_STAGE_ALL_GRAPHICS
        SHADER_STAGE_ALL
        SHADER_STAGE_RAYGEN_BIT_KHR
        SHADER_STAGE_ANY_HIT_BIT_KHR
        SHADER_STAGE_CLOSEST_HIT_BIT_KHR
        SHADER_STAGE_MISS_BIT_KHR
        SHADER_STAGE_INTERSECTION_BIT_KHR
        SHADER_STAGE_CALLABLE_BIT_KHR

VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT:
--------------------------------------------------
    storageTexelBufferOffsetAlignmentBytes       = 0x00000010
    storageTexelBufferOffsetSingleTexelAlignment = true
    uniformTexelBufferOffsetAlignmentBytes       = 0x00000010
    uniformTexelBufferOffsetSingleTexelAlignment = true

VkPhysicalDeviceTimelineSemaphoreProperties:
--------------------------------------------
    maxTimelineSemaphoreValueDifference = 2147483647

VkPhysicalDeviceTransformFeedbackPropertiesEXT:
-----------------------------------------------
    maxTransformFeedbackStreams                = 4
    maxTransformFeedbackBuffers                = 4
    maxTransformFeedbackBufferSize             = 0xffffffffffffffff
    maxTransformFeedbackStreamDataSize         = 2048
    maxTransformFeedbackBufferDataSize         = 512
    maxTransformFeedbackBufferDataStride       = 2048
    transformFeedbackQueries                   = true
    transformFeedbackStreamsLinesTriangles     = false
    transformFeedbackRasterizationStreamSelect = true
    transformFeedbackDraw                      = true

VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT:
----------------------------------------------------
    maxVertexAttribDivisor = 4294967295

VkPhysicalDeviceVulkan11Properties:
-----------------------------------
    deviceUUID                        = b803400d-64ee-bac0-1e37-fd1724f039f4
    driverUUID                        = 2c785ca6-f134-0390-9468-07452a7886e0
    deviceNodeMask                    = 1
    deviceLUIDValid                   = false
    subgroupSize                      = 32
    subgroupSupportedStages: count = 14
        SHADER_STAGE_VERTEX_BIT
        SHADER_STAGE_TESSELLATION_CONTROL_BIT
        SHADER_STAGE_TESSELLATION_EVALUATION_BIT
        SHADER_STAGE_GEOMETRY_BIT
        SHADER_STAGE_FRAGMENT_BIT
        SHADER_STAGE_COMPUTE_BIT
        SHADER_STAGE_ALL_GRAPHICS
        SHADER_STAGE_ALL
        SHADER_STAGE_RAYGEN_BIT_KHR
        SHADER_STAGE_ANY_HIT_BIT_KHR
        SHADER_STAGE_CLOSEST_HIT_BIT_KHR
        SHADER_STAGE_MISS_BIT_KHR
        SHADER_STAGE_INTERSECTION_BIT_KHR
        SHADER_STAGE_CALLABLE_BIT_KHR
    subgroupSupportedOperations: count = 9
        SUBGROUP_FEATURE_BASIC_BIT
        SUBGROUP_FEATURE_VOTE_BIT
        SUBGROUP_FEATURE_ARITHMETIC_BIT
        SUBGROUP_FEATURE_BALLOT_BIT
        SUBGROUP_FEATURE_SHUFFLE_BIT
        SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT
        SUBGROUP_FEATURE_CLUSTERED_BIT
        SUBGROUP_FEATURE_QUAD_BIT
        SUBGROUP_FEATURE_PARTITIONED_BIT_NV
    subgroupQuadOperationsInAllStages = true
    pointClippingBehavior             = POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY
    maxMultiviewViewCount             = 32
    maxMultiviewInstanceIndex         = 134217727
    protectedNoFault                  = false
    maxPerSetDescriptors              = 4294967295
    maxMemoryAllocationSize           = 0xffe00000

VkPhysicalDeviceVulkan12Properties:
-----------------------------------
    driverID                                             = DRIVER_ID_NVIDIA_PROPRIETARY
    driverName                                           = NVIDIA
    driverInfo                                           = 450.57
    conformanceVersion                                   = 1.2.2.0
    denormBehaviorIndependence                           = SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL
    roundingModeIndependence                             = SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL
    shaderSignedZeroInfNanPreserveFloat16                = true
    shaderSignedZeroInfNanPreserveFloat32                = true
    shaderSignedZeroInfNanPreserveFloat64                = true
    shaderDenormPreserveFloat16                          = true
    shaderDenormPreserveFloat32                          = false
    shaderDenormPreserveFloat64                          = false
    shaderDenormFlushToZeroFloat16                       = false
    shaderDenormFlushToZeroFloat32                       = false
    shaderDenormFlushToZeroFloat64                       = false
    shaderRoundingModeRTEFloat16                         = true
    shaderRoundingModeRTEFloat32                         = true
    shaderRoundingModeRTEFloat64                         = true
    shaderRoundingModeRTZFloat16                         = false
    shaderRoundingModeRTZFloat32                         = true
    shaderRoundingModeRTZFloat64                         = true
    maxUpdateAfterBindDescriptorsInAllPools              = 4294967295
    shaderUniformBufferArrayNonUniformIndexingNative     = true
    shaderSampledImageArrayNonUniformIndexingNative      = true
    shaderStorageBufferArrayNonUniformIndexingNative     = true
    shaderStorageImageArrayNonUniformIndexingNative      = true
    shaderInputAttachmentArrayNonUniformIndexingNative   = true
    robustBufferAccessUpdateAfterBind                    = true
    quadDivergentImplicitLod                             = true
    maxPerStageDescriptorUpdateAfterBindSamplers         = 1048576
    maxPerStageDescriptorUpdateAfterBindUniformBuffers   = 15
    maxPerStageDescriptorUpdateAfterBindStorageBuffers   = 1048576
    maxPerStageDescriptorUpdateAfterBindSampledImages    = 1048576
    maxPerStageDescriptorUpdateAfterBindStorageImages    = 1048576
    maxPerStageDescriptorUpdateAfterBindInputAttachments = 1048576
    maxPerStageUpdateAfterBindResources                  = 4294967295
    maxDescriptorSetUpdateAfterBindSamplers              = 1048576
    maxDescriptorSetUpdateAfterBindUniformBuffers        = 180
    maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = 15
    maxDescriptorSetUpdateAfterBindStorageBuffers        = 1048576
    maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = 16
    maxDescriptorSetUpdateAfterBindSampledImages         = 1048576
    maxDescriptorSetUpdateAfterBindStorageImages         = 1048576
    maxDescriptorSetUpdateAfterBindInputAttachments      = 1048576
    supportedDepthResolveModes: count = 4
        RESOLVE_MODE_SAMPLE_ZERO_BIT
        RESOLVE_MODE_AVERAGE_BIT
        RESOLVE_MODE_MIN_BIT
        RESOLVE_MODE_MAX_BIT
    supportedStencilResolveModes: count = 3
        RESOLVE_MODE_SAMPLE_ZERO_BIT
        RESOLVE_MODE_MIN_BIT
        RESOLVE_MODE_MAX_BIT
    independentResolveNone                               = true
    independentResolve                                   = true
    filterMinmaxSingleComponentFormats                   = true
    filterMinmaxImageComponentMapping                    = true
    maxTimelineSemaphoreValueDifference                  = 2147483647
    framebufferIntegerColorSampleCounts: count = 4
        SAMPLE_COUNT_1_BIT
        SAMPLE_COUNT_2_BIT
        SAMPLE_COUNT_4_BIT
        SAMPLE_COUNT_8_BIT

Device Extensions: count = 98
    VK_EXT_blend_operation_advanced           : extension revision 2
    VK_EXT_buffer_device_address              : extension revision 2
    VK_EXT_calibrated_timestamps              : extension revision 1
    VK_EXT_conditional_rendering              : extension revision 2
    VK_EXT_conservative_rasterization         : extension revision 1
    VK_EXT_custom_border_color                : extension revision 11
    VK_EXT_depth_clip_enable                  : extension revision 1
    VK_EXT_depth_range_unrestricted           : extension revision 1
    VK_EXT_descriptor_indexing                : extension revision 2
    VK_EXT_discard_rectangles                 : extension revision 1
    VK_EXT_display_control                    : extension revision 1
    VK_EXT_fragment_shader_interlock          : extension revision 1
    VK_EXT_global_priority                    : extension revision 2
    VK_EXT_host_query_reset                   : extension revision 1
    VK_EXT_index_type_uint8                   : extension revision 1
    VK_EXT_inline_uniform_block               : extension revision 1
    VK_EXT_line_rasterization                 : extension revision 1
    VK_EXT_memory_budget                      : extension revision 1
    VK_EXT_pci_bus_info                       : extension revision 2
    VK_EXT_pipeline_creation_feedback         : extension revision 1
    VK_EXT_post_depth_coverage                : extension revision 1
    VK_EXT_sample_locations                   : extension revision 1
    VK_EXT_sampler_filter_minmax              : extension revision 2
    VK_EXT_scalar_block_layout                : extension revision 1
    VK_EXT_separate_stencil_usage             : extension revision 1
    VK_EXT_shader_demote_to_helper_invocation : extension revision 1
    VK_EXT_shader_subgroup_ballot             : extension revision 1
    VK_EXT_shader_subgroup_vote               : extension revision 1
    VK_EXT_shader_viewport_index_layer        : extension revision 1
    VK_EXT_subgroup_size_control              : extension revision 2
    VK_EXT_texel_buffer_alignment             : extension revision 1
    VK_EXT_tooling_info                       : extension revision 1
    VK_EXT_transform_feedback                 : extension revision 1
    VK_EXT_vertex_attribute_divisor           : extension revision 3
    VK_EXT_ycbcr_image_arrays                 : extension revision 1
    VK_KHR_16bit_storage                      : extension revision 1
    VK_KHR_8bit_storage                       : extension revision 1
    VK_KHR_bind_memory2                       : extension revision 1
    VK_KHR_buffer_device_address              : extension revision 1
    VK_KHR_create_renderpass2                 : extension revision 1
    VK_KHR_dedicated_allocation               : extension revision 3
    VK_KHR_depth_stencil_resolve              : extension revision 1
    VK_KHR_descriptor_update_template         : extension revision 1
    VK_KHR_device_group                       : extension revision 4
    VK_KHR_draw_indirect_count                : extension revision 1
    VK_KHR_driver_properties                  : extension revision 1
    VK_KHR_external_fence                     : extension revision 1
    VK_KHR_external_fence_fd                  : extension revision 1
    VK_KHR_external_memory                    : extension revision 1
    VK_KHR_external_memory_fd                 : extension revision 1
    VK_KHR_external_semaphore                 : extension revision 1
    VK_KHR_external_semaphore_fd              : extension revision 1
    VK_KHR_get_memory_requirements2           : extension revision 1
    VK_KHR_image_format_list                  : extension revision 1
    VK_KHR_imageless_framebuffer              : extension revision 1
    VK_KHR_maintenance1                       : extension revision 2
    VK_KHR_maintenance2                       : extension revision 1
    VK_KHR_maintenance3                       : extension revision 1
    VK_KHR_multiview                          : extension revision 1
    VK_KHR_pipeline_executable_properties     : extension revision 1
    VK_KHR_push_descriptor                    : extension revision 2
    VK_KHR_relaxed_block_layout               : extension revision 1
    VK_KHR_sampler_mirror_clamp_to_edge       : extension revision 3
    VK_KHR_sampler_ycbcr_conversion           : extension revision 14
    VK_KHR_separate_depth_stencil_layouts     : extension revision 1
    VK_KHR_shader_atomic_int64                : extension revision 1
    VK_KHR_shader_clock                       : extension revision 1
    VK_KHR_shader_draw_parameters             : extension revision 1
    VK_KHR_shader_float16_int8                : extension revision 1
    VK_KHR_shader_float_controls              : extension revision 4
    VK_KHR_shader_non_semantic_info           : extension revision 1
    VK_KHR_shader_subgroup_extended_types     : extension revision 1
    VK_KHR_spirv_1_4                          : extension revision 1
    VK_KHR_storage_buffer_storage_class       : extension revision 1
    VK_KHR_swapchain                          : extension revision 70
    VK_KHR_swapchain_mutable_format           : extension revision 1
    VK_KHR_timeline_semaphore                 : extension revision 2
    VK_KHR_uniform_buffer_standard_layout     : extension revision 1
    VK_KHR_variable_pointers                  : extension revision 1
    VK_KHR_vulkan_memory_model                : extension revision 3
    VK_NVX_device_generated_commands          : extension revision 3
    VK_NVX_multiview_per_view_attributes      : extension revision 1
    VK_NV_clip_space_w_scaling                : extension revision 1
    VK_NV_coverage_reduction_mode             : extension revision 1
    VK_NV_dedicated_allocation                : extension revision 1
    VK_NV_dedicated_allocation_image_aliasing : extension revision 1
    VK_NV_device_diagnostic_checkpoints       : extension revision 2
    VK_NV_device_diagnostics_config           : extension revision 1
    VK_NV_fill_rectangle                      : extension revision 1
    VK_NV_fragment_coverage_to_color          : extension revision 1
    VK_NV_framebuffer_mixed_samples           : extension revision 1
    VK_NV_geometry_shader_passthrough         : extension revision 1
    VK_NV_ray_tracing                         : extension revision 3
    VK_NV_sample_mask_override_coverage       : extension revision 1
    VK_NV_shader_sm_builtins                  : extension revision 1
    VK_NV_shader_subgroup_partitioned         : extension revision 1
    VK_NV_viewport_array2                     : extension revision 1
    VK_NV_viewport_swizzle                    : extension revision 1

VkQueueFamilyProperties:
========================
    queueProperties[0]:
    -------------------
        minImageTransferGranularity = (1,1,1)
        queueCount                  = 16
        queueFlags                  = QUEUE_GRAPHICS | QUEUE_COMPUTE | QUEUE_TRANSFER | QUEUE_SPARSE_BINDING
        timestampValidBits          = 64
        present support             = true

    queueProperties[1]:
    -------------------
        minImageTransferGranularity = (1,1,1)
        queueCount                  = 2
        queueFlags                  = QUEUE_TRANSFER | QUEUE_SPARSE_BINDING
        timestampValidBits          = 64
        present support             = false

    queueProperties[2]:
    -------------------
        minImageTransferGranularity = (1,1,1)
        queueCount                  = 8
        queueFlags                  = QUEUE_COMPUTE | QUEUE_TRANSFER | QUEUE_SPARSE_BINDING
        timestampValidBits          = 64
        present support             = true

VkPhysicalDeviceMemoryProperties:
=================================
memoryHeaps: count = 3
    memoryHeaps[0]:
        size   = 8589934592 (0x200000000) (8.00 GiB)
        budget = 7797604352 (0x1d0c60000) (7.26 GiB)
        usage  = 0 (0x00000000) (0.00 B)
        flags: count = 1
            MEMORY_HEAP_DEVICE_LOCAL_BIT
    memoryHeaps[1]:
        size   = 25203726336 (0x5de425800) (23.47 GiB)
        budget = 25203726336 (0x5de425800) (23.47 GiB)
        usage  = 0 (0x00000000) (0.00 B)
        flags: count = 0
            None
    memoryHeaps[2]:
        size   = 257949696 (0x0f600000) (246.00 MiB)
        budget = 249495552 (0x0edf0000) (237.94 MiB)
        usage  = 8454144 (0x00810000) (8.06 MiB)
        flags: count = 1
            MEMORY_HEAP_DEVICE_LOCAL_BIT
memoryTypes: count = 11
    memoryTypes[0]:
        heapIndex     = 1
        propertyFlags = 0x0000: count = 0
            None
        usable for:
            IMAGE_TILING_OPTIMAL:
                None
            IMAGE_TILING_LINEAR:
                color images
                (non-sparse, non-transient)
    memoryTypes[1]:
        heapIndex     = 1
        propertyFlags = 0x0000: count = 0
            None
        usable for:
            IMAGE_TILING_OPTIMAL:
                color images
                (non-sparse)
            IMAGE_TILING_LINEAR:
                None
    memoryTypes[2]:
        heapIndex     = 1
        propertyFlags = 0x0000: count = 0
            None
        usable for:
            IMAGE_TILING_OPTIMAL:
                FORMAT_D16_UNORM
                (non-sparse)
            IMAGE_TILING_LINEAR:
                None
    memoryTypes[3]:
        heapIndex     = 1
        propertyFlags = 0x0000: count = 0
            None
        usable for:
            IMAGE_TILING_OPTIMAL:
                FORMAT_X8_D24_UNORM_PACK32
                FORMAT_D24_UNORM_S8_UINT
                (non-sparse)
            IMAGE_TILING_LINEAR:
                None
    memoryTypes[4]:
        heapIndex     = 1
        propertyFlags = 0x0000: count = 0
            None
        usable for:
            IMAGE_TILING_OPTIMAL:
                FORMAT_D32_SFLOAT
                (non-sparse)
            IMAGE_TILING_LINEAR:
                None
    memoryTypes[5]:
        heapIndex     = 1
        propertyFlags = 0x0000: count = 0
            None
        usable for:
            IMAGE_TILING_OPTIMAL:
                FORMAT_D32_SFLOAT_S8_UINT
                (non-sparse)
            IMAGE_TILING_LINEAR:
                None
    memoryTypes[6]:
        heapIndex     = 1
        propertyFlags = 0x0000: count = 0
            None
        usable for:
            IMAGE_TILING_OPTIMAL:
                FORMAT_S8_UINT
                (non-sparse)
            IMAGE_TILING_LINEAR:
                None
    memoryTypes[7]:
        heapIndex     = 0
        propertyFlags = 0x0001: count = 1
            MEMORY_PROPERTY_DEVICE_LOCAL_BIT
        usable for:
            IMAGE_TILING_OPTIMAL:
                color images
                FORMAT_D16_UNORM
                FORMAT_X8_D24_UNORM_PACK32
                FORMAT_D32_SFLOAT
                FORMAT_S8_UINT
                FORMAT_D24_UNORM_S8_UINT
                FORMAT_D32_SFLOAT_S8_UINT
                (non-sparse)
            IMAGE_TILING_LINEAR:
                color images
                (non-sparse, non-transient)
    memoryTypes[8]:
        heapIndex     = 1
        propertyFlags = 0x0006: count = 2
            MEMORY_PROPERTY_HOST_VISIBLE_BIT
            MEMORY_PROPERTY_HOST_COHERENT_BIT
        usable for:
            IMAGE_TILING_OPTIMAL:
                None
            IMAGE_TILING_LINEAR:
                color images
                (non-sparse, non-transient)
    memoryTypes[9]:
        heapIndex     = 1
        propertyFlags = 0x000e: count = 3
            MEMORY_PROPERTY_HOST_VISIBLE_BIT
            MEMORY_PROPERTY_HOST_COHERENT_BIT
            MEMORY_PROPERTY_HOST_CACHED_BIT
        usable for:
            IMAGE_TILING_OPTIMAL:
                None
            IMAGE_TILING_LINEAR:
                color images
                (non-sparse, non-transient)
    memoryTypes[10]:
        heapIndex     = 2
        propertyFlags = 0x0007: count = 3
            MEMORY_PROPERTY_DEVICE_LOCAL_BIT
            MEMORY_PROPERTY_HOST_VISIBLE_BIT
            MEMORY_PROPERTY_HOST_COHERENT_BIT
        usable for:
            IMAGE_TILING_OPTIMAL:
                None
            IMAGE_TILING_LINEAR:
                None

VkPhysicalDeviceFeatures:
=========================
    robustBufferAccess                      = true
    fullDrawIndexUint32                     = true
    imageCubeArray                          = true
    independentBlend                        = true
    geometryShader                          = true
    tessellationShader                      = true
    sampleRateShading                       = true
    dualSrcBlend                            = true
    logicOp                                 = true
    multiDrawIndirect                       = true
    drawIndirectFirstInstance               = true
    depthClamp                              = true
    depthBiasClamp                          = true
    fillModeNonSolid                        = true
    depthBounds                             = true
    wideLines                               = true
    largePoints                             = true
    alphaToOne                              = true
    multiViewport                           = true
    samplerAnisotropy                       = true
    textureCompressionETC2                  = false
    textureCompressionASTC_LDR              = false
    textureCompressionBC                    = true
    occlusionQueryPrecise                   = true
    pipelineStatisticsQuery                 = true
    vertexPipelineStoresAndAtomics          = true
    fragmentStoresAndAtomics                = true
    shaderTessellationAndGeometryPointSize  = true
    shaderImageGatherExtended               = true
    shaderStorageImageExtendedFormats       = true
    shaderStorageImageMultisample           = true
    shaderStorageImageReadWithoutFormat     = true
    shaderStorageImageWriteWithoutFormat    = true
    shaderUniformBufferArrayDynamicIndexing = true
    shaderSampledImageArrayDynamicIndexing  = true
    shaderStorageBufferArrayDynamicIndexing = true
    shaderStorageImageArrayDynamicIndexing  = true
    shaderClipDistance                      = true
    shaderCullDistance                      = true
    shaderFloat64                           = true
    shaderInt64                             = true
    shaderInt16                             = true
    shaderResourceResidency                 = true
    shaderResourceMinLod                    = true
    sparseBinding                           = true
    sparseResidencyBuffer                   = true
    sparseResidencyImage2D                  = true
    sparseResidencyImage3D                  = true
    sparseResidency2Samples                 = true
    sparseResidency4Samples                 = true
    sparseResidency8Samples                 = true
    sparseResidency16Samples                = true
    sparseResidencyAliased                  = true
    variableMultisampleRate                 = true
    inheritedQueries                        = true

VkPhysicalDevice16BitStorageFeatures:
-------------------------------------
    storageBuffer16BitAccess           = true
    uniformAndStorageBuffer16BitAccess = true
    storagePushConstant16              = true
    storageInputOutput16               = false

VkPhysicalDevice8BitStorageFeatures:
------------------------------------
    storageBuffer8BitAccess           = true
    uniformAndStorageBuffer8BitAccess = true
    storagePushConstant8              = true

VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT:
--------------------------------------------------
    advancedBlendCoherentOperations = true

VkPhysicalDeviceBufferDeviceAddressFeatures:
--------------------------------------------
    bufferDeviceAddress              = true
    bufferDeviceAddressCaptureReplay = false
    bufferDeviceAddressMultiDevice   = true

VkPhysicalDeviceBufferDeviceAddressFeaturesEXT:
-----------------------------------------------
    bufferDeviceAddress              = true
    bufferDeviceAddressCaptureReplay = false
    bufferDeviceAddressMultiDevice   = true

VkPhysicalDeviceConditionalRenderingFeaturesEXT:
------------------------------------------------
    conditionalRendering          = true
    inheritedConditionalRendering = true

VkPhysicalDeviceCustomBorderColorFeaturesEXT:
---------------------------------------------
    customBorderColors             = true
    customBorderColorWithoutFormat = true

VkPhysicalDeviceDepthClipEnableFeaturesEXT:
-------------------------------------------
    depthClipEnable = true

VkPhysicalDeviceDescriptorIndexingFeatures:
-------------------------------------------
    shaderInputAttachmentArrayDynamicIndexing          = true
    shaderUniformTexelBufferArrayDynamicIndexing       = true
    shaderStorageTexelBufferArrayDynamicIndexing       = true
    shaderUniformBufferArrayNonUniformIndexing         = true
    shaderSampledImageArrayNonUniformIndexing          = true
    shaderStorageBufferArrayNonUniformIndexing         = true
    shaderStorageImageArrayNonUniformIndexing          = true
    shaderInputAttachmentArrayNonUniformIndexing       = true
    shaderUniformTexelBufferArrayNonUniformIndexing    = true
    shaderStorageTexelBufferArrayNonUniformIndexing    = true
    descriptorBindingUniformBufferUpdateAfterBind      = false
    descriptorBindingSampledImageUpdateAfterBind       = true
    descriptorBindingStorageImageUpdateAfterBind       = true
    descriptorBindingStorageBufferUpdateAfterBind      = true
    descriptorBindingUniformTexelBufferUpdateAfterBind = true
    descriptorBindingStorageTexelBufferUpdateAfterBind = true
    descriptorBindingUpdateUnusedWhilePending          = true
    descriptorBindingPartiallyBound                    = true
    descriptorBindingVariableDescriptorCount           = true
    runtimeDescriptorArray                             = true

VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT:
---------------------------------------------------
    fragmentShaderSampleInterlock      = true
    fragmentShaderPixelInterlock       = true
    fragmentShaderShadingRateInterlock = true

VkPhysicalDeviceHostQueryResetFeatures:
---------------------------------------
    hostQueryReset = true

VkPhysicalDeviceImagelessFramebufferFeatures:
---------------------------------------------
    imagelessFramebuffer = true

VkPhysicalDeviceIndexTypeUint8FeaturesEXT:
------------------------------------------
    indexTypeUint8 = true

VkPhysicalDeviceInlineUniformBlockFeaturesEXT:
----------------------------------------------
    inlineUniformBlock                                 = true
    descriptorBindingInlineUniformBlockUpdateAfterBind = true

VkPhysicalDeviceLineRasterizationFeaturesEXT:
---------------------------------------------
    rectangularLines         = true
    bresenhamLines           = true
    smoothLines              = true
    stippledRectangularLines = true
    stippledBresenhamLines   = true
    stippledSmoothLines      = true

VkPhysicalDeviceMultiviewFeatures:
----------------------------------
    multiview                   = true
    multiviewGeometryShader     = true
    multiviewTessellationShader = true

VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR:
--------------------------------------------------------
    pipelineExecutableInfo = true

VkPhysicalDeviceProtectedMemoryFeatures:
----------------------------------------
    protectedMemory = false

VkPhysicalDeviceSamplerYcbcrConversionFeatures:
-----------------------------------------------
    samplerYcbcrConversion = true

VkPhysicalDeviceScalarBlockLayoutFeatures:
------------------------------------------
    scalarBlockLayout = true

VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures:
----------------------------------------------------
    separateDepthStencilLayouts = true

VkPhysicalDeviceShaderAtomicInt64Features:
------------------------------------------
    shaderBufferInt64Atomics = true
    shaderSharedInt64Atomics = true

VkPhysicalDeviceShaderClockFeaturesKHR:
---------------------------------------
    shaderSubgroupClock = true
    shaderDeviceClock   = true

VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT:
----------------------------------------------------------
    shaderDemoteToHelperInvocation = true

VkPhysicalDeviceShaderDrawParametersFeatures:
---------------------------------------------
    shaderDrawParameters = true

VkPhysicalDeviceShaderFloat16Int8Features:
------------------------------------------
    shaderFloat16 = false
    shaderInt8    = true

VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures:
----------------------------------------------------
    shaderSubgroupExtendedTypes = true

VkPhysicalDeviceSubgroupSizeControlFeaturesEXT:
-----------------------------------------------
    subgroupSizeControl  = true
    computeFullSubgroups = true

VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT:
------------------------------------------------
    texelBufferAlignment = true

VkPhysicalDeviceTimelineSemaphoreFeatures:
------------------------------------------
    timelineSemaphore = true

VkPhysicalDeviceTransformFeedbackFeaturesEXT:
---------------------------------------------
    transformFeedback = true
    geometryStreams   = true

VkPhysicalDeviceUniformBufferStandardLayoutFeatures:
----------------------------------------------------
    uniformBufferStandardLayout = true

VkPhysicalDeviceVariablePointersFeatures:
-----------------------------------------
    variablePointersStorageBuffer = true
    variablePointers              = true

VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT:
--------------------------------------------------
    vertexAttributeInstanceRateDivisor     = true
    vertexAttributeInstanceRateZeroDivisor = true

VkPhysicalDeviceVulkan11Features:
---------------------------------
    storageBuffer16BitAccess           = true
    uniformAndStorageBuffer16BitAccess = true
    storagePushConstant16              = true
    storageInputOutput16               = false
    multiview                          = true
    multiviewGeometryShader            = true
    multiviewTessellationShader        = true
    variablePointersStorageBuffer      = true
    variablePointers                   = true
    protectedMemory                    = false
    samplerYcbcrConversion             = true
    shaderDrawParameters               = true

VkPhysicalDeviceVulkan12Features:
---------------------------------
    samplerMirrorClampToEdge                           = true
    drawIndirectCount                                  = true
    storageBuffer8BitAccess                            = true
    uniformAndStorageBuffer8BitAccess                  = true
    storagePushConstant8                               = true
    shaderBufferInt64Atomics                           = true
    shaderSharedInt64Atomics                           = true
    shaderFloat16                                      = false
    shaderInt8                                         = true
    descriptorIndexing                                 = true
    shaderInputAttachmentArrayDynamicIndexing          = true
    shaderUniformTexelBufferArrayDynamicIndexing       = true
    shaderStorageTexelBufferArrayDynamicIndexing       = true
    shaderUniformBufferArrayNonUniformIndexing         = true
    shaderSampledImageArrayNonUniformIndexing          = true
    shaderStorageBufferArrayNonUniformIndexing         = true
    shaderStorageImageArrayNonUniformIndexing          = true
    shaderInputAttachmentArrayNonUniformIndexing       = true
    shaderUniformTexelBufferArrayNonUniformIndexing    = true
    shaderStorageTexelBufferArrayNonUniformIndexing    = true
    descriptorBindingUniformBufferUpdateAfterBind      = false
    descriptorBindingSampledImageUpdateAfterBind       = true
    descriptorBindingStorageImageUpdateAfterBind       = true
    descriptorBindingStorageBufferUpdateAfterBind      = true
    descriptorBindingUniformTexelBufferUpdateAfterBind = true
    descriptorBindingStorageTexelBufferUpdateAfterBind = true
    descriptorBindingUpdateUnusedWhilePending          = true
    descriptorBindingPartiallyBound                    = true
    descriptorBindingVariableDescriptorCount           = true
    runtimeDescriptorArray                             = true
    samplerFilterMinmax                                = true
    scalarBlockLayout                                  = true
    imagelessFramebuffer                               = true
    uniformBufferStandardLayout                        = true
    shaderSubgroupExtendedTypes                        = true
    separateDepthStencilLayouts                        = true
    hostQueryReset                                     = true
    timelineSemaphore                                  = true
    bufferDeviceAddress                                = true
    bufferDeviceAddressCaptureReplay                   = false
    bufferDeviceAddressMultiDevice                     = true
    vulkanMemoryModel                                  = true
    vulkanMemoryModelDeviceScope                       = true
    vulkanMemoryModelAvailabilityVisibilityChains      = true
    shaderOutputViewportIndex                          = true
    shaderOutputLayer                                  = true
    subgroupBroadcastDynamicId                         = true

VkPhysicalDeviceVulkanMemoryModelFeatures:
------------------------------------------
    vulkanMemoryModel                             = true
    vulkanMemoryModelDeviceScope                  = true
    vulkanMemoryModelAvailabilityVisibilityChains = true

VkPhysicalDeviceYcbcrImageArraysFeaturesEXT:
--------------------------------------------
    ycbcrImageArrays = true
$ 
jpbruyere commented 4 years ago

I'm updating vulkan with the latest sdk. Meanwhile I've added an output log when the presentMode fallback value is fetched. presentMode is initialised with '-1', but it will choose the first available one as fallback, so I'm very surprise of a value of '-1' in the logs (on master).

jpbruyere commented 4 years ago

I see in your log that you are targeting your distribution vulkan install (Loading layer library libVkLayer_MESA_device_select.so). I've checked on my debian that it's ok with that (no problem on debian 10), but maybe try to target the vulkan sdk that you've installed (if you installed it).

export VULKAN_SDK=/mnt/devel/vulkan/VulkanSDK/1.2.135.0/x86_64  <= change only here
export PATH=$VULKAN_SDK/bin:$PATH
export LD_LIBRARY_PATH=$VULKAN_SDK/lib
export VK_LAYER_PATH=$VULKAN_SDK/etc/vulkan/explicit_layer.d

libVkLayer_MESA_device_select.so should not load if targeting lunarg sdk.

jpbruyere commented 4 years ago

When I say that I've add a log for present mode fallback, I was implicitly asking for you to check in your logs that you have: "Fallback present mode =>" returning a value greater than -1. (I'm not sure I've been clear enough)

dov commented 4 years ago

Hi and thanks for your continued help.

I don't know why the MESA device is loading. As you saw I have an NVIDIA GTX 1070 card in my system.

I just tested the Sascha Willems repo, and his demos do work.

Another issue I don't understand is a simple triangle example (I think that it was modified from Sascha's repo) that I have that exit with the following error message:

validation layers requested, but not available!

Sigh... Getting Vulkan running certainly isn't easy.

You said:

| I was implicitly asking for you to check in your logs

Which log?

jpbruyere commented 4 years ago

Because your validation layer points to a presentMode equal to '-1', on the master branch (update also vkh submodule), I've added a 'printf' when the requested presentMode is not available and the default one is selected (the first one returned by vulkan). So if you can run again with the latest commit from master and check the default Present mode ("Fallback present mode => X"), it would clear one of my doubt.

The most important environment variable for getting the correct layers is : VK_LAYER_PATH. So check your running environment for a correct value. The more secure is to target the lunarg sdk. I see that Sacha W. is providing the vulkan library in his 'libs' folder, maybe that's why its samples are working. To target the lunarg vulkan library, set LD_LIBRARY_PATH.

Mesa is loading when you use the vulkan driver from your fedora distribution. If you set LD_LIBRARY_PATH to the lunarg sdk, is should not load.

Vulkan is on the road to maturity, depending on your hardware, (maybe several newer cards on linux are not fully supported) and depending on your distribution, your mesa version, your gpu drivers (open source/proprietary) there could be some difficulties.

jpbruyere commented 4 years ago

Ok, I got to the point. There was a bug. I'll update the master branch within 10 minuts.

jpbruyere commented 4 years ago

Done. Without entering into deep details, I was doing enum comparison with negative value without converting it first to signed int. Thank you for reporting, and feel free to ask for support, documentations are on the planning.

dov commented 4 years ago

Thanks!

On Thu, Aug 13, 2020, 22:13 j-p notifications@github.com wrote:

Done. Without entering into deep details, I was doing enum comparison with negative value without converting it first to signed int. Thank you for reporting, and feel free to ask for support, documentations are on the planning.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/jpbruyere/vkvg/issues/40#issuecomment-673660403, or unsubscribe https://github.com/notifications/unsubscribe-auth/AACSSO46G7U72RR274624PLSAQ3NFANCNFSM4P5HX7GQ .

jpbruyere commented 4 years ago

I guess I can close, thanks again.

dov commented 4 years ago

Thanks but unfortunately it still doesn't work for me. I guess something is wrong with my Vulkan installation, and I have no idea what it is. I still get the same behavior when running test_test1. It still loads libVkLayer_MESA_device_select and it still gets presentation mode=-1 and then fails. I don't even know where to start to debug this.

jpbruyere commented 4 years ago

don't forget to update vkh submodule with:

git checkout master && git submodule update --init --recursive

If Sasha W. samples are working with the MESA layer, vkvg should go with it too.

dov commented 4 years ago

It works!! Great! Now I have to figure out what to do with it. :-) Perhaps rewrite my image and vector viewer giv... http://github.com/dov/giv .

jpbruyere commented 4 years ago

Switching from cairo to vkvg should be straightforward, feel free to ask for any help.

dov commented 4 years ago

Switching from cairo to vkvg should be straightforward, feel free to ask for any help.

(I'm using this for thread for continued communication. Please let me know if you prefer somewhere else.)

I'll have a closer look at vkvg now, but there are two "special" features that I need, that I wonder if you support:

  1. Rendering without anti-aliasing. I needed this for my shadow "label-image" that I use for "balloon" popups.
  2. The ability to render to buffers and not to the screen.

(Actually I don't use cairo for the rendering but agg, but I'm certainly familiar with cairo, and it that part of the porting shouldn't be a problem.)

Thanks!

jpbruyere commented 4 years ago

No problem to continue here. Antialiasing is enabled on device creation. Sample count for the rendering is set to one.

device = vkvg_device_create (inst, phy, vkdev, qFamIdx, qIndex);

you may also use the multisampled device creation function but with sample count equal to one (VK_SAMPLE_COUNT_1_BIT).

device  = vkvg_device_create_multisample (inst, phy, vkdev, qFamIdx, qIndex, VK_SAMPLE_COUNT_1_BIT, false);

VkvgSurface is a normal vulkan image, drawing with context does not output anything on screen, it only write to that texture in gpu memory. In vkvg samples, I create a special vulkan blitting command buffer to blit the surface onto the swapchain images:

vkh_presenter_build_blit_cmd (r, vkvg_surface_get_vk_image(surf), test_width, test_height);

So you may create a custom vulkan command buffer to copy image to a vkbuffer, or blit onto another image, or draw with a shader and use the image as a texture.

jpbruyere commented 4 years ago

Maybe I'll create in the future special surfaces which output directly to screen as cairo does (xcbSurface, win32Surf, ...)