Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linking failure #40

Open
dov opened this issue Aug 12, 2020 · 21 comments
Open

Linking failure #40

dov opened this issue Aug 12, 2020 · 21 comments
Assignees
Labels

Comments

@dov
Copy link

dov commented Aug 12, 2020

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
Copy link
Owner

jpbruyere commented Aug 13, 2020

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 jpbruyere self-assigned this Aug 13, 2020
@jpbruyere jpbruyere added the bug label Aug 13, 2020
@jpbruyere
Copy link
Owner

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
Copy link
Author

dov commented Aug 13, 2020

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
Copy link
Owner

jpbruyere commented Aug 13, 2020

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
Copy link
Author

dov commented Aug 13, 2020

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
Copy link
Owner

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
Copy link
Owner

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
Copy link
Owner

jpbruyere commented Aug 13, 2020

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
Copy link
Author

dov commented Aug 13, 2020

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
Copy link
Owner

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
Copy link
Owner

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

@jpbruyere
Copy link
Owner

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
Copy link
Author

dov commented Aug 13, 2020 via email

@jpbruyere
Copy link
Owner

I guess I can close, thanks again.

@dov
Copy link
Author

dov commented Aug 14, 2020

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 jpbruyere reopened this Aug 14, 2020
@jpbruyere
Copy link
Owner

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
Copy link
Author

dov commented Aug 14, 2020

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
Copy link
Owner

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

@dov
Copy link
Author

dov commented Aug 14, 2020

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
Copy link
Owner

jpbruyere commented Aug 14, 2020

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
Copy link
Owner

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

@jpbruyere jpbruyere reopened this Aug 14, 2020
@jpbruyere jpbruyere added question and removed bug labels Aug 14, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants