jimy-byerley / pymadcad

Simple yet powerful CAD (Computer Aided Design) library, written with Python.
https://madcad.netlify.app/
GNU Lesser General Public License v3.0
211 stars 17 forks source link

Errors on MacOSX #33

Closed jeromegout closed 8 months ago

jeromegout commented 2 years ago

Hi,

Is there a known issue using pymadcad on MacOsX? I'm trying to run an example from your "examples" folder and I receive the following errors:

qt.qpa.openglcontext: Could not create NSOpenGLContext with shared context, falling back to unshared context.
Traceback (most recent call last):
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/rendering.py", line 1099, in paintGL
    self.render()
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/rendering.py", line 981, in render
    ViewCommon.render(self)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/rendering.py", line 712, in render
    self.uniforms['proj'] = proj = self.projection.matrix(w/h, self.navigation.distance)
ZeroDivisionError: division by zero
[1]    8975 abort      /Users/jeromegout/dev/david/implantology/.venv/bin/python 

It seems that is related to OpenGL. Any clue or advice

Thanks in advance Jerome

jimy-byerley commented 2 years ago

Hi @jeromegout

No known issue as far as I know, that's the first one (though I don't know about other mac users). the ZeroDivisionError seems to happen because of the w/h ratio in case of h = 0, can you check that ? What happens exactly ? you are trying to call madcad.show and you get an empty window and this error ?

jeromegout commented 2 years ago

Hi Jimy,

I see the error trace, I don't know how I could check the value of h within the lib? (sorry I'm a python noob) I've tried the same example (nut.py) on Windows it works fine. I've only noticed (on both platforms) the wrong value 'CG' for the last parameter of solve function, at line 46.

Traceback (most recent call last):
  File "C:\perso\dev\python\madcad\nut.py", line 46, in <module>
    solve(csts, fixed=[O,X,Y,Z,P0,P5], precision=1e-6, method='CG')
  File "C:\perso\dev\python\madcad\lib\site-packages\madcad\constraints.py", line 195, in solve
    return Problem(constraints, fixed).solve(*args, **kwargs)
  File "C:\perso\dev\python\madcad\lib\site-packages\madcad\constraints.py", line 312, in solve
    res = least_squares(evaluate, self.state(),
  File "C:\perso\dev\python\madcad\lib\site-packages\scipy\optimize\_lsq\least_squares.py", line 762, in least_squares
    raise ValueError("`method` must be 'trf', 'dogbox' or 'lm'.")
ValueError: `method` must be 'trf', 'dogbox' or 'lm'.

Once I've changed it to 'trf' it works on Windows and put the other error on Mac. I guess that this example has not been updated after a change in the solve function.

On Mac, nothing happens except the error, no window (even empty) is open, I just get the error. Thanks

jimy-byerley commented 2 years ago

I guess that this example has not been updated after a change in the solve function.

That's true ! the 'CG' value is something that changed in the last release, I forgot to update the examples ...

For the crash, the problem is I do not have an Apple machine for testing, would you mind if we fix the issue on your side ?

The first thing to do is to locate the installation path of madcad: your log shows it is /Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/

Things I would like you to test, if you don't mind:

  1. print the value of w,h in madcad.rendering.ViewCommon.render() (in the file rendering.py)

    The modified function should look like this:

    def render(self):
    # prepare the view uniforms
    w, h = self.fb_screen.size
    print('size', w, h)
    self.uniforms['view'] = view = self.navigation.matrix()
    self.uniforms['proj'] = proj = self.projection.matrix(w/h, self.navigation.distance)
    self.uniforms['projview'] = proj * view
    self.fresh.clear()
    
    # call the render stack
    self.scene.render(self)
  2. try to ignore rendering if h = 0

    def render(self):
    # prepare the view uniforms
    w, h = self.fb_screen.size
    print('size', w, h)
    if h*w:
      self.uniforms['view'] = view = self.navigation.matrix()
      self.uniforms['proj'] = proj = self.projection.matrix(w/h, self.navigation.distance)
      self.uniforms['projview'] = proj * view
      self.fresh.clear()
    
      # call the render stack
      self.scene.render(self)
  3. try disabling Qt.AA_ShareOpenGLContexts

    This should be done in madcad.rendering.show() (in the file rendering.py) by commenting the following line:

    #QApplication.setAttribute(Qt.AA_ShareOpenGLContexts, True)
jeromegout commented 2 years ago

Hi @jimy-byerley

Here is the result of these three changes:

(.venv) ➜  implantology git:(master) ✗ /Users/jeromegout/dev/david/implantology/.venv/bin/python /Users/jeromegout/dev/david/implantology/src/nut.py
/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/scipy/optimize/_lsq/least_squares.py:110: UserWarning: Setting `gtol` below the machine epsilon (2.22e-16) effectively disables the corresponding termination condition.
  warn("Setting `{}` below the machine epsilon ({:.2e}) effectively "
qt.qpa.openglcontext: Could not create NSOpenGLContext with shared context, falling back to unshared context.
size 0 0
qt.qpa.openglcontext: Could not create NSOpenGLContext with shared context, falling back to unshared context.
size 0 0

It's worth noting that I can see now an empty window. Hope this helps Thanks Jerome

jimy-byerley commented 2 years ago

Hello Jerome It's very odd that Qt is still complaining on the OpenGL context sharing now that you disabled the AA_ShareOpenGLContexts flag ... I have to investigate more ...

jimy-byerley commented 2 years ago

Can you tell me the output of the command

$ glxinfo

Also what version of OSX are you running on ?

More things to test:

  1. disable the openGL core profile requirement in madcad.rendering.View.__init__

    It is known to sometimes make problems on windows and OSX Comment the following line

    #fmt.setProfile(QSurfaceFormat.CoreProfile)

    This is to be tests with 3.

  2. higher the requested openGL version to 4.1

    it seems OSX only runs openGL 2.1 and 4.1 and pymadcad needs >=3.3 To try it you need to change the requirement at the top of rendering.py

    #opengl_version = (3,3)
    opengl_version = (4,1)

    This is to be tests with and without 4., but with 3.

jeromegout commented 2 years ago

here is the glxinfo output:

name of display: /private/tmp/com.apple.launchd.PDg1SF5OTf/org.macosforge.xquartz:0
display: /private/tmp/com.apple.launchd.PDg1SF5OTf/org.macosforge.xquartz:0  screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
server glx extensions:
    GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_visual_info, 
    GLX_EXT_visual_rating, GLX_OML_swap_method, GLX_SGIS_multisample, 
    GLX_SGIX_fbconfig
client glx vendor string: Mesa Project and SGI
client glx version string: 1.4
client glx extensions:
    GLX_ARB_create_context, GLX_ARB_create_context_profile, 
    GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float, 
    GLX_ARB_framebuffer_sRGB, GLX_ARB_get_proc_address, GLX_ARB_multisample, 
    GLX_EXT_buffer_age, GLX_EXT_create_context_es2_profile, 
    GLX_EXT_fbconfig_packed_float, GLX_EXT_framebuffer_sRGB, 
    GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, 
    GLX_EXT_visual_rating, GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer, 
    GLX_MESA_multithread_makecurrent, GLX_MESA_query_renderer, 
    GLX_MESA_swap_control, GLX_OML_swap_method, GLX_OML_sync_control, 
    GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, 
    GLX_SGIX_visual_select_group, GLX_SGI_make_current_read, 
    GLX_SGI_swap_control, GLX_SGI_video_sync
GLX version: 1.4
GLX extensions:
    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, 
    GLX_EXT_visual_info, GLX_EXT_visual_rating, 
    GLX_MESA_multithread_makecurrent, GLX_OML_swap_method, 
    GLX_SGIS_multisample, GLX_SGIX_fbconfig
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: AMD Radeon R9 M370X OpenGL Engine
OpenGL version string: 2.1 ATI-4.7.103
OpenGL shading language version string: 1.20
OpenGL extensions:
    GL_APPLE_aux_depth_stencil, GL_APPLE_client_storage, 
    GL_APPLE_element_array, GL_APPLE_fence, GL_APPLE_float_pixels, 
    GL_APPLE_flush_buffer_range, GL_APPLE_flush_render, 
    GL_APPLE_object_purgeable, GL_APPLE_packed_pixels, GL_APPLE_pixel_buffer, 
    GL_APPLE_rgb_422, GL_APPLE_row_bytes, GL_APPLE_specular_vector, 
    GL_APPLE_texture_range, GL_APPLE_transform_hint, 
    GL_APPLE_vertex_array_object, GL_APPLE_vertex_array_range, 
    GL_APPLE_vertex_point_size, GL_APPLE_vertex_program_evaluators, 
    GL_APPLE_ycbcr_422, GL_ARB_color_buffer_float, GL_ARB_depth_buffer_float, 
    GL_ARB_depth_clamp, GL_ARB_depth_texture, GL_ARB_draw_buffers, 
    GL_ARB_draw_elements_base_vertex, GL_ARB_draw_instanced, 
    GL_ARB_fragment_program, GL_ARB_fragment_program_shadow, 
    GL_ARB_fragment_shader, GL_ARB_framebuffer_object, 
    GL_ARB_framebuffer_sRGB, GL_ARB_half_float_pixel, 
    GL_ARB_half_float_vertex, GL_ARB_imaging, GL_ARB_instanced_arrays, 
    GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_occlusion_query, 
    GL_ARB_pixel_buffer_object, GL_ARB_point_parameters, GL_ARB_point_sprite, 
    GL_ARB_provoking_vertex, GL_ARB_seamless_cube_map, GL_ARB_shader_objects, 
    GL_ARB_shader_texture_lod, GL_ARB_shading_language_100, GL_ARB_shadow, 
    GL_ARB_shadow_ambient, GL_ARB_sync, GL_ARB_texture_border_clamp, 
    GL_ARB_texture_compression, GL_ARB_texture_compression_rgtc, 
    GL_ARB_texture_cube_map, GL_ARB_texture_env_add, 
    GL_ARB_texture_env_combine, GL_ARB_texture_env_crossbar, 
    GL_ARB_texture_env_dot3, GL_ARB_texture_float, 
    GL_ARB_texture_mirrored_repeat, GL_ARB_texture_non_power_of_two, 
    GL_ARB_texture_rectangle, GL_ARB_texture_rg, GL_ARB_transpose_matrix, 
    GL_ARB_vertex_array_bgra, GL_ARB_vertex_blend, 
    GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_vertex_shader, 
    GL_ARB_window_pos, GL_ATI_blend_equation_separate, 
    GL_ATI_blend_weighted_minmax, GL_ATI_separate_stencil, 
    GL_ATI_texture_compression_3dc, GL_ATI_texture_env_combine3, 
    GL_ATI_texture_float, GL_ATI_texture_mirror_once, 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_clip_volume_hint, 
    GL_EXT_debug_label, GL_EXT_debug_marker, GL_EXT_depth_bounds_test, 
    GL_EXT_draw_buffers2, GL_EXT_draw_range_elements, GL_EXT_fog_coord, 
    GL_EXT_framebuffer_blit, GL_EXT_framebuffer_multisample, 
    GL_EXT_framebuffer_object, GL_EXT_framebuffer_sRGB, 
    GL_EXT_geometry_shader4, GL_EXT_gpu_program_parameters, 
    GL_EXT_gpu_shader4, GL_EXT_multi_draw_arrays, GL_EXT_packed_depth_stencil, 
    GL_EXT_packed_float, GL_EXT_provoking_vertex, GL_EXT_rescale_normal, 
    GL_EXT_secondary_color, GL_EXT_separate_specular_color, 
    GL_EXT_shadow_funcs, GL_EXT_stencil_two_side, GL_EXT_stencil_wrap, 
    GL_EXT_texture_array, GL_EXT_texture_compression_dxt1, 
    GL_EXT_texture_compression_s3tc, GL_EXT_texture_env_add, 
    GL_EXT_texture_filter_anisotropic, GL_EXT_texture_integer, 
    GL_EXT_texture_lod_bias, GL_EXT_texture_mirror_clamp, 
    GL_EXT_texture_rectangle, GL_EXT_texture_sRGB, GL_EXT_texture_sRGB_decode, 
    GL_EXT_texture_shared_exponent, GL_EXT_timer_query, 
    GL_EXT_transform_feedback, GL_EXT_vertex_array_bgra, 
    GL_IBM_rasterpos_clip, GL_NV_blend_square, GL_NV_conditional_render, 
    GL_NV_depth_clamp, GL_NV_fog_distance, GL_NV_light_max_exponent, 
    GL_NV_texgen_reflection, GL_NV_texture_barrier, GL_SGIS_generate_mipmap, 
    GL_SGIS_texture_edge_clamp, GL_SGIS_texture_lod, GL_SGI_color_matrix

144 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
----------------------------------------------------------------------------
0x022 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0 16  8  0  0  0  0  0 0 None
0x141 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0  0  0  0  0  0  0  0 0 Slow
0x142 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0  0  0  0  0  0  0 16 1 Slow
0x143 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0 32  0  0  0  0  0  0 0 Slow
0x144 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0 32  0  0  0  0  0 16 1 Slow
0x145 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0  0  8  0  0  0  0  0 0 Slow
0x146 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0  0  8  0  0  0  0 16 1 Slow
0x147 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0 32  8  0  0  0  0  0 0 Slow
0x148 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0 32  8  0  0  0  0 16 1 Slow
0x149 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0  0  0  0  0  0  0  0 0 Slow
0x14a 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0  0  0  0  0  0  0 16 1 Slow
0x14b 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0 32  0  0  0  0  0  0 0 Slow
0x14c 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0 32  0  0  0  0  0 16 1 Slow
0x14d 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0  0  8  0  0  0  0  0 0 Slow
0x14e 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0  0  8  0  0  0  0 16 1 Slow
0x14f 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0 32  8  0  0  0  0  0 0 Slow
0x150 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0 32  8  0  0  0  0 16 1 Slow
0x151 24 tc  1  32  0 r  . .   8  8  8  8 .  .  4  0  0  0  0  0  0  0 0 Slow
0x152 24 tc  1  32  0 r  . .   8  8  8  8 .  .  4  0  0  0  0  0  0 16 1 Slow
0x153 24 tc  1  32  0 r  . .   8  8  8  8 .  .  4 32  0  0  0  0  0  0 0 Slow
0x154 24 tc  1  32  0 r  . .   8  8  8  8 .  .  4 32  0  0  0  0  0 16 1 Slow
0x155 24 tc  1  32  0 r  . .   8  8  8  8 .  .  4  0  8  0  0  0  0  0 0 Slow
0x156 24 tc  1  32  0 r  . .   8  8  8  8 .  .  4  0  8  0  0  0  0 16 1 Slow
0x157 24 tc  1  32  0 r  . .   8  8  8  8 .  .  4 32  8  0  0  0  0  0 0 Slow
0x158 24 tc  1  32  0 r  . .   8  8  8  8 .  .  4 32  8  0  0  0  0 16 1 Slow
0x159 24 tc  1  32  0 r  y .   8  8  8  8 .  .  4  0  0  0  0  0  0  0 0 Slow
0x15a 24 tc  1  32  0 r  y .   8  8  8  8 .  .  4  0  0  0  0  0  0 16 1 Slow
0x15b 24 tc  1  32  0 r  y .   8  8  8  8 .  .  4 32  0  0  0  0  0  0 0 Slow
0x15c 24 tc  1  32  0 r  y .   8  8  8  8 .  .  4 32  0  0  0  0  0 16 1 Slow
0x15d 24 tc  1  32  0 r  y .   8  8  8  8 .  .  4  0  8  0  0  0  0  0 0 Slow
0x15e 24 tc  1  32  0 r  y .   8  8  8  8 .  .  4  0  8  0  0  0  0 16 1 Slow
0x15f 24 tc  1  32  0 r  y .   8  8  8  8 .  .  4 32  8  0  0  0  0  0 0 Slow
0x160 24 tc  1  32  0 r  y .   8  8  8  8 .  .  4 32  8  0  0  0  0 16 1 Slow
0x161 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0  0  0  0  0  0  0  0 0 None
0x162 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0  0  0  0  0  0  0  8 1 None
0x163 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0 16  0  0  0  0  0  0 0 None
0x164 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0 16  0  0  0  0  0  8 1 None
0x165 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0 24  0  0  0  0  0  0 0 None
0x166 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0 24  0  0  0  0  0  8 1 None
0x167 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0 32  0  0  0  0  0  0 0 None
0x168 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0 32  0  0  0  0  0  8 1 None
0x169 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0  0  8  0  0  0  0  0 0 None
0x16a 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0  0  8  0  0  0  0  8 1 None
0x16b 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0 16  8  0  0  0  0  0 0 None
0x16c 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0 16  8  0  0  0  0  8 1 None
0x16d 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0 24  8  0  0  0  0  0 0 None
0x16e 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0 24  8  0  0  0  0  8 1 None
0x16f 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0 32  8  0  0  0  0  0 0 None
0x170 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0 32  8  0  0  0  0  8 1 None
0x171 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0  0  0  0  0  0  0  0 0 None
0x172 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0  0  0  0  0  0  0  8 1 None
0x173 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0 16  0  0  0  0  0  0 0 None
0x174 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0 16  0  0  0  0  0  8 1 None
0x175 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0 24  0  0  0  0  0  0 0 None
0x176 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0 24  0  0  0  0  0  8 1 None
0x177 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0 32  0  0  0  0  0  0 0 None
0x178 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0 32  0  0  0  0  0  8 1 None
0x179 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0  0  8  0  0  0  0  0 0 None
0x17a 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0  0  8  0  0  0  0  8 1 None
0x17b 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0 16  8  0  0  0  0  8 1 None
0x17c 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0 24  8  0  0  0  0  0 0 None
0x17d 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0 24  8  0  0  0  0  8 1 None
0x17e 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0 32  8  0  0  0  0  0 0 None
0x17f 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0 32  8  0  0  0  0  8 1 None
0x180 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2  0  0  0  0  0  0  0 0 None
0x181 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2  0  0  0  0  0  0  8 1 None
0x182 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2 16  0  0  0  0  0  0 0 None
0x183 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2 16  0  0  0  0  0  8 1 None
0x184 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2 24  0  0  0  0  0  0 0 None
0x185 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2 24  0  0  0  0  0  8 1 None
0x186 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2 32  0  0  0  0  0  0 0 None
0x187 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2 32  0  0  0  0  0  8 1 None
0x188 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2  0  8  0  0  0  0  0 0 None
0x189 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2  0  8  0  0  0  0  8 1 None
0x18a 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2 16  8  0  0  0  0  0 0 None
0x18b 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2 16  8  0  0  0  0  8 1 None
0x18c 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2 24  8  0  0  0  0  0 0 None
0x18d 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2 24  8  0  0  0  0  8 1 None
0x18e 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2 32  8  0  0  0  0  0 0 None
0x18f 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2 32  8  0  0  0  0  8 1 None
0x190 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2  0  0  0  0  0  0  0 0 None
0x191 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2  0  0  0  0  0  0  8 1 None
0x192 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2 16  0  0  0  0  0  0 0 None
0x193 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2 16  0  0  0  0  0  8 1 None
0x194 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2 24  0  0  0  0  0  0 0 None
0x195 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2 24  0  0  0  0  0  8 1 None
0x196 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2 32  0  0  0  0  0  0 0 None
0x197 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2 32  0  0  0  0  0  8 1 None
0x198 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2  0  8  0  0  0  0  0 0 None
0x199 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2  0  8  0  0  0  0  8 1 None
0x19a 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2 16  8  0  0  0  0  0 0 None
0x19b 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2 16  8  0  0  0  0  8 1 None
0x19c 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2 24  8  0  0  0  0  0 0 None
0x19d 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2 24  8  0  0  0  0  8 1 None
0x19e 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2 32  8  0  0  0  0  0 0 None
0x19f 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2 32  8  0  0  0  0  8 1 None
0x1a0 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0  0  0  0  0  0  0  0 0 None
0x1a1 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0  0  0  0  0  0  0  8 1 None
0x1a2 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0 16  0  0  0  0  0  0 0 None
0x1a3 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0 16  0  0  0  0  0  8 1 None
0x1a4 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0 24  0  0  0  0  0  0 0 None
0x1a5 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0 24  0  0  0  0  0  8 1 None
0x1a6 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0  0  8  0  0  0  0  0 0 None
0x1a7 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0  0  8  0  0  0  0  8 1 None
0x1a8 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0 16  8  0  0  0  0  0 0 None
0x1a9 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0 16  8  0  0  0  0  8 1 None
0x1aa 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0 24  8  0  0  0  0  0 0 None
0x1ab 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0 24  8  0  0  0  0  8 1 None
0x1ac 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0  0  0  0  0  0  0  0 0 None
0x1ad 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0  0  0  0  0  0  0  8 1 None
0x1ae 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0 16  0  0  0  0  0  0 0 None
0x1af 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0 16  0  0  0  0  0  8 1 None
0x1b0 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0 24  0  0  0  0  0  0 0 None
0x1b1 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0 24  0  0  0  0  0  8 1 None
0x1b2 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0  0  8  0  0  0  0  0 0 None
0x1b3 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0  0  8  0  0  0  0  8 1 None
0x1b4 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0 16  8  0  0  0  0  0 0 None
0x1b5 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0 16  8  0  0  0  0  8 1 None
0x1b6 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0 24  8  0  0  0  0  0 0 None
0x1b7 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0 24  8  0  0  0  0  8 1 None
0x1b8 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2  0  0  0  0  0  0  0 0 None
0x1b9 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2  0  0  0  0  0  0  8 1 None
0x1ba 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2 16  0  0  0  0  0  0 0 None
0x1bb 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2 16  0  0  0  0  0  8 1 None
0x1bc 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2 24  0  0  0  0  0  0 0 None
0x1bd 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2 24  0  0  0  0  0  8 1 None
0x1be 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2  0  8  0  0  0  0  0 0 None
0x1bf 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2  0  8  0  0  0  0  8 1 None
0x1c0 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2 16  8  0  0  0  0  0 0 None
0x1c1 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2 16  8  0  0  0  0  8 1 None
0x1c2 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2 24  8  0  0  0  0  0 0 None
0x1c3 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2 24  8  0  0  0  0  8 1 None
0x1c4 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2  0  0  0  0  0  0  0 0 None
0x1c5 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2  0  0  0  0  0  0  8 1 None
0x1c6 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2 16  0  0  0  0  0  0 0 None
0x1c7 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2 16  0  0  0  0  0  8 1 None
0x1c8 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2 24  0  0  0  0  0  0 0 None
0x1c9 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2 24  0  0  0  0  0  8 1 None
0x1ca 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2  0  8  0  0  0  0  0 0 None
0x1cb 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2  0  8  0  0  0  0  8 1 None
0x1cc 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2 16  8  0  0  0  0  0 0 None
0x1cd 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2 16  8  0  0  0  0  8 1 None
0x1ce 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2 24  8  0  0  0  0  0 0 None
0x1cf 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2 24  8  0  0  0  0  8 1 None

256 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
----------------------------------------------------------------------------
0x041 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0  0  0  0  0  0  0  0 0 Slow
0x042 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0  0  0  0  0  0  0 16 1 Slow
0x043 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0 32  0  0  0  0  0  0 0 Slow
0x044 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0 32  0  0  0  0  0 16 1 Slow
0x045 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0  0  8  0  0  0  0  0 0 Slow
0x046 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0  0  8  0  0  0  0 16 1 Slow
0x047 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0 32  8  0  0  0  0  0 0 Slow
0x048 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0 32  8  0  0  0  0 16 1 Slow
0x049 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0  0  0  0  0  0  0  0 0 Slow
0x04a 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0  0  0  0  0  0  0 16 1 Slow
0x04b 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0 32  0  0  0  0  0  0 0 Slow
0x04c 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0 32  0  0  0  0  0 16 1 Slow
0x04d 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0  0  8  0  0  0  0  0 0 Slow
0x04e 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0  0  8  0  0  0  0 16 1 Slow
0x04f 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0 32  8  0  0  0  0  0 0 Slow
0x050 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0 32  8  0  0  0  0 16 1 Slow
0x051 24 tc  1  32  0 r  . .   8  8  8  8 .  .  4  0  0  0  0  0  0  0 0 Slow
0x052 24 tc  1  32  0 r  . .   8  8  8  8 .  .  4  0  0  0  0  0  0 16 1 Slow
0x053 24 tc  1  32  0 r  . .   8  8  8  8 .  .  4 32  0  0  0  0  0  0 0 Slow
0x054 24 tc  1  32  0 r  . .   8  8  8  8 .  .  4 32  0  0  0  0  0 16 1 Slow
0x055 24 tc  1  32  0 r  . .   8  8  8  8 .  .  4  0  8  0  0  0  0  0 0 Slow
0x056 24 tc  1  32  0 r  . .   8  8  8  8 .  .  4  0  8  0  0  0  0 16 1 Slow
0x057 24 tc  1  32  0 r  . .   8  8  8  8 .  .  4 32  8  0  0  0  0  0 0 Slow
0x058 24 tc  1  32  0 r  . .   8  8  8  8 .  .  4 32  8  0  0  0  0 16 1 Slow
0x059 24 tc  1  32  0 r  y .   8  8  8  8 .  .  4  0  0  0  0  0  0  0 0 Slow
0x05a 24 tc  1  32  0 r  y .   8  8  8  8 .  .  4  0  0  0  0  0  0 16 1 Slow
0x05b 24 tc  1  32  0 r  y .   8  8  8  8 .  .  4 32  0  0  0  0  0  0 0 Slow
0x05c 24 tc  1  32  0 r  y .   8  8  8  8 .  .  4 32  0  0  0  0  0 16 1 Slow
0x05d 24 tc  1  32  0 r  y .   8  8  8  8 .  .  4  0  8  0  0  0  0  0 0 Slow
0x05e 24 tc  1  32  0 r  y .   8  8  8  8 .  .  4  0  8  0  0  0  0 16 1 Slow
0x05f 24 tc  1  32  0 r  y .   8  8  8  8 .  .  4 32  8  0  0  0  0  0 0 Slow
0x060 24 tc  1  32  0 r  y .   8  8  8  8 .  .  4 32  8  0  0  0  0 16 1 Slow
0x061  0 tc  1  16  0 r  . .   5  5  5  1 .  .  0  0  0  0  0  0  0  0 0 None
0x062  0 tc  1  16  0 r  . .   5  5  5  1 .  .  0  0  0  0  0  0  0  8 1 None
0x063  0 tc  1  16  0 r  . .   5  5  5  1 .  .  0 16  0  0  0  0  0  0 0 None
0x064  0 tc  1  16  0 r  . .   5  5  5  1 .  .  0 16  0  0  0  0  0  8 1 None
0x065  0 tc  1  16  0 r  . .   5  5  5  1 .  .  0 24  0  0  0  0  0  0 0 None
0x066  0 tc  1  16  0 r  . .   5  5  5  1 .  .  0 24  0  0  0  0  0  8 1 None
0x067  0 tc  1  16  0 r  . .   5  5  5  1 .  .  0 32  0  0  0  0  0  0 0 None
0x068  0 tc  1  16  0 r  . .   5  5  5  1 .  .  0 32  0  0  0  0  0  8 1 None
0x069 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0  0  0  0  0  0  0  0 0 None
0x06a 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0  0  0  0  0  0  0  8 1 None
0x06b 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0 16  0  0  0  0  0  0 0 None
0x06c 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0 16  0  0  0  0  0  8 1 None
0x06d 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0 24  0  0  0  0  0  0 0 None
0x06e 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0 24  0  0  0  0  0  8 1 None
0x06f 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0 32  0  0  0  0  0  0 0 None
0x070 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0 32  0  0  0  0  0  8 1 None
0x071  0 tc  1  16  0 r  . .   5  5  5  1 .  .  0  0  8  0  0  0  0  0 0 None
0x072  0 tc  1  16  0 r  . .   5  5  5  1 .  .  0  0  8  0  0  0  0  8 1 None
0x073  0 tc  1  16  0 r  . .   5  5  5  1 .  .  0 16  8  0  0  0  0  0 0 None
0x074  0 tc  1  16  0 r  . .   5  5  5  1 .  .  0 16  8  0  0  0  0  8 1 None
0x075  0 tc  1  16  0 r  . .   5  5  5  1 .  .  0 24  8  0  0  0  0  0 0 None
0x076  0 tc  1  16  0 r  . .   5  5  5  1 .  .  0 24  8  0  0  0  0  8 1 None
0x077  0 tc  1  16  0 r  . .   5  5  5  1 .  .  0 32  8  0  0  0  0  0 0 None
0x078  0 tc  1  16  0 r  . .   5  5  5  1 .  .  0 32  8  0  0  0  0  8 1 None
0x079 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0  0  8  0  0  0  0  0 0 None
0x07a 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0  0  8  0  0  0  0  8 1 None
0x07b 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0 16  8  0  0  0  0  0 0 None
0x07c 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0 16  8  0  0  0  0  8 1 None
0x07d 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0 24  8  0  0  0  0  0 0 None
0x07e 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0 24  8  0  0  0  0  8 1 None
0x07f 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0 32  8  0  0  0  0  0 0 None
0x080 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0 32  8  0  0  0  0  8 1 None
0x081  0 tc  1  16  0 r  y .   5  5  5  1 .  .  0  0  0  0  0  0  0  0 0 None
0x082  0 tc  1  16  0 r  y .   5  5  5  1 .  .  0  0  0  0  0  0  0  8 1 None
0x083  0 tc  1  16  0 r  y .   5  5  5  1 .  .  0 16  0  0  0  0  0  0 0 None
0x084  0 tc  1  16  0 r  y .   5  5  5  1 .  .  0 16  0  0  0  0  0  8 1 None
0x085  0 tc  1  16  0 r  y .   5  5  5  1 .  .  0 24  0  0  0  0  0  0 0 None
0x086  0 tc  1  16  0 r  y .   5  5  5  1 .  .  0 24  0  0  0  0  0  8 1 None
0x087  0 tc  1  16  0 r  y .   5  5  5  1 .  .  0 32  0  0  0  0  0  0 0 None
0x088  0 tc  1  16  0 r  y .   5  5  5  1 .  .  0 32  0  0  0  0  0  8 1 None
0x089 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0  0  0  0  0  0  0  0 0 None
0x08a 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0  0  0  0  0  0  0  8 1 None
0x08b 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0 16  0  0  0  0  0  0 0 None
0x08c 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0 16  0  0  0  0  0  8 1 None
0x08d 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0 24  0  0  0  0  0  0 0 None
0x08e 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0 24  0  0  0  0  0  8 1 None
0x08f 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0 32  0  0  0  0  0  0 0 None
0x090 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0 32  0  0  0  0  0  8 1 None
0x091  0 tc  1  16  0 r  y .   5  5  5  1 .  .  0  0  8  0  0  0  0  0 0 None
0x092  0 tc  1  16  0 r  y .   5  5  5  1 .  .  0  0  8  0  0  0  0  8 1 None
0x093  0 tc  1  16  0 r  y .   5  5  5  1 .  .  0 16  8  0  0  0  0  0 0 None
0x094  0 tc  1  16  0 r  y .   5  5  5  1 .  .  0 16  8  0  0  0  0  8 1 None
0x095  0 tc  1  16  0 r  y .   5  5  5  1 .  .  0 24  8  0  0  0  0  0 0 None
0x096  0 tc  1  16  0 r  y .   5  5  5  1 .  .  0 24  8  0  0  0  0  8 1 None
0x097  0 tc  1  16  0 r  y .   5  5  5  1 .  .  0 32  8  0  0  0  0  0 0 None
0x098  0 tc  1  16  0 r  y .   5  5  5  1 .  .  0 32  8  0  0  0  0  8 1 None
0x099 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0  0  8  0  0  0  0  0 0 None
0x09a 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0  0  8  0  0  0  0  8 1 None
0x09b 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0 16  8  0  0  0  0  0 0 None
0x09c 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0 16  8  0  0  0  0  8 1 None
0x09d 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0 24  8  0  0  0  0  0 0 None
0x09e 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0 24  8  0  0  0  0  8 1 None
0x09f 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0 32  8  0  0  0  0  0 0 None
0x0a0 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0 32  8  0  0  0  0  8 1 None
0x0a1  0 tc  1  16  0 r  . .   5  5  5  1 .  .  2  0  0  0  0  0  0  0 0 None
0x0a2  0 tc  1  16  0 r  . .   5  5  5  1 .  .  2  0  0  0  0  0  0  8 1 None
0x0a3  0 tc  1  16  0 r  . .   5  5  5  1 .  .  2 16  0  0  0  0  0  0 0 None
0x0a4  0 tc  1  16  0 r  . .   5  5  5  1 .  .  2 16  0  0  0  0  0  8 1 None
0x0a5  0 tc  1  16  0 r  . .   5  5  5  1 .  .  2 24  0  0  0  0  0  0 0 None
0x0a6  0 tc  1  16  0 r  . .   5  5  5  1 .  .  2 24  0  0  0  0  0  8 1 None
0x0a7  0 tc  1  16  0 r  . .   5  5  5  1 .  .  2 32  0  0  0  0  0  0 0 None
0x0a8  0 tc  1  16  0 r  . .   5  5  5  1 .  .  2 32  0  0  0  0  0  8 1 None
0x0a9 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2  0  0  0  0  0  0  0 0 None
0x0aa 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2  0  0  0  0  0  0  8 1 None
0x0ab 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2 16  0  0  0  0  0  0 0 None
0x0ac 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2 16  0  0  0  0  0  8 1 None
0x0ad 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2 24  0  0  0  0  0  0 0 None
0x0ae 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2 24  0  0  0  0  0  8 1 None
0x0af 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2 32  0  0  0  0  0  0 0 None
0x0b0 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2 32  0  0  0  0  0  8 1 None
0x0b1  0 tc  1  16  0 r  . .   5  5  5  1 .  .  2  0  8  0  0  0  0  0 0 None
0x0b2  0 tc  1  16  0 r  . .   5  5  5  1 .  .  2  0  8  0  0  0  0  8 1 None
0x0b3  0 tc  1  16  0 r  . .   5  5  5  1 .  .  2 16  8  0  0  0  0  0 0 None
0x0b4  0 tc  1  16  0 r  . .   5  5  5  1 .  .  2 16  8  0  0  0  0  8 1 None
0x0b5  0 tc  1  16  0 r  . .   5  5  5  1 .  .  2 24  8  0  0  0  0  0 0 None
0x0b6  0 tc  1  16  0 r  . .   5  5  5  1 .  .  2 24  8  0  0  0  0  8 1 None
0x0b7  0 tc  1  16  0 r  . .   5  5  5  1 .  .  2 32  8  0  0  0  0  0 0 None
0x0b8  0 tc  1  16  0 r  . .   5  5  5  1 .  .  2 32  8  0  0  0  0  8 1 None
0x0b9 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2  0  8  0  0  0  0  0 0 None
0x0ba 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2  0  8  0  0  0  0  8 1 None
0x0bb 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2 16  8  0  0  0  0  0 0 None
0x0bc 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2 16  8  0  0  0  0  8 1 None
0x0bd 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2 24  8  0  0  0  0  0 0 None
0x0be 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2 24  8  0  0  0  0  8 1 None
0x0bf 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2 32  8  0  0  0  0  0 0 None
0x0c0 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2 32  8  0  0  0  0  8 1 None
0x0c1  0 tc  1  16  0 r  y .   5  5  5  1 .  .  2  0  0  0  0  0  0  0 0 None
0x0c2  0 tc  1  16  0 r  y .   5  5  5  1 .  .  2  0  0  0  0  0  0  8 1 None
0x0c3  0 tc  1  16  0 r  y .   5  5  5  1 .  .  2 16  0  0  0  0  0  0 0 None
0x0c4  0 tc  1  16  0 r  y .   5  5  5  1 .  .  2 16  0  0  0  0  0  8 1 None
0x0c5  0 tc  1  16  0 r  y .   5  5  5  1 .  .  2 24  0  0  0  0  0  0 0 None
0x0c6  0 tc  1  16  0 r  y .   5  5  5  1 .  .  2 24  0  0  0  0  0  8 1 None
0x0c7  0 tc  1  16  0 r  y .   5  5  5  1 .  .  2 32  0  0  0  0  0  0 0 None
0x0c8  0 tc  1  16  0 r  y .   5  5  5  1 .  .  2 32  0  0  0  0  0  8 1 None
0x0c9 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2  0  0  0  0  0  0  0 0 None
0x0ca 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2  0  0  0  0  0  0  8 1 None
0x0cb 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2 16  0  0  0  0  0  0 0 None
0x0cc 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2 16  0  0  0  0  0  8 1 None
0x0cd 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2 24  0  0  0  0  0  0 0 None
0x0ce 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2 24  0  0  0  0  0  8 1 None
0x0cf 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2 32  0  0  0  0  0  0 0 None
0x0d0 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2 32  0  0  0  0  0  8 1 None
0x0d1  0 tc  1  16  0 r  y .   5  5  5  1 .  .  2  0  8  0  0  0  0  0 0 None
0x0d2  0 tc  1  16  0 r  y .   5  5  5  1 .  .  2  0  8  0  0  0  0  8 1 None
0x0d3  0 tc  1  16  0 r  y .   5  5  5  1 .  .  2 16  8  0  0  0  0  0 0 None
0x0d4  0 tc  1  16  0 r  y .   5  5  5  1 .  .  2 16  8  0  0  0  0  8 1 None
0x0d5  0 tc  1  16  0 r  y .   5  5  5  1 .  .  2 24  8  0  0  0  0  0 0 None
0x0d6  0 tc  1  16  0 r  y .   5  5  5  1 .  .  2 24  8  0  0  0  0  8 1 None
0x0d7  0 tc  1  16  0 r  y .   5  5  5  1 .  .  2 32  8  0  0  0  0  0 0 None
0x0d8  0 tc  1  16  0 r  y .   5  5  5  1 .  .  2 32  8  0  0  0  0  8 1 None
0x0d9 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2  0  8  0  0  0  0  0 0 None
0x0da 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2  0  8  0  0  0  0  8 1 None
0x0db 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2 16  8  0  0  0  0  0 0 None
0x0dc 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2 16  8  0  0  0  0  8 1 None
0x0dd 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2 24  8  0  0  0  0  0 0 None
0x0de 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2 24  8  0  0  0  0  8 1 None
0x0df 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2 32  8  0  0  0  0  0 0 None
0x0e0 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2 32  8  0  0  0  0  8 1 None
0x0e1  0 tc  1  16  0 r  . .   5  5  5  1 .  .  0  0  0  0  0  0  0  0 0 None
0x0e2  0 tc  1  16  0 r  . .   5  5  5  1 .  .  0  0  0  0  0  0  0  8 1 None
0x0e3  0 tc  1  16  0 r  . .   5  5  5  1 .  .  0 16  0  0  0  0  0  0 0 None
0x0e4  0 tc  1  16  0 r  . .   5  5  5  1 .  .  0 16  0  0  0  0  0  8 1 None
0x0e5  0 tc  1  16  0 r  . .   5  5  5  1 .  .  0 24  0  0  0  0  0  0 0 None
0x0e6  0 tc  1  16  0 r  . .   5  5  5  1 .  .  0 24  0  0  0  0  0  8 1 None
0x0e7 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0  0  0  0  0  0  0  0 0 None
0x0e8 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0  0  0  0  0  0  0  8 1 None
0x0e9 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0 16  0  0  0  0  0  0 0 None
0x0ea 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0 16  0  0  0  0  0  8 1 None
0x0eb 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0 24  0  0  0  0  0  0 0 None
0x0ec 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0 24  0  0  0  0  0  8 1 None
0x0ed  0 tc  1  16  0 r  . .   5  5  5  1 .  .  0  0  8  0  0  0  0  0 0 None
0x0ee  0 tc  1  16  0 r  . .   5  5  5  1 .  .  0  0  8  0  0  0  0  8 1 None
0x0ef  0 tc  1  16  0 r  . .   5  5  5  1 .  .  0 16  8  0  0  0  0  0 0 None
0x0f0  0 tc  1  16  0 r  . .   5  5  5  1 .  .  0 16  8  0  0  0  0  8 1 None
0x0f1  0 tc  1  16  0 r  . .   5  5  5  1 .  .  0 24  8  0  0  0  0  0 0 None
0x0f2  0 tc  1  16  0 r  . .   5  5  5  1 .  .  0 24  8  0  0  0  0  8 1 None
0x0f3 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0  0  8  0  0  0  0  0 0 None
0x0f4 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0  0  8  0  0  0  0  8 1 None
0x0f5 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0 16  8  0  0  0  0  0 0 None
0x0f6 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0 16  8  0  0  0  0  8 1 None
0x0f7 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0 24  8  0  0  0  0  0 0 None
0x0f8 24 tc  1  32  0 r  . .   8  8  8  8 .  .  0 24  8  0  0  0  0  8 1 None
0x0f9  0 tc  1  16  0 r  y .   5  5  5  1 .  .  0  0  0  0  0  0  0  0 0 None
0x0fa  0 tc  1  16  0 r  y .   5  5  5  1 .  .  0  0  0  0  0  0  0  8 1 None
0x0fb  0 tc  1  16  0 r  y .   5  5  5  1 .  .  0 16  0  0  0  0  0  0 0 None
0x0fc  0 tc  1  16  0 r  y .   5  5  5  1 .  .  0 16  0  0  0  0  0  8 1 None
0x0fd  0 tc  1  16  0 r  y .   5  5  5  1 .  .  0 24  0  0  0  0  0  0 0 None
0x0fe  0 tc  1  16  0 r  y .   5  5  5  1 .  .  0 24  0  0  0  0  0  8 1 None
0x0ff 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0  0  0  0  0  0  0  0 0 None
0x100 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0  0  0  0  0  0  0  8 1 None
0x101 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0 16  0  0  0  0  0  0 0 None
0x102 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0 16  0  0  0  0  0  8 1 None
0x103 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0 24  0  0  0  0  0  0 0 None
0x104 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0 24  0  0  0  0  0  8 1 None
0x105  0 tc  1  16  0 r  y .   5  5  5  1 .  .  0  0  8  0  0  0  0  0 0 None
0x106  0 tc  1  16  0 r  y .   5  5  5  1 .  .  0  0  8  0  0  0  0  8 1 None
0x107  0 tc  1  16  0 r  y .   5  5  5  1 .  .  0 16  8  0  0  0  0  0 0 None
0x108  0 tc  1  16  0 r  y .   5  5  5  1 .  .  0 16  8  0  0  0  0  8 1 None
0x109  0 tc  1  16  0 r  y .   5  5  5  1 .  .  0 24  8  0  0  0  0  0 0 None
0x10a  0 tc  1  16  0 r  y .   5  5  5  1 .  .  0 24  8  0  0  0  0  8 1 None
0x10b 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0  0  8  0  0  0  0  0 0 None
0x10c 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0  0  8  0  0  0  0  8 1 None
0x10d 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0 16  8  0  0  0  0  0 0 None
0x10e 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0 16  8  0  0  0  0  8 1 None
0x10f 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0 24  8  0  0  0  0  0 0 None
0x110 24 tc  1  32  0 r  y .   8  8  8  8 .  .  0 24  8  0  0  0  0  8 1 None
0x111  0 tc  1  16  0 r  . .   5  5  5  1 .  .  2  0  0  0  0  0  0  0 0 None
0x112  0 tc  1  16  0 r  . .   5  5  5  1 .  .  2  0  0  0  0  0  0  8 1 None
0x113  0 tc  1  16  0 r  . .   5  5  5  1 .  .  2 16  0  0  0  0  0  0 0 None
0x114  0 tc  1  16  0 r  . .   5  5  5  1 .  .  2 16  0  0  0  0  0  8 1 None
0x115  0 tc  1  16  0 r  . .   5  5  5  1 .  .  2 24  0  0  0  0  0  0 0 None
0x116  0 tc  1  16  0 r  . .   5  5  5  1 .  .  2 24  0  0  0  0  0  8 1 None
0x117 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2  0  0  0  0  0  0  0 0 None
0x118 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2  0  0  0  0  0  0  8 1 None
0x119 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2 16  0  0  0  0  0  0 0 None
0x11a 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2 16  0  0  0  0  0  8 1 None
0x11b 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2 24  0  0  0  0  0  0 0 None
0x11c 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2 24  0  0  0  0  0  8 1 None
0x11d  0 tc  1  16  0 r  . .   5  5  5  1 .  .  2  0  8  0  0  0  0  0 0 None
0x11e  0 tc  1  16  0 r  . .   5  5  5  1 .  .  2  0  8  0  0  0  0  8 1 None
0x11f  0 tc  1  16  0 r  . .   5  5  5  1 .  .  2 16  8  0  0  0  0  0 0 None
0x120  0 tc  1  16  0 r  . .   5  5  5  1 .  .  2 16  8  0  0  0  0  8 1 None
0x121  0 tc  1  16  0 r  . .   5  5  5  1 .  .  2 24  8  0  0  0  0  0 0 None
0x122  0 tc  1  16  0 r  . .   5  5  5  1 .  .  2 24  8  0  0  0  0  8 1 None
0x123 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2  0  8  0  0  0  0  0 0 None
0x124 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2  0  8  0  0  0  0  8 1 None
0x125 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2 16  8  0  0  0  0  0 0 None
0x126 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2 16  8  0  0  0  0  8 1 None
0x127 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2 24  8  0  0  0  0  0 0 None
0x128 24 tc  1  32  0 r  . .   8  8  8  8 .  .  2 24  8  0  0  0  0  8 1 None
0x129  0 tc  1  16  0 r  y .   5  5  5  1 .  .  2  0  0  0  0  0  0  0 0 None
0x12a  0 tc  1  16  0 r  y .   5  5  5  1 .  .  2  0  0  0  0  0  0  8 1 None
0x12b  0 tc  1  16  0 r  y .   5  5  5  1 .  .  2 16  0  0  0  0  0  0 0 None
0x12c  0 tc  1  16  0 r  y .   5  5  5  1 .  .  2 16  0  0  0  0  0  8 1 None
0x12d  0 tc  1  16  0 r  y .   5  5  5  1 .  .  2 24  0  0  0  0  0  0 0 None
0x12e  0 tc  1  16  0 r  y .   5  5  5  1 .  .  2 24  0  0  0  0  0  8 1 None
0x12f 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2  0  0  0  0  0  0  0 0 None
0x130 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2  0  0  0  0  0  0  8 1 None
0x131 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2 16  0  0  0  0  0  0 0 None
0x132 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2 16  0  0  0  0  0  8 1 None
0x133 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2 24  0  0  0  0  0  0 0 None
0x134 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2 24  0  0  0  0  0  8 1 None
0x135  0 tc  1  16  0 r  y .   5  5  5  1 .  .  2  0  8  0  0  0  0  0 0 None
0x136  0 tc  1  16  0 r  y .   5  5  5  1 .  .  2  0  8  0  0  0  0  8 1 None
0x137  0 tc  1  16  0 r  y .   5  5  5  1 .  .  2 16  8  0  0  0  0  0 0 None
0x138  0 tc  1  16  0 r  y .   5  5  5  1 .  .  2 16  8  0  0  0  0  8 1 None
0x139  0 tc  1  16  0 r  y .   5  5  5  1 .  .  2 24  8  0  0  0  0  0 0 None
0x13a  0 tc  1  16  0 r  y .   5  5  5  1 .  .  2 24  8  0  0  0  0  8 1 None
0x13b 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2  0  8  0  0  0  0  0 0 None
0x13c 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2  0  8  0  0  0  0  8 1 None
0x13d 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2 16  8  0  0  0  0  0 0 None
0x13e 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2 16  8  0  0  0  0  8 1 None
0x13f 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2 24  8  0  0  0  0  0 0 None
0x140 24 tc  1  32  0 r  y .   8  8  8  8 .  .  2 24  8  0  0  0  0  8 1 None
jeromegout commented 2 years ago

My version of OSX is 12.2.1

jeromegout commented 2 years ago

test 4 says:

ValueError: Requested OpenGL version 330, got version 0

Is it possible I don't have OpenGL on my machine? I'm using FreeCAD without any issue (I think it is based on Qt5, but I'm not sure)

jimy-byerley commented 2 years ago

That's bad news :-/ Your glxinfo says that you do have openGL but only in versions 1.4 and 1.2. And madcad needs >=3.3 ...

Yeah FreeCAD is built with Qt as madcad, but using VTK for its 3D graphics (and VTK relies on very old openGL version as far as I know) where madcad directly rely on openGL with its modern features. I designed madcad with those modern features to program, maintain more easily and have nicer renderings. Compatibility shouldn't have been an issue since 3.3 is now supported by all the GPUs since 2010-2015.

I'm afraid It won't work on your current OSX installation... For what I have read, OSX now supports openGL 4.1 and so you OSX 12 should be fine with madcad, but that support is limited to the GPUs that can run it. Is your machine GPU too old to support it ?

jimy-byerley commented 2 years ago

Here is for instance my own result of glxinfo You will notice that there is lines saying GLX version string: 4.6, ensuring madcad to work

name of display: :0
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
server glx extensions:
    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_framebuffer_sRGB, GLX_ARB_multisample, 
    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_libglvnd, GLX_EXT_no_config_context, 
    GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating, 
    GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer, GLX_OML_swap_method, 
    GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, 
    GLX_SGIX_visual_select_group, GLX_SGI_make_current_read, 
    GLX_SGI_swap_control
client glx vendor string: Mesa Project and SGI
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_framebuffer_sRGB, GLX_ARB_get_proc_address, GLX_ARB_multisample, 
    GLX_ATI_pixel_format_float, 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_no_config_context, GLX_EXT_swap_control, 
    GLX_EXT_swap_control_tear, GLX_EXT_texture_from_pixmap, 
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_INTEL_swap_event, 
    GLX_MESA_copy_sub_buffer, GLX_MESA_multithread_makecurrent, 
    GLX_MESA_query_renderer, GLX_MESA_swap_control, GLX_NV_float_buffer, 
    GLX_OML_swap_method, GLX_OML_sync_control, GLX_SGIS_multisample, 
    GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group, 
    GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync
GLX version: 1.4
GLX extensions:
    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_framebuffer_sRGB, 
    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_no_config_context, GLX_EXT_swap_control, 
    GLX_EXT_swap_control_tear, GLX_EXT_texture_from_pixmap, 
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_INTEL_swap_event, 
    GLX_MESA_copy_sub_buffer, GLX_MESA_query_renderer, GLX_MESA_swap_control, 
    GLX_OML_swap_method, GLX_OML_sync_control, GLX_SGIS_multisample, 
    GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group, 
    GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: AMD (0x1002)
    Device: AMD Radeon Vega 8 Graphics (raven, LLVM 13.0.0, DRM 3.41, 5.13.0-37-generic) (0x15d8)
    Version: 22.0.0
    Accelerated: yes
    Video memory: 2048MB
    Unified memory: no
    Preferred profile: core (0x1)
    Max core profile version: 4.6
    Max compat profile version: 4.6
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.2
Memory info (GL_ATI_meminfo):
    VBO free memory - total: 1620 MB, largest block: 1620 MB
    VBO free aux. memory - total: 2981 MB, largest block: 2981 MB
    Texture free memory - total: 1620 MB, largest block: 1620 MB
    Texture free aux. memory - total: 2981 MB, largest block: 2981 MB
    Renderbuffer free memory - total: 1620 MB, largest block: 1620 MB
    Renderbuffer free aux. memory - total: 2981 MB, largest block: 2981 MB
Memory info (GL_NVX_gpu_memory_info):
    Dedicated video memory: 2048 MB
    Total available memory: 5120 MB
    Currently available dedicated video memory: 1620 MB
OpenGL vendor string: AMD
OpenGL renderer string: AMD Radeon Vega 8 Graphics (raven, LLVM 13.0.0, DRM 3.41, 5.13.0-37-generic)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 22.0.0 - kisak-mesa PPA
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
    GL_AMD_conservative_depth, GL_AMD_depth_clamp_separate, 
    GL_AMD_draw_buffers_blend, GL_AMD_framebuffer_multisample_advanced, 
    GL_AMD_gpu_shader_int64, GL_AMD_multi_draw_indirect, 
    GL_AMD_performance_monitor, GL_AMD_pinned_memory, 
    GL_AMD_query_buffer_object, GL_AMD_seamless_cubemap_per_texture, 
    GL_AMD_shader_stencil_export, GL_AMD_shader_trinary_minmax, 
    GL_AMD_texture_texture4, GL_AMD_vertex_shader_layer, 
    GL_AMD_vertex_shader_viewport_index, GL_ANGLE_texture_compression_dxt3, 
    GL_ANGLE_texture_compression_dxt5, 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_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_shader, GL_ARB_framebuffer_no_attachments, 
    GL_ARB_framebuffer_object, GL_ARB_framebuffer_sRGB, 
    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_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_occlusion_query2, GL_ARB_parallel_shader_compile, 
    GL_ARB_pipeline_statistics_query, GL_ARB_pixel_buffer_object, 
    GL_ARB_point_sprite, GL_ARB_polygon_offset_clamp, 
    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_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_stencil_export, 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_420pack, GL_ARB_shading_language_include, 
    GL_ARB_shading_language_packing, 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_buffer_object, 
    GL_ARB_texture_buffer_object_rgb32, GL_ARB_texture_buffer_range, 
    GL_ARB_texture_compression_bptc, GL_ARB_texture_compression_rgtc, 
    GL_ARB_texture_cube_map_array, GL_ARB_texture_filter_anisotropic, 
    GL_ARB_texture_float, GL_ARB_texture_gather, 
    GL_ARB_texture_mirror_clamp_to_edge, 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_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_shader, 
    GL_ARB_vertex_type_10f_11f_11f_rev, GL_ARB_vertex_type_2_10_10_10_rev, 
    GL_ARB_viewport_array, GL_ATI_blend_equation_separate, GL_ATI_meminfo, 
    GL_ATI_texture_float, GL_ATI_texture_mirror_once, 
    GL_EXT_EGL_image_storage, GL_EXT_EGL_sync, GL_EXT_abgr, 
    GL_EXT_blend_equation_separate, GL_EXT_demote_to_helper_invocation, 
    GL_EXT_depth_bounds_test, GL_EXT_draw_buffers2, GL_EXT_draw_instanced, 
    GL_EXT_framebuffer_blit, GL_EXT_framebuffer_multisample, 
    GL_EXT_framebuffer_multisample_blit_scaled, GL_EXT_framebuffer_object, 
    GL_EXT_framebuffer_sRGB, GL_EXT_memory_object, GL_EXT_memory_object_fd, 
    GL_EXT_packed_depth_stencil, GL_EXT_packed_float, 
    GL_EXT_pixel_buffer_object, GL_EXT_polygon_offset_clamp, 
    GL_EXT_provoking_vertex, GL_EXT_semaphore, GL_EXT_semaphore_fd, 
    GL_EXT_shader_image_load_formatted, GL_EXT_shader_image_load_store, 
    GL_EXT_shader_integer_mix, GL_EXT_shader_samples_identical, 
    GL_EXT_texture_array, GL_EXT_texture_compression_dxt1, 
    GL_EXT_texture_compression_rgtc, GL_EXT_texture_compression_s3tc, 
    GL_EXT_texture_filter_anisotropic, GL_EXT_texture_integer, 
    GL_EXT_texture_mirror_clamp, 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_snorm, 
    GL_EXT_texture_swizzle, GL_EXT_timer_query, GL_EXT_transform_feedback, 
    GL_EXT_vertex_array_bgra, GL_EXT_vertex_attrib_64bit, 
    GL_EXT_window_rectangles, GL_IBM_multimode_draw_arrays, 
    GL_INTEL_blackhole_render, GL_KHR_blend_equation_advanced, 
    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_texture_compression_astc_ldr, 
    GL_KHR_texture_compression_astc_sliced_3d, GL_MESA_framebuffer_flip_y, 
    GL_MESA_pack_invert, GL_MESA_shader_integer_functions, 
    GL_MESA_texture_signed_rgba, GL_NVX_gpu_memory_info, 
    GL_NV_alpha_to_coverage_dither_control, GL_NV_compute_shader_derivatives, 
    GL_NV_conditional_render, GL_NV_copy_image, GL_NV_depth_clamp, 
    GL_NV_packed_depth_stencil, GL_NV_shader_atomic_int64, 
    GL_NV_texture_barrier, GL_NV_vdpau_interop, GL_OES_EGL_image, GL_S3_s3tc

OpenGL version string: 4.6 (Compatibility Profile) Mesa 22.0.0 - kisak-mesa PPA
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
OpenGL extensions:
    GL_AMD_conservative_depth, GL_AMD_depth_clamp_separate, 
    GL_AMD_draw_buffers_blend, GL_AMD_framebuffer_multisample_advanced, 
    GL_AMD_multi_draw_indirect, GL_AMD_performance_monitor, 
    GL_AMD_pinned_memory, GL_AMD_query_buffer_object, 
    GL_AMD_seamless_cubemap_per_texture, GL_AMD_shader_stencil_export, 
    GL_AMD_shader_trinary_minmax, GL_AMD_texture_texture4, 
    GL_AMD_vertex_shader_layer, GL_AMD_vertex_shader_viewport_index, 
    GL_ANGLE_texture_compression_dxt3, GL_ANGLE_texture_compression_dxt5, 
    GL_APPLE_packed_pixels, 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_framebuffer_no_attachments, 
    GL_ARB_framebuffer_object, GL_ARB_framebuffer_sRGB, 
    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_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_program_interface_query, GL_ARB_provoking_vertex, 
    GL_ARB_query_buffer_object, GL_ARB_robust_buffer_access_behavior, 
    GL_ARB_robustness, 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_stencil_export, 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_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_blend_equation_separate, 
    GL_ATI_draw_buffers, GL_ATI_fragment_shader, GL_ATI_meminfo, 
    GL_ATI_separate_stencil, GL_ATI_texture_compression_3dc, 
    GL_ATI_texture_env_combine3, GL_ATI_texture_float, 
    GL_ATI_texture_mirror_once, GL_EXT_EGL_image_storage, GL_EXT_EGL_sync, 
    GL_EXT_abgr, GL_EXT_bgra, 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_copy_texture, GL_EXT_demote_to_helper_invocation, 
    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_gpu_program_parameters, 
    GL_EXT_gpu_shader4, GL_EXT_memory_object, GL_EXT_memory_object_fd, 
    GL_EXT_multi_draw_arrays, 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_provoking_vertex, GL_EXT_rescale_normal, GL_EXT_secondary_color, 
    GL_EXT_semaphore, GL_EXT_semaphore_fd, GL_EXT_separate_specular_color, 
    GL_EXT_shader_image_load_formatted, GL_EXT_shader_image_load_store, 
    GL_EXT_shader_integer_mix, GL_EXT_shader_samples_identical, 
    GL_EXT_shadow_funcs, GL_EXT_stencil_two_side, GL_EXT_stencil_wrap, 
    GL_EXT_subtexture, GL_EXT_texture, 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_integer, GL_EXT_texture_lod_bias, 
    GL_EXT_texture_mirror_clamp, GL_EXT_texture_object, 
    GL_EXT_texture_rectangle, 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_snorm, 
    GL_EXT_texture_swizzle, GL_EXT_timer_query, GL_EXT_transform_feedback, 
    GL_EXT_vertex_array, GL_EXT_vertex_array_bgra, GL_EXT_vertex_attrib_64bit, 
    GL_EXT_window_rectangles, GL_IBM_multimode_draw_arrays, 
    GL_IBM_rasterpos_clip, GL_IBM_texture_mirrored_repeat, 
    GL_INGR_blend_func_separate, GL_INTEL_blackhole_render, 
    GL_KHR_blend_equation_advanced, 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_texture_compression_astc_ldr, 
    GL_KHR_texture_compression_astc_sliced_3d, GL_MESA_framebuffer_flip_y, 
    GL_MESA_pack_invert, GL_MESA_shader_integer_functions, 
    GL_MESA_texture_signed_rgba, GL_MESA_window_pos, GL_NVX_gpu_memory_info, 
    GL_NV_alpha_to_coverage_dither_control, GL_NV_blend_square, 
    GL_NV_compute_shader_derivatives, GL_NV_conditional_render, 
    GL_NV_copy_depth_to_color, GL_NV_copy_image, GL_NV_depth_clamp, 
    GL_NV_fog_distance, GL_NV_half_float, GL_NV_light_max_exponent, 
    GL_NV_packed_depth_stencil, GL_NV_primitive_restart, 
    GL_NV_shader_atomic_int64, GL_NV_texgen_reflection, GL_NV_texture_barrier, 
    GL_NV_texture_env_combine4, GL_NV_texture_rectangle, GL_NV_vdpau_interop, 
    GL_OES_EGL_image, GL_OES_read_format, GL_S3_s3tc, 
    GL_SGIS_generate_mipmap, GL_SGIS_texture_border_clamp, 
    GL_SGIS_texture_edge_clamp, GL_SGIS_texture_lod, GL_SUN_multi_draw_arrays

OpenGL ES profile version string: OpenGL ES 3.2 Mesa 22.0.0 - kisak-mesa PPA
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:
    GL_AMD_framebuffer_multisample_advanced, GL_AMD_performance_monitor, 
    GL_ANDROID_extension_pack_es31a, GL_ANGLE_pack_reverse_row_order, 
    GL_ANGLE_texture_compression_dxt3, GL_ANGLE_texture_compression_dxt5, 
    GL_APPLE_texture_max_level, GL_EXT_EGL_image_storage, 
    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_copy_image, GL_EXT_demote_to_helper_invocation, GL_EXT_depth_clamp, 
    GL_EXT_discard_framebuffer, GL_EXT_disjoint_timer_query, 
    GL_EXT_draw_buffers, GL_EXT_draw_buffers_indexed, 
    GL_EXT_draw_elements_base_vertex, GL_EXT_draw_instanced, 
    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_arrays, 
    GL_EXT_occlusion_query_boolean, GL_EXT_polygon_offset_clamp, 
    GL_EXT_primitive_bounding_box, GL_EXT_read_format_bgra, 
    GL_EXT_render_snorm, GL_EXT_robustness, 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_samples_identical, 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_compression_s3tc_srgb, 
    GL_EXT_texture_cube_map_array, GL_EXT_texture_filter_anisotropic, 
    GL_EXT_texture_format_BGRA8888, GL_EXT_texture_mirror_clamp_to_edge, 
    GL_EXT_texture_norm16, GL_EXT_texture_query_lod, GL_EXT_texture_rg, 
    GL_EXT_texture_sRGB_R8, GL_EXT_texture_sRGB_decode, 
    GL_EXT_texture_shadow_lod, GL_EXT_texture_type_2_10_10_10_REV, 
    GL_EXT_texture_view, GL_EXT_unpack_subimage, GL_EXT_window_rectangles, 
    GL_INTEL_blackhole_render, GL_KHR_blend_equation_advanced, 
    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_texture_compression_astc_ldr, 
    GL_KHR_texture_compression_astc_sliced_3d, GL_MESA_bgra, 
    GL_MESA_framebuffer_flip_y, GL_MESA_shader_integer_functions, 
    GL_NV_alpha_to_coverage_dither_control, GL_NV_compute_shader_derivatives, 
    GL_NV_conditional_render, GL_NV_draw_buffers, GL_NV_fbo_color_attachments, 
    GL_NV_image_formats, GL_NV_pixel_buffer_object, GL_NV_read_buffer, 
    GL_NV_read_depth, GL_NV_read_depth_stencil, GL_NV_read_stencil, 
    GL_OES_EGL_image, GL_OES_EGL_image_external, 
    GL_OES_EGL_image_external_essl3, GL_OES_EGL_sync, 
    GL_OES_compressed_ETC1_RGB8_texture, GL_OES_copy_image, GL_OES_depth24, 
    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_required_internalformat, 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_stencil8, GL_OES_surfaceless_context, 
    GL_OES_tessellation_point_size, GL_OES_tessellation_shader, 
    GL_OES_texture_3D, 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
jeromegout commented 2 years ago

My GPU are:

AMD Radeon R9 M370X 2 Go Intel Iris Pro 1536 Mo

My Machine is a Macbook pro 2.5Ghz 2015 ... old machine yes

jeromegout commented 2 years ago

I have to admit that I don't really understand all details of OpenGL. I see this stackoverflow answer:

https://stackoverflow.com/a/26982694

But I don't understand if I can update or not.

jimy-byerley commented 2 years ago

For what I read, you cannot update anything since you are on a macbook. However they are saying that glxinfo is not using NSOpenGL to retreive its informations, but Qt uses NSOpenGL according to the error messages you get. So maybe you could take a look at what opengl-viewer says ? as they recommend it to see what NSOpenGL supports

jeromegout commented 2 years ago

Hi @jimy-byerley

I did install and launch GLViewer. First when I open it, I see that the OpenGL version is 2.1 and without touching nothing after a couple of seconds it changes to 4.1. I can test openGL and it seems that 4.1 is installed. I have 3 renderers:

I can select the renderer I want to see details. All of them are marked as 4.1

Here is the report for AMD Radeon renderer:

Renderer: AMD Radeon R9 M370X 
OpenGL Engine
Vendor: ATI Technologies Inc.

Version: 4.1 ATI-4.8.13

Device: MacBookPro11,5

Shading language version: 4.10

Core features


v3.0 (100 % - 23/23)

v3.1 (100 % - 7/7)

v3.2 (100 % - 10/10)

v3.3 (100 % - 10/10)

v4.0 (100 % - 14/14)

v4.1 (100 % - 7/7)

v4.2 (0 % - 0/13)

v4.3 (0 % - 0/20)

v4.4 (0 % - 0/10)

v4.5 (0 % - 0/11)

v4.6 (0 % - 0/11)

vARB 2015 (0 % - 0/12)

OpenGL driver version check (Current: 4.1 ATI-4.8.13, Latest known: ):

Latest version of display drivers found
According the database, you are running the latest display drivers for your video card.


I've never used openGL myself so I'm lost in all this details. Anyway, thank you for your time

jimy-byerley commented 2 years ago

Well then I suppose Qt should be working with it then ... Strange that test 3 did not work ... Do you think you cat retry it with:

  1. explicitely disable context sharing

    replace the following line by the second

    #QApplication.setAttribute(Qt.AA_ShareOpenGLContexts, True)
    QApplication.setAttribute(Qt.AA_ShareOpenGLContexts, False)

    This should be the default with Qt by have no idea of what else we can try ...

jeromegout commented 2 years ago

With False doesn't work, but with True (QApplication.setAttribute(Qt.AA_ShareOpenGLContexts, True)) I have an other error:

/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/scipy/optimize/_lsq/least_squares.py:110: UserWarning: Setting `gtol` below the machine epsilon (2.22e-16) effectively disables the corresponding termination condition.
  warn("Setting `{}` below the machine epsilon ({:.2e}) effectively "
qt.qpa.openglcontext: Could not create NSOpenGLContext with shared context, falling back to unshared context.
size 0 0
size 800 800
tried to display <madcad.rendering.Displayable object at 0x11783bdf0>
Traceback (most recent call last):
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/rendering.py", line 688, in update
    self.displays[key] = scene.display(obj)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/rendering.py", line 603, in display
    disp = obj.display(self)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/rendering.py", line 643, in display
    return self.build(scene, *self.args, **self.kwargs)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/scheme.py", line 437, in __init__
    self.disp = build(1), build(-1)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/scheme.py", line 436, in build
    return scene.display(sch)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/rendering.py", line 601, in display
    disp = obj.display(self, obj)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/scheme.py", line 233, in __init__
    self.components = [(space,scene.display(obj))       for space,obj in sch.components]
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/scheme.py", line 233, in <listcomp>
    self.components = [(space,scene.display(obj))       for space,obj in sch.components]
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/rendering.py", line 603, in display
    disp = obj.display(self)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/text.py", line 48, in display
    return TextDisplay(scene, self.position, self.text, self.size, self.color, self.align)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/text.py", line 77, in __init__
    self.fonttex, self.fontalign = scene.ressource(('fonttex', size), load)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/rendering.py", line 584, in ressource
    res = func(self)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/text.py", line 75, in load
    img, align = create_font_texture(ImageFont.truetype(ressourcedir+'/NotoMono-Regular.ttf', 2*size))
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/PIL/ImageFont.py", line 855, in truetype
    return freetype(font)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/PIL/ImageFont.py", line 852, in freetype
    return FreeTypeFont(font, size, index, encoding, layout_engine)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/PIL/ImageFont.py", line 211, in __init__
    self.font = core.getfont(
OSError: cannot open resource
tried to display <madcad.scheme.Scheme object at 0x11783bc10>
Traceback (most recent call last):
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/rendering.py", line 688, in update
    self.displays[key] = scene.display(obj)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/rendering.py", line 601, in display
    disp = obj.display(self, obj)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/scheme.py", line 233, in __init__
    self.components = [(space,scene.display(obj))       for space,obj in sch.components]
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/scheme.py", line 233, in <listcomp>
    self.components = [(space,scene.display(obj))       for space,obj in sch.components]
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/rendering.py", line 603, in display
    disp = obj.display(self)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/text.py", line 48, in display
    return TextDisplay(scene, self.position, self.text, self.size, self.color, self.align)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/text.py", line 77, in __init__
    self.fonttex, self.fontalign = scene.ressource(('fonttex', size), load)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/rendering.py", line 584, in ressource
    res = func(self)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/text.py", line 75, in load
    img, align = create_font_texture(ImageFont.truetype(ressourcedir+'/NotoMono-Regular.ttf', 2*size))
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/PIL/ImageFont.py", line 855, in truetype
    return freetype(font)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/PIL/ImageFont.py", line 852, in freetype
    return FreeTypeFont(font, size, index, encoding, layout_engine)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/PIL/ImageFont.py", line 211, in __init__
    self.font = core.getfont(
OSError: cannot open resource
tried to display <madcad.scheme.Scheme object at 0x11783b3d0>
Traceback (most recent call last):
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/rendering.py", line 688, in update
    self.displays[key] = scene.display(obj)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/rendering.py", line 601, in display
    disp = obj.display(self, obj)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/scheme.py", line 233, in __init__
    self.components = [(space,scene.display(obj))       for space,obj in sch.components]
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/scheme.py", line 233, in <listcomp>
    self.components = [(space,scene.display(obj))       for space,obj in sch.components]
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/rendering.py", line 603, in display
    disp = obj.display(self)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/text.py", line 48, in display
    return TextDisplay(scene, self.position, self.text, self.size, self.color, self.align)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/text.py", line 77, in __init__
➜  implantology git:(master) ✗ /Users/jeromegout/dev/david/implantology/.venv/bin/python /Users/jeromegout/dev/david/implantology/src/nut.py
/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/scipy/optimize/_lsq/least_squares.py:110: UserWarning: Setting `gtol` below the machine epsilon (2.22e-16) effectively disables the corresponding termination condition.
  warn("Setting `{}` below the machine epsilon ({:.2e}) effectively "
qt.qpa.openglcontext: Could not create NSOpenGLContext with shared context, falling back to unshared context.
size 0 0
size 800 800
tried to display <madcad.rendering.Displayable object at 0x125ae4cd0>
Traceback (most recent call last):
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/rendering.py", line 688, in update
    self.displays[key] = scene.display(obj)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/rendering.py", line 603, in display
    disp = obj.display(self)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/rendering.py", line 643, in display
    return self.build(scene, *self.args, **self.kwargs)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/scheme.py", line 437, in __init__
    self.disp = build(1), build(-1)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/scheme.py", line 436, in build
    return scene.display(sch)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/rendering.py", line 601, in display
    disp = obj.display(self, obj)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/scheme.py", line 233, in __init__
    self.components = [(space,scene.display(obj))       for space,obj in sch.components]
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/scheme.py", line 233, in <listcomp>
    self.components = [(space,scene.display(obj))       for space,obj in sch.components]
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/rendering.py", line 603, in display
    disp = obj.display(self)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/text.py", line 48, in display
    return TextDisplay(scene, self.position, self.text, self.size, self.color, self.align)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/text.py", line 77, in __init__
    self.fonttex, self.fontalign = scene.ressource(('fonttex', size), load)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/rendering.py", line 584, in ressource
    res = func(self)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/text.py", line 75, in load
    img, align = create_font_texture(ImageFont.truetype(ressourcedir+'/NotoMono-Regular.ttf', 2*size))
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/PIL/ImageFont.py", line 855, in truetype
    return freetype(font)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/PIL/ImageFont.py", line 852, in freetype
    return FreeTypeFont(font, size, index, encoding, layout_engine)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/PIL/ImageFont.py", line 211, in __init__
    self.font = core.getfont(
OSError: cannot open resource
tried to display <madcad.scheme.Scheme object at 0x125ae4ca0>
Traceback (most recent call last):
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/rendering.py", line 688, in update
    self.displays[key] = scene.display(obj)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/rendering.py", line 601, in display
    disp = obj.display(self, obj)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/scheme.py", line 233, in __init__
    self.components = [(space,scene.display(obj))       for space,obj in sch.components]
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/scheme.py", line 233, in <listcomp>
    self.components = [(space,scene.display(obj))       for space,obj in sch.components]
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/rendering.py", line 603, in display
    disp = obj.display(self)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/text.py", line 48, in display
    return TextDisplay(scene, self.position, self.text, self.size, self.color, self.align)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/text.py", line 77, in __init__
    self.fonttex, self.fontalign = scene.ressource(('fonttex', size), load)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/rendering.py", line 584, in ressource
    res = func(self)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/text.py", line 75, in load
    img, align = create_font_texture(ImageFont.truetype(ressourcedir+'/NotoMono-Regular.ttf', 2*size))
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/PIL/ImageFont.py", line 855, in truetype
    return freetype(font)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/PIL/ImageFont.py", line 852, in freetype
    return FreeTypeFont(font, size, index, encoding, layout_engine)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/PIL/ImageFont.py", line 211, in __init__
    self.font = core.getfont(
OSError: cannot open resource
tried to display <madcad.scheme.Scheme object at 0x125ae4310>
Traceback (most recent call last):
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/rendering.py", line 688, in update
    self.displays[key] = scene.display(obj)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/rendering.py", line 601, in display
    disp = obj.display(self, obj)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/scheme.py", line 233, in __init__
    self.components = [(space,scene.display(obj))       for space,obj in sch.components]
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/scheme.py", line 233, in <listcomp>
    self.components = [(space,scene.display(obj))       for space,obj in sch.components]
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/rendering.py", line 603, in display
    disp = obj.display(self)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/text.py", line 48, in display
    return TextDisplay(scene, self.position, self.text, self.size, self.color, self.align)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/text.py", line 77, in __init__
    self.fonttex, self.fontalign = scene.ressource(('fonttex', size), load)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/rendering.py", line 584, in ressource
    res = func(self)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/madcad/text.py", line 75, in load
    img, align = create_font_texture(ImageFont.truetype(ressourcedir+'/NotoMono-Regular.ttf', 2*size))
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/PIL/ImageFont.py", line 855, in truetype
    return freetype(font)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/PIL/ImageFont.py", line 852, in freetype
    return FreeTypeFont(font, size, index, encoding, layout_engine)
  File "/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/PIL/ImageFont.py", line 211, in __init__
    self.font = core.getfont(
OSError: cannot open resource

Size is 800x800, promising. I did try also to force the openGL version to 4.1 (on top of render.py) without any success.

jeromegout commented 2 years ago

If you are interested to live debug this situation, we can setup a session where I can share my screen.

jimy-byerley commented 2 years ago

Interesting to see that enabling a non-supported option makes it work :thinking: ...

At least I know the cause of this new error: you are missing NotoMono-Regular.ttf So you can fix it by downloading the file and placing it in the madcad folder

I noticed last week it was missing from the latest source code package on pypi. It does affect all text annotations.

Not sure when I will have time for a live debug. I will tell you

jeromegout commented 2 years ago

Ok, right now, no more error of missing font but window remains empty.

jimy-byerley commented 2 years ago

ah ... is it empty with a pure black background, or is there any color ?

jeromegout commented 2 years ago

Pure black

granludo commented 2 years ago

Hi, I am having sort of the same problem (moving from issue 36) My OSX version is the latest and GLView tells me that I have OpenGL 4.1 installed.

jimy-byerley commented 2 years ago

"Now there is two of them ..." :sweat_smile: Welcome @granludo I'm sorry about this bug

@jeromegout Some more things to try if you can:

  1. redetect the framebuffer when h = 0

    Can you insert this instead of madcad.rendering.View.render

    def render(self):
      self.makeCurrent()
      if self.fb_screen.size == (0,0):
           self.init()
      assert self.fb_screen.size != (0,0)
      ViewCommon.render(self)
  2. can you give me the reports the eventual errors happenning in openGL ?

    Insert the following at the beginning and end of madcad.rendering.View.render

    def render(self):
      print('before rendering\n', self.scene.ctx.error)
      ...
      print('after rendering\n', self.scene.ctx.error)

    and at the end of madcad.rendering.View.init

    def init(self):
      ...    
      print('after init\n', self.scene.ctx.error)
jeromegout commented 2 years ago

Hi @jimy-byerley,

Welcome onboard @granludo ;-)

Here is the modified methods:

    def init(self):
        w, h = self.width(), self.height()

        ctx = self.scene.ctx
        assert ctx, 'context is not initialized'

        # self.fb_screen is already created and sized by Qt
        self.fb_screen = ctx.detect_framebuffer(
            self.defaultFramebufferObject())
        self.fb_ident = ctx.simple_framebuffer(
            (w, h), components=3, dtype='f1')
        self.targets = [('screen', self.fb_screen, self.setup_screen),
                        ('ident', self.fb_ident, self.setup_ident)]
        self.map_ident = np.empty((h, w), dtype='u2')
        self.map_depth = np.empty((h, w), dtype='f4')
        print('after init\n', self.scene.ctx.error)

    def render(self):
        print('before rendering\n', self.scene.ctx.error)
        self.makeCurrent()
        if self.fb_screen.size == (0, 0):
            self.init()
        assert self.fb_screen.size != (0, 0)
        ViewCommon.render(self)
        print('after rendering\n', self.scene.ctx.error)

Here is the traces:

/Users/jeromegout/dev/david/implantology/.venv/lib/python3.9/site-packages/scipy/optimize/_lsq/least_squares.py:110: UserWarning: Setting `gtol` below the machine epsilon (2.22e-16) effectively disables the corresponding termination condition.
  warn("Setting `{}` below the machine epsilon ({:.2e}) effectively "
qt.qpa.openglcontext: Could not create NSOpenGLContext with shared context, falling back to unshared context.
after init
 GL_NO_ERROR
before rendering
 GL_NO_ERROR
after init
 GL_NO_ERROR
size 800 800
after rendering
 GL_NO_ERROR
after init
 GL_NO_ERROR
before rendering
 GL_NO_ERROR
size 800 800
after rendering
 GL_NO_ERROR
before rendering
 GL_NO_ERROR
size 800 800
after rendering
 GL_NO_ERROR

Thanks

GenieTim commented 1 year ago

Sorry to pitch in here, (yes, now there's three of them) – was any of the fixes ever fruitfull?

jimy-byerley commented 1 year ago

Unfortunately, no ... as far as I know. And I still have no time to work on this problem. If someone reading this thread succeeded in some way, please let us know

Maybe a fallback method for rendering on macos could be offscreen rendering, then copying the GPU buffer to some Qt picture and refresh it in the window ... less efficient of course but this could bypass the issue of Qt with openGL :thinking:

jimy-byerley commented 1 year ago

Can some mac-osx users here try the branch of @GenieTim on the same machine they previously had problems to run pymadcad on ?

jimy-byerley commented 8 months ago

I will assume the fix worked