Code Monkey home page Code Monkey logo

Comments (20)

ivankosenko avatar ivankosenko commented on May 30, 2024 4

I also reproduce this crash on my laptops. Windows 10.

  • Intel HD Graphics 4000
  • Nvidia GeForce GT 650M
  • NVIDIA GeForce GTX 1050 Ti

astroblasto works, snake is crashed.
But when I comment drawing of actors and one line of text (score or level) in astroblasto example, it also crashes.

Minimal case for crash on my machine:

extern crate good_web_game as ggez;
use ggez::{graphics, Context, GameResult};

struct GameState {}

impl ggez::event::EventHandler for GameState {
    fn update(&mut self, _ctx: &mut Context) -> GameResult {
        Ok(())
    }

    fn draw(&mut self, ctx: &mut Context) -> GameResult {
        graphics::clear(ctx, [0.1, 0.2, 0.3, 1.0].into());
        let rect = graphics::Mesh::new_rectangle(
            ctx, graphics::DrawMode::fill(),
            graphics::Rect::new(0.0, 0.0, 32.0, 32.0),
            [1.0, 1.0, 1.0, 1.0].into())?;
        graphics::draw(ctx, &rect, (cgmath::Point2::new(0.0, 0.0),))?;
        graphics::present(ctx)?;
        Ok(())
    }
}

pub fn main() -> GameResult {
    ggez::start(
        ggez::conf::Conf {
            ..Default::default()
        },
        |_| Box::new(GameState{}),
    )
}

I investigate the difference between OpenGL calls made from ggez and from good-web-game (I used CodeXL for that), and noticed that ggez made a call to glDeleteBuffers immediately after SwapBuffers, but good-web-game did it right after DrawElementsInstanced. I think this can be reason of crash.

from good-web-game.

not-fl3 avatar not-fl3 commented on May 30, 2024

Works on my machine! :)

Any additional info? Wich operating system/rust target? Crash just after launch?

from good-web-game.

42triangles avatar 42triangles commented on May 30, 2024

Yup, it crashes right after launch.

Sorry that I forgot to add OS info. I'm on Arch Linux (x86_64) trying to run it natively.

from good-web-game.

not-fl3 avatar not-fl3 commented on May 30, 2024

Hm, I am on archlinux as well, interesting.
Could you please try to get a stacktrace?

gdb target/debug/examples/snake
start
continue
bt

from good-web-game.

42triangles avatar 42triangles commented on May 30, 2024
#0  0x00007ffff7c467b2 in __memmove_sse2_unaligned_erms () from /usr/lib/libc.so.6
#1  0x00007ffff65693c9 in ?? () from /usr/lib/libnvidia-glcore.so.440.82
#2  0x00007ffff6575032 in ?? () from /usr/lib/libnvidia-glcore.so.440.82
#3  0x00007ffff60f3b05 in ?? () from /usr/lib/libnvidia-glcore.so.440.82
#4  0x0000555555626b93 in miniquad::graphics::Context::draw (self=0x555555bda660, base_element=0, num_elements=6, num_instances=1)
    at /home/dodo/.cargo/registry/src/github.com-1ecc6299db9ec823/miniquad-0.2.55/src/graphics.rs:718
#5  0x000055555559c315 in <good_web_game::graphics::mesh::Mesh as good_web_game::graphics::Drawable>::draw (self=0x7fffffffd250, 
    ctx=0x555555bda4a0, param=...) at src/graphics/mesh.rs:612
#6  0x00005555555753f9 in good_web_game::graphics::draw (ctx=0x555555bda4a0, drawable=0x7fffffffd250, params=...)
    at /home/dodo/good-web-game/src/graphics.rs:53
#7  0x0000555555577385 in snake::Snake::draw (self=0x555555ba6d50, ctx=0x555555bda4a0) at examples/snake.rs:348
#8  0x000055555557781d in <snake::GameState as good_web_game::event::EventHandler>::draw (self=0x555555ba6d50, ctx=0x555555bda4a0)
    at examples/snake.rs:430
#9  0x00005555555a909c in <good_web_game::EventHandlerWrapper as miniquad::event::EventHandlerFree>::draw (self=0x555555bda490)
    at src/lib.rs:88
#10 0x0000555555630bf2 in miniquad::frame (user_data=0x55555585a640)
    at /home/dodo/.cargo/registry/src/github.com-1ecc6299db9ec823/miniquad-0.2.55/src/lib.rs:174
#11 0x00005555556474cf in sapp_linux::_sapp_call_frame ()
    at /home/dodo/.cargo/registry/src/github.com-1ecc6299db9ec823/sapp-linux-0.1.7/src/lib.rs:2542
#12 0x0000555555647509 in sapp_linux::_sapp_frame ()
    at /home/dodo/.cargo/registry/src/github.com-1ecc6299db9ec823/sapp-linux-0.1.7/src/lib.rs:2554
#13 0x0000555555647cc1 in sapp_linux::_sapp_run (desc=0x7fffffffda58)
    at /home/dodo/.cargo/registry/src/github.com-1ecc6299db9ec823/sapp-linux-0.1.7/src/lib.rs:2692
#14 0x0000555555646b2f in sapp_run (desc=0x7fffffffda58)
    at /home/dodo/.cargo/registry/src/github.com-1ecc6299db9ec823/sapp-linux-0.1.7/src/lib.rs:2357
#15 0x0000555555575bd5 in miniquad::start (conf=..., f=...)
    at /home/dodo/.cargo/registry/src/github.com-1ecc6299db9ec823/miniquad-0.2.55/src/lib.rs:322
#16 0x0000555555577f07 in good_web_game::start (conf=..., f=...) at /home/dodo/good-web-game/src/lib.rs:143
#17 0x0000555555577c23 in snake::main () at examples/snake.rs:461

Huh. Does not seem to be an issue with good_web_game or miniquad then. I think.

I'll try installing another version of the drivers to see if that fixes the issue.

from good-web-game.

42triangles avatar 42triangles commented on May 30, 2024

Does not fix it.

from good-web-game.

not-fl3 avatar not-fl3 commented on May 30, 2024

Hmm, interesting!
Does glxinfo/glxgears works? Could you post the output of glxinfo?
It looks like the problem with opengl/driver, but maybe it is something fixable on miniquad side as well.

from good-web-game.

not-fl3 avatar not-fl3 commented on May 30, 2024

All the other miniquad/gwg examples crash with the same error?

from good-web-game.

42triangles avatar 42triangles commented on May 30, 2024

glxgears works, all other miniquad good-web-game examples work except for emigui which doesn't compile (mismatched types and the like).

The `glxinfo` output

name of display: :0
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: NVIDIA Corporation
server glx version string: 1.4
server glx extensions:
    GLX_ARB_context_flush_control, GLX_ARB_create_context, 
    GLX_ARB_create_context_no_error, GLX_ARB_create_context_profile, 
    GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float, 
    GLX_ARB_multisample, GLX_EXT_buffer_age, 
    GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile, 
    GLX_EXT_framebuffer_sRGB, GLX_EXT_import_context, GLX_EXT_libglvnd, 
    GLX_EXT_stereo_tree, GLX_EXT_swap_control, GLX_EXT_swap_control_tear, 
    GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating, 
    GLX_NV_copy_image, GLX_NV_delay_before_swap, GLX_NV_float_buffer, 
    GLX_NV_multigpu_context, GLX_NV_robustness_video_memory_purge, 
    GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGI_swap_control, 
    GLX_SGI_video_sync
client glx vendor string: NVIDIA Corporation
client glx version string: 1.4
client glx extensions:
    GLX_ARB_context_flush_control, GLX_ARB_create_context, 
    GLX_ARB_create_context_no_error, GLX_ARB_create_context_profile, 
    GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float, 
    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_buffer_age, 
    GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile, 
    GLX_EXT_fbconfig_packed_float, GLX_EXT_framebuffer_sRGB, 
    GLX_EXT_import_context, GLX_EXT_stereo_tree, GLX_EXT_swap_control, 
    GLX_EXT_swap_control_tear, GLX_EXT_texture_from_pixmap, 
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_NV_copy_buffer, 
    GLX_NV_copy_image, GLX_NV_delay_before_swap, GLX_NV_float_buffer, 
    GLX_NV_multigpu_context, GLX_NV_multisample_coverage, 
    GLX_NV_robustness_video_memory_purge, GLX_NV_swap_group, 
    GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGI_swap_control, 
    GLX_SGI_video_sync
GLX version: 1.4
GLX extensions:
    GLX_ARB_context_flush_control, GLX_ARB_create_context, 
    GLX_ARB_create_context_no_error, GLX_ARB_create_context_profile, 
    GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float, 
    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_buffer_age, 
    GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile, 
    GLX_EXT_framebuffer_sRGB, GLX_EXT_import_context, GLX_EXT_stereo_tree, 
    GLX_EXT_swap_control, GLX_EXT_swap_control_tear, 
    GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating, 
    GLX_NV_copy_image, GLX_NV_delay_before_swap, GLX_NV_float_buffer, 
    GLX_NV_multigpu_context, GLX_NV_robustness_video_memory_purge, 
    GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGI_swap_control, 
    GLX_SGI_video_sync
Memory info (GL_NVX_gpu_memory_info):
    Dedicated video memory: 2048 MB
    Total available memory: 2048 MB
    Currently available dedicated video memory: 1888 MB
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GTX 960/PCIe/SSE2
OpenGL core profile version string: 4.6.0 NVIDIA 440.82
OpenGL core profile shading language version string: 4.60 NVIDIA
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
    GL_AMD_multi_draw_indirect, GL_AMD_seamless_cubemap_per_texture, 
    GL_AMD_vertex_shader_layer, GL_AMD_vertex_shader_viewport_index, 
    GL_ARB_ES2_compatibility, GL_ARB_ES3_1_compatibility, 
    GL_ARB_ES3_2_compatibility, GL_ARB_ES3_compatibility, 
    GL_ARB_arrays_of_arrays, GL_ARB_base_instance, GL_ARB_bindless_texture, 
    GL_ARB_blend_func_extended, GL_ARB_buffer_storage, 
    GL_ARB_clear_buffer_object, GL_ARB_clear_texture, GL_ARB_clip_control, 
    GL_ARB_color_buffer_float, GL_ARB_compressed_texture_pixel_storage, 
    GL_ARB_compute_shader, GL_ARB_compute_variable_group_size, 
    GL_ARB_conditional_render_inverted, GL_ARB_conservative_depth, 
    GL_ARB_copy_buffer, GL_ARB_copy_image, GL_ARB_cull_distance, 
    GL_ARB_debug_output, GL_ARB_depth_buffer_float, GL_ARB_depth_clamp, 
    GL_ARB_depth_texture, GL_ARB_derivative_control, 
    GL_ARB_direct_state_access, GL_ARB_draw_buffers, 
    GL_ARB_draw_buffers_blend, GL_ARB_draw_elements_base_vertex, 
    GL_ARB_draw_indirect, GL_ARB_draw_instanced, GL_ARB_enhanced_layouts, 
    GL_ARB_explicit_attrib_location, GL_ARB_explicit_uniform_location, 
    GL_ARB_fragment_coord_conventions, GL_ARB_fragment_layer_viewport, 
    GL_ARB_fragment_program, GL_ARB_fragment_program_shadow, 
    GL_ARB_fragment_shader, GL_ARB_fragment_shader_interlock, 
    GL_ARB_framebuffer_no_attachments, GL_ARB_framebuffer_object, 
    GL_ARB_framebuffer_sRGB, GL_ARB_geometry_shader4, 
    GL_ARB_get_program_binary, GL_ARB_get_texture_sub_image, GL_ARB_gl_spirv, 
    GL_ARB_gpu_shader5, GL_ARB_gpu_shader_fp64, GL_ARB_gpu_shader_int64, 
    GL_ARB_half_float_pixel, GL_ARB_half_float_vertex, GL_ARB_imaging, 
    GL_ARB_indirect_parameters, GL_ARB_instanced_arrays, 
    GL_ARB_internalformat_query, GL_ARB_internalformat_query2, 
    GL_ARB_invalidate_subdata, GL_ARB_map_buffer_alignment, 
    GL_ARB_map_buffer_range, GL_ARB_multi_bind, GL_ARB_multi_draw_indirect, 
    GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_occlusion_query, 
    GL_ARB_occlusion_query2, GL_ARB_parallel_shader_compile, 
    GL_ARB_pipeline_statistics_query, GL_ARB_pixel_buffer_object, 
    GL_ARB_point_parameters, GL_ARB_point_sprite, GL_ARB_polygon_offset_clamp, 
    GL_ARB_post_depth_coverage, GL_ARB_program_interface_query, 
    GL_ARB_provoking_vertex, GL_ARB_query_buffer_object, 
    GL_ARB_robust_buffer_access_behavior, GL_ARB_robustness, 
    GL_ARB_sample_locations, GL_ARB_sample_shading, GL_ARB_sampler_objects, 
    GL_ARB_seamless_cube_map, GL_ARB_seamless_cubemap_per_texture, 
    GL_ARB_separate_shader_objects, GL_ARB_shader_atomic_counter_ops, 
    GL_ARB_shader_atomic_counters, GL_ARB_shader_ballot, 
    GL_ARB_shader_bit_encoding, GL_ARB_shader_clock, 
    GL_ARB_shader_draw_parameters, GL_ARB_shader_group_vote, 
    GL_ARB_shader_image_load_store, GL_ARB_shader_image_size, 
    GL_ARB_shader_objects, GL_ARB_shader_precision, 
    GL_ARB_shader_storage_buffer_object, GL_ARB_shader_subroutine, 
    GL_ARB_shader_texture_image_samples, GL_ARB_shader_texture_lod, 
    GL_ARB_shader_viewport_layer_array, GL_ARB_shading_language_100, 
    GL_ARB_shading_language_420pack, GL_ARB_shading_language_include, 
    GL_ARB_shading_language_packing, GL_ARB_shadow, GL_ARB_sparse_buffer, 
    GL_ARB_sparse_texture, GL_ARB_sparse_texture2, 
    GL_ARB_sparse_texture_clamp, GL_ARB_spirv_extensions, 
    GL_ARB_stencil_texturing, GL_ARB_sync, GL_ARB_tessellation_shader, 
    GL_ARB_texture_barrier, GL_ARB_texture_border_clamp, 
    GL_ARB_texture_buffer_object, GL_ARB_texture_buffer_object_rgb32, 
    GL_ARB_texture_buffer_range, GL_ARB_texture_compression, 
    GL_ARB_texture_compression_bptc, GL_ARB_texture_compression_rgtc, 
    GL_ARB_texture_cube_map, GL_ARB_texture_cube_map_array, 
    GL_ARB_texture_env_add, GL_ARB_texture_env_combine, 
    GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3, 
    GL_ARB_texture_filter_anisotropic, GL_ARB_texture_filter_minmax, 
    GL_ARB_texture_float, GL_ARB_texture_gather, 
    GL_ARB_texture_mirror_clamp_to_edge, GL_ARB_texture_mirrored_repeat, 
    GL_ARB_texture_multisample, GL_ARB_texture_non_power_of_two, 
    GL_ARB_texture_query_levels, GL_ARB_texture_query_lod, 
    GL_ARB_texture_rectangle, GL_ARB_texture_rg, GL_ARB_texture_rgb10_a2ui, 
    GL_ARB_texture_stencil8, GL_ARB_texture_storage, 
    GL_ARB_texture_storage_multisample, GL_ARB_texture_swizzle, 
    GL_ARB_texture_view, GL_ARB_timer_query, GL_ARB_transform_feedback2, 
    GL_ARB_transform_feedback3, GL_ARB_transform_feedback_instanced, 
    GL_ARB_transform_feedback_overflow_query, GL_ARB_transpose_matrix, 
    GL_ARB_uniform_buffer_object, GL_ARB_vertex_array_bgra, 
    GL_ARB_vertex_array_object, GL_ARB_vertex_attrib_64bit, 
    GL_ARB_vertex_attrib_binding, GL_ARB_vertex_buffer_object, 
    GL_ARB_vertex_program, GL_ARB_vertex_shader, 
    GL_ARB_vertex_type_10f_11f_11f_rev, GL_ARB_vertex_type_2_10_10_10_rev, 
    GL_ARB_viewport_array, GL_ARB_window_pos, GL_ATI_draw_buffers, 
    GL_ATI_texture_float, GL_ATI_texture_mirror_once, 
    GL_EXTX_framebuffer_mixed_formats, GL_EXT_Cg_shader, GL_EXT_abgr, 
    GL_EXT_bgra, GL_EXT_bindable_uniform, GL_EXT_blend_color, 
    GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate, 
    GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_compiled_vertex_array, 
    GL_EXT_depth_bounds_test, GL_EXT_direct_state_access, 
    GL_EXT_draw_buffers2, GL_EXT_draw_instanced, GL_EXT_draw_range_elements, 
    GL_EXT_fog_coord, GL_EXT_framebuffer_blit, GL_EXT_framebuffer_multisample, 
    GL_EXT_framebuffer_multisample_blit_scaled, GL_EXT_framebuffer_object, 
    GL_EXT_framebuffer_sRGB, GL_EXT_geometry_shader4, 
    GL_EXT_gpu_program_parameters, GL_EXT_gpu_shader4, 
    GL_EXT_import_sync_object, GL_EXT_memory_object, GL_EXT_memory_object_fd, 
    GL_EXT_multi_draw_arrays, GL_EXT_multiview_texture_multisample, 
    GL_EXT_multiview_timer_query, GL_EXT_packed_depth_stencil, 
    GL_EXT_packed_float, GL_EXT_packed_pixels, GL_EXT_pixel_buffer_object, 
    GL_EXT_point_parameters, GL_EXT_polygon_offset_clamp, 
    GL_EXT_post_depth_coverage, GL_EXT_provoking_vertex, 
    GL_EXT_raster_multisample, GL_EXT_rescale_normal, GL_EXT_secondary_color, 
    GL_EXT_semaphore, GL_EXT_semaphore_fd, GL_EXT_separate_shader_objects, 
    GL_EXT_separate_specular_color, GL_EXT_shader_image_load_formatted, 
    GL_EXT_shader_image_load_store, GL_EXT_shader_integer_mix, 
    GL_EXT_shadow_funcs, GL_EXT_sparse_texture2, GL_EXT_stencil_two_side, 
    GL_EXT_stencil_wrap, GL_EXT_texture3D, GL_EXT_texture_array, 
    GL_EXT_texture_buffer_object, GL_EXT_texture_compression_dxt1, 
    GL_EXT_texture_compression_latc, GL_EXT_texture_compression_rgtc, 
    GL_EXT_texture_compression_s3tc, GL_EXT_texture_cube_map, 
    GL_EXT_texture_edge_clamp, GL_EXT_texture_env_add, 
    GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3, 
    GL_EXT_texture_filter_anisotropic, GL_EXT_texture_filter_minmax, 
    GL_EXT_texture_integer, GL_EXT_texture_lod, GL_EXT_texture_lod_bias, 
    GL_EXT_texture_mirror_clamp, GL_EXT_texture_object, GL_EXT_texture_sRGB, 
    GL_EXT_texture_sRGB_R8, GL_EXT_texture_sRGB_decode, 
    GL_EXT_texture_shadow_lod, GL_EXT_texture_shared_exponent, 
    GL_EXT_texture_storage, GL_EXT_texture_swizzle, GL_EXT_timer_query, 
    GL_EXT_transform_feedback2, GL_EXT_vertex_array, GL_EXT_vertex_array_bgra, 
    GL_EXT_vertex_attrib_64bit, GL_EXT_window_rectangles, 
    GL_EXT_x11_sync_object, GL_IBM_rasterpos_clip, 
    GL_IBM_texture_mirrored_repeat, GL_KHR_blend_equation_advanced, 
    GL_KHR_blend_equation_advanced_coherent, GL_KHR_context_flush_control, 
    GL_KHR_debug, GL_KHR_no_error, GL_KHR_parallel_shader_compile, 
    GL_KHR_robust_buffer_access_behavior, GL_KHR_robustness, 
    GL_KHR_shader_subgroup, GL_KTX_buffer_region, GL_NVX_conditional_render, 
    GL_NVX_gpu_memory_info, GL_NVX_nvenc_interop, GL_NVX_progress_fence, 
    GL_NV_ES1_1_compatibility, GL_NV_ES3_1_compatibility, 
    GL_NV_alpha_to_coverage_dither_control, GL_NV_bindless_multi_draw_indirect, 
    GL_NV_bindless_multi_draw_indirect_count, GL_NV_bindless_texture, 
    GL_NV_blend_equation_advanced, GL_NV_blend_equation_advanced_coherent, 
    GL_NV_blend_minmax_factor, GL_NV_blend_square, GL_NV_command_list, 
    GL_NV_compute_program5, GL_NV_conditional_render, 
    GL_NV_conservative_raster, GL_NV_conservative_raster_dilate, 
    GL_NV_copy_depth_to_color, GL_NV_copy_image, GL_NV_depth_buffer_float, 
    GL_NV_depth_clamp, GL_NV_draw_texture, GL_NV_draw_vulkan_image, 
    GL_NV_explicit_multisample, GL_NV_feature_query, GL_NV_fence, 
    GL_NV_fill_rectangle, GL_NV_float_buffer, GL_NV_fog_distance, 
    GL_NV_fragment_coverage_to_color, GL_NV_fragment_program, 
    GL_NV_fragment_program2, GL_NV_fragment_program_option, 
    GL_NV_fragment_shader_interlock, GL_NV_framebuffer_mixed_samples, 
    GL_NV_framebuffer_multisample_coverage, GL_NV_geometry_shader4, 
    GL_NV_geometry_shader_passthrough, GL_NV_gpu_multicast, 
    GL_NV_gpu_program4, GL_NV_gpu_program4_1, GL_NV_gpu_program5, 
    GL_NV_gpu_program5_mem_extended, GL_NV_gpu_program_fp64, 
    GL_NV_gpu_shader5, GL_NV_half_float, GL_NV_internalformat_sample_query, 
    GL_NV_light_max_exponent, GL_NV_memory_attachment, 
    GL_NV_multisample_coverage, GL_NV_multisample_filter_hint, 
    GL_NV_occlusion_query, GL_NV_packed_depth_stencil, 
    GL_NV_parameter_buffer_object, GL_NV_parameter_buffer_object2, 
    GL_NV_path_rendering, GL_NV_path_rendering_shared_edge, 
    GL_NV_pixel_data_range, GL_NV_point_sprite, GL_NV_primitive_restart, 
    GL_NV_query_resource, GL_NV_query_resource_tag, GL_NV_register_combiners, 
    GL_NV_register_combiners2, GL_NV_robustness_video_memory_purge, 
    GL_NV_sample_locations, GL_NV_sample_mask_override_coverage, 
    GL_NV_shader_atomic_counters, GL_NV_shader_atomic_float, 
    GL_NV_shader_atomic_fp16_vector, GL_NV_shader_atomic_int64, 
    GL_NV_shader_buffer_load, GL_NV_shader_storage_buffer_object, 
    GL_NV_shader_subgroup_partitioned, GL_NV_shader_thread_group, 
    GL_NV_shader_thread_shuffle, GL_NV_texgen_reflection, 
    GL_NV_texture_barrier, GL_NV_texture_compression_vtc, 
    GL_NV_texture_env_combine4, GL_NV_texture_multisample, 
    GL_NV_texture_rectangle, GL_NV_texture_rectangle_compressed, 
    GL_NV_texture_shader, GL_NV_texture_shader2, GL_NV_texture_shader3, 
    GL_NV_transform_feedback, GL_NV_transform_feedback2, 
    GL_NV_uniform_buffer_unified_memory, GL_NV_vdpau_interop, 
    GL_NV_vdpau_interop2, GL_NV_vertex_array_range, GL_NV_vertex_array_range2, 
    GL_NV_vertex_attrib_integer_64bit, GL_NV_vertex_buffer_unified_memory, 
    GL_NV_vertex_program, GL_NV_vertex_program1_1, GL_NV_vertex_program2, 
    GL_NV_vertex_program2_option, GL_NV_vertex_program3, 
    GL_NV_viewport_array2, GL_NV_viewport_swizzle, GL_OVR_multiview, 
    GL_OVR_multiview2, GL_S3_s3tc, GL_SGIS_generate_mipmap, 
    GL_SGIS_texture_lod, GL_SGIX_depth_texture, GL_SGIX_shadow, 
    GL_SUN_slice_accum

OpenGL version string: 4.6.0 NVIDIA 440.82
OpenGL shading language version string: 4.60 NVIDIA
OpenGL context flags: (none)
OpenGL profile mask: (none)
OpenGL extensions:
    GL_AMD_multi_draw_indirect, GL_AMD_seamless_cubemap_per_texture, 
    GL_AMD_vertex_shader_layer, GL_AMD_vertex_shader_viewport_index, 
    GL_ARB_ES2_compatibility, GL_ARB_ES3_1_compatibility, 
    GL_ARB_ES3_2_compatibility, GL_ARB_ES3_compatibility, 
    GL_ARB_arrays_of_arrays, GL_ARB_base_instance, GL_ARB_bindless_texture, 
    GL_ARB_blend_func_extended, GL_ARB_buffer_storage, 
    GL_ARB_clear_buffer_object, GL_ARB_clear_texture, GL_ARB_clip_control, 
    GL_ARB_color_buffer_float, GL_ARB_compatibility, 
    GL_ARB_compressed_texture_pixel_storage, GL_ARB_compute_shader, 
    GL_ARB_compute_variable_group_size, GL_ARB_conditional_render_inverted, 
    GL_ARB_conservative_depth, GL_ARB_copy_buffer, GL_ARB_copy_image, 
    GL_ARB_cull_distance, GL_ARB_debug_output, GL_ARB_depth_buffer_float, 
    GL_ARB_depth_clamp, GL_ARB_depth_texture, GL_ARB_derivative_control, 
    GL_ARB_direct_state_access, GL_ARB_draw_buffers, 
    GL_ARB_draw_buffers_blend, GL_ARB_draw_elements_base_vertex, 
    GL_ARB_draw_indirect, GL_ARB_draw_instanced, GL_ARB_enhanced_layouts, 
    GL_ARB_explicit_attrib_location, GL_ARB_explicit_uniform_location, 
    GL_ARB_fragment_coord_conventions, GL_ARB_fragment_layer_viewport, 
    GL_ARB_fragment_program, GL_ARB_fragment_program_shadow, 
    GL_ARB_fragment_shader, GL_ARB_fragment_shader_interlock, 
    GL_ARB_framebuffer_no_attachments, GL_ARB_framebuffer_object, 
    GL_ARB_framebuffer_sRGB, GL_ARB_geometry_shader4, 
    GL_ARB_get_program_binary, GL_ARB_get_texture_sub_image, GL_ARB_gl_spirv, 
    GL_ARB_gpu_shader5, GL_ARB_gpu_shader_fp64, GL_ARB_gpu_shader_int64, 
    GL_ARB_half_float_pixel, GL_ARB_half_float_vertex, GL_ARB_imaging, 
    GL_ARB_indirect_parameters, GL_ARB_instanced_arrays, 
    GL_ARB_internalformat_query, GL_ARB_internalformat_query2, 
    GL_ARB_invalidate_subdata, GL_ARB_map_buffer_alignment, 
    GL_ARB_map_buffer_range, GL_ARB_multi_bind, GL_ARB_multi_draw_indirect, 
    GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_occlusion_query, 
    GL_ARB_occlusion_query2, GL_ARB_parallel_shader_compile, 
    GL_ARB_pipeline_statistics_query, GL_ARB_pixel_buffer_object, 
    GL_ARB_point_parameters, GL_ARB_point_sprite, GL_ARB_polygon_offset_clamp, 
    GL_ARB_post_depth_coverage, GL_ARB_program_interface_query, 
    GL_ARB_provoking_vertex, GL_ARB_query_buffer_object, 
    GL_ARB_robust_buffer_access_behavior, GL_ARB_robustness, 
    GL_ARB_sample_locations, GL_ARB_sample_shading, GL_ARB_sampler_objects, 
    GL_ARB_seamless_cube_map, GL_ARB_seamless_cubemap_per_texture, 
    GL_ARB_separate_shader_objects, GL_ARB_shader_atomic_counter_ops, 
    GL_ARB_shader_atomic_counters, GL_ARB_shader_ballot, 
    GL_ARB_shader_bit_encoding, GL_ARB_shader_clock, 
    GL_ARB_shader_draw_parameters, GL_ARB_shader_group_vote, 
    GL_ARB_shader_image_load_store, GL_ARB_shader_image_size, 
    GL_ARB_shader_objects, GL_ARB_shader_precision, 
    GL_ARB_shader_storage_buffer_object, GL_ARB_shader_subroutine, 
    GL_ARB_shader_texture_image_samples, GL_ARB_shader_texture_lod, 
    GL_ARB_shader_viewport_layer_array, GL_ARB_shading_language_100, 
    GL_ARB_shading_language_420pack, GL_ARB_shading_language_include, 
    GL_ARB_shading_language_packing, GL_ARB_shadow, GL_ARB_sparse_buffer, 
    GL_ARB_sparse_texture, GL_ARB_sparse_texture2, 
    GL_ARB_sparse_texture_clamp, GL_ARB_spirv_extensions, 
    GL_ARB_stencil_texturing, GL_ARB_sync, GL_ARB_tessellation_shader, 
    GL_ARB_texture_barrier, GL_ARB_texture_border_clamp, 
    GL_ARB_texture_buffer_object, GL_ARB_texture_buffer_object_rgb32, 
    GL_ARB_texture_buffer_range, GL_ARB_texture_compression, 
    GL_ARB_texture_compression_bptc, GL_ARB_texture_compression_rgtc, 
    GL_ARB_texture_cube_map, GL_ARB_texture_cube_map_array, 
    GL_ARB_texture_env_add, GL_ARB_texture_env_combine, 
    GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3, 
    GL_ARB_texture_filter_anisotropic, GL_ARB_texture_filter_minmax, 
    GL_ARB_texture_float, GL_ARB_texture_gather, 
    GL_ARB_texture_mirror_clamp_to_edge, GL_ARB_texture_mirrored_repeat, 
    GL_ARB_texture_multisample, GL_ARB_texture_non_power_of_two, 
    GL_ARB_texture_query_levels, GL_ARB_texture_query_lod, 
    GL_ARB_texture_rectangle, GL_ARB_texture_rg, GL_ARB_texture_rgb10_a2ui, 
    GL_ARB_texture_stencil8, GL_ARB_texture_storage, 
    GL_ARB_texture_storage_multisample, GL_ARB_texture_swizzle, 
    GL_ARB_texture_view, GL_ARB_timer_query, GL_ARB_transform_feedback2, 
    GL_ARB_transform_feedback3, GL_ARB_transform_feedback_instanced, 
    GL_ARB_transform_feedback_overflow_query, GL_ARB_transpose_matrix, 
    GL_ARB_uniform_buffer_object, GL_ARB_vertex_array_bgra, 
    GL_ARB_vertex_array_object, GL_ARB_vertex_attrib_64bit, 
    GL_ARB_vertex_attrib_binding, GL_ARB_vertex_buffer_object, 
    GL_ARB_vertex_program, GL_ARB_vertex_shader, 
    GL_ARB_vertex_type_10f_11f_11f_rev, GL_ARB_vertex_type_2_10_10_10_rev, 
    GL_ARB_viewport_array, GL_ARB_window_pos, GL_ATI_draw_buffers, 
    GL_ATI_texture_float, GL_ATI_texture_mirror_once, 
    GL_EXTX_framebuffer_mixed_formats, GL_EXT_Cg_shader, GL_EXT_abgr, 
    GL_EXT_bgra, GL_EXT_bindable_uniform, GL_EXT_blend_color, 
    GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate, 
    GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_compiled_vertex_array, 
    GL_EXT_depth_bounds_test, GL_EXT_direct_state_access, 
    GL_EXT_draw_buffers2, GL_EXT_draw_instanced, GL_EXT_draw_range_elements, 
    GL_EXT_fog_coord, GL_EXT_framebuffer_blit, GL_EXT_framebuffer_multisample, 
    GL_EXT_framebuffer_multisample_blit_scaled, GL_EXT_framebuffer_object, 
    GL_EXT_framebuffer_sRGB, GL_EXT_geometry_shader4, 
    GL_EXT_gpu_program_parameters, GL_EXT_gpu_shader4, 
    GL_EXT_import_sync_object, GL_EXT_memory_object, GL_EXT_memory_object_fd, 
    GL_EXT_multi_draw_arrays, GL_EXT_multiview_texture_multisample, 
    GL_EXT_multiview_timer_query, GL_EXT_packed_depth_stencil, 
    GL_EXT_packed_float, GL_EXT_packed_pixels, GL_EXT_pixel_buffer_object, 
    GL_EXT_point_parameters, GL_EXT_polygon_offset_clamp, 
    GL_EXT_post_depth_coverage, GL_EXT_provoking_vertex, 
    GL_EXT_raster_multisample, GL_EXT_rescale_normal, GL_EXT_secondary_color, 
    GL_EXT_semaphore, GL_EXT_semaphore_fd, GL_EXT_separate_shader_objects, 
    GL_EXT_separate_specular_color, GL_EXT_shader_image_load_formatted, 
    GL_EXT_shader_image_load_store, GL_EXT_shader_integer_mix, 
    GL_EXT_shadow_funcs, GL_EXT_sparse_texture2, GL_EXT_stencil_two_side, 
    GL_EXT_stencil_wrap, GL_EXT_texture3D, GL_EXT_texture_array, 
    GL_EXT_texture_buffer_object, GL_EXT_texture_compression_dxt1, 
    GL_EXT_texture_compression_latc, GL_EXT_texture_compression_rgtc, 
    GL_EXT_texture_compression_s3tc, GL_EXT_texture_cube_map, 
    GL_EXT_texture_edge_clamp, GL_EXT_texture_env_add, 
    GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3, 
    GL_EXT_texture_filter_anisotropic, GL_EXT_texture_filter_minmax, 
    GL_EXT_texture_integer, GL_EXT_texture_lod, GL_EXT_texture_lod_bias, 
    GL_EXT_texture_mirror_clamp, GL_EXT_texture_object, GL_EXT_texture_sRGB, 
    GL_EXT_texture_sRGB_R8, GL_EXT_texture_sRGB_decode, 
    GL_EXT_texture_shadow_lod, GL_EXT_texture_shared_exponent, 
    GL_EXT_texture_storage, GL_EXT_texture_swizzle, GL_EXT_timer_query, 
    GL_EXT_transform_feedback2, GL_EXT_vertex_array, GL_EXT_vertex_array_bgra, 
    GL_EXT_vertex_attrib_64bit, GL_EXT_window_rectangles, 
    GL_EXT_x11_sync_object, GL_IBM_rasterpos_clip, 
    GL_IBM_texture_mirrored_repeat, GL_KHR_blend_equation_advanced, 
    GL_KHR_blend_equation_advanced_coherent, GL_KHR_context_flush_control, 
    GL_KHR_debug, GL_KHR_no_error, GL_KHR_parallel_shader_compile, 
    GL_KHR_robust_buffer_access_behavior, GL_KHR_robustness, 
    GL_KHR_shader_subgroup, GL_KTX_buffer_region, GL_NVX_conditional_render, 
    GL_NVX_gpu_memory_info, GL_NVX_nvenc_interop, GL_NVX_progress_fence, 
    GL_NV_ES1_1_compatibility, GL_NV_ES3_1_compatibility, 
    GL_NV_alpha_to_coverage_dither_control, GL_NV_bindless_multi_draw_indirect, 
    GL_NV_bindless_multi_draw_indirect_count, GL_NV_bindless_texture, 
    GL_NV_blend_equation_advanced, GL_NV_blend_equation_advanced_coherent, 
    GL_NV_blend_minmax_factor, GL_NV_blend_square, GL_NV_command_list, 
    GL_NV_compute_program5, GL_NV_conditional_render, 
    GL_NV_conservative_raster, GL_NV_conservative_raster_dilate, 
    GL_NV_copy_depth_to_color, GL_NV_copy_image, GL_NV_depth_buffer_float, 
    GL_NV_depth_clamp, GL_NV_draw_texture, GL_NV_draw_vulkan_image, 
    GL_NV_explicit_multisample, GL_NV_feature_query, GL_NV_fence, 
    GL_NV_fill_rectangle, GL_NV_float_buffer, GL_NV_fog_distance, 
    GL_NV_fragment_coverage_to_color, GL_NV_fragment_program, 
    GL_NV_fragment_program2, GL_NV_fragment_program_option, 
    GL_NV_fragment_shader_interlock, GL_NV_framebuffer_mixed_samples, 
    GL_NV_framebuffer_multisample_coverage, GL_NV_geometry_shader4, 
    GL_NV_geometry_shader_passthrough, GL_NV_gpu_multicast, 
    GL_NV_gpu_program4, GL_NV_gpu_program4_1, GL_NV_gpu_program5, 
    GL_NV_gpu_program5_mem_extended, GL_NV_gpu_program_fp64, 
    GL_NV_gpu_shader5, GL_NV_half_float, GL_NV_internalformat_sample_query, 
    GL_NV_light_max_exponent, GL_NV_memory_attachment, 
    GL_NV_multisample_coverage, GL_NV_multisample_filter_hint, 
    GL_NV_occlusion_query, GL_NV_packed_depth_stencil, 
    GL_NV_parameter_buffer_object, GL_NV_parameter_buffer_object2, 
    GL_NV_path_rendering, GL_NV_path_rendering_shared_edge, 
    GL_NV_pixel_data_range, GL_NV_point_sprite, GL_NV_primitive_restart, 
    GL_NV_query_resource, GL_NV_query_resource_tag, GL_NV_register_combiners, 
    GL_NV_register_combiners2, GL_NV_robustness_video_memory_purge, 
    GL_NV_sample_locations, GL_NV_sample_mask_override_coverage, 
    GL_NV_shader_atomic_counters, GL_NV_shader_atomic_float, 
    GL_NV_shader_atomic_fp16_vector, GL_NV_shader_atomic_int64, 
    GL_NV_shader_buffer_load, GL_NV_shader_storage_buffer_object, 
    GL_NV_shader_subgroup_partitioned, GL_NV_shader_thread_group, 
    GL_NV_shader_thread_shuffle, GL_NV_texgen_reflection, 
    GL_NV_texture_barrier, GL_NV_texture_compression_vtc, 
    GL_NV_texture_env_combine4, GL_NV_texture_multisample, 
    GL_NV_texture_rectangle, GL_NV_texture_rectangle_compressed, 
    GL_NV_texture_shader, GL_NV_texture_shader2, GL_NV_texture_shader3, 
    GL_NV_transform_feedback, GL_NV_transform_feedback2, 
    GL_NV_uniform_buffer_unified_memory, GL_NV_vdpau_interop, 
    GL_NV_vdpau_interop2, GL_NV_vertex_array_range, GL_NV_vertex_array_range2, 
    GL_NV_vertex_attrib_integer_64bit, GL_NV_vertex_buffer_unified_memory, 
    GL_NV_vertex_program, GL_NV_vertex_program1_1, GL_NV_vertex_program2, 
    GL_NV_vertex_program2_option, GL_NV_vertex_program3, 
    GL_NV_viewport_array2, GL_NV_viewport_swizzle, GL_OVR_multiview, 
    GL_OVR_multiview2, GL_S3_s3tc, GL_SGIS_generate_mipmap, 
    GL_SGIS_texture_lod, GL_SGIX_depth_texture, GL_SGIX_shadow, 
    GL_SUN_slice_accum

OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 440.82
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:
    GL_ANDROID_extension_pack_es31a, GL_EXT_EGL_image_external_wrap_modes, 
    GL_EXT_base_instance, GL_EXT_blend_func_extended, GL_EXT_blend_minmax, 
    GL_EXT_buffer_storage, GL_EXT_clear_texture, GL_EXT_clip_control, 
    GL_EXT_clip_cull_distance, GL_EXT_color_buffer_float, 
    GL_EXT_color_buffer_half_float, GL_EXT_compressed_ETC1_RGB8_sub_texture, 
    GL_EXT_conservative_depth, GL_EXT_copy_image, GL_EXT_debug_label, 
    GL_EXT_depth_clamp, GL_EXT_discard_framebuffer, 
    GL_EXT_disjoint_timer_query, GL_EXT_draw_buffers_indexed, 
    GL_EXT_draw_elements_base_vertex, GL_EXT_draw_transform_feedback, 
    GL_EXT_float_blend, GL_EXT_frag_depth, GL_EXT_geometry_point_size, 
    GL_EXT_geometry_shader, GL_EXT_gpu_shader5, GL_EXT_map_buffer_range, 
    GL_EXT_memory_object, GL_EXT_memory_object_fd, GL_EXT_multi_draw_indirect, 
    GL_EXT_multisample_compatibility, GL_EXT_multisampled_render_to_texture, 
    GL_EXT_multisampled_render_to_texture2, 
    GL_EXT_multiview_texture_multisample, GL_EXT_multiview_timer_query, 
    GL_EXT_occlusion_query_boolean, GL_EXT_polygon_offset_clamp, 
    GL_EXT_post_depth_coverage, GL_EXT_primitive_bounding_box, 
    GL_EXT_raster_multisample, GL_EXT_render_snorm, GL_EXT_robustness, 
    GL_EXT_sRGB, GL_EXT_sRGB_write_control, GL_EXT_semaphore, 
    GL_EXT_semaphore_fd, GL_EXT_separate_shader_objects, 
    GL_EXT_shader_group_vote, GL_EXT_shader_implicit_conversions, 
    GL_EXT_shader_integer_mix, GL_EXT_shader_io_blocks, 
    GL_EXT_shader_non_constant_global_initializers, GL_EXT_shader_texture_lod, 
    GL_EXT_shadow_samplers, GL_EXT_sparse_texture, GL_EXT_sparse_texture2, 
    GL_EXT_tessellation_point_size, GL_EXT_tessellation_shader, 
    GL_EXT_texture_border_clamp, GL_EXT_texture_buffer, 
    GL_EXT_texture_compression_bptc, GL_EXT_texture_compression_dxt1, 
    GL_EXT_texture_compression_rgtc, GL_EXT_texture_compression_s3tc, 
    GL_EXT_texture_cube_map_array, GL_EXT_texture_filter_anisotropic, 
    GL_EXT_texture_filter_minmax, GL_EXT_texture_format_BGRA8888, 
    GL_EXT_texture_mirror_clamp_to_edge, GL_EXT_texture_norm16, 
    GL_EXT_texture_rg, GL_EXT_texture_sRGB_R8, GL_EXT_texture_sRGB_decode, 
    GL_EXT_texture_shadow_lod, GL_EXT_texture_storage, GL_EXT_texture_view, 
    GL_EXT_unpack_subimage, GL_EXT_window_rectangles, 
    GL_KHR_blend_equation_advanced, GL_KHR_blend_equation_advanced_coherent, 
    GL_KHR_context_flush_control, GL_KHR_debug, GL_KHR_no_error, 
    GL_KHR_parallel_shader_compile, GL_KHR_robust_buffer_access_behavior, 
    GL_KHR_robustness, GL_KHR_shader_subgroup, GL_NV_bgr, 
    GL_NV_bindless_texture, GL_NV_blend_equation_advanced, 
    GL_NV_blend_equation_advanced_coherent, GL_NV_blend_minmax_factor, 
    GL_NV_conditional_render, GL_NV_conservative_raster, GL_NV_copy_buffer, 
    GL_NV_copy_image, GL_NV_draw_buffers, GL_NV_draw_instanced, 
    GL_NV_draw_texture, GL_NV_draw_vulkan_image, 
    GL_NV_explicit_attrib_location, GL_NV_fbo_color_attachments, 
    GL_NV_fill_rectangle, GL_NV_fragment_coverage_to_color, 
    GL_NV_fragment_shader_interlock, GL_NV_framebuffer_blit, 
    GL_NV_framebuffer_mixed_samples, GL_NV_framebuffer_multisample, 
    GL_NV_generate_mipmap_sRGB, GL_NV_geometry_shader_passthrough, 
    GL_NV_gpu_shader5, GL_NV_image_formats, GL_NV_instanced_arrays, 
    GL_NV_internalformat_sample_query, GL_NV_memory_attachment, 
    GL_NV_non_square_matrices, GL_NV_occlusion_query_samples, 
    GL_NV_pack_subimage, GL_NV_packed_float, GL_NV_packed_float_linear, 
    GL_NV_path_rendering, GL_NV_path_rendering_shared_edge, 
    GL_NV_pixel_buffer_object, GL_NV_polygon_mode, GL_NV_read_buffer, 
    GL_NV_read_depth, GL_NV_read_depth_stencil, GL_NV_read_stencil, 
    GL_NV_sRGB_formats, GL_NV_sample_locations, 
    GL_NV_sample_mask_override_coverage, GL_NV_shader_atomic_fp16_vector, 
    GL_NV_shader_noperspective_interpolation, 
    GL_NV_shader_subgroup_partitioned, GL_NV_shadow_samplers_array, 
    GL_NV_shadow_samplers_cube, GL_NV_texture_array, GL_NV_texture_barrier, 
    GL_NV_texture_border_clamp, GL_NV_texture_compression_latc, 
    GL_NV_texture_compression_s3tc, GL_NV_texture_compression_s3tc_update, 
    GL_NV_timer_query, GL_NV_viewport_array, GL_NV_viewport_array2, 
    GL_NV_viewport_swizzle, GL_OES_compressed_ETC1_RGB8_texture, 
    GL_OES_copy_image, GL_OES_depth24, GL_OES_depth32, GL_OES_depth_texture, 
    GL_OES_depth_texture_cube_map, GL_OES_draw_buffers_indexed, 
    GL_OES_draw_elements_base_vertex, GL_OES_element_index_uint, 
    GL_OES_fbo_render_mipmap, GL_OES_geometry_point_size, 
    GL_OES_geometry_shader, GL_OES_get_program_binary, GL_OES_gpu_shader5, 
    GL_OES_mapbuffer, GL_OES_packed_depth_stencil, 
    GL_OES_primitive_bounding_box, GL_OES_rgb8_rgba8, GL_OES_sample_shading, 
    GL_OES_sample_variables, GL_OES_shader_image_atomic, 
    GL_OES_shader_io_blocks, GL_OES_shader_multisample_interpolation, 
    GL_OES_standard_derivatives, GL_OES_tessellation_point_size, 
    GL_OES_tessellation_shader, GL_OES_texture_border_clamp, 
    GL_OES_texture_buffer, GL_OES_texture_cube_map_array, 
    GL_OES_texture_float, GL_OES_texture_float_linear, 
    GL_OES_texture_half_float, GL_OES_texture_half_float_linear, 
    GL_OES_texture_npot, GL_OES_texture_stencil8, 
    GL_OES_texture_storage_multisample_2d_array, GL_OES_texture_view, 
    GL_OES_vertex_array_object, GL_OES_vertex_half_float, 
    GL_OES_viewport_array, GL_OVR_multiview, GL_OVR_multiview2, 
    GL_OVR_multiview_multisampled_render_to_texture

132 GLX Visuals
    visual  x   bf lv rg d st  colorbuffer  sr ax dp st accumbuffer  ms  cav
  id dep cl sp  sz l  ci b ro  r  g  b  a F gb bf th cl  r  g  b  a ns b eat
----------------------------------------------------------------------------
0x021 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  0 0 None
0x022 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  0 0 None
0x024 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  0 0 None
0x025 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  0 0 None
0x026 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  0 0 None
0x027 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  0 0 None
0x028 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  0 0 None
0x029 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  0 0 None
0x02a 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  0 0 None
0x02b 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4  0  0 16 16 16 16  0 0 None
0x02c 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4  0  0 16 16 16 16  0 0 None
0x02d 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4  0  0 16 16 16 16  0 0 None
0x02e 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4  0  0 16 16 16 16  0 0 None
0x02f 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  2 1 None
0x030 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  2 1 None
0x031 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  4 1 None
0x032 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  4 1 None
0x033 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  2 1 None
0x034 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  2 1 None
0x035 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  4 1 None
0x036 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  4 1 None
0x037 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  2 1 None
0x038 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  2 1 None
0x039 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  4 1 None
0x03a 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  4 1 None
0x03b 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  2 1 None
0x03c 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  2 1 None
0x03d 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  4 1 None
0x03e 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  4 1 None
0x03f 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  8 1 None
0x040 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  8 1 None
0x041 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  8 1 None
0x042 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  8 1 None
0x043 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  8 1 None
0x044 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  8 1 None
0x045 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  8 1 None
0x046 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  8 1 None
0x047 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16 16 1 None
0x048 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16 16 1 None
0x049 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16 16 1 None
0x04a 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16 16 1 None
0x04b 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16 16 1 None
0x04c 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16 16 1 None
0x04d 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16 16 1 None
0x04e 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16 16 1 None
0x04f 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  0 0 None
0x050 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  0 0 None
0x051 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  0 0 None
0x052 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  0 0 None
0x053 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  0 0 None
0x054 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  0 0 None
0x055 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  0 0 None
0x056 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4  0  0 16 16 16 16  0 0 None
0x057 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4  0  0 16 16 16 16  0 0 None
0x058 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4  0  0 16 16 16 16  0 0 None
0x059 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4  0  0 16 16 16 16  0 0 None
0x05a 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  2 1 None
0x05b 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  2 1 None
0x05c 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  4 1 None
0x05d 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  4 1 None
0x05e 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  2 1 None
0x05f 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  2 1 None
0x060 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  4 1 None
0x061 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  4 1 None
0x062 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  2 1 None
0x063 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  2 1 None
0x064 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  4 1 None
0x065 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  4 1 None
0x066 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  2 1 None
0x067 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  2 1 None
0x068 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  4 1 None
0x069 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  4 1 None
0x06a 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  8 1 None
0x06b 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  8 1 None
0x06c 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  8 1 None
0x06d 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  8 1 None
0x06e 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  8 1 None
0x06f 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  8 1 None
0x070 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  8 1 None
0x071 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  8 1 None
0x072 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16 16 1 None
0x073 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16 16 1 None
0x074 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16 16 1 None
0x075 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16 16 1 None
0x076 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16 16 1 None
0x077 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16 16 1 None
0x078 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16 16 1 None
0x079 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16 16 1 None
0x023 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  0 0 None
0x07a 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  0 0 None
0x07b 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  0 0 None
0x07c 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  0 0 None
0x07d 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  0 0 None
0x07e 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  0 0 None
0x07f 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  0 0 None
0x080 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  0 0 None
0x081 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4  0  0 16 16 16 16  0 0 None
0x082 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4  0  0 16 16 16 16  0 0 None
0x083 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4  0  0 16 16 16 16  0 0 None
0x084 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4  0  0 16 16 16 16  0 0 None
0x085 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  2 1 None
0x086 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  2 1 None
0x087 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  4 1 None
0x088 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  4 1 None
0x089 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  2 1 None
0x08a 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  2 1 None
0x08b 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  4 1 None
0x08c 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  4 1 None
0x08d 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  2 1 None
0x08e 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  2 1 None
0x08f 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  4 1 None
0x090 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  4 1 None
0x091 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  2 1 None
0x092 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  2 1 None
0x093 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  4 1 None
0x094 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  4 1 None
0x095 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  8 1 None
0x096 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  8 1 None
0x097 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  8 1 None
0x098 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  8 1 None
0x099 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  8 1 None
0x09a 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  8 1 None
0x09b 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  8 1 None
0x09c 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  8 1 None
0x09d 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16 16 1 None
0x09e 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16 16 1 None
0x09f 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16 16 1 None
0x0a0 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16 16 1 None
0x0a1 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16 16 1 None
0x0a2 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16 16 1 None
0x0a3 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16 16 1 None
0x0a4 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16 16 1 None

215 GLXFBConfigs:
    visual  x   bf lv rg d st  colorbuffer  sr ax dp st accumbuffer  ms  cav
  id dep cl sp  sz l  ci b ro  r  g  b  a F gb bf th cl  r  g  b  a ns b eat
----------------------------------------------------------------------------
0x0a5 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  0 0 None
0x0a6 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  0 0 None
0x0a7 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  0 0 None
0x0a8 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  0 0 None
0x0a9 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  0 0 None
0x0aa 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  0 0 None
0x0ab 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  0 0 None
0x0ac 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  0 0 None
0x0ad 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  0 0 None
0x0ae 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  0 0 None
0x0af 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  0 0 None
0x0b0 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  0 0 None
0x0b1 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  0 0 None
0x0b2 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  0 0 None
0x0b3 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  0 0 None
0x0b4 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  0 0 None
0x0b5 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4  0  0 16 16 16 16  0 0 None
0x0b6 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4  0  0 16 16 16 16  0 0 None
0x0b7 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4  0  0 16 16 16 16  0 0 None
0x0b8 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4  0  0 16 16 16 16  0 0 None
0x0b9 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4  0  0 16 16 16 16  0 0 None
0x0ba 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4  0  0 16 16 16 16  0 0 None
0x0bb 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4  0  0 16 16 16 16  0 0 None
0x0bc 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4  0  0 16 16 16 16  0 0 None
0x0bd 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  2 1 None
0x0be 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  2 1 None
0x0bf 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  2 1 None
0x0c0 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  2 1 None
0x0c1 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  4 1 None
0x0c2 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  4 1 None
0x0c3 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  4 1 None
0x0c4 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  4 1 None
0x0c5 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  2 1 None
0x0c6 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  2 1 None
0x0c7 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  2 1 None
0x0c8 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  2 1 None
0x0c9 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  4 1 None
0x0ca 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  4 1 None
0x0cb 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  4 1 None
0x0cc 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  4 1 None
0x0cd 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  2 1 None
0x0ce 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  2 1 None
0x0cf 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  2 1 None
0x0d0 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  2 1 None
0x0d1 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  4 1 None
0x0d2 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  4 1 None
0x0d3 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  4 1 None
0x0d4 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  4 1 None
0x0d5 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  2 1 None
0x0d6 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  2 1 None
0x0d7 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  2 1 None
0x0d8 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  2 1 None
0x0d9 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  4 1 None
0x0da 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  4 1 None
0x0db 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  4 1 None
0x0dc 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  4 1 None
0x0dd 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  8 1 None
0x0de 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  8 1 None
0x0df 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  8 1 None
0x0e0 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  8 1 None
0x0e1 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  8 1 None
0x0e2 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  8 1 None
0x0e3 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  8 1 None
0x0e4 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  8 1 None
0x0e5 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  8 1 None
0x0e6 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  8 1 None
0x0e7 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  8 1 None
0x0e8 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  8 1 None
0x0e9 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  8 1 None
0x0ea 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  8 1 None
0x0eb 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  8 1 None
0x0ec 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  8 1 None
0x0ed 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16 16 1 None
0x0ee 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16 16 1 None
0x0ef 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16 16 1 None
0x0f0 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16 16 1 None
0x0f1 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16 16 1 None
0x0f2 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16 16 1 None
0x0f3 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16 16 1 None
0x0f4 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16 16 1 None
0x0f5 24 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16 16 1 None
0x0f6 24 dc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16 16 1 None
0x0f7 24 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16 16 1 None
0x0f8 24 dc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16 16 1 None
0x0f9 24 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16 16 1 None
0x0fa 24 dc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16 16 1 None
0x0fb 24 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16 16 1 None
0x0fc 24 dc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16 16 1 None
0x0fd 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  0 0 None
0x0fe 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  0 0 None
0x0ff 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  0 0 None
0x100 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  0 0 None
0x101 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  0 0 None
0x102 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  0 0 None
0x103 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  0 0 None
0x104 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  0 0 None
0x105 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4  0  0 16 16 16 16  0 0 None
0x106 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4  0  0 16 16 16 16  0 0 None
0x107 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4  0  0 16 16 16 16  0 0 None
0x108 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4  0  0 16 16 16 16  0 0 None
0x109 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  2 1 None
0x10a 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  2 1 None
0x10b 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  4 1 None
0x10c 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  4 1 None
0x10d 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  2 1 None
0x10e 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  2 1 None
0x10f 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  4 1 None
0x110 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  4 1 None
0x111 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  2 1 None
0x112 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  2 1 None
0x113 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  4 1 None
0x114 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  4 1 None
0x115 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  2 1 None
0x116 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  2 1 None
0x117 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  4 1 None
0x118 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  4 1 None
0x119 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16  8 1 None
0x11a 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16  8 1 None
0x11b 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16  8 1 None
0x11c 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16  8 1 None
0x11d 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16  8 1 None
0x11e 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16  8 1 None
0x11f 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16  8 1 None
0x120 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16  8 1 None
0x121 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  0 16 16 16 16 16 1 None
0x122 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  0 16 16 16 16 16 1 None
0x123 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  0 16 16 16 16 16 1 None
0x124 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  0 16 16 16 16 16 1 None
0x125 32 tc  0  24  0 r  y .   8  8  8  0 .  s  4 24  8 16 16 16 16 16 1 None
0x126 32 tc  0  32  0 r  y .   8  8  8  8 .  s  4 24  8 16 16 16 16 16 1 None
0x127 32 tc  0  24  0 r  . .   8  8  8  0 .  s  4 24  8 16 16 16 16 16 1 None
0x128 32 tc  0  32  0 r  . .   8  8  8  8 .  s  4 24  8 16 16 16 16 16 1 None
0x129  0 sg  0  16  0 r  y .   5  6  5  0 .  .  4 16  0 16 16 16 16  0 0 None
0x12a  0 sg  0  16  0 r  . .   5  6  5  0 .  .  4 16  0 16 16 16 16  0 0 None
0x12b  0 sg  0  16  0 r  y .   5  6  5  0 .  .  4 24  0 16 16 16 16  0 0 None
0x12c  0 sg  0  16  0 r  . .   5  6  5  0 .  .  4 24  0 16 16 16 16  0 0 None
0x12d  0 sg  0  16  0 r  y .   5  6  5  0 .  .  4 24  8 16 16 16 16  0 0 None
0x12e  0 sg  0  16  0 r  . .   5  6  5  0 .  .  4 24  8 16 16 16 16  0 0 None
0x12f  0 sg  0  16  0 r  y .   5  6  5  0 .  .  4  0  0 16 16 16 16  0 0 None
0x130  0 sg  0  16  0 r  . .   5  6  5  0 .  .  4  0  0 16 16 16 16  0 0 None
0x131  0 sg  0   0  0 r  . .   0  0  0  0 .  .  4 16  0 16 16 16 16  0 0 None
0x132  0 sg  0   0  0 r  . .   0  0  0  0 .  .  4 24  0 16 16 16 16  0 0 None
0x133  0 sg  0   0  0 r  . .   0  0  0  0 .  .  4 24  8 16 16 16 16  0 0 None
0x134  0 sg  0  32  0 r  . .  16 16  0  0 f  .  4  0  0 16 16 16 16  0 0 None
0x135  0 sg  0  32  0    . .  16 16  0  0 f  .  4  0  0 16 16 16 16  0 0 None
0x136  0 sg  0  32  0 r  y .  16 16  0  0 f  .  4  0  0 16 16 16 16  0 0 None
0x137  0 sg  0  32  0    y .  16 16  0  0 f  .  4  0  0 16 16 16 16  0 0 None
0x138  0 sg  0  32  0 r  . .  32  0  0  0 f  .  4  0  0 16 16 16 16  0 0 None
0x139  0 sg  0  32  0    . .  32  0  0  0 f  .  4  0  0 16 16 16 16  0 0 None
0x13a  0 sg  0  32  0 r  y .  32  0  0  0 f  .  4  0  0 16 16 16 16  0 0 None
0x13b  0 sg  0  32  0    y .  32  0  0  0 f  .  4  0  0 16 16 16 16  0 0 None
0x13c  0 sg  0  64  0 r  . .  16 16 16 16 f  .  4  0  0 16 16 16 16  0 0 None
0x13d  0 sg  0  64  0    . .  16 16 16 16 f  .  4  0  0 16 16 16 16  0 0 None
0x13e  0 sg  0  64  0 r  y .  16 16 16 16 f  .  4  0  0 16 16 16 16  0 0 None
0x13f  0 sg  0  64  0    y .  16 16 16 16 f  .  4  0  0 16 16 16 16  0 0 None
0x140  0 sg  0 128  0 r  . .  32 32 32 32 f  .  4  0  0 16 16 16 16  0 0 None
0x141  0 sg  0 128  0    . .  32 32 32 32 f  .  4  0  0 16 16 16 16  0 0 None
0x142  0 sg  0 128  0 r  y .  32 32 32 32 f  .  4  0  0 16 16 16 16  0 0 None
0x143  0 sg  0 128  0    y .  32 32 32 32 f  .  4  0  0 16 16 16 16  0 0 None
0x144  0 sg  0  32  0 r  . .  16 16  0  0 f  .  4 24  0 16 16 16 16  0 0 None
0x145  0 sg  0  32  0    . .  16 16  0  0 f  .  4 24  0 16 16 16 16  0 0 None
0x146  0 sg  0  32  0 r  y .  16 16  0  0 f  .  4 24  0 16 16 16 16  0 0 None
0x147  0 sg  0  32  0    y .  16 16  0  0 f  .  4 24  0 16 16 16 16  0 0 None
0x148  0 sg  0  32  0 r  . .  16 16  0  0 f  .  4 24  8 16 16 16 16  0 0 None
0x149  0 sg  0  32  0    . .  16 16  0  0 f  .  4 24  8 16 16 16 16  0 0 None
0x14a  0 sg  0  32  0 r  y .  16 16  0  0 f  .  4 24  8 16 16 16 16  0 0 None
0x14b  0 sg  0  32  0    y .  16 16  0  0 f  .  4 24  8 16 16 16 16  0 0 None
0x14c  0 sg  0  32  0 r  . .  32  0  0  0 f  .  4 24  0 16 16 16 16  0 0 None
0x14d  0 sg  0  32  0    . .  32  0  0  0 f  .  4 24  0 16 16 16 16  0 0 None
0x14e  0 sg  0  32  0 r  y .  32  0  0  0 f  .  4 24  0 16 16 16 16  0 0 None
0x14f  0 sg  0  32  0    y .  32  0  0  0 f  .  4 24  0 16 16 16 16  0 0 None
0x150  0 sg  0  32  0 r  . .  32  0  0  0 f  .  4 24  8 16 16 16 16  0 0 None
0x151  0 sg  0  32  0    . .  32  0  0  0 f  .  4 24  8 16 16 16 16  0 0 None
0x152  0 sg  0  32  0 r  y .  32  0  0  0 f  .  4 24  8 16 16 16 16  0 0 None
0x153  0 sg  0  32  0    y .  32  0  0  0 f  .  4 24  8 16 16 16 16  0 0 None
0x154  0 sg  0  64  0 r  . .  16 16 16 16 f  .  4 24  0 16 16 16 16  0 0 None
0x155  0 sg  0  64  0    . .  16 16 16 16 f  .  4 24  0 16 16 16 16  0 0 None
0x156  0 sg  0  64  0 r  y .  16 16 16 16 f  .  4 24  0 16 16 16 16  0 0 None
0x157  0 sg  0  64  0    y .  16 16 16 16 f  .  4 24  0 16 16 16 16  0 0 None
0x158  0 sg  0  64  0 r  . .  16 16 16 16 f  .  4 24  8 16 16 16 16  0 0 None
0x159  0 sg  0  64  0    . .  16 16 16 16 f  .  4 24  8 16 16 16 16  0 0 None
0x15a  0 sg  0  64  0 r  y .  16 16 16 16 f  .  4 24  8 16 16 16 16  0 0 None
0x15b  0 sg  0  64  0    y .  16 16 16 16 f  .  4 24  8 16 16 16 16  0 0 None
0x15c  0 sg  0 128  0 r  . .  32 32 32 32 f  .  4 24  0 16 16 16 16  0 0 None
0x15d  0 sg  0 128  0    . .  32 32 32 32 f  .  4 24  0 16 16 16 16  0 0 None
0x15e  0 sg  0 128  0 r  y .  32 32 32 32 f  .  4 24  0 16 16 16 16  0 0 None
0x15f  0 sg  0 128  0    y .  32 32 32 32 f  .  4 24  0 16 16 16 16  0 0 None
0x160  0 sg  0 128  0 r  . .  32 32 32 32 f  .  4 24  8 16 16 16 16  0 0 None
0x161  0 sg  0 128  0    . .  32 32 32 32 f  .  4 24  8 16 16 16 16  0 0 None
0x162  0 sg  0 128  0 r  y .  32 32 32 32 f  .  4 24  8 16 16 16 16  0 0 None
0x163  0 sg  0 128  0    y .  32 32 32 32 f  .  4 24  8 16 16 16 16  0 0 None
0x164  0 sg  0  16  0 r  . .  16  0  0  0 f  .  4  0  0 16 16 16 16  0 0 None
0x165  0 sg  0  16  0    . .  16  0  0  0 f  .  4  0  0 16 16 16 16  0 0 None
0x166  0 sg  0  16  0 r  y .  16  0  0  0 f  .  4  0  0 16 16 16 16  0 0 None
0x167  0 sg  0  16  0    y .  16  0  0  0 f  .  4  0  0 16 16 16 16  0 0 None
0x168  0 sg  0  64  0 r  . .  32 32  0  0 f  .  4  0  0 16 16 16 16  0 0 None
0x169  0 sg  0  64  0    . .  32 32  0  0 f  .  4  0  0 16 16 16 16  0 0 None
0x16a  0 sg  0  64  0 r  y .  32 32  0  0 f  .  4  0  0 16 16 16 16  0 0 None
0x16b  0 sg  0  64  0    y .  32 32  0  0 f  .  4  0  0 16 16 16 16  0 0 None
0x16c  0 sg  0  16  0 r  . .  16  0  0  0 f  .  4 24  0 16 16 16 16  0 0 None
0x16d  0 sg  0  16  0    . .  16  0  0  0 f  .  4 24  0 16 16 16 16  0 0 None
0x16e  0 sg  0  16  0 r  y .  16  0  0  0 f  .  4 24  0 16 16 16 16  0 0 None
0x16f  0 sg  0  16  0    y .  16  0  0  0 f  .  4 24  0 16 16 16 16  0 0 None
0x170  0 sg  0  16  0 r  . .  16  0  0  0 f  .  4 24  8 16 16 16 16  0 0 None
0x171  0 sg  0  16  0    . .  16  0  0  0 f  .  4 24  8 16 16 16 16  0 0 None
0x172  0 sg  0  16  0 r  y .  16  0  0  0 f  .  4 24  8 16 16 16 16  0 0 None
0x173  0 sg  0  16  0    y .  16  0  0  0 f  .  4 24  8 16 16 16 16  0 0 None
0x174  0 sg  0  64  0 r  . .  32 32  0  0 f  .  4 24  0 16 16 16 16  0 0 None
0x175  0 sg  0  64  0    . .  32 32  0  0 f  .  4 24  0 16 16 16 16  0 0 None
0x176  0 sg  0  64  0 r  y .  32 32  0  0 f  .  4 24  0 16 16 16 16  0 0 None
0x177  0 sg  0  64  0    y .  32 32  0  0 f  .  4 24  0 16 16 16 16  0 0 None
0x178  0 sg  0  64  0 r  . .  32 32  0  0 f  .  4 24  8 16 16 16 16  0 0 None
0x179  0 sg  0  64  0    . .  32 32  0  0 f  .  4 24  8 16 16 16 16  0 0 None
0x17a  0 sg  0  64  0 r  y .  32 32  0  0 f  .  4 24  8 16 16 16 16  0 0 None
0x17b  0 sg  0  64  0    y .  32 32  0  0 f  .  4 24  8 16 16 16 16  0 0 None

Although I do have to not that

    pub fn draw(&self, base_element: i32, num_elements: i32, num_instances: i32) {
        unsafe {
            glDrawElementsInstanced(
                GL_TRIANGLES,
                num_elements,
                GL_UNSIGNED_SHORT,
                (2 * base_element) as *mut _,
                num_instances,
            );
        }
    }

does look kind of horrible.

from good-web-game.

not-fl3 avatar not-fl3 commented on May 30, 2024

emigui as a lib updated to the newest stable rust 1.43 and does not compile on 1.42

why does it look horrible?

from good-web-game.

42triangles avatar 42triangles commented on May 30, 2024

All miniquad examples also work.

It looks horrible because an i32 is doubled and then interpreted as a pointer, which does smell like UB, so draw should probably be unsafe. Then again, I don't know much about OpenGL, so this might be perfectly safe.

from good-web-game.

not-fl3 avatar not-fl3 commented on May 30, 2024

oh, I misread the previous messag. Nice that other examples work, so it looks like pure miniquad/gwg problem, not the driver.

That 2 deserves comment for sure.

https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glDrawElementsInstanced.xhtml

*indices arguemnt is an offset in the indices array. miniquad support only u16 indices at the moment, so that's where 2 comes from.
2 * base_element is a byte offset in an indices array.

from good-web-game.

42triangles avatar 42triangles commented on May 30, 2024

Why is it a pointer then? That is awful, awful design imho.

from good-web-game.

not-fl3 avatar not-fl3 commented on May 30, 2024

I feel sorry for opengl :)

Without VBO it is a real pointer to an array, with VBO it is a byte offset.

from good-web-game.

42triangles avatar 42triangles commented on May 30, 2024

I'm honestly really relieved that I never bothered to learn OpenGL now, because all that does sound like a nightmare to work with (then again, I never really got into low-level graphics stuff to begin with, besides toying around with vulkan).

from good-web-game.

chayleaf avatar chayleaf commented on May 30, 2024

can confirm this happening on windows as well - error: process didn't exit successfully: `target\debug\examples\snake.exe` (exit code: 0xc0000005, STATUS_ACCESS_VIOLATION)

from good-web-game.

not-fl3 avatar not-fl3 commented on May 30, 2024

Wow, thank you very much for your investigation and minimal example!
Yes, this may be the case, it is worse a try to defer glDelete* to the end of the frame.

from good-web-game.

PSteinhaus avatar PSteinhaus commented on May 30, 2024

Ok, I fixed this now using @not-fl3 's advice to defer the deletion of the bindings stored in Mesh and Image to the next frame:

impl Drop for Mesh {
    fn drop(&mut self) {
        crate::graphics::add_dropped_bindings(self.bindings.clone());
    }
}

Dropped bindings from the previous frame are deleted at the start of the next frame.

from good-web-game.

PSteinhaus avatar PSteinhaus commented on May 30, 2024

Ok, no, it's still somewhat broken. Snake works now, but drawing only a single rectangle still leads to the error.
I assume the problem lies in how good-web-game doesn't flush all its draw calls before the draw function ends, unlike ggez.

Once I'm able to explicitly flush using miniquad I'll try and see whether this fixes it.
If not I'm inclined to just defer deleting the buffers even longer. After something like 5 or 6 frames this kind of bug really shouldn't appear anymore, in normal circumstances. But then again, there are times where things are not normal and having a potential crash lying around waiting to happen is just something we should really try to avoid, so I hope flushing actually fixes this...

from good-web-game.

PSteinhaus avatar PSteinhaus commented on May 30, 2024

Deferring the buffer deletion to the next but one frame fixed this issue in all examples I could find/create on my machine and I'm hopeful that this will work for others as well. Yet I know that this is really just a band-aid, so I'll keep this open to see if anyone still manages to stumble over this, or in case someone reads this and knows the real solution to this weird problem.

TL;DR: probably fixed in #50

from good-web-game.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.