Skip to content

Instantly share code, notes, and snippets.

@jvcleave
Last active December 7, 2023 15:16
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jvcleave/8657864 to your computer and use it in GitHub Desktop.
Save jvcleave/8657864 to your computer and use it in GitHub Desktop.
Raspberry Pi GL extensions
source
http://pastebin.com/raw.php?i=Vnje5sEe
gcc -o eglinfo eglinfo.c -lEGL -lGLESv2 -I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -L/opt/vc/lib
EGL
Vendor: Broadcom
Version: 1.4
Client APIs: OpenGL_ES OpenVG
Extensions: EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap EGL_KHR_vg_parent_image EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_lock_surface
OpenGL ES
Vendor: Broadcom
Renderer: VideoCore IV HW
Version: OpenGL ES 2.0
GLSL version: OpenGL ES GLSL ES 1.00
Extensions: GL_OES_compressed_ETC1_RGB8_texture GL_OES_compressed_paletted_texture GL_OES_texture_npot GL_OES_depth24 GL_OES_vertex_half_float GL_OES_EGL_image GL_OES_EGL_image_external GL_EXT_discard_framebuffer GL_OES_rgb8_rgba8 GL_OES_depth32 GL_OES_mapbuffer GL_EXT_texture_format_BGRA8888 GL_APPLE_rgb_422 GL_EXT_debug_marker
Implementation limits:
GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS = 8
GL_MAX_CUBE_MAP_TEXTURE_SIZE = 2048
GL_MAX_FRAGMENT_UNIFORM_VECTORS = 136
GL_MAX_RENDERBUFFER_SIZE = 2048
GL_MAX_TEXTURE_IMAGE_UNITS = 8
GL_MAX_TEXTURE_SIZE = 2048
GL_MAX_VARYING_VECTORS = 8
GL_MAX_VERTEX_ATTRIBS = 8
GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS = 8
GL_MAX_VERTEX_UNIFORM_VECTORS = 136
GL_MAX_VIEWPORT_DIMS = 2048, 2048
@kylemcdonald
Copy link

For anyone wondering, this is for the Raspberry Pi 3. I just tested it.

Thanks Jason :)

@filipkotoucek
Copy link

works also on Raspberry pi 4. Custom distro, kernel 6.1.54. I would assume it should work on standard RpiOS also. Many thanks Jason!

EGL
  Vendor: Mesa Project
  Version: 1.4
  Client APIs: OpenGL OpenGL_ES 
  Extensions: EGL_ANDROID_blob_cache EGL_EXT_buffer_age EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_EXT_present_opaque EGL_EXT_swap_buffers_with_damage EGL_KHR_cl_event2 EGL_KHR_config_attribs EGL_KHR_create_context EGL_KHR_create_context_no_error EGL_KHR_fence_sync EGL_KHR_get_all_proc_addresses EGL_KHR_gl_colorspace EGL_KHR_gl_renderbuffer_image EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_3D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_image_base EGL_KHR_no_config_context EGL_KHR_reusable_sync EGL_KHR_surfaceless_context EGL_KHR_swap_buffers_with_damage EGL_EXT_pixel_format_float EGL_KHR_wait_sync EGL_MESA_configless_context EGL_MESA_drm_image EGL_MESA_image_dma_buf_export EGL_MESA_query_driver EGL_WL_bind_wayland_display EGL_WL_create_wayland_buffer_from_image 
OpenGL ES
  Vendor: Broadcom
  Renderer: V3D 4.2
  Version: OpenGL ES 3.1 Mesa 22.0.3
  GLSL version: OpenGL ES GLSL ES 3.10
  Extensions: GL_EXT_blend_minmax GL_EXT_multi_draw_arrays GL_EXT_texture_compression_s3tc GL_EXT_texture_compression_dxt1 GL_EXT_texture_format_BGRA8888 GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth24 GL_OES_element_index_uint GL_OES_fbo_render_mipmap GL_OES_mapbuffer GL_OES_rgb8_rgba8 GL_OES_standard_derivatives GL_OES_stencil8 GL_OES_texture_3D GL_OES_texture_float GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_texture_npot GL_OES_vertex_half_float GL_EXT_draw_instanced GL_EXT_texture_sRGB_decode GL_OES_EGL_image GL_OES_depth_texture GL_AMD_performance_monitor GL_OES_packed_depth_stencil GL_EXT_texture_type_2_10_10_10_REV GL_OES_get_program_binary GL_APPLE_texture_max_level GL_EXT_discard_framebuffer GL_EXT_read_format_bgra GL_EXT_frag_depth GL_NV_fbo_color_attachments GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_vertex_array_object GL_ANGLE_pack_reverse_row_order GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_EXT_occlusion_query_boolean GL_EXT_texture_rg GL_EXT_unpack_subimage GL_NV_draw_buffers GL_NV_read_buffer GL_NV_read_depth GL_NV_read_depth_stencil GL_NV_read_stencil GL_EXT_draw_buffers GL_EXT_map_buffer_range GL_KHR_debug GL_KHR_texture_compression_astc_ldr GL_NV_pixel_buffer_object GL_OES_depth_texture_cube_map GL_OES_required_internalformat GL_OES_surfaceless_context GL_EXT_color_buffer_float GL_EXT_sRGB_write_control GL_EXT_separate_shader_objects GL_EXT_shader_implicit_conversions GL_EXT_shader_integer_mix GL_EXT_base_instance GL_EXT_compressed_ETC1_RGB8_sub_texture GL_EXT_draw_elements_base_vertex GL_EXT_primitive_bounding_box GL_EXT_shader_io_blocks GL_EXT_texture_border_clamp GL_EXT_texture_view GL_KHR_context_flush_control GL_NV_image_formats GL_OES_draw_elements_base_vertex GL_OES_primitive_bounding_box GL_OES_shader_io_blocks GL_OES_texture_border_clamp GL_OES_texture_stencil8 GL_OES_texture_storage_multisample_2d_array GL_OES_texture_view GL_EXT_buffer_storage GL_EXT_float_blend GL_EXT_geometry_point_size GL_EXT_geometry_shader GL_KHR_no_error GL_KHR_texture_compression_astc_sliced_3d GL_OES_EGL_image_external_essl3 GL_OES_geometry_point_size GL_OES_geometry_shader GL_OES_shader_image_atomic GL_EXT_texture_compression_s3tc_srgb GL_MESA_shader_integer_functions GL_EXT_texture_mirror_clamp_to_edge GL_KHR_parallel_shader_compile GL_EXT_EGL_image_storage GL_MESA_framebuffer_flip_y GL_EXT_texture_query_lod GL_MESA_bgra 
  Implementation limits:
    GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS = 64
    GL_MAX_CUBE_MAP_TEXTURE_SIZE = 4096
    GL_MAX_FRAGMENT_UNIFORM_VECTORS = 4095
    GL_MAX_RENDERBUFFER_SIZE = 4096
    GL_MAX_TEXTURE_IMAGE_UNITS = 16
    GL_MAX_TEXTURE_SIZE = 4096
    GL_MAX_VARYING_VECTORS = 16
    GL_MAX_VERTEX_ATTRIBS = 16
    GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS = 16
    GL_MAX_VERTEX_UNIFORM_VECTORS = 4096
    GL_MAX_VIEWPORT_DIMS = 4096, 4096

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment