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

OpenGL support #841

Closed
inodentry opened this issue Nov 11, 2020 · 46 comments
Closed

OpenGL support #841

inodentry opened this issue Nov 11, 2020 · 46 comments
Labels
A-Rendering Drawing game state to the screen C-Feature A new feature, making something new possible

Comments

@inodentry
Copy link
Contributor

Wgpu now has a working OpenGL backend. I know bevy intends to support that, but it does not work yet.

Creating this issue to make it easier to track progress on that front.

@karroffel karroffel added C-Feature A new feature, making something new possible A-Rendering Drawing game state to the screen labels Nov 11, 2020
@cart
Copy link
Member

cart commented Nov 11, 2020

Yup just for some additional context, I upgraded bevy to use "git wgpu" here: https://github.com/cart/bevy/tree/upgrade-wgpu, but I get this error:

image

Probably somehow related to the fact that Bevy does some rendering stuff (like creating gpu resources) on other threads.

@cart
Copy link
Member

cart commented Nov 11, 2020

Using schedule.run() (single threaded) instead of the parallel executor got me past the threading errors.

Then I hit an issue where wgpu didnt like that we use ceil() in sprite_sheet.vert:
image

Removing that unlocked a new error:
image

Which indicates that we're using an unsupported binding type:
image

@kvark I'm just pulling you in so you're aware of where we're at. I'm not asking you for anything 😄

@cart
Copy link
Member

cart commented Nov 11, 2020

I pushed a new branch with the changes listed above: https://github.com/cart/bevy/tree/opengl-testing

@kvark
Copy link

kvark commented Nov 12, 2020

It's too early for Bevy to play with our OpenGL backend. Let us at least get our own samples running first 😅

@agorgl
Copy link
Contributor

agorgl commented Dec 10, 2020

Any updates on this? Today I tried and wgpu-rs examples work with latest gfx-backend-gl

@cart
Copy link
Member

cart commented Dec 10, 2020

No updates yet. We're waiting on two things:

  1. Someone to test that bevy master + wgpu-rs master + OpenGL work together / fix any bugs
  2. Wgpu-rs to have a crates.io release with opengl support

@kvark
Copy link

kvark commented Dec 10, 2020

wgpu-rs OpenGL support is now enabled on master but not ready for general consumption. At the very least we want to be running all of our own examples before recommending it. So far, it only runs a few examples.

@cart
Copy link
Member

cart commented Dec 10, 2020

Makes sense to me. Definitely take your time / don't feel any pressure from our end 😄

@agorgl
Copy link
Contributor

agorgl commented Dec 29, 2020

A little update on this:

Bevy now runs with latest wgpu-rs master + OpenGL, but:
a) OpenGL gfx backend does not support (nor will according to @kvark) multithreading usage
b) Even running with single_threaded_pool bevy has some asset loading/binding issues and a black window is displayed for example in the sprite sample

@windelbouwman
Copy link

This is cool! I'd like to try this out (since I do not have vulkan support).

My strategy was modifying crates/bevy_wgpu/Cargo.toml to contain this line:

wgpu = { git = "https://github.com/gfx-rs/wgpu-rs.git", branch = "master" }

But after doing that, I get compile errors like this : could not find `ShaderModuleSource` in `wgpu`

@agorgl
Copy link
Contributor

agorgl commented Dec 30, 2020

Yep, you need some modifications for this to work, see my opengl-testing branch

@windelbouwman
Copy link

Okay, thanks for the headsup! I'm able to build, but trying a few examples, I quickly saw that there is work to do. :)

@kvark
Copy link

kvark commented Dec 30, 2020

OpenGL gfx backend does not support

More precisely, all the interaction with the instance, surface, adapter, device, and the queue has to happen on the same thread. But command buffers can be created and recorded on multiple threads, still. So Bevy can get the multithreading benefits. What you aren't going to be able to do (but want to do) is asynchronous resource creation with GL.

Even running with single_threaded_pool bevy has some asset loading/binding issues and a black window is displayed for example in the sprite sample

Since our basic examples run, I wonder why you are getting the black window. Would be good to see what the difference is, and whether our cube example runs on that machine.

@agorgl
Copy link
Contributor

agorgl commented Dec 31, 2020

Last time we discussed this in Bevy discord engine dev channel it seems that this is a binding issue in bevy when hacking core bevy thread pool module to use the single_threaded_pool implementation, it does not seem to be a wgpu/gfx issue.

@cart
Copy link
Member

cart commented Dec 31, 2020

Yeah theres definitely at least one bevy-specific single_threaded_pool bug.

@agorgl
Copy link
Contributor

agorgl commented Mar 4, 2021

Any updates on this since wgpu 0.7 release?

@Mimerme
Copy link

Mimerme commented Jul 13, 2021

gfx-rs/wgpu#1646. Not sure if this issue is relevant, but for anyone who stumbles along this thread like I did.

@zicklag
Copy link
Member

zicklag commented Jul 14, 2021

Just found this issue through @Mimerme 's cross-reference. Just for anybody who's interested, I'm probably going to be doing some work trying to get Bevy going with the latest WGPU and OpenGL support.

Another relevant discussion I started in WGPU: gfx-rs/wgpu#1630

I've gotten bevy's latest, work-in-progress pipelined rendering branch ported to WGPU master, but OpenGL won't start up yet ( and the new Vulkan backend isn't doing gamma correction right so I'm looking at that too ). I'll probably be looking into it soon-ish.

@zicklag
Copy link
Member

zicklag commented Jul 26, 2021

I've gotten almost all of the Bevy 3D examples to run on OpenGL in my fork of WGPU master and Bevy's work-in-progress pipelined rendering branch! Also this doesn't require any changes on the Bevy side regarding multi-threading. GPU resources cannot be created in parallel, unfortunately, due to limitations of OpenGL, but the backend will do the locking necessary to prevent errors when creating resources from multiple threads. And like mentioned above, you can still record command buffers in parallel just fine.

For some reason the load_gltf example doesn't want to work yet, but that's the only outstanding falure other than wireframe rendering which probably just isn't going to work on OpenGL. Hopefully the gltf demo won't be to difficult to fix.

At the same time I'm also working on getting WebGL working. That's a bit more difficult, but I'm still making progress with the help of the WGPU folks and it's looking very promising!

image

image

image

@cart
Copy link
Member

cart commented Jul 27, 2021

Fantastic work @zicklag! Haha I've been lurking on all of your wgpu prs. This all happened so fast ❤️

@zicklag
Copy link
Member

zicklag commented Jul 27, 2021

glTF example is now working! @jakobhellermann found the last shader translation issue and opened a PR that fixes it: gfx-rs/naga#1144. 🎉

image

bors bot added a commit to gfx-rs/wgpu that referenced this issue Jul 27, 2021
1729: Handle Multi-threaded EGL Context Access r=cwfitzgerald,kvark a=zicklag

**Connections**
#1630, bevyengine/bevy#841

**Description**
Implements the synchronization necessary to use the GL backend from multiple threads. Accomplishes this by using a mutex around the GL context with extra wrapping to bind and unbind the EGL context when locking and unlocking.

**Testing**
Tested on Ubunty 20.04 with a fork of the Bevy game engine and the WGPU examples ( not that the examples test the multi-threading ).

## Remaining Issues

There is only one Bevy example I cannot get to run yet and it's the `load_gltf` example. It fails with a shader translation error:

```
Jul 26 20:36:50.949 ERROR naga::back::glsl: Conflicting samplers for _group_3_binding_10    
Jul 26 20:36:50.950  WARN wgpu::backend::direct: Shader translation error for stage FRAGMENT: A image was used with multiple samplers    
Jul 26 20:36:50.950  WARN wgpu::backend::direct: Please report it to https://github.com/gfx-rs/naga    
Jul 26 20:36:50.950 ERROR wgpu::backend::direct: wgpu error: Validation Error

Caused by:
    In Device::create_render_pipeline
    Internal error in FRAGMENT shader: A image was used with multiple samplers
```

Interestingly, I think the shader in question doesn't have a `group(3), binding(10)` anywhere that I know of so I'm going to have to drill down a bit more and find out exactly which shader translation is failing more.

This could potentially be fixed in a separate PR. I think the rest of this PR is rather straight-forward and the fix for the error above is probably mostly unrelated to the primary changes made in this PR.

Co-authored-by: Zicklag <zicklag@katharostech.com>
@zicklag
Copy link
Member

zicklag commented Jul 27, 2021

gfx-rs/wgpu#1729 was merged and I've got a branch that brings the pipelined-rendering branch up-to-date with WGPU master, and that is the only Bevy change required to make OpenGL work, other than a small buffer size validation error that I might need help working around. It's just a super straight-forward update renaming all of the change WGPU types and updating some fields.

Since WGPU 0.10 isn't released yet ( and there's still other changes for WebGL that will be comming up hopefully ), I'm not sure when Bevy will want to update. Just let me know if that branch would be useful and I can push it up and open a PR.

@cart
Copy link
Member

cart commented Jul 27, 2021

Yeah we need to stay on stable wgpu releases so that we can release on crates.io. However a draft pr that updates the pipelined-rendering branch to wgpu master would be very useful! We can just update it (or reference it) when the next wgpu release drops.

@zicklag zicklag mentioned this issue Jul 27, 2021
1 task
@zicklag
Copy link
Member

zicklag commented Jul 30, 2021

Haha, just to fix any misconceptions, even though I got the bevy examples working on the pipelined rendering branch, I apparently didn't test any of the pipelined examples. 😅 I didn't realize there were different examples for the pipelined renderer.

GL isn't working with the pipelined renderer yet, but I'll be looking into it.

@cart
Copy link
Member

cart commented Dec 21, 2021

I haven't been able to test main yet because I'm failing to retrieve a Device when constraining to Backends::GL on my linux device . The new renderer is the default on main now. I'm curious to hear if anyone else can successfully request a GL device (and if theres something I can do to make it work).

@agorgl
Copy link
Contributor

agorgl commented Dec 21, 2021

I'll fire my old laptop over the weekend and give it a build!

@kvark
Copy link

kvark commented Dec 21, 2021

@cart what does wgpu-info output? (you can do cargo run from wgpu checkout to see it)
Would help with RUST_LOG=wgpu_hal=debug to see if anything is off.

@jakobhellermann
Copy link
Contributor

When running with WGPU_BACKENDS=gl cargo run --example 3d_scene I get an error of wgpu_hal::gles::egl: GLES: [API/Error] ID 2 : GL_INVALID_ENUM in glTexStorage2DMultisample(target=GL_TEXTURE_2D).

When I disable msaa, I run into Internal error in FRAGMENT shader: gsamplerCubeArrayShadow isn't supported in textureGrad, textureLod or texture with bias.

Using #3291 with WGPU_BACKEND=gl cargo run --example 3d_scene --features bevy_internal/webgl I get yet another error: Internal error in VERTEX | FRAGMENT | VERTEX_FRAGMENT shader: error: declarations for uniform _group_2_binding_0 are inside blocks Mesh_block_1Vertex and Mesh_block_5Fragment.

@cart
Copy link
Member

cart commented Dec 21, 2021

@kvark here is the output:

[2021-12-21T19:04:51Z WARN  wgpu_hal::vulkan::instance] Unable to find layer: VK_LAYER_KHRONOS_validation
[2021-12-21T19:04:51Z INFO  wgpu_hal::vulkan::instance] Instance version: 0x4020c8
[2021-12-21T19:04:51Z INFO  wgpu_hal::vulkan::instance] Enabling debug utils
[2021-12-21T19:04:51Z INFO  wgpu_hal::vulkan::instance] Enabling device properties2
[2021-12-21T19:04:51Z DEBUG wgpu_hal::gles::egl] Client extensions: [
        "EGL_EXT_platform_base",
        "EGL_EXT_device_base",
        "EGL_EXT_device_enumeration",
        "EGL_EXT_device_query",
        "EGL_KHR_client_get_all_proc_addresses",
        "EGL_EXT_client_extensions",
        "EGL_KHR_debug",
        "EGL_KHR_platform_x11",
        "EGL_EXT_platform_x11",
        "EGL_EXT_platform_device",
        "EGL_KHR_platform_wayland",
        "EGL_EXT_platform_wayland",
        "EGL_MESA_platform_xcb",
        "EGL_MESA_platform_gbm",
        "EGL_KHR_platform_gbm",
        "EGL_MESA_platform_surfaceless",
    ]
[2021-12-21T19:04:51Z INFO  wgpu_hal::gles::egl] Loading Wayland library to get the current display
[2021-12-21T19:04:51Z INFO  wgpu_hal::gles::egl] Loading X11 library to get the current display
[2021-12-21T19:04:51Z INFO  wgpu_hal::gles::egl] Using X11 platform
[2021-12-21T19:04:51Z INFO  wgpu_hal::gles::egl] Enabling EGL debug output
[2021-12-21T19:04:51Z INFO  wgpu_hal::gles::egl] Display vendor "NVIDIA", version (1, 5)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::gles::egl] Display extensions: [
        "EGL_EXT_buffer_age",
        "EGL_EXT_client_sync",
        "EGL_EXT_create_context_robustness",
        "EGL_EXT_image_dma_buf_import",
        "EGL_EXT_image_dma_buf_import_modifiers",
        "EGL_MESA_image_dma_buf_export",
        "EGL_EXT_output_base",
        "EGL_EXT_stream_acquire_mode",
        "EGL_EXT_sync_reuse",
        "EGL_IMG_context_priority",
        "EGL_KHR_config_attribs",
        "EGL_KHR_create_context_no_error",
        "EGL_KHR_context_flush_control",
        "EGL_KHR_create_context",
        "EGL_KHR_fence_sync",
        "EGL_KHR_get_all_proc_addresses",
        "EGL_KHR_partial_update",
        "EGL_KHR_swap_buffers_with_damage",
        "EGL_KHR_no_config_context",
        "EGL_KHR_gl_colorspace",
        "EGL_KHR_gl_renderbuffer_image",
        "EGL_KHR_gl_texture_2D_image",
        "EGL_KHR_gl_texture_3D_image",
        "EGL_KHR_gl_texture_cubemap_image",
        "EGL_KHR_image",
        "EGL_KHR_image_base",
        "EGL_KHR_image_pixmap",
        "EGL_KHR_reusable_sync",
        "EGL_KHR_stream",
        "EGL_KHR_stream_attrib",
        "EGL_KHR_stream_consumer_gltexture",
        "EGL_KHR_stream_cross_process_fd",
        "EGL_KHR_stream_fifo",
        "EGL_KHR_stream_producer_eglsurface",
        "EGL_KHR_surfaceless_context",
        "EGL_KHR_wait_sync",
        "EGL_NV_nvrm_fence_sync",
        "EGL_NV_post_sub_buffer",
        "EGL_NV_quadruple_buffer",
        "EGL_NV_stream_consumer_eglimage",
        "EGL_NV_stream_cross_display",
        "EGL_NV_stream_cross_object",
        "EGL_NV_stream_cross_process",
        "EGL_NV_stream_cross_system",
        "EGL_NV_stream_dma",
        "EGL_NV_stream_flush",
        "EGL_NV_stream_metadata",
        "EGL_NV_stream_remote",
        "EGL_NV_stream_reset",
        "EGL_NV_stream_socket",
        "EGL_NV_stream_socket_inet",
        "EGL_NV_stream_socket_unix",
        "EGL_NV_stream_sync",
        "EGL_NV_stream_fifo_next",
        "EGL_NV_stream_fifo_synchronous",
        "EGL_NV_stream_consumer_gltexture_yuv",
        "EGL_NV_stream_attrib",
        "EGL_NV_stream_origin",
        "EGL_NV_system_time",
        "EGL_NV_output_drm_flip_event",
        "EGL_NV_triple_buffer",
        "EGL_NV_robustness_video_memory_purge",
        "EGL_WL_bind_wayland_display",
        "EGL_WL_wayland_eglstream",
    ]
[2021-12-21T19:04:51Z INFO  wgpu_hal::gles::egl]        EGL surface: +srgb
[2021-12-21T19:04:51Z INFO  wgpu_hal::gles::egl]        Trying native-render
[2021-12-21T19:04:51Z WARN  wgpu_hal::gles::egl] No config found!
[2021-12-21T19:04:51Z INFO  wgpu_hal::gles::egl]        Trying presentation
[2021-12-21T19:04:51Z WARN  wgpu_hal::gles::egl] EGL says it can present to the window but not natively
[2021-12-21T19:04:51Z INFO  wgpu_hal::gles::egl]        EGL context: +debug
[2021-12-21T19:04:51Z INFO  wgpu_hal::gles::egl]        EGL context: +robust access
[2021-12-21T19:04:51Z INFO  wgpu_hal::gles::egl]        EGL context: +surfaceless
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_16bit_storage (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_8bit_storage (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_bind_memory2 (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_buffer_device_address (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_copy_commands2 (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_create_renderpass2 (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_dedicated_allocation (libGLX_nvidia.so.0) version 0.0.3
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_depth_stencil_resolve (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_descriptor_update_template (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_device_group (libGLX_nvidia.so.0) version 0.0.4
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_draw_indirect_count (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_driver_properties (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_external_fence (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_external_fence_fd (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_external_memory (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_external_memory_fd (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_external_semaphore (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_external_semaphore_fd (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_get_memory_requirements2 (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_image_format_list (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_imageless_framebuffer (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_maintenance1 (libGLX_nvidia.so.0) version 0.0.2
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_maintenance2 (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_maintenance3 (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_multiview (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_pipeline_executable_properties (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_push_descriptor (libGLX_nvidia.so.0) version 0.0.2
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_relaxed_block_layout (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_sampler_mirror_clamp_to_edge (libGLX_nvidia.so.0) version 0.0.3
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_sampler_ycbcr_conversion (libGLX_nvidia.so.0) version 0.0.14
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_separate_depth_stencil_layouts (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_shader_clock (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_shader_draw_parameters (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_shader_float16_int8 (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_shader_float_controls (libGLX_nvidia.so.0) version 0.0.4
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_shader_non_semantic_info (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_shader_subgroup_extended_types (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_shader_terminate_invocation (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_spirv_1_4 (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_storage_buffer_storage_class (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_swapchain (libGLX_nvidia.so.0) version 0.0.70
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_swapchain_mutable_format (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_synchronization2 (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_timeline_semaphore (libGLX_nvidia.so.0) version 0.0.2
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_uniform_buffer_standard_layout (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_variable_pointers (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_workgroup_memory_explicit_layout (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_zero_initialize_workgroup_memory (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_4444_formats (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_buffer_device_address (libGLX_nvidia.so.0) version 0.0.2
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_calibrated_timestamps (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_color_write_enable (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_conditional_rendering (libGLX_nvidia.so.0) version 0.0.2
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_custom_border_color (libGLX_nvidia.so.0) version 0.0.12
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_depth_clip_enable (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_depth_range_unrestricted (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_descriptor_indexing (libGLX_nvidia.so.0) version 0.0.2
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_discard_rectangles (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_display_control (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_extended_dynamic_state (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_extended_dynamic_state2 (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_external_memory_host (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_global_priority (libGLX_nvidia.so.0) version 0.0.2
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_global_priority_query (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_host_query_reset (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_image_robustness (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_index_type_uint8 (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_inline_uniform_block (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_line_rasterization (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_memory_budget (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_pci_bus_info (libGLX_nvidia.so.0) version 0.0.2
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_physical_device_drm (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_pipeline_creation_cache_control (libGLX_nvidia.so.0) version 0.0.3
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_pipeline_creation_feedback (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_private_data (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_provoking_vertex (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_robustness2 (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_scalar_block_layout (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_separate_stencil_usage (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_shader_demote_to_helper_invocation (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_shader_subgroup_ballot (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_shader_subgroup_vote (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_subgroup_size_control (libGLX_nvidia.so.0) version 0.0.2
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_texel_buffer_alignment (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_tooling_info (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_transform_feedback (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_vertex_attribute_divisor (libGLX_nvidia.so.0) version 0.0.3
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_vertex_input_dynamic_state (libGLX_nvidia.so.0) version 0.0.2
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_ycbcr_image_arrays (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_NV_dedicated_allocation (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_NV_dedicated_allocation_image_aliasing (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_NV_device_diagnostic_checkpoints (libGLX_nvidia.so.0) version 0.0.2
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_NV_device_diagnostics_config (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_NV_device_generated_commands (libGLX_nvidia.so.0) version 0.0.3
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_NV_inherited_viewport_scissor (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_NV_shader_sm_builtins (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_NV_shader_subgroup_partitioned (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_NVX_multiview_per_view_attributes (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_16bit_storage (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_8bit_storage (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_bind_memory2 (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_buffer_device_address (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_copy_commands2 (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_create_renderpass2 (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_dedicated_allocation (libGLX_nvidia.so.0) version 0.0.3
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_depth_stencil_resolve (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_descriptor_update_template (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_device_group (libGLX_nvidia.so.0) version 0.0.4
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_draw_indirect_count (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_driver_properties (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_external_fence (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_external_fence_fd (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_external_memory (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_external_memory_fd (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_external_semaphore (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_external_semaphore_fd (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_get_memory_requirements2 (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_image_format_list (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_imageless_framebuffer (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_maintenance1 (libGLX_nvidia.so.0) version 0.0.2
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_maintenance2 (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_maintenance3 (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_multiview (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_pipeline_executable_properties (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_push_descriptor (libGLX_nvidia.so.0) version 0.0.2
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_relaxed_block_layout (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_sampler_mirror_clamp_to_edge (libGLX_nvidia.so.0) version 0.0.3
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_sampler_ycbcr_conversion (libGLX_nvidia.so.0) version 0.0.14
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_separate_depth_stencil_layouts (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_shader_clock (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_shader_draw_parameters (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_shader_float16_int8 (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_shader_float_controls (libGLX_nvidia.so.0) version 0.0.4
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_shader_non_semantic_info (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_shader_subgroup_extended_types (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_shader_terminate_invocation (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_spirv_1_4 (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_storage_buffer_storage_class (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_swapchain (libGLX_nvidia.so.0) version 0.0.70
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_swapchain_mutable_format (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_synchronization2 (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_timeline_semaphore (libGLX_nvidia.so.0) version 0.0.2
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_uniform_buffer_standard_layout (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_variable_pointers (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_workgroup_memory_explicit_layout (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_KHR_zero_initialize_workgroup_memory (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_4444_formats (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_buffer_device_address (libGLX_nvidia.so.0) version 0.0.2
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_calibrated_timestamps (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_color_write_enable (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_conditional_rendering (libGLX_nvidia.so.0) version 0.0.2
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_custom_border_color (libGLX_nvidia.so.0) version 0.0.12
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_depth_clip_enable (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_depth_range_unrestricted (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_descriptor_indexing (libGLX_nvidia.so.0) version 0.0.2
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_discard_rectangles (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_display_control (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_extended_dynamic_state (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_extended_dynamic_state2 (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_external_memory_host (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_global_priority (libGLX_nvidia.so.0) version 0.0.2
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_global_priority_query (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_host_query_reset (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_image_robustness (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_index_type_uint8 (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_inline_uniform_block (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_line_rasterization (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_memory_budget (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_pci_bus_info (libGLX_nvidia.so.0) version 0.0.2
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_physical_device_drm (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_pipeline_creation_cache_control (libGLX_nvidia.so.0) version 0.0.3
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_pipeline_creation_feedback (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_private_data (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_provoking_vertex (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_robustness2 (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_scalar_block_layout (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_separate_stencil_usage (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_shader_demote_to_helper_invocation (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_shader_subgroup_ballot (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_shader_subgroup_vote (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_subgroup_size_control (libGLX_nvidia.so.0) version 0.0.2
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_texel_buffer_alignment (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_tooling_info (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_transform_feedback (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_vertex_attribute_divisor (libGLX_nvidia.so.0) version 0.0.3
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_vertex_input_dynamic_state (libGLX_nvidia.so.0) version 0.0.2
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_EXT_ycbcr_image_arrays (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_NV_dedicated_allocation (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_NV_dedicated_allocation_image_aliasing (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_NV_device_diagnostic_checkpoints (libGLX_nvidia.so.0) version 0.0.2
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_NV_device_diagnostics_config (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_NV_device_generated_commands (libGLX_nvidia.so.0) version 0.0.3
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_NV_inherited_viewport_scissor (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_NV_shader_sm_builtins (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_NV_shader_subgroup_partitioned (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
        Device Extension: VK_NVX_multiview_per_view_attributes (libGLX_nvidia.so.0) version 0.0.1
[2021-12-21T19:04:51Z DEBUG wgpu_hal::vulkan::instance]         objects: (type: INSTANCE, hndl: 0x55af8a826630, name: ?)
[2021-12-21T19:04:51Z INFO  wgpu_hal::gles::egl] Max label length: 256
[2021-12-21T19:04:51Z INFO  wgpu_hal::gles::egl] Enabling GLES debug output
[2021-12-21T19:04:51Z INFO  wgpu_hal::gles::adapter] Vendor: NVIDIA Corporation
[2021-12-21T19:04:51Z INFO  wgpu_hal::gles::adapter] Renderer: NVIDIA GeForce GT 750M/PCIe/SSE2
[2021-12-21T19:04:51Z INFO  wgpu_hal::gles::adapter] Version: OpenGL ES 3.2 NVIDIA 470.82.00
[2021-12-21T19:04:51Z DEBUG wgpu_hal::gles::adapter] Extensions: {
        "GL_EXT_texture_shadow_lod",
        "GL_EXT_sRGB",
        "GL_OES_geometry_point_size",
        "GL_EXT_texture_compression_bptc",
        "GL_NV_shadow_samplers_array",
        "GL_NV_read_buffer",
        "GL_NV_bindless_texture",
        "GL_EXT_color_buffer_half_float",
        "GL_EXT_texture_sRGB_R8",
        "GL_NV_viewport_array",
        "GL_EXT_texture_storage",
        "GL_OES_packed_depth_stencil",
        "GL_OES_EGL_image",
        "GL_EXT_draw_elements_base_vertex",
        "GL_EXT_geometry_point_size",
        "GL_EXT_clip_cull_distance",
        "GL_OES_vertex_half_float",
        "GL_EXT_copy_image",
        "GL_NV_occlusion_query_samples",
        "GL_EXT_draw_buffers_indexed",
        "GL_EXT_depth_clamp",
        "GL_NV_EGL_stream_consumer_external",
        "GL_KHR_texture_compression_astc_ldr",
        "GL_NV_read_depth_stencil",
        "GL_OES_texture_border_clamp",
        "GL_OES_primitive_bounding_box",
        "GL_OES_texture_float_linear",
        "GL_EXT_render_snorm",
        "GL_EXT_multiview_timer_query",
        "GL_NV_internalformat_sample_query",
        "GL_NV_draw_vulkan_image",
        "GL_OES_compressed_ETC1_RGB8_texture",
        "GL_OES_element_index_uint",
        "GL_EXT_separate_shader_objects",
        "GL_OES_mapbuffer",
        "GL_EXT_unpack_subimage",
        "GL_EXT_buffer_storage",
        "GL_EXT_multisample_compatibility",
        "GL_EXT_window_rectangles",
        "GL_NV_packed_float",
        "GL_EXT_robustness",
        "GL_KHR_blend_equation_advanced",
        "GL_OES_depth32",
        "GL_OES_tessellation_point_size",
        "GL_EXT_discard_framebuffer",
        "GL_OES_EGL_image_external",
        "GL_OES_texture_npot",
        "GL_NV_path_rendering",
        "GL_EXT_texture_filter_anisotropic",
        "GL_EXT_tessellation_shader",
        "GL_NV_copy_image",
        "GL_EXT_EGL_image_array",
        "GL_EXT_texture_mirror_clamp_to_edge",
        "GL_OES_draw_buffers_indexed",
        "GL_EXT_compressed_ETC1_RGB8_sub_texture",
        "GL_EXT_semaphore_fd",
        "GL_NV_pixel_buffer_object",
        "GL_OES_rgb8_rgba8",
        "GL_OVR_multiview2",
        "GL_OES_shader_multisample_interpolation",
        "GL_NV_texture_barrier",
        "GL_EXT_float_blend",
        "GL_NV_conditional_render",
        "GL_OES_vertex_array_object",
        "GL_EXT_occlusion_query_boolean",
        "GL_EXT_shader_io_blocks",
        "GL_OES_sample_shading",
        "GL_OES_fbo_render_mipmap",
        "GL_NV_sRGB_formats",
        "GL_EXT_texture_compression_s3tc",
        "GL_EXT_map_buffer_range",
        "GL_EXT_texture_cube_map_array",
        "GL_NV_bgr",
        "GL_OES_texture_half_float",
        "GL_OES_shader_image_atomic",
        "GL_EXT_primitive_bounding_box",
        "GL_NV_fbo_color_attachments",
        "GL_OES_EGL_sync",
        "GL_EXT_blend_minmax",
        "GL_EXT_sRGB_write_control",
        "GL_EXT_texture_view",
        "GL_NV_texture_array",
        "GL_EXT_frag_depth",
        "GL_EXT_texture_border_clamp",
        "GL_NV_draw_buffers",
        "GL_OES_copy_image",
        "GL_EXT_clear_texture",
        "GL_OES_standard_derivatives",
        "GL_NV_draw_texture",
        "GL_NV_polygon_mode",
        "GL_EXT_blend_func_extended",
        "GL_EXT_color_buffer_float",
        "GL_EXT_tessellation_point_size",
        "GL_EXT_texture_compression_dxt1",
        "GL_NV_texture_compression_s3tc",
        "GL_EXT_sparse_texture",
        "GL_EXT_shader_implicit_conversions",
        "GL_KHR_parallel_shader_compile",
        "GL_NV_framebuffer_blit",
        "GL_NV_shadow_samplers_cube",
        "GL_NV_texture_compression_s3tc_update",
        "GL_EXT_shader_integer_mix",
        "GL_EXT_memory_object_fd",
        "GL_NV_blend_equation_advanced",
        "GL_EXT_polygon_offset_clamp",
        "GL_NV_copy_buffer",
        "GL_NV_timeline_semaphore",
        "GL_NV_image_formats",
        "GL_NV_generate_mipmap_sRGB",
        "GL_NV_shader_noperspective_interpolation",
        "GL_OES_shader_io_blocks",
        "GL_OES_sample_variables",
        "GL_OES_texture_half_float_linear",
        "GL_EXT_multiview_texture_multisample",
        "GL_EXT_texture_format_BGRA8888",
        "GL_EXT_texture_query_lod",
        "GL_EXT_geometry_shader",
        "GL_NV_read_stencil",
        "GL_OES_texture_stencil8",
        "GL_OES_EGL_image_external_essl3",
        "GL_EXT_draw_transform_feedback",
        "GL_OES_depth_texture",
        "GL_EXT_shader_group_vote",
        "GL_EXT_clip_control",
        "GL_KHR_no_error",
        "GL_EXT_texture_buffer",
        "GL_OES_texture_float",
        "GL_KHR_robust_buffer_access_behavior",
        "GL_EXT_shader_texture_lod",
        "GL_KHR_texture_compression_astc_hdr",
        "GL_NV_shader_subgroup_partitioned",
        "GL_EXT_shader_non_constant_global_initializers",
        "GL_OES_draw_elements_base_vertex",
        "GL_OES_texture_view",
        "GL_ANDROID_extension_pack_es31a",
        "GL_NV_texture_border_clamp",
        "GL_EXT_texture_compression_rgtc",
        "GL_EXT_texture_rg",
        "GL_EXT_memory_object",
        "GL_NV_pack_subimage",
        "GL_EXT_semaphore",
        "GL_OES_depth24",
        "GL_OES_get_program_binary",
        "GL_EXT_gpu_shader5",
        "GL_EXT_debug_label",
        "GL_EXT_shadow_samplers",
        "GL_NV_instanced_arrays",
        "GL_KHR_texture_compression_astc_sliced_3d",
        "GL_EXT_base_instance",
        "GL_KHR_robustness",
        "GL_EXT_texture_sRGB_decode",
        "GL_OES_surfaceless_context",
        "GL_OES_texture_buffer",
        "GL_OES_gpu_shader5",
        "GL_EXT_EGL_image_external_wrap_modes",
        "GL_EXT_disjoint_timer_query",
        "GL_EXT_EGL_image_storage",
        "GL_NV_draw_instanced",
        "GL_NV_explicit_attrib_location",
        "GL_OES_tessellation_shader",
        "GL_NV_packed_float_linear",
        "GL_NV_non_square_matrices",
        "GL_NV_gpu_shader5",
        "GL_EXT_conservative_depth",
        "GL_OES_geometry_shader",
        "GL_OVR_multiview",
        "GL_KHR_context_flush_control",
        "GL_KHR_debug",
        "GL_KHR_shader_subgroup",
        "GL_OES_texture_cube_map_array",
        "GL_EXT_texture_norm16",
        "GL_NV_texture_compression_latc",
        "GL_OES_texture_storage_multisample_2d_array",
        "GL_NV_framebuffer_multisample",
        "GL_OES_depth_texture_cube_map",
        "GL_OES_viewport_array",
        "GL_NV_read_depth",
        "GL_EXT_multi_draw_indirect",
        "GL_NV_timer_query",
    }
[2021-12-21T19:04:51Z INFO  wgpu_hal::gles::adapter] SL version: OpenGL ES GLSL ES 3.20
Adapter 0:
        Backend:   Vulkan
        Name:      "NVIDIA GeForce GT 750M"
        VendorID:  4318
        DeviceID:  4073
        Type:      DiscreteGpu
        Compliant: true
        Features:
                DEPTH_CLIP_CONTROL:                                             true
                TEXTURE_COMPRESSION_BC:                                         true
                INDIRECT_FIRST_INSTANCE:                                        true
                TIMESTAMP_QUERY:                                                true
                PIPELINE_STATISTICS_QUERY:                                      true
                MAPPABLE_PRIMARY_BUFFERS:                                       true
                TEXTURE_BINDING_ARRAY:                                          true
                BUFFER_BINDING_ARRAY:                                           true
                STORAGE_RESOURCE_BINDING_ARRAY:                                 true
                SAMPLED_TEXTURE_AND_STORAGE_BUFFER_ARRAY_NON_UNIFORM_INDEXING:  true
                UNIFORM_BUFFER_AND_STORAGE_TEXTURE_ARRAY_NON_UNIFORM_INDEXING:  true
                PARTIALLY_BOUND_BINDING_ARRAY:                                  true
                UNSIZED_BINDING_ARRAY:                                          true
                MULTI_DRAW_INDIRECT:                                            true
                MULTI_DRAW_INDIRECT_COUNT:                                      true
                PUSH_CONSTANTS:                                                 true
                ADDRESS_MODE_CLAMP_TO_BORDER:                                   true
                POLYGON_MODE_LINE:                                              true
                POLYGON_MODE_POINT:                                             true
                TEXTURE_COMPRESSION_ETC2:                                       false
                TEXTURE_COMPRESSION_ASTC_LDR:                                   false
                TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES:                       true
                SHADER_FLOAT64:                                                 true
                VERTEX_ATTRIBUTE_64BIT:                                         false
                CONSERVATIVE_RASTERIZATION:                                     false
                VERTEX_WRITABLE_STORAGE:                                        true
                CLEAR_COMMANDS:                                                 true
                SPIRV_SHADER_PASSTHROUGH:                                       true
                SHADER_PRIMITIVE_INDEX:                                         true
                MULTIVIEW:                                                      true
        Limits:
                Max Texture Dimension 1d:                        16384
                Max Texture Dimension 2d:                        16384
                Max Texture Dimension 3d:                        2048
                Max Texture Array Layers:                        2048
                Max Bind Groups:                                 8
                Max Dynamic Uniform Buffers Per Pipeline Layout: 15
                Max Dynamic Storage Buffers Per Pipeline Layout: 16
                Max Sampled Textures Per Shader Stage:           1048576
                Max Samplers Per Shader Stage:                   1048576
                Max Storage Buffers Per Shader Stage:            1048576
                Max Storage Textures Per Shader Stage:           1048576
                Max Uniform Buffers Per Shader Stage:            15
                Max Uniform Buffer Binding Size:                 65536
                Max Storage Buffer Binding Size:                 4294967295
                Max Vertex Buffers:                              16
                Max Vertex Attributes:                           32
                Max Vertex Buffer Array Stride:                  2048
                Max Push Constant Size:                          256
                Min Uniform Buffer Offset Alignment:             256
                Min Storage Buffer Offset Alignment:             16
                Max Compute Workgroup Size X:                    1536
                Max Compute Workgroup Size Y:                    1024
                Max Compute Workgroup Size Z:                    64
                Max Compute Workgroups Per Dimension:           65535
        Downlevel Properties:
                Shader Model:                        Sm5
                COMPUTE_SHADERS:                     true
                FRAGMENT_WRITABLE_STORAGE:           true
                INDIRECT_EXECUTION:                  true
                BASE_VERTEX:                         true
                READ_ONLY_DEPTH_STENCIL:             true
                DEVICE_LOCAL_IMAGE_COPIES:           true
                NON_POWER_OF_TWO_MIPMAPPED_TEXTURES: true
                CUBE_ARRAY_TEXTURES:                 true
                COMPARISON_SAMPLERS:                 true
                INDEPENDENT_BLENDING:                true
                VERTEX_STORAGE:                      true
                ANISOTROPIC_FILTERING:               true
                FRAGMENT_STORAGE:                    true
Adapter 1:
        Backend:   Gl
        Name:      "NVIDIA GeForce GT 750M/PCIe/SSE2"
        VendorID:  4318
        DeviceID:  0
        Type:      DiscreteGpu
        Compliant: false
        Features:
                DEPTH_CLIP_CONTROL:                                             true
                TEXTURE_COMPRESSION_BC:                                         false
                INDIRECT_FIRST_INSTANCE:                                        false
                TIMESTAMP_QUERY:                                                false
                PIPELINE_STATISTICS_QUERY:                                      false
                MAPPABLE_PRIMARY_BUFFERS:                                       false
                TEXTURE_BINDING_ARRAY:                                          false
                BUFFER_BINDING_ARRAY:                                           false
                STORAGE_RESOURCE_BINDING_ARRAY:                                 false
                SAMPLED_TEXTURE_AND_STORAGE_BUFFER_ARRAY_NON_UNIFORM_INDEXING:  false
                UNIFORM_BUFFER_AND_STORAGE_TEXTURE_ARRAY_NON_UNIFORM_INDEXING:  false
                PARTIALLY_BOUND_BINDING_ARRAY:                                  false
                UNSIZED_BINDING_ARRAY:                                          false
                MULTI_DRAW_INDIRECT:                                            false
                MULTI_DRAW_INDIRECT_COUNT:                                      false
                PUSH_CONSTANTS:                                                 false
                ADDRESS_MODE_CLAMP_TO_BORDER:                                   false
                POLYGON_MODE_LINE:                                              false
                POLYGON_MODE_POINT:                                             false
                TEXTURE_COMPRESSION_ETC2:                                       true
                TEXTURE_COMPRESSION_ASTC_LDR:                                   false
                TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES:                       true
                SHADER_FLOAT64:                                                 false
                VERTEX_ATTRIBUTE_64BIT:                                         false
                CONSERVATIVE_RASTERIZATION:                                     false
                VERTEX_WRITABLE_STORAGE:                                        true
                CLEAR_COMMANDS:                                                 true
                SPIRV_SHADER_PASSTHROUGH:                                       false
                SHADER_PRIMITIVE_INDEX:                                         false
                MULTIVIEW:                                                      false
        Limits:
                Max Texture Dimension 1d:                        16384
                Max Texture Dimension 2d:                        16384
                Max Texture Dimension 3d:                        2048
                Max Texture Array Layers:                        2048
                Max Bind Groups:                                 8
                Max Dynamic Uniform Buffers Per Pipeline Layout: 14
                Max Dynamic Storage Buffers Per Pipeline Layout: 16
                Max Sampled Textures Per Shader Stage:           16
                Max Samplers Per Shader Stage:                   16
                Max Storage Buffers Per Shader Stage:            16
                Max Storage Textures Per Shader Stage:           8
                Max Uniform Buffers Per Shader Stage:            14
                Max Uniform Buffer Binding Size:                 65536
                Max Storage Buffer Binding Size:                 2147483647
                Max Vertex Buffers:                              16
                Max Vertex Attributes:                           16
                Max Vertex Buffer Array Stride:                  2048
                Max Push Constant Size:                          0
                Min Uniform Buffer Offset Alignment:             256
                Min Storage Buffer Offset Alignment:             16
                Max Compute Workgroup Size X:                    1536
                Max Compute Workgroup Size Y:                    1024
                Max Compute Workgroup Size Z:                    64
                Max Compute Workgroups Per Dimension:           65535
        Downlevel Properties:
                Shader Model:                        Sm5
                COMPUTE_SHADERS:                     true
                FRAGMENT_WRITABLE_STORAGE:           true
                INDIRECT_EXECUTION:                  true
                BASE_VERTEX:                         true
                READ_ONLY_DEPTH_STENCIL:             false
                DEVICE_LOCAL_IMAGE_COPIES:           true
                NON_POWER_OF_TWO_MIPMAPPED_TEXTURES: true
                CUBE_ARRAY_TEXTURES:                 true
                COMPARISON_SAMPLERS:                 true
                INDEPENDENT_BLENDING:                true
                VERTEX_STORAGE:                      true
                ANISOTROPIC_FILTERING:               false
                FRAGMENT_STORAGE:                    true

Looks like the GL adapter is detected.

@mockersf
Copy link
Member

mockersf commented Dec 21, 2021

Using #3291 with WGPU_BACKEND=gl cargo run --example 3d_scene --features bevy_internal/webgl I get yet another error: Internal error in VERTEX | FRAGMENT | VERTEX_FRAGMENT shader: error: declarations for uniform _group_2_binding_0 are inside blocks Mesh_block_1Vertex and Mesh_block_5Fragment.

That error is from Naga and will be fixed by gfx-rs/naga#1616

@cart https://gist.github.com/joyrexus/16041f2426450e73f5df9391f7f7ae5f may be helpful when posting looooooong things

@kvark
Copy link

kvark commented Dec 21, 2021

@cart uh, this one is rather annoying

EGL says it can present to the window but not natively

What this means is that we couldn't find an EGL config supporting "egl::NATIVE_RENDERABLE". This happens on some configurations, including Android and Angle, where it's harmless, and we specifically allow it there. But on Intel+NV laptops, of which I had one, this means nothing can be presented by the NV GPU. I.e. we'd get the context and draw, but you'd see only a black screen. So we decided to instead report the presentation to be incompatible in this case, just to be on the safe side.

Most likely this is some sort of a platform issue on the intersection of Nvidia with Linux's graphics stack. We had a similar issue on Vulkan, and Intel landed a patch where they effectively do the same thing - reporting the adapter as incapable of presenting.

It would be interesting to see if it works for you otherwise. If you check out wgpu and force tier_threshold = 1 that would make it try to present.

@cart
Copy link
Member

cart commented Dec 21, 2021

With that I get:

2021-12-21T20:10:51.425600Z ERROR wgpu_hal::gles::egl: GLES: [API/Error] ID 1280 : GL_INVALID_ENUM error generated. <target> enum is invalid; expected GL_TEXTURE_2D_MULTISAMPLE or GL_PROXY_TEXTURE_2D_MULTISAMPLE. 

@kvark
Copy link

kvark commented Dec 21, 2021

I mean, try running wgpu-rs examples.
Bevy stuff triggers a few GLSL code paths that need fixing, as reported in #841 (comment)

@cart
Copy link
Member

cart commented Dec 21, 2021

Ah sorry. As you called out, when I run the cube example it starts up but I get a blank / black window.

@jakobhellermann
Copy link
Contributor

gfx-rs/wgpu#2307 and gfx-rs/naga#1616 fix all issues for me both on webgl and opengl.

@cart
Copy link
Member

cart commented Dec 23, 2021

Awesome. I think thats enough for me to remove this from the milestone (but ill leave this issue open until some group of people can use opengl on bevy main).

@cart cart removed this from the Bevy 0.6 milestone Dec 23, 2021
@daxpedda
Copy link
Contributor

daxpedda commented Jan 3, 2022

I noticed when trying the WebGL backend on a MacBook, I get the following error:

panicked at 'wgpu error: Validation Error

Caused by:
    In Device::create_texture
      note: label = `sampled_color_attachment_texture`
    Dimension 2560 value 2560 exceeds the limit of 2048

', /Users/daxpedda/.cargo/registry/src/github.com-1ecc6299db9ec823/wgpu-0.12.0/src/backend/direct.rs:2273:5

Which I assume is gfx-rs/wgpu#2271. I guess this will happen on all WebGL builds running on a screen bigger then 2048x2048? Mine is 2560x1600. Currently running bevy main on d44c3cd15009797ef37ba03abf35a4482980bd10.

@kolen
Copy link

kolen commented Feb 14, 2022

When using master of wgpu (046f008) and main of bevy (d8974e7) and adding OrthographicCameraBundle::new_2d()

  commands.spawn_bundle(OrthographicCameraBundle::new_2d());

the following shader error occurs:

2022-02-14T16:13:07.937148Z ERROR wgpu::backend::direct: Handling wgpu errors as fatal by default
thread 'TaskPool (0)' panicked at 'wgpu error: Validation Error

Caused by:
    In Device::create_shader_module

Shader '' parsing error: expected global item ('struct', 'let', 'var', 'type', ';', 'fn') or the end of the file, found '['
  ┌─ wgsl:5:1
  │
5 │ [[group(0), binding(0)]]
  │ ^ expected global item ('struct', 'let', 'var', 'type', ';', 'fn') or the end of the file


    expected global item ('struct', 'let', 'var', 'type', ';', 'fn') or the end of the file, found '['

', /Users/kolen/items/wgpu/wgpu/src/backend/direct.rs:2290:5

The same error happens with PerspectiveCameraBundle.

Empty app with default plugins, App::new().add_plugins(DefaultPlugins).run();, works without errors.

@kvark
Copy link

kvark commented Feb 14, 2022

You shouldn't use master wgpu with Bevy, you should instead use the version compatible with Bevy's dependency manifest. I.e. if Bevy depends on wgpu-0.12, then you should use v0.12 branch as a dependency override.

@riverfr0zen
Copy link

I noticed when trying the WebGL backend on a MacBook, I get the following error:

panicked at 'wgpu error: Validation Error

Caused by:
    In Device::create_texture
      note: label = `sampled_color_attachment_texture`
    Dimension 2560 value 2560 exceeds the limit of 2048

', /Users/daxpedda/.cargo/registry/src/github.com-1ecc6299db9ec823/wgpu-0.12.0/src/backend/direct.rs:2273:5

Which I assume is gfx-rs/wgpu#2271. I guess this will happen on all WebGL builds running on a screen bigger then 2048x2048? Mine is 2560x1600. Currently running bevy main on d44c3cd15009797ef37ba03abf35a4482980bd10.

I'm getting a similar error on Chrome on my Android phone, where I'm trying to get the app resolution to match the window inner dimensions. I wrote it up here: #4021

Is there a way to detect what the limits are on a device so that I can resize to the limit?

@parasyte
Copy link
Contributor

Is there a way to detect what the limits are on a device so that I can resize to the limit?

With access to the wgpu::Adapter, you can query its limits: https://docs.rs/wgpu/latest/wgpu/struct.Adapter.html#method.limits I use this when requesting the wgpu::Device via DeviceDescriptor::limits. This will ensure that you always get the "right" limits applied based on the adapter capabilities. And it works for me with WebGL2.

It isn't clear to me why this isn't just the obvious default used by wgpu. I suppose some developers want more control than "just give me whatever the hardware supports".

@kvark
Copy link

kvark commented Feb 24, 2022

The reason is very simple. If your programs use all the capabilities of HW by default, then you'll often end up in a situation where your program doesn't run on another machine. This happens because it may implicitly depend on one of your platform specific capabilities or limits.
WebGPU (and wgpu) tries very hard to be a portable API, meaning that you write once and it runs everywhere. Having it default to a fixed set of limits (as opposed to your platform capabilities) is an important piece of the solution. In particular, this means most API traces recorded elsewhere I can reproduce not only on different machines, but even different API backends.

@daxpedda
Copy link
Contributor

I didn't check what changed, but with the bevy 0.6 release I didn't encounter this error anymore. But considering that the resolution isn't something optional, I believe that Bevy should automatically apply this specific limit.

Having it default to a fixed set of limits (as opposed to your platform capabilities) is an important piece of the solution. In particular, this means most API traces recorded elsewhere I can reproduce not only on different machines, but even different API backends.

If I understand this correctly @kvark, the only reason not to use all the capabilities of a HW is to support API traces?
Please forgive my naivety, I'm really clueless here, could that not leave significant performance on the table only to support extensive debugging tools? Don't get me wrong, debugging is important, lol, but as far as I understand API traces aren't recorded always anyway, so a "debug mode" could be used to generate more portable API traces in that case.

@riverfr0zen
Copy link

Thanks for your help @parasyte, it has led me to a workaround (which I wrote up here).

In my case I was sending window.set_resolution a height that was below the limit, but it seems that value was multiplied by the scale_factor, which on my mobile is 3, and that scaled value was beyond the limit. How to fix that was a little beyond me, so instead my workaround is to adjust the dimension values before sending to window.set_resolution.

@zicklag
Copy link
Member

zicklag commented Oct 17, 2022

I think this can be closed now. Does anybody have any objections?

While I haven't done extensive testing recently, I have been able to run Bevy games with OpenGL for a while now.

@alice-i-cecile
Copy link
Member

Closing for now. If y'all run into new problems, please open an issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Rendering Drawing game state to the screen C-Feature A new feature, making something new possible
Projects
None yet
Development

No branches or pull requests