gfx-rs/wgpu-rs

"No suitable GPU adapters found" from examples

dbr opened this issue · 13 comments

dbr commented

If I try and run any of the examples which display a window, they all panic as follows:

$ git show HEAD
commit f891e86e87f0733f04a8078f4be8ead2f24551cf (HEAD -> master, origin/staging, origin/master, origin/HEAD)
Merge: f882abc 7235072
Author: bors[bot] <26634292+bors[bot]@users.noreply.github.com>
Date:   Mon Feb 1 07:17:07 2021 +0000

    Merge #738
    
    738: Update version and dependencies to gfx-9 r=kvark a=kvark
    
    
    
    Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>

$ cargo run --example cube
    Finished dev [unoptimized + debuginfo] target(s) in 0.09s
     Running `target/debug/examples/cube`
thread 'main' panicked at 'No suitable GPU adapters found on the system!', examples/cube/../framework.rs:146:10
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

which is dying here:

let adapter = instance
.request_adapter(&wgpu::RequestAdapterOptions {
power_preference,
compatible_surface: Some(&surface),
})
.await
.expect("No suitable GPU adapters found on the system!");

I guess this is a "you just need to install [...] and it'll fix that"-type problem, but couldn't any info on this - the hardware is a 7th gen Thinkpad X1 Carbon, running Debian 9 with fairly minimal changes (although it can run OpenGL stuff fine, so I would have thought WGPU_BACKEND=gl would have worked)

Same error on Debian Testing (upcoming Bullseye). 5.10.12 kernel, Wayland, AMD iGPU.

Also, hello-compute:

$ cargo run --example hello-compute 1 2 3 4
    Finished dev [unoptimized + debuginfo] target(s) in 0.08s
     Running `target/debug/examples/hello-compute 1 2 3 4`
thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', examples/hello-compute/main.rs:30:10
stack backtrace:
   0: rust_begin_unwind
             at /usr/src/rustc-1.48.0/library/std/src/panicking.rs:483
   1: core::panicking::panic_fmt
             at /usr/src/rustc-1.48.0/library/core/src/panicking.rs:85
   2: core::panicking::panic
             at /usr/src/rustc-1.48.0/library/core/src/panicking.rs:50
   3: core::option::Option<T>::unwrap
             at /usr/src/rustc-1.48.0/library/core/src/option.rs:383
   4: hello_compute::execute_gpu::{{closure}}
             at ./examples/hello-compute/main.rs:27
   5: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
             at /usr/src/rustc-1.48.0/library/core/src/future/mod.rs:80
   6: hello_compute::run::{{closure}}
             at ./examples/hello-compute/main.rs:16
   7: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
             at /usr/src/rustc-1.48.0/library/core/src/future/mod.rs:80
   8: pollster::block_on
             at /home/lbr/.cargo/registry/src/github.com-1ecc6299db9ec823/pollster-0.2.1/src/lib.rs:131
   9: hello_compute::main
             at ./examples/hello-compute/main.rs:195
  10: core::ops::function::FnOnce::call_once
             at /usr/src/rustc-1.48.0/library/core/src/ops/function.rs:227

By default (because of wgpu::BackendBit::PRIMARY), the examples will only work on Vulkan, Metal, or DX12. You need to either manually specify GL or use wgpu::BackendBit::all(). That being said if it still fails with WGPU_BACKEND=gl`, that could suggest another issue.

dbr commented

Yep I get the same result explicitly setting the backend to gl:

$ env WGPU_BACKEND=gl cargo run --example cube
    Finished dev [unoptimized + debuginfo] target(s) in 0.09s
     Running `target/debug/examples/cube`
thread 'main' panicked at 'No suitable GPU adapters found on the system!', examples/cube/../framework.rs:146:10
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
kvark commented

@dbr OpenGL backend requires EGL installed on the system. Do you miss it by any chance?

7th gen Carbon X1 should support Vulkan. Could you check if you have the drivers? What does vulkaninfo say?

dbr commented

From what I can find, the version of Mesa in Debian 10 is too old to support Vulkan with the integrated Intel graphics in the X1 Carbon 7th gen - installing vulkan-utils and running vulkaninfo only outputs Cannot create Vulkan instance. [...] VK_ERROR_INCOMPATIBLE_DRIVER

However I think I have EGL installed:

$ apt search libegl | grep installed
libegl-mesa0/stable,now 18.3.6-2+deb10u1 amd64 [installed,automatic]
libegl1/stable,now 1.1.0-1 amd64 [installed,automatic]
libegl1-mesa/stable,now 18.3.6-2+deb10u1 amd64 [installed,automatic]
kvark commented

Could you try GL again but in addition set RUST_LOG=gfx_backend_gl=debug environment?

@kvark ,

Building from master, executing as following:

RUST_BACKTRACE=full WGPU_BACKEND=gl RUST_LOG=gfx_backend_gl=debug cargo run --example cube &> wgpu_debug.txt

Output:

    Finished dev [unoptimized + debuginfo] target(s) in 0.08s
     Running `target/debug/examples/cube`
[0.030433 INFO]()(no module): Client extensions: "EGL_EXT_device_base EGL_EXT_device_enumeration EGL_EXT_device_query EGL_EXT_platform_base EGL_KHR_client_get_all_proc_addresses EGL_EXT_client_extensions EGL_KHR_debug EGL_EXT_platform_device EGL_EXT_platform_wayland EGL_KHR_platform_wayland EGL_EXT_platform_x11 EGL_KHR_platform_x11 EGL_MESA_platform_gbm EGL_KHR_platform_gbm EGL_MESA_platform_surfaceless"
[0.030560 INFO]()(no module): Loading Wayland library to get the current display
[0.030765 INFO]()(no module): Loading X11 library to get the current display
[0.031214 INFO]()(no module): Using Wayland platform
[0.063058 INFO]()(no module): Display vendor "Mesa Project", version (1, 5), extensions: "EGL_ANDROID_blob_cache EGL_ANDROID_native_fence_sync EGL_EXT_buffer_age EGL_EXT_create_context_robustness EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_EXT_swap_buffers_with_damage EGL_KHR_cl_event2 EGL_KHR_config_attribs EGL_KHR_create_context EGL_KHR_create_context_no_error EGL_KHR_fence_sync EGL_KHR_get_all_proc_addresses 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_base EGL_KHR_no_config_context EGL_KHR_reusable_sync EGL_KHR_surfaceless_context EGL_KHR_swap_buffers_with_damage EGL_EXT_pixel_format_float EGL_KHR_wait_sync EGL_MESA_configless_context EGL_MESA_drm_image EGL_MESA_image_dma_buf_export EGL_MESA_query_driver EGL_WL_bind_wayland_display EGL_WL_create_wayland_buffer_from_image "
[0.063700 INFO]()(no module): Trying native-render
[0.067270 WARN]()(no module): Error in create_pbuffer_surface: BadMatch
thread 'main' panicked at 'No suitable GPU adapters found on the system!', examples/cube/../framework.rs:146:10
stack backtrace:
   0:     0x5630901a072c - std::backtrace_rs::backtrace::libunwind::trace::hbc0dbba8e4be7fe4
                               at /usr/src/rustc-1.48.0/library/std/src/../../backtrace/src/backtrace/libunwind.rs:96
   1:     0x5630901a072c - std::backtrace_rs::backtrace::trace_unsynchronized::hd8cc0512eb4dd70a
                               at /usr/src/rustc-1.48.0/library/std/src/../../backtrace/src/backtrace/mod.rs:66
   2:     0x5630901a072c - std::sys_common::backtrace::_print_fmt::h766fae1718fafbdd
                               at /usr/src/rustc-1.48.0/library/std/src/sys_common/backtrace.rs:79
   3:     0x5630901a072c - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::ha84a0cc4b4a9ee84
                               at /usr/src/rustc-1.48.0/library/std/src/sys_common/backtrace.rs:58
   4:     0x5630901d6d8f - core::fmt::write::h600ac4150cc03aef
                               at /usr/src/rustc-1.48.0/library/core/src/fmt/mod.rs:1080
   5:     0x56309019a095 - std::io::Write::write_fmt::h204ba0c32f2b9a99
                               at /usr/src/rustc-1.48.0/library/std/src/io/mod.rs:1516
   6:     0x5630901b6a1d - std::sys_common::backtrace::_print::h6e0f6c74c2c2ad8f
                               at /usr/src/rustc-1.48.0/library/std/src/sys_common/backtrace.rs:61
   7:     0x5630901b6a1d - std::sys_common::backtrace::print::h44d505c625eab4ff
                               at /usr/src/rustc-1.48.0/library/std/src/sys_common/backtrace.rs:48
   8:     0x5630901b6a1d - std::panicking::default_hook::{{closure}}::h891d2ab61783cea8
                               at /usr/src/rustc-1.48.0/library/std/src/panicking.rs:208
   9:     0x5630901b6723 - std::panicking::default_hook::h99e2d300f2614f89
                               at /usr/src/rustc-1.48.0/library/std/src/panicking.rs:227
  10:     0x5630901b701f - std::panicking::rust_panic_with_hook::h1b36ee28aa35f9da
                               at /usr/src/rustc-1.48.0/library/std/src/panicking.rs:577
  11:     0x5630901a0b69 - std::panicking::begin_panic_handler::{{closure}}::h4b50a04380233c65
                               at /usr/src/rustc-1.48.0/library/std/src/panicking.rs:484
  12:     0x5630901a087c - std::sys_common::backtrace::__rust_end_short_backtrace::hf274a9700b168e63
                               at /usr/src/rustc-1.48.0/library/std/src/sys_common/backtrace.rs:153
  13:     0x5630901b6c22 - rust_begin_unwind
                               at /usr/src/rustc-1.48.0/library/std/src/panicking.rs:483
  14:     0x5630901d9061 - core::panicking::panic_fmt::hb284f9f2db79ce48
                               at /usr/src/rustc-1.48.0/library/core/src/panicking.rs:85
  15:     0x5630901cece3 - core::option::expect_failed::h0d8c9baca348edce
                               at /usr/src/rustc-1.48.0/library/core/src/option.rs:1226
  16:     0x56308ee57536 - core::option::Option<T>::expect::hd47655ce722a5d83
                               at /usr/src/rustc-1.48.0/library/core/src/option.rs:346
  17:     0x56308ee8e4cb - cube::framework::setup::{{closure}}::hc4ed811f1cc59c29
                               at /home/lbr/code/wgpu-rs/examples/cube/../framework.rs:140
  18:     0x56308ee9b0a0 - <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll::h23bc6cfbdc017cea
                               at /usr/src/rustc-1.48.0/library/core/src/future/mod.rs:80
  19:     0x56308ee6da1a - pollster::block_on::hc8e9cbc07e7d5d4d
                               at /home/lbr/.cargo/registry/src/github.com-1ecc6299db9ec823/pollster-0.2.1/src/lib.rs:131
  20:     0x56308ee90cc0 - cube::framework::run::hb9e4dc1904dad919
                               at /home/lbr/code/wgpu-rs/examples/cube/../framework.rs:338
  21:     0x56308ee44f05 - cube::main::hd7fde608aba2e460
                               at /home/lbr/code/wgpu-rs/examples/cube/main.rs:415
  22:     0x56308ee5d5bb - core::ops::function::FnOnce::call_once::h07a18f5c4421f846
                               at /usr/src/rustc-1.48.0/library/core/src/ops/function.rs:227
  23:     0x56308ee8989e - std::sys_common::backtrace::__rust_begin_short_backtrace::hb29fcc2a8ce119bb
                               at /usr/src/rustc-1.48.0/library/std/src/sys_common/backtrace.rs:137
  24:     0x56308ee99211 - std::rt::lang_start::{{closure}}::h926703a0cffcbdcf
                               at /usr/src/rustc-1.48.0/library/std/src/rt.rs:66
  25:     0x5630901b7324 - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::h473f4d9760584df9
                               at /usr/src/rustc-1.48.0/library/core/src/ops/function.rs:259
  26:     0x5630901b7324 - std::panicking::try::do_call::h38b2d68e1990d627
                               at /usr/src/rustc-1.48.0/library/std/src/panicking.rs:381
  27:     0x5630901b7324 - std::panicking::try::h6c98453927853dba
                               at /usr/src/rustc-1.48.0/library/std/src/panicking.rs:345
  28:     0x5630901b7324 - std::panic::catch_unwind::hf939d3206ba7e318
                               at /usr/src/rustc-1.48.0/library/std/src/panic.rs:382
  29:     0x5630901b7324 - std::rt::lang_start_internal::h3c710f42dc1fbba8
                               at /usr/src/rustc-1.48.0/library/std/src/rt.rs:51
  30:     0x56308ee991e7 - std::rt::lang_start::h0aa2cd2d6f81482c
                               at /usr/src/rustc-1.48.0/library/std/src/rt.rs:65
  31:     0x56308ee44f3a - main
  32:     0x7f8257ba3d0a - __libc_start_main
  33:     0x56308ee3f5da - _start
  34:                0x0 - <unknown>
dbr commented

Ah, interesting, on Buster with the log level increased there is a fairly informative warning as the only additional output:

[0.029635 WARN]()(no module): Unable to open libEGL.so: Library(DlOpen { desc: "libEGL.so: cannot open shared object file: No such file or directory" })

as the library is installed as libEGL.so.1:

$ find /usr/lib | grep libEGL
/usr/lib/x86_64-linux-gnu/libEGL.so.1
/usr/lib/x86_64-linux-gnu/libEGL_mesa.so.0.0.0
/usr/lib/x86_64-linux-gnu/libEGL_mesa.so.0
/usr/lib/mesa-diverted/x86_64-linux-gnu/libEGL.so.1
/usr/lib/mesa-diverted/x86_64-linux-gnu/libEGL.so.1.1.0

If I hackishly link it to the expected filename, new and interesting errors occur:

$ ln -s /usr/lib/x86_64-linux-gnu/libEGL.so.1 libEGL.so
$ env LD_LIBRARY_PATH=.:${LD_LIBRARY_PATH} RUST_LOG=gfx_backend_gl=debug WGPU_BACKEND=gl cargo run --example cube
   Compiling wgpu v0.7.0 (/home/dbr/Desktop/wgpu-rs)
    Finished dev [unoptimized + debuginfo] target(s) in 9.19s
     Running `target/debug/examples/cube`
[0.050998 INFO]()(no module): Client extensions: "EGL_EXT_device_base EGL_EXT_device_enumeration EGL_EXT_device_query EGL_EXT_platform_base EGL_KHR_client_get_all_proc_addresses EGL_EXT_client_extensions EGL_KHR_debug EGL_EXT_platform_wayland EGL_EXT_platform_x11 EGL_MESA_platform_gbm EGL_MESA_platform_surfaceless"
[0.051114 INFO]()(no module): Loading Wayland library to get the current display
[0.051340 INFO]()(no module): Loading X11 library to get the current display
[0.052867 INFO]()(no module): Using X11 platform
[0.060054 INFO]()(no module): Display vendor "Mesa Project", version (1, 4), extensions: "EGL_ANDROID_blob_cache EGL_ANDROID_native_fence_sync EGL_CHROMIUM_sync_control EGL_EXT_buffer_age EGL_EXT_create_context_robustness EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_IMG_context_priority EGL_KHR_config_attribs EGL_KHR_create_context EGL_KHR_create_context_no_error EGL_KHR_fence_sync EGL_KHR_get_all_proc_addresses 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_no_config_context EGL_KHR_reusable_sync EGL_KHR_surfaceless_context EGL_EXT_pixel_format_float EGL_KHR_wait_sync EGL_MESA_configless_context EGL_MESA_drm_image EGL_MESA_image_dma_buf_export EGL_NOK_texture_from_pixmap EGL_WL_bind_wayland_display "
[0.060239 INFO]()(no module): Trying native-render
[0.065861 INFO]()(no module): Vendor: "Intel Open Source Technology Center"
[0.065896 INFO]()(no module): Renderer: "Mesa DRI Intel(R) HD Graphics (Whiskey Lake 3x8 GT2) "
[0.065906 INFO]()(no module): Version: 3.2, Mesa 18.3.6
[0.065918 INFO]()(no module): Shading Language: 3.2
[0.065925 INFO]()(no module): Supported Features: INDEPENDENT_BLENDING | SAMPLER_ANISOTROPY | INSTANCE_RATE | MUTABLE_COMPARISON_SAMPLER | NDC_Y_UP
[0.065952 INFO]()(no module): Legacy Features: DRAW_INSTANCED | DRAW_INDEXED_INSTANCED | VERTEX_BASE | CONSTANT_BUFFER | COPY_BUFFER | SAMPLER_OBJECTS | EXPLICIT_LAYOUTS_IN_SHADER | INSTANCED_ATTRIBUTE_BINDING
[0.065966 DEBUG]()(no module): Public capabilities: Capabilities {
    performance_caveats: BASE_VERTEX_INSTANCE_DRAWING,
    dynamic_pipeline_states: VIEWPORT | SCISSOR | LINE_WIDTH | BLEND_COLOR | DEPTH_BIAS | DEPTH_BOUNDS | STENCIL_READ_MASK | STENCIL_WRITE_MASK | STENCIL_REFERENCE,
}
[0.065979 DEBUG]()(no module): Private capabilities: PrivateCaps {
    vertex_array: true,
    framebuffer: true,
    framebuffer_texture: false,
    index_buffer_role_change: true,
    buffer_storage: true,
    image_storage: false,
    clear_buffer: true,
    program_interface: false,
    frag_data_location: false,
    sync: true,
    emulate_map: false,
    depth_range_f64_precision: false,
    draw_buffers: true,
    per_slot_color_mask: false,
    get_tex_image: false,
    memory_barrier: true,
}
[0.065998 DEBUG]()(no module): Loaded Extensions:
[0.066013 DEBUG]()(no module): - GL_OES_geometry_point_size
[0.066024 DEBUG]()(no module): - GL_EXT_base_instance
[0.066036 DEBUG]()(no module): - GL_OES_mapbuffer
[0.066050 DEBUG]()(no module): - GL_KHR_blend_equation_advanced_coherent
[0.066060 DEBUG]()(no module): - GL_KHR_context_flush_control
[0.066068 DEBUG]()(no module): - GL_OES_geometry_shader
[0.066080 DEBUG]()(no module): - GL_OES_texture_half_float
[0.066088 DEBUG]()(no module): - GL_ANGLE_texture_compression_dxt5
[0.066095 DEBUG]()(no module): - GL_OES_draw_elements_base_vertex
[0.066102 DEBUG]()(no module): - GL_EXT_geometry_point_size
[0.066113 DEBUG]()(no module): - GL_EXT_shader_framebuffer_fetch_non_coherent
[0.066128 DEBUG]()(no module): - GL_EXT_map_buffer_range
[0.066137 DEBUG]()(no module): - GL_OES_draw_buffers_indexed
[0.066150 DEBUG]()(no module): - GL_NV_fragment_shader_interlock
[0.066163 DEBUG]()(no module): - GL_OES_sample_shading
[0.066172 DEBUG]()(no module): - GL_OES_element_index_uint
[0.066179 DEBUG]()(no module): - GL_OES_EGL_image_external_essl3
[0.066188 DEBUG]()(no module): - GL_NV_read_buffer
[0.066200 DEBUG]()(no module): - GL_NV_read_depth
[0.066208 DEBUG]()(no module): - GL_EXT_shader_io_blocks
[0.066215 DEBUG]()(no module): - GL_EXT_tessellation_point_size
[0.066224 DEBUG]()(no module): - GL_OES_packed_depth_stencil
[0.066238 DEBUG]()(no module): - GL_OES_texture_float_linear
[0.066246 DEBUG]()(no module): - GL_OES_primitive_bounding_box
[0.066253 DEBUG]()(no module): - GL_OES_texture_cube_map_array
[0.066265 DEBUG]()(no module): - GL_EXT_texture_norm16
[0.066278 DEBUG]()(no module): - GL_OES_texture_stencil8
[0.066286 DEBUG]()(no module): - GL_EXT_texture_buffer
[0.066295 DEBUG]()(no module): - GL_NV_read_stencil
[0.066308 DEBUG]()(no module): - GL_OES_shader_multisample_interpolation
[0.066323 DEBUG]()(no module): - GL_EXT_primitive_bounding_box
[0.066337 DEBUG]()(no module): - GL_EXT_shader_framebuffer_fetch
[0.066351 DEBUG]()(no module): - GL_OES_depth24
[0.066365 DEBUG]()(no module): - GL_APPLE_texture_max_level
[0.066380 DEBUG]()(no module): - GL_OES_shader_image_atomic
[0.066394 DEBUG]()(no module): - GL_KHR_robust_buffer_access_behavior
[0.066409 DEBUG]()(no module): - GL_KHR_texture_compression_astc_ldr
[0.066424 DEBUG]()(no module): - GL_OES_texture_half_float_linear
[0.066439 DEBUG]()(no module): - GL_EXT_texture_sRGB_decode
[0.066454 DEBUG]()(no module): - GL_EXT_compressed_ETC1_RGB8_sub_texture
[0.066468 DEBUG]()(no module): - GL_EXT_texture_border_clamp
[0.066483 DEBUG]()(no module): - GL_NV_fbo_color_attachments
[0.066497 DEBUG]()(no module): - GL_OES_vertex_half_float
[0.066512 DEBUG]()(no module): - GL_EXT_texture_type_2_10_10_10_REV
[0.066526 DEBUG]()(no module): - GL_EXT_copy_image
[0.066540 DEBUG]()(no module): - GL_OES_standard_derivatives
[0.066555 DEBUG]()(no module): - GL_OES_texture_3D
[0.066570 DEBUG]()(no module): - GL_EXT_discard_framebuffer
[0.066584 DEBUG]()(no module): - GL_OES_stencil8
[0.066599 DEBUG]()(no module): - GL_EXT_blend_minmax
[0.066614 DEBUG]()(no module): - GL_OES_copy_image
[0.066628 DEBUG]()(no module): - GL_EXT_shader_integer_mix
[0.066643 DEBUG]()(no module): - GL_EXT_shader_samples_identical
[0.066658 DEBUG]()(no module): - GL_OES_tessellation_point_size
[0.066673 DEBUG]()(no module): - GL_KHR_blend_equation_advanced
[0.066687 DEBUG]()(no module): - GL_OES_shader_io_blocks
[0.066702 DEBUG]()(no module): - GL_INTEL_conservative_rasterization
[0.066717 DEBUG]()(no module): - GL_EXT_separate_shader_objects
[0.066731 DEBUG]()(no module): - GL_MESA_framebuffer_flip_y
[0.066746 DEBUG]()(no module): - GL_EXT_clip_cull_distance
[0.066761 DEBUG]()(no module): - GL_EXT_read_format_bgra
[0.066775 DEBUG]()(no module): - GL_OES_vertex_array_object
[0.066790 DEBUG]()(no module): - GL_EXT_texture_filter_anisotropic
[0.066805 DEBUG]()(no module): - GL_EXT_disjoint_timer_query
[0.066819 DEBUG]()(no module): - GL_EXT_robustness
[0.066834 DEBUG]()(no module): - GL_EXT_render_snorm
[0.066848 DEBUG]()(no module): - GL_OES_compressed_ETC1_RGB8_texture
[0.066862 DEBUG]()(no module): - GL_OES_surfaceless_context
[0.066877 DEBUG]()(no module): - GL_OES_EGL_sync
[0.066892 DEBUG]()(no module): - GL_OES_sample_variables
[0.066906 DEBUG]()(no module): - GL_OES_get_program_binary
[0.066921 DEBUG]()(no module): - GL_EXT_draw_buffers
[0.066936 DEBUG]()(no module): - GL_EXT_occlusion_query_boolean
[0.066951 DEBUG]()(no module): - GL_OES_EGL_image
[0.066965 DEBUG]()(no module): - GL_NV_image_formats
[0.066979 DEBUG]()(no module): - GL_NV_read_depth_stencil
[0.066993 DEBUG]()(no module): - GL_ANDROID_extension_pack_es31a
[0.067008 DEBUG]()(no module): - GL_ANGLE_texture_compression_dxt3
[0.067023 DEBUG]()(no module): - GL_EXT_texture_compression_s3tc
[0.067038 DEBUG]()(no module): - GL_OES_texture_npot
[0.067052 DEBUG]()(no module): - GL_EXT_color_buffer_float
[0.067065 DEBUG]()(no module): - GL_OES_viewport_array
[0.067076 DEBUG]()(no module): - GL_EXT_buffer_storage
[0.067103 DEBUG]()(no module): - GL_OES_gpu_shader5
[0.067115 DEBUG]()(no module): - GL_EXT_multi_draw_arrays
[0.067126 DEBUG]()(no module): - GL_OES_texture_border_clamp
[0.067137 DEBUG]()(no module): - GL_EXT_texture_compression_dxt1
[0.067159 DEBUG]()(no module): - GL_EXT_tessellation_shader
[0.067171 DEBUG]()(no module): - GL_KHR_no_error
[0.067182 DEBUG]()(no module): - GL_EXT_texture_cube_map_array
[0.067194 DEBUG]()(no module): - GL_OES_texture_view
[0.067204 DEBUG]()(no module): - GL_NV_draw_buffers
[0.067216 DEBUG]()(no module): - GL_EXT_texture_rg
[0.067228 DEBUG]()(no module): - GL_KHR_debug
[0.067240 DEBUG]()(no module): - GL_EXT_gpu_shader5
[0.067252 DEBUG]()(no module): - GL_EXT_draw_buffers_indexed
[0.067264 DEBUG]()(no module): - GL_EXT_draw_elements_base_vertex
[0.067275 DEBUG]()(no module): - GL_KHR_robustness
[0.067287 DEBUG]()(no module): - GL_INTEL_performance_query
[0.067298 DEBUG]()(no module): - GL_OES_EGL_image_external
[0.067310 DEBUG]()(no module): - GL_OES_required_internalformat
[0.067322 DEBUG]()(no module): - GL_KHR_texture_compression_astc_sliced_3d
[0.067335 DEBUG]()(no module): - GL_OES_texture_float
[0.067348 DEBUG]()(no module): - GL_OES_rgb8_rgba8
[0.067361 DEBUG]()(no module): - GL_OES_texture_storage_multisample_2d_array
[0.067374 DEBUG]()(no module): - GL_OES_texture_buffer
[0.067387 DEBUG]()(no module): - GL_MESA_shader_integer_functions
[0.067401 DEBUG]()(no module): - GL_OES_tessellation_shader
[0.067414 DEBUG]()(no module): - GL_OES_depth_texture_cube_map
[0.067427 DEBUG]()(no module): - GL_EXT_frag_depth
[0.067440 DEBUG]()(no module): - GL_OES_depth_texture
[0.067454 DEBUG]()(no module): - GL_EXT_texture_format_BGRA8888
[0.067466 DEBUG]()(no module): - GL_EXT_geometry_shader
[0.067478 DEBUG]()(no module): - GL_OES_fbo_render_mipmap
[0.067491 DEBUG]()(no module): - GL_EXT_unpack_subimage
[0.067503 DEBUG]()(no module): - GL_EXT_blend_func_extended
[0.067516 DEBUG]()(no module): - GL_EXT_polygon_offset_clamp
[0.067539 INFO]()(no module): Memory types: [
    (
        MemoryType {
            properties: CPU_VISIBLE | COHERENT | CPU_CACHED,
            heap_index: 1,
        },
        Buffer(
            TRANSFER_SRC | TRANSFER_DST | UNIFORM_TEXEL | STORAGE_TEXEL | UNIFORM | STORAGE | INDEX | VERTEX | INDIRECT,
        ),
    ),
    (
        MemoryType {
            properties: CPU_VISIBLE | COHERENT,
            heap_index: 1,
        },
        Buffer(
            TRANSFER_SRC | TRANSFER_DST | UNIFORM_TEXEL | STORAGE_TEXEL | UNIFORM | STORAGE | INDEX | VERTEX | INDIRECT,
        ),
    ),
    (
        MemoryType {
            properties: DEVICE_LOCAL,
            heap_index: 0,
        },
        Buffer(
            TRANSFER_SRC | TRANSFER_DST | UNIFORM_TEXEL | STORAGE_TEXEL | UNIFORM | STORAGE | INDEX | VERTEX | INDIRECT,
        ),
    ),
    (
        MemoryType {
            properties: DEVICE_LOCAL,
            heap_index: 0,
        },
        Image,
    ),
]
Using Mesa DRI Intel(R) HD Graphics (Whiskey Lake 3x8 GT2)  (Gl)
[0.067858 INFO]()(no module): Debug output is enabled
[0.068029 INFO]()(no module): 	Created frame buffer 1
[0.164721 WARN]()(no module): View format 35907 is different from base 6408
[0.166853 DEBUG]()(no module): SPIR-V options CompilerOptions { version: V3_20Es, force_temporary: false, vulkan_semantics: false, separate_shader_objects: false, flatten_multidimensional_arrays: false, enable_420_pack_extension: true, emit_push_constant_as_uniform_buffer: false, emit_uniform_buffer_as_plain_uniforms: false, emit_line_directives: false, enable_storage_image_qualifier_deduction: true, force_zero_initialized_variables: true, vertex: CompilerVertexOptions { invert_y: false, transform_clip_space: false, support_nonzero_base_instance: true }, fragment: CompilerFragmentOptions { default_float_precision: Medium, default_int_precision: High }, entry_point: Some(("vs_main", Vertex)) }
[0.167332 DEBUG]()(no module): SPIRV-Cross generated shader:
#version 320 es

layout(binding = 0, std140) uniform Locals
{
    mat4 transform;
} r_locals;

layout(location = 0) out vec2 out_tex_coord;
layout(location = 1) in vec2 in_tex_coord_vs;
layout(location = 0) in vec4 in_position;

void main()
{
    out_tex_coord = in_tex_coord_vs;
    gl_Position = r_locals.transform * in_position;
}


[0.170772 INFO]()(no module): 	Compiled shader 2
[0.171316 DEBUG]()(no module): SPIR-V options CompilerOptions { version: V3_20Es, force_temporary: false, vulkan_semantics: false, separate_shader_objects: false, flatten_multidimensional_arrays: false, enable_420_pack_extension: true, emit_push_constant_as_uniform_buffer: false, emit_uniform_buffer_as_plain_uniforms: false, emit_line_directives: false, enable_storage_image_qualifier_deduction: true, force_zero_initialized_variables: true, vertex: CompilerVertexOptions { invert_y: false, transform_clip_space: false, support_nonzero_base_instance: true }, fragment: CompilerFragmentOptions { default_float_precision: Medium, default_int_precision: High }, entry_point: Some(("fs_main", Fragment)) }
There was a compiler error: Cannot find mapping for combined sampler, was build_combined_image_samplers() used before compile() was called?
Aborted
kvark commented

This other error was also reported in https://github.com/gfx-rs/wgpu-rs/issues/723#issuecomment-773992935
The "libEGL.so.1" discovery is very useful! Perhaps, we should just link to it instead of libEGL.so straight away.
Filed timothee-haudebourg/khronos-egl#13 upstream to ask.

kvark commented

Filed upstream - gfx-rs/gfx#3640. Help is appreciated!

kvark commented

Please do cargo update -p khronos-egl and try again

dbr commented

Cool, that solves the libEGL.so related problem, so now reliably back to the "There was a compiler error: Cannot find mapping for combined sampler ..." error which I think is covered by #723 ?

kvark commented

Ok, we need to track that one separately. The subject on this issue is done.