Giter VIP home page Giter VIP logo

Comments (6)

Chris1AA avatar Chris1AA commented on July 24, 2024

a) Check if the issue can be reproduced with a bgfx-example.
b) Check on a full-stack dump and the according bgfx debug-log.
c) Since Qt is used for the front-end, also check what kind of window is used: e.g. child-windows might not be supported by the underlaying vulkan-driver (*).
d) See if the issue remains with another vulkan-driver, on another hardware (e.g. AMD vs. nVidia).

If it's an issue with the underlaying drivers, please help to find out what e.g. vulkan-attribut should be considered by the bgfx code, to avoid running into this particular crash (hence, stack dump and debug-logs).

*) I have seen buggy vulkan-drivers when it comes to unsupported or half-supported window-styles, in particular with AMD drivers on Linux, but even on Windows.

from bgfx.

alemuntoni avatar alemuntoni commented on July 24, 2024

a) Check if the issue can be reproduced with a bgfx-example.

I did some testing and it seems that Qt is not the cause. The behavior is consistent in the examples as well, even when using GLFW.

It can be reproduced in any BGFX example by setting init.platformData.ndt = nullptr. For example, here:

init.platformData.ndt = entry::getNativeDisplayHandle();

Please note that modifying (in any example):

init.type = bgfx::RendererType::OpenGL;
init.platformData.ndt  = nullptr;

makes it work. It appears that ndt is required under Vulkan, but not under OpenGL. Is it possible to make ndt optional, as it was done when #1559 was resolved?

I also created a small example using GLFW:

#include <bx/bx.h>
#include <bgfx/bgfx.h>
#include <bgfx/platform.h>
#include <GLFW/glfw3.h>
#if BX_PLATFORM_LINUX
#define GLFW_EXPOSE_NATIVE_X11
#elif BX_PLATFORM_WINDOWS
#define GLFW_EXPOSE_NATIVE_WIN32
#elif BX_PLATFORM_OSX
#define GLFW_EXPOSE_NATIVE_COCOA
#endif
#include <GLFW/glfw3native.h>


int main(int argc, char **argv)
{
    if (!glfwInit())
        return 1;
    glfwWindowHint(GLFW_CLIENT_API, GLFW_NO_API);
    GLFWwindow *window = glfwCreateWindow(1024, 768, "helloworld", nullptr, nullptr);
    if (!window)
        return 1;
    bgfx::Init init;
#if BX_PLATFORM_LINUX || BX_PLATFORM_BSD
    init.platformData.ndt = nullptr; // was glfwGetX11Display();
    init.platformData.nwh = (void*)(uintptr_t)glfwGetX11Window(window);
#elif BX_PLATFORM_OSX
    init.platformData.nwh = glfwGetCocoaWindow(window);
#elif BX_PLATFORM_WINDOWS
    init.platformData.nwh = glfwGetWin32Window(window);
#endif
    int width, height;
    glfwGetWindowSize(window, &width, &height);
    init.resolution.width = (uint32_t)width;
    init.resolution.height = (uint32_t)height;
    init.resolution.reset = BGFX_RESET_VSYNC;
    if (!bgfx::init(init))
        return 1;
   
    // clear and render loop here - omitting     

    bgfx::shutdown();
    glfwTerminate();
    return 0;
}

The behaviour is the same. It cashes with Vulkan when ndt is nullptr, it works with OpenGL.

b) Check on a full-stack dump and the according bgfx debug-log.

bgfx/src/bgfx.cpp (3559): BGFX Init...
bgfx/src/bgfx.cpp (3566): BGFX Version 1.122.8546 (commit: 878767e751e332309369beecb83e86494f90f8fa)
bgfx/src/bgfx.cpp (1745): BGFX Reset back-buffer swap chain:
bgfx/src/bgfx.cpp (1746): BGFX 	1280x720, format: RGBA8, numBackBuffers: 2, maxFrameLatency: 0
bgfx/src/bgfx.cpp (1756): BGFX 	[ ] MSAAx1
bgfx/src/bgfx.cpp (1757): BGFX 	[ ] Fullscreen
bgfx/src/bgfx.cpp (1758): BGFX 	[x] V-sync
bgfx/src/bgfx.cpp (1759): BGFX 	[ ] Max Anisotropy
bgfx/src/bgfx.cpp (1760): BGFX 	[ ] Capture
bgfx/src/bgfx.cpp (1761): BGFX 	[ ] Flush After Render
bgfx/src/bgfx.cpp (1762): BGFX 	[ ] Flip After Render
bgfx/src/bgfx.cpp (1763): BGFX 	[ ] sRGB Back Buffer
bgfx/src/bgfx.cpp (1764): BGFX 	[ ] Transparent Back Buffer
bgfx/src/bgfx.cpp (1765): BGFX 	[ ] HDR10
bgfx/src/bgfx.cpp (1766): BGFX 	[ ] Hi-DPI
bgfx/src/bgfx.cpp (1767): BGFX 	[ ] Depth Clamp
bgfx/src/bgfx.cpp (1768): BGFX 	[ ] Suspend
bgfx/src/bgfx.cpp (1948): BGFX Creating rendering thread.
bgfx/src/bgfx.cpp (1957): BGFX Running in multi-threaded mode
bgfx/src/bgfx_p.h (3148): BGFX render thread start
bx/src/os.cpp(189): BX WARN dlopen failed: "librenderdoc.so: cannot open shared object file: No such file or directory".
bgfx/src/bgfx.cpp (428): BGFX Graphics debugger is not present.
bgfx/src/renderer_vk.cpp (1178): BGFX Shared library functions:
bgfx/src/renderer_vk.cpp (1185): BGFX 	0xc7cdfe50 vkCreateInstance
bgfx/src/renderer_vk.cpp (1185): BGFX 	0xc7cd4450 vkGetInstanceProcAddr
bgfx/src/renderer_vk.cpp (1185): BGFX 	0xc7cced50 vkGetDeviceProcAddr
bgfx/src/renderer_vk.cpp (1185): BGFX 	0xc7cda3b0 vkEnumerateInstanceExtensionProperties
bgfx/src/renderer_vk.cpp (1185): BGFX 	0xc7cda6b0 vkEnumerateInstanceLayerProperties
bgfx/src/renderer_vk.cpp (1185): BGFX 	0xc7cda9b0 vkEnumerateInstanceVersion
bgfx/src/renderer_vk.cpp (719): BGFX Global extensions (20):
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_device_group_creation
bgfx/src/renderer_vk.cpp (732): BGFX 	v23  VK_KHR_display
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_external_fence_capabilities
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_external_memory_capabilities
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_external_semaphore_capabilities
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_get_display_properties2
bgfx/src/renderer_vk.cpp (732): BGFX 	v2   VK_KHR_get_physical_device_properties2 (supported)
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_get_surface_capabilities2
bgfx/src/renderer_vk.cpp (732): BGFX 	v25  VK_KHR_surface
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_surface_protected_capabilities
bgfx/src/renderer_vk.cpp (732): BGFX 	v6   VK_KHR_wayland_surface
bgfx/src/renderer_vk.cpp (732): BGFX 	v6   VK_KHR_xcb_surface
bgfx/src/renderer_vk.cpp (732): BGFX 	v6   VK_KHR_xlib_surface
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_acquire_drm_display
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_acquire_xlib_display
bgfx/src/renderer_vk.cpp (732): BGFX 	v10  VK_EXT_debug_report (supported)
bgfx/src/renderer_vk.cpp (732): BGFX 	v2   VK_EXT_debug_utils (supported)
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_direct_mode_display
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_display_surface_counter
bgfx/src/renderer_vk.cpp (732): BGFX 	v4   VK_EXT_swapchain_colorspace
bgfx/src/renderer_vk.cpp (758): BGFX Layer extensions (4):
bgfx/src/renderer_vk.cpp (770): BGFX 	VK_LAYER_MESA_device_select (s: 0x004030d3, i: 0x00000001), Linux device selection layer
bgfx/src/renderer_vk.cpp (770): BGFX 	VK_LAYER_NV_optimus (s: 0x004030f2, i: 0x00000001), NVIDIA Optimus layer
bgfx/src/renderer_vk.cpp (770): BGFX 	VK_LAYER_MESA_overlay (s: 0x004030d3, i: 0x00000001), Mesa Overlay layer
bgfx/src/renderer_vk.cpp (770): BGFX 	VK_LAYER_INTEL_nullhw (s: 0x00401049, i: 0x00000001), INTEL NULL HW
bgfx/src/renderer_vk.cpp (1220): BGFX Enabled instance layers:
bgfx/src/renderer_vk.cpp (1269): BGFX Enabled instance extensions:
bgfx/src/renderer_vk.cpp (1273): BGFX 	VK_KHR_surface
bgfx/src/renderer_vk.cpp (1273): BGFX 	VK_KHR_xcb_surface
bgfx/src/renderer_vk.cpp (1273): BGFX 	VK_EXT_debug_utils
bgfx/src/renderer_vk.cpp (1273): BGFX 	VK_EXT_debug_report
bgfx/src/renderer_vk.cpp (1273): BGFX 	VK_KHR_get_physical_device_properties2
bgfx/src/renderer_vk.cpp (1340): BGFX Instance API version: 1.3.204
bgfx/src/renderer_vk.cpp (1345): BGFX Instance variant: 0
bgfx/src/renderer_vk.cpp (1350): BGFX Instance functions:
bgfx/src/renderer_vk.cpp (1356): BGFX 	0xc7cdb540 vkDestroyInstance
bgfx/src/renderer_vk.cpp (1356): BGFX 	0xc7cdf510 vkEnumeratePhysicalDevices
bgfx/src/renderer_vk.cpp (1356): BGFX 	0xc7cdbea0 vkEnumerateDeviceExtensionProperties
bgfx/src/renderer_vk.cpp (1356): BGFX 	0xc7cdbf30 vkEnumerateDeviceLayerProperties
bgfx/src/renderer_vk.cpp (1356): BGFX 	0xc7cdbdb0 vkGetPhysicalDeviceProperties
bgfx/src/renderer_vk.cpp (1356): BGFX 	0xc7cdbd10 vkGetPhysicalDeviceFormatProperties
bgfx/src/renderer_vk.cpp (1356): BGFX 	0xc7cdbcc0 vkGetPhysicalDeviceFeatures
bgfx/src/renderer_vk.cpp (1356): BGFX 	0xc7cdbd60 vkGetPhysicalDeviceImageFormatProperties
bgfx/src/renderer_vk.cpp (1356): BGFX 	0xc7cdbe50 vkGetPhysicalDeviceMemoryProperties
bgfx/src/renderer_vk.cpp (1356): BGFX 	0xc7cdbe00 vkGetPhysicalDeviceQueueFamilyProperties
bgfx/src/renderer_vk.cpp (1356): BGFX 	0xc7cdf6a0 vkCreateDevice
bgfx/src/renderer_vk.cpp (1356): BGFX 	0xc7cdf740 vkDestroyDevice
bgfx/src/renderer_vk.cpp (1356): BGFX 	0xc7cdeca0 vkGetPhysicalDeviceSurfaceCapabilitiesKHR
bgfx/src/renderer_vk.cpp (1356): BGFX 	0xc7cdedb0 vkGetPhysicalDeviceSurfaceFormatsKHR
bgfx/src/renderer_vk.cpp (1356): BGFX 	0xc7cdeec0 vkGetPhysicalDeviceSurfacePresentModesKHR
bgfx/src/renderer_vk.cpp (1356): BGFX 	0xc7cdeb80 vkGetPhysicalDeviceSurfaceSupportKHR
bgfx/src/renderer_vk.cpp (1356): BGFX 	0xc7cdeb10 vkDestroySurfaceKHR
bgfx/src/renderer_vk.cpp (1356): BGFX 	0xc7cddf50 vkGetPhysicalDeviceFeatures2KHR
bgfx/src/renderer_vk.cpp (1356): BGFX 	0xc7cde180 vkGetPhysicalDeviceMemoryProperties2KHR
bgfx/src/renderer_vk.cpp (1356): BGFX 	0xc7cbc560 vkCreateDebugReportCallbackEXT
bgfx/src/renderer_vk.cpp (1356): BGFX 	0xc7cbc600 vkDestroyDebugReportCallbackEXT
bgfx/src/renderer_vk.cpp (1356): BGFX 	0x0 vkCreateXlibSurfaceKHR
bgfx/src/renderer_vk.cpp (1356): BGFX 	0x0 vkGetPhysicalDeviceXlibPresentationSupportKHR
bgfx/src/renderer_vk.cpp (1356): BGFX 	0xc7cdf240 vkCreateXcbSurfaceKHR
bgfx/src/renderer_vk.cpp (1356): BGFX 	0xc7cdf2b0 vkGetPhysicalDeviceXcbPresentationSupportKHR
bgfx/src/renderer_vk.cpp (1387): BGFX ---
bgfx/src/renderer_vk.cpp (1424): BGFX Physical device 0:
bgfx/src/renderer_vk.cpp (1425): BGFX 	          Name: NVIDIA GeForce GTX 1080
bgfx/src/renderer_vk.cpp (1426): BGFX 	   API version: 1.3.242
bgfx/src/renderer_vk.cpp (1431): BGFX 	   API variant: 0
bgfx/src/renderer_vk.cpp (1432): BGFX 	Driver version: 85dc4040
bgfx/src/renderer_vk.cpp (1433): BGFX 	      VendorId: 10de
bgfx/src/renderer_vk.cpp (1434): BGFX 	      DeviceId: 1b80
bgfx/src/renderer_vk.cpp (1435): BGFX 	          Type: 2
bgfx/src/renderer_vk.cpp (1473): BGFX 	Memory type count: 11
bgfx/src/renderer_vk.cpp (1476): BGFX 	  0: flags 0x00000000, index 1
bgfx/src/renderer_vk.cpp (1476): BGFX 	  1: flags 0x00000000, index 1
bgfx/src/renderer_vk.cpp (1476): BGFX 	  2: flags 0x00000000, index 1
bgfx/src/renderer_vk.cpp (1476): BGFX 	  3: flags 0x00000000, index 1
bgfx/src/renderer_vk.cpp (1476): BGFX 	  4: flags 0x00000000, index 1
bgfx/src/renderer_vk.cpp (1476): BGFX 	  5: flags 0x00000000, index 1
bgfx/src/renderer_vk.cpp (1476): BGFX 	  6: flags 0x00000000, index 1
bgfx/src/renderer_vk.cpp (1476): BGFX 	  7: flags 0x00000001, index 0
bgfx/src/renderer_vk.cpp (1476): BGFX 	  8: flags 0x00000006, index 1
bgfx/src/renderer_vk.cpp (1476): BGFX 	  9: flags 0x0000000e, index 1
bgfx/src/renderer_vk.cpp (1476): BGFX 	 10: flags 0x00000007, index 2
bgfx/src/renderer_vk.cpp (1483): BGFX 	Memory heap count: 3
bgfx/src/renderer_vk.cpp (1488): BGFX 	  0: flags 0x00000001, size   8.00 GiB
bgfx/src/renderer_vk.cpp (1488): BGFX 	  1: flags 0x00000000, size  23.44 GiB
bgfx/src/renderer_vk.cpp (1488): BGFX 	  2: flags 0x00000001, size 246.00 MiB
bgfx/src/renderer_vk.cpp (719): BGFX Global extensions (164):
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_16bit_storage
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_8bit_storage
bgfx/src/renderer_vk.cpp (732): BGFX 	v13  VK_KHR_acceleration_structure
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_bind_memory2
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_buffer_device_address
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_copy_commands2
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_create_renderpass2
bgfx/src/renderer_vk.cpp (732): BGFX 	v3   VK_KHR_dedicated_allocation
bgfx/src/renderer_vk.cpp (732): BGFX 	v4   VK_KHR_deferred_host_operations
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_depth_stencil_resolve
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_descriptor_update_template
bgfx/src/renderer_vk.cpp (732): BGFX 	v4   VK_KHR_device_group
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_draw_indirect_count (supported)
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_driver_properties
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_dynamic_rendering
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_external_fence
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_external_fence_fd
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_external_memory
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_external_memory_fd
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_external_semaphore
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_external_semaphore_fd
bgfx/src/renderer_vk.cpp (732): BGFX 	v2   VK_KHR_format_feature_flags2
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_get_memory_requirements2
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_global_priority
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_image_format_list
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_imageless_framebuffer
bgfx/src/renderer_vk.cpp (732): BGFX 	v2   VK_KHR_maintenance1
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_maintenance2
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_maintenance3
bgfx/src/renderer_vk.cpp (732): BGFX 	v2   VK_KHR_maintenance4
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_multiview
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_pipeline_executable_properties
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_pipeline_library
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_present_id
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_present_wait
bgfx/src/renderer_vk.cpp (732): BGFX 	v2   VK_KHR_push_descriptor
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_ray_tracing_maintenance1
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_ray_tracing_pipeline
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_relaxed_block_layout
bgfx/src/renderer_vk.cpp (732): BGFX 	v3   VK_KHR_sampler_mirror_clamp_to_edge
bgfx/src/renderer_vk.cpp (732): BGFX 	v14  VK_KHR_sampler_ycbcr_conversion
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_separate_depth_stencil_layouts
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_shader_atomic_int64
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_shader_clock
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_shader_draw_parameters
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_shader_float16_int8
bgfx/src/renderer_vk.cpp (732): BGFX 	v4   VK_KHR_shader_float_controls
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_shader_integer_dot_product
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_shader_non_semantic_info
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_shader_subgroup_extended_types
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_shader_terminate_invocation
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_shared_presentable_image
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_spirv_1_4
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_storage_buffer_storage_class
bgfx/src/renderer_vk.cpp (732): BGFX 	v70  VK_KHR_swapchain
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_swapchain_mutable_format
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_synchronization2
bgfx/src/renderer_vk.cpp (732): BGFX 	v2   VK_KHR_timeline_semaphore
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_uniform_buffer_standard_layout
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_variable_pointers
bgfx/src/renderer_vk.cpp (732): BGFX 	v8   VK_KHR_video_decode_h264
bgfx/src/renderer_vk.cpp (732): BGFX 	v7   VK_KHR_video_decode_h265
bgfx/src/renderer_vk.cpp (732): BGFX 	v7   VK_KHR_video_decode_queue
bgfx/src/renderer_vk.cpp (732): BGFX 	v8   VK_KHR_video_queue
bgfx/src/renderer_vk.cpp (732): BGFX 	v3   VK_KHR_vulkan_memory_model
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_workgroup_memory_explicit_layout
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_zero_initialize_workgroup_memory
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_4444_formats
bgfx/src/renderer_vk.cpp (732): BGFX 	v2   VK_EXT_attachment_feedback_loop_layout
bgfx/src/renderer_vk.cpp (732): BGFX 	v2   VK_EXT_blend_operation_advanced
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_border_color_swizzle
bgfx/src/renderer_vk.cpp (732): BGFX 	v2   VK_EXT_buffer_device_address
bgfx/src/renderer_vk.cpp (732): BGFX 	v2   VK_EXT_calibrated_timestamps
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_color_write_enable
bgfx/src/renderer_vk.cpp (732): BGFX 	v2   VK_EXT_conditional_rendering
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_conservative_rasterization (supported)
bgfx/src/renderer_vk.cpp (732): BGFX 	v12  VK_EXT_custom_border_color (supported)
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_depth_clamp_zero_one
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_depth_clip_control
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_depth_clip_enable
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_depth_range_unrestricted
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_descriptor_buffer
bgfx/src/renderer_vk.cpp (732): BGFX 	v2   VK_EXT_descriptor_indexing
bgfx/src/renderer_vk.cpp (732): BGFX 	v2   VK_EXT_discard_rectangles
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_display_control
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_extended_dynamic_state
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_extended_dynamic_state2
bgfx/src/renderer_vk.cpp (732): BGFX 	v2   VK_EXT_extended_dynamic_state3
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_external_memory_dma_buf
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_external_memory_host
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_fragment_shader_interlock
bgfx/src/renderer_vk.cpp (732): BGFX 	v2   VK_EXT_global_priority
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_global_priority_query
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_graphics_pipeline_library
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_host_query_reset
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_image_2d_view_of_3d
bgfx/src/renderer_vk.cpp (732): BGFX 	v2   VK_EXT_image_drm_format_modifier
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_image_robustness
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_image_sliced_view_of_3d
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_image_view_min_lod
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_index_type_uint8
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_inline_uniform_block
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_line_rasterization (supported)
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_load_store_op_none
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_memory_budget (supported)
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_multi_draw
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_non_seamless_cube_map
bgfx/src/renderer_vk.cpp (732): BGFX 	v2   VK_EXT_pci_bus_info
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_physical_device_drm
bgfx/src/renderer_vk.cpp (732): BGFX 	v3   VK_EXT_pipeline_creation_cache_control
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_pipeline_creation_feedback
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_pipeline_library_group_handles
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_pipeline_robustness
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_post_depth_coverage
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_primitive_topology_list_restart
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_primitives_generated_query
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_private_data
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_provoking_vertex
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_queue_family_foreign
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_robustness2
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_sample_locations
bgfx/src/renderer_vk.cpp (732): BGFX 	v2   VK_EXT_sampler_filter_minmax
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_scalar_block_layout
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_separate_stencil_usage
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_shader_atomic_float
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_shader_demote_to_helper_invocation
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_shader_image_atomic_int64
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_shader_module_identifier
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_shader_object
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_shader_subgroup_ballot
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_shader_subgroup_vote
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_shader_viewport_index_layer (supported)
bgfx/src/renderer_vk.cpp (732): BGFX 	v2   VK_EXT_subgroup_size_control
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_texel_buffer_alignment
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_tooling_info
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_transform_feedback
bgfx/src/renderer_vk.cpp (732): BGFX 	v3   VK_EXT_vertex_attribute_divisor
bgfx/src/renderer_vk.cpp (732): BGFX 	v2   VK_EXT_vertex_input_dynamic_state
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_ycbcr_2plane_444_formats
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_ycbcr_image_arrays
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_NV_clip_space_w_scaling
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_NV_copy_memory_indirect
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_NV_coverage_reduction_mode
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_NV_dedicated_allocation
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_NV_dedicated_allocation_image_aliasing
bgfx/src/renderer_vk.cpp (732): BGFX 	v2   VK_NV_device_diagnostic_checkpoints
bgfx/src/renderer_vk.cpp (732): BGFX 	v2   VK_NV_device_diagnostics_config
bgfx/src/renderer_vk.cpp (732): BGFX 	v3   VK_NV_device_generated_commands
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_NV_fill_rectangle
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_NV_fragment_coverage_to_color
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_NV_framebuffer_mixed_samples
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_NV_geometry_shader_passthrough
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_NV_inherited_viewport_scissor
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_NV_linear_color_attachment
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_NV_memory_decompression
bgfx/src/renderer_vk.cpp (732): BGFX 	v3   VK_NV_ray_tracing
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_NV_ray_tracing_invocation_reorder
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_NV_sample_mask_override_coverage
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_NV_shader_sm_builtins
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_NV_shader_subgroup_partitioned
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_NV_viewport_array2
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_NV_viewport_swizzle
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_NVX_multiview_per_view_attributes
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_AMD_buffer_marker
bgfx/src/renderer_vk.cpp (758): BGFX 	Layer extensions (1):
bgfx/src/renderer_vk.cpp (770): BGFX 		VK_LAYER_MESA_device_select (s: 0x004030d3, i: 0x00000001), Linux device selection layer
bgfx/src/renderer_vk.cpp (1424): BGFX Physical device 1:
bgfx/src/renderer_vk.cpp (1425): BGFX 	          Name: llvmpipe (LLVM 15.0.7, 256 bits)
bgfx/src/renderer_vk.cpp (1426): BGFX 	   API version: 1.3.238
bgfx/src/renderer_vk.cpp (1431): BGFX 	   API variant: 0
bgfx/src/renderer_vk.cpp (1432): BGFX 	Driver version: 1
bgfx/src/renderer_vk.cpp (1433): BGFX 	      VendorId: 10005
bgfx/src/renderer_vk.cpp (1434): BGFX 	      DeviceId: 0
bgfx/src/renderer_vk.cpp (1435): BGFX 	          Type: 4
bgfx/src/renderer_vk.cpp (1473): BGFX 	Memory type count: 1
bgfx/src/renderer_vk.cpp (1476): BGFX 	  0: flags 0x0000000f, index 0
bgfx/src/renderer_vk.cpp (1483): BGFX 	Memory heap count: 1
bgfx/src/renderer_vk.cpp (1488): BGFX 	  0: flags 0x00000001, size   2.00 GiB
bgfx/src/renderer_vk.cpp (719): BGFX Global extensions (102):
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_8bit_storage
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_16bit_storage
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_bind_memory2
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_buffer_device_address
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_copy_commands2
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_create_renderpass2
bgfx/src/renderer_vk.cpp (732): BGFX 	v3   VK_KHR_dedicated_allocation
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_depth_stencil_resolve
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_descriptor_update_template
bgfx/src/renderer_vk.cpp (732): BGFX 	v4   VK_KHR_device_group
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_draw_indirect_count (supported)
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_driver_properties
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_dynamic_rendering
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_external_fence
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_external_memory
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_external_memory_fd
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_external_semaphore
bgfx/src/renderer_vk.cpp (732): BGFX 	v2   VK_KHR_format_feature_flags2
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_get_memory_requirements2
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_image_format_list
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_imageless_framebuffer
bgfx/src/renderer_vk.cpp (732): BGFX 	v2   VK_KHR_incremental_present
bgfx/src/renderer_vk.cpp (732): BGFX 	v2   VK_KHR_maintenance1
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_maintenance2
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_maintenance3
bgfx/src/renderer_vk.cpp (732): BGFX 	v2   VK_KHR_maintenance4
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_multiview
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_pipeline_library
bgfx/src/renderer_vk.cpp (732): BGFX 	v2   VK_KHR_push_descriptor
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_relaxed_block_layout
bgfx/src/renderer_vk.cpp (732): BGFX 	v3   VK_KHR_sampler_mirror_clamp_to_edge
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_separate_depth_stencil_layouts
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_shader_atomic_int64
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_shader_clock
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_shader_draw_parameters
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_shader_float16_int8
bgfx/src/renderer_vk.cpp (732): BGFX 	v4   VK_KHR_shader_float_controls
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_shader_integer_dot_product
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_shader_non_semantic_info
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_shader_subgroup_extended_types
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_shader_terminate_invocation
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_spirv_1_4
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_storage_buffer_storage_class
bgfx/src/renderer_vk.cpp (732): BGFX 	v70  VK_KHR_swapchain
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_swapchain_mutable_format
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_synchronization2
bgfx/src/renderer_vk.cpp (732): BGFX 	v2   VK_KHR_timeline_semaphore
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_uniform_buffer_standard_layout
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_variable_pointers
bgfx/src/renderer_vk.cpp (732): BGFX 	v3   VK_KHR_vulkan_memory_model
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_KHR_zero_initialize_workgroup_memory
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_4444_formats
bgfx/src/renderer_vk.cpp (732): BGFX 	v2   VK_EXT_attachment_feedback_loop_layout
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_border_color_swizzle
bgfx/src/renderer_vk.cpp (732): BGFX 	v2   VK_EXT_calibrated_timestamps
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_color_write_enable
bgfx/src/renderer_vk.cpp (732): BGFX 	v2   VK_EXT_conditional_rendering
bgfx/src/renderer_vk.cpp (732): BGFX 	v12  VK_EXT_custom_border_color (supported)
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_depth_clip_control
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_depth_clip_enable
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_depth_range_unrestricted
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_extended_dynamic_state
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_extended_dynamic_state2
bgfx/src/renderer_vk.cpp (732): BGFX 	v2   VK_EXT_extended_dynamic_state3
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_external_memory_host
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_graphics_pipeline_library
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_host_query_reset
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_image_2d_view_of_3d
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_image_robustness
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_index_type_uint8
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_inline_uniform_block
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_line_rasterization (supported)
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_multi_draw
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_multisampled_render_to_single_sampled
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_non_seamless_cube_map
bgfx/src/renderer_vk.cpp (732): BGFX 	v3   VK_EXT_pipeline_creation_cache_control
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_pipeline_creation_feedback
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_post_depth_coverage
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_primitive_topology_list_restart
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_primitives_generated_query
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_private_data
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_provoking_vertex
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_rasterization_order_attachment_access
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_robustness2
bgfx/src/renderer_vk.cpp (732): BGFX 	v2   VK_EXT_sampler_filter_minmax
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_scalar_block_layout
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_separate_stencil_usage
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_shader_atomic_float
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_shader_atomic_float2
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_shader_demote_to_helper_invocation
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_shader_stencil_export
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_shader_subgroup_ballot
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_shader_subgroup_vote
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_shader_viewport_index_layer (supported)
bgfx/src/renderer_vk.cpp (732): BGFX 	v2   VK_EXT_subgroup_size_control
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_texel_buffer_alignment
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_EXT_transform_feedback
bgfx/src/renderer_vk.cpp (732): BGFX 	v3   VK_EXT_vertex_attribute_divisor
bgfx/src/renderer_vk.cpp (732): BGFX 	v2   VK_EXT_vertex_input_dynamic_state
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_ARM_rasterization_order_attachment_access
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_GOOGLE_decorate_string
bgfx/src/renderer_vk.cpp (732): BGFX 	v1   VK_GOOGLE_hlsl_functionality1
bgfx/src/renderer_vk.cpp (758): BGFX 	Layer extensions (1):
bgfx/src/renderer_vk.cpp (770): BGFX 		VK_LAYER_MESA_device_select (s: 0x004030d3, i: 0x00000001), Linux device selection layer
bgfx/src/renderer_vk.cpp (1515): BGFX Using physical device 0: NVIDIA GeForce GTX 1080
bgfx/src/renderer_vk.cpp (1734): BGFX ---
bgfx/src/renderer_vk.cpp (1754): BGFX Queue family property 0:
bgfx/src/renderer_vk.cpp (1755): BGFX 	  Queue flags: 0x0000000f
bgfx/src/renderer_vk.cpp (1756): BGFX 	  Queue count: 16
bgfx/src/renderer_vk.cpp (1757): BGFX 	TS valid bits: 0x00000040
bgfx/src/renderer_vk.cpp (1758): BGFX 	    Min image: 1 x 1 x 1
bgfx/src/renderer_vk.cpp (1754): BGFX Queue family property 1:
bgfx/src/renderer_vk.cpp (1755): BGFX 	  Queue flags: 0x0000000c
bgfx/src/renderer_vk.cpp (1756): BGFX 	  Queue count: 2
bgfx/src/renderer_vk.cpp (1757): BGFX 	TS valid bits: 0x00000040
bgfx/src/renderer_vk.cpp (1758): BGFX 	    Min image: 1 x 1 x 1
bgfx/src/renderer_vk.cpp (1754): BGFX Queue family property 2:
bgfx/src/renderer_vk.cpp (1755): BGFX 	  Queue flags: 0x0000000e
bgfx/src/renderer_vk.cpp (1756): BGFX 	  Queue count: 8
bgfx/src/renderer_vk.cpp (1757): BGFX 	TS valid bits: 0x00000040
bgfx/src/renderer_vk.cpp (1758): BGFX 	    Min image: 1 x 1 x 1
bgfx/src/renderer_vk.cpp (1754): BGFX Queue family property 3:
bgfx/src/renderer_vk.cpp (1755): BGFX 	  Queue flags: 0x0000002c
bgfx/src/renderer_vk.cpp (1756): BGFX 	  Queue count: 1
bgfx/src/renderer_vk.cpp (1757): BGFX 	TS valid bits: 0x00000020
bgfx/src/renderer_vk.cpp (1758): BGFX 	    Min image: 1 x 1 x 1
bgfx/src/renderer_vk.cpp (1787): BGFX Enabled device layers:
bgfx/src/renderer_vk.cpp (1834): BGFX Enabled device extensions:
bgfx/src/renderer_vk.cpp (1838): BGFX 	VK_KHR_maintenance1
bgfx/src/renderer_vk.cpp (1838): BGFX 	VK_KHR_swapchain
bgfx/src/renderer_vk.cpp (1838): BGFX 	VK_EXT_memory_budget
bgfx/src/renderer_vk.cpp (1838): BGFX 	VK_EXT_conservative_rasterization
bgfx/src/renderer_vk.cpp (1838): BGFX 	VK_EXT_line_rasterization
bgfx/src/renderer_vk.cpp (1838): BGFX 	VK_EXT_shader_viewport_index_layer
bgfx/src/renderer_vk.cpp (1838): BGFX 	VK_EXT_custom_border_color
bgfx/src/renderer_vk.cpp (1838): BGFX 	VK_KHR_draw_indirect_count
bgfx/src/renderer_vk.cpp (1878): BGFX Device functions:
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xc7cdc0c0 vkGetDeviceQueue
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac835b10 vkCreateFence
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac8517f0 vkDestroyFence
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac851190 vkCreateSemaphore
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac851870 vkDestroySemaphore
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac8531c0 vkResetFences
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac824280 vkCreateCommandPool
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac851790 vkDestroyCommandPool
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac8530a0 vkResetCommandPool
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xc7cdd2c0 vkAllocateCommandBuffers
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac852380 vkFreeCommandBuffers
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac844ca0 vkGetBufferMemoryRequirements
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac852630 vkGetImageMemoryRequirements
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac852680 vkGetImageSubresourceLayout
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xc44c9980 vkAllocateMemory
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac852430 vkFreeMemory
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac843110 vkCreateImage
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac851810 vkDestroyImage
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac835e90 vkCreateImageView
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac86d490 vkDestroyImageView
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac833bf0 vkCreateBuffer
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac851770 vkDestroyBuffer
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac8243c0 vkCreateFramebuffer
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac848070 vkDestroyFramebuffer
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac84c890 vkCreateRenderPass
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac84c870 vkDestroyRenderPass
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac8511b0 vkCreateShaderModule
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac8482b0 vkDestroyShaderModule
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac844920 vkCreatePipelineCache
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac851850 vkDestroyPipelineCache
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac844e90 vkGetPipelineCacheData
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac844ec0 vkMergePipelineCaches
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac8243d0 vkCreateGraphicsPipelines
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac824290 vkCreateComputePipelines
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac844bd0 vkDestroyPipeline
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac844a60 vkCreatePipelineLayout
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac848170 vkDestroyPipelineLayout
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac84d1a0 vkCreateSampler
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac84d0a0 vkDestroySampler
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac8243a0 vkCreateDescriptorSetLayout
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac848dd0 vkDestroyDescriptorSetLayout
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac834e60 vkCreateDescriptorPool
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac8517b0 vkDestroyDescriptorPool
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac853190 vkResetDescriptorPool
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac820ae0 vkAllocateDescriptorSets
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac8523d0 vkFreeDescriptorSets
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac8532a0 vkUpdateDescriptorSets
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac849fa0 vkCreateQueryPool
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac848210 vkDestroyQueryPool
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xc44c99e0 vkQueueSubmit
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac844f20 vkQueueWaitIdle
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac8520f0 vkDeviceWaitIdle
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac8548b0 vkWaitForFences
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac821270 vkBeginCommandBuffer
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac844c00 vkEndCommandBuffer
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac821550 vkCmdPipelineBarrier
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac821310 vkCmdBeginRenderPass
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac822d60 vkCmdEndRenderPass
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac80e180 vkCmdSetViewport
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac80e050 vkCmdDraw
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac80e070 vkCmdDrawIndexed
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac80e0c0 vkCmdDrawIndirect
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac80e090 vkCmdDrawIndexedIndirect
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac80e000 vkCmdDispatch
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac80e020 vkCmdDispatchIndirect
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac80dde0 vkCmdBindPipeline
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac823c30 vkCmdSetStencilReference
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac815f90 vkCmdSetBlendConstants
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac823bc0 vkCmdSetScissor
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac8178c0 vkCmdBindDescriptorSets
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac815d60 vkCmdBindIndexBuffer
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac821330 vkCmdBindVertexBuffers
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac80de70 vkCmdClearColorImage
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac8214d0 vkCmdClearDepthStencilImage
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac8213a0 vkCmdClearAttachments
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac80e120 vkCmdResolveImage
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac80deb0 vkCmdCopyBuffer
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac80df00 vkCmdCopyBufferToImage
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac80df50 vkCmdCopyImage
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac80dfb0 vkCmdCopyImageToBuffer
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac80de10 vkCmdBlitImage
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac823720 vkCmdResetQueryPool
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac824200 vkCmdWriteTimestamp
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac821280 vkCmdBeginQuery
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac822ce0 vkCmdEndQuery
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac821570 vkCmdCopyQueryPoolResults
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac852f70 vkMapMemory
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac853270 vkUnmapMemory
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac852340 vkFlushMappedMemoryRanges
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac852360 vkInvalidateMappedMemoryRanges
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xc44c9920 vkBindBufferMemory
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xc44c98c0 vkBindImageMemory
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xc7cdfa80 vkCreateSwapchainKHR
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xc44c9a90 vkDestroySwapchainKHR
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac846580 vkGetSwapchainImagesKHR
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xc44c9840 vkAcquireNextImageKHR
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xc44c9a40 vkQueuePresentKHR
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xc7cc1b10 vkSetDebugUtilsObjectNameEXT
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xc7cbb370 vkCmdBeginDebugUtilsLabelEXT
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xc7cbb450 vkCmdEndDebugUtilsLabelEXT
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xc7cbb530 vkCmdInsertDebugUtilsLabelEXT
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac846190 vkCmdDrawIndirectCountKHR
bgfx/src/renderer_vk.cpp (1883): BGFX 	0xac846150 vkCmdDrawIndexedIndirectCountKHR
cmake/bgfx/example-00-helloworld crashed.

d) See if the issue remains with another vulkan-driver, on another hardware (e.g. AMD vs. nVidia).

I tested it on two NVIDIA GPUs. I don't have access to other hardware for testing, but it appears to me that implementing a check on the ndt value could potentially prevent the crash, similar to what is done with OpenGL #1559 .

from bgfx.

Chris1AA avatar Chris1AA commented on July 24, 2024

Hi alemuntoni, thanks for the log.

The debug log indicates that vkCreateXlibSurfaceKHR is not available (nullptr):
bgfx/src/renderer_vk.cpp (1356): BGFX 0x0 vkCreateXlibSurfaceKHR

vkCreateXlibSurfaceKHR does require a valid ndt (dpy) handle (see VkXlibSurfaceCreateInfoKHR) used in SwapChainVK::createSurface() for a X11 driver platform. Thus, pointing out that a Wayland (vkCreateWaylandSurfaceKHR) driver platform is used, which would not require a valid ndt handle. To enable Wayland define the bgfx compiler flag WL_EGL_PLATFORM.

from bgfx.

alemuntoni avatar alemuntoni commented on July 24, 2024

Hi @Chris1AA, thank you!

I think that I am missing something: where is pointed out that a Wayland platform is used? I am trying to avoid it because Qt still does not support it well. Is there something on the log that points to Wayland instead of X?

from bgfx.

Chris1AA avatar Chris1AA commented on July 24, 2024

Search your log for vkCreateXlibSurfaceKHR and find bgfx/src/renderer_vk.cpp (1356): BGFX 0x0 vkCreateXlibSurfaceKHR
See SwapChainVK::createSurface() in renderer_vk.cpp.

Xlib is the default implementation for Linux, Wayland is an option. Since vkCreateXlibSurfaceKHR is not available (function pointer is 0x0) by the underlaying mesa/nvidia platform drivers, Wayland may be implemented (vkCreateWaylandSurfaceKHR).

Check what applies to your installed environment (what is supported by your mesa + nvidia backends).

from bgfx.

alemuntoni avatar alemuntoni commented on July 24, 2024

Oh, I see.
Thanks, @Chris1AA, and I apologize for taking up your time. I genuinely thought there was the same bug as the old OpenGL issue, but it appears that my system is more messed up than I had realized. I'll check it and I'll ask for help in the discord channel, if needed.

Thank you very much for bgfx!

from bgfx.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.