Mathias Agopian
8f2423e8f3
get rid off the YUV formats at the libui layer
2010-02-16 17:33:37 -08:00
Mathias Agopian
42d99d211f
Proper EGLImageKHR error handling
...
Validate EGLImageKHR format and return an error for unsupported ones.
Also make sure to return an error when binding EGL_NO_IMAGE_KHR to a texture
2010-02-04 17:04:53 -08:00
Mathias Agopian
e304bdd5ee
fix [2133133] Software OpenGL ES Lighting is buggy (GL Gears washed out bug)
...
A typo caused GL_AMBIENT_AND_DIFFUSE to only set the the ambient color.
Fix another typo which caused the viewer position to be wrong for
specular highlights.
Switch back to eye-space lighting, since there are still some issues
with some demos (San Angeles in particular).
2010-02-03 12:13:15 -08:00
Jack Palevich
019fe73ddb
Fix ETC1 texture decoding.
...
etc1_decode_image requires the stride argument to be in bytes, but the
surface->stride field is in pixels. Convert by multiplying by pixel size.
2010-02-02 22:50:39 -08:00
Mathias Agopian
d1f73a2fca
implement [2396050] Add ETC1 texture support to AGL
2010-02-02 20:19:54 -08:00
Mathias Agopian
9c84720da0
fix [2397853] glCopyTexImage2D crashes emulator
...
Fixed a typo which would cause a buffer overflow
2010-02-01 13:45:08 -08:00
Mathias Agopian
ac00ad1b88
fix [2341222] AGL version of glDrawTexxOES doesn't handle "Z" value correctly
2010-01-25 11:49:52 -08:00
Gary King
01f8c06cbe
Use correct TLS codepath in graphics libraries
...
Duplicate ARCH_ARM_HAVE_TLS_REGISTER BoardConfig to proprocessor
HAVE_ARM_TLS_REGISTER define from Bionic's libc Android.mk to ensure that
OpenGL libraries (libEGL, libGLESv1_CM, libGLESv2, libGLES_android) use the
correct codepath in bionic_tls.h for accessing the TLS address
2010-01-12 17:35:35 -08:00
Doug Kwan
89fe245e04
Add misssing symbol type directives.
2009-12-08 11:22:38 -08:00
Mathias Agopian
7671c088cd
am 77f17095: am 533a2803: Merge change I18ffb549 into eclair
...
Merge commit '77f17095ed17a6ccc7fc1f1b3ddb31c63bbf66a2' into eclair-mr2-plus-aosp
* commit '77f17095ed17a6ccc7fc1f1b3ddb31c63bbf66a2':
fix [2069023] STOPSHIP: disable DEBUG_COPYBIT
2009-12-01 18:41:42 -08:00
Mathias Agopian
18ffb5493b
fix [2069023] STOPSHIP: disable DEBUG_COPYBIT
2009-11-30 12:10:53 -08:00
Mathias Agopian
8e9af2bd1d
am b439f561: am 13feccf5: Merge change I39f0003e into eclair
...
Merge commit 'b439f561a6aa3900f1850e71a4aa60618af13f90' into eclair-mr2-plus-aosp
* commit 'b439f561a6aa3900f1850e71a4aa60618af13f90':
fix [2235414] libagl glDeleteBuffers() crashes
2009-11-19 19:12:01 -08:00
Mathias Agopian
39f0003e3a
fix [2235414] libagl glDeleteBuffers() crashes
...
don't dereference null pointers, would happen if one of the array wasn't bound.
2009-11-19 17:32:05 -08:00
Mathias Agopian
da5e90bee4
am 66b5d902: am 27407208: Merge change Icf335098 into eclair
...
Merge commit '66b5d902a29e08237f16be53a84f9c2472df8493' into eclair-mr2-plus-aosp
* commit '66b5d902a29e08237f16be53a84f9c2472df8493':
fix [2236865] STOPSHIP: bump soft gl and egl minor version number
2009-11-13 09:26:24 -08:00
Mathias Agopian
cf3350982f
fix [2236865] STOPSHIP: bump soft gl and egl minor version number
2009-11-12 15:19:42 -08:00
Mathias Agopian
c6ed8100c2
am 0b9d3ba2: am c421fc2a: Merge change Id09376d1 into eclair
...
Merge commit '0b9d3ba2feab494e7bbd180b51a4311864d08e13' into eclair-mr2-plus-aosp
* commit '0b9d3ba2feab494e7bbd180b51a4311864d08e13':
fix [2071412] work around mdp 32-bits fade limitation
2009-11-09 19:38:43 -08:00
Mathias Agopian
d09376d1e2
fix [2071412] work around mdp 32-bits fade limitation
...
make sure to always specify blits *inside* the source bitmap.
2009-11-09 17:55:59 -08:00
Jean-Baptiste Queru
ac94fbd081
merge from open-source master
2009-11-09 11:00:18 -08:00
Mathias Agopian
36fe3eeaa0
part of fix [2186418] switch passion to 24-bits framebuffer
...
add support for RGBX_8888 EGLConfigs in the software renderer
(since that's what we're using in the MDP case)
2009-11-04 14:51:18 -08:00
Mathias Agopian
bbf945f3c0
fix [2236832] software OpenGL ES driver doesn't work on sholes
...
make sure to not pass our fake handles to the real gralloc
2009-11-03 21:08:06 -08:00
Android (Google) Code Review
21977eb0f1
Merge change I56981989 into eclair
...
* changes:
fix [2231527] Compatibility with SpaceJunk game (OpenGL)
2009-11-03 18:04:49 -05:00
Mathias Agopian
5698198967
fix [2231527] Compatibility with SpaceJunk game (OpenGL)
...
we treated all lights as local lights when transforming their
position back to object space.
2009-11-02 18:33:08 -08:00
Mathias Agopian
36d0184e08
fix[2228133] pixelflinger ignores the "vertical stride" leading to artifacts when playing back video
...
we lost the concept of vertical stride when moving video playback to EGLImage.
Here we bring it back in a somewhat hacky-way that will work only for the
softgl/mdp backend.
2009-11-02 17:48:33 -08:00
Iliyan Malchev
8c0eb9a6eb
libagl: silence a LOGD
...
Signed-off-by: Iliyan Malchev <malchev@google.com>
2009-10-30 18:29:08 -07:00
Mathias Agopian
f007a2faa1
return proper error code from eglCreateImageKHR
2009-10-29 16:45:41 -07:00
Mathias Agopian
85ade33edc
fix [2071412] work around mdp 32-bits fade limitation
...
in the case where we fade a 32-bits surface (ie: GL_MODULATE w/ a,a,a,a + blending),
we first make a copy of the background into a RGB buffer, then we blend the 32-bits
surface as usual (without the alpha component), and finally blend the copy of
the background on top with 1-a. This uses a lot of bandwidth, but no CPU time.
2009-10-28 14:49:44 -07:00
Mathias Agopian
9042b4564d
fix [2143798] Need to figure out how to do video
...
Use EGLImageKHR instead of copybit directly.
We now have the basis to use streaming YUV textures (well, in fact
we already are). When/if we use the GPU instead of the MDP we'll
need to make sure it supports the appropriate YUV format.
Also make sure we compile if EGL_ANDROID_image_native_buffer is not supported
2009-10-27 13:13:29 -07:00
Android (Google) Code Review
62df88bcc9
Merge change I0953c1d5 into eclair
...
* changes:
fix [2153873] EGL-1.4 software implementation misses surface attributes
2009-10-19 18:27:47 -04:00
Mathias Agopian
0953c1d5e1
fix [2153873] EGL-1.4 software implementation misses surface attributes
2009-10-19 14:46:27 -07:00
Android (Google) Code Review
3662f9ee5b
Merge change Ide4c8cbc into eclair
...
* changes:
fix [2151588] glTexSubImage2D() allows pixel format conversion
2009-10-19 17:31:52 -04:00
Mathias Agopian
78811906c3
fix [2151588] glTexSubImage2D() allows pixel format conversion
2009-10-19 14:23:02 -07:00
Mathias Agopian
88d11cfbfc
one step towards fixing [2071412] work around mdp 32-bits fade limitation
...
simplify the GL_MODULATE case and allow blending disabled with RGBA texture
2009-10-16 18:24:12 -07:00
Christoffer Gurell
4a783af6ec
Fix obvious typo bug in egl.cpp
...
can (and does sometimes) lead to accessing array with -1 as index
2009-10-12 11:57:27 +02:00
Mathias Agopian
594d02e54a
fix [2147737] Pixel Flinger needs to set EGL_RENDERABLE_TYPE to EGL_OPENGL_ES_BIT
...
Also set max swap interval to 1, which is the only supported value currently.
2009-09-27 20:18:16 -07:00
Mathias Agopian
2ddccd1649
OpenGL ES doesn't allow glColorPointer with a size parameter other than 4
2009-09-24 14:22:29 -07:00
Jack Palevich
fb5ea2e579
AGL's glCompressedTexImage2D now checks the imageSize parameter.
...
This parameter indicates how many bytes of the image data are valid.
Previously this parameter was ignored.
2009-09-10 17:13:28 -07:00
Martin Storsjo
c0dea96491
Calculate specular lighting correctly
...
Since the lighting calculations are done in object space, the vector
from the object to the viewer also needs to be transformed to object
space.
2009-08-25 18:35:54 -07:00
Martin Storsjo
4f31af9346
If FLAGS_2D_PROJECTION is set, the MVP matrices need updating when changing the viewport.
2009-08-25 18:35:03 -07:00
Android Code Review
46ba1c964f
Merge change 11093
...
* changes:
If FLAGS_2D_PROJECTION is set, the MVP matrices need updating when changing the viewport.
2009-08-25 14:37:28 -07:00
Mathias Agopian
ffbc864329
better error handling in EGL
2009-08-20 00:12:56 -07:00
Mathias Agopian
5cec4742b3
second take, hopefully this time it doesn't break one of the builds: "SurfaceFlinger will now allocate buffers based on the usage specified by the clients. This allows to allocate the right kind of buffer automatically, without having the user to specify anything."
2009-08-11 23:32:29 -07:00
Fred Quintana
64e89a8aff
Revert "SurfaceFlinger will now allocate buffers based on the usage specified by the clients. This allows to allocate the right kind of buffer automatically, without having the user to specify anything."
...
This reverts commit 8b76a0ac6fbf07254629ed1ea86af014d5abe050.
2009-08-11 20:49:35 -07:00
Mathias Agopian
8b76a0ac6f
SurfaceFlinger will now allocate buffers based on the usage specified by the clients. This allows to allocate the right kind of buffer automatically, without having the user to specify anything.
...
This change makes SurfaceHolder.setType(GPU) obsolete (it's now ignored).
Added an API to android_native_window_t to allow extending the functionality without ever breaking binary compatibility. This is used to implement the new set_usage() API. This API needs to be called by software renderers because the default is to use usage flags suitable for h/w.
2009-08-11 16:12:56 -07:00
Martin Storsjo
79ad0e6623
Calculate specular lighting correctly
...
Since the lighting calculations are done in object space, the vector
from the object to the viewer also needs to be transformed to object
space.
2009-08-11 18:01:14 +02:00
Martin Storsjo
1ac3b5ff60
If FLAGS_2D_PROJECTION is set, the MVP matrices need updating when changing the viewport.
2009-08-10 13:03:59 +02:00
Mathias Agopian
f1e5b0d4e5
add support for RGBX_8888
2009-08-07 20:55:14 -07:00
Mathias Agopian
abac01052c
be more robust when errors occur upon EGL surface creation (ie: don't crash)
2009-07-31 14:47:00 -07:00
Mathias Agopian
5b5c914487
fixed some issues with the software renderer when surfaces are made current.
...
there was several issues:
- when a surface was made non-current, the last frame wasn't shown and the buffer could stay locked
- when a surface was made current the 2nd time, it would not dequeue a new buffer
now, queue/dequeue are done when the surface is made current.
for this to work, a new query() hook had to be added on android_native_window_t, it allows to retrieve some attributes of a window (currently only width and height).
2009-07-30 18:14:56 -07:00
Jean-Baptiste Queru
61e4248f8f
merge from donut
2009-07-29 14:57:05 -07:00
Jean-Baptiste Queru
a8675f67e3
donut snapshot
2009-07-29 14:25:07 -07:00