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

Linux/NVIDIA/vulkan: fullscreen window stops updating #2593

Closed
belegdol opened this issue Aug 22, 2021 · 16 comments
Closed

Linux/NVIDIA/vulkan: fullscreen window stops updating #2593

belegdol opened this issue Aug 22, 2021 · 16 comments

Comments

@belegdol
Copy link
Contributor

Describe the bug
This was originally reported against mame (mamedev/mame#7820) but I have finally managed to reproduce it with bgfx examples. In brief, with examples built with --enable-sdl, fullscreen window will stop updating a few moments after hitting ctrl-f.

To Reproduce
Steps to reproduce the behavior:

  1. Edit makefile as follows:
diff --git a/makefile b/makefile
index 667852910..193884fe4 100644
--- a/makefile
+++ b/makefile
@@ -104,7 +104,7 @@ wasm-release: .build/projects/gmake-wasm ## Build - Emscripten Release
 wasm: wasm-debug wasm-release ## Build - Emscripten Debug and Release
 
 .build/projects/gmake-linux:
-       $(GENIE) --with-tools --with-combined-examples --with-shared-lib --gcc=linux-gcc gmake
+       $(GENIE) --with-tools --with-combined-examples --with-shared-lib --with-sdl --gcc=linux-gcc gmake
 linux-debug64: .build/projects/gmake-linux ## Build - Linux x64 Debug
        $(MAKE) -R -C .build/projects/gmake-linux config=debug64
 linux-release64: .build/projects/gmake-linux ## Build - Linux x64 Release
  1. Start examples
  2. Switch to full screen with ctrl-f
  3. Wait until screen stops updating

Expected behavior
Screen keeps updating as it does when --gl is passed

Screenshots
N/A

Additional context
This appears to only happen with nvidia binary drivers, my amd laptop is not affected.

@belegdol
Copy link
Contributor Author

I have tested dolphin emulator and it appears to be working fine with fullscreen when using vulkan renderer, suggesting that the problem is with bgfx and not with nvidia drivers.

@belegdol
Copy link
Contributor Author

belegdol commented Aug 23, 2021

Graphics will start updating again if vsync is disabled after going to full screen with F7. Strangely enough, re-enabling vsync in fullscreen does not cause the graphics to stop updating again. It is only after switching to windowed mode and then to fullscreen back again the problem appears again.

ETA: similarly, clicking on Restart makes the graphics update again until the next window/fullscreen switch.

@belegdol
Copy link
Contributor Author

Here is the console output, there is nothing obviously wrong:

$ ./../../.build/linux64_gcc/bin/examplesDebug --vulkan
../../../src/bgfx.cpp (3523): BGFX Init...
../../../src/bgfx.cpp (3530): BGFX Version 1.115.7816 (commit: e642efb03af78e04bec8e81118fe3dec88e0176e)
../../../src/bgfx.cpp (1723): BGFX Reset back-buffer swap chain:
../../../src/bgfx.cpp (1724): BGFX 	1280x720, format: RGBA8, numBackBuffers: 2, maxFrameLatency: 0
../../../src/bgfx.cpp (1733): BGFX 	[ ] MSAAx1
../../../src/bgfx.cpp (1734): BGFX 	[ ] Fullscreen
../../../src/bgfx.cpp (1735): BGFX 	[x] V-sync
../../../src/bgfx.cpp (1736): BGFX 	[ ] Max Anisotropy
../../../src/bgfx.cpp (1737): BGFX 	[ ] Capture
../../../src/bgfx.cpp (1738): BGFX 	[ ] Flush After Render
../../../src/bgfx.cpp (1739): BGFX 	[ ] Flip After Render
../../../src/bgfx.cpp (1740): BGFX 	[ ] sRGB Back Buffer
../../../src/bgfx.cpp (1741): BGFX 	[ ] HDR10
../../../src/bgfx.cpp (1742): BGFX 	[ ] Hi-DPI
../../../src/bgfx.cpp (1743): BGFX 	[ ] Depth Clamp
../../../src/bgfx.cpp (1744): BGFX 	[ ] Suspend
../../../src/bgfx.cpp (1910): BGFX Application called bgfx::renderFrame directly, not creating render thread.
../../../src/bgfx.cpp (1926): BGFX Running in multi-threaded mode
../../../src/bgfx.cpp (413): BGFX Graphics debugger is not present.
../../../src/renderer_vk.cpp (1137): BGFX Shared library functions:
../../../src/renderer_vk.cpp (1144): BGFX 	0xbc7098c0 vkCreateInstance
../../../src/renderer_vk.cpp (1144): BGFX 	0xbc6fb3f0 vkGetInstanceProcAddr
../../../src/renderer_vk.cpp (1144): BGFX 	0xbc7048f0 vkGetDeviceProcAddr
../../../src/renderer_vk.cpp (1144): BGFX 	0xbc709070 vkEnumerateInstanceExtensionProperties
../../../src/renderer_vk.cpp (1144): BGFX 	0xbc709340 vkEnumerateInstanceLayerProperties
../../../src/renderer_vk.cpp (1144): BGFX 	0xbc709600 vkEnumerateInstanceVersion
../../../src/renderer_vk.cpp (678): BGFX Global extensions (18):
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_device_group_creation
../../../src/renderer_vk.cpp (691): BGFX 	v23  VK_KHR_display
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_external_fence_capabilities
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_external_memory_capabilities
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_external_semaphore_capabilities
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_get_display_properties2
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_KHR_get_physical_device_properties2 (supported)
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_get_surface_capabilities2
../../../src/renderer_vk.cpp (691): BGFX 	v25  VK_KHR_surface
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_surface_protected_capabilities
../../../src/renderer_vk.cpp (691): BGFX 	v6   VK_KHR_wayland_surface
../../../src/renderer_vk.cpp (691): BGFX 	v6   VK_KHR_xcb_surface
../../../src/renderer_vk.cpp (691): BGFX 	v6   VK_KHR_xlib_surface
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_acquire_xlib_display
../../../src/renderer_vk.cpp (691): BGFX 	v9   VK_EXT_debug_report (supported)
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_direct_mode_display
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_display_surface_counter
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_EXT_debug_utils (supported)
../../../src/renderer_vk.cpp (717): BGFX Layer extensions (6):
../../../src/renderer_vk.cpp (729): BGFX 	VK_LAYER_NV_optimus (s: 0x004020af, i: 0x00000001), NVIDIA Optimus layer
../../../src/renderer_vk.cpp (729): BGFX 	VK_LAYER_MESA_device_select (s: 0x00402049, i: 0x00000001), Linux device selection layer
../../../src/renderer_vk.cpp (729): BGFX 	VK_LAYER_VALVE_steam_overlay_64 (s: 0x00402088, i: 0x00000001), Steam Overlay Layer
../../../src/renderer_vk.cpp (729): BGFX 	VK_LAYER_VALVE_steam_overlay_32 (s: 0x00402088, i: 0x00000001), Steam Overlay Layer
../../../src/renderer_vk.cpp (729): BGFX 	VK_LAYER_VALVE_steam_fossilize_32 (s: 0x00402088, i: 0x00000001), Steam Pipeline Caching Layer
../../../src/renderer_vk.cpp (729): BGFX 	VK_LAYER_VALVE_steam_fossilize_64 (s: 0x00402088, i: 0x00000001), Steam Pipeline Caching Layer
../../../src/renderer_vk.cpp (1178): BGFX Enabled instance layers:
../../../src/renderer_vk.cpp (1219): BGFX Enabled instance extensions:
../../../src/renderer_vk.cpp (1223): BGFX 	VK_KHR_surface
../../../src/renderer_vk.cpp (1223): BGFX 	VK_KHR_xcb_surface
../../../src/renderer_vk.cpp (1223): BGFX 	VK_EXT_debug_utils
../../../src/renderer_vk.cpp (1223): BGFX 	VK_EXT_debug_report
../../../src/renderer_vk.cpp (1223): BGFX 	VK_KHR_get_physical_device_properties2
../../../src/renderer_vk.cpp (1286): BGFX Instance API Version Selected: 1.2.162
../../../src/renderer_vk.cpp (1295): BGFX Instance functions:
../../../src/renderer_vk.cpp (1301): BGFX 	0xbc708270 vkDestroyInstance
../../../src/renderer_vk.cpp (1301): BGFX 	0xbc70b1b0 vkEnumeratePhysicalDevices
../../../src/renderer_vk.cpp (1301): BGFX 	0xbc707e60 vkEnumerateDeviceExtensionProperties
../../../src/renderer_vk.cpp (1301): BGFX 	0xbc707ec0 vkEnumerateDeviceLayerProperties
../../../src/renderer_vk.cpp (1301): BGFX 	0xbc7038d0 vkGetPhysicalDeviceProperties
../../../src/renderer_vk.cpp (1301): BGFX 	0xbc703890 vkGetPhysicalDeviceFormatProperties
../../../src/renderer_vk.cpp (1301): BGFX 	0xbc703870 vkGetPhysicalDeviceFeatures
../../../src/renderer_vk.cpp (1301): BGFX 	0xbc7038b0 vkGetPhysicalDeviceImageFormatProperties
../../../src/renderer_vk.cpp (1301): BGFX 	0xbc703910 vkGetPhysicalDeviceMemoryProperties
../../../src/renderer_vk.cpp (1301): BGFX 	0xbc7038f0 vkGetPhysicalDeviceQueueFamilyProperties
../../../src/renderer_vk.cpp (1301): BGFX 	0xbc708700 vkCreateDevice
../../../src/renderer_vk.cpp (1301): BGFX 	0xbc708760 vkDestroyDevice
../../../src/renderer_vk.cpp (1301): BGFX 	0xbc704510 vkGetPhysicalDeviceSurfaceCapabilitiesKHR
../../../src/renderer_vk.cpp (1301): BGFX 	0xbc704530 vkGetPhysicalDeviceSurfaceFormatsKHR
../../../src/renderer_vk.cpp (1301): BGFX 	0xbc704550 vkGetPhysicalDeviceSurfacePresentModesKHR
../../../src/renderer_vk.cpp (1301): BGFX 	0xbc7044f0 vkGetPhysicalDeviceSurfaceSupportKHR
../../../src/renderer_vk.cpp (1301): BGFX 	0xbc7044e0 vkDestroySurfaceKHR
../../../src/renderer_vk.cpp (1301): BGFX 	0xbc7040a0 vkGetPhysicalDeviceFeatures2KHR
../../../src/renderer_vk.cpp (1301): BGFX 	0xbc7041e0 vkGetPhysicalDeviceMemoryProperties2KHR
../../../src/renderer_vk.cpp (1301): BGFX 	0xbc708140 vkCreateDebugReportCallbackEXT
../../../src/renderer_vk.cpp (1301): BGFX 	0xbc7081e0 vkDestroyDebugReportCallbackEXT
../../../src/renderer_vk.cpp (1301): BGFX 	0x0 vkCreateXlibSurfaceKHR
../../../src/renderer_vk.cpp (1301): BGFX 	0x0 vkGetPhysicalDeviceXlibPresentationSupportKHR
../../../src/renderer_vk.cpp (1301): BGFX 	0xbc7045f0 vkCreateXcbSurfaceKHR
../../../src/renderer_vk.cpp (1301): BGFX 	0xbc704600 vkGetPhysicalDeviceXcbPresentationSupportKHR
../../../src/renderer_vk.cpp (1332): BGFX ---
../../../src/renderer_vk.cpp (1368): BGFX Physical device 0:
../../../src/renderer_vk.cpp (1369): BGFX 	          Name: NVIDIA GeForce RTX 2070
../../../src/renderer_vk.cpp (1370): BGFX 	   API version: 1.2.175
../../../src/renderer_vk.cpp (1374): BGFX 	Driver version: 758fc040
../../../src/renderer_vk.cpp (1375): BGFX 	      VendorId: 10de
../../../src/renderer_vk.cpp (1376): BGFX 	      DeviceId: 1f02
../../../src/renderer_vk.cpp (1377): BGFX 	          Type: 2
../../../src/renderer_vk.cpp (1400): BGFX 	Memory type count: 11
../../../src/renderer_vk.cpp (1403): BGFX 	  0: flags 0x00000000, index 1
../../../src/renderer_vk.cpp (1403): BGFX 	  1: flags 0x00000000, index 1
../../../src/renderer_vk.cpp (1403): BGFX 	  2: flags 0x00000000, index 1
../../../src/renderer_vk.cpp (1403): BGFX 	  3: flags 0x00000000, index 1
../../../src/renderer_vk.cpp (1403): BGFX 	  4: flags 0x00000000, index 1
../../../src/renderer_vk.cpp (1403): BGFX 	  5: flags 0x00000000, index 1
../../../src/renderer_vk.cpp (1403): BGFX 	  6: flags 0x00000000, index 1
../../../src/renderer_vk.cpp (1403): BGFX 	  7: flags 0x00000001, index 0
../../../src/renderer_vk.cpp (1403): BGFX 	  8: flags 0x00000006, index 1
../../../src/renderer_vk.cpp (1403): BGFX 	  9: flags 0x0000000e, index 1
../../../src/renderer_vk.cpp (1403): BGFX 	 10: flags 0x00000007, index 2
../../../src/renderer_vk.cpp (1410): BGFX 	Memory heap count: 3
../../../src/renderer_vk.cpp (1415): BGFX 	  0: flags 0x00000001, size   8.00 GiB
../../../src/renderer_vk.cpp (1415): BGFX 	  1: flags 0x00000000, size  23.45 GiB
../../../src/renderer_vk.cpp (1415): BGFX 	  2: flags 0x00000001, size 246.00 MiB
../../../src/renderer_vk.cpp (678): BGFX Global extensions (139):
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_16bit_storage
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_8bit_storage
../../../src/renderer_vk.cpp (691): BGFX 	v11  VK_KHR_acceleration_structure
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_bind_memory2
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_buffer_device_address
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_copy_commands2
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_create_renderpass2
../../../src/renderer_vk.cpp (691): BGFX 	v3   VK_KHR_dedicated_allocation
../../../src/renderer_vk.cpp (691): BGFX 	v4   VK_KHR_deferred_host_operations
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_depth_stencil_resolve
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_descriptor_update_template
../../../src/renderer_vk.cpp (691): BGFX 	v4   VK_KHR_device_group
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_draw_indirect_count
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_driver_properties
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_external_fence
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_external_fence_fd
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_external_memory
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_external_memory_fd
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_external_semaphore
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_external_semaphore_fd
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_fragment_shading_rate
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_get_memory_requirements2
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_image_format_list
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_imageless_framebuffer
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_KHR_maintenance1
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_maintenance2
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_maintenance3
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_multiview
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_pipeline_executable_properties
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_pipeline_library
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_KHR_push_descriptor
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_ray_query
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_ray_tracing_pipeline
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_relaxed_block_layout
../../../src/renderer_vk.cpp (691): BGFX 	v3   VK_KHR_sampler_mirror_clamp_to_edge
../../../src/renderer_vk.cpp (691): BGFX 	v14  VK_KHR_sampler_ycbcr_conversion
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_separate_depth_stencil_layouts
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_shader_atomic_int64
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_shader_clock
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_shader_draw_parameters
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_shader_float16_int8
../../../src/renderer_vk.cpp (691): BGFX 	v4   VK_KHR_shader_float_controls
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_shader_non_semantic_info
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_shader_subgroup_extended_types
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_shader_terminate_invocation
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_spirv_1_4
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_storage_buffer_storage_class
../../../src/renderer_vk.cpp (691): BGFX 	v70  VK_KHR_swapchain
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_swapchain_mutable_format
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_synchronization2
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_KHR_timeline_semaphore
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_uniform_buffer_standard_layout
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_variable_pointers
../../../src/renderer_vk.cpp (691): BGFX 	v3   VK_KHR_vulkan_memory_model
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_workgroup_memory_explicit_layout
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_zero_initialize_workgroup_memory
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_4444_formats
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_EXT_blend_operation_advanced
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_EXT_buffer_device_address
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_calibrated_timestamps
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_color_write_enable
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_EXT_conditional_rendering
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_conservative_rasterization (supported)
../../../src/renderer_vk.cpp (691): BGFX 	v12  VK_EXT_custom_border_color (supported)
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_depth_clip_enable
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_depth_range_unrestricted
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_EXT_descriptor_indexing
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_discard_rectangles
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_display_control
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_extended_dynamic_state
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_extended_dynamic_state2
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_external_memory_host
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_fragment_shader_interlock
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_EXT_global_priority
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_global_priority_query
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_host_query_reset
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_image_robustness
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_index_type_uint8
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_inline_uniform_block
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_line_rasterization (supported)
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_memory_budget (supported)
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_EXT_pci_bus_info
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_physical_device_drm
../../../src/renderer_vk.cpp (691): BGFX 	v3   VK_EXT_pipeline_creation_cache_control
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_pipeline_creation_feedback
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_post_depth_coverage
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_private_data
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_provoking_vertex
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_queue_family_foreign
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_robustness2
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_sample_locations
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_EXT_sampler_filter_minmax
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_scalar_block_layout
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_separate_stencil_usage
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_shader_atomic_float
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_shader_demote_to_helper_invocation
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_shader_image_atomic_int64
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_shader_subgroup_ballot
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_shader_subgroup_vote
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_shader_viewport_index_layer (supported)
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_EXT_subgroup_size_control
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_texel_buffer_alignment
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_tooling_info
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_transform_feedback
../../../src/renderer_vk.cpp (691): BGFX 	v3   VK_EXT_vertex_attribute_divisor
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_EXT_vertex_input_dynamic_state
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_ycbcr_image_arrays
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_clip_space_w_scaling
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_compute_shader_derivatives
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_cooperative_matrix
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_NV_corner_sampled_image
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_coverage_reduction_mode
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_NV_cuda_kernel_launch
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_dedicated_allocation
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_dedicated_allocation_image_aliasing
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_NV_device_diagnostic_checkpoints
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_device_diagnostics_config
../../../src/renderer_vk.cpp (691): BGFX 	v3   VK_NV_device_generated_commands
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_fill_rectangle
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_fragment_coverage_to_color
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_fragment_shader_barycentric
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_fragment_shading_rate_enums
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_framebuffer_mixed_samples
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_geometry_shader_passthrough
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_inherited_viewport_scissor
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_mesh_shader
../../../src/renderer_vk.cpp (691): BGFX 	v3   VK_NV_ray_tracing
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_NV_representative_fragment_test
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_sample_mask_override_coverage
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_scissor_exclusive
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_NV_shader_image_footprint
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_shader_sm_builtins
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_shader_subgroup_partitioned
../../../src/renderer_vk.cpp (691): BGFX 	v3   VK_NV_shading_rate_image
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_viewport_array2
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_viewport_swizzle
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NVX_binary_import
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_NVX_image_view_handle
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NVX_multiview_per_view_attributes
../../../src/renderer_vk.cpp (717): BGFX 	Layer extensions (1):
../../../src/renderer_vk.cpp (729): BGFX 		VK_LAYER_MESA_device_select (s: 0x00402049, i: 0x00000001), Linux device selection layer
../../../src/renderer_vk.cpp (1368): BGFX Physical device 1:
../../../src/renderer_vk.cpp (1369): BGFX 	          Name: llvmpipe (LLVM 12.0.1, 256 bits)
../../../src/renderer_vk.cpp (1370): BGFX 	   API version: 1.1.168
../../../src/renderer_vk.cpp (1374): BGFX 	Driver version: 1
../../../src/renderer_vk.cpp (1375): BGFX 	      VendorId: 10005
../../../src/renderer_vk.cpp (1376): BGFX 	      DeviceId: 0
../../../src/renderer_vk.cpp (1377): BGFX 	          Type: 4
../../../src/renderer_vk.cpp (1400): BGFX 	Memory type count: 1
../../../src/renderer_vk.cpp (1403): BGFX 	  0: flags 0x0000000f, index 0
../../../src/renderer_vk.cpp (1410): BGFX 	Memory heap count: 1
../../../src/renderer_vk.cpp (1415): BGFX 	  0: flags 0x00000001, size   2.00 GiB
../../../src/renderer_vk.cpp (678): BGFX Global extensions (46):
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_8bit_storage
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_16bit_storage
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_bind_memory2
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_buffer_device_address
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_copy_commands2
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_create_renderpass2
../../../src/renderer_vk.cpp (691): BGFX 	v3   VK_KHR_dedicated_allocation
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_descriptor_update_template
../../../src/renderer_vk.cpp (691): BGFX 	v4   VK_KHR_device_group
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_draw_indirect_count
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_driver_properties
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_external_fence
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_external_memory
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_external_semaphore
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_get_memory_requirements2
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_image_format_list
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_imageless_framebuffer
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_incremental_present
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_KHR_maintenance1
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_maintenance2
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_maintenance3
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_multiview
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_KHR_push_descriptor
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_relaxed_block_layout
../../../src/renderer_vk.cpp (691): BGFX 	v3   VK_KHR_sampler_mirror_clamp_to_edge
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_shader_atomic_int64
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_shader_draw_parameters
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_storage_buffer_storage_class
../../../src/renderer_vk.cpp (691): BGFX 	v70  VK_KHR_swapchain
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_uniform_buffer_standard_layout
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_variable_pointers
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_calibrated_timestamps
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_EXT_conditional_rendering
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_extended_dynamic_state
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_host_query_reset
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_index_type_uint8
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_post_depth_coverage
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_private_data
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_EXT_sampler_filter_minmax
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_scalar_block_layout
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_shader_stencil_export
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_shader_viewport_index_layer (supported)
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_transform_feedback
../../../src/renderer_vk.cpp (691): BGFX 	v3   VK_EXT_vertex_attribute_divisor
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_GOOGLE_decorate_string
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_GOOGLE_hlsl_functionality1
../../../src/renderer_vk.cpp (717): BGFX 	Layer extensions (1):
../../../src/renderer_vk.cpp (729): BGFX 		VK_LAYER_MESA_device_select (s: 0x00402049, i: 0x00000001), Linux device selection layer
../../../src/renderer_vk.cpp (1442): BGFX Using physical device 0: NVIDIA GeForce RTX 2070
../../../src/renderer_vk.cpp (1658): BGFX ---
../../../src/renderer_vk.cpp (1678): BGFX Queue family property 0:
../../../src/renderer_vk.cpp (1679): BGFX 	  Queue flags: 0x0000000f
../../../src/renderer_vk.cpp (1680): BGFX 	  Queue count: 16
../../../src/renderer_vk.cpp (1681): BGFX 	TS valid bits: 0x00000040
../../../src/renderer_vk.cpp (1682): BGFX 	    Min image: 1 x 1 x 1
../../../src/renderer_vk.cpp (1678): BGFX Queue family property 1:
../../../src/renderer_vk.cpp (1679): BGFX 	  Queue flags: 0x0000000c
../../../src/renderer_vk.cpp (1680): BGFX 	  Queue count: 2
../../../src/renderer_vk.cpp (1681): BGFX 	TS valid bits: 0x00000040
../../../src/renderer_vk.cpp (1682): BGFX 	    Min image: 1 x 1 x 1
../../../src/renderer_vk.cpp (1678): BGFX Queue family property 2:
../../../src/renderer_vk.cpp (1679): BGFX 	  Queue flags: 0x0000000e
../../../src/renderer_vk.cpp (1680): BGFX 	  Queue count: 8
../../../src/renderer_vk.cpp (1681): BGFX 	TS valid bits: 0x00000040
../../../src/renderer_vk.cpp (1682): BGFX 	    Min image: 1 x 1 x 1
../../../src/renderer_vk.cpp (1711): BGFX Enabled device layers:
../../../src/renderer_vk.cpp (1750): BGFX Enabled device extensions:
../../../src/renderer_vk.cpp (1754): BGFX 	VK_KHR_maintenance1
../../../src/renderer_vk.cpp (1754): BGFX 	VK_KHR_swapchain
../../../src/renderer_vk.cpp (1754): BGFX 	VK_EXT_memory_budget
../../../src/renderer_vk.cpp (1754): BGFX 	VK_EXT_conservative_rasterization
../../../src/renderer_vk.cpp (1754): BGFX 	VK_EXT_line_rasterization
../../../src/renderer_vk.cpp (1754): BGFX 	VK_EXT_shader_viewport_index_layer
../../../src/renderer_vk.cpp (1754): BGFX 	VK_EXT_custom_border_color
../../../src/renderer_vk.cpp (1794): BGFX Device functions:
../../../src/renderer_vk.cpp (1799): BGFX 	0xbc7037c0 vkGetDeviceQueue
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f46d0 vkCreateFence
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f4950 vkDestroyFence
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f4830 vkCreateSemaphore
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f4ac0 vkDestroySemaphore
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f5080 vkResetFences
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f4600 vkCreateCommandPool
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f48b0 vkDestroyCommandPool
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f5020 vkResetCommandPool
../../../src/renderer_vk.cpp (1799): BGFX 	0xbc703820 vkAllocateCommandBuffers
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f4bf0 vkFreeCommandBuffers
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f4c50 vkGetBufferMemoryRequirements
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f4d10 vkGetImageMemoryRequirements
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f4d50 vkGetImageSubresourceLayout
../../../src/renderer_vk.cpp (1799): BGFX 	0xbf979100 vkAllocateMemory
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f4c30 vkFreeMemory
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f4740 vkCreateImage
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f4990 vkDestroyImage
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f4760 vkCreateImageView
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f49b0 vkDestroyImageView
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f45c0 vkCreateBuffer
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f4870 vkDestroyBuffer
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f46f0 vkCreateFramebuffer
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f4970 vkDestroyFramebuffer
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f47f0 vkCreateRenderPass
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f4a80 vkDestroyRenderPass
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f4850 vkCreateShaderModule
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f4ae0 vkDestroyShaderModule
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f4790 vkCreatePipelineCache
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f4a20 vkDestroyPipelineCache
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f4e70 vkGetPipelineCacheData
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f4f30 vkMergePipelineCaches
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f4710 vkCreateGraphicsPipelines
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f4620 vkCreateComputePipelines
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f49f0 vkDestroyPipeline
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f47b0 vkCreatePipelineLayout
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f4a40 vkDestroyPipelineLayout
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f4810 vkCreateSampler
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f4aa0 vkDestroySampler
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f4670 vkCreateDescriptorSetLayout
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f48f0 vkDestroyDescriptorSetLayout
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f4650 vkCreateDescriptorPool
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f48d0 vkDestroyDescriptorPool
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f5040 vkResetDescriptorPool
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f3af0 vkAllocateDescriptorSets
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f4c10 vkFreeDescriptorSets
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f50e0 vkUpdateDescriptorSets
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f47d0 vkCreateQueryPool
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f4a60 vkDestroyQueryPool
../../../src/renderer_vk.cpp (1799): BGFX 	0xbf979160 vkQueueSubmit
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f4fc0 vkQueueWaitIdle
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f4b00 vkDeviceWaitIdle
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f5100 vkWaitForFences
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f3b30 vkBeginCommandBuffer
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f4b20 vkEndCommandBuffer
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f41e0 vkCmdPipelineBarrier
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f3bf0 vkCmdBeginRenderPass
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f4120 vkCmdEndRenderPass
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f44e0 vkCmdSetViewport
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f4000 vkCmdDraw
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f4030 vkCmdDrawIndexed
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f40a0 vkCmdDrawIndirect
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f4060 vkCmdDrawIndexedIndirect
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f3f90 vkCmdDispatch
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f3fc0 vkCmdDispatchIndirect
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f3ca0 vkCmdBindPipeline
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f4480 vkCmdSetStencilReference
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f4320 vkCmdSetBlendConstants
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f4420 vkCmdSetScissor
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f3c20 vkCmdBindDescriptorSets
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f3c60 vkCmdBindIndexBuffer
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f3ce0 vkCmdBindVertexBuffers
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f3d90 vkCmdClearColorImage
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f3dd0 vkCmdClearDepthStencilImage
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f3d60 vkCmdClearAttachments
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f42d0 vkCmdResolveImage
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f3e10 vkCmdCopyBuffer
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f3e60 vkCmdCopyBufferToImage
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f3eb0 vkCmdCopyImage
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f3f00 vkCmdCopyImageToBuffer
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f3d10 vkCmdBlitImage
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f4290 vkCmdResetQueryPool
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f4580 vkCmdWriteTimestamp
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f3bb0 vkCmdBeginQuery
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f40e0 vkCmdEndQuery
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f3f50 vkCmdCopyQueryPoolResults
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f4f00 vkMapMemory
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f50c0 vkUnmapMemory
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f4bd0 vkFlushMappedMemoryRanges
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f4ee0 vkInvalidateMappedMemoryRanges
../../../src/renderer_vk.cpp (1799): BGFX 	0xbf9790a0 vkBindBufferMemory
../../../src/renderer_vk.cpp (1799): BGFX 	0xbf979040 vkBindImageMemory
../../../src/renderer_vk.cpp (1799): BGFX 	0xbc7087c0 vkCreateSwapchainKHR
../../../src/renderer_vk.cpp (1799): BGFX 	0xbf979200 vkDestroySwapchainKHR
../../../src/renderer_vk.cpp (1799): BGFX 	0xbe4f7110 vkGetSwapchainImagesKHR
../../../src/renderer_vk.cpp (1799): BGFX 	0xbf978fd0 vkAcquireNextImageKHR
../../../src/renderer_vk.cpp (1799): BGFX 	0xbf9791c0 vkQueuePresentKHR
../../../src/renderer_vk.cpp (1799): BGFX 	0xbc6f4b40 vkSetDebugUtilsObjectNameEXT
../../../src/renderer_vk.cpp (1799): BGFX 	0xbc6f4ec0 vkCmdBeginDebugUtilsLabelEXT
../../../src/renderer_vk.cpp (1799): BGFX 	0xbc6f4f40 vkCmdEndDebugUtilsLabelEXT
../../../src/renderer_vk.cpp (1799): BGFX 	0xbc6f4fc0 vkCmdInsertDebugUtilsLabelEXT
../../../src/renderer_vk.cpp (7267): BGFX findSurfaceFormat: Surface format RGBA8 not found! Defaulting to BGRA8.
../../../src/renderer_vk.cpp (1916): BGFX Create scratch buffer 0
../../../src/renderer_vk.cpp (1916): BGFX Create scratch buffer 1
../../../src/renderer_vk.cpp (1916): BGFX Create scratch buffer 2
../../../src/bgfx.cpp (1564): BGFX 
../../../src/bgfx.cpp (1568): BGFX Detected GPUs (2):
../../../src/bgfx.cpp (1569): BGFX 	 +----------------   Index
../../../src/bgfx.cpp (1570): BGFX 	 |  +-------------   Device ID
../../../src/bgfx.cpp (1571): BGFX 	 |  |    +--------   Vendor ID
../../../src/bgfx.cpp (1577): BGFX 	 0: 1f02 10de
../../../src/bgfx.cpp (1577): BGFX 	 1: 0000 0005
../../../src/bgfx.cpp (1584): BGFX 
../../../src/bgfx.cpp (1590): BGFX Supported renderer backends (3):
../../../src/bgfx.cpp (1593): BGFX 	 - Noop
../../../src/bgfx.cpp (1593): BGFX 	 - OpenGL 2.1
../../../src/bgfx.cpp (1593): BGFX 	 - Vulkan
../../../src/bgfx.cpp (1596): BGFX 
../../../src/bgfx.cpp (1597): BGFX Sort key masks:
../../../src/bgfx.cpp (1598): BGFX 	   View     3fc0000000000000
../../../src/bgfx.cpp (1599): BGFX 	   Draw bit 0020000000000000
../../../src/bgfx.cpp (1601): BGFX 
../../../src/bgfx.cpp (1602): BGFX 	D  Type     0018000000000000
../../../src/bgfx.cpp (1604): BGFX 
../../../src/bgfx.cpp (1605): BGFX 	D0 Blend    0006000000000000
../../../src/bgfx.cpp (1606): BGFX 	D0 Program  0001ff0000000000
../../../src/bgfx.cpp (1607): BGFX 	D0 Depth    000000ffffffff00
../../../src/bgfx.cpp (1609): BGFX 
../../../src/bgfx.cpp (1610): BGFX 	D1 Depth    0007fffffff80000
../../../src/bgfx.cpp (1611): BGFX 	D1 Blend    0000000000060000
../../../src/bgfx.cpp (1612): BGFX 	D1 Program  000000000001ff00
../../../src/bgfx.cpp (1614): BGFX 
../../../src/bgfx.cpp (1615): BGFX 	D2 Seq      0007ffff80000000
../../../src/bgfx.cpp (1616): BGFX 	D2 Blend    0000000060000000
../../../src/bgfx.cpp (1617): BGFX 	D2 Program  000000001ff00000
../../../src/bgfx.cpp (1619): BGFX 
../../../src/bgfx.cpp (1620): BGFX 	 C Seq      001ffffe00000000
../../../src/bgfx.cpp (1621): BGFX 	 C Program  00000001ff000000
../../../src/bgfx.cpp (1623): BGFX 
../../../src/bgfx.cpp (1624): BGFX Capabilities (renderer Vulkan, vendor 0x10de, device 0x1f02):
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_ALPHA_TO_COVERAGE
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_BLEND_INDEPENDENT
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_COMPUTE
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_CONSERVATIVE_RASTER
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_DRAW_INDIRECT
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_FRAGMENT_DEPTH
../../../src/bgfx.cpp (1631): BGFX 	[ ] BGFX_CAPS_FRAGMENT_ORDERING
../../../src/bgfx.cpp (1631): BGFX 	[ ] BGFX_CAPS_GRAPHICS_DEBUGGER
../../../src/bgfx.cpp (1631): BGFX 	[ ] BGFX_CAPS_HDR10
../../../src/bgfx.cpp (1631): BGFX 	[ ] BGFX_CAPS_HIDPI
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_IMAGE_RW
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_INDEX32
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_INSTANCING
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_OCCLUSION_QUERY
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_RENDERER_MULTITHREADED
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_SWAP_CHAIN
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_TEXTURE_2D_ARRAY
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_TEXTURE_3D
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_TEXTURE_BLIT
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_TEXTURE_COMPARE_ALL
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_TEXTURE_COMPARE_LEQUAL
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_TEXTURE_CUBE_ARRAY
../../../src/bgfx.cpp (1631): BGFX 	[ ] BGFX_CAPS_TEXTURE_DIRECT_ACCESS
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_TEXTURE_READ_BACK
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_VERTEX_ATTRIB_HALF
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_VERTEX_ATTRIB_UINT10
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_VERTEX_ID
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_VIEWPORT_LAYER_ARRAY
../../../src/bgfx.cpp (1638): BGFX 
../../../src/bgfx.cpp (1639): BGFX Limits:
../../../src/bgfx.cpp (1641): BGFX 	maxDrawCalls                 65535
../../../src/bgfx.cpp (1642): BGFX 	maxBlits                      1024
../../../src/bgfx.cpp (1643): BGFX 	maxTextureSize               32768
../../../src/bgfx.cpp (1644): BGFX 	maxTextureLayers              2048
../../../src/bgfx.cpp (1645): BGFX 	maxViews                       256
../../../src/bgfx.cpp (1646): BGFX 	maxFrameBuffers                128
../../../src/bgfx.cpp (1647): BGFX 	maxFBAttachments                 8
../../../src/bgfx.cpp (1648): BGFX 	maxPrograms                    512
../../../src/bgfx.cpp (1649): BGFX 	maxShaders                     512
../../../src/bgfx.cpp (1650): BGFX 	maxTextures                   4096
../../../src/bgfx.cpp (1651): BGFX 	maxTextureSamplers              16
../../../src/bgfx.cpp (1652): BGFX 	maxComputeBindings              16
../../../src/bgfx.cpp (1653): BGFX 	maxVertexLayouts                64
../../../src/bgfx.cpp (1654): BGFX 	maxVertexStreams                 4
../../../src/bgfx.cpp (1655): BGFX 	maxIndexBuffers               4096
../../../src/bgfx.cpp (1656): BGFX 	maxVertexBuffers              4096
../../../src/bgfx.cpp (1657): BGFX 	maxDynamicIndexBuffers        4096
../../../src/bgfx.cpp (1658): BGFX 	maxDynamicVertexBuffers       4096
../../../src/bgfx.cpp (1659): BGFX 	maxUniforms                    512
../../../src/bgfx.cpp (1660): BGFX 	maxOcclusionQueries            256
../../../src/bgfx.cpp (1661): BGFX 	maxEncoders                      8
../../../src/bgfx.cpp (1662): BGFX 	minResourceCbSize            65536
../../../src/bgfx.cpp (1663): BGFX 	transientVbSize            6291456
../../../src/bgfx.cpp (1664): BGFX 	transientIbSize            2097152
../../../src/bgfx.cpp (1667): BGFX 
../../../src/bgfx.cpp (1668): BGFX Supported texture formats:
../../../src/bgfx.cpp (1669): BGFX 	 +----------------   2D: x = supported / * = emulated
../../../src/bgfx.cpp (1670): BGFX 	 |+---------------   2D: sRGB format
../../../src/bgfx.cpp (1671): BGFX 	 ||+--------------   3D: x = supported / * = emulated
../../../src/bgfx.cpp (1672): BGFX 	 |||+-------------   3D: sRGB format
../../../src/bgfx.cpp (1673): BGFX 	 ||||+------------ Cube: x = supported / * = emulated
../../../src/bgfx.cpp (1674): BGFX 	 |||||+----------- Cube: sRGB format
../../../src/bgfx.cpp (1675): BGFX 	 ||||||+---------- vertex format
../../../src/bgfx.cpp (1676): BGFX 	 |||||||+--------- image: i = read-write / r = read / w = write
../../../src/bgfx.cpp (1677): BGFX 	 ||||||||+-------- framebuffer
../../../src/bgfx.cpp (1678): BGFX 	 |||||||||+------- MSAA framebuffer
../../../src/bgfx.cpp (1679): BGFX 	 ||||||||||+------ MSAA texture
../../../src/bgfx.cpp (1680): BGFX 	 |||||||||||+----- Auto-generated mips
../../../src/bgfx.cpp (1681): BGFX 	 ||||||||||||  +-- name
../../../src/bgfx.cpp (1688): BGFX 	[xlxlxlv     ] BC1
../../../src/bgfx.cpp (1688): BGFX 	[xlxlxlv     ] BC2
../../../src/bgfx.cpp (1688): BGFX 	[xlxlxlv     ] BC3
../../../src/bgfx.cpp (1688): BGFX 	[x x x v     ] BC4
../../../src/bgfx.cpp (1688): BGFX 	[x x x v     ] BC5
../../../src/bgfx.cpp (1688): BGFX 	[x x x v     ] BC6H
../../../src/bgfx.cpp (1688): BGFX 	[xlxlxlv     ] BC7
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] ETC1
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] ETC2
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] ETC2A
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] ETC2A1
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] PTC12
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] PTC14
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] PTC12A
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] PTC14A
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] PTC22
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] PTC24
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] ATC
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] ATCE
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] ATCI
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] ASTC4x4
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] ASTC5x5
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] ASTC6x6
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] ASTC8x5
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] ASTC8x6
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] ASTC10x5
../../../src/bgfx.cpp (1688): BGFX 	[            ] R1
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] A8
../../../src/bgfx.cpp (1688): BGFX 	[xlxlxlvif+mM] R8
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] R8I
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] R8U
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] R8S
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] R16
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] R16I
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] R16U
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] R16F
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] R16S
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] R32I
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] R32U
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] R32F
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RG8
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RG8I
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RG8U
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RG8S
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RG16
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RG16I
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RG16U
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RG16F
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RG16S
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RG32I
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RG32U
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RG32F
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] RGB8
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] RGB8I
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] RGB8U
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] RGB8S
../../../src/bgfx.cpp (1688): BGFX 	[x x x v     ] RGB9E5
../../../src/bgfx.cpp (1688): BGFX 	[xlxlxlvif+mM] BGRA8
../../../src/bgfx.cpp (1688): BGFX 	[xlxlxlvif+mM] RGBA8
../../../src/bgfx.cpp (1688): BGFX 	[xlxlxlvif+mM] RGBA8I
../../../src/bgfx.cpp (1688): BGFX 	[xlxlxlvif+mM] RGBA8U
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RGBA8S
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RGBA16
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RGBA16I
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RGBA16U
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RGBA16F
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RGBA16S
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RGBA32I
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RGBA32U
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RGBA32F
../../../src/bgfx.cpp (1688): BGFX 	[x x x v     ] R5G6B5
../../../src/bgfx.cpp (1688): BGFX 	[x x x v     ] RGBA4
../../../src/bgfx.cpp (1688): BGFX 	[x x x v f+mM] RGB5A1
../../../src/bgfx.cpp (1688): BGFX 	[x x x v f+mM] RGB10A2
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RG11B10F
../../../src/bgfx.cpp (1688): BGFX 	[x x x v f+mM] D16
../../../src/bgfx.cpp (1688): BGFX 	[x x x v f+mM] D24
../../../src/bgfx.cpp (1688): BGFX 	[x x x v f+mM] D24S8
../../../src/bgfx.cpp (1688): BGFX 	[x x x v f+mM] D32
../../../src/bgfx.cpp (1688): BGFX 	[x x x v f+mM] D16F
../../../src/bgfx.cpp (1688): BGFX 	[x x x v f+mM] D24F
../../../src/bgfx.cpp (1688): BGFX 	[x x x v f+mM] D32F
../../../src/bgfx.cpp (1688): BGFX 	[x x x v f+mM] D0S8
../../../src/bgfx.cpp (1708): BGFX 
../../../src/bgfx.cpp (1709): BGFX NDC depth [0, 1], origin top left.
../../../src/bgfx.cpp (1714): BGFX 
../../../src/bgfx_p.h (4749): BGFX Creating uniform (handle   0) s_texColor
../../../src/bgfx_p.h (4749): BGFX Creating uniform (handle   1) bgfx_clear_depth
../../../src/bgfx_p.h (4749): BGFX Creating uniform (handle   2) bgfx_clear_color
../../../src/renderer_vk.cpp (5868): BGFX Texture   0: R8 (requested: R8), 2048x24x1 RT[ ], BO[ ], CW[ ].
../../../src/renderer_vk.cpp (4736): BGFX Vertex Shader consts 1
../../../src/renderer_vk.cpp (4907): BGFX 	predefined: u_modelViewProj (mat4), r.index   0, r.count  4, r.texComponent 0, r.texDimension 0
../../../src/renderer_vk.cpp (4736): BGFX Fragment Shader consts 1
../../../src/renderer_vk.cpp (4907): BGFX 	sampler: s_texColor (sampler1), r.index   2, r.count  0, r.texComponent 0, r.texDimension 2
../../../src/bgfx.cpp (527): BGFX VertexLayout 74c34f26 (d443ed7f), stride 28
../../../src/bgfx.cpp (543): BGFX 	attr  0: Attrib::Position     num 3, type 4, norm [ ], asint [ ], offset  0
../../../src/bgfx.cpp (543): BGFX 	attr  4: Attrib::Color0       num 4, type 0, norm [x], asint [ ], offset 12
../../../src/bgfx.cpp (543): BGFX 	attr  5: Attrib::Color1       num 4, type 0, norm [x], asint [ ], offset 16
../../../src/bgfx.cpp (543): BGFX 	attr 10: Attrib::TexCoord0    num 2, type 4, norm [ ], asint [ ], offset 20
../../../src/renderer_vk.cpp (4736): BGFX Vertex Shader consts 1
../../../src/renderer_vk.cpp (4907): BGFX 	user: bgfx_clear_depth (vec4), r.index   0, r.count  1, r.texComponent 0, r.texDimension 0
../../../src/renderer_vk.cpp (4736): BGFX Fragment Shader consts 1
../../../src/renderer_vk.cpp (4907): BGFX 	user: bgfx_clear_color (vec4), r.index   0, r.count  1, r.texComponent 0, r.texDimension 0
../../../src/renderer_vk.cpp (4736): BGFX Fragment Shader consts 1
../../../src/renderer_vk.cpp (4907): BGFX 	user: bgfx_clear_color (vec4), r.index   0, r.count  2, r.texComponent 0, r.texDimension 0
../../../src/renderer_vk.cpp (4736): BGFX Fragment Shader consts 1
../../../src/renderer_vk.cpp (4907): BGFX 	user: bgfx_clear_color (vec4), r.index   0, r.count  3, r.texComponent 0, r.texDimension 0
../../../src/renderer_vk.cpp (4736): BGFX Fragment Shader consts 1
../../../src/renderer_vk.cpp (4907): BGFX 	user: bgfx_clear_color (vec4), r.index   0, r.count  4, r.texComponent 0, r.texDimension 0
../../../src/renderer_vk.cpp (4736): BGFX Fragment Shader consts 1
../../../src/renderer_vk.cpp (4907): BGFX 	user: bgfx_clear_color (vec4), r.index   0, r.count  5, r.texComponent 0, r.texDimension 0
../../../src/renderer_vk.cpp (4736): BGFX Fragment Shader consts 1
../../../src/renderer_vk.cpp (4907): BGFX 	user: bgfx_clear_color (vec4), r.index   0, r.count  6, r.texComponent 0, r.texDimension 0
../../../src/renderer_vk.cpp (4736): BGFX Fragment Shader consts 1
../../../src/renderer_vk.cpp (4907): BGFX 	user: bgfx_clear_color (vec4), r.index   0, r.count  7, r.texComponent 0, r.texDimension 0
../../../src/renderer_vk.cpp (4736): BGFX Fragment Shader consts 1
../../../src/renderer_vk.cpp (4907): BGFX 	user: bgfx_clear_color (vec4), r.index   0, r.count  8, r.texComponent 0, r.texDimension 0
../../../src/bgfx.cpp (527): BGFX VertexLayout aaaa40da (e0896034), stride 8
../../../src/bgfx.cpp (543): BGFX 	attr  0: Attrib::Position     num 2, type 4, norm [ ], asint [ ], offset  0
../../../src/bgfx.cpp (3537): BGFX Init complete.
../../../src/bgfx_p.h (4749): BGFX Creating uniform (handle   3) s_tex
../../../src/bgfx_p.h (4749): BGFX Creating uniform (handle   4) u_imageLodEnabled
../../../src/bgfx.cpp (1723): BGFX Reset back-buffer swap chain:
../../../src/renderer_vk.cpp (4736): BGFX Fragment Shader consts 1
../../../src/bgfx.cpp (1724): BGFX 	1280x720, format: RGBA8, numBackBuffers: 2, maxFrameLatency: 0
../../../src/bgfx.cpp (1733): BGFX 	[ ] MSAAx1
../../../src/bgfx.cpp (1734): BGFX 	[ ] Fullscreen
../../../src/renderer_vk.cpp (4907): BGFX 	sampler: s_tex (sampler1), r.index   2, r.count  0, r.texComponent 0, r.texDimension 2
../../../src/bgfx.cpp (1735): BGFX 	[x] V-sync
../../../src/renderer_vk.cpp (4736): BGFX Vertex Shader consts 1
../../../src/bgfx.cpp (1736): BGFX 	[ ] Max Anisotropy
../../../src/renderer_vk.cpp (4907): BGFX 	predefined: u_viewProj (mat4), r.index   0, r.count  4, r.texComponent 0, r.texDimension 0
../../../src/bgfx.cpp (1737): BGFX 	[ ] Capture
../../../src/bgfx.cpp (1738): BGFX 	[ ] Flush After Render
../../../src/bgfx.cpp (1739): BGFX 	[ ] Flip After Render
../../../src/bgfx.cpp (1740): BGFX 	[ ] sRGB Back Buffer
../../../src/renderer_vk.cpp (4736): BGFX Fragment Shader consts 2
../../../src/bgfx.cpp (1741): BGFX 	[ ] HDR10
../../../src/bgfx.cpp (1742): BGFX 	[ ] Hi-DPI
../../../src/bgfx.cpp (1743): BGFX 	[ ] Depth Clamp
../../../src/renderer_vk.cpp (4907): BGFX 	user: u_imageLodEnabled (vec4), r.index   0, r.count  1, r.texComponent 0, r.texDimension 0
../../../src/bgfx.cpp (1744): BGFX 	[ ] Suspend
../../../src/renderer_vk.cpp (4907): BGFX 	sampler: s_texColor (sampler1), r.index   2, r.count  0, r.texComponent 0, r.texDimension 2
../../../src/renderer_vk.cpp (4736): BGFX Vertex Shader consts 1
../../../src/renderer_vk.cpp (4907): BGFX 	predefined: u_viewProj (mat4), r.index   0, r.count  4, r.texComponent 0, r.texDimension 0
../../../src/renderer_vk.cpp (5868): BGFX Texture   1: BGRA8 (requested: BGRA8), 1024x1024x1 RT[ ], BO[ ], CW[ ].
../../../src/bgfx.cpp (527): BGFX VertexLayout 93597fa9 (21d0cb5a), stride 20
../../../src/bgfx.cpp (543): BGFX 	attr  0: Attrib::Position     num 2, type 4, norm [ ], asint [ ], offset  0
../../../src/bgfx.cpp (543): BGFX 	attr  4: Attrib::Color0       num 4, type 0, norm [x], asint [ ], offset 16
../../../src/bgfx.cpp (543): BGFX 	attr 10: Attrib::TexCoord0    num 2, type 4, norm [ ], asint [ ], offset  8
../../../src/bgfx.cpp (1723): BGFX Reset back-buffer swap chain:
../../../src/bgfx.cpp (1724): BGFX 	1920x1200, format: RGBA8, numBackBuffers: 2, maxFrameLatency: 0
../../../src/bgfx.cpp (1733): BGFX 	[ ] MSAAx1
../../../src/bgfx.cpp (1734): BGFX 	[ ] Fullscreen
../../../src/bgfx.cpp (1735): BGFX 	[x] V-sync
../../../src/bgfx.cpp (1736): BGFX 	[ ] Max Anisotropy
../../../src/bgfx.cpp (1737): BGFX 	[ ] Capture
../../../src/bgfx.cpp (1738): BGFX 	[ ] Flush After Render
../../../src/bgfx.cpp (1739): BGFX 	[ ] Flip After Render
../../../src/bgfx.cpp (1740): BGFX 	[ ] sRGB Back Buffer
../../../src/bgfx.cpp (1741): BGFX 	[ ] HDR10
../../../src/bgfx.cpp (1742): BGFX 	[ ] Hi-DPI
../../../src/bgfx.cpp (1743): BGFX 	[ ] Depth Clamp
../../../src/bgfx.cpp (1744): BGFX 	[ ] Suspend
../../../src/bgfx.cpp (3575): BGFX Shutdown...
../../../src/bgfx.cpp (3584): BGFX Shutdown complete.

@pezcode
Copy link
Contributor

pezcode commented Aug 23, 2021

I currently don't have access to a Linux machine, and I can't reproduce this on Windows. So I'll have to rely on you for some detective work if you don't mind 👀

  • Since you mentioned --with-sdl, is this specific to SDL? Does it work normally with, say, glfw?
  • Does it also update again after toggling MSAA (should be bound to F8)?
  • Does anything change if you set a different backbuffer count in init.resolution.numBackBuffers?
  • In the linked issue you mention this works on Wayland. Can you post the log output of running on Wayland?
  • If it's not too much effort, can you install the Vulkan validation layers and see if it asserts or outputs anything in the log when switching to fullscreen? Should be package vulkan-validationlayers or something similar, depending on your distro

Thanks!

@belegdol
Copy link
Contributor Author

I do not mind detective work at all :)

  • the issue seems to also be present with glfw. Pure x11/no switches added does not switch to full screen at all
  • toggling MSAA with F8 does not unfreeze the graphics
  • changing the init.resolution.numBackBuffers to 3 or 4 in bgfx.cpp line 3414 makes no difference
  • with wayland (well, to be precise with XWayland as I am not building with --with-wayland due to examples crash with SDL/wayland when using default (vulkan) renderer #2416) the output looks like:
$ ./../../.build/linux64_gcc/bin/examplesDebug --vulkan
../../../src/bgfx.cpp (3523): BGFX Init...
../../../src/bgfx.cpp (3530): BGFX Version 1.115.7816 (commit: e642efb03af78e04bec8e81118fe3dec88e0176e)
../../../src/bgfx.cpp (1723): BGFX Reset back-buffer swap chain:
../../../src/bgfx.cpp (1724): BGFX 	1280x720, format: RGBA8, numBackBuffers: 2, maxFrameLatency: 0
../../../src/bgfx.cpp (1733): BGFX 	[ ] MSAAx1
../../../src/bgfx.cpp (1734): BGFX 	[ ] Fullscreen
../../../src/bgfx.cpp (1735): BGFX 	[x] V-sync
../../../src/bgfx.cpp (1736): BGFX 	[ ] Max Anisotropy
../../../src/bgfx.cpp (1737): BGFX 	[ ] Capture
../../../src/bgfx.cpp (1738): BGFX 	[ ] Flush After Render
../../../src/bgfx.cpp (1739): BGFX 	[ ] Flip After Render
../../../src/bgfx.cpp (1740): BGFX 	[ ] sRGB Back Buffer
../../../src/bgfx.cpp (1741): BGFX 	[ ] HDR10
../../../src/bgfx.cpp (1742): BGFX 	[ ] Hi-DPI
../../../src/bgfx.cpp (1743): BGFX 	[ ] Depth Clamp
../../../src/bgfx.cpp (1744): BGFX 	[ ] Suspend
../../../src/bgfx.cpp (1910): BGFX Application called bgfx::renderFrame directly, not creating render thread.
../../../src/bgfx.cpp (1926): BGFX Running in multi-threaded mode
../../../src/bgfx.cpp (413): BGFX Graphics debugger is not present.
../../../src/renderer_vk.cpp (1137): BGFX Shared library functions:
../../../src/renderer_vk.cpp (1144): BGFX 	0x34be58c0 vkCreateInstance
../../../src/renderer_vk.cpp (1144): BGFX 	0x34bd73f0 vkGetInstanceProcAddr
../../../src/renderer_vk.cpp (1144): BGFX 	0x34be08f0 vkGetDeviceProcAddr
../../../src/renderer_vk.cpp (1144): BGFX 	0x34be5070 vkEnumerateInstanceExtensionProperties
../../../src/renderer_vk.cpp (1144): BGFX 	0x34be5340 vkEnumerateInstanceLayerProperties
../../../src/renderer_vk.cpp (1144): BGFX 	0x34be5600 vkEnumerateInstanceVersion
../../../src/renderer_vk.cpp (678): BGFX Global extensions (18):
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_device_group_creation
../../../src/renderer_vk.cpp (691): BGFX 	v23  VK_KHR_display
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_external_fence_capabilities
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_external_memory_capabilities
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_external_semaphore_capabilities
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_get_display_properties2
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_KHR_get_physical_device_properties2 (supported)
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_get_surface_capabilities2
../../../src/renderer_vk.cpp (691): BGFX 	v25  VK_KHR_surface
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_surface_protected_capabilities
../../../src/renderer_vk.cpp (691): BGFX 	v6   VK_KHR_wayland_surface
../../../src/renderer_vk.cpp (691): BGFX 	v6   VK_KHR_xcb_surface
../../../src/renderer_vk.cpp (691): BGFX 	v6   VK_KHR_xlib_surface
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_acquire_xlib_display
../../../src/renderer_vk.cpp (691): BGFX 	v9   VK_EXT_debug_report (supported)
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_direct_mode_display
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_display_surface_counter
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_EXT_debug_utils (supported)
../../../src/renderer_vk.cpp (717): BGFX Layer extensions (6):
../../../src/renderer_vk.cpp (729): BGFX 	VK_LAYER_NV_optimus (s: 0x004020af, i: 0x00000001), NVIDIA Optimus layer
../../../src/renderer_vk.cpp (729): BGFX 	VK_LAYER_MESA_device_select (s: 0x00402049, i: 0x00000001), Linux device selection layer
../../../src/renderer_vk.cpp (729): BGFX 	VK_LAYER_VALVE_steam_overlay_64 (s: 0x00402088, i: 0x00000001), Steam Overlay Layer
../../../src/renderer_vk.cpp (729): BGFX 	VK_LAYER_VALVE_steam_overlay_32 (s: 0x00402088, i: 0x00000001), Steam Overlay Layer
../../../src/renderer_vk.cpp (729): BGFX 	VK_LAYER_VALVE_steam_fossilize_32 (s: 0x00402088, i: 0x00000001), Steam Pipeline Caching Layer
../../../src/renderer_vk.cpp (729): BGFX 	VK_LAYER_VALVE_steam_fossilize_64 (s: 0x00402088, i: 0x00000001), Steam Pipeline Caching Layer
../../../src/renderer_vk.cpp (1178): BGFX Enabled instance layers:
../../../src/renderer_vk.cpp (1219): BGFX Enabled instance extensions:
../../../src/renderer_vk.cpp (1223): BGFX 	VK_KHR_surface
../../../src/renderer_vk.cpp (1223): BGFX 	VK_KHR_xcb_surface
../../../src/renderer_vk.cpp (1223): BGFX 	VK_EXT_debug_utils
../../../src/renderer_vk.cpp (1223): BGFX 	VK_EXT_debug_report
../../../src/renderer_vk.cpp (1223): BGFX 	VK_KHR_get_physical_device_properties2
../../../src/renderer_vk.cpp (1286): BGFX Instance API Version Selected: 1.2.162
../../../src/renderer_vk.cpp (1295): BGFX Instance functions:
../../../src/renderer_vk.cpp (1301): BGFX 	0x34be4270 vkDestroyInstance
../../../src/renderer_vk.cpp (1301): BGFX 	0x34be71b0 vkEnumeratePhysicalDevices
../../../src/renderer_vk.cpp (1301): BGFX 	0x34be3e60 vkEnumerateDeviceExtensionProperties
../../../src/renderer_vk.cpp (1301): BGFX 	0x34be3ec0 vkEnumerateDeviceLayerProperties
../../../src/renderer_vk.cpp (1301): BGFX 	0x34bdf8d0 vkGetPhysicalDeviceProperties
../../../src/renderer_vk.cpp (1301): BGFX 	0x34bdf890 vkGetPhysicalDeviceFormatProperties
../../../src/renderer_vk.cpp (1301): BGFX 	0x34bdf870 vkGetPhysicalDeviceFeatures
../../../src/renderer_vk.cpp (1301): BGFX 	0x34bdf8b0 vkGetPhysicalDeviceImageFormatProperties
../../../src/renderer_vk.cpp (1301): BGFX 	0x34bdf910 vkGetPhysicalDeviceMemoryProperties
../../../src/renderer_vk.cpp (1301): BGFX 	0x34bdf8f0 vkGetPhysicalDeviceQueueFamilyProperties
../../../src/renderer_vk.cpp (1301): BGFX 	0x34be4700 vkCreateDevice
../../../src/renderer_vk.cpp (1301): BGFX 	0x34be4760 vkDestroyDevice
../../../src/renderer_vk.cpp (1301): BGFX 	0x34be0510 vkGetPhysicalDeviceSurfaceCapabilitiesKHR
../../../src/renderer_vk.cpp (1301): BGFX 	0x34be0530 vkGetPhysicalDeviceSurfaceFormatsKHR
../../../src/renderer_vk.cpp (1301): BGFX 	0x34be0550 vkGetPhysicalDeviceSurfacePresentModesKHR
../../../src/renderer_vk.cpp (1301): BGFX 	0x34be04f0 vkGetPhysicalDeviceSurfaceSupportKHR
../../../src/renderer_vk.cpp (1301): BGFX 	0x34be04e0 vkDestroySurfaceKHR
../../../src/renderer_vk.cpp (1301): BGFX 	0x34be00a0 vkGetPhysicalDeviceFeatures2KHR
../../../src/renderer_vk.cpp (1301): BGFX 	0x34be01e0 vkGetPhysicalDeviceMemoryProperties2KHR
../../../src/renderer_vk.cpp (1301): BGFX 	0x34be4140 vkCreateDebugReportCallbackEXT
../../../src/renderer_vk.cpp (1301): BGFX 	0x34be41e0 vkDestroyDebugReportCallbackEXT
../../../src/renderer_vk.cpp (1301): BGFX 	0x0 vkCreateXlibSurfaceKHR
../../../src/renderer_vk.cpp (1301): BGFX 	0x0 vkGetPhysicalDeviceXlibPresentationSupportKHR
../../../src/renderer_vk.cpp (1301): BGFX 	0x34be05f0 vkCreateXcbSurfaceKHR
../../../src/renderer_vk.cpp (1301): BGFX 	0x34be0600 vkGetPhysicalDeviceXcbPresentationSupportKHR
../../../src/renderer_vk.cpp (1332): BGFX ---
../../../src/renderer_vk.cpp (1368): BGFX Physical device 0:
../../../src/renderer_vk.cpp (1369): BGFX 	          Name: NVIDIA GeForce RTX 2070
../../../src/renderer_vk.cpp (1370): BGFX 	   API version: 1.2.175
../../../src/renderer_vk.cpp (1374): BGFX 	Driver version: 758fc040
../../../src/renderer_vk.cpp (1375): BGFX 	      VendorId: 10de
../../../src/renderer_vk.cpp (1376): BGFX 	      DeviceId: 1f02
../../../src/renderer_vk.cpp (1377): BGFX 	          Type: 2
../../../src/renderer_vk.cpp (1400): BGFX 	Memory type count: 11
../../../src/renderer_vk.cpp (1403): BGFX 	  0: flags 0x00000000, index 1
../../../src/renderer_vk.cpp (1403): BGFX 	  1: flags 0x00000000, index 1
../../../src/renderer_vk.cpp (1403): BGFX 	  2: flags 0x00000000, index 1
../../../src/renderer_vk.cpp (1403): BGFX 	  3: flags 0x00000000, index 1
../../../src/renderer_vk.cpp (1403): BGFX 	  4: flags 0x00000000, index 1
../../../src/renderer_vk.cpp (1403): BGFX 	  5: flags 0x00000000, index 1
../../../src/renderer_vk.cpp (1403): BGFX 	  6: flags 0x00000000, index 1
../../../src/renderer_vk.cpp (1403): BGFX 	  7: flags 0x00000001, index 0
../../../src/renderer_vk.cpp (1403): BGFX 	  8: flags 0x00000006, index 1
../../../src/renderer_vk.cpp (1403): BGFX 	  9: flags 0x0000000e, index 1
../../../src/renderer_vk.cpp (1403): BGFX 	 10: flags 0x00000007, index 2
../../../src/renderer_vk.cpp (1410): BGFX 	Memory heap count: 3
../../../src/renderer_vk.cpp (1415): BGFX 	  0: flags 0x00000001, size   8.00 GiB
../../../src/renderer_vk.cpp (1415): BGFX 	  1: flags 0x00000000, size  23.45 GiB
../../../src/renderer_vk.cpp (1415): BGFX 	  2: flags 0x00000001, size 246.00 MiB
../../../src/renderer_vk.cpp (678): BGFX Global extensions (139):
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_16bit_storage
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_8bit_storage
../../../src/renderer_vk.cpp (691): BGFX 	v11  VK_KHR_acceleration_structure
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_bind_memory2
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_buffer_device_address
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_copy_commands2
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_create_renderpass2
../../../src/renderer_vk.cpp (691): BGFX 	v3   VK_KHR_dedicated_allocation
../../../src/renderer_vk.cpp (691): BGFX 	v4   VK_KHR_deferred_host_operations
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_depth_stencil_resolve
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_descriptor_update_template
../../../src/renderer_vk.cpp (691): BGFX 	v4   VK_KHR_device_group
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_draw_indirect_count
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_driver_properties
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_external_fence
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_external_fence_fd
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_external_memory
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_external_memory_fd
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_external_semaphore
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_external_semaphore_fd
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_fragment_shading_rate
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_get_memory_requirements2
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_image_format_list
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_imageless_framebuffer
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_KHR_maintenance1
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_maintenance2
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_maintenance3
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_multiview
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_pipeline_executable_properties
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_pipeline_library
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_KHR_push_descriptor
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_ray_query
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_ray_tracing_pipeline
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_relaxed_block_layout
../../../src/renderer_vk.cpp (691): BGFX 	v3   VK_KHR_sampler_mirror_clamp_to_edge
../../../src/renderer_vk.cpp (691): BGFX 	v14  VK_KHR_sampler_ycbcr_conversion
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_separate_depth_stencil_layouts
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_shader_atomic_int64
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_shader_clock
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_shader_draw_parameters
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_shader_float16_int8
../../../src/renderer_vk.cpp (691): BGFX 	v4   VK_KHR_shader_float_controls
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_shader_non_semantic_info
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_shader_subgroup_extended_types
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_shader_terminate_invocation
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_spirv_1_4
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_storage_buffer_storage_class
../../../src/renderer_vk.cpp (691): BGFX 	v70  VK_KHR_swapchain
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_swapchain_mutable_format
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_synchronization2
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_KHR_timeline_semaphore
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_uniform_buffer_standard_layout
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_variable_pointers
../../../src/renderer_vk.cpp (691): BGFX 	v3   VK_KHR_vulkan_memory_model
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_workgroup_memory_explicit_layout
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_zero_initialize_workgroup_memory
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_4444_formats
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_EXT_blend_operation_advanced
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_EXT_buffer_device_address
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_calibrated_timestamps
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_color_write_enable
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_EXT_conditional_rendering
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_conservative_rasterization (supported)
../../../src/renderer_vk.cpp (691): BGFX 	v12  VK_EXT_custom_border_color (supported)
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_depth_clip_enable
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_depth_range_unrestricted
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_EXT_descriptor_indexing
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_discard_rectangles
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_display_control
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_extended_dynamic_state
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_extended_dynamic_state2
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_external_memory_host
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_fragment_shader_interlock
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_EXT_global_priority
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_global_priority_query
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_host_query_reset
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_image_robustness
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_index_type_uint8
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_inline_uniform_block
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_line_rasterization (supported)
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_memory_budget (supported)
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_EXT_pci_bus_info
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_physical_device_drm
../../../src/renderer_vk.cpp (691): BGFX 	v3   VK_EXT_pipeline_creation_cache_control
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_pipeline_creation_feedback
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_post_depth_coverage
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_private_data
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_provoking_vertex
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_queue_family_foreign
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_robustness2
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_sample_locations
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_EXT_sampler_filter_minmax
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_scalar_block_layout
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_separate_stencil_usage
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_shader_atomic_float
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_shader_demote_to_helper_invocation
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_shader_image_atomic_int64
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_shader_subgroup_ballot
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_shader_subgroup_vote
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_shader_viewport_index_layer (supported)
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_EXT_subgroup_size_control
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_texel_buffer_alignment
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_tooling_info
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_transform_feedback
../../../src/renderer_vk.cpp (691): BGFX 	v3   VK_EXT_vertex_attribute_divisor
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_EXT_vertex_input_dynamic_state
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_ycbcr_image_arrays
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_clip_space_w_scaling
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_compute_shader_derivatives
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_cooperative_matrix
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_NV_corner_sampled_image
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_coverage_reduction_mode
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_NV_cuda_kernel_launch
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_dedicated_allocation
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_dedicated_allocation_image_aliasing
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_NV_device_diagnostic_checkpoints
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_device_diagnostics_config
../../../src/renderer_vk.cpp (691): BGFX 	v3   VK_NV_device_generated_commands
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_fill_rectangle
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_fragment_coverage_to_color
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_fragment_shader_barycentric
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_fragment_shading_rate_enums
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_framebuffer_mixed_samples
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_geometry_shader_passthrough
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_inherited_viewport_scissor
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_mesh_shader
../../../src/renderer_vk.cpp (691): BGFX 	v3   VK_NV_ray_tracing
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_NV_representative_fragment_test
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_sample_mask_override_coverage
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_scissor_exclusive
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_NV_shader_image_footprint
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_shader_sm_builtins
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_shader_subgroup_partitioned
../../../src/renderer_vk.cpp (691): BGFX 	v3   VK_NV_shading_rate_image
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_viewport_array2
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_viewport_swizzle
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NVX_binary_import
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_NVX_image_view_handle
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NVX_multiview_per_view_attributes
../../../src/renderer_vk.cpp (717): BGFX 	Layer extensions (1):
../../../src/renderer_vk.cpp (729): BGFX 		VK_LAYER_MESA_device_select (s: 0x00402049, i: 0x00000001), Linux device selection layer
../../../src/renderer_vk.cpp (1368): BGFX Physical device 1:
../../../src/renderer_vk.cpp (1369): BGFX 	          Name: llvmpipe (LLVM 12.0.1, 256 bits)
../../../src/renderer_vk.cpp (1370): BGFX 	   API version: 1.1.168
../../../src/renderer_vk.cpp (1374): BGFX 	Driver version: 1
../../../src/renderer_vk.cpp (1375): BGFX 	      VendorId: 10005
../../../src/renderer_vk.cpp (1376): BGFX 	      DeviceId: 0
../../../src/renderer_vk.cpp (1377): BGFX 	          Type: 4
../../../src/renderer_vk.cpp (1400): BGFX 	Memory type count: 1
../../../src/renderer_vk.cpp (1403): BGFX 	  0: flags 0x0000000f, index 0
../../../src/renderer_vk.cpp (1410): BGFX 	Memory heap count: 1
../../../src/renderer_vk.cpp (1415): BGFX 	  0: flags 0x00000001, size   2.00 GiB
../../../src/renderer_vk.cpp (678): BGFX Global extensions (46):
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_8bit_storage
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_16bit_storage
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_bind_memory2
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_buffer_device_address
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_copy_commands2
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_create_renderpass2
../../../src/renderer_vk.cpp (691): BGFX 	v3   VK_KHR_dedicated_allocation
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_descriptor_update_template
../../../src/renderer_vk.cpp (691): BGFX 	v4   VK_KHR_device_group
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_draw_indirect_count
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_driver_properties
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_external_fence
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_external_memory
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_external_semaphore
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_get_memory_requirements2
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_image_format_list
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_imageless_framebuffer
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_incremental_present
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_KHR_maintenance1
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_maintenance2
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_maintenance3
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_multiview
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_KHR_push_descriptor
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_relaxed_block_layout
../../../src/renderer_vk.cpp (691): BGFX 	v3   VK_KHR_sampler_mirror_clamp_to_edge
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_shader_atomic_int64
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_shader_draw_parameters
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_storage_buffer_storage_class
../../../src/renderer_vk.cpp (691): BGFX 	v70  VK_KHR_swapchain
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_uniform_buffer_standard_layout
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_variable_pointers
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_calibrated_timestamps
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_EXT_conditional_rendering
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_extended_dynamic_state
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_host_query_reset
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_index_type_uint8
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_post_depth_coverage
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_private_data
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_EXT_sampler_filter_minmax
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_scalar_block_layout
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_shader_stencil_export
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_shader_viewport_index_layer (supported)
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_transform_feedback
../../../src/renderer_vk.cpp (691): BGFX 	v3   VK_EXT_vertex_attribute_divisor
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_GOOGLE_decorate_string
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_GOOGLE_hlsl_functionality1
../../../src/renderer_vk.cpp (717): BGFX 	Layer extensions (1):
../../../src/renderer_vk.cpp (729): BGFX 		VK_LAYER_MESA_device_select (s: 0x00402049, i: 0x00000001), Linux device selection layer
../../../src/renderer_vk.cpp (1442): BGFX Using physical device 0: NVIDIA GeForce RTX 2070
../../../src/renderer_vk.cpp (1658): BGFX ---
../../../src/renderer_vk.cpp (1678): BGFX Queue family property 0:
../../../src/renderer_vk.cpp (1679): BGFX 	  Queue flags: 0x0000000f
../../../src/renderer_vk.cpp (1680): BGFX 	  Queue count: 16
../../../src/renderer_vk.cpp (1681): BGFX 	TS valid bits: 0x00000040
../../../src/renderer_vk.cpp (1682): BGFX 	    Min image: 1 x 1 x 1
../../../src/renderer_vk.cpp (1678): BGFX Queue family property 1:
../../../src/renderer_vk.cpp (1679): BGFX 	  Queue flags: 0x0000000c
../../../src/renderer_vk.cpp (1680): BGFX 	  Queue count: 2
../../../src/renderer_vk.cpp (1681): BGFX 	TS valid bits: 0x00000040
../../../src/renderer_vk.cpp (1682): BGFX 	    Min image: 1 x 1 x 1
../../../src/renderer_vk.cpp (1678): BGFX Queue family property 2:
../../../src/renderer_vk.cpp (1679): BGFX 	  Queue flags: 0x0000000e
../../../src/renderer_vk.cpp (1680): BGFX 	  Queue count: 8
../../../src/renderer_vk.cpp (1681): BGFX 	TS valid bits: 0x00000040
../../../src/renderer_vk.cpp (1682): BGFX 	    Min image: 1 x 1 x 1
../../../src/renderer_vk.cpp (1711): BGFX Enabled device layers:
../../../src/renderer_vk.cpp (1750): BGFX Enabled device extensions:
../../../src/renderer_vk.cpp (1754): BGFX 	VK_KHR_maintenance1
../../../src/renderer_vk.cpp (1754): BGFX 	VK_KHR_swapchain
../../../src/renderer_vk.cpp (1754): BGFX 	VK_EXT_memory_budget
../../../src/renderer_vk.cpp (1754): BGFX 	VK_EXT_conservative_rasterization
../../../src/renderer_vk.cpp (1754): BGFX 	VK_EXT_line_rasterization
../../../src/renderer_vk.cpp (1754): BGFX 	VK_EXT_shader_viewport_index_layer
../../../src/renderer_vk.cpp (1754): BGFX 	VK_EXT_custom_border_color
../../../src/renderer_vk.cpp (1794): BGFX Device functions:
../../../src/renderer_vk.cpp (1799): BGFX 	0x34bdf7c0 vkGetDeviceQueue
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b816d0 vkCreateFence
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b81950 vkDestroyFence
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b81830 vkCreateSemaphore
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b81ac0 vkDestroySemaphore
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b82080 vkResetFences
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b81600 vkCreateCommandPool
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b818b0 vkDestroyCommandPool
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b82020 vkResetCommandPool
../../../src/renderer_vk.cpp (1799): BGFX 	0x34bdf820 vkAllocateCommandBuffers
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b81bf0 vkFreeCommandBuffers
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b81c50 vkGetBufferMemoryRequirements
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b81d10 vkGetImageMemoryRequirements
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b81d50 vkGetImageSubresourceLayout
../../../src/renderer_vk.cpp (1799): BGFX 	0x3b006100 vkAllocateMemory
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b81c30 vkFreeMemory
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b81740 vkCreateImage
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b81990 vkDestroyImage
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b81760 vkCreateImageView
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b819b0 vkDestroyImageView
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b815c0 vkCreateBuffer
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b81870 vkDestroyBuffer
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b816f0 vkCreateFramebuffer
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b81970 vkDestroyFramebuffer
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b817f0 vkCreateRenderPass
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b81a80 vkDestroyRenderPass
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b81850 vkCreateShaderModule
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b81ae0 vkDestroyShaderModule
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b81790 vkCreatePipelineCache
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b81a20 vkDestroyPipelineCache
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b81e70 vkGetPipelineCacheData
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b81f30 vkMergePipelineCaches
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b81710 vkCreateGraphicsPipelines
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b81620 vkCreateComputePipelines
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b819f0 vkDestroyPipeline
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b817b0 vkCreatePipelineLayout
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b81a40 vkDestroyPipelineLayout
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b81810 vkCreateSampler
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b81aa0 vkDestroySampler
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b81670 vkCreateDescriptorSetLayout
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b818f0 vkDestroyDescriptorSetLayout
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b81650 vkCreateDescriptorPool
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b818d0 vkDestroyDescriptorPool
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b82040 vkResetDescriptorPool
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b80af0 vkAllocateDescriptorSets
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b81c10 vkFreeDescriptorSets
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b820e0 vkUpdateDescriptorSets
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b817d0 vkCreateQueryPool
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b81a60 vkDestroyQueryPool
../../../src/renderer_vk.cpp (1799): BGFX 	0x3b006160 vkQueueSubmit
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b81fc0 vkQueueWaitIdle
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b81b00 vkDeviceWaitIdle
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b82100 vkWaitForFences
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b80b30 vkBeginCommandBuffer
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b81b20 vkEndCommandBuffer
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b811e0 vkCmdPipelineBarrier
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b80bf0 vkCmdBeginRenderPass
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b81120 vkCmdEndRenderPass
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b814e0 vkCmdSetViewport
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b81000 vkCmdDraw
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b81030 vkCmdDrawIndexed
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b810a0 vkCmdDrawIndirect
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b81060 vkCmdDrawIndexedIndirect
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b80f90 vkCmdDispatch
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b80fc0 vkCmdDispatchIndirect
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b80ca0 vkCmdBindPipeline
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b81480 vkCmdSetStencilReference
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b81320 vkCmdSetBlendConstants
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b81420 vkCmdSetScissor
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b80c20 vkCmdBindDescriptorSets
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b80c60 vkCmdBindIndexBuffer
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b80ce0 vkCmdBindVertexBuffers
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b80d90 vkCmdClearColorImage
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b80dd0 vkCmdClearDepthStencilImage
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b80d60 vkCmdClearAttachments
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b812d0 vkCmdResolveImage
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b80e10 vkCmdCopyBuffer
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b80e60 vkCmdCopyBufferToImage
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b80eb0 vkCmdCopyImage
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b80f00 vkCmdCopyImageToBuffer
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b80d10 vkCmdBlitImage
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b81290 vkCmdResetQueryPool
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b81580 vkCmdWriteTimestamp
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b80bb0 vkCmdBeginQuery
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b810e0 vkCmdEndQuery
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b80f50 vkCmdCopyQueryPoolResults
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b81f00 vkMapMemory
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b820c0 vkUnmapMemory
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b81bd0 vkFlushMappedMemoryRanges
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b81ee0 vkInvalidateMappedMemoryRanges
../../../src/renderer_vk.cpp (1799): BGFX 	0x3b0060a0 vkBindBufferMemory
../../../src/renderer_vk.cpp (1799): BGFX 	0x3b006040 vkBindImageMemory
../../../src/renderer_vk.cpp (1799): BGFX 	0x34be47c0 vkCreateSwapchainKHR
../../../src/renderer_vk.cpp (1799): BGFX 	0x3b006200 vkDestroySwapchainKHR
../../../src/renderer_vk.cpp (1799): BGFX 	0x39b84110 vkGetSwapchainImagesKHR
../../../src/renderer_vk.cpp (1799): BGFX 	0x3b005fd0 vkAcquireNextImageKHR
../../../src/renderer_vk.cpp (1799): BGFX 	0x3b0061c0 vkQueuePresentKHR
../../../src/renderer_vk.cpp (1799): BGFX 	0x34bd0b40 vkSetDebugUtilsObjectNameEXT
../../../src/renderer_vk.cpp (1799): BGFX 	0x34bd0ec0 vkCmdBeginDebugUtilsLabelEXT
../../../src/renderer_vk.cpp (1799): BGFX 	0x34bd0f40 vkCmdEndDebugUtilsLabelEXT
../../../src/renderer_vk.cpp (1799): BGFX 	0x34bd0fc0 vkCmdInsertDebugUtilsLabelEXT
../../../src/renderer_vk.cpp (7267): BGFX findSurfaceFormat: Surface format RGBA8 not found! Defaulting to BGRA8.
../../../src/renderer_vk.cpp (1916): BGFX Create scratch buffer 0
../../../src/renderer_vk.cpp (1916): BGFX Create scratch buffer 1
../../../src/renderer_vk.cpp (1916): BGFX Create scratch buffer 2
../../../src/bgfx.cpp (1564): BGFX 
../../../src/bgfx.cpp (1568): BGFX Detected GPUs (2):
../../../src/bgfx.cpp (1569): BGFX 	 +----------------   Index
../../../src/bgfx.cpp (1570): BGFX 	 |  +-------------   Device ID
../../../src/bgfx.cpp (1571): BGFX 	 |  |    +--------   Vendor ID
../../../src/bgfx.cpp (1577): BGFX 	 0: 1f02 10de
../../../src/bgfx.cpp (1577): BGFX 	 1: 0000 0005
../../../src/bgfx.cpp (1584): BGFX 
../../../src/bgfx.cpp (1590): BGFX Supported renderer backends (3):
../../../src/bgfx.cpp (1593): BGFX 	 - Noop
../../../src/bgfx.cpp (1593): BGFX 	 - OpenGL 2.1
../../../src/bgfx.cpp (1593): BGFX 	 - Vulkan
../../../src/bgfx.cpp (1596): BGFX 
../../../src/bgfx.cpp (1597): BGFX Sort key masks:
../../../src/bgfx.cpp (1598): BGFX 	   View     3fc0000000000000
../../../src/bgfx.cpp (1599): BGFX 	   Draw bit 0020000000000000
../../../src/bgfx.cpp (1601): BGFX 
../../../src/bgfx.cpp (1602): BGFX 	D  Type     0018000000000000
../../../src/bgfx.cpp (1604): BGFX 
../../../src/bgfx.cpp (1605): BGFX 	D0 Blend    0006000000000000
../../../src/bgfx.cpp (1606): BGFX 	D0 Program  0001ff0000000000
../../../src/bgfx.cpp (1607): BGFX 	D0 Depth    000000ffffffff00
../../../src/bgfx.cpp (1609): BGFX 
../../../src/bgfx.cpp (1610): BGFX 	D1 Depth    0007fffffff80000
../../../src/bgfx.cpp (1611): BGFX 	D1 Blend    0000000000060000
../../../src/bgfx.cpp (1612): BGFX 	D1 Program  000000000001ff00
../../../src/bgfx.cpp (1614): BGFX 
../../../src/bgfx.cpp (1615): BGFX 	D2 Seq      0007ffff80000000
../../../src/bgfx.cpp (1616): BGFX 	D2 Blend    0000000060000000
../../../src/bgfx.cpp (1617): BGFX 	D2 Program  000000001ff00000
../../../src/bgfx.cpp (1619): BGFX 
../../../src/bgfx.cpp (1620): BGFX 	 C Seq      001ffffe00000000
../../../src/bgfx.cpp (1621): BGFX 	 C Program  00000001ff000000
../../../src/bgfx.cpp (1623): BGFX 
../../../src/bgfx.cpp (1624): BGFX Capabilities (renderer Vulkan, vendor 0x10de, device 0x1f02):
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_ALPHA_TO_COVERAGE
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_BLEND_INDEPENDENT
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_COMPUTE
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_CONSERVATIVE_RASTER
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_DRAW_INDIRECT
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_FRAGMENT_DEPTH
../../../src/bgfx.cpp (1631): BGFX 	[ ] BGFX_CAPS_FRAGMENT_ORDERING
../../../src/bgfx.cpp (1631): BGFX 	[ ] BGFX_CAPS_GRAPHICS_DEBUGGER
../../../src/bgfx.cpp (1631): BGFX 	[ ] BGFX_CAPS_HDR10
../../../src/bgfx.cpp (1631): BGFX 	[ ] BGFX_CAPS_HIDPI
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_IMAGE_RW
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_INDEX32
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_INSTANCING
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_OCCLUSION_QUERY
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_RENDERER_MULTITHREADED
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_SWAP_CHAIN
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_TEXTURE_2D_ARRAY
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_TEXTURE_3D
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_TEXTURE_BLIT
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_TEXTURE_COMPARE_ALL
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_TEXTURE_COMPARE_LEQUAL
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_TEXTURE_CUBE_ARRAY
../../../src/bgfx.cpp (1631): BGFX 	[ ] BGFX_CAPS_TEXTURE_DIRECT_ACCESS
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_TEXTURE_READ_BACK
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_VERTEX_ATTRIB_HALF
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_VERTEX_ATTRIB_UINT10
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_VERTEX_ID
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_VIEWPORT_LAYER_ARRAY
../../../src/bgfx.cpp (1638): BGFX 
../../../src/bgfx.cpp (1639): BGFX Limits:
../../../src/bgfx.cpp (1641): BGFX 	maxDrawCalls                 65535
../../../src/bgfx.cpp (1642): BGFX 	maxBlits                      1024
../../../src/bgfx.cpp (1643): BGFX 	maxTextureSize               32768
../../../src/bgfx.cpp (1644): BGFX 	maxTextureLayers              2048
../../../src/bgfx.cpp (1645): BGFX 	maxViews                       256
../../../src/bgfx.cpp (1646): BGFX 	maxFrameBuffers                128
../../../src/bgfx.cpp (1647): BGFX 	maxFBAttachments                 8
../../../src/bgfx.cpp (1648): BGFX 	maxPrograms                    512
../../../src/bgfx.cpp (1649): BGFX 	maxShaders                     512
../../../src/bgfx.cpp (1650): BGFX 	maxTextures                   4096
../../../src/bgfx.cpp (1651): BGFX 	maxTextureSamplers              16
../../../src/bgfx.cpp (1652): BGFX 	maxComputeBindings              16
../../../src/bgfx.cpp (1653): BGFX 	maxVertexLayouts                64
../../../src/bgfx.cpp (1654): BGFX 	maxVertexStreams                 4
../../../src/bgfx.cpp (1655): BGFX 	maxIndexBuffers               4096
../../../src/bgfx.cpp (1656): BGFX 	maxVertexBuffers              4096
../../../src/bgfx.cpp (1657): BGFX 	maxDynamicIndexBuffers        4096
../../../src/bgfx.cpp (1658): BGFX 	maxDynamicVertexBuffers       4096
../../../src/bgfx.cpp (1659): BGFX 	maxUniforms                    512
../../../src/bgfx.cpp (1660): BGFX 	maxOcclusionQueries            256
../../../src/bgfx.cpp (1661): BGFX 	maxEncoders                      8
../../../src/bgfx.cpp (1662): BGFX 	minResourceCbSize            65536
../../../src/bgfx.cpp (1663): BGFX 	transientVbSize            6291456
../../../src/bgfx.cpp (1664): BGFX 	transientIbSize            2097152
../../../src/bgfx.cpp (1667): BGFX 
../../../src/bgfx.cpp (1668): BGFX Supported texture formats:
../../../src/bgfx.cpp (1669): BGFX 	 +----------------   2D: x = supported / * = emulated
../../../src/bgfx.cpp (1670): BGFX 	 |+---------------   2D: sRGB format
../../../src/bgfx.cpp (1671): BGFX 	 ||+--------------   3D: x = supported / * = emulated
../../../src/bgfx.cpp (1672): BGFX 	 |||+-------------   3D: sRGB format
../../../src/bgfx.cpp (1673): BGFX 	 ||||+------------ Cube: x = supported / * = emulated
../../../src/bgfx.cpp (1674): BGFX 	 |||||+----------- Cube: sRGB format
../../../src/bgfx.cpp (1675): BGFX 	 ||||||+---------- vertex format
../../../src/bgfx.cpp (1676): BGFX 	 |||||||+--------- image: i = read-write / r = read / w = write
../../../src/bgfx.cpp (1677): BGFX 	 ||||||||+-------- framebuffer
../../../src/bgfx.cpp (1678): BGFX 	 |||||||||+------- MSAA framebuffer
../../../src/bgfx.cpp (1679): BGFX 	 ||||||||||+------ MSAA texture
../../../src/bgfx.cpp (1680): BGFX 	 |||||||||||+----- Auto-generated mips
../../../src/bgfx.cpp (1681): BGFX 	 ||||||||||||  +-- name
../../../src/bgfx.cpp (1688): BGFX 	[xlxlxlv     ] BC1
../../../src/bgfx.cpp (1688): BGFX 	[xlxlxlv     ] BC2
../../../src/bgfx.cpp (1688): BGFX 	[xlxlxlv     ] BC3
../../../src/bgfx.cpp (1688): BGFX 	[x x x v     ] BC4
../../../src/bgfx.cpp (1688): BGFX 	[x x x v     ] BC5
../../../src/bgfx.cpp (1688): BGFX 	[x x x v     ] BC6H
../../../src/bgfx.cpp (1688): BGFX 	[xlxlxlv     ] BC7
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] ETC1
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] ETC2
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] ETC2A
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] ETC2A1
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] PTC12
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] PTC14
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] PTC12A
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] PTC14A
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] PTC22
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] PTC24
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] ATC
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] ATCE
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] ATCI
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] ASTC4x4
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] ASTC5x5
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] ASTC6x6
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] ASTC8x5
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] ASTC8x6
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] ASTC10x5
../../../src/bgfx.cpp (1688): BGFX 	[            ] R1
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] A8
../../../src/bgfx.cpp (1688): BGFX 	[xlxlxlvif+mM] R8
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] R8I
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] R8U
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] R8S
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] R16
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] R16I
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] R16U
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] R16F
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] R16S
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] R32I
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] R32U
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] R32F
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RG8
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RG8I
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RG8U
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RG8S
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RG16
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RG16I
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RG16U
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RG16F
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RG16S
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RG32I
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RG32U
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RG32F
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] RGB8
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] RGB8I
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] RGB8U
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] RGB8S
../../../src/bgfx.cpp (1688): BGFX 	[x x x v     ] RGB9E5
../../../src/bgfx.cpp (1688): BGFX 	[xlxlxlvif+mM] BGRA8
../../../src/bgfx.cpp (1688): BGFX 	[xlxlxlvif+mM] RGBA8
../../../src/bgfx.cpp (1688): BGFX 	[xlxlxlvif+mM] RGBA8I
../../../src/bgfx.cpp (1688): BGFX 	[xlxlxlvif+mM] RGBA8U
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RGBA8S
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RGBA16
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RGBA16I
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RGBA16U
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RGBA16F
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RGBA16S
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RGBA32I
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RGBA32U
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RGBA32F
../../../src/bgfx.cpp (1688): BGFX 	[x x x v     ] R5G6B5
../../../src/bgfx.cpp (1688): BGFX 	[x x x v     ] RGBA4
../../../src/bgfx.cpp (1688): BGFX 	[x x x v f+mM] RGB5A1
../../../src/bgfx.cpp (1688): BGFX 	[x x x v f+mM] RGB10A2
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RG11B10F
../../../src/bgfx.cpp (1688): BGFX 	[x x x v f+mM] D16
../../../src/bgfx.cpp (1688): BGFX 	[x x x v f+mM] D24
../../../src/bgfx.cpp (1688): BGFX 	[x x x v f+mM] D24S8
../../../src/bgfx.cpp (1688): BGFX 	[x x x v f+mM] D32
../../../src/bgfx.cpp (1688): BGFX 	[x x x v f+mM] D16F
../../../src/bgfx.cpp (1688): BGFX 	[x x x v f+mM] D24F
../../../src/bgfx.cpp (1688): BGFX 	[x x x v f+mM] D32F
../../../src/bgfx.cpp (1688): BGFX 	[x x x v f+mM] D0S8
../../../src/bgfx.cpp (1708): BGFX 
../../../src/bgfx.cpp (1709): BGFX NDC depth [0, 1], origin top left.
../../../src/bgfx.cpp (1714): BGFX 
../../../src/bgfx_p.h (4749): BGFX Creating uniform (handle   0) s_texColor
../../../src/bgfx_p.h (4749): BGFX Creating uniform (handle   1) bgfx_clear_depth
../../../src/bgfx_p.h (4749): BGFX Creating uniform (handle   2) bgfx_clear_color
../../../src/renderer_vk.cpp (5868): BGFX Texture   0: R8 (requested: R8), 2048x24x1 RT[ ], BO[ ], CW[ ].
../../../src/renderer_vk.cpp (4736): BGFX Vertex Shader consts 1
../../../src/renderer_vk.cpp (4907): BGFX 	predefined: u_modelViewProj (mat4), r.index   0, r.count  4, r.texComponent 0, r.texDimension 0
../../../src/renderer_vk.cpp (4736): BGFX Fragment Shader consts 1
../../../src/renderer_vk.cpp (4907): BGFX 	sampler: s_texColor (sampler1), r.index   2, r.count  0, r.texComponent 0, r.texDimension 2
../../../src/bgfx.cpp (527): BGFX VertexLayout 74c34f26 (d443ed7f), stride 28
../../../src/bgfx.cpp (543): BGFX 	attr  0: Attrib::Position     num 3, type 4, norm [ ], asint [ ], offset  0
../../../src/bgfx.cpp (543): BGFX 	attr  4: Attrib::Color0       num 4, type 0, norm [x], asint [ ], offset 12
../../../src/bgfx.cpp (543): BGFX 	attr  5: Attrib::Color1       num 4, type 0, norm [x], asint [ ], offset 16
../../../src/bgfx.cpp (543): BGFX 	attr 10: Attrib::TexCoord0    num 2, type 4, norm [ ], asint [ ], offset 20
../../../src/renderer_vk.cpp (4736): BGFX Vertex Shader consts 1
../../../src/renderer_vk.cpp (4907): BGFX 	user: bgfx_clear_depth (vec4), r.index   0, r.count  1, r.texComponent 0, r.texDimension 0
../../../src/renderer_vk.cpp (4736): BGFX Fragment Shader consts 1
../../../src/renderer_vk.cpp (4907): BGFX 	user: bgfx_clear_color (vec4), r.index   0, r.count  1, r.texComponent 0, r.texDimension 0
../../../src/renderer_vk.cpp (4736): BGFX Fragment Shader consts 1
../../../src/renderer_vk.cpp (4907): BGFX 	user: bgfx_clear_color (vec4), r.index   0, r.count  2, r.texComponent 0, r.texDimension 0
../../../src/renderer_vk.cpp (4736): BGFX Fragment Shader consts 1
../../../src/renderer_vk.cpp (4907): BGFX 	user: bgfx_clear_color (vec4), r.index   0, r.count  3, r.texComponent 0, r.texDimension 0
../../../src/renderer_vk.cpp (4736): BGFX Fragment Shader consts 1
../../../src/renderer_vk.cpp (4907): BGFX 	user: bgfx_clear_color (vec4), r.index   0, r.count  4, r.texComponent 0, r.texDimension 0
../../../src/renderer_vk.cpp (4736): BGFX Fragment Shader consts 1
../../../src/renderer_vk.cpp (4907): BGFX 	user: bgfx_clear_color (vec4), r.index   0, r.count  5, r.texComponent 0, r.texDimension 0
../../../src/renderer_vk.cpp (4736): BGFX Fragment Shader consts 1
../../../src/renderer_vk.cpp (4907): BGFX 	user: bgfx_clear_color (vec4), r.index   0, r.count  6, r.texComponent 0, r.texDimension 0
../../../src/renderer_vk.cpp (4736): BGFX Fragment Shader consts 1
../../../src/renderer_vk.cpp (4907): BGFX 	user: bgfx_clear_color (vec4), r.index   0, r.count  7, r.texComponent 0, r.texDimension 0
../../../src/renderer_vk.cpp (4736): BGFX Fragment Shader consts 1
../../../src/renderer_vk.cpp (4907): BGFX 	user: bgfx_clear_color (vec4), r.index   0, r.count  8, r.texComponent 0, r.texDimension 0
../../../src/bgfx.cpp (527): BGFX VertexLayout aaaa40da (e0896034), stride 8
../../../src/bgfx.cpp (543): BGFX 	attr  0: Attrib::Position     num 2, type 4, norm [ ], asint [ ], offset  0
../../../src/bgfx.cpp (3537): BGFX Init complete.
../../../src/bgfx_p.h (4749): BGFX Creating uniform (handle   3) s_tex
../../../src/bgfx_p.h (4749): BGFX Creating uniform (handle   4) u_imageLodEnabled
../../../src/bgfx.cpp (1723): BGFX Reset back-buffer swap chain:
../../../src/renderer_vk.cpp (4736): BGFX Fragment Shader consts 1
../../../src/bgfx.cpp (1724): BGFX 	1280x720, format: RGBA8, numBackBuffers: 2, maxFrameLatency: 0
../../../src/bgfx.cpp (1733): BGFX 	[ ] MSAAx1
../../../src/bgfx.cpp (1734): BGFX 	[ ] Fullscreen
../../../src/bgfx.cpp (1735): BGFX 	[x] V-sync
../../../src/bgfx.cpp (1736): BGFX 	[ ] Max Anisotropy
../../../src/renderer_vk.cpp (4907): BGFX 	sampler: s_tex (sampler1), r.index   2, r.count  0, r.texComponent 0, r.texDimension 2
../../../src/bgfx.cpp (1737): BGFX 	[ ] Capture
../../../src/bgfx.cpp (1738): BGFX 	[ ] Flush After Render
../../../src/bgfx.cpp (1739): BGFX 	[ ] Flip After Render
../../../src/renderer_vk.cpp (4736): BGFX Vertex Shader consts 1
../../../src/bgfx.cpp (1740): BGFX 	[ ] sRGB Back Buffer
../../../src/bgfx.cpp (1741): BGFX 	[ ] HDR10
../../../src/bgfx.cpp (1742): BGFX 	[ ] Hi-DPI
../../../src/bgfx.cpp (1743): BGFX 	[ ] Depth Clamp
../../../src/renderer_vk.cpp (4907): BGFX 	predefined: u_viewProj (mat4), r.index   0, r.count  4, r.texComponent 0, r.texDimension 0
../../../src/bgfx.cpp (1744): BGFX 	[ ] Suspend
../../../src/renderer_vk.cpp (4736): BGFX Fragment Shader consts 2
../../../src/renderer_vk.cpp (4907): BGFX 	user: u_imageLodEnabled (vec4), r.index   0, r.count  1, r.texComponent 0, r.texDimension 0
../../../src/renderer_vk.cpp (4907): BGFX 	sampler: s_texColor (sampler1), r.index   2, r.count  0, r.texComponent 0, r.texDimension 2
../../../src/renderer_vk.cpp (4736): BGFX Vertex Shader consts 1
../../../src/renderer_vk.cpp (4907): BGFX 	predefined: u_viewProj (mat4), r.index   0, r.count  4, r.texComponent 0, r.texDimension 0
../../../src/renderer_vk.cpp (5868): BGFX Texture   1: BGRA8 (requested: BGRA8), 1024x1024x1 RT[ ], BO[ ], CW[ ].
../../../src/bgfx.cpp (527): BGFX VertexLayout 93597fa9 (21d0cb5a), stride 20
../../../src/bgfx.cpp (543): BGFX 	attr  0: Attrib::Position     num 2, type 4, norm [ ], asint [ ], offset  0
../../../src/bgfx.cpp (543): BGFX 	attr  4: Attrib::Color0       num 4, type 0, norm [x], asint [ ], offset 16
../../../src/bgfx.cpp (543): BGFX 	attr 10: Attrib::TexCoord0    num 2, type 4, norm [ ], asint [ ], offset  8
../../../src/bgfx.cpp (1723): BGFX Reset back-buffer swap chain:
../../../src/bgfx.cpp (1724): BGFX 	1920x1200, format: RGBA8, numBackBuffers: 2, maxFrameLatency: 0
../../../src/bgfx.cpp (1733): BGFX 	[ ] MSAAx1
../../../src/bgfx.cpp (1734): BGFX 	[ ] Fullscreen
../../../src/bgfx.cpp (1735): BGFX 	[x] V-sync
../../../src/bgfx.cpp (1736): BGFX 	[ ] Max Anisotropy
../../../src/bgfx.cpp (1737): BGFX 	[ ] Capture
../../../src/bgfx.cpp (1738): BGFX 	[ ] Flush After Render
../../../src/bgfx.cpp (1739): BGFX 	[ ] Flip After Render
../../../src/bgfx.cpp (1740): BGFX 	[ ] sRGB Back Buffer
../../../src/bgfx.cpp (1741): BGFX 	[ ] HDR10
../../../src/bgfx.cpp (1742): BGFX 	[ ] Hi-DPI
../../../src/bgfx.cpp (1743): BGFX 	[ ] Depth Clamp
../../../src/bgfx.cpp (1744): BGFX 	[ ] Suspend
../../../src/bgfx.cpp (3575): BGFX Shutdown...
../../../src/bgfx.cpp (3584): BGFX Shutdown complete.
  • this is the output with validation layers installed:
$ ./../../.build/linux64_gcc/bin/examplesDebug --vulkan
../../../src/bgfx.cpp (3523): BGFX Init...
../../../src/bgfx.cpp (3530): BGFX Version 1.115.7816 (commit: e642efb03af78e04bec8e81118fe3dec88e0176e)
../../../src/bgfx.cpp (1723): BGFX Reset back-buffer swap chain:
../../../src/bgfx.cpp (1724): BGFX 	1280x720, format: RGBA8, numBackBuffers: 2, maxFrameLatency: 0
../../../src/bgfx.cpp (1733): BGFX 	[ ] MSAAx1
../../../src/bgfx.cpp (1734): BGFX 	[ ] Fullscreen
../../../src/bgfx.cpp (1735): BGFX 	[x] V-sync
../../../src/bgfx.cpp (1736): BGFX 	[ ] Max Anisotropy
../../../src/bgfx.cpp (1737): BGFX 	[ ] Capture
../../../src/bgfx.cpp (1738): BGFX 	[ ] Flush After Render
../../../src/bgfx.cpp (1739): BGFX 	[ ] Flip After Render
../../../src/bgfx.cpp (1740): BGFX 	[ ] sRGB Back Buffer
../../../src/bgfx.cpp (1741): BGFX 	[ ] HDR10
../../../src/bgfx.cpp (1742): BGFX 	[ ] Hi-DPI
../../../src/bgfx.cpp (1743): BGFX 	[ ] Depth Clamp
../../../src/bgfx.cpp (1744): BGFX 	[ ] Suspend
../../../src/bgfx.cpp (1910): BGFX Application called bgfx::renderFrame directly, not creating render thread.
../../../src/bgfx.cpp (1926): BGFX Running in multi-threaded mode
../../../src/bgfx.cpp (413): BGFX Graphics debugger is not present.
../../../src/renderer_vk.cpp (1137): BGFX Shared library functions:
../../../src/renderer_vk.cpp (1144): BGFX 	0x3dbfc8c0 vkCreateInstance
../../../src/renderer_vk.cpp (1144): BGFX 	0x3dbee3f0 vkGetInstanceProcAddr
../../../src/renderer_vk.cpp (1144): BGFX 	0x3dbf78f0 vkGetDeviceProcAddr
../../../src/renderer_vk.cpp (1144): BGFX 	0x3dbfc070 vkEnumerateInstanceExtensionProperties
../../../src/renderer_vk.cpp (1144): BGFX 	0x3dbfc340 vkEnumerateInstanceLayerProperties
../../../src/renderer_vk.cpp (1144): BGFX 	0x3dbfc600 vkEnumerateInstanceVersion
../../../src/renderer_vk.cpp (678): BGFX Global extensions (18):
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_device_group_creation
../../../src/renderer_vk.cpp (691): BGFX 	v23  VK_KHR_display
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_external_fence_capabilities
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_external_memory_capabilities
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_external_semaphore_capabilities
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_get_display_properties2
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_KHR_get_physical_device_properties2 (supported)
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_get_surface_capabilities2
../../../src/renderer_vk.cpp (691): BGFX 	v25  VK_KHR_surface
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_surface_protected_capabilities
../../../src/renderer_vk.cpp (691): BGFX 	v6   VK_KHR_wayland_surface
../../../src/renderer_vk.cpp (691): BGFX 	v6   VK_KHR_xcb_surface
../../../src/renderer_vk.cpp (691): BGFX 	v6   VK_KHR_xlib_surface
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_acquire_xlib_display
../../../src/renderer_vk.cpp (691): BGFX 	v9   VK_EXT_debug_report (supported)
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_direct_mode_display
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_display_surface_counter
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_EXT_debug_utils (supported)
../../../src/renderer_vk.cpp (717): BGFX Layer extensions (7):
../../../src/renderer_vk.cpp (729): BGFX 	VK_LAYER_NV_optimus (s: 0x004020af, i: 0x00000001), NVIDIA Optimus layer
../../../src/renderer_vk.cpp (729): BGFX 	VK_LAYER_MESA_device_select (s: 0x00402049, i: 0x00000001), Linux device selection layer
../../../src/renderer_vk.cpp (729): BGFX 	VK_LAYER_VALVE_steam_overlay_64 (s: 0x00402088, i: 0x00000001), Steam Overlay Layer
../../../src/renderer_vk.cpp (729): BGFX 	VK_LAYER_VALVE_steam_overlay_32 (s: 0x00402088, i: 0x00000001), Steam Overlay Layer
../../../src/renderer_vk.cpp (729): BGFX 	VK_LAYER_VALVE_steam_fossilize_32 (s: 0x00402088, i: 0x00000001), Steam Pipeline Caching Layer
../../../src/renderer_vk.cpp (729): BGFX 	VK_LAYER_VALVE_steam_fossilize_64 (s: 0x00402088, i: 0x00000001), Steam Pipeline Caching Layer
../../../src/renderer_vk.cpp (729): BGFX 	VK_LAYER_KHRONOS_validation (s: 0x004020a2, i: 0x00000001), Khronos Validation Layer
../../../src/renderer_vk.cpp (762): BGFX 		VK_EXT_debug_report (s: 0x00000009)
../../../src/renderer_vk.cpp (762): BGFX 		VK_EXT_debug_utils (s: 0x00000001)
../../../src/renderer_vk.cpp (762): BGFX 		VK_EXT_validation_features (s: 0x00000002)
../../../src/renderer_vk.cpp (1178): BGFX Enabled instance layers:
../../../src/renderer_vk.cpp (1188): BGFX 	VK_LAYER_KHRONOS_validation
../../../src/renderer_vk.cpp (1219): BGFX Enabled instance extensions:
../../../src/renderer_vk.cpp (1223): BGFX 	VK_KHR_surface
../../../src/renderer_vk.cpp (1223): BGFX 	VK_KHR_xcb_surface
../../../src/renderer_vk.cpp (1223): BGFX 	VK_EXT_debug_utils
../../../src/renderer_vk.cpp (1223): BGFX 	VK_EXT_debug_report
../../../src/renderer_vk.cpp (1223): BGFX 	VK_KHR_get_physical_device_properties2
../../../src/renderer_vk.cpp (1286): BGFX Instance API Version Selected: 1.2.162
../../../src/renderer_vk.cpp (1295): BGFX Instance functions:
../../../src/renderer_vk.cpp (1301): BGFX 	0x3dbfb270 vkDestroyInstance
../../../src/renderer_vk.cpp (1301): BGFX 	0x3dbfe1b0 vkEnumeratePhysicalDevices
../../../src/renderer_vk.cpp (1301): BGFX 	0x3dbfae60 vkEnumerateDeviceExtensionProperties
../../../src/renderer_vk.cpp (1301): BGFX 	0x3dbfaec0 vkEnumerateDeviceLayerProperties
../../../src/renderer_vk.cpp (1301): BGFX 	0x3dbf68d0 vkGetPhysicalDeviceProperties
../../../src/renderer_vk.cpp (1301): BGFX 	0x3dbf6890 vkGetPhysicalDeviceFormatProperties
../../../src/renderer_vk.cpp (1301): BGFX 	0x3dbf6870 vkGetPhysicalDeviceFeatures
../../../src/renderer_vk.cpp (1301): BGFX 	0x3dbf68b0 vkGetPhysicalDeviceImageFormatProperties
../../../src/renderer_vk.cpp (1301): BGFX 	0x3dbf6910 vkGetPhysicalDeviceMemoryProperties
../../../src/renderer_vk.cpp (1301): BGFX 	0x3dbf68f0 vkGetPhysicalDeviceQueueFamilyProperties
../../../src/renderer_vk.cpp (1301): BGFX 	0x3dbfb700 vkCreateDevice
../../../src/renderer_vk.cpp (1301): BGFX 	0x3dbfb760 vkDestroyDevice
../../../src/renderer_vk.cpp (1301): BGFX 	0x3dbf7510 vkGetPhysicalDeviceSurfaceCapabilitiesKHR
../../../src/renderer_vk.cpp (1301): BGFX 	0x3dbf7530 vkGetPhysicalDeviceSurfaceFormatsKHR
../../../src/renderer_vk.cpp (1301): BGFX 	0x3dbf7550 vkGetPhysicalDeviceSurfacePresentModesKHR
../../../src/renderer_vk.cpp (1301): BGFX 	0x3dbf74f0 vkGetPhysicalDeviceSurfaceSupportKHR
../../../src/renderer_vk.cpp (1301): BGFX 	0x3dbf74e0 vkDestroySurfaceKHR
../../../src/renderer_vk.cpp (1301): BGFX 	0x3dbf70a0 vkGetPhysicalDeviceFeatures2KHR
../../../src/renderer_vk.cpp (1301): BGFX 	0x3dbf71e0 vkGetPhysicalDeviceMemoryProperties2KHR
../../../src/renderer_vk.cpp (1301): BGFX 	0x3dbfb140 vkCreateDebugReportCallbackEXT
../../../src/renderer_vk.cpp (1301): BGFX 	0x3dbfb1e0 vkDestroyDebugReportCallbackEXT
../../../src/renderer_vk.cpp (1301): BGFX 	0x0 vkCreateXlibSurfaceKHR
../../../src/renderer_vk.cpp (1301): BGFX 	0x0 vkGetPhysicalDeviceXlibPresentationSupportKHR
../../../src/renderer_vk.cpp (1301): BGFX 	0x3dbf75f0 vkCreateXcbSurfaceKHR
../../../src/renderer_vk.cpp (1301): BGFX 	0x3dbf7600 vkGetPhysicalDeviceXcbPresentationSupportKHR
../../../src/renderer_vk.cpp (1332): BGFX ---
../../../src/renderer_vk.cpp (1368): BGFX Physical device 0:
../../../src/renderer_vk.cpp (1369): BGFX 	          Name: NVIDIA GeForce RTX 2070
../../../src/renderer_vk.cpp (1370): BGFX 	   API version: 1.2.175
../../../src/renderer_vk.cpp (1374): BGFX 	Driver version: 758fc040
../../../src/renderer_vk.cpp (1375): BGFX 	      VendorId: 10de
../../../src/renderer_vk.cpp (1376): BGFX 	      DeviceId: 1f02
../../../src/renderer_vk.cpp (1377): BGFX 	          Type: 2
../../../src/renderer_vk.cpp (1400): BGFX 	Memory type count: 11
../../../src/renderer_vk.cpp (1403): BGFX 	  0: flags 0x00000000, index 1
../../../src/renderer_vk.cpp (1403): BGFX 	  1: flags 0x00000000, index 1
../../../src/renderer_vk.cpp (1403): BGFX 	  2: flags 0x00000000, index 1
../../../src/renderer_vk.cpp (1403): BGFX 	  3: flags 0x00000000, index 1
../../../src/renderer_vk.cpp (1403): BGFX 	  4: flags 0x00000000, index 1
../../../src/renderer_vk.cpp (1403): BGFX 	  5: flags 0x00000000, index 1
../../../src/renderer_vk.cpp (1403): BGFX 	  6: flags 0x00000000, index 1
../../../src/renderer_vk.cpp (1403): BGFX 	  7: flags 0x00000001, index 0
../../../src/renderer_vk.cpp (1403): BGFX 	  8: flags 0x00000006, index 1
../../../src/renderer_vk.cpp (1403): BGFX 	  9: flags 0x0000000e, index 1
../../../src/renderer_vk.cpp (1403): BGFX 	 10: flags 0x00000007, index 2
../../../src/renderer_vk.cpp (1410): BGFX 	Memory heap count: 3
../../../src/renderer_vk.cpp (1415): BGFX 	  0: flags 0x00000001, size   8.00 GiB
../../../src/renderer_vk.cpp (1415): BGFX 	  1: flags 0x00000000, size  23.45 GiB
../../../src/renderer_vk.cpp (1415): BGFX 	  2: flags 0x00000001, size 246.00 MiB
../../../src/renderer_vk.cpp (678): BGFX Global extensions (139):
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_16bit_storage
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_8bit_storage
../../../src/renderer_vk.cpp (691): BGFX 	v11  VK_KHR_acceleration_structure
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_bind_memory2
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_buffer_device_address
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_copy_commands2
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_create_renderpass2
../../../src/renderer_vk.cpp (691): BGFX 	v3   VK_KHR_dedicated_allocation
../../../src/renderer_vk.cpp (691): BGFX 	v4   VK_KHR_deferred_host_operations
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_depth_stencil_resolve
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_descriptor_update_template
../../../src/renderer_vk.cpp (691): BGFX 	v4   VK_KHR_device_group
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_draw_indirect_count
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_driver_properties
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_external_fence
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_external_fence_fd
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_external_memory
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_external_memory_fd
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_external_semaphore
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_external_semaphore_fd
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_fragment_shading_rate
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_get_memory_requirements2
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_image_format_list
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_imageless_framebuffer
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_KHR_maintenance1
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_maintenance2
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_maintenance3
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_multiview
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_pipeline_executable_properties
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_pipeline_library
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_KHR_push_descriptor
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_ray_query
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_ray_tracing_pipeline
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_relaxed_block_layout
../../../src/renderer_vk.cpp (691): BGFX 	v3   VK_KHR_sampler_mirror_clamp_to_edge
../../../src/renderer_vk.cpp (691): BGFX 	v14  VK_KHR_sampler_ycbcr_conversion
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_separate_depth_stencil_layouts
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_shader_atomic_int64
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_shader_clock
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_shader_draw_parameters
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_shader_float16_int8
../../../src/renderer_vk.cpp (691): BGFX 	v4   VK_KHR_shader_float_controls
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_shader_non_semantic_info
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_shader_subgroup_extended_types
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_shader_terminate_invocation
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_spirv_1_4
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_storage_buffer_storage_class
../../../src/renderer_vk.cpp (691): BGFX 	v70  VK_KHR_swapchain
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_swapchain_mutable_format
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_synchronization2
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_KHR_timeline_semaphore
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_uniform_buffer_standard_layout
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_variable_pointers
../../../src/renderer_vk.cpp (691): BGFX 	v3   VK_KHR_vulkan_memory_model
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_workgroup_memory_explicit_layout
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_zero_initialize_workgroup_memory
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_4444_formats
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_EXT_blend_operation_advanced
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_EXT_buffer_device_address
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_calibrated_timestamps
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_color_write_enable
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_EXT_conditional_rendering
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_conservative_rasterization (supported)
../../../src/renderer_vk.cpp (691): BGFX 	v12  VK_EXT_custom_border_color (supported)
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_depth_clip_enable
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_depth_range_unrestricted
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_EXT_descriptor_indexing
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_discard_rectangles
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_display_control
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_extended_dynamic_state
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_extended_dynamic_state2
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_external_memory_host
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_fragment_shader_interlock
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_EXT_global_priority
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_global_priority_query
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_host_query_reset
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_image_robustness
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_index_type_uint8
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_inline_uniform_block
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_line_rasterization (supported)
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_memory_budget (supported)
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_EXT_pci_bus_info
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_physical_device_drm
../../../src/renderer_vk.cpp (691): BGFX 	v3   VK_EXT_pipeline_creation_cache_control
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_pipeline_creation_feedback
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_post_depth_coverage
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_private_data
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_provoking_vertex
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_queue_family_foreign
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_robustness2
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_sample_locations
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_EXT_sampler_filter_minmax
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_scalar_block_layout
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_separate_stencil_usage
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_shader_atomic_float
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_shader_demote_to_helper_invocation
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_shader_image_atomic_int64
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_shader_subgroup_ballot
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_shader_subgroup_vote
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_shader_viewport_index_layer (supported)
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_EXT_subgroup_size_control
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_texel_buffer_alignment
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_tooling_info
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_transform_feedback
../../../src/renderer_vk.cpp (691): BGFX 	v3   VK_EXT_vertex_attribute_divisor
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_EXT_vertex_input_dynamic_state
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_ycbcr_image_arrays
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_clip_space_w_scaling
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_compute_shader_derivatives
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_cooperative_matrix
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_NV_corner_sampled_image
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_coverage_reduction_mode
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_NV_cuda_kernel_launch
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_dedicated_allocation
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_dedicated_allocation_image_aliasing
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_NV_device_diagnostic_checkpoints
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_device_diagnostics_config
../../../src/renderer_vk.cpp (691): BGFX 	v3   VK_NV_device_generated_commands
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_fill_rectangle
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_fragment_coverage_to_color
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_fragment_shader_barycentric
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_fragment_shading_rate_enums
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_framebuffer_mixed_samples
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_geometry_shader_passthrough
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_inherited_viewport_scissor
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_mesh_shader
../../../src/renderer_vk.cpp (691): BGFX 	v3   VK_NV_ray_tracing
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_NV_representative_fragment_test
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_sample_mask_override_coverage
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_scissor_exclusive
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_NV_shader_image_footprint
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_shader_sm_builtins
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_shader_subgroup_partitioned
../../../src/renderer_vk.cpp (691): BGFX 	v3   VK_NV_shading_rate_image
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_viewport_array2
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NV_viewport_swizzle
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NVX_binary_import
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_NVX_image_view_handle
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_NVX_multiview_per_view_attributes
../../../src/renderer_vk.cpp (717): BGFX 	Layer extensions (2):
../../../src/renderer_vk.cpp (729): BGFX 		VK_LAYER_MESA_device_select (s: 0x00402049, i: 0x00000001), Linux device selection layer
../../../src/renderer_vk.cpp (729): BGFX 		VK_LAYER_KHRONOS_validation (s: 0x004020a2, i: 0x00000001), Khronos Validation Layer
../../../src/renderer_vk.cpp (762): BGFX 			VK_EXT_validation_cache (s: 0x00000001)
../../../src/renderer_vk.cpp (762): BGFX 			VK_EXT_debug_marker (s: 0x00000004)
../../../src/renderer_vk.cpp (762): BGFX 			VK_EXT_tooling_info (s: 0x00000001)
../../../src/renderer_vk.cpp (1368): BGFX Physical device 1:
../../../src/renderer_vk.cpp (1369): BGFX 	          Name: llvmpipe (LLVM 12.0.1, 256 bits)
../../../src/renderer_vk.cpp (1370): BGFX 	   API version: 1.1.168
../../../src/renderer_vk.cpp (1374): BGFX 	Driver version: 1
../../../src/renderer_vk.cpp (1375): BGFX 	      VendorId: 10005
../../../src/renderer_vk.cpp (1376): BGFX 	      DeviceId: 0
../../../src/renderer_vk.cpp (1377): BGFX 	          Type: 4
../../../src/renderer_vk.cpp (1400): BGFX 	Memory type count: 1
../../../src/renderer_vk.cpp (1403): BGFX 	  0: flags 0x0000000f, index 0
../../../src/renderer_vk.cpp (1410): BGFX 	Memory heap count: 1
../../../src/renderer_vk.cpp (1415): BGFX 	  0: flags 0x00000001, size   2.00 GiB
../../../src/renderer_vk.cpp (678): BGFX Global extensions (46):
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_8bit_storage
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_16bit_storage
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_bind_memory2
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_buffer_device_address
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_copy_commands2
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_create_renderpass2
../../../src/renderer_vk.cpp (691): BGFX 	v3   VK_KHR_dedicated_allocation
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_descriptor_update_template
../../../src/renderer_vk.cpp (691): BGFX 	v4   VK_KHR_device_group
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_draw_indirect_count
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_driver_properties
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_external_fence
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_external_memory
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_external_semaphore
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_get_memory_requirements2
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_image_format_list
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_imageless_framebuffer
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_incremental_present
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_KHR_maintenance1
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_maintenance2
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_maintenance3
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_multiview
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_KHR_push_descriptor
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_relaxed_block_layout
../../../src/renderer_vk.cpp (691): BGFX 	v3   VK_KHR_sampler_mirror_clamp_to_edge
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_shader_atomic_int64
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_shader_draw_parameters
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_storage_buffer_storage_class
../../../src/renderer_vk.cpp (691): BGFX 	v70  VK_KHR_swapchain
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_uniform_buffer_standard_layout
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_KHR_variable_pointers
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_calibrated_timestamps
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_EXT_conditional_rendering
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_extended_dynamic_state
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_host_query_reset
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_index_type_uint8
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_post_depth_coverage
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_private_data
../../../src/renderer_vk.cpp (691): BGFX 	v2   VK_EXT_sampler_filter_minmax
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_scalar_block_layout
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_shader_stencil_export
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_shader_viewport_index_layer (supported)
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_EXT_transform_feedback
../../../src/renderer_vk.cpp (691): BGFX 	v3   VK_EXT_vertex_attribute_divisor
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_GOOGLE_decorate_string
../../../src/renderer_vk.cpp (691): BGFX 	v1   VK_GOOGLE_hlsl_functionality1
../../../src/renderer_vk.cpp (717): BGFX 	Layer extensions (2):
../../../src/renderer_vk.cpp (729): BGFX 		VK_LAYER_MESA_device_select (s: 0x00402049, i: 0x00000001), Linux device selection layer
../../../src/renderer_vk.cpp (729): BGFX 		VK_LAYER_KHRONOS_validation (s: 0x004020a2, i: 0x00000001), Khronos Validation Layer
../../../src/renderer_vk.cpp (762): BGFX 			VK_EXT_validation_cache (s: 0x00000001)
../../../src/renderer_vk.cpp (762): BGFX 			VK_EXT_debug_marker (s: 0x00000004)
../../../src/renderer_vk.cpp (762): BGFX 			VK_EXT_tooling_info (s: 0x00000001)
../../../src/renderer_vk.cpp (1442): BGFX Using physical device 0: NVIDIA GeForce RTX 2070
../../../src/renderer_vk.cpp (1658): BGFX ---
../../../src/renderer_vk.cpp (1678): BGFX Queue family property 0:
../../../src/renderer_vk.cpp (1679): BGFX 	  Queue flags: 0x0000000f
../../../src/renderer_vk.cpp (1680): BGFX 	  Queue count: 16
../../../src/renderer_vk.cpp (1681): BGFX 	TS valid bits: 0x00000040
../../../src/renderer_vk.cpp (1682): BGFX 	    Min image: 1 x 1 x 1
../../../src/renderer_vk.cpp (1678): BGFX Queue family property 1:
../../../src/renderer_vk.cpp (1679): BGFX 	  Queue flags: 0x0000000c
../../../src/renderer_vk.cpp (1680): BGFX 	  Queue count: 2
../../../src/renderer_vk.cpp (1681): BGFX 	TS valid bits: 0x00000040
../../../src/renderer_vk.cpp (1682): BGFX 	    Min image: 1 x 1 x 1
../../../src/renderer_vk.cpp (1678): BGFX Queue family property 2:
../../../src/renderer_vk.cpp (1679): BGFX 	  Queue flags: 0x0000000e
../../../src/renderer_vk.cpp (1680): BGFX 	  Queue count: 8
../../../src/renderer_vk.cpp (1681): BGFX 	TS valid bits: 0x00000040
../../../src/renderer_vk.cpp (1682): BGFX 	    Min image: 1 x 1 x 1
../../../src/renderer_vk.cpp (1711): BGFX Enabled device layers:
../../../src/renderer_vk.cpp (1721): BGFX 	VK_LAYER_KHRONOS_validation
../../../src/renderer_vk.cpp (1750): BGFX Enabled device extensions:
../../../src/renderer_vk.cpp (1754): BGFX 	VK_KHR_maintenance1
../../../src/renderer_vk.cpp (1754): BGFX 	VK_KHR_swapchain
../../../src/renderer_vk.cpp (1754): BGFX 	VK_EXT_memory_budget
../../../src/renderer_vk.cpp (1754): BGFX 	VK_EXT_conservative_rasterization
../../../src/renderer_vk.cpp (1754): BGFX 	VK_EXT_line_rasterization
../../../src/renderer_vk.cpp (1754): BGFX 	VK_EXT_shader_viewport_index_layer
../../../src/renderer_vk.cpp (1754): BGFX 	VK_EXT_custom_border_color
../../../src/renderer_vk.cpp (1794): BGFX Device functions:
../../../src/renderer_vk.cpp (1799): BGFX 	0x3dbf67c0 vkGetDeviceQueue
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb901c0 vkCreateFence
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb904f0 vkDestroyFence
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb91500 vkCreateSemaphore
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb91830 vkDestroySemaphore
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb90890 vkResetFences
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb98f30 vkCreateCommandPool
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb991e0 vkDestroyCommandPool
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb99440 vkResetCommandPool
../../../src/renderer_vk.cpp (1799): BGFX 	0x3dbf6820 vkAllocateCommandBuffers
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb99970 vkFreeCommandBuffers
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb8c270 vkGetBufferMemoryRequirements
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb8c4d0 vkGetImageMemoryRequirements
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb94340 vkGetImageSubresourceLayout
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb8ab80 vkAllocateMemory
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb8ae30 vkFreeMemory
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb93e30 vkCreateImage
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb940e0 vkDestroyImage
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb945d0 vkCreateImageView
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb949c0 vkDestroyImageView
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb88610 vkCreateBuffer
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb93460 vkDestroyBuffer
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb97e40 vkCreateFramebuffer
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb98390 vkDestroyFramebuffer
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb98730 vkCreateRenderPass
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb9fb50 vkDestroyRenderPass
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb87c00 vkCreateShaderModule
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb94d60 vkDestroyShaderModule
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb94fc0 vkCreatePipelineCache
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb952f0 vkDestroyPipelineCache
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb95690 vkGetPipelineCacheData
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb95970 vkMergePipelineCaches
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb8cd40 vkCreateGraphicsPipelines
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb8dde0 vkCreateComputePipelines
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb95e20 vkDestroyPipeline
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb87900 vkCreatePipelineLayout
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb96080 vkDestroyPipelineLayout
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb962e0 vkCreateSampler
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb966c0 vkDestroySampler
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb96a60 vkCreateDescriptorSetLayout
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb96d10 vkDestroyDescriptorSetLayout
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb96f70 vkCreateDescriptorPool
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb97220 vkDestroyDescriptorPool
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb979d0 vkResetDescriptorPool
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb87fd0 vkAllocateDescriptorSets
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb97480 vkFreeDescriptorSets
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb97730 vkUpdateDescriptorSets
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb92a50 vkCreateQueryPool
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb92d80 vkDestroyQueryPool
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb8a450 vkQueueSubmit
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb8a700 vkQueueWaitIdle
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb8a940 vkDeviceWaitIdle
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb90f60 vkWaitForFences
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb99c00 vkBeginCommandBuffer
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb99e60 vkEndCommandBuffer
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eba0010 vkCmdPipelineBarrier
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eba68c0 vkCmdBeginRenderPass
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eba1630 vkCmdEndRenderPass
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb9a560 vkCmdSetViewport
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb9c5c0 vkCmdDraw
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb9c870 vkCmdDrawIndexed
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb9cb30 vkCmdDrawIndirect
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb9ce00 vkCmdDrawIndexedIndirect
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb9d0d0 vkCmdDispatch
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb9d370 vkCmdDispatchIndirect
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb9a300 vkCmdBindPipeline
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb9b8f0 vkCmdSetStencilReference
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb9af60 vkCmdSetBlendConstants
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb9a800 vkCmdSetScissor
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb9bb60 vkCmdBindDescriptorSets
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb9be50 vkCmdBindIndexBuffer
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb9c110 vkCmdBindVertexBuffers
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb9ea90 vkCmdClearColorImage
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb9ed80 vkCmdClearDepthStencilImage
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb9f070 vkCmdClearAttachments
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb9f320 vkCmdResolveImage
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb9d600 vkCmdCopyBuffer
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb9def0 vkCmdCopyBufferToImage
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb9d8a0 vkCmdCopyImage
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb9e1e0 vkCmdCopyImageToBuffer
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb9dbb0 vkCmdBlitImage
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eba0890 vkCmdResetQueryPool
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eba0b50 vkCmdWriteTimestamp
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eba0340 vkCmdBeginQuery
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eba0600 vkCmdEndQuery
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eba0e10 vkCmdCopyQueryPoolResults
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb8b090 vkMapMemory
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb8b340 vkUnmapMemory
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb8b580 vkFlushMappedMemoryRanges
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb8b800 vkInvalidateMappedMemoryRanges
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb8bd10 vkBindBufferMemory
../../../src/renderer_vk.cpp (1799): BGFX 	0x2eb8bfc0 vkBindImageMemory
../../../src/renderer_vk.cpp (1799): BGFX 	0x2ebb1850 vkCreateSwapchainKHR
../../../src/renderer_vk.cpp (1799): BGFX 	0x2ebaa4c0 vkDestroySwapchainKHR
../../../src/renderer_vk.cpp (1799): BGFX 	0x2ebaa970 vkGetSwapchainImagesKHR
../../../src/renderer_vk.cpp (1799): BGFX 	0x2ebaaef0 vkAcquireNextImageKHR
../../../src/renderer_vk.cpp (1799): BGFX 	0x2ebab210 vkQueuePresentKHR
../../../src/renderer_vk.cpp (1799): BGFX 	0x2ebcaa10 vkSetDebugUtilsObjectNameEXT
../../../src/renderer_vk.cpp (1799): BGFX 	0x2ebc6340 vkCmdBeginDebugUtilsLabelEXT
../../../src/renderer_vk.cpp (1799): BGFX 	0x2ebc6590 vkCmdEndDebugUtilsLabelEXT
../../../src/renderer_vk.cpp (1799): BGFX 	0x2ebc67b0 vkCmdInsertDebugUtilsLabelEXT
../../../src/renderer_vk.cpp (7267): BGFX findSurfaceFormat: Surface format RGBA8 not found! Defaulting to BGRA8.
../../../src/renderer_vk.cpp (1916): BGFX Create scratch buffer 0
../../../src/renderer_vk.cpp (1916): BGFX Create scratch buffer 1
../../../src/renderer_vk.cpp (1916): BGFX Create scratch buffer 2
../../../src/bgfx.cpp (1564): BGFX 
../../../src/bgfx.cpp (1568): BGFX Detected GPUs (2):
../../../src/bgfx.cpp (1569): BGFX 	 +----------------   Index
../../../src/bgfx.cpp (1570): BGFX 	 |  +-------------   Device ID
../../../src/bgfx.cpp (1571): BGFX 	 |  |    +--------   Vendor ID
../../../src/bgfx.cpp (1577): BGFX 	 0: 1f02 10de
../../../src/bgfx.cpp (1577): BGFX 	 1: 0000 0005
../../../src/bgfx.cpp (1584): BGFX 
../../../src/bgfx.cpp (1590): BGFX Supported renderer backends (3):
../../../src/bgfx.cpp (1593): BGFX 	 - Noop
../../../src/bgfx.cpp (1593): BGFX 	 - OpenGL 2.1
../../../src/bgfx.cpp (1593): BGFX 	 - Vulkan
../../../src/bgfx.cpp (1596): BGFX 
../../../src/bgfx.cpp (1597): BGFX Sort key masks:
../../../src/bgfx.cpp (1598): BGFX 	   View     3fc0000000000000
../../../src/bgfx.cpp (1599): BGFX 	   Draw bit 0020000000000000
../../../src/bgfx.cpp (1601): BGFX 
../../../src/bgfx.cpp (1602): BGFX 	D  Type     0018000000000000
../../../src/bgfx.cpp (1604): BGFX 
../../../src/bgfx.cpp (1605): BGFX 	D0 Blend    0006000000000000
../../../src/bgfx.cpp (1606): BGFX 	D0 Program  0001ff0000000000
../../../src/bgfx.cpp (1607): BGFX 	D0 Depth    000000ffffffff00
../../../src/bgfx.cpp (1609): BGFX 
../../../src/bgfx.cpp (1610): BGFX 	D1 Depth    0007fffffff80000
../../../src/bgfx.cpp (1611): BGFX 	D1 Blend    0000000000060000
../../../src/bgfx.cpp (1612): BGFX 	D1 Program  000000000001ff00
../../../src/bgfx.cpp (1614): BGFX 
../../../src/bgfx.cpp (1615): BGFX 	D2 Seq      0007ffff80000000
../../../src/bgfx.cpp (1616): BGFX 	D2 Blend    0000000060000000
../../../src/bgfx.cpp (1617): BGFX 	D2 Program  000000001ff00000
../../../src/bgfx.cpp (1619): BGFX 
../../../src/bgfx.cpp (1620): BGFX 	 C Seq      001ffffe00000000
../../../src/bgfx.cpp (1621): BGFX 	 C Program  00000001ff000000
../../../src/bgfx.cpp (1623): BGFX 
../../../src/bgfx.cpp (1624): BGFX Capabilities (renderer Vulkan, vendor 0x10de, device 0x1f02):
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_ALPHA_TO_COVERAGE
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_BLEND_INDEPENDENT
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_COMPUTE
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_CONSERVATIVE_RASTER
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_DRAW_INDIRECT
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_FRAGMENT_DEPTH
../../../src/bgfx.cpp (1631): BGFX 	[ ] BGFX_CAPS_FRAGMENT_ORDERING
../../../src/bgfx.cpp (1631): BGFX 	[ ] BGFX_CAPS_GRAPHICS_DEBUGGER
../../../src/bgfx.cpp (1631): BGFX 	[ ] BGFX_CAPS_HDR10
../../../src/bgfx.cpp (1631): BGFX 	[ ] BGFX_CAPS_HIDPI
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_IMAGE_RW
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_INDEX32
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_INSTANCING
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_OCCLUSION_QUERY
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_RENDERER_MULTITHREADED
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_SWAP_CHAIN
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_TEXTURE_2D_ARRAY
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_TEXTURE_3D
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_TEXTURE_BLIT
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_TEXTURE_COMPARE_ALL
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_TEXTURE_COMPARE_LEQUAL
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_TEXTURE_CUBE_ARRAY
../../../src/bgfx.cpp (1631): BGFX 	[ ] BGFX_CAPS_TEXTURE_DIRECT_ACCESS
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_TEXTURE_READ_BACK
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_VERTEX_ATTRIB_HALF
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_VERTEX_ATTRIB_UINT10
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_VERTEX_ID
../../../src/bgfx.cpp (1631): BGFX 	[x] BGFX_CAPS_VIEWPORT_LAYER_ARRAY
../../../src/bgfx.cpp (1638): BGFX 
../../../src/bgfx.cpp (1639): BGFX Limits:
../../../src/bgfx.cpp (1641): BGFX 	maxDrawCalls                 65535
../../../src/bgfx.cpp (1642): BGFX 	maxBlits                      1024
../../../src/bgfx.cpp (1643): BGFX 	maxTextureSize               32768
../../../src/bgfx.cpp (1644): BGFX 	maxTextureLayers              2048
../../../src/bgfx.cpp (1645): BGFX 	maxViews                       256
../../../src/bgfx.cpp (1646): BGFX 	maxFrameBuffers                128
../../../src/bgfx.cpp (1647): BGFX 	maxFBAttachments                 8
../../../src/bgfx.cpp (1648): BGFX 	maxPrograms                    512
../../../src/bgfx.cpp (1649): BGFX 	maxShaders                     512
../../../src/bgfx.cpp (1650): BGFX 	maxTextures                   4096
../../../src/bgfx.cpp (1651): BGFX 	maxTextureSamplers              16
../../../src/bgfx.cpp (1652): BGFX 	maxComputeBindings              16
../../../src/bgfx.cpp (1653): BGFX 	maxVertexLayouts                64
../../../src/bgfx.cpp (1654): BGFX 	maxVertexStreams                 4
../../../src/bgfx.cpp (1655): BGFX 	maxIndexBuffers               4096
../../../src/bgfx.cpp (1656): BGFX 	maxVertexBuffers              4096
../../../src/bgfx.cpp (1657): BGFX 	maxDynamicIndexBuffers        4096
../../../src/bgfx.cpp (1658): BGFX 	maxDynamicVertexBuffers       4096
../../../src/bgfx.cpp (1659): BGFX 	maxUniforms                    512
../../../src/bgfx.cpp (1660): BGFX 	maxOcclusionQueries            256
../../../src/bgfx.cpp (1661): BGFX 	maxEncoders                      8
../../../src/bgfx.cpp (1662): BGFX 	minResourceCbSize            65536
../../../src/bgfx.cpp (1663): BGFX 	transientVbSize            6291456
../../../src/bgfx.cpp (1664): BGFX 	transientIbSize            2097152
../../../src/bgfx.cpp (1667): BGFX 
../../../src/bgfx.cpp (1668): BGFX Supported texture formats:
../../../src/bgfx.cpp (1669): BGFX 	 +----------------   2D: x = supported / * = emulated
../../../src/bgfx.cpp (1670): BGFX 	 |+---------------   2D: sRGB format
../../../src/bgfx.cpp (1671): BGFX 	 ||+--------------   3D: x = supported / * = emulated
../../../src/bgfx.cpp (1672): BGFX 	 |||+-------------   3D: sRGB format
../../../src/bgfx.cpp (1673): BGFX 	 ||||+------------ Cube: x = supported / * = emulated
../../../src/bgfx.cpp (1674): BGFX 	 |||||+----------- Cube: sRGB format
../../../src/bgfx.cpp (1675): BGFX 	 ||||||+---------- vertex format
../../../src/bgfx.cpp (1676): BGFX 	 |||||||+--------- image: i = read-write / r = read / w = write
../../../src/bgfx.cpp (1677): BGFX 	 ||||||||+-------- framebuffer
../../../src/bgfx.cpp (1678): BGFX 	 |||||||||+------- MSAA framebuffer
../../../src/bgfx.cpp (1679): BGFX 	 ||||||||||+------ MSAA texture
../../../src/bgfx.cpp (1680): BGFX 	 |||||||||||+----- Auto-generated mips
../../../src/bgfx.cpp (1681): BGFX 	 ||||||||||||  +-- name
../../../src/bgfx.cpp (1688): BGFX 	[xlxlxlv     ] BC1
../../../src/bgfx.cpp (1688): BGFX 	[xlxlxlv     ] BC2
../../../src/bgfx.cpp (1688): BGFX 	[xlxlxlv     ] BC3
../../../src/bgfx.cpp (1688): BGFX 	[x x x v     ] BC4
../../../src/bgfx.cpp (1688): BGFX 	[x x x v     ] BC5
../../../src/bgfx.cpp (1688): BGFX 	[x x x v     ] BC6H
../../../src/bgfx.cpp (1688): BGFX 	[xlxlxlv     ] BC7
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] ETC1
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] ETC2
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] ETC2A
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] ETC2A1
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] PTC12
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] PTC14
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] PTC12A
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] PTC14A
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] PTC22
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] PTC24
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] ATC
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] ATCE
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] ATCI
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] ASTC4x4
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] ASTC5x5
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] ASTC6x6
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] ASTC8x5
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] ASTC8x6
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] ASTC10x5
../../../src/bgfx.cpp (1688): BGFX 	[            ] R1
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] A8
../../../src/bgfx.cpp (1688): BGFX 	[xlxlxlvif+mM] R8
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] R8I
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] R8U
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] R8S
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] R16
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] R16I
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] R16U
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] R16F
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] R16S
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] R32I
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] R32U
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] R32F
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RG8
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RG8I
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RG8U
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RG8S
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RG16
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RG16I
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RG16U
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RG16F
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RG16S
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RG32I
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RG32U
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RG32F
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] RGB8
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] RGB8I
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] RGB8U
../../../src/bgfx.cpp (1688): BGFX 	[* * *       ] RGB8S
../../../src/bgfx.cpp (1688): BGFX 	[x x x v     ] RGB9E5
../../../src/bgfx.cpp (1688): BGFX 	[xlxlxlvif+mM] BGRA8
../../../src/bgfx.cpp (1688): BGFX 	[xlxlxlvif+mM] RGBA8
../../../src/bgfx.cpp (1688): BGFX 	[xlxlxlvif+mM] RGBA8I
../../../src/bgfx.cpp (1688): BGFX 	[xlxlxlvif+mM] RGBA8U
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RGBA8S
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RGBA16
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RGBA16I
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RGBA16U
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RGBA16F
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RGBA16S
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RGBA32I
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RGBA32U
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RGBA32F
../../../src/bgfx.cpp (1688): BGFX 	[x x x v     ] R5G6B5
../../../src/bgfx.cpp (1688): BGFX 	[x x x v     ] RGBA4
../../../src/bgfx.cpp (1688): BGFX 	[x x x v f+mM] RGB5A1
../../../src/bgfx.cpp (1688): BGFX 	[x x x v f+mM] RGB10A2
../../../src/bgfx.cpp (1688): BGFX 	[x x x vif+mM] RG11B10F
../../../src/bgfx.cpp (1688): BGFX 	[x x x v f+mM] D16
../../../src/bgfx.cpp (1688): BGFX 	[x x x v f+mM] D24
../../../src/bgfx.cpp (1688): BGFX 	[x x x v f+mM] D24S8
../../../src/bgfx.cpp (1688): BGFX 	[x x x v f+mM] D32
../../../src/bgfx.cpp (1688): BGFX 	[x x x v f+mM] D16F
../../../src/bgfx.cpp (1688): BGFX 	[x x x v f+mM] D24F
../../../src/bgfx.cpp (1688): BGFX 	[x x x v f+mM] D32F
../../../src/bgfx.cpp (1688): BGFX 	[x x x v f+mM] D0S8
../../../src/bgfx.cpp (1708): BGFX 
../../../src/bgfx.cpp (1709): BGFX NDC depth [0, 1], origin top left.
../../../src/bgfx.cpp (1714): BGFX 
../../../src/bgfx_p.h (4749): BGFX Creating uniform (handle   0) s_texColor
../../../src/bgfx_p.h (4749): BGFX Creating uniform (handle   1) bgfx_clear_depth
../../../src/bgfx_p.h (4749): BGFX Creating uniform (handle   2) bgfx_clear_color
../../../src/renderer_vk.cpp (5868): BGFX Texture   0: R8 (requested: R8), 2048x24x1 RT[ ], BO[ ], CW[ ].
../../../src/renderer_vk.cpp (4736): BGFX Vertex Shader consts 1
../../../src/renderer_vk.cpp (4907): BGFX 	predefined: u_modelViewProj (mat4), r.index   0, r.count  4, r.texComponent 0, r.texDimension 0
../../../src/renderer_vk.cpp (4736): BGFX Fragment Shader consts 1
../../../src/renderer_vk.cpp (4907): BGFX 	sampler: s_texColor (sampler1), r.index   2, r.count  0, r.texComponent 0, r.texDimension 2
../../../src/bgfx.cpp (527): BGFX VertexLayout 74c34f26 (d443ed7f), stride 28
../../../src/bgfx.cpp (543): BGFX 	attr  0: Attrib::Position     num 3, type 4, norm [ ], asint [ ], offset  0
../../../src/bgfx.cpp (543): BGFX 	attr  4: Attrib::Color0       num 4, type 0, norm [x], asint [ ], offset 12
../../../src/bgfx.cpp (543): BGFX 	attr  5: Attrib::Color1       num 4, type 0, norm [x], asint [ ], offset 16
../../../src/bgfx.cpp (543): BGFX 	attr 10: Attrib::TexCoord0    num 2, type 4, norm [ ], asint [ ], offset 20
../../../src/renderer_vk.cpp (4736): BGFX Vertex Shader consts 1
../../../src/renderer_vk.cpp (4907): BGFX 	user: bgfx_clear_depth (vec4), r.index   0, r.count  1, r.texComponent 0, r.texDimension 0
../../../src/renderer_vk.cpp (4736): BGFX Fragment Shader consts 1
../../../src/renderer_vk.cpp (4907): BGFX 	user: bgfx_clear_color (vec4), r.index   0, r.count  1, r.texComponent 0, r.texDimension 0
../../../src/renderer_vk.cpp (4736): BGFX Fragment Shader consts 1
../../../src/renderer_vk.cpp (4907): BGFX 	user: bgfx_clear_color (vec4), r.index   0, r.count  2, r.texComponent 0, r.texDimension 0
../../../src/renderer_vk.cpp (4736): BGFX Fragment Shader consts 1
../../../src/renderer_vk.cpp (4907): BGFX 	user: bgfx_clear_color (vec4), r.index   0, r.count  3, r.texComponent 0, r.texDimension 0
../../../src/renderer_vk.cpp (4736): BGFX Fragment Shader consts 1
../../../src/renderer_vk.cpp (4907): BGFX 	user: bgfx_clear_color (vec4), r.index   0, r.count  4, r.texComponent 0, r.texDimension 0
../../../src/renderer_vk.cpp (4736): BGFX Fragment Shader consts 1
../../../src/renderer_vk.cpp (4907): BGFX 	user: bgfx_clear_color (vec4), r.index   0, r.count  5, r.texComponent 0, r.texDimension 0
../../../src/renderer_vk.cpp (4736): BGFX Fragment Shader consts 1
../../../src/renderer_vk.cpp (4907): BGFX 	user: bgfx_clear_color (vec4), r.index   0, r.count  6, r.texComponent 0, r.texDimension 0
../../../src/renderer_vk.cpp (4736): BGFX Fragment Shader consts 1
../../../src/renderer_vk.cpp (4907): BGFX 	user: bgfx_clear_color (vec4), r.index   0, r.count  7, r.texComponent 0, r.texDimension 0
../../../src/renderer_vk.cpp (4736): BGFX Fragment Shader consts 1
../../../src/renderer_vk.cpp (4907): BGFX 	user: bgfx_clear_color (vec4), r.index   0, r.count  8, r.texComponent 0, r.texDimension 0
../../../src/bgfx.cpp (527): BGFX VertexLayout aaaa40da (e0896034), stride 8
../../../src/bgfx.cpp (543): BGFX 	attr  0: Attrib::Position     num 2, type 4, norm [ ], asint [ ], offset  0
../../../src/bgfx.cpp (3537): BGFX Init complete.
../../../src/bgfx_p.h (4749): BGFX Creating uniform (handle   3) s_tex
../../../src/bgfx_p.h (4749): BGFX Creating uniform (handle   4) u_imageLodEnabled
../../../src/bgfx.cpp (1723): BGFX Reset back-buffer swap chain:
../../../src/renderer_vk.cpp (4736): BGFX Fragment Shader consts 1
../../../src/bgfx.cpp (1724): BGFX 	1280x720, format: RGBA8, numBackBuffers: 2, maxFrameLatency: 0
../../../src/bgfx.cpp (1733): BGFX 	[ ] MSAAx1
../../../src/bgfx.cpp (1734): BGFX 	[ ] Fullscreen
../../../src/renderer_vk.cpp (4907): BGFX 	sampler: s_tex (sampler1), r.index   2, r.count  0, r.texComponent 0, r.texDimension 2
../../../src/bgfx.cpp (1735): BGFX 	[x] V-sync
../../../src/bgfx.cpp (1736): BGFX 	[ ] Max Anisotropy
../../../src/bgfx.cpp (1737): BGFX 	[ ] Capture
../../../src/bgfx.cpp (1738): BGFX 	[ ] Flush After Render
../../../src/bgfx.cpp (1739): BGFX 	[ ] Flip After Render
../../../src/bgfx.cpp (1740): BGFX 	[ ] sRGB Back Buffer
../../../src/bgfx.cpp (1741): BGFX 	[ ] HDR10
../../../src/bgfx.cpp (1742): BGFX 	[ ] Hi-DPI
../../../src/bgfx.cpp (1743): BGFX 	[ ] Depth Clamp
../../../src/bgfx.cpp (1744): BGFX 	[ ] Suspend
../../../src/renderer_vk.cpp (4736): BGFX Vertex Shader consts 1
../../../src/renderer_vk.cpp (4907): BGFX 	predefined: u_viewProj (mat4), r.index   0, r.count  4, r.texComponent 0, r.texDimension 0
../../../src/renderer_vk.cpp (4736): BGFX Fragment Shader consts 2
../../../src/renderer_vk.cpp (4907): BGFX 	user: u_imageLodEnabled (vec4), r.index   0, r.count  1, r.texComponent 0, r.texDimension 0
../../../src/renderer_vk.cpp (4907): BGFX 	sampler: s_texColor (sampler1), r.index   2, r.count  0, r.texComponent 0, r.texDimension 2
../../../src/renderer_vk.cpp (4736): BGFX Vertex Shader consts 1
../../../src/renderer_vk.cpp (4907): BGFX 	predefined: u_viewProj (mat4), r.index   0, r.count  4, r.texComponent 0, r.texDimension 0
../../../src/renderer_vk.cpp (5868): BGFX Texture   1: BGRA8 (requested: BGRA8), 1024x1024x1 RT[ ], BO[ ], CW[ ].
../../../src/bgfx.cpp (527): BGFX VertexLayout 93597fa9 (21d0cb5a), stride 20
../../../src/bgfx.cpp (543): BGFX 	attr  0: Attrib::Position     num 2, type 4, norm [ ], asint [ ], offset  0
../../../src/bgfx.cpp (543): BGFX 	attr  4: Attrib::Color0       num 4, type 0, norm [x], asint [ ], offset 16
../../../src/bgfx.cpp (543): BGFX 	attr 10: Attrib::TexCoord0    num 2, type 4, norm [ ], asint [ ], offset  8
../../../src/bgfx.cpp (1723): BGFX Reset back-buffer swap chain:
../../../src/bgfx.cpp (1724): BGFX 	1920x1200, format: RGBA8, numBackBuffers: 2, maxFrameLatency: 0
../../../src/bgfx.cpp (1733): BGFX 	[ ] MSAAx1
../../../src/bgfx.cpp (1734): BGFX 	[ ] Fullscreen
../../../src/bgfx.cpp (1735): BGFX 	[x] V-sync
../../../src/bgfx.cpp (1736): BGFX 	[ ] Max Anisotropy
../../../src/bgfx.cpp (1737): BGFX 	[ ] Capture
../../../src/bgfx.cpp (1738): BGFX 	[ ] Flush After Render
../../../src/bgfx.cpp (1739): BGFX 	[ ] Flip After Render
../../../src/bgfx.cpp (1740): BGFX 	[ ] sRGB Back Buffer
../../../src/bgfx.cpp (1741): BGFX 	[ ] HDR10
../../../src/bgfx.cpp (1742): BGFX 	[ ] Hi-DPI
../../../src/bgfx.cpp (1743): BGFX 	[ ] Depth Clamp
../../../src/bgfx.cpp (1744): BGFX 	[ ] Suspend
../../../src/bgfx.cpp (3575): BGFX Shutdown...
../../../src/bgfx.cpp (3584): BGFX Shutdown complete.

@pezcode
Copy link
Contributor

pezcode commented Aug 25, 2021

My first intuition here is that the swapchain gets invalidated and no resize event is received. Some reset parameters force a swapchain recreation, among others v-sync and sRGB, but not MSAA (since that just changes the intermediate buffer to resolve from).

When the swapchain gets invalidated (usually the window is resized), Vulkan gives us a hint to stop rendering into the swapchain, but we can't recreate it right away, because we don't have the new window size. We can get it from Vulkan, but we won't get the reset event until it bubbled all the way down to the render thread a few frames later. I suspect that some combination of window resize -> reset event [too early!] -> swapchain invalid screws with that logic.

I'm going to set up a VM and see if this is reproducible, otherwise this is very tricky to fix.

@belegdol
Copy link
Contributor Author

belegdol commented Aug 25, 2021

Now that I know how to switch to full screen, I have tested this on my AMD laptop. In a wayland session, attempt to go to fullscreen with vulkan renderer results in a crash:

../../../src/renderer_vk.cpp (7327): BGFX CHECK vkAcquireNextImageKHR(...); VK error 0x3b9acdeb: VK_SUBOPTIMAL_KHR
../../../src/renderer_vk.cpp (7327): BGFX 0x00000000: vkAcquireNextImageKHR(...); VK error 0x3b9acdeb: VK_SUBOPTIMAL_KHR
Trace/Breakpoint ausgelöst (Speicherabzug geschrieben)

GL (--gl) renderer works fine.

With X.org session both renderers works fine, i.e. no crash and no freeze. This might mean that reproducing this in a VM might be tricky. If you have access to an nvidia machine, maybe a Fedora Live USB could be an option? Here is the information regarding the set-up:
https://docs.fedoraproject.org/en-US/quick-docs/creating-and-using-a-live-installation-image/
Having said that, I am not sure if or how a USB stick with nvidia binary drivers on it can be made.

@pezcode
Copy link
Contributor

pezcode commented Aug 25, 2021

That crash is probably an unrelated bug 🙊 Can you add case VK_SUBOPTIMAL_KHR: here:

case VK_ERROR_OUT_OF_DATE_KHR:
(so both SUBOPTIMAL and OUT_OF_DATE set m_needToRefreshSwapchain = true). That should at least fix that.

Thanks for the pointer on the live USB, might work better than a VM.

@belegdol
Copy link
Contributor Author

belegdol commented Aug 25, 2021

The plot thickens: I have changed renderer_vk.cpp as you suggested:

index c857916c2..c49ffc2ae 100644
--- a/src/renderer_vk.cpp
+++ b/src/renderer_vk.cpp
@@ -7320,6 +7320,7 @@ VK_DESTROY
                                BX_FALLTHROUGH;
 
                        case VK_ERROR_OUT_OF_DATE_KHR:
+                       case VK_SUBOPTIMAL_KHR:
                                m_needToRefreshSwapchain = true;
                                return false;

I can now switch to fullscreen with vulkan renderer on my wayland session, and the video will stop updating immediately - not like with nvidia/X.org, which happens after a few moments. I can unfreeze it by clicking reset, but not by disabling VSync with F7 as the latter causes a crash (works with --gl):

../../../src/renderer_vk.cpp (6922): BGFX Create swapchain error: vkGetSwapchainImagesKHR: numSwapchainImages 5 > countof(m_backBufferColorImage) 4.
../../../src/renderer_vk.cpp (6655): BGFX CHECK createSwapChain(); VK error 0xfffffffd: VK_ERROR_INITIALIZATION_FAILED
../../../src/renderer_vk.cpp (6655): BGFX 0x00000000: createSwapChain(); VK error 0xfffffffd: VK_ERROR_INITIALIZATION_FAILED
Trace/Breakpoint ausgelöst (Speicherabzug geschrieben)

So we have the following:

  • with nvidia binary drivers, fullscreen vulkan freezes after few moments on X.org and works fine on wayland
  • with amd drivers, fullscreen vulkan works fine on X.org and freezes immediately on wayland

ETA: however strange it might be, it might actually be a good thing that a similar problem occurs with standard radeon drivers. If the cause is the same, this would make reproducing it much simpler as standard Live USB would be sufficient, without the need to slipstream the nvidia drivers into it.

belegdol added a commit to belegdol/bgfx that referenced this issue Aug 30, 2021
Without this change, running examples under XWayland, SDL and vulkan
renderer results in a crash. Credit goes to @pezcode:
bkaradzic#2593 (comment)
@belegdol
Copy link
Contributor Author

I was not able to reproduce this on Ubuntu 20.04 running inside QEMU/KVM.

@belegdol
Copy link
Contributor Author

belegdol commented Aug 30, 2021

I was able to reproduce using Pop!_OS 21.04 Live USB with nvidia driver preinstalled: https://pop.system76.com/

bkaradzic pushed a commit that referenced this issue Aug 30, 2021
Without this change, running examples under XWayland, SDL and vulkan
renderer results in a crash. Credit goes to @pezcode:
#2593 (comment)
belegdol added a commit to belegdol/mame that referenced this issue Oct 2, 2021
Without this change, running examples under XWayland, SDL and vulkan
renderer results in a crash. Credit goes to @pezcode:
bkaradzic/bgfx#2593 (comment)
@pezcode
Copy link
Contributor

pezcode commented Oct 14, 2021

I was able to reproduce using Pop!_OS 21.04 Live USB with nvidia driver preinstalled: https://pop.system76.com/

Sorry for the delay... I tried the Live USB a while back and the experience was questionable, but I got a new SSD the other day so I can properly dual boot into Pop OS now.

Good news is I can reproduce a crash when going fullscreen.
Bad news is that's about as much info as I got. For some reason Vulkan validation layers aren't working and I just get VK_ERROR_DEVICE_LOST which is about as helpful as "something went wrong". Also getting device lost simply when resizing, something fishy going on with SDL2 that the X11 entry is not triggering. I'll try to find some time over the weekend to debug this, will let you know if I find anything else.

@bkaradzic
Copy link
Owner

something fishy going on with SDL2 that the X11 entry is not triggering

If it works with entry_x11 it's not bgfx problem...

@belegdol
Copy link
Contributor Author

something fishy going on with SDL2 that the X11 entry is not triggering

If it works with entry_x11 it's not bgfx problem...

I tried dolphin emulator with Vulkan renderer and it does not freeze after going fullscreen. Do you know another software which uses SDL and Vulkan which I could try?

jazzbre pushed a commit to jazzbre/bgfx that referenced this issue Dec 6, 2021
Without this change, running examples under XWayland, SDL and vulkan
renderer results in a crash. Credit goes to @pezcode:
bkaradzic#2593 (comment)
@belegdol
Copy link
Contributor Author

I got a new monitor which is capable of freesync and experimented a bit. With opengl backend, after going to fullscreen the indicators initially show blit/normal before switching to flip/gsync. With vulkan they never switch, and the delay until screen stops updating is suspiciously similar to the one needed to flip/gsync activation.

@belegdol
Copy link
Contributor Author

belegdol commented Feb 6, 2022

This seems fixed as of 510.47.03 nvidia driver. From 510.39.01 changelog [1]:

Worked around an issue that prevented some games from flipping (and therefore taking advantage of G-SYNC and G-SYNC Compatible monitors) on certain desktops such as GNOME.

[1] https://forums.developer.nvidia.com/t/linux-solaris-and-freebsd-driver-510-39-01-beta/200220

@belegdol belegdol closed this as completed Feb 6, 2022
mipek pushed a commit to mipek/bgfx that referenced this issue Mar 2, 2024
Without this change, running examples under XWayland, SDL and vulkan
renderer results in a crash. Credit goes to @pezcode:
bkaradzic#2593 (comment)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants