Copied the etc1 implementation from frameworks/base/opengl/libs/ETC1
to the translator common library, this is for keeping the translator
be independant.
Added support for ETC1 compressed textures in both GLESv1 and GLESv2
which is needed for some applications. (Cordy).
Change-Id: Ie615ed82896cb36c42fa640b83d9e93b723b3b80
Fixed management of DC's, use one DC for each egl config as before
but use the correct one every time and not the last one used during
createContext call.
Filter out GENERIC pixel formats which might not be supported by
accelerated hardware.
Prevent calling to ChoosePixelFormat at every create{window/pbuffer}
call, instead use the exact config specified by the caller. We
need to call at least once to wglChoosePixelFormat in order to let
the driver initialize, we do it during eglInitialize time just before
querying the native pixel formats.
Change-Id: Id00addaed9cb0369c41311d2bcd3ce8c7ea6408c
The EGL_CONFIG_ID attribute should be uniqueue for each
config, at some cases we duplicate a configuration in
order to simulate different pixel format (RGB_565) at that
case we want to keep the native config_id of the backend
OpenGL the same on both configs.
This change adds extra attribute 'native_config_id' for that
purpose.
Change-Id: I7e560a4badd01d146b9753cee603ff4707ccfd7f
Sometimes we need to check parameter values before encoding
to prevent crashes, for example:
glDeleteBufferes(-1, ptr); - would crash
For that we need to check some gl errors on the guest.
The change adds error state to the encoder and also
adds new feature to emugen which allows to insert
parameter check code into the attribute file.
Added such parameter check code in the appropiate
gl functions in gl.attrib and gl2.attrib
Change-Id: I7f317df52ac8fbd96979100a1031cf023a0b49d3
Fixes windows build found after clean build.
the emugen tool does not built on windows. For
windows build we need to use the build host executable.
(that works for mingw builds since it uses the linux exeutable).
Change-Id: I6a0cc6936d4b9f11f074695066b800e12156fd83
This is a debugging tool which enables to dump the guest
command stream to a file which can be later be examined
and "played" using a seperate tool.
Change-Id: I3fec19c1a651f0ed4394c33a0c0cd9ba54384355
That fixes the alpha and GUI components artifacts in Cordy.
The translator has ignored the 'normalized' argument of
glVertexAttribPointer function in GLESv2.
We now use the supplied value when applying the vertex attributes
to the backend OpenGL so that non-float color vertex attributes
are now normalized.
Change-Id: Idffda33225748276144ed70d2dcf4da17219d1d2
for supporting & storing spesific OS data of the surfaces
for example on Windows platform it is needed to save for each windowSurface
the HWNDL & HDC of the native window, this change caused changes in the EglOsApi
interface
On windows it is not possible to create a context which
shares with another context if the other context is already
current to some thread.
This change makes the "global context" be a dummy context
on windows which we create during the first createContext
call, this dummy context will never bind to any thread so
it is safe to share with it at any time.
On windows we need to have a thread on the renderer process
which handles windows messages sent to the subwindow
we are creating during framebuffer initialization.
We run this message pump in the main renderer thread
and the server listener on a seperate thread.
The following enables the renderer build on darwin.
Moved platform specific type declarations from render_api.h
to render_api_platform_types.h so it can be included from the
objective c code.
Fixed subwindow to use EmuGLView which overrides NSView to prevent
background drawing of the view.
Mac specific bug fix to support unbinding a context.
Removed NSOpenGLContext:clearDrawable call before binding
an NSView to the context to avoid re-paint of the view which
causes flash effect.