Commit Graph

4994 Commits

Author SHA1 Message Date
David Turner
aa77b7776e Merge "emulator opengl: some system egl fixes after a review." 2011-06-17 04:24:53 -07:00
David Turner
c39872ac6b Merge "emulator opengl: moved gralloc buffer handle struct to be shared." 2011-06-17 04:24:42 -07:00
David Turner
e68305d9c0 Merge "Handle egl context" 2011-06-14 12:12:09 -07:00
David Turner
96deb3b2c8 Merge "emulator opengl: Create and destroy Surfaces" 2011-06-14 12:10:42 -07:00
Stas Gurtovoy
33dc9add2a emulator opengl: some system egl fixes after a review.
Change-Id: I4a0c72319e8c69fba8ac00ed7bfff7667ae07269
2011-06-11 00:16:21 +03:00
Stas Gurtovoy
c36ac6ed2f emulator opengl: moved gralloc buffer handle struct to be shared.
We need to share the cb_hande_t between gralloc/EGL/GLES, moved it
into the opengl system common lib.
Also added eglSwapBuffers implementation.

Change-Id: Ia461a48c273af42293aafcf084e457adf03cbed3
2011-06-11 00:16:21 +03:00
Stas Gurtovoy
dd0a3777bc Handle egl context
Added EGLContext functionality to emulator's accelerated EGL implementation.

Change-Id: Idde7d701808839f8d89c6c081a9f3216bdea7a52
2011-06-11 00:16:20 +03:00
Stas Gurtovoy
8a8c601c4f emulator opengl: Create and destroy Surfaces
Also fixed link failure.

Change-Id: I4cbe28b2d51a5d4e48c4cba72df64f9df0898da5
2011-06-11 00:15:19 +03:00
David Turner
0e5c2beb13 Merge "First commit of the system egl implementation." 2011-06-10 07:21:31 -07:00
Stas Gurtovoy
37db3deb7b First commit of the system egl implementation.
At this point system/egl should build without errors

Change-Id: Ieabae930fc20a8df4f3d68f179d685401e946e74
2011-06-09 21:24:26 +03:00
David Turner
8c7d5519e2 Merge "opengl translator: make GLcommon static library" 2011-06-07 02:29:44 -07:00
Guy Zadikario
cd1489a89c opengl translator: make GLcommon static library
This change turns GLcommon to be static instead of shared
library.
Removed the s_globalNameSpace static object from objectNameManager
and moved it to live inside the EglDisplay object which is shared
for all display space objects (GLESv1, GLESv2 and EGL).

Change-Id: I92fa71fb7cbac423c22b7188e8d9642a5fddf0d9
2011-06-07 11:29:15 +02:00
David Turner
cc3b388746 Merge "opengl translator: moved some types out of eglplatform.h" 2011-06-07 01:40:48 -07:00
David Turner
8a96cb7e8b Merge "opengl translator: initialize dispatch with dummy functions" 2011-06-07 01:40:33 -07:00
Amit Feller
0db9dae215 opengl translator: moved some types out of eglplatform.h
Some native types like NativeFBConfig and NativeContext are
internal to the translator implementation and should not
exist in the interface headers.
Moved those types from eglplatform.h into eglinternalplatfom.h

Change-Id: I6462a007de8c185deecbb9beebc343ca3626fd0c
2011-06-06 19:01:45 +03:00
Amit Feller
c879e1c8a6 opengl translator: initialize dispatch with dummy functions
Initialize the GLDispatch with dummy function instead of
NULL pointer in case the function does not present on the
host OpenGL library. Prevent ugly segfault when a call to
such function is made.

Change-Id: I3488e60e091af06273a5680accabb7fe30fab066
2011-06-06 19:01:45 +03:00
David Turner
a1b9f9bc16 Merge "implementing mac OS support for translator's libs" 2011-06-06 08:56:45 -07:00
David Turner
f3c023e482 Merge "opengl translator: GLSL ES translation" 2011-06-06 08:56:24 -07:00
David Turner
87043c4e67 Merge "opengl translator: added EGL_RENDERABLE_TYPE attrib" 2011-06-06 08:56:13 -07:00
Amit Feller
3dd22a5450 implementing mac OS support for translator's libs
Change-Id: Ifa12cf1177db49197ad8496f4e0ef8098d43aa8d
2011-06-06 18:45:01 +03:00
Amit Feller
dd26774dac opengl translator: GLSL ES translation
There are some differences between GLSL/ES and Desktop
GLSL. This change translate the GLSL/ES shader source
to be compatible with the desktop GLSL language.

Change-Id: Ia6fdd6a90944926adcf440299b9ea3a4500d1eb1
2011-06-06 18:45:01 +03:00
Amit Feller
d61fb75ef8 opengl translator: added EGL_RENDERABLE_TYPE attrib
fixing bug in eglChooseConfig, there was no referer to
EGL_RENDERABLE_TYPE this caused the eglChooseConfig to fail
when an attribute EGL_RENDERABLE_TYPE was specified in
the attrib_list

Change-Id: Ib4635a55ef3cc0ff380e581d4a41602ddfd32f82
2011-06-06 18:45:01 +03:00
David Turner
a2c959d545 Merge "fixes for gles2 tests" 2011-06-06 05:22:28 -07:00
David Turner
bcec626f5a Merge "add gles2 extensions" 2011-06-06 05:21:16 -07:00
David Turner
4bf1d50426 Merge "implement GL_OES_draw_texture" 2011-06-06 05:12:13 -07:00
David Turner
ffe663de02 Merge "Add gles 1 extension implementation to translator" 2011-06-06 05:10:59 -07:00
David Turner
61287c5092 Merge "removed old/obsolete file GLEScontext.cpp" 2011-06-06 04:25:26 -07:00
Liran
e4b6d4a629 fixes for gles2 tests
load necessary functions from gl dispatch for gles2
fix usage of global names in some functions
combine the shaders and programs namespace to one

Change-Id: I92bd90a91a5840fcceebd05ab06bebb65bb415a0
2011-06-06 13:22:38 +03:00
Liran
da84d440c6 add gles2 extensions
implement extensions for gles2
add missing entry point for gles1 EGLImage extension

Change-Id: I7cf0118fdf69f3fb2a7023cf97134efd6aabbf59
2011-06-06 13:22:38 +03:00
Liran
d94a2efe6a implement GL_OES_draw_texture
Change-Id: I9f91fa63dab0cf769dd5ee609c96d1143122991c
2011-06-06 13:22:38 +03:00
Liran
3b7e5e3281 Add gles 1 extension implementation to translator
This fix addes to the Translator the implementations of theses extensions:
GL_EXT_texture_format_BGRA8888
GL_OES_blend_equation_separate
GL_OES_blend_func_separate
GL_OES_blend_subtract
GL_OES_depth24
GL_OES_matrix_palette
GL_OES_extended_matrix_palette
GL_OES_element_index_uint
GL_OES_framebuffer_object
GL_OES_packed_depth_stencil
GL_OES_point_size_array
GL_OES_point_sprite
GL_OES_read_format
GL_OES_stencil_wrap
GL_OES_texture_env_crossbar
GL_OES_texture_cube_map
GL_OES_texture_mirrored_repeat

Change-Id: I472808d123ec0e03279137a48d89dc4b19023758
2011-06-06 13:22:30 +03:00
Guy Zadikario
a7f83c0565 removed old/obsolete file GLEScontext.cpp
Change-Id: I82f21eef958e37515b46279cf2b44386320723ca
2011-06-06 13:19:26 +03:00
David Turner
299a140c60 Merge "Fix issues raised by the GLES 1.1 conformance test" 2011-06-06 01:50:56 -07:00
Yochai Shefi Simchon
3150361b51 Fix issues raised by the GLES 1.1 conformance test
- Most of the fixes are about unhandled enums.
- Adding an unbindBuffer method to GLEScontext, and use it in the
 glDeleteBuffers call, so a buffer is not considered bound after
 it has been deleted.
- Handle the case where a call to glCompressedTexImage2D gets
 NULL as its data (in which case the uncompressTexture function
 should only calculate the output format, but not attempt to
 uncompress the NULL data).
- A few segfaults.

Change-Id: I6a856ea6da1be3b15b41140d6383508a6803897c
2011-06-05 13:34:27 +03:00
David Turner
67032b2396 Merge "Fix a bug where eglMakeCurrent(NULL) did not work" 2011-06-03 15:17:00 -07:00
David Turner
7660bb5806 Merge "Fix a mess in contexts/surfaces reference count" 2011-06-03 14:59:41 -07:00
David Turner
8821d5a56e Merge "ThreadInfo- use explicit rather than void pointers" 2011-05-31 14:28:48 -07:00
David Turner
0b05185e00 Merge "Fix version returned by eglInitialize from 4.1 to 1.4." 2011-05-31 14:11:00 -07:00
David Turner
8c141dd2c0 Merge "EglChooseConfig should handle the case where "configs" is NULL." 2011-05-31 13:58:18 -07:00
Yochai Shefi Simchon
889d928f29 Fix a bug where eglMakeCurrent(NULL) did not work
This happened because the VALIDATE macros terminated the function prematurally.
Also clear the surface bindings from the previous context.

Change-Id: I33d587f5e877caa6ec651a04ff887e0c77a9d5f3
2011-05-31 15:01:59 +03:00
Yochai Shefi Simchon
88ec3acc83 Fix a mess in contexts/surfaces reference count
The main issue was that SmartPtr had an implicit cast to void*, returning its
internal pointer. This allowed writing unsafe code, since the internal pointer
could be handled without increasing its ref count.
So, removed this cast and fixed the various places which relied on it.
Also, fix two calls to "destroy" ahich should have been "markForDestruction".
The naming is not good, should probably change it in a later patch.

Change-Id: Idabc800e97649b2e2404fb7387d25deac70af62e
2011-05-31 15:01:59 +03:00
Yochai Shefi Simchon
eada5b81de ThreadInfo- use explicit rather than void pointers
Replace the void* pointers with explicit pointers for EglContext, EglDisplay
and GLEScontext. Use forward declarations. This is to improve finding errors
in compile time rather than on run time.

Change-Id: Iaec3c36c1e12f36b37d34f68e9d8aa58ff1b30c0
2011-05-31 14:59:20 +03:00
Yochai Shefi Simchon
094026698e Fix version returned by eglInitialize from 4.1 to 1.4.
Change-Id: I43f3512374f546a81b7cfbba8959ce9f0ed7fe53
2011-05-31 14:15:02 +03:00
Yochai Shefi Simchon
aac7fe282c EglChooseConfig should handle the case where "configs" is NULL.
Change-Id: I236afdfc73eb5dd5a3ab19e2b388772ea297bdb4
2011-05-31 14:13:26 +03:00
David Turner
bf483268fc Merge "Emulators's GLES 2.0 translator implementation This is the GLESv2 on top of openGL implementation on the host most of this change is moving code which is necessary by both GLES 1.0 and GLES 2.0 implementations from GLES_CM folder into GLcommon folder." 2011-05-30 08:18:32 -07:00
Amit Feller
624176d51a Emulators's GLES 2.0 translator implementation
This is the GLESv2 on top of openGL implementation on the host
most of this change is moving code which is necessary by both
GLES 1.0 and GLES 2.0 implementations from GLES_CM folder into
GLcommon folder.

GLESv2Imp - includes GLES 2.0 entry points implementation

Change-Id: I934fb963478a7f596d824612f847a5aa77d2ed9d
2011-05-30 11:06:24 +03:00
David 'Digit' Turner
e011bed429 Merge "ndk: x86: Sanitize platform headers and libraries." 2011-05-27 10:26:04 -07:00
David 'Digit' Turner
3e1498c4c4 ndk: x86: Sanitize platform headers and libraries.
This change sanitizes the x86-specific platform headers and libraries.
It does two things:

- Remove the stuff under android-3/arch-x86

- Update the content of android-9/arch-x86 from a recent AOSP
  full_x86-eng build (see caveats below).

Some files appear to move because they didn't change (e.g. kernel headers).

This change was generated by following these steps:

1/ Build full_x86-eng from the AOSP tree

2/ From $ANDROID_ROOT/ndk, run:

   build/tools/dev-system-import.sh --direct --arch=x86 9

3/ Under $ANDROID_ROOT/development/ndk, do:

   git rm -r android-3/arch-x86
   git add android-9/arch-x86
   git checkout -- android-9/include
   git ls-files -o | xargs rm
   git commit

IMPORTANT:
   The AOSP tip-of-tree used to generate these files
   includes post-Gingerbread changes !!

   The final version of the android-9/arch-x86 files will have to
   be generated from the gingerbread branch after we back-port all
   x86-support changes to it.

   These binaries are thus not final, but can be used to generate
   working experimental NDK packages, including prebuilt GNU libstdc++
   and STLport binaries that implement -fstack-protector correctly.

Change-Id: I260896185a098b9b356bd26f492692e4a4f66f8f
2011-05-27 06:14:16 +02:00
David 'Digit' Turner
18fc9b3eca Merge "ndk: Update libc.a to Gingerbread version." 2011-05-24 02:21:36 -07:00
David 'Digit' Turner
509176259d ndk: Update libc.a to Gingerbread version.
This updates the static C library version provided with
the NDK to the version from the AOSP gingerbread-release
branch, more specifically using the platform/bionic.git SHA1 of:

    3f14ff34dfbd00fcffb18b10a1a3e17e2cc5ebdf

This file is only used to rebuild a gdbserver binary. This version
contains changes necessary to fix gdbserver crashing issues on
certain Honeycomb devices.

You will need to rebuild the NDK gdbserver binary after this patch
is submitted (see build/tools/build-gdbserver.sh --help).

Change-Id: Iab7ff707a9bdbdca0d0fd017178e25da9d48e43d
2011-05-24 03:56:38 +02:00