Merge commit '93942a5bbc27fe569d370b57a0c3137f6c4171f7' into eclair-mr2-plus-aosp
* commit '93942a5bbc27fe569d370b57a0c3137f6c4171f7':
fix [2187212] add support for GLESv2 dispatch based on TLS
Merge commit '69fba87ac16d1c10da81fc3213ae169c755797f4' into eclair-mr2
* commit '69fba87ac16d1c10da81fc3213ae169c755797f4':
fix [2187212] add support for GLESv2 dispatch based on TLS
Instead of using a different function pointer table for ES 1.x and ES 2.x,
we use a single one that is the union (sort|uniq) of both tables. Two
instances of this table are initialized with pointers to GL ES 1.x and GL ES 2.x
entry-points.
When a context is created, we store its version number and when it is bound to a
thread we set the approruiate table based on the stored version.
This introduce no penalty while dispatching gl calls to the right API version.
[Pending Dr No approval for MR1]
Merge commit 'a5bfe52d9efb4d78edc48a64c2e85f8c4ecd4876' into eclair-mr2-plus-aosp
* commit 'a5bfe52d9efb4d78edc48a64c2e85f8c4ecd4876':
Make our choice of surface explicit.
Merge commit '3b7a1e6d70fda4ce834034930847fe2cc75de515' into eclair-mr2-plus-aosp
* commit '3b7a1e6d70fda4ce834034930847fe2cc75de515':
Allow multiple OpenGL contexts on systems that support them.
Merge commit '0c559a4b0f8918fe89921d7984001d00285f226f' into eclair-mr2-plus-aosp
* commit '0c559a4b0f8918fe89921d7984001d00285f226f':
Revert "egl: temporarily also include eglTerminate->eglInitialize hack for 8k"
Merge commit '98b3def2983e78409002cf406574bbc8eeef8bfd' into eclair-mr2
* commit '98b3def2983e78409002cf406574bbc8eeef8bfd':
Revert "egl: temporarily also include eglTerminate->eglInitialize hack for 8k"
Merge commit '846322a9ae5ef8155cca0059d3f64d718516ca13' into eclair-mr2
* commit '846322a9ae5ef8155cca0059d3f64d718516ca13':
add a way to easily catch and log GL errors (compile time flag)
Merge commit '846322a9ae5ef8155cca0059d3f64d718516ca13' into eclair-plus-aosp
* commit '846322a9ae5ef8155cca0059d3f64d718516ca13':
add a way to easily catch and log GL errors (compile time flag)
Merge commit '9d6a685ba939f413a8d3e1e97627593aa1cdf6cb' into eclair-plus-aosp
* commit '9d6a685ba939f413a8d3e1e97627593aa1cdf6cb':
fix [2168528] enable glTexImage2D code path in SF for software-only buffers
fix [2168531] have software-only gralloc buffer side-step the HAL
fix [2167050] glTexImage2D code path buggy in SurfaceFlinger
Merge commit '4ac45597fb70ca4f268cb1920fcb2de61aff4a3d' into eclair-plus-aosp
* commit '4ac45597fb70ca4f268cb1920fcb2de61aff4a3d':
a simple test app for gralloc
Merge commit '0ef55540ab75660c58b284415ebae7ea66684706' into eclair-mr2-plus-aosp
* commit '0ef55540ab75660c58b284415ebae7ea66684706':
fix [2168528] enable glTexImage2D code path in SF for software-only buffers
fix [2168531] have software-only gralloc buffer side-step the HAL
fix [2167050] glTexImage2D code path buggy in SurfaceFlinger
Merge commit '9d6a685ba939f413a8d3e1e97627593aa1cdf6cb' into eclair-mr2
* commit '9d6a685ba939f413a8d3e1e97627593aa1cdf6cb':
fix [2168528] enable glTexImage2D code path in SF for software-only buffers
fix [2168531] have software-only gralloc buffer side-step the HAL
fix [2167050] glTexImage2D code path buggy in SurfaceFlinger
When EGLImage extension is not available, SurfaceFlinger will fallback to using
glTexImage2D and glTexSubImage2D instead, which requires 50% more memory and an
extra copy. However this code path has never been exercised and had some bugs
which this patch fix.
Mainly the scale factor wasn't computed right when falling back on glDrawElements.
We also fallback to this mode of operation if a buffer doesn't have the adequate
usage bits for EGLImage usage.
This changes only code that is currently not executed. Some refactoring was needed to
keep the change clean. This doesn't change anything functionaly.
Merge commit '4ac45597fb70ca4f268cb1920fcb2de61aff4a3d' into eclair-mr2
* commit '4ac45597fb70ca4f268cb1920fcb2de61aff4a3d':
a simple test app for gralloc
Merge commit 'bcbca57f4c0da0cee3682c78aacfa081483f0020' into eclair-plus-aosp
* commit 'bcbca57f4c0da0cee3682c78aacfa081483f0020':
Add a simple test of OpenGL ES 1.x.
Merge commit '97702aacfc7f84b473357ce102cc70da2a316032' into eclair-plus-aosp
* commit '97702aacfc7f84b473357ce102cc70da2a316032':
Don't ask for pbuffer support, because we don't use any pbuffers.
Print out EGL configuration info for the config we've chosen.
Merge commit 'ee25eb58aac8fded3927c0343eaa367f66c8b79d' into eclair-plus-aosp
* commit 'ee25eb58aac8fded3927c0343eaa367f66c8b79d':
Print out all available EGL configurations.
Merge commit '1a3c8950394b98f6f354456830208d70e87b8bb6' into eclair-plus-aosp
* commit '1a3c8950394b98f6f354456830208d70e87b8bb6':
fix [2147737] Pixel Flinger needs to set EGL_RENDERABLE_TYPE to EGL_OPENGL_ES_BIT
Merge commit 'ed5ecdba36648973be3033a045e2ece8bf039e4a' into eclair-plus-aosp
* commit 'ed5ecdba36648973be3033a045e2ece8bf039e4a':
egl: temporarily also include eglTerminate->eglInitialize hack for 8k
Merge commit '07e0dce441ea056710efd76d7df18b8833de772a' into eclair-plus-aosp
* commit '07e0dce441ea056710efd76d7df18b8833de772a':
Check for failure to create EGL surfaces and contexts.
Merge commit '2a5eea308fffed23ab96bedcddaf5e4cc91cec9e' into eclair-plus-aosp
* commit '2a5eea308fffed23ab96bedcddaf5e4cc91cec9e':
Use EGLUtils to simplify choosing a configuration.