[Cogl] error getting GLES information

Marian Mihailescu mihailescu2m at gmail.com
Thu Oct 29 01:59:27 PDT 2015


I have tried both 1.20 and the latest 1.22 and I am getting this error:

# COGL_DEBUG=all ./hello

Cogl-Message: [OBJECT] cogl-context.c:81 & COGL Context NEW   0x377c8 1
Cogl-Message: [OBJECT] cogl-renderer.c:236 & COGL Renderer NEW   0x37f48 1
Cogl-Message: [OBJECT] cogl-output.c:42 & COGL Output NEW   0x4b010 1
Cogl-Message: [WINSYS] cogl-xlib-renderer.c:415 & Outputs:
Cogl-Message: [WINSYS] cogl-xlib-renderer.c:454 &      HDMI-1:
+0+0x1920x1080 mm=708x398 dpi=68.9x68.9 subpixel_order=horizontal_rgb
refresh_rate=60.000
Cogl-Message: [WINSYS] winsys/cogl-winsys-egl.c:181 &   EGL
Extensions: EGL_KHR_config_attribs EGL_KHR_image EGL_KHR_image_base
EGL_KHR_fence_sync EGL_KHR_wait_sync EGL_KHR_gl_colorspace
EGL_KHR_get_all_proc_addresses EGL_ARM_pixmap_multisample_discard
EGL_KHR_gl_texture_2D_image EGL_KHR_gl_renderbuffer_image
EGL_KHR_create_context EGL_KHR_surfaceless_context
EGL_KHR_gl_texture_cubemap_image EGL_KHR_cl_event2
EGL_KHR_image_pixmap
Cogl-Message: [OBJECT] cogl-display.c:51 & COGL Display NEW   0x28040 1
Cogl-Message: [OBJECT] cogl-swap-chain.c:44 & COGL SwapChain NEW   0x78800 1
Cogl-Message: [OBJECT] cogl-onscreen-template.c:46 & COGL
OnscreenTemplate NEW   0x78020 1
Cogl-Message: [WINSYS] winsys/cogl-winsys-egl.c:181 &   EGL
Extensions: EGL_KHR_config_attribs EGL_KHR_image EGL_KHR_image_base
EGL_KHR_fence_sync EGL_KHR_wait_sync EGL_KHR_gl_colorspace
EGL_KHR_get_all_proc_addresses EGL_ARM_pixmap_multisample_discard
EGL_KHR_gl_texture_2D_image EGL_KHR_gl_renderbuffer_image
EGL_KHR_create_context EGL_KHR_surfaceless_context
EGL_KHR_gl_texture_cubemap_image EGL_KHR_cl_event2
EGL_KHR_image_pixmap

(process:5446): GLib-CRITICAL **: g_strsplit: assertion 'string != NULL' failed
(process:5446): GLib-CRITICAL **: g_strjoinv: assertion 'str_array !=
NULL' failed
Cogl-Message: [WINSYS] driver/gl/gles/cogl-driver-gles.c:275 & Checking features
  GL_VENDOR: (null)
  GL_RENDERER: (null)
  GL_VERSION: (null)
  GL_EXTENSIONS: (null)
Segmentation fault

EGL extensions are OK, but not the GLES extensions.

On the same machine:

# es2_info

EGL_VERSION: 1.4 Midgard-"r5p1-00rel1"
EGL_VENDOR: ARM
EGL_EXTENSIONS:
    EGL_KHR_config_attribs, EGL_KHR_image, EGL_KHR_image_base,
    EGL_KHR_fence_sync, EGL_KHR_wait_sync, EGL_KHR_gl_colorspace,
    EGL_KHR_get_all_proc_addresses, EGL_ARM_pixmap_multisample_discard,
    EGL_KHR_gl_texture_2D_image, EGL_KHR_gl_renderbuffer_image,
    EGL_KHR_create_context, EGL_KHR_surfaceless_context,
    EGL_KHR_gl_texture_cubemap_image, EGL_KHR_cl_event2, EGL_KHR_image_pixmap
EGL_CLIENT_APIS: OpenGL_ES
GL_VERSION: OpenGL ES 3.1
GL_RENDERER: Mali-T628
GL_EXTENSIONS:
    GL_ARM_rgba8, GL_ARM_mali_shader_binary, GL_OES_depth24,
    GL_OES_depth_texture, GL_OES_depth_texture_cube_map,
    GL_OES_packed_depth_stencil, GL_OES_rgb8_rgba8, GL_EXT_read_format_bgra,
    GL_OES_compressed_paletted_texture, GL_OES_compressed_ETC1_RGB8_texture,
    GL_OES_standard_derivatives, GL_OES_EGL_image, GL_OES_EGL_image_external,
    GL_OES_EGL_sync, GL_OES_texture_npot, GL_OES_vertex_half_float,
    GL_OES_required_internalformat, GL_OES_vertex_array_object,
    GL_OES_mapbuffer, GL_EXT_texture_format_BGRA8888, GL_EXT_texture_rg,
    GL_EXT_texture_type_2_10_10_10_REV, GL_OES_fbo_render_mipmap,
    GL_OES_element_index_uint, GL_EXT_shadow_samplers,
    GL_OES_texture_compression_astc, GL_KHR_texture_compression_astc_ldr,
    GL_KHR_texture_compression_astc_hdr, GL_KHR_debug,
    GL_EXT_occlusion_query_boolean, GL_EXT_disjoint_timer_query,
    GL_EXT_blend_minmax, GL_EXT_discard_framebuffer,
    GL_OES_get_program_binary, GL_OES_texture_3D, GL_EXT_texture_storage,
    GL_EXT_multisampled_render_to_texture, GL_OES_surfaceless_context,
    GL_OES_texture_stencil8, GL_EXT_shader_pixel_local_storage,
    GL_ARM_shader_framebuffer_fetch,
    GL_ARM_shader_framebuffer_fetch_depth_stencil, GL_ARM_mali_program_binary,
    GL_EXT_sRGB, GL_EXT_sRGB_write_control, GL_EXT_texture_sRGB_decode,
    GL_KHR_blend_equation_advanced,
    GL_OES_texture_storage_multisample_2d_array, GL_OES_shader_image_atomic


The segmentation fault is when splitting the GL_EXTENSIONS:

      const char *all_extensions =
        (const char *) context->glGetString (GL_EXTENSIONS);
      ret = g_strsplit (all_extensions, " ", 0 /* max tokens */);
(gdb) p all_extensions
$92 = 0x0
(gdb) p *context
$94 = {_parent = {klass = 0xb6fc60d0 <_cogl_context_class>,
user_data_entry = {{key = 0x0, user_data = 0x0, destroy = 0x0}, {key =
0x0, user_data = 0x0, destroy = 0x0}}, user_data_array = 0x0,
n_user_data_entries = 0, ref_count = 1},
  display = 0x37c10, driver = COGL_DRIVER_GLES2, gpu = {vendor =
COGL_GPU_INFO_VENDOR_UNKNOWN, vendor_name = 0x0, driver_package =
COGL_GPU_INFO_DRIVER_PACKAGE_UNKNOWN, driver_package_name = 0x0,
driver_package_version = 0,
    architecture = COGL_GPU_INFO_ARCHITECTURE_UNKNOWN,
architecture_name = 0x0, architecture_flags =
COGL_GPU_INFO_ARCHITECTURE_FLAG_VERTEX_IMMEDIATE_MODE, driver_bugs =
(unknown: 0)}, driver_vtable = 0xb6fc4d70 <_cogl_driver_gles>,
  texture_driver = 0xb6fc2de4 <_cogl_texture_driver_gles>, glsl_major
= 0, glsl_minor = 0, glsl_version_to_use = 0, features = {0},
feature_flags = (unknown: 0), private_features = {872415232},
needs_viewport_scissor_workaround = 0,
  viewport_scissor_workaround_framebuffer = 0x0, default_pipeline =
0x0, default_layer_0 = 0x0, default_layer_n = 0x0,
dummy_layer_dependant = 0x0, attribute_name_states_hash = 0x0,
attribute_name_index_map = 0x0,
  n_attribute_names = 0, enabled_builtin_attributes = 0x0,
enabled_texcoord_attributes = 0x0, enabled_custom_attributes = 0x0,
enable_builtin_attributes_tmp = 0x0, enable_texcoord_attributes_tmp =
0x0,
  enable_custom_attributes_tmp = 0x0, changed_bits_tmp = 0x0,
legacy_backface_culling_enabled = 0, identity_matrix = {xx = 0, yx =
0, zx = 0, wx = 0, xy = 0, yy = 0, zy = 0, wy = 0, xz = 0, yz = 0, zz
= 0, wz = 0, xw = 0, yw = 0,
    zw = 0, ww = 0, inv = {0 <repeats 16 times>}, type = 0, flags = 0,
_padding3 = 0}, y_flip_matrix = {xx = 0, yx = 0, zx = 0, wx = 0, xy =
0, yy = 0, zy = 0, wy = 0, xz = 0, yz = 0, zz = 0, wz = 0, xw = 0, yw
= 0, zw = 0, ww = 0,
    inv = {0 <repeats 16 times>}, type = 0, flags = 0, _padding3 = 0},
flushed_matrix_mode = COGL_MATRIX_MODELVIEW, current_projection_entry
= 0x0, current_modelview_entry = 0x0, identity_entry = {parent = 0x0,
    op = COGL_MATRIX_OP_LOAD_IDENTITY, ref_count = 0, composite_gets =
0}, builtin_flushed_projection = {entry = 0x0, flushed_identity = 0,
flipped = 0}, builtin_flushed_modelview = {entry = 0x0,
flushed_identity = 0, flipped = 0},
  texture_units = 0x0, active_texture_unit = 0, legacy_fog_state =
{enabled = 0, color = {red = 0 '\000', green = 0 '\000', blue = 0
'\000', alpha = 0 '\000', padding0 = 0, padding1 = 0, padding2 = 0},
mode = COGL_FOG_MODE_LINEAR,
    density = 0, z_near = 0, z_far = 0}, opaque_color_pipeline = 0x0,
blended_color_pipeline = 0x0, texture_pipeline = 0x0,
codegen_header_buffer = 0x0, codegen_source_buffer = 0x0,
codegen_boilerplate_buffer = 0x0, source_stack = 0x0,
  legacy_state_set = 0, pipeline_cache = 0x0,
default_gl_texture_2d_tex = 0x0, default_gl_texture_3d_tex = 0x0,
default_gl_texture_rect_tex = 0x0, framebuffers = 0x0,
journal_flush_attributes_array = 0x0, journal_clip_bounds = 0x0,
  polygon_vertices = 0x0, current_pipeline = 0x0,
current_pipeline_changes_since_flush = 0,
current_pipeline_with_color_attrib = 0,
current_pipeline_unknown_color_alpha = 0, current_pipeline_age = 0,
gl_blend_enable_cache = 0,
  depth_test_enabled_cache = 0, depth_test_function_cache = 0,
depth_writing_enabled_cache = 0, depth_range_near_cache = 0,
depth_range_far_cache = 0, legacy_depth_test_enabled = 0,
current_buffer = {0x0, 0x0, 0x0, 0x0},
  framebuffer_stack = 0x0, window_buffer = 0x0,
current_draw_buffer_state_flushed = 0, current_draw_buffer_changes =
0, current_draw_buffer = 0x0, current_read_buffer = 0x0,
have_last_offscreen_allocate_flags = 0,
  last_offscreen_allocate_flags = (unknown: 0), swap_callback_closures
= 0x0, next_swap_callback_id = 0, onscreen_events_queue = {prev = 0x0,
next = 0x0}, onscreen_dirty_queue = {prev = 0x0, next = 0x0},
onscreen_dispatch_idle = 0x0,
  current_gles2_context = 0x0, gles2_context_stack = {head = 0x0, tail
= 0x0, length = 0}, was_bound_to_onscreen = 0, current_path = 0x0,
stencil_pipeline = 0x0, quad_buffer_indices_byte = 0x0,
quad_buffer_indices_len = 0,
  quad_buffer_indices = 0x0, rectangle_byte_indices = 0x0,
rectangle_short_indices = 0x0, rectangle_short_indices_len = 0,
in_begin_gl_block = 0, texture_download_pipeline = 0x0,
blit_texture_pipeline = 0x0, atlases = 0x0,
  atlas_reorganize_callbacks = {seq_id = 0, hook_size = 0, is_setup =
0, hooks = 0x0, dummy3 = 0x0, finalize_hook = 0x0, dummy = {0x0,
0x0}}, journal_rectangles_color = 0 '\000', max_texture_units = 0,
max_texture_image_units = 0,
  max_activateable_texture_units = 0, current_program = 0x0,
current_fragment_program_type = 0, current_vertex_program_type = 0,
current_gl_program = 0, current_gl_dither_enabled = 0,
current_gl_color_mask = COGL_COLOR_MASK_NONE,
  current_gl_draw_buffer = 0, current_clip_stack_valid = 0,
current_clip_stack = 0x0, current_clip_stack_uses_stencil = 0,
buffer_map_fallback_array = 0x0, buffer_map_fallback_in_use = 0,
buffer_map_fallback_offset = 0,
  rectangle_state = COGL_WINSYS_RECTANGLE_STATE_UNKNOWN, sampler_cache
= 0x0, damage_base = 0, event_filters = 0x0, trap_state = 0x0,
winsys_features = {0}, winsys = 0x4a7c0, uniform_names = 0x0,
uniform_name_hash = 0x0,
  n_uniform_names = 0, fences_poll_source = 0x0, fences = {prev = 0x0,
next = 0x0}, glBindTexture = 0x0, glBlendFunc = 0x0, glClear = 0x0,
glClearColor = 0x0, glClearStencil = 0x0, glColorMask = 0x0,
glCopyTexSubImage2D = 0x0,
  glDeleteTextures = 0x0, glDepthFunc = 0x0, glDepthMask = 0x0,
glDisable = 0x0, glDrawArrays = 0x0, glDrawElements = 0x0, glEnable =
0x0, glFinish = 0x0, glFlush = 0x0, glFrontFace = 0x0, glCullFace =
0x0, glGenTextures = 0x0,
  glGetError = 0x0, glGetIntegerv = 0x0, glGetBooleanv = 0x0,
glGetFloatv = 0x0, glGetString = 0xb455892d <glGetString>, glHint =
0x0, glIsTexture = 0x0, glPixelStorei = 0x0, glReadPixels = 0x0,
glScissor = 0x0, glStencilFunc = 0x0,
  glStencilMask = 0x0, glStencilOp = 0x0, glTexImage2D = 0x0,
glTexParameterf = 0x0, glTexParameterfv = 0x0, glTexParameteri = 0x0,
glTexParameteriv = 0x0, glGetTexParameterfv = 0x0, glGetTexParameteriv
= 0x0, glTexSubImage2D = 0x0,
  glCopyTexImage2D = 0x0, glViewport = 0x0, glIsEnabled = 0x0,
glLineWidth = 0x0, glPolygonOffset = 0x0, glClipPlanef = 0x0,
glClientActiveTexture = 0x0, glGenRenderbuffers = 0x0,
glDeleteRenderbuffers = 0x0, glBindRenderbuffer = 0x0,
  glRenderbufferStorage = 0x0, glGenFramebuffers = 0x0,
glBindFramebuffer = 0x0, glFramebufferTexture2D = 0x0,
glFramebufferRenderbuffer = 0x0, glIsRenderbuffer = 0x0,
glCheckFramebufferStatus = 0x0, glDeleteFramebuffers = 0x0,
  glGenerateMipmap = 0x0, glGetFramebufferAttachmentParameteriv = 0x0,
glGetRenderbufferParameteriv = 0x0, glIsFramebuffer = 0x0,
glBlendEquation = 0x0, glBlendColor = 0x0, glBlendFuncSeparate = 0x0,
glBlendEquationSeparate = 0x0,
  glReleaseShaderCompiler = 0x0, glGetShaderPrecisionFormat = 0x0,
glShaderBinary = 0x0, glStencilFuncSeparate = 0x0,
glStencilMaskSeparate = 0x0, glStencilOpSeparate = 0x0, glDepthRangef
= 0x0, glClearDepthf = 0x0,
  glCompressedTexImage2D = 0x0, glCompressedTexSubImage2D = 0x0,
glSampleCoverage = 0x0, glGetBufferParameteriv = 0x0, glGenBuffers =
0x0, glBindBuffer = 0x0, glBufferData = 0x0, glBufferSubData = 0x0,
glDeleteBuffers = 0x0,
  glIsBuffer = 0x0, glActiveTexture = 0x0, glAlphaFunc = 0x0, glFogf =
0x0, glFogfv = 0x0, glLoadMatrixf = 0x0, glMaterialfv = 0x0,
glPointSize = 0x0, glTexEnvfv = 0x0, glColor4ub = 0x0, glColor4f =
0x0, glColorPointer = 0x0,
  glDisableClientState = 0x0, glEnableClientState = 0x0,
glLoadIdentity = 0x0, glMatrixMode = 0x0, glNormal3f = 0x0,
glNormalPointer = 0x0, glMultiTexCoord4f = 0x0, glTexCoordPointer =
0x0, glTexEnvi = 0x0, glVertex4f = 0x0,
  glVertexPointer = 0x0, glCreateProgram = 0x0, glCreateShader = 0x0,
glDeleteShader = 0x0, glAttachShader = 0x0, glUseProgram = 0x0,
glDeleteProgram = 0x0, glGetShaderInfoLog = 0x0, glGetProgramInfoLog =
0x0, glGetShaderiv = 0x0,
  glGetProgramiv = 0x0, glDetachShader = 0x0, glGetAttachedShaders =
0x0, glIsShader = 0x0, glIsProgram = 0x0, glShaderSource = 0x0,
glCompileShader = 0x0, glLinkProgram = 0x0, glGetUniformLocation =
0x0, glUniform1f = 0x0,
  glUniform2f = 0x0, glUniform3f = 0x0, glUniform4f = 0x0,
glUniform1fv = 0x0, glUniform2fv = 0x0, glUniform3fv = 0x0,
glUniform4fv = 0x0, glUniform1i = 0x0, glUniform2i = 0x0, glUniform3i
= 0x0, glUniform4i = 0x0, glUniform1iv = 0x0,
  glUniform2iv = 0x0, glUniform3iv = 0x0, glUniform4iv = 0x0,
glUniformMatrix2fv = 0x0, glUniformMatrix3fv = 0x0, glUniformMatrix4fv
= 0x0, glGetUniformfv = 0x0, glGetUniformiv = 0x0, glGetActiveUniform
= 0x0, glGetShaderSource = 0x0,
  glValidateProgram = 0x0, glVertexAttribPointer = 0x0,
glEnableVertexAttribArray = 0x0, glDisableVertexAttribArray = 0x0,
glVertexAttrib1f = 0x0, glVertexAttrib1fv = 0x0, glVertexAttrib2f =
0x0, glVertexAttrib2fv = 0x0,
  glVertexAttrib3f = 0x0, glVertexAttrib3fv = 0x0, glVertexAttrib4f =
0x0, glVertexAttrib4fv = 0x0, glGetVertexAttribfv = 0x0,
glGetVertexAttribiv = 0x0, glGetVertexAttribPointerv = 0x0,
glGetAttribLocation = 0x0,
  glBindAttribLocation = 0x0, glGetActiveAttrib = 0x0,
glGetTexLevelParameteriv = 0x0, glGetTexImage = 0x0, glClipPlane =
0x0, glDepthRange = 0x0, glDrawBuffer = 0x0, glMapBuffer = 0x0,
glUnmapBuffer = 0x0, glTexImage3D = 0x0,
  glTexSubImage3D = 0x0, glBlitFramebuffer = 0x0, glGenPrograms = 0x0,
glDeletePrograms = 0x0, glBindProgram = 0x0, glProgramString = 0x0,
glProgramLocalParameter4fv = 0x0, glEGLImageTargetTexture2D = 0x0,
  glEGLImageTargetRenderbufferStorage = 0x0, glDiscardFramebuffer =
0x0, glRenderbufferStorageMultisampleIMG = 0x0,
glFramebufferTexture2DMultisampleIMG = 0x0, glGenSamplers = 0x0,
glDeleteSamplers = 0x0, glBindSampler = 0x0,
  glSamplerParameteri = 0x0, glCreateProgramObject = 0x0,
glCreateShaderObject = 0x0, glDeleteObject = 0x0, glAttachObject =
0x0, glUseProgramObject = 0x0, glGetInfoLog = 0x0,
glGetObjectParameteriv = 0x0, glDetachObject = 0x0,
  glGetAttachedObjects = 0x0, glGetStringi = 0x0, glBindVertexArray =
0x0, glDeleteVertexArrays = 0x0, glGenVertexArrays = 0x0,
glMapBufferRange = 0x0, glFenceSync = 0x0, glClientWaitSync = 0x0,
glDeleteSync = 0x0, glDrawBuffers = 0x0}


Either I've been missing something or nothing has been going on. (K. E. Gordon)


More information about the Cogl mailing list