| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | |
| | |
| | |
| | |
| | |
| | | |
This parameter indicates how many bytes of the image data are valid.
Previously this parameter was ignored.
|
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | | |
the viewport.
|
| | | |
|
| | |
| | |
| | |
| | | |
"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."
|
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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).
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | | |
* commit 'goog/readonly-korg-master':
Fixed Android issue #400, where the Intent documentation was inaccurate in a number of places, undoubtedly causing untold grief to innumerable masses.
Bug Fixed for libagl.
|
| |/ |
|
| | |
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit '46e28db8818332e3cda4cc410cc89a1ed7ce4db6'
* commit '46e28db8818332e3cda4cc410cc89a1ed7ce4db6':
fix for [1969185] valgrind errors in new gl stuff
|
| | | |
|
| | |
| | |
| | |
| | | |
minor optimizations to copybit codepath.
|
| | | |
|
| | |
| | |
| | |
| | | |
buffer as an android_native_buffer_t*
|
| | | |
|
|\ \ \
| |/ / |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
using garbage
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
corresponding to a rectangle
this allows fallback to faster copybit code in almost all cases.
|
| | | |
|
| | | |
|
|\ \ \
| |/ / |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This bug was introduced when lighting computations was changed from eye-space to object-space.
The light position need to be transformed back to object-space each time the modelview matrix changes which requires us to compute the inverse of the modelview matrix. This computation was done with the assumption that normals where transformed (which was the case when the computation was made in eye-space), however, normals only require the inverse of the upper 3x3 matrix while transforming positions requires the inverse of the whole matrix.
This caused the interesting behavior that lights were more-or-less transformed properly, but not translated at all, which caused improper lighting with directional lights in particular.
There was also another smaller bug affecting directional lights: when vertices are read, only the active component are read, the other ones are ignored, later, the transformation operations are set up to ignore the unset values, howver, in the case of lighting, we use the vertex in object space (that is, before it is transformed), and therefore were using uninitalized values; in particular w.
|
| | |
| | |
| | |
| | |
| | |
| | | |
vertex material was disabled.
the specular enable flag wasn't computed in that case.
|
| | |
| | |
| | |
| | | |
for unbinding from the thread
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
we now look for a config file in /system/lib/egl/egl.cfg that describes the association of a display to a driver.
these drivers are named: /system/lib/egl/lib{[EGL|GLESv1_CM|GLESv2] | GLES}_$TAG.so
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | | |
Conflicts:
opengl/libagl/Android.mk
opengl/libs/Android.mk
opengl/libs/egl_impl.h
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
opengl/libagl/Android.mk
opengl/libs/Android.mk
opengl/libs/egl_impl.h
|
| | |
| | |
| | |
| | | |
opening GLES to the NDK.
|
| |/ |
|
| | |
|
| |
| |
| |
| |
| |
| | |
ANDROID_swap_rectangle allows to specify the rectangle affected by eglSwapBuffers(), anything outside of this rectangle is unchanged. in particular EGL_BUFFER_DESTROYED only applies to that rectangle. This extension as well as EGL_BUFFER_PRESERVED allow major optimizations on surfaceflinger, which can redraw only the dirty area during compositing.
However, ANDROID_swap_rectangle allows further optimizations in EGL by reducing the amount of copy-back needed. ANDROID_swap_rectangle is particularily important for software implementations.
|
| |
| |
| |
| | |
private/ui/android_native_priv.h header, since user code should never have access to it.
|
| |
| |
| |
| |
| |
| | |
include/ui/egl/android_natives.h and don't include it from egl.h
the android_native_ types are just forward declared in egl.h
|
| |
| |
| |
| |
| |
| | |
handle field
this abstraction was not necessary. things are easier now.
|
| |
| |
| |
| | |
"bits" can never be trusted now that we need to call lock() on the handle to get the virtual address of the buffer.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Currently the lock/unlock path is naive and is done for each drawing operation (glDrawElements and glDrawArrays). this should be improved eventually.
- factor all the lock/unlock code in SurfaceBuffer.
- fixed "showupdate" so it works even when we don't have preserving eglSwapBuffers().
- improved the situation with the dirty-region and fixed a problem that caused GL apps to not update.
- make use of LightRefBase() where needed, instead of duplicating its implementation
- add LightRefBase::getStrongCount()
- renamed EGLNativeWindowSurface.cpp to FramebufferNativeWindow.cpp
- disabled copybits test, since it clashes with the new gralloc api
- Camera/Video will be fixed later when we rework the overlay apis
|
| | |
|
| |
| |
| |
| | |
SurfaceFlinger rework for new EGL driver model support.
|
|/ |
|
| |
|
| |
|