wgpu: [GL] Unable to create GLES 3.x context on Android

Description Unable to create GLES 3.x context on Android device.

2021-06-30 22:17:11.584 16981-16981/rust.example.cube V/ndk_glue: WindowCreated
2021-06-30 22:17:11.584 16981-17057/rust.example.cube I/cube::framework: NativeScreen Found:Some(NativeWindow { ptr: 0x76f6467010 })
2021-06-30 22:17:11.584 16981-17057/rust.example.cube I/cube::framework: Initializing the surface...
2021-06-30 22:17:11.586 16981-16981/rust.example.cube V/ndk_glue: WindowResized
2021-06-30 22:17:11.594 16981-17057/rust.example.cube D/wgpu_hal::gles::egl: Client extensions: []
2021-06-30 22:17:11.594 16981-17057/rust.example.cube I/wgpu_hal::gles::egl: Using default platform
2021-06-30 22:17:11.596 16981-16981/rust.example.cube V/ndk_glue: ContentRectChanged
2021-06-30 22:17:11.615 16981-17057/rust.example.cube I/wgpu_hal::gles::egl: Display vendor "Android", version (1, 4)
2021-06-30 22:17:11.615 16981-17057/rust.example.cube D/wgpu_hal::gles::egl: Display extensions: [
        "EGL_KHR_get_all_proc_addresses",
        "EGL_ANDROID_presentation_time",
        "EGL_KHR_swap_buffers_with_damage",
        "EGL_ANDROID_get_native_client_buffer",
        "EGL_ANDROID_front_buffer_auto_refresh",
        "EGL_ANDROID_get_frame_timestamps",
        "EGL_KHR_image",
        "EGL_KHR_image_base",
        "EGL_KHR_gl_colorspace",
        "EGL_KHR_gl_texture_2D_image",
        "EGL_KHR_gl_texture_cubemap_image",
        "EGL_KHR_gl_renderbuffer_image",
        "EGL_KHR_fence_sync",
        "EGL_KHR_create_context",
        "EGL_KHR_config_attribs",
        "EGL_KHR_surfaceless_context",
        "EGL_EXT_create_context_robustness",
        "EGL_ANDROID_image_native_buffer",
        "EGL_KHR_wait_sync",
        "EGL_ANDROID_recordable",
        "EGL_KHR_partial_update",
        "EGL_KHR_mutable_render_buffer",
        "EGL_EXT_protected_content",
        "EGL_IMG_context_priority",
    ]
2021-06-30 22:17:11.616 16981-17057/rust.example.cube V/wgpu_hal::gles::egl: Configurations:
2021-06-30 22:17:11.616 16981-17057/rust.example.cube V/wgpu_hal::gles::egl: 	CONFORMANT=0x45, RENDERABLE=0x45, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x1405
2021-06-30 22:17:11.616 16981-17057/rust.example.cube I/chatty: uid=10225(u0_a225) rust.example.cube identical 1 line
2021-06-30 22:17:11.616 16981-17057/rust.example.cube V/wgpu_hal::gles::egl: 	CONFORMANT=0x45, RENDERABLE=0x45, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x1405
2021-06-30 22:17:11.616 16981-17057/rust.example.cube V/wgpu_hal::gles::egl: 	CONFORMANT=0x45, RENDERABLE=0x45, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x405
2021-06-30 22:17:11.616 16981-17057/rust.example.cube V/wgpu_hal::gles::egl: 	CONFORMANT=0x45, RENDERABLE=0x45, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x1405
2021-06-30 22:17:11.616 16981-17057/rust.example.cube I/chatty: uid=10225(u0_a225) rust.example.cube identical 1 line
2021-06-30 22:17:11.616 16981-17057/rust.example.cube V/wgpu_hal::gles::egl: 	CONFORMANT=0x45, RENDERABLE=0x45, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x1405
2021-06-30 22:17:11.616 16981-17057/rust.example.cube V/wgpu_hal::gles::egl: 	CONFORMANT=0x45, RENDERABLE=0x45, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x405
2021-06-30 22:17:11.616 16981-17057/rust.example.cube V/wgpu_hal::gles::egl: 	CONFORMANT=0x45, RENDERABLE=0x45, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x1405
2021-06-30 22:17:11.616 16981-17057/rust.example.cube V/wgpu_hal::gles::egl: 	CONFORMANT=0x45, RENDERABLE=0x45, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x1405
2021-06-30 22:17:11.616 16981-17057/rust.example.cube V/wgpu_hal::gles::egl: 	CONFORMANT=0x45, RENDERABLE=0x45, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x405
2021-06-30 22:17:11.616 16981-17057/rust.example.cube V/wgpu_hal::gles::egl: 	CONFORMANT=0x45, RENDERABLE=0x45, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x1
2021-06-30 22:17:11.616 16981-17057/rust.example.cube I/chatty: uid=10225(u0_a225) rust.example.cube identical 2 lines
2021-06-30 22:17:11.616 16981-17057/rust.example.cube V/wgpu_hal::gles::egl: 	CONFORMANT=0x45, RENDERABLE=0x45, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x1
2021-06-30 22:17:11.616 16981-17057/rust.example.cube I/wgpu_hal::gles::egl: 	Trying presentation
2021-06-30 22:17:11.617 16981-17057/rust.example.cube I/wgpu_hal::gles::egl: 	EGL context: +robust access
2021-06-30 22:17:11.617 16981-17057/rust.example.cube W/wgpu_hal::gles::egl: unable to create GLES 3.x context: BadAttribute
2021-06-30 22:17:11.619 16981-17056/rust.example.cube I/RustStdoutStderr: thread '<unnamed>' panicked at 'No suitable GPU adapters found on the system!', wgpu/examples/cube/../framework.rs:138:10

Platform Android 8.0.

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Comments: 21 (15 by maintainers)

Commits related to this issue

Most upvoted comments

The debug half is fixed by #1584

Looks like it’s been reported upstream - https://forums.developer.nvidia.com/t/390-143-eglcreateplatformwindowsurface-causes-bogus-egl-bad-display-error/179820

I’m not sure it’s the same error, but could be. One thing that looks highly suspicious is that in my case, the function choose_config() from the khronos-egl crate does not seem to handle the case correctly when count is zero, i.e. no matching config is found. Why it isn’t found is unclear to me at the moment. I’ll look at it more closely and will probably report it as an issue in khronos-egl. (that was a misunderstanding on my part)

I don’t know the underlying cause, but this is what RUST_LOG=info cargo run --example hello_triangle says:

[2021-07-05T20:36:50Z ERROR wgpu_hal::gles::egl] EGL 'eglCreatePlatformWindowSurface' code 0x3008: 
[2021-07-05T20:36:50Z WARN  wgpu_hal::gles::egl] Error in create_platform_window_surface: BadDisplay
[2021-07-05T20:36:50Z WARN  wgpu_core::instance] Error: InstanceError

Looks like ignoring supports_khr_context and using the EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT attribute instead works in my case.

Related error on Linux, NVIDIA GT 610. Removing the EGL_CONTEXT_OPENGL_ROBUST_ACCESS_BIT_KHR seems to let it continue beyond the eglCreateContext but then it fails later in eglCreatePlatformWindowSurface.

[2021-07-05T20:22:02Z 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_EXT_platform_x11",
        "EGL_EXT_platform_device",
        "EGL_EXT_platform_wayland",
        "EGL_KHR_platform_wayland",
        "EGL_KHR_platform_x11",
        "EGL_MESA_platform_xcb",
        "EGL_MESA_platform_gbm",
        "EGL_KHR_platform_gbm",
        "EGL_MESA_platform_surfaceless",
    ]
[2021-07-05T20:22:02Z INFO  wgpu_hal::gles::egl] Loading Wayland library to get the current display
[2021-07-05T20:22:02Z INFO  wgpu_hal::gles::egl] Loading X11 library to get the current display
[2021-07-05T20:22:02Z INFO  wgpu_hal::gles::egl] Using X11 platform
[2021-07-05T20:22:02Z INFO  wgpu_hal::gles::egl] Enabling EGL debug output
[2021-07-05T20:22:02Z INFO  wgpu_hal::gles::egl] Display vendor "NVIDIA", version (1, 4)
[2021-07-05T20:22:02Z DEBUG wgpu_hal::gles::egl] Display extensions: [
        "EGL_EXT_buffer_age",
        "EGL_EXT_create_context_robustness",
        "EGL_EXT_output_base",
        "EGL_EXT_stream_acquire_mode",
        "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_display_reference",
        "EGL_KHR_fence_sync",
        "EGL_KHR_get_all_proc_addresses",
        "EGL_KHR_partial_update",
        "EGL_KHR_swap_buffers_with_damage",
        "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_consumer_gltexture",
        "EGL_KHR_stream_cross_process_fd",
        "EGL_KHR_stream_fifo",
        "EGL_KHR_stream_producer_eglsurface",
        "EGL_KHR_surfaceless_context",
        "EGL_NV_nvrm_fence_sync",
        "EGL_NV_post_sub_buffer",
        "EGL_NV_stream_metadata",
        "EGL_NV_stream_reset",
        "EGL_NV_stream_sync",
        "EGL_NV_stream_consumer_gltexture_yuv",
        "EGL_NV_stream_attrib",
        "EGL_NV_sync",
        "EGL_NV_system_time",
        "EGL_NV_output_drm_flip_event",
    ]
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl] Configurations:
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x807
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x807
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x807
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x807
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x807
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x807
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x807
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x807
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x807
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x807
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x807
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x807
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x807
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x807
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x807
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x807
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x807
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x807
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x805
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x801
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x801
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x801
[2021-07-05T20:22:02Z TRACE wgpu_hal::gles::egl]        CONFORMANT=0x4D, RENDERABLE=0x4D, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x801
[2021-07-05T20:22:02Z INFO  wgpu_hal::gles::egl]        Trying native-render
[2021-07-05T20:22:02Z WARN  wgpu_hal::gles::egl] No config found!
[2021-07-05T20:22:02Z INFO  wgpu_hal::gles::egl]        Trying presentation
[2021-07-05T20:22:02Z INFO  wgpu_hal::gles::egl]        EGL context: +debug KHR
[2021-07-05T20:22:02Z INFO  wgpu_hal::gles::egl]        EGL context: +robust access KHR
[2021-07-05T20:22:02Z ERROR wgpu_hal::gles::egl] EGL 'eglCreateContext' code 0x3004: EGL_BAD_ATTRIBUTE error: In eglCreateContext: Failure in argument parsing
    
[2021-07-05T20:22:02Z WARN  wgpu_hal::gles::egl] unable to create GLES 3.x context: BadAttribute
Adapter 0:
        Backend:   Vulkan
        Name:      "llvmpipe (LLVM 11.0.1, 256 bits)"
        VendorID:  65541
        DeviceID:  0
        Type:      Cpu
        Compliant: true
        Features:
                DEPTH_CLAMPING:                              true
                TEXTURE_COMPRESSION_BC:                      true
                TIMESTAMP_QUERY:                             true
                PIPELINE_STATISTICS_QUERY:                   true
                MAPPABLE_PRIMARY_BUFFERS:                    true
                TEXTURE_BINDING_ARRAY:                       false
                BUFFER_BINDING_ARRAY:                        false
                STORAGE_RESOURCE_BINDING_ARRAY:              true
                RESOURCE_BINDING_ARRAY_NON_UNIFORM_INDEXING: false
                UNSIZED_BINDING_ARRAY:                       false
                MULTI_DRAW_INDIRECT:                         true
                MULTI_DRAW_INDIRECT_COUNT:                   true
                PUSH_CONSTANTS:                              true
                ADDRESS_MODE_CLAMP_TO_BORDER:                true
                NON_FILL_POLYGON_MODE:                       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:                              false
                SPIRV_SHADER_PASSTHROUGH:                    true
        Limits:
                Max Texture Dimension 1d:                        16384
                Max Texture Dimension 2d:                        16384
                Max Texture Dimension 3d:                        4096
                Max Texture Array Layers:                        2048
                Max Bind Groups:                                 8
                Max Dynamic Uniform Buffers Per Pipeline Layout: 256
                Max Dynamic Storage Buffers Per Pipeline Layout: 256
                Max Sampled Textures Per Shader Stage:           128
                Max Samplers Per Shader Stage:                   32
                Max Storage Buffers Per Shader Stage:            16
                Max Storage Textures Per Shader Stage:           128
                Max Uniform Buffers Per Shader Stage:            16
                Max Uniform Buffer Binding Size:                 65536
                Max Storage Buffer Binding Size:                 134217728
                Max Vertex Buffers:                              16
                Max Vertex Attributes:                           32
                Max Vertex Buffer Array Stride:                  2048
                Max Push Constant Size:                          128
        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_ACCESSABLE_STORAGE_BUFFERS:   true
                ANISOTROPIC_FILTERING:               false