Instead of calling the dispatcher directly. This will make sure all Translator's
internals (such as TextureData data) are updated properly.
This also fixes the bug in "Replica Island" - when the green robot was invisible,
because it's TextureData wasn't updated by doCompressedTexImage2D
The pointer to glTexImage2D is passed as a parameter to doCompressedTexImage2D,
otherwise Windows resolve the glTexImage2D symbol in the external libGL rather
than the translator's code. Longer term, we will remove the translator's link
to libGL, at which point this parameter will be removed.
Turns out that the previously commited versions of these files do not
allow for proper linking with a patched toolchain. With -shared, gcc complains
that:
.preinit_array section is not allowed in DSO
So use the versions from android-9/arch-arm instead, which seems to work fine.
Change-Id: I9aeaab449ddad058451c7d6493c983ab2ed1c4eb
This change adds crtbegin_so.o and crtend_so.o under
platforms/android-3/arch-arm/lib.
This is in preparation of another toolchain patch that will require
these files for all platform versions (for now, they are only defined
starting from android-9).
Note that these files are just copies of the existing ones, named
crtbegin_dynamic.o and crtend_android.o respectively.
The NDK build script will automatically use the new files if it finds
them, so shouldn't need to be updated.
Change-Id: I6a446266b54b871cd957dfd737054b302678b2d3
The getGlobalName function returns 0 on error. There are many places
were no error checking is done after calling it to get a shader or
program name. Typically this shouldn't be an issue, since the follwing
OpenGL call using a value of 0 will generated the required GL_INVALID_VALUE,
but this does not always happen.
Change-Id: I8edf2b152978ffd8626f8b4d778cc624f2a3bec3
This fixes a crash caused by covgl (on Nvidia linux driver) when our implementation
of glDrawTexOES calls glDrawArrays with GL_TEXTURE_COORD_ARRAY enabled - but none of texture
units are enabled and no data passed by glTexCoordPointer
Change-Id: Id28b0c35a5a17b139ab196db0e434d2f0a490132
The ARB_ES2_compatibility extension supports several GLES 2.0 enums
and functions on OpenGL 2.0. Seems it exists on nVidia drivers, but
not on ATI's. So implement its functionality in case it doesn't
exist on the host.
Change-Id: Id96f0c8036a7a7d36fca0c85ab5f57bf4b1583aa
in Windows platform we previously defined EGLNativeDisplaytype to be WinDisplay*
( this was defined in include/EGL/eglplatform.h) this was OK as long as we used the
the EGL_DEFAULT_DISPLAY as parameter for eglGetDisplay meaning we were generating
a native display by oureselv and wrapping it, but there was aproblem when we got the
EGLNativeDisplayType from the user (as HDC in Windows) but interpret it as WinDisplay*
this caused a big memory corupption.
so to overcome this problem we now define two types EGLNativeDisplayType to be
HDC and EGLNativeInternalDisplayTypeto be WinDisplay*, and when we get in eglGetDisplay
a parameter different from EGL_DEFAULT_DISPLAY we wrap it with the struct of WinDisplay
and return it to the user.
this change caused a change in all the declerations of EglOsApi.h changing
EGLNativeDisplayType -> EGLNativeInternalDisplayType
Change-Id: I3522c3d507b084c5c211e10ddb6f512d1b90c65e
This commit does few things:
1. Gets doCompressedTexImage2D out of the context and TextureUtils
2. Gets palette textures out of TextureUtils and into PaletteTexture
3. Makes TextureUtils generic for all compressed textures
4. Moves the glGet's dealing with compressed textures from GLEScontext to the impl.
Change-Id: Ibbde6968810a66a4f3488f3887ee3f015fc32c11