Closed DileSoft closed 2 years ago
Thank you for filing!
It's very hard to fix without knowing the exact place where this happens.
Would you be able to run this in gdb
and break on egl_debug_proc function, where the message_type == EGL_DEBUG_MSG_ERROR_KHR
? Getting the call stack from this would be very helpful.
wgpu_hal::gles::egl::gl_debug_message_callback (source=33350, gltype=33356, id=1280, severity=37190, message=...)
at /home/dilesoft/.cargo/git/checkouts/wgpu-53e70f8674b08dd4/b32dcbb/wgpu-hal/src/gles/egl.rs:205
#1 0x0000555556354c26 in core::ops::function::FnMut::call_mut () at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/core/src/ops/function.rs:150
#2 0x0000555556405395 in glow::native::raw_debug_message_callback::{{closure}} () at /home/dilesoft/.cargo/registry/src/github.com-1ecc6299db9ec823/glow-0.11.0/src/native.rs:2753
#3 0x0000555556467130 in std::panicking::try::do_call (data=0x7ffffffecc78 "\350\020\377\377\377\177\000")
at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/std/src/panicking.rs:403
#4 0x0000555556479c7b in __rust_try ()
#5 0x000055555646707b in std::panicking::try (f=...) at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/std/src/panicking.rs:367
#6 0x0000555556391821 in std::panic::catch_unwind (f=...) at /rustc/59eed8a2aac0230a8b53e89d4e99d55912ba6b35/library/std/src/panic.rs:129
#7 0x000055555640528d in glow::native::raw_debug_message_callback (source=33350, gltype=33356, id=1280, severity=37190, length=121,
message=0x7ffff720d5a0 "GL_INVALID_ENUM error generated. <pname> operation is invalid because a required extension (OpenGL_3_1) is not supported.", user_param=0x7fffffff10e8)
at /home/dilesoft/.cargo/registry/src/github.com-1ecc6299db9ec823/glow-0.11.0/src/native.rs:2749
#8 0x00007ffff5a8c878 in ?? () from /lib/x86_64-linux-gnu/libnvidia-eglcore.so.340.108
#9 0x00007ffff5a8c9c0 in ?? () from /lib/x86_64-linux-gnu/libnvidia-eglcore.so.340.108
#10 0x00007ffff5a8cdb8 in ?? () from /lib/x86_64-linux-gnu/libnvidia-eglcore.so.340.108
#11 0x00007ffff5ab7486 in ?? () from /lib/x86_64-linux-gnu/libnvidia-eglcore.so.340.108
#12 0x0000555556728225 in glow::gl46::call_atomic_ptr_2arg (name=..., ptr=0x7fffffff3160, a=35380, b=0x7ffffffed8dc)
at /home/dilesoft/.cargo/registry/src/github.com-1ecc6299db9ec823/glow-0.11.0/src/gl46.rs:4313
#13 glow::gl46::struct_commands::GlFns::GetIntegerv (self=0x7fffffff2a30, pname=35380, data=0x7ffffffed8dc)
at /home/dilesoft/.cargo/registry/src/github.com-1ecc6299db9ec823/glow-0.11.0/src/gl46.rs:15502
#14 0x0000555556738d94 in <glow::native::Context as glow::HasContext>::get_parameter_i32 (self=0x7fffffff2a30, parameter=35380)
at /home/dilesoft/.cargo/registry/src/github.com-1ecc6299db9ec823/glow-0.11.0/src/native.rs:1023
#15 0x00005555564e81de in wgpu_hal::gles::adapter::<impl wgpu_hal::gles::Adapter>::expose (context=...)
at /home/dilesoft/.cargo/git/checkouts/wgpu-53e70f8674b08dd4/b32dcbb/wgpu-hal/src/gles/adapter.rs:323
#16 0x00005555564d1d95 in <wgpu_hal::gles::egl::Instance as wgpu_hal::Instance<wgpu_hal::gles::Api>>::enumerate_adapters (self=0x555556d08df0)
at /home/dilesoft/.cargo/git/checkouts/wgpu-53e70f8674b08dd4/b32dcbb/wgpu-hal/src/gles/egl.rs:716
#17 0x0000555556077823 in wgpu_core::instance::<impl wgpu_core::hub::Global<G>>::request_adapter::gather (instance=..., inputs=0x7fffffff8f28, compatible_surface=..., force_software=false,
device_types=0x7fffffff6f20) at /home/dilesoft/.cargo/git/checkouts/wgpu-53e70f8674b08dd4/b32dcbb/wgpu-core/src/instance.rs:570
#18 0x0000555555fc066e in wgpu_core::instance::<impl wgpu_core::hub::Global<G>>::request_adapter (self=0x555556d08db0, desc=0x7fffffff8f18, inputs=...)
at /home/dilesoft/.cargo/git/checkouts/wgpu-53e70f8674b08dd4/b32dcbb/wgpu-core/src/instance.rs:636
#19 0x000055555614818c in <wgpu::backend::direct::Context as wgpu::Context>::instance_request_adapter (self=0x555556d08db0, options=0x7fffffffa098)
at /home/dilesoft/.cargo/git/checkouts/wgpu-53e70f8674b08dd4/b32dcbb/wgpu/src/backend/direct.rs:794
#20 0x0000555555fe057d in wgpu::Instance::request_adapter (self=0x7fffffff93e0, options=0x7fffffffa098)
at /home/dilesoft/.cargo/git/checkouts/wgpu-53e70f8674b08dd4/b32dcbb/wgpu/src/lib.rs:1461
Could you please also post the output of a run with RUST_LOG=wgpu_hal=debug
environment?
[2021-11-30T17:20:26Z DEBUG wgpu_hal::gles::egl] Client extensions: [
"EGL_KHR_client_get_all_proc_addresses",
"EGL_EXT_client_extensions",
"EGL_EXT_platform_base",
"EGL_EXT_platform_x11",
]
[2021-11-30T17:20:26Z INFO wgpu_hal::gles::egl] Loading X11 library to get the current display
[2021-11-30T17:20:26Z INFO wgpu_hal::gles::egl] Using default platform
[2021-11-30T17:20:26Z INFO wgpu_hal::gles::egl] Display vendor "NVIDIA", version (1, 4)
[2021-11-30T17:20:26Z DEBUG wgpu_hal::gles::egl] Display extensions: [
"EGL_NV_system_time",
"EGL_KHR_surfaceless_context",
"EGL_KHR_image",
"EGL_KHR_image_base",
"EGL_KHR_gl_texture_2D_image",
"EGL_KHR_gl_texture_cubemap_image",
"EGL_KHR_gl_renderbuffer_image",
"EGL_KHR_config_attribs",
"EGL_KHR_fence_sync",
"EGL_NV_sync",
"EGL_KHR_reusable_sync",
"EGL_KHR_create_context",
"EGL_EXT_create_context_robustness",
"EGL_KHR_stream",
"EGL_KHR_stream_fifo",
"EGL_KHR_stream_producer_eglsurface",
"EGL_KHR_stream_consumer_gltexture",
"EGL_NV_stream_sync",
"EGL_KHR_get_all_proc_addresses",
"EGL_IMG_context_priority",
"EGL_NV_post_sub_buffer",
"EGL_KHR_image_pixmap",
"EGL_EXT_buffer_age",
]
[2021-11-30T17:20:26Z WARN wgpu_hal::gles::egl] EGL surface: -srgb
[2021-11-30T17:20:26Z INFO wgpu_hal::gles::egl] Trying native-render
[2021-11-30T17:20:26Z WARN wgpu_hal::gles::egl] No config found!
[2021-11-30T17:20:26Z INFO wgpu_hal::gles::egl] Trying presentation
[2021-11-30T17:20:26Z WARN wgpu_hal::gles::egl] EGL says it can present to the window but not natively. This has been confirmed to malfunction on Intel+NV laptops.
[2021-11-30T17:20:26Z INFO wgpu_hal::gles::egl] EGL context: +debug KHR
[2021-11-30T17:20:26Z INFO wgpu_hal::gles::egl] EGL context: +robust access EXT
[2021-11-30T17:20:26Z INFO wgpu_hal::gles::egl] EGL context: +surfaceless
[2021-11-30T17:20:26Z INFO wgpu_hal::gles::egl] Max label length: 256
[2021-11-30T17:20:26Z INFO wgpu_hal::gles::egl] Enabling GLES debug output
[2021-11-30T17:20:26Z INFO wgpu_hal::gles::adapter] Vendor: NVIDIA Corporation
[2021-11-30T17:20:26Z INFO wgpu_hal::gles::adapter] Renderer: GeForce 9600 GT/PCIe/SSE2
[2021-11-30T17:20:26Z INFO wgpu_hal::gles::adapter] Version: OpenGL ES 2.0 340.108
[2021-11-30T17:20:26Z DEBUG wgpu_hal::gles::adapter] Extensions: {
"GL_OES_fbo_render_mipmap",
"GL_NV_timer_query",
"GL_EXT_occlusion_query_boolean",
"GL_NV_texture_compression_s3tc_update",
"GL_OES_packed_depth_stencil",
"GL_OES_vertex_array_object",
"",
"GL_NV_texture_compression_latc",
"GL_OES_surfaceless_context",
"GL_EXT_blend_minmax",
"GL_OES_rgb8_rgba8",
"GL_EXT_unpack_subimage",
"GL_NV_copy_image",
"GL_EXT_separate_shader_objects",
"GL_EXT_texture_compression_dxt1",
"GL_NV_copy_buffer",
"GL_NV_texture_border_clamp",
"GL_EXT_texture_sRGB_decode",
"GL_EXT_sRGB",
"GL_NV_EGL_stream_consumer_external",
"GL_NV_occlusion_query_samples",
"GL_OES_standard_derivatives",
"GL_OES_texture_npot",
"GL_OES_depth_texture",
"GL_OES_texture_half_float_linear",
"GL_EXT_map_buffer_range",
"GL_OES_vertex_half_float",
"GL_OES_element_index_uint",
"GL_NV_draw_instanced",
"GL_NV_framebuffer_multisample",
"GL_OES_EGL_image",
"GL_NV_read_depth",
"GL_OES_EGL_sync",
"GL_NV_pixel_buffer_object",
"GL_NV_read_depth_stencil",
"GL_NV_texture_compression_s3tc",
"GL_OES_get_program_binary",
"GL_OES_depth_texture_cube_map",
"GL_EXT_texture_rg",
"GL_EXT_color_buffer_half_float",
"GL_EXT_shadow_samplers",
"GL_NV_bgr",
"GL_NV_generate_mipmap_sRGB",
"GL_NV_non_square_matrices",
"GL_NV_framebuffer_blit",
"GL_EXT_frag_depth",
"GL_NV_shadow_samplers_array",
"GL_NV_draw_buffers",
"GL_EXT_shader_integer_mix",
"GL_EXT_robustness",
"GL_OES_mapbuffer",
"GL_OES_texture_half_float",
"GL_NV_sRGB_formats",
"GL_EXT_texture_format_BGRA8888",
"GL_NV_instanced_arrays",
"GL_NV_read_stencil",
"GL_NV_pack_subimage",
"GL_NV_packed_float_linear",
"GL_NV_texture_array",
"GL_KHR_debug",
"GL_NV_shadow_samplers_cube",
"GL_NV_explicit_attrib_location",
"GL_EXT_texture_filter_anisotropic",
"GL_EXT_debug_label",
"GL_NV_packed_float",
"GL_NV_fbo_color_attachments",
"GL_EXT_sRGB_write_control",
"GL_OES_compressed_ETC1_RGB8_texture",
"GL_OES_depth24",
"GL_OES_depth32",
"GL_EXT_texture_compression_s3tc",
"GL_EXT_texture_storage",
"GL_NV_read_buffer",
}
[2021-11-30T17:20:26Z INFO wgpu_hal::gles::adapter] SL version: OpenGL ES GLSL ES 1.00
[2021-11-30T17:20:26Z ERROR wgpu_hal::gles::egl] GLES: [API/Error] ID 1280 : GL_INVALID_ENUM error generated. <pname> operation is invalid because a required extension (OpenGL_3_1) is not supported.
Unfortunately, what we have here is GLES-2.0 context given to us, even though we asked for GLES-3.0. I added a bit of code in https://github.com/gfx-rs/wgpu/pull/2237 to check that and not bother exposing such adapters. So this machine can't run wgpu's GLES backend :(
Video: Nvidia GeForce 9600.
OS: Linux Mint
2021-11-30T08:39:19Z ERROR wgpu_hal::gles::egl] GLES: [API/Error] ID 1280 : GL_INVALID_ENUM error generated. <pname> operation is invalid because a required extension (OpenGL_3_1) is not supported.