ptitSeb / gl4es

GL4ES is a OpenGL 2.1/1.5 to GL ES 2.0/1.1 translation library, with support for Pandora, ODroid, OrangePI, CHIP, Raspberry PI, Android, Emscripten and AmigaOS4.
http://ptitseb.github.io/gl4es/
MIT License
668 stars 151 forks source link

Amount of optimisations for different gpus #380

Closed Sisah2 closed 2 years ago

Sisah2 commented 2 years ago

Hello, i just want to ask, maybe stupid question. What is the amount of gl4es optimisations/exceptions for different gpus. I recently bought the device with the new xclipse 920 but it seems like it should perform better. Is there something i can try to do? Currently tested openmw (which is the only thing where i can test stuff/compile own build) it work "well", but not much faster than 3 years exynos chipset. The second thing is ion fury, which use gl4es too, yet there the performance is 2x-3x lower then on ex9825 (3 years old chipset).

ptitSeb commented 2 years ago

There is very little specific code per vendor in gl4es. Just some minium workaround, nothing related to optimisation. gl4es use extensions exposed by gles hardware driver to improved speed, som maybe the older driver exposed more extension? Also, are you sure your new hrdware have a more powerfull GPU than your older one?

Sisah2 commented 2 years ago

this new one should be a lot faster, yet it seems they dont bothered doing proper opengl es driver and just used angle instead. this is how gl4es initialization look on it. does it miss something important?

04-30 17:19:11.687 18272 18272 I LIBGL : v1.1.4 built on Apr 27 2022 16:34:31 04-30 17:19:11.687 18272 18272 I LIBGL : Using GLES 2.0 backend 04-30 17:19:11.694 18272 18272 I LIBGL : loaded: libGLESv2.so 04-30 17:19:11.694 18272 18272 I LIBGL : loaded: libEGL.so 04-30 17:19:11.695 18272 18272 I LIBGL : Using GLES 2.0 backend 04-30 17:19:11.698 18272 18272 I LIBGL : Hardware Full NPOT detected and used 04-30 17:19:11.698 18272 18272 I LIBGL : Extension GL_EXT_blend_minmax detected and used 04-30 17:19:11.698 18272 18272 I LIBGL : Extension GL_EXT_draw_buffers detected and used 04-30 17:19:11.698 18272 18272 I LIBGL : FBO are in core, and so used 04-30 17:19:11.698 18272 18272 I LIBGL : PointSprite are in core, and so used 04-30 17:19:11.698 18272 18272 I LIBGL : CubeMap are in core, and so used 04-30 17:19:11.698 18272 18272 I LIBGL : BlendColor is in core, and so used 04-30 17:19:11.698 18272 18272 I LIBGL : Blend Substract is in core, and so used 04-30 17:19:11.698 18272 18272 I LIBGL : Blend Function and Equation Separation is in core, and so used 04-30 17:19:11.698 18272 18272 I LIBGL : Texture Mirrored Repeat is in core, and so used 04-30 17:19:11.698 18272 18272 I LIBGL : Extension GL_OES_mapbuffer detected 04-30 17:19:11.698 18272 18272 I LIBGL : Extension GL_OES_element_index_uint detected and used 04-30 17:19:11.698 18272 18272 I LIBGL : Extension GL_OES_packed_depth_stencil detected and used 04-30 17:19:11.698 18272 18272 I LIBGL : Extension GL_OES_depth24 detected and used 04-30 17:19:11.698 18272 18272 I LIBGL : Extension GL_OES_rgb8_rgba8 detected and used 04-30 17:19:11.698 18272 18272 I LIBGL : Extension GL_EXT_texture_format_BGRA8888 detected and used 04-30 17:19:11.698 18272 18272 I LIBGL : Extension GL_OES_depth_texture detected and used 04-30 17:19:11.698 18272 18272 I LIBGL : Extension GL_OES_texture_stencil8 detected and used 04-30 17:19:11.698 18272 18272 I LIBGL : Extension GL_EXT_texture_rg detected and used 04-30 17:19:11.698 18272 18272 I LIBGL : Extension GL_OES_texture_float detected and used 04-30 17:19:11.698 18272 18272 I LIBGL : Extension GL_OES_texture_half_float detected and used 04-30 17:19:11.698 18272 18272 I LIBGL : Extension GL_EXT_color_buffer_float detected and used 04-30 17:19:11.698 18272 18272 I LIBGL : Extension GL_EXT_color_buffer_half_float detected and used 04-30 17:19:11.698 18272 18272 I LIBGL : high precision float in fragment shader available and used 04-30 17:19:11.698 18272 18272 I LIBGL : Extension GL_EXT_shader_texture_lod detected and used 04-30 17:19:11.712 18272 18272 I LIBGL : Extension GL_EXT_frag_depth detected and used 04-30 17:19:11.712 18272 18272 I LIBGL : Max vertex attrib: 16 04-30 17:19:11.712 18272 18272 I LIBGL : Extension GL_OES_standard_derivatives detected and used 04-30 17:19:11.712 18272 18272 I LIBGL : Extension GL_OES_get_program_binary detected and used 04-30 17:19:11.712 18272 18272 I LIBGL : Number of supported Program Binary Format: 1 04-30 17:19:11.712 18272 18272 I LIBGL : Max texture size: 16384 04-30 17:19:11.712 18272 18272 I LIBGL : Max Varying Vector: 30 04-30 17:19:11.712 18272 18272 I LIBGL : Texture Units: 16/16 (hardware: 32), Max lights: 8, Max planes: 6 04-30 17:19:11.712 18272 18272 I LIBGL : Extension GL_EXT_texture_filter_anisotropic detected and used 04-30 17:19:11.712 18272 18272 I LIBGL : Max Anisotropic filtering: 16 04-30 17:19:11.712 18272 18272 I LIBGL : Max Color Attachments: 8 / Draw buffers: 8 04-30 17:19:11.713 18272 18272 I LIBGL : Hardware vendor is Samsung Electronics Co., Ltd. 04-30 17:19:11.713 18272 18272 I LIBGL : GLSL 300 es supported 04-30 17:19:11.713 18272 18272 I LIBGL : GLSL 310 es supported and used 04-30 17:19:11.713 18272 18272 I LIBGL : sRGB surface supported 04-30 17:19:11.713 18272 18272 I LIBGL : EGLImage to Texture2D supported 04-30 17:19:11.713 18272 18272 I LIBGL : EGLImage to RenderBuffer supported 04-30 17:19:11.715 18272 18272 I LIBGL : Targeting OpenGL 2.1 04-30 17:19:11.715 18272 18272 I LIBGL : NPOT texture handled in hardware 04-30 17:19:11.715 18272 18272 I LIBGL : Not trying to batch small subsequent glDrawXXXX 04-30 17:19:11.715 18272 18272 I LIBGL : try to use VBO 04-30 17:19:11.715 18272 18272 I LIBGL : glX Will try to recycle EGL Surface 04-30 17:19:11.715 18272 18272 I LIBGL : Current folder is:/

Sisah2 commented 2 years ago

on old hardware its 04-30 17:55:46.764 7731 7731 I LIBGL : Initialising gl4es 04-30 17:55:46.764 7731 7731 I LIBGL : v1.1.4 built on Apr 23 2022 08:36:30 04-30 17:55:46.764 7731 7731 I LIBGL : Using GLES 2.0 backend 04-30 17:55:46.765 7731 7731 I LIBGL : loaded: libGLESv2.so 04-30 17:55:46.765 7731 7731 I LIBGL : loaded: libEGL.so 04-30 17:55:46.765 7731 7731 I LIBGL : Using GLES 2.0 backend 04-30 17:55:46.767 7731 7731 I LIBGL : Hardware Full NPOT detected and used 04-30 17:55:46.767 7731 7731 I LIBGL : Extension GL_EXT_blend_minmax detected and used 04-30 17:55:46.767 7731 7731 I LIBGL : FBO are in core, and so used 04-30 17:55:46.767 7731 7731 I LIBGL : PointSprite are in core, and so used 04-30 17:55:46.767 7731 7731 I LIBGL : CubeMap are in core, and so used 04-30 17:55:46.767 7731 7731 I LIBGL : BlendColor is in core, and so used 04-30 17:55:46.767 7731 7731 I LIBGL : Blend Substract is in core, and so used 04-30 17:55:46.767 7731 7731 I LIBGL : Blend Function and Equation Separation is in core, and so used 04-30 17:55:46.767 7731 7731 I LIBGL : Texture Mirrored Repeat is in core, and so used 04-30 17:55:46.767 7731 7731 I LIBGL : Extension GL_OES_mapbuffer detected 04-30 17:55:46.767 7731 7731 I LIBGL : Extension GL_OES_element_index_uint detected and used 04-30 17:55:46.767 7731 7731 I LIBGL : Extension GL_OES_packed_depth_stencil detected and used 04-30 17:55:46.767 7731 7731 I LIBGL : Extension GL_OES_depth24 detected and used 04-30 17:55:46.767 7731 7731 I LIBGL : Extension GL_OES_rgb8_rgba8 detected and used 04-30 17:55:46.767 7731 7731 I LIBGL : Extension GL_EXT_texture_format_BGRA8888 detected and used 04-30 17:55:46.767 7731 7731 I LIBGL : Extension GL_OES_depth_texture detected and used 04-30 17:55:46.767 7731 7731 I LIBGL : Extension GL_OES_texture_stencil8 detected and used 04-30 17:55:46.767 7731 7731 I LIBGL : Extension GL_EXT_texture_rg detected and used 04-30 17:55:46.767 7731 7731 I LIBGL : Extension GL_EXT_color_buffer_float detected and used 04-30 17:55:46.767 7731 7731 I LIBGL : Extension GL_EXT_color_buffer_half_float detected and used 04-30 17:55:46.767 7731 7731 I LIBGL : high precision float in fragment shader available and used 04-30 17:55:46.767 7731 7731 I LIBGL : Max vertex attrib: 16 04-30 17:55:46.767 7731 7731 I LIBGL : Extension GL_OES_standard_derivatives detected and used 04-30 17:55:46.767 7731 7731 I LIBGL : Extension GL_OES_get_program_binary detected and used 04-30 17:55:46.767 7731 7731 I LIBGL : Number of supported Program Binary Format: 1 04-30 17:55:46.767 7731 7731 I LIBGL : Max texture size: 8192 04-30 17:55:46.767 7731 7731 I LIBGL : Max Varying Vector: 15 04-30 17:55:46.767 7731 7731 I LIBGL : Texture Units: 16/16 (hardware: 16), Max lights: 8, Max planes: 6 04-30 17:55:46.767 7731 7731 I LIBGL : Extension GL_EXT_texture_filter_anisotropic detected and used 04-30 17:55:46.767 7731 7731 I LIBGL : Max Anisotropic filtering: 16 04-30 17:55:46.767 7731 7731 I LIBGL : Max Color Attachments: 1 / Draw buffers: 1 04-30 17:55:46.767 7731 7731 I LIBGL : Hardware vendor is ARM 04-30 17:55:46.783 7731 7731 I LIBGL : GLSL 300 es supported 04-30 17:55:46.783 7731 7731 I LIBGL : GLSL 310 es supported and used 04-30 17:55:46.783 7731 7731 I LIBGL : sRGB surface supported 04-30 17:55:46.783 7731 7731 I LIBGL : EGLImage to Texture2D supported 04-30 17:55:46.783 7731 7731 I LIBGL : EGLImage to RenderBuffer supported 04-30 17:55:46.783 7731 7731 I LIBGL : Targeting OpenGL 2.1 04-30 17:55:46.783 7731 7731 I LIBGL : NPOT texture handled in hardware 04-30 17:55:46.783 7731 7731 I LIBGL : Not trying to batch small subsequent glDrawXXXX 04-30 17:55:46.783 7731 7731 I LIBGL : try to use VBO 04-30 17:55:46.783 7731 7731 I LIBGL : glXMakeCurrent FBO workaround enabled 04-30 17:55:46.783 7731 7731 I LIBGL : FBO workaround for using binded texture enabled 04-30 17:55:46.783 7731 7731 I LIBGL : glX Will try to recycle EGL Surface 04-30 17:55:46.783 7731 7731 I LIBGL : Current folder is:/ 04-30 17:55:46.788 7731 7731 I LIBGL : Loaded a PSA with 305 Precompiled Programs