On Thu, 26 Dec 2013 16:49:27 +0100 Bruno Prémont <bonb...@linux-vserver.org>
said:

> On Thu, 26 December 2013 Carsten Haitzler (The Rasterman) wrote:
> > On Thu, 26 Dec 2013 13:59:40 +0100 Bruno Prémont said:
> > > On Thu, 26 December 2013 Carsten Haitzler (The Rasterman) wrote:
> > > > On Thu, 26 Dec 2013 12:30:49 +0100 Bruno Prémont said:
> > > > i855 is too old. no full shader support. evas requires proper  glsl
> > > > support u find in opengl 2.0 and on. notice you have only opengl 1.3 on
> > > > the i855. you're missing a "shading language version" string... etc.
> > > > 
> > > > ie ... that gpu is way too old. proper glsl shaders or no gl rendering
> > > > in evas. (it works on anything opengl2/opngles2 or better).
> > > 
> > > That's unfortunate. The CPU doing all the work makes system rather
> > > sluggish, especially for compositing in E.
> > > 
> > > What feature does the shading (glsl) bring (or what would be lost in
> > > operating without them - I have compositor effects disabled anyhow)?
> > 
> > the entire gl rendering engine is shader based. read up on opengl-es2. it is
> > ONLY shaders. no shader - no draw. in order to support gles2 sensible we
> > made the engine core all the same code. so since to support gles2 we need
> > to be entirely shader-only - we do the same for "desktop gl". doing
> > otherwise will increase the codebase significantly and be a lot of work to
> > support.
> > 
> > so there isn't a "well you lose a feature by not having shaders". you lose
> > the entire gl enigne.
> 
> Thanks, that's a fair explanation.
> 
> Would it be possible to extend the error message when refusing OpenGL
> to be slightly more verbose about what is missing or might be missing?
> Otherwise it's hard to find out what does not work.
> In my case, I have EVAS OpenGL support built in, my HW advertises OpenGL
> support - just not shader support which the message fails to mention.
> 
> On Enlightenment the error message should be extended by a few words,
> Original message:
>   Your display driver does not support OpenGL, or
>   no OpenGL engines were compiled or installed for
>   Evas or Ecore-Evas. Falling back to software engine.
> Improved message:
>   Your display driver does not support OpenGL shaders,
>   no OpenGL engines were compiled or installed for
>   Evas or Ecore-Evas. Falling back to software engine.
> or
>   Your display driver does not support OpenGL >= 1.4,
>   no OpenGL engines were compiled or installed for
>   Evas or Ecore-Evas. Falling back to software engine.
> 
> In addition it would help to log a warning in _evas_gl_common_version_check()
> so readers of stderr could determine what causes OpenGL to fail
> or not be available.

done. made the dialog more helpful. but i wont add stuff to stderr - already
got enough junk there. it's meant to be silent if someone tries to init gl and
it fails - it's not meant to be noisy as it may simply be a matter of trying
and then falling back with no ill effects.

> If I get the picture right, the only alternative to benefit from some
> HW acceleation on older hardware would be a separate engine (old-OpenGL
> or X-accel or the like - unless SoftwareX11 is already making use of as
> much accel as possible)?

yes. current engine is not just glsl based but uses gldrawarrays and a lot of
modernish features of gl to make things fast, and just to get things to work
"right", and then we'd have to go back and find alternatives for all of these
and have multiple code paths etc. so it could be done within the engine but
it'd be a lot fo work and raiser the maintenance burden for what is a rapdily
shrinking set of gpus that can't do shaders. every phone today does glsl... and
runs rings around that old machine u have in cpu speed too... that's the world
we live in. so if we are going to pay the price of gl, contexts, texture
atlases and more - we may as well use a half-way modern gpu as a baseline.
software rendering is still there - and it is still useful for many good
reasons and its use is not shrinking.

but yes - it would be possible to do a non-glsl engine for evas, but then
someone we trust to maintain it for many years to come had better make it AND
stick around to maintain it... and DO the maintenance. :)

and no - software-x1 uses no accel. its pure software only.

> Bruno
> 
> 
> > > > > Hi,
> > > > > 
> > > > > For me E18/evas says my system does not support OpenGL or Evas has no
> > > > > OpenGL support.
> > > > > I have both a i915GM and i855GM system with glxinfo as attached.
> > > > > Same compile flags are being used on both for efl/e18.
> > > > > 
> > > > > Why is OpenGL not being seen/used on the i855GM (compositing is rather
> > > > > slow when done by CPU)?
> > > > > 
> > > > > If some features are missing, isn't it possible to just disable
> > > > > corresponding visual effects?
> > > > > 
> > > > > Bruno
> > > > > 
> > > > > The different between the two:
> > > > > --- /tmp/glxinfo-i915GM       2013-12-16 19:59:45.476169559 +0100
> > > > > +++ /tmp/glxinfo-i855GM       2013-12-16 19:59:44.186141694 +0100
> > > > > @@ -14,9 +14,9 @@ client glx vendor string: Mesa Project a
> > > > >  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_create_context_robustness, GLX_ARB_fbconfig_float, 
> > > > >      GLX_ARB_framebuffer_sRGB, GLX_ARB_get_proc_address,
> > > > > GLX_ARB_multisample, 
> > > > > -    GLX_EXT_create_context_es2_profile, 
> > > > > +    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, @@ -28,7 +28,7 @@ GLX version: 1.4
> > > > >  GLX extensions:
> > > > >      GLX_ARB_create_context, GLX_ARB_create_context_profile, 
> > > > >      GLX_ARB_get_proc_address, GLX_ARB_multisample, 
> > > > > -    GLX_EXT_create_context_es2_profile, GLX_EXT_import_context, 
> > > > > +     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_swap_control, @@ -36,45 +36,44 @@ GLX extensions:
> > > > >      GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
> > > > > GLX_SGIX_visual_select_group, GLX_SGI_make_current_read,
> > > > > GLX_SGI_swap_control, GLX_SGI_video_sync OpenGL vendor string: Intel
> > > > > Open Source Technology Center -OpenGL renderer string: Mesa DRI Intel
> > > > > (R) 915GM x86/MMX/SSE2 -OpenGL version string: 1.4 Mesa 9.1.6
> > > > > +OpenGL renderer string: Mesa DRI Intel(R) 852GM/855GM x86/MMX/SSE2
> > > > > +OpenGL version string: 1.3 Mesa 9.2.4
> > > > >  OpenGL extensions:
> > > > >      GL_3DFX_texture_compression_FXT1,
> > > > > GL_ANGLE_texture_compression_dxt3, GL_ANGLE_texture_compression_dxt5,
> > > > > GL_APPLE_object_purgeable, GL_APPLE_packed_pixels,
> > > > > GL_APPLE_vertex_array_object, 
> > > > > -    GL_ARB_ES2_compatibility, GL_ARB_copy_buffer,
> > > > > GL_ARB_debug_output, 
> > > > > -    GL_ARB_depth_texture, GL_ARB_draw_buffers, 
> > > > > +     GL_ARB_copy_buffer, GL_ARB_debug_output, 
> > > > > +     GL_ARB_draw_buffers, 
> > > > >      GL_ARB_draw_elements_base_vertex,
> > > > > GL_ARB_explicit_attrib_location, 
> > > > > -    GL_ARB_fragment_program, GL_ARB_fragment_shader, 
> > > > >      GL_ARB_framebuffer_object, GL_ARB_get_program_binary, 
> > > > >      GL_ARB_half_float_pixel, GL_ARB_internalformat_query, 
> > > > >      GL_ARB_invalidate_subdata, GL_ARB_map_buffer_range,
> > > > > GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_pixel_buffer_object,
> > > > > GL_ARB_point_parameters, GL_ARB_point_sprite, GL_ARB_provoking_vertex,
> > > > > GL_ARB_robustness, GL_ARB_sampler_objects, GL_ARB_shader_objects, 
> > > > > -    GL_ARB_shading_language_100, GL_ARB_shadow, GL_ARB_sync, 
> > > > > +    GL_ARB_shading_language_100,  GL_ARB_sync, 
> > > > >      GL_ARB_texture_border_clamp, GL_ARB_texture_compression, 
> > > > >      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_mirrored_repeat, 
> > > > > -    GL_ARB_texture_non_power_of_two, GL_ARB_texture_rectangle, 
> > > > > +     GL_ARB_texture_rectangle, 
> > > > >      GL_ARB_texture_storage, GL_ARB_transpose_matrix, 
> > > > >      GL_ARB_vertex_array_object, GL_ARB_vertex_buffer_object, 
> > > > >      GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_ARB_window_pos, 
> > > > >      GL_ATI_blend_equation_separate, GL_ATI_draw_buffers, 
> > > > > -    GL_ATI_separate_stencil, GL_ATI_texture_env_combine3,
> > > > > GL_EXT_abgr, 
> > > > > +     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_draw_range_elements, GL_EXT_fog_coord,
> > > > > GL_EXT_framebuffer_blit, 
> > > > > -    GL_EXT_framebuffer_multisample, GL_EXT_framebuffer_object, 
> > > > > +     GL_EXT_framebuffer_object, 
> > > > >      GL_EXT_gpu_program_parameters, GL_EXT_multi_draw_arrays, 
> > > > >      GL_EXT_packed_depth_stencil, GL_EXT_packed_pixels, 
> > > > >      GL_EXT_pixel_buffer_object, GL_EXT_point_parameters, 
> > > > >      GL_EXT_polygon_offset, GL_EXT_provoking_vertex,
> > > > > GL_EXT_rescale_normal, GL_EXT_secondary_color,
> > > > > GL_EXT_separate_shader_objects, 
> > > > > -    GL_EXT_separate_specular_color, GL_EXT_shadow_funcs, 
> > > > > -    GL_EXT_stencil_two_side, GL_EXT_stencil_wrap, GL_EXT_subtexture, 
> > > > > +    GL_EXT_separate_specular_color, 
> > > > > +     GL_EXT_stencil_wrap, GL_EXT_subtexture, 
> > > > >      GL_EXT_texture, GL_EXT_texture3D,
> > > > > GL_EXT_texture_compression_dxt1, GL_EXT_texture_cube_map,
> > > > > GL_EXT_texture_edge_clamp, GL_EXT_texture_env_add,
> > > > > GL_EXT_texture_env_combine, @@ -84,7 +83,7 @@ OpenGL extensions:
> > > > >      GL_IBM_texture_mirrored_repeat, GL_INGR_blend_func_separate, 
> > > > >      GL_MESA_pack_invert, GL_MESA_window_pos, GL_MESA_ycbcr_texture, 
> > > > >      GL_NV_blend_square, GL_NV_light_max_exponent,
> > > > > GL_NV_packed_depth_stencil, 
> > > > > -    GL_NV_texgen_reflection, GL_NV_texture_env_combine4, 
> > > > > +    GL_NV_texgen_reflection, 
> > > > >      GL_NV_texture_rectangle, 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
> 


-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler)    ras...@rasterman.com


------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to