Commit Graph

8346 Commits

Author SHA1 Message Date
Liran
833ce70718 opengles emulator: Call XInitThreads on Linux.
All the X calls we do on linux are made from the FrameBuffer
object which is locked however OpenGL implementations may call
to Xlib during gl function calls. In order to be thread safe
we initialize Xlib to support multi-threading.

Change-Id: I3bc6a6378d7558fec44052bd67388beaf270c107
2011-08-09 17:29:17 +02:00
Liran
ca5e9825a4 opengles emulator: fix glGetShaderSource
added NullAllowed flag to length parameter of glGetShaderSource
calling glGetShaderSource with NULL length caused length data
from the host get left on the stream and get the stream out of sync

Change-Id: I45e8e523a67698c9b0cd003e2af7e15c76ed22b7
2011-08-09 17:29:17 +02:00
Liran
0a190be2bc opengles emulator: fix GLESv2 shader source packing
fix segfault when calling glShaderSouce with
empty shader string, length=NULL and count>0

Change-Id: I4c9738d7726fbce22d1e84420faa2bfd772943c5
2011-08-09 17:29:17 +02:00
David Turner
9e883e8b5f Merge "opengles emulator: fix eglGetProcAddress" 2011-08-09 08:27:43 -07:00
David Turner
23685f0399 Merge "opengles emulator: fixed EGLContext and EGLSurface ref-counting." 2011-08-09 08:27:29 -07:00
David Turner
54502698db Merge "opengles emulator: fix the mixing between pack/unpack alignments" 2011-08-09 08:27:15 -07:00
David Turner
450fb0a600 Merge "opengles emulator: cache all buffer on the guest" 2011-08-09 08:27:03 -07:00
David Turner
a0045f2078 Merge "opengles emulator: dynamicaly grow ReadBuffer" 2011-08-09 08:26:50 -07:00
David Turner
321714abd2 Merge "opengles emulator: fix eglGetError" 2011-08-09 08:26:40 -07:00
David Turner
c1db962fb7 Merge "opengles emulator: inc/dec ref-count of buffer on SwapBuffers" 2011-08-09 08:26:24 -07:00
Guy Zadickario
fb1868addc opengles emulator: fix eglGetProcAddress
eglGetProcAddress should return a function pointer that does not
depends on the current bounded context (if any), when the user
calls one of the function pointers returned from eglGetProcAddress
for one of the GLES extension functions, the GLESv1 or GLESv2
version of the extension function shold be called depending on
the current bounded context.

For this we have added a ClientAPI (GLES) extension dispatch
table in the EGL level which points to static functions in libEGL
where each function checks in runtime the current bound context and
calls down to the GLES_CM -or- GLESv2 library function.
See ClientAPIExts.cpp, when new GLES extension functions are added
to GLESv1 or GLESv2 its definition should be added to
ClientAPIExts.in as well.

This fixes the segfault in egl_image conformance test.

Change-Id: I8464d87c2fcbe57d67bd8b891b695a690dec89f3
2011-08-09 17:14:20 +02:00
Guy Zadickario
d8b376d76d opengles emulator: fixed EGLContext and EGLSurface ref-counting.
Handle EGL context and surfaces destrouction using ref counting
pointer (SmartPtr) rather then maintaining a "markForDeletion" flag.
This has required to re-arrange the ThreadInfo structure to be local
to EGL rather then in the GLcommon area so that we will be able to
place a ref-counted pointer to the current context in the TLS.

That fixes the crash during exit of covgl conformance test.

Change-Id: I6f0a2e49c6f21eb75b654cab4346c764715c449b
2011-08-09 17:14:20 +02:00
Stas Gurtovoy
0111043202 opengles emulator: fix the mixing between pack/unpack alignments
The was a bug in the calculation of the pixels data size, caused by wrong usage
of pack/unpack alignment.
Pack should be used for glReadPixels, while unpack should be used for glTexImage and such.
Also fixes crash in "Angry Birds" & "Angry Birds Rio"

Change-Id: I099308a57a1ea907d38c59bad056429bc107de98
2011-08-09 17:14:20 +02:00
Stas Gurtovoy
e99305dd9f opengles emulator: cache all buffer on the guest
This is needed to support the rare, but still legal scenario,
when glDrawElemets is used with some index array data is stored in VBO's
while the actual attributes (vertices) data is in immediate mode.
When in immediate mode, we need to process the incodes, in order to know
which vertex data to send, which was impossible without the caching.
This commit introduces a new class GLSharedGroup, which will hold all data
that can be shared by shared contexts (buffers are such data).
This also makes the "Jet Cars Stunts" app work properly.

Change-Id: Ic937080dae461bc8cdf4d10cf37066a6e847f464
2011-08-09 17:14:20 +02:00
Stas Gurtovoy
6208854726 opengles emulator: dynamicaly grow ReadBuffer
In case we're receiving packets larger then the initial size
of the read buffer, we dynamicaly grow (X2 steps) the size of
the buffer. An example for this large buffer is a 4MB texture
in JetCarStunts.

Change-Id: I167caddb731583811c009321d4f8fb2f7eea032c
2011-08-09 17:14:12 +02:00
Stas Gurtovoy
8f887e6f08 opengles emulator: fix eglGetError
eglGetError should set it's internal state to EGL_SUCCESS after every call

Change-Id: I55d1e5b2a03bae8b332c78e8179edd79c9e8e79e
2011-08-09 16:46:25 +02:00
Stas Gurtovoy
39c53186b9 opengles emulator: inc/dec ref-count of buffer on SwapBuffers
On every swapBuffers, we make sure to decRef on the prev buffer,
and incRef on the current buffer. This fixes all the anoying
crashes on application exit, and also after the speech windows
on Replica Island

Change-Id: I1981fbf17a24ef6f60cdcf6d7ec3a5e7eef5377f
2011-08-09 16:46:09 +02:00
Debashish Chatterjee
a583cd15f7 Merge "VoicemaiProviderDemoApp changed to use api from sdk." 2011-08-09 00:07:33 -07:00
Chet Haase
e3239b8d24 Fix fill behavior in an old AnimationSet demo.
FillEnabled/FillBefore/FillAfter have somewhat non-intuitive behavior.
The demo didn't work at all as intended, so I changed the animation resource
to reflect the actual behavior desired (delay starting the child animations
in the inner AnimationSet and avoid having those animations set the transform
before they start)

Change-Id: I135842091902ba243851dad0104f86e1b8605053
2011-08-08 16:30:34 -07:00
Debashish Chatterjee
d407959ada VoicemaiProviderDemoApp changed to use api from sdk.
Voicemail content provider APIs are now part of the SDK. This CL gets
rid of the local copy of VoicemailContracts and instead uses the APIs
from the SDK.

Key differences between the old and latest APIs
- voicemail permission renamed from READ_WRITE_OWN_VOICEMAILS to
  ADD_VOICEMAIL
- voicemail state is a hidden field, so not part of the API. Demo app
  should not use it.
- Use IS_READ field instead of NEW.

Change-Id: Ib142eb02bb89eed32a7976b66132893a98aba466
2011-08-08 17:58:40 +01:00
David 'Digit' Turner
44d6a0fa6f am 4e9cf45c: am 891ad0e8: Merge "emulator: opengl: Make render_api.h C-compatible"
* commit '4e9cf45cbda52fb04e77f7917eb1abb31ff1b851':
  emulator: opengl: Make render_api.h C-compatible
2011-08-05 09:42:55 -07:00
David 'Digit' Turner
4e9cf45cbd am 891ad0e8: Merge "emulator: opengl: Make render_api.h C-compatible"
* commit '891ad0e8e203d438cb6084525137e066b47671fd':
  emulator: opengl: Make render_api.h C-compatible
2011-08-05 09:41:20 -07:00
David 'Digit' Turner
891ad0e8e2 Merge "emulator: opengl: Make render_api.h C-compatible" 2011-08-05 09:23:54 -07:00
David Turner
3374f8ad2c am 254a7090: am 0f97bab8: Merge changes Ibee74a22,Ifef4dc98
* commit '254a709075bc78250b28d8dc34e859821d6499b6':
  NDK: x86 header file has incorrect definition for ptrdiff_t
  Fix size_t definition in x86 NDK header file
2011-08-05 08:02:33 -07:00
David Turner
254a709075 am 0f97bab8: Merge changes Ibee74a22,Ifef4dc98
* commit '0f97bab8f00d37409bb7f3c3f7644a16e7cbbbb0':
  NDK: x86 header file has incorrect definition for ptrdiff_t
  Fix size_t definition in x86 NDK header file
2011-08-05 08:00:24 -07:00
David Turner
0f97bab8f0 Merge changes Ibee74a22,Ifef4dc98
* changes:
  NDK: x86 header file has incorrect definition for ptrdiff_t
  Fix size_t definition in x86 NDK header file
2011-08-05 07:51:59 -07:00
David 'Digit' Turner
3a064ab539 emulator: opengl: Make render_api.h C-compatible
This change modifies the function declarations under
developement/tools/emulator/opengl/host/include/render_api.h
to make them callable from C.

This is preparation work for integrating the rendering library
into the emulator. The plan is to dlopen() the library dynamically
and using non-mangled function names makes using dlsym() both
easier and more portable.

Change-Id: I34656ea4618dbb989fb6ff78df43e9bfb38a7799
2011-08-05 16:28:01 +02:00
Daniel Sandler
a131fa0b3a Merge "Demonstration of the various fullscreen modes:" 2011-08-04 19:28:04 -07:00
Iliyan Malchev
4929d6a562 development: copy stack tool over from vendor/google/tools
The stack tool is not really proprietary, and is needed by vendors and
third-party developers working on native code.

Change-Id: I37f34b0681a0063ecf71f5a078d2c4a1ba622973
Signed-off-by: Iliyan Malchev <malchev@google.com>
2011-08-04 17:44:40 -07:00
Mark D Horn
f907f4f9d4 NDK: x86 header file has incorrect definition for ptrdiff_t
See Bug http://code.google.com/p/android/issues/detail?id=19042

Change-Id: Ibee74a22ca8cb1e62b7a6faff01291c6c7a56775
Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
2011-08-04 17:11:15 -07:00
David Hu
621770b177 Merge "GPS Location Test" 2011-08-04 16:56:31 -07:00
John Huang
2a83af6ba1 Merge "Removed Launcher2_intermediates from .classpath" 2011-08-04 15:18:06 -07:00
David Hu
8bf6664898 GPS Location Test
Verify that the previously set GPS Location via geo fix command
is set properly.

Change-Id: If160a8379d93a813402bf8622b279feac4f5f110
2011-08-04 14:51:23 -07:00
Daniel Sandler
173fb98b2d Demonstration of the various fullscreen modes:
FLAG_FULLSCREEN,
  SYSTEM_UI_FLAG_LOW_PROFILE,
  SYSTEM_UI_FLAG_HIDE_NAVIGATION.

Bug: 5052456
Change-Id: I3c23caa83a66b585ae1102e3d473f6e4f096840d
2011-08-04 16:47:02 -04:00
David Turner
093099438e am 2d499287: am f8e76503: am 3e6fbdd1: Merge "2.0 translator: link only if both shaders compile"
* commit '2d49928731026af2eefcf645bf65fe6d61b24744':
  2.0 translator: link only if both shaders compile
2011-08-04 07:31:27 -07:00
David Turner
225c68ec22 am 157fffcf: am efdf94f7: am 0ecd4791: Merge "opengl translator: Added GLSL ES builtin constants."
* commit '157fffcf18177b78b93afb30aeff7643a7ecb69c':
  opengl translator: Added GLSL ES builtin constants.
2011-08-04 07:31:25 -07:00
David Turner
cb6dbb00ed am e7e0e372: am b1bbce7c: am bcd5ebd9: Merge "1.1 translator: WAR for GL_ALPHA_TEST_REF bug"
* commit 'e7e0e372a62ae7e77c477900e078027a272b6d33':
  1.1 translator: WAR for GL_ALPHA_TEST_REF bug
2011-08-04 07:31:22 -07:00
David Turner
a8c9a79640 am 2cdb34a2: am ddf8192f: am dba3c8bc: Merge "1.1 translator: glGet(GL_MAX_CLIP_PLANES) returns max 6"
* commit '2cdb34a242d2a1767390301d04779f813b208cea':
  1.1 translator: glGet(GL_MAX_CLIP_PLANES) returns max 6
2011-08-04 07:31:20 -07:00
David Turner
1d1f4c879b am 4b0efb56: am 2abeceb7: am a80ddadf: Merge "remove NV_WAR defines"
* commit '4b0efb567936afdc46726fba606a7cba935427f8':
  remove NV_WAR defines
2011-08-04 07:31:16 -07:00
David Turner
2d49928731 am f8e76503: am 3e6fbdd1: Merge "2.0 translator: link only if both shaders compile"
* commit 'f8e76503041d484703a1bb7a64f86b3fe4497393':
  2.0 translator: link only if both shaders compile
2011-08-04 07:27:06 -07:00
David Turner
157fffcf18 am efdf94f7: am 0ecd4791: Merge "opengl translator: Added GLSL ES builtin constants."
* commit 'efdf94f7cc875f3dd66036f5962cf70802628ed1':
  opengl translator: Added GLSL ES builtin constants.
2011-08-04 07:27:04 -07:00
David Turner
e7e0e372a6 am b1bbce7c: am bcd5ebd9: Merge "1.1 translator: WAR for GL_ALPHA_TEST_REF bug"
* commit 'b1bbce7cc8cc8b8c38dedac62aa5190164ee1338':
  1.1 translator: WAR for GL_ALPHA_TEST_REF bug
2011-08-04 07:27:02 -07:00
David Turner
2cdb34a242 am ddf8192f: am dba3c8bc: Merge "1.1 translator: glGet(GL_MAX_CLIP_PLANES) returns max 6"
* commit 'ddf8192faaae61b7d3b7a7cdad465e2f48974648':
  1.1 translator: glGet(GL_MAX_CLIP_PLANES) returns max 6
2011-08-04 07:27:00 -07:00
David Turner
4b0efb5679 am 2abeceb7: am a80ddadf: Merge "remove NV_WAR defines"
* commit '2abeceb76408d8645836b3efe274de8c0c5b5d2d':
  remove NV_WAR defines
2011-08-04 07:26:56 -07:00
David Turner
f8e7650304 am 3e6fbdd1: Merge "2.0 translator: link only if both shaders compile"
* commit '3e6fbdd1b286e09a153b68b74fb12bda9df9b0e8':
  2.0 translator: link only if both shaders compile
2011-08-04 07:23:55 -07:00
David Turner
efdf94f7cc am 0ecd4791: Merge "opengl translator: Added GLSL ES builtin constants."
* commit '0ecd4791c86d33497b89c104dc25e046ade033f9':
  opengl translator: Added GLSL ES builtin constants.
2011-08-04 07:23:53 -07:00
David Turner
b1bbce7cc8 am bcd5ebd9: Merge "1.1 translator: WAR for GL_ALPHA_TEST_REF bug"
* commit 'bcd5ebd98c203805c88eb5dad9edb0c24bbcee63':
  1.1 translator: WAR for GL_ALPHA_TEST_REF bug
2011-08-04 07:23:51 -07:00
David Turner
ddf8192faa am dba3c8bc: Merge "1.1 translator: glGet(GL_MAX_CLIP_PLANES) returns max 6"
* commit 'dba3c8bc91e634ae14ff2a5aef5ab41cecec2cc2':
  1.1 translator: glGet(GL_MAX_CLIP_PLANES) returns max 6
2011-08-04 07:23:49 -07:00
David Turner
2abeceb764 am a80ddadf: Merge "remove NV_WAR defines"
* commit 'a80ddadf037e491c997b17da58ea08219eb21bd7':
  remove NV_WAR defines
2011-08-04 07:23:46 -07:00
David Turner
3e6fbdd1b2 Merge "2.0 translator: link only if both shaders compile" 2011-08-04 07:10:38 -07:00