@kas1e
Quote:
But from another side, MiniGL have not many, but still, GL Extensions (about 20). That helps. OGLES2/Nova at moment have not many (if i understand things right).
Apparently you don't understand what those extensions actually mean. And that there's a reason why ogles2 doesn't report so many. Let me clear things up a bit:
Those are MiniGL's 22 possible extensions:
GL_MGL_packed_pixels
GL_EXT_packed_pixels
GL_EXT_bgra
GL_EXT_color_table
GL_EXT_vertex_array
GL_NV_texgen_reflection
GL_ARB_vertex_array_bgra
GL_ARB_multitexture
GL_EXT_compiled_vertex_arrays
GL_EXT_draw_range_elements
GL_EXT_texture_filter_anisotropic
GL_ARB_texture_env_combine
GL_EXT_texture_env_combine
GL_ARB_texture_env_crossbar
GL_ARB_texture_env_dot3
GL_EXT_texture_env_dot3
GL_ARB_texture_env_add
GL_EXT_texture_env_add
GL_ARB_vertex_buffer_object
GL_ARB_texture_compression
GL_EXT_texture_compression_s3tc
GL_S3_s3tc
Let's first remove the redundant ones which mean exactly the same, which means there are actually only 17:
GL_EXT_packed_pixels
GL_EXT_bgra
GL_EXT_color_table
GL_EXT_vertex_array
GL_NV_texgen_reflection
GL_ARB_vertex_array_bgra
GL_ARB_multitexture
GL_EXT_compiled_vertex_arrays
GL_EXT_draw_range_elements
GL_EXT_texture_filter_anisotropic
GL_EXT_texture_env_combine
GL_ARB_texture_env_crossbar
GL_EXT_texture_env_dot3
GL_EXT_texture_env_add
GL_ARB_vertex_buffer_object
GL_ARB_texture_compression
GL_EXT_texture_compression_s3tc
Now let's remove those which are
implicitely covered by ogles2 or which make no real sense in ogles2 because we got shaders.
Ooops, only 6 remaining...:
GL_EXT_packed_pixels
GL_EXT_color_table
GL_EXT_draw_range_elements
GL_EXT_texture_filter_anisotropic
GL_ARB_texture_compression
GL_EXT_texture_compression_s3tc
Out of those GL_EXT_texture_filter_anisotropic is covered by ogles2 explicitely too, so let's remove that too.
And from the special formats defined by GL_EXT_packed_pixels half (the most common) are supported implicitely, so that leaves us with 4,5 remaining:
(GL_EXT_packed_pixels)
GL_EXT_color_table
GL_EXT_draw_range_elements
GL_ARB_texture_compression
GL_EXT_texture_compression_s3tc
Now lets take a close look at those remaining ones:
- GL_ARB_texture_compression / GL_EXT_texture_compression_s3tc
Those are actually the only extension in MiniGL that give some additional value over ogles2 / Nova at this time.
- GL_EXT_draw_range_elements
This would be a nice extension - if MiniGL truely supported it. However, it does not: internally it simply calls glDrawElements. So the caller gains exactly nothing, it's a dummy. Nevertheless it would be a nice extension to ogles2 because it would spare me a min/max index detection run.
- GL_EXT_color_table
This feature is a pure software extension. It's not as if only an index-texture plus palette would be sent to the GPU. No, MiniGL internally converts it to one of the normal texture formats. MiniGL. What was the equivalent for MiniGL again? Right, gl4es. If you look for such an extension from the stoneage, expect it to be implemented in gl4es, not ogles2.
The point is:
the extension string reported by ogles2 is so short because practically everything is already inside ogles2 by default.
It is a mistake to expect ogles2 to return extension strings that are actually
meaningless to ogles2.
It's the
job of gl4es to translate those implicit and explicit features of ogles2 to OGL1 extensions.
Or put in different words:
if gl4es wanted / had implemented all that's supported, it could return an equally large extension string as MiniGL does... (actually it could most likely provide many more extensions with relative ease).
On top of that it sounds as if gl4es doesn't support true VBOs right now, which is something ogles2 offers by default too - and which is the big thing that gives superior performance.
Quote:
And take a look on what ones GL4ES driver _can_ support, if they found in the GLES2/Nova
No. All that stuff (with the exception of texture compression) is
implicitely inside ogles2. It is a
mistake by gl4es if it doesn't use those features / returns matching ext strings.
So, it looks as if I have to repeat myself again:
gl4es needs much more work before you can expect great performance. At this time it a) wastes time internally for whatever logic (we can measure that fact) and b) it doesn't actually use what ogles2 offers to speed things up, a short extension string is just another proof of that.
Sidenote: let's not be unfair and not forget that there are issues in ogles2 / Nova too (e.g. 4 component extension, maybe bug in ogles2 with certain glDrawElements pointer setups) which right now prevent gl4es to use ogles2 to full degree in terms of glDrawElements and certain shader setups.
Quote:
I not sure that guys who have 130 fps on the Radeon9250, have GART support. Did they ?
With practically absolute certainty, yes.
Quote:
What is so wrong in our side, that we have 50fps wiht glBegin/glEnd, and 100 with gldrawelements in minigl version.
Naturally even the best glBegin / glEnd implementation is much much slower than a direct glDrawElements, and gl4es' implementation is apparently not the fastest, simple as that.