Closed flba-eb closed 2 months ago
Some debug logs showing the features and extensions supported by the hardware:
2024-03-07T08:02:04.498000Z DEBUG Global::new:Init OpenGL (EGL) Backend: log: Client extensions: []
2024-03-07T08:02:04.498000Z WARN Global::new:Init OpenGL (EGL) Backend: log: EGL_MESA_platform_surfaceless not available. Using default platform
2024-03-07T08:02:04.510000Z DEBUG Global::new:Init OpenGL (EGL) Backend: log: Display vendor "Qualcomm Inc.", version (1, 5)
2024-03-07T08:02:04.510000Z DEBUG Global::new:Init OpenGL (EGL) Backend: log: Display extensions: [
"EGL_KHR_image",
"EGL_KHR_image_base",
"EGL_QCOM_create_image",
"EGL_KHR_lock_surface",
"EGL_KHR_lock_surface2",
"EGL_KHR_lock_surface3",
"EGL_KHR_gl_texture_2D_image",
"EGL_KHR_gl_texture_cubemap_image",
"EGL_KHR_gl_texture_3D_image",
"EGL_KHR_gl_renderbuffer_image",
"EGL_ANDROID_blob_cache",
"EGL_KHR_create_context",
"EGL_KHR_surfaceless_context",
"EGL_KHR_create_context_no_error",
"EGL_KHR_get_all_proc_addresses",
"EGL_QCOM_lock_image2",
"EGL_EXT_protected_content",
"EGL_KHR_no_config_context",
"EGL_EXT_surface_SMPTE2086_metadata",
"EGL_EXT_create_context_robustness",
"EGL_EXT_yuv_surface",
"EGL_IMG_context_priority",
"EGL_QNX_api_trace",
]
2024-03-07T08:02:04.510000Z DEBUG Global::new:Init OpenGL (EGL) Backend: log: EGL surface: +srgb
2024-03-07T08:02:04.511000Z DEBUG Global::new:Init OpenGL (EGL) Backend: log: Trying native-render
2024-03-07T08:02:04.512000Z DEBUG Global::new:Init OpenGL (EGL) Backend: log: EGL context: +debug
2024-03-07T08:02:04.512000Z DEBUG Global::new:Init OpenGL (EGL) Backend: log: EGL context: +robust access
2024-03-07T08:02:04.518000Z DEBUG Global::new:Init OpenGL (EGL) Backend: log: EGL context: +surfaceless
2024-03-07T08:02:04.522000Z DEBUG Instance::request_adapter: log: Max label length: 256
2024-03-07T08:02:04.522000Z DEBUG Instance::request_adapter: log: Enabling GLES debug output
2024-03-07T08:02:04.522000Z DEBUG Instance::request_adapter: log: Vendor: Qualcomm
2024-03-07T08:02:04.522000Z DEBUG Instance::request_adapter: log: Renderer: Adreno (TM) 640
2024-03-07T08:02:04.522000Z DEBUG Instance::request_adapter: log: Version: OpenGL ES 3.2
2024-03-07T08:02:04.522000Z DEBUG Instance::request_adapter: log: SL version: OpenGL ES GLSL ES 3.20
2024-03-07T08:02:04.522000Z DEBUG Instance::request_adapter: log: Supported GL Extensions: {
"GL_QCOM_texture_foveated_subsampled_layout",
"GL_EXT_robustness",
"GL_OES_EGL_image_external_essl3",
"GL_OES_EGL_image",
"GL_EXT_clip_cull_distance",
"GL_KHR_debug",
"GL_EXT_memory_object",
"GL_OES_rgb8_rgba8",
"GL_OES_vertex_half_float",
"GL_OES_depth_texture_cube_map",
"GL_OES_texture_3D",
"GL_OES_texture_stencil8",
"GL_QCOM_YUV_texture_gather",
"GL_OES_texture_half_float",
"GL_EXT_tessellation_shader",
"GL_OES_get_program_binary",
"GL_KHR_texture_compression_astc_ldr",
"GL_EXT_texture_border_clamp",
"GL_KHR_robust_buffer_access_behavior",
"GL_EXT_EGL_image_array",
"GL_EXT_texture_filter_anisotropic",
"GL_OES_sample_variables",
"GL_OES_sample_shading",
"GL_OVR_multiview",
"GL_OES_texture_float",
"GL_EXT_multisampled_render_to_texture2",
"GL_KHR_no_error",
"GL_EXT_texture_cube_map_array",
"GL_EXT_color_buffer_float",
"GL_EXT_disjoint_timer_query",
"GL_EXT_blit_framebuffer_params",
"GL_NV_shader_noperspective_interpolation",
"GL_OES_standard_derivatives",
"GL_EXT_texture_format_BGRA8888",
"GL_EXT_texture_sRGB_R8",
"GL_EXT_blend_func_extended",
"GL_OES_texture_view",
"GL_QCOM_motion_estimation",
"GL_EXT_debug_label",
"GL_EXT_sRGB",
"GL_OES_texture_float_linear",
"GL_EXT_gpu_shader5",
"GL_EXT_buffer_storage",
"GL_OES_packed_depth_stencil",
"GL_EXT_texture_format_sRGB_override",
"GL_QCOM_tiled_rendering",
"GL_EXT_geometry_shader",
"GL_OES_texture_npot",
"GL_OES_texture_storage_multisample_2d_array",
"GL_OES_compressed_ETC1_RGB8_texture",
"GL_KHR_blend_equation_advanced",
"GL_KHR_blend_equation_advanced_coherent",
"GL_KHR_texture_compression_astc_hdr",
"GL_OES_depth24",
"GL_ANDROID_extension_pack_es31a",
"GL_QCOM_shader_framebuffer_fetch_noncoherent",
"GL_EXT_YUV_target",
"GL_EXT_read_format_bgra",
"GL_EXT_texture_norm16",
"GL_QCOM_shader_framebuffer_fetch_rate",
"GL_EXT_primitive_bounding_box",
"GL_OES_vertex_array_object",
"GL_OES_framebuffer_object",
"GL_EXT_texture_type_2_10_10_10_REV",
"GL_EXT_draw_buffers_indexed",
"GL_EXT_sRGB_write_control",
"GL_EXT_protected_textures",
"GL_EXT_debug_marker",
"GL_QCOM_texture_foveated",
"GL_EXT_memory_object_fd",
"GL_OES_EGL_sync",
"GL_OES_element_index_uint",
"GL_EXT_copy_image",
"GL_OES_shader_multisample_interpolation",
"GL_OVR_multiview_multisampled_render_to_texture",
"GL_OES_depth_texture",
"GL_EXT_texture_sRGB_decode",
"GL_EXT_color_buffer_half_float",
"GL_EXT_EGL_image_external_wrap_modes",
"GL_OVR_multiview2",
"GL_OES_shader_image_atomic",
"GL_EXT_shader_non_constant_global_initializers",
"GL_EXT_EGL_image_storage",
"GL_EXT_shader_io_blocks",
"GL_EXT_clip_control",
"GL_EXT_external_buffer",
"GL_OES_texture_compression_astc",
"GL_OES_texture_half_float_linear",
"GL_EXT_multisampled_render_to_texture",
"GL_OES_EGL_image_external",
"GL_EXT_texture_buffer",
"GL_AMD_compressed_ATC_texture",
"GL_EXT_shader_framebuffer_fetch",
"GL_EXT_discard_framebuffer",
"GL_EXT_fragment_invocation_density",
"GL_QCOM_alpha_test",
"GL_OES_surfaceless_context",
"GL_QCOM_validate_shader_binary",
"GL_ARM_shader_framebuffer_fetch_depth_stencil",
}
2024-03-07T08:02:04.522000Z INFO Instance::request_adapter: log: Adapter Gl AdapterInfo { name: "Adreno (TM) 640", vendor: 20803, device: 0, device_type: IntegratedGpu, driver: "", driver_info: "", backend: Gl }
2024-03-07T08:02:04.522000Z INFO bevy_render::renderer: AdapterInfo { name: "Adreno (TM) 640", vendor: 20803, device: 0, device_type: IntegratedGpu, driver: "", driver_info: "", backend: Gl }
2024-03-07T08:02:04.556000Z DEBUG bevy_render: Configured wgpu adapter Limits: 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_bindings_per_bind_group: 65535,
max_dynamic_uniform_buffers_per_pipeline_layout: 14,
max_dynamic_storage_buffers_per_pipeline_layout: 4,
max_sampled_textures_per_shader_stage: 16,
max_samplers_per_shader_stage: 16,
max_storage_buffers_per_shader_stage: 4,
max_storage_textures_per_shader_stage: 4,
max_uniform_buffers_per_shader_stage: 14,
max_uniform_buffer_binding_size: 65536,
max_storage_buffer_binding_size: 536870912,
max_vertex_buffers: 16,
max_buffer_size: 2147483647,
max_vertex_attributes: 16,
max_vertex_buffer_array_stride: 2147483647,
min_uniform_buffer_offset_alignment: 32,
min_storage_buffer_offset_alignment: 64,
max_inter_stage_shader_components: 124,
max_compute_workgroup_storage_size: 32768,
max_compute_invocations_per_workgroup: 1024,
max_compute_workgroup_size_x: 1024,
max_compute_workgroup_size_y: 1024,
max_compute_workgroup_size_z: 64,
max_compute_workgroups_per_dimension: 65535,
max_push_constant_size: 256,
max_non_sampler_bindings: 4294967295,
}
2024-03-07T08:02:04.556000Z DEBUG bevy_render: Configured wgpu adapter Features: Features(
FLOAT32_FILTERABLE | TEXTURE_COMPRESSION_ETC2 | TEXTURE_COMPRESSION_ASTC | TEXTURE_COMPRESSION_ASTC_HDR | TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES | PUSH_CONSTANTS | ADDRESS_MODE_CLAMP_TO_ZERO | ADDRESS_MODE_CLAMP_TO_BORDER | VERTEX_WRITABLE_STORAGE | CLEAR_TEXTURE | MULTIVIEW | SHADER_UNUSED_VERTEX_OUTPUT | SHADER_PRIMITIVE_INDEX | SHADER_EARLY_DEPTH_TEST | DUAL_SOURCE_BLENDING,
)
I don't think we can work around the device not having the GL_EXT_texture_shadow_lod
extension when the shader requires it. https://github.com/gfx-rs/wgpu/pull/5171 made it so that we require the extension when necessary (when there are no workarounds available).
We should add a downlevel flag for this to make it more obvious that this functionality is not present.
cc @cmrschwarz
Closed issue as caused by the used shader and cannot be resolved in wgpu.
Description Using Bevy, example 3d_shapes.rs, I'm trying to get something in 3D running on a
Adreno 640
on a Blackberry QNX (Neutrino) operating system. 2D works fine, but 3D always panics at startup (shader compilation).The bugfix #5171 is included -- I was hoping it fixes my issue as well. Maybe @cmrschwarz has an idea how I can help working around this issue, or provide more information to find out whats going wrong?
Any hints how to tackle or work around this issue would be much appreciated.
Repro steps Run application
Expected vs observed behavior No panic
Extra materials
Platform OS: Blackberry QNX (Neutrino) 7.1 GPU: Adreno (TM) 640
Information about your OS, version of
wgpu
, your tech stack, etc. Bevy 0.13.1 (not yet released, f4df ), app code: example 3d_shapes.rs wgpu: 9f505e730fa4ef62c040aa3f67e730ab2059a1cf plus small changes to support QNX