Jack Palevich
7c5fe4c4f6
Fix glCopyTexSubImage2D inverted texture bug.
...
This bug only affects the software OpenGL ES
driver.
2010-03-12 17:32:26 -08:00
Mathias Agopian
54ed4f6282
get rid off the YUV formats at the libui layer
2010-02-16 17:33:37 -08:00
Mathias Agopian
8dccb26901
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
04a3f57d19
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
0673586371
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
18b915a102
implement [2396050] Add ETC1 texture support to AGL
2010-02-02 20:19:54 -08:00
Mathias Agopian
fda42f318a
fix [2397853] glCopyTexImage2D crashes emulator
...
Fixed a typo which would cause a buffer overflow
2010-02-01 13:45:08 -08:00
Mathias Agopian
45351bcae5
fix [2341222] AGL version of glDrawTexxOES doesn't handle "Z" value correctly
2010-01-25 11:49:52 -08:00
Gary King
9166f7bfa7
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
9054ddfcd7
Add misssing symbol type directives.
2009-12-08 11:22:38 -08:00
Mathias Agopian
69fec4726b
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
f74573486d
fix [2069023] STOPSHIP: disable DEBUG_COPYBIT
2009-11-30 12:10:53 -08:00
Mathias Agopian
1850ea3a03
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
a750fc0bf8
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
c656e03674
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
1eeffc6814
fix [2236865] STOPSHIP: bump soft gl and egl minor version number
2009-11-12 15:19:42 -08:00
Mathias Agopian
51f7605e37
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
198340395d
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
ff230a51f5
merge from open-source master
2009-11-09 11:00:18 -08:00
Mathias Agopian
8b6b95abae
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
bc4929117d
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
33e18e4ec7
Merge change I56981989 into eclair
...
* changes:
fix [2231527] Compatibility with SpaceJunk game (OpenGL)
2009-11-03 18:04:49 -05:00
Mathias Agopian
b44efdc6ba
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
6fee064809
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
d95c322af3
libagl: silence a LOGD
...
Signed-off-by: Iliyan Malchev <malchev@google.com>
2009-10-30 18:29:08 -07:00
Mathias Agopian
df2d929405
return proper error code from eglCreateImageKHR
2009-10-29 16:45:41 -07:00
Mathias Agopian
2ad8ec50a5
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
54ba51dff2
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
898300890d
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
0985f6a4ea
fix [2153873] EGL-1.4 software implementation misses surface attributes
2009-10-19 14:46:27 -07:00
Android (Google) Code Review
e614aeaf32
Merge change Ide4c8cbc into eclair
...
* changes:
fix [2151588] glTexSubImage2D() allows pixel format conversion
2009-10-19 17:31:52 -04:00
Mathias Agopian
d13e46158a
fix [2151588] glTexSubImage2D() allows pixel format conversion
2009-10-19 14:23:02 -07:00
Mathias Agopian
6dbedd7519
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
97640b9320
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
56fa27572a
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
c5f0155d7f
OpenGL ES doesn't allow glColorPointer with a size parameter other than 4
2009-09-24 14:22:29 -07:00
Jack Palevich
cfa316b9e7
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
e03eaa1551
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
d914215edf
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
7e05c0e886
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
0696a57229
better error handling in EGL
2009-08-20 00:12:56 -07:00
Mathias Agopian
5221271375
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
b2fd4665e6
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
df37b62c62
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
b94878cfb6
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
924cba8056
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
dfbec0e282
add support for RGBX_8888
2009-08-07 20:55:14 -07:00
Mathias Agopian
cf81c84e43
be more robust when errors occur upon EGL surface creation (ie: don't crash)
2009-07-31 14:47:00 -07:00
Mathias Agopian
cb6b904164
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
dee1b302ed
merge from donut
2009-07-29 14:57:05 -07:00