Commit Graph

1193 Commits

Author SHA1 Message Date
David Turner
4065fbfc56 am 153c35f3: am d8bbe0ce: Merge "emulator Opengl - number of supported vertex attributes"
* commit '153c35f3354e7283c2e2f4071b7788eb33132af2':
  emulator Opengl - number of supported vertex attributes
2011-05-03 13:42:52 -07:00
David Turner
9c79c3c17b am 003f8d12: am e72ec4bf: Merge "adding support for getting gles proc address from eglGetProcAdress"
* commit '003f8d1275e9c95d3f5646b8a2f9c13c3a6a3038':
  adding support for getting gles proc address from eglGetProcAdress
2011-05-03 13:42:45 -07:00
David Turner
80412bab31 am d1286137: am 8e2dc32b: Merge "Add GLESv2 functionality to GLESv1/GLESv2 shared code"
* commit 'd1286137f73a6547f6728f9d76752b59ad60c720':
  Add GLESv2 functionality to GLESv1/GLESv2 shared code
2011-05-03 13:42:38 -07:00
David Turner
2cb730f33f am ec0369de: am 77b1a456: Merge "Move utility functions into glUtils"
* commit 'ec0369deccf45313376a00849c43f9a9c18fa621':
  Move utility functions into glUtils
2011-05-03 13:42:25 -07:00
David Turner
11540e0aaf am 835aef2c: Merge "emulator: opengl: Fix Mac and Windows builds."
* commit '835aef2ce8f1e63454868471d5184a13f8b2415b':
  emulator: opengl: Fix Mac and Windows builds.
2011-05-03 12:55:11 -07:00
David 'Digit' Turner
2076f0fd16 am caa6ddbe: Merge "emulator: opengl: Add clean step."
* commit 'caa6ddbe8e6a5cb1141a87a4962b84c64fb4cc28':
  emulator: opengl: Add clean step.
2011-05-03 12:55:08 -07:00
David 'Digit' Turner
937322d250 am 4ad320d8: Merge "adding error handling for Xerrors on EGl linux implementation (EglLinuxApi.cpp)"
* commit '4ad320d819064f288c8bcfac18a5584e2c1b34d9':
  adding error handling for Xerrors on EGl linux implementation (EglLinuxApi.cpp)
2011-05-03 12:55:06 -07:00
David 'Digit' Turner
9ffa5d9043 am d73fbc24: Merge "emulator: opengl: Use QEMU pipe."
* commit 'd73fbc24fe703e9866a63b8950954430af46bca1':
  emulator: opengl: Use QEMU pipe.
2011-05-03 12:55:02 -07:00
David Turner
ade2d9c49e am 02d918b0: Merge "common debug flag for the wrapper libraries"
* commit '02d918b0cbf96ad18f0c22f963c3bfb4d20899f4':
  common debug flag for the wrapper libraries
2011-05-03 12:54:59 -07:00
David Turner
cb06d63476 am d82e3bed: Merge "emulator opengl: handle NULL pointers"
* commit 'd82e3bedd000a6f57763272e2452e8af2973823b':
  emulator opengl: handle NULL pointers
2011-05-03 12:54:56 -07:00
David Turner
1522331437 am d6ff1cc8: Merge "emugen: porperly handle nullAllowed API calls"
* commit 'd6ff1cc8e5805058152020661082f5f1bd9d58a8':
  emugen: porperly handle nullAllowed API calls
2011-05-03 12:54:51 -07:00
David Turner
3c87fcdc42 am cb8efdf0: Merge "emulator opengl: missing constant in glUtilsParamSize"
* commit 'cb8efdf09efd56f723426a2c165ae6f542bf1a9b':
  emulator opengl: missing constant in glUtilsParamSize
2011-05-03 12:54:45 -07:00
David Turner
7cc315debd am ecd4dd7b: Merge "emulator opengl - ensure server connection for rendering thread"
* commit 'ecd4dd7b6a7ab9a88454ebef17a07a34f3ce966d':
  emulator opengl - ensure server connection for rendering thread
2011-05-03 12:54:40 -07:00
David Turner
24d217ce70 am f549d0b3: Merge "emulator opengl : add Dungeon Defenders to the test apps list"
* commit 'f549d0b3ae3bed0a827fdb433cdf32d87c63d3b2':
  emulator opengl : add Dungeon Defenders to the test apps list
2011-05-03 12:54:36 -07:00
David Turner
e43081d3e7 am 413e35ed: Merge changes I9226275f,If78e8431,I3e36796d,I90c157df
* commit '413e35ed292e59b62df920e41b1e7cf97fa21964':
  opengl emulator : GLESv2 handling in the test egl implementation
  emulator opengl : unit-test renderer  GLESv2
  emulator opengl: context version param
  emulator opengl - encode glShaderSource
2011-05-03 12:54:32 -07:00
David Turner
d4427e5758 am d10c9651: Merge "opengl emulator - handle shader string decoding"
* commit 'd10c96517b17a786a7b7614f6279a0f4880848e9':
  opengl emulator - handle shader string decoding
2011-05-03 12:54:28 -07:00
David Turner
2608ce9cc1 am 5b840fb3: Merge "emulator opengl - GLESv2 implementation"
* commit '5b840fb32b8daaa75533fa8af010f0fb281b28f4':
  emulator opengl - GLESv2 implementation
2011-05-03 12:54:23 -07:00
David Turner
975a39baa3 am 26aad35e: Merge "emulator opengl: typo caused the decoder to crash"
* commit '26aad35effe8006cefd246c655cf299f1e5cdf1e':
  emulator opengl: typo caused the decoder to crash
2011-05-03 12:54:18 -07:00
David Turner
699650b50b am 4fc26310: Merge "Emulator Opengl unit test - use sperate implementation libraries"
* commit '4fc26310512a118e2ec00f4fcc50d6d7671b8f75':
  Emulator Opengl unit test - use sperate implementation libraries
2011-05-03 12:54:13 -07:00
David Turner
43a4beea24 am 1dac46ff: Merge "Emulator Opengl - adding preliminary version of GLESv2 encoder"
* commit '1dac46ff9f635203aa28f0eda4af356533dadaa4':
  Emulator Opengl - adding preliminary version of GLESv2 encoder
2011-05-03 12:54:08 -07:00
David Turner
d043a68144 am 3dadd581: Merge "emugen: make \'setContextAccessor\' method static"
* commit '3dadd58183bd5f808fefa5709a18e42a1c208737':
  emugen: make 'setContextAccessor' method static
2011-05-03 12:54:01 -07:00
David Turner
cf0dd28b87 am a80adff3: Merge "emugen - fix wrapper context naming"
* commit 'a80adff329db784d8e22510668a4613a4031da0f':
  emugen - fix wrapper context naming
2011-05-03 12:53:52 -07:00
David Turner
2bd2dcb395 am 13006a26: Merge "emugen: generate wrapper library files"
* commit '13006a265736ad992f4918707a895d3549e2f1f0':
  emugen: generate wrapper library files
2011-05-03 12:53:46 -07:00
David Turner
071f3aaa15 am 351c4d55: Merge "emulator Opengl - slight type change for GLESv2"
* commit '351c4d55b7fbf3e1730878a845c5411fd724d7e0':
  emulator Opengl - slight type change for GLESv2
2011-05-03 12:53:40 -07:00
David Turner
153c35f335 am d8bbe0ce: Merge "emulator Opengl - number of supported vertex attributes"
* commit 'd8bbe0ce838663738a14dcc269e5793b6e978221':
  emulator Opengl - number of supported vertex attributes
2011-05-03 12:53:20 -07:00
David Turner
003f8d1275 am e72ec4bf: Merge "adding support for getting gles proc address from eglGetProcAdress"
* commit 'e72ec4bfbda1aef6faebd20c0afc19ace53b308e':
  adding support for getting gles proc address from eglGetProcAdress
2011-05-03 12:53:14 -07:00
David Turner
d1286137f7 am 8e2dc32b: Merge "Add GLESv2 functionality to GLESv1/GLESv2 shared code"
* commit '8e2dc32b2d540f09a22dc447b53442070477498e':
  Add GLESv2 functionality to GLESv1/GLESv2 shared code
2011-05-03 12:53:07 -07:00
David Turner
ec0369decc am 77b1a456: Merge "Move utility functions into glUtils"
* commit '77b1a4565ca4f6599a4848dd1d83b12727b1ebbc':
  Move utility functions into glUtils
2011-05-03 12:52:52 -07:00
David Turner
fdd5607a6d emulator: opengl: Fix Mac and Windows builds.
+ Fix typo in clean step.

Change-Id: I1da8b17a167247d252b5e8519832b042c2db3ccd
2011-05-03 18:29:27 +02:00
David 'Digit' Turner
e22ae45128 emulator: opengl: Add clean step.
The previous changes replaced /system/lib/libGLES_emul.so with
several other libraries (lib{EGL, GLESv1_CM, GLESv2}_emul.so).

The clean step removes the old libGLES_emul.so from the build to
avoid any surprises.

Change-Id: I285b34c4d5f5a8bd3b37d9cb1b2da33fb155e62c
2011-05-03 16:55:11 +02:00
David 'Digit' Turner
4707d72787 adding error handling for Xerrors on EGl linux implementation (EglLinuxApi.cpp)
Change-Id: Ib8535e2c25c7de67c8d7830a644643b52742ceaa
2011-05-03 16:42:44 +02:00
David 'Digit' Turner
892a6306e7 emulator: opengl: Use QEMU pipe.
This patch modifies the guest libraries to use the new
fast qemu "opengles" pipe to communicate with the host
renderer process.

Note that the renderer is still listening on a TCP socket
on port 22468.

Change-Id: I6ab84f972a8024e1fdababa4615d0650c8d461bf

Conflicts:

	tools/emulator/opengl/tests/gles_android_wrapper/Android.mk
	tools/emulator/opengl/tests/gles_android_wrapper/ServerConnection.h
2011-05-03 16:21:12 +02:00
Jacky Romano
7b73c9f1d3 common debug flag for the wrapper libraries
Change-Id: I6f20ed1e7a2b95dee21e09aa9b43fae22e5e4d3d
2011-05-03 16:12:26 +02:00
Jacky Romano
59ad4dfd2b emulator opengl: handle NULL pointers
glTexImage[2,3]D and glBufferData properly handle NULL pointer
parameter

Change-Id: If799d41966b700b8fae3e7a68cac5b3a488b0146
2011-05-03 16:04:34 +02:00
Jacky Romano
5fb23be610 emugen: porperly handle nullAllowed API calls
This change fixes bugs in the encoder and decoder code generation
with nullAllowed flaged parameters

Change-Id: I7b196fbb41bbb2cfaa429e7c1dde3a415778ee51
2011-05-03 16:03:49 +02:00
Jacky Romano
a003fb6596 emulator opengl: missing constant in glUtilsParamSize
GL_MAX_TEXTURE_IMAGE_UNITS

Change-Id: I5cb5747fcb94fe919600f8f0f18e72fc2e94e51f
2011-05-03 16:02:58 +02:00
Jacky Romano
4a17ab6429 emulator opengl - ensure server connection for rendering thread
Ensure a server connection creation on make current, for cases where
the context and surface was created on a seperate thread.

In addition this commit publishes all the surface as ES2 capable
if queried.

Change-Id: Ie415b8ab3e370fa7fe97a526276e333aaa5e9e8b
2011-05-03 16:01:31 +02:00
Jacky Romano
bfefa4dbc8 emulator opengl : add Dungeon Defenders to the test apps list
Change-Id: Ia97db38daa672e5d9d265e2ffa5bd169b59bd7d5
2011-05-03 15:53:41 +02:00
Jacky Romano
44d4d9473e opengl emulator : GLESv2 handling in the test egl implementation
Handle GLESv2 rendering in the emulator:
* load and initialize GLESv2 encoder library
* hide request for GLESv2 surfaces and contexts from the emulator
native implementation
* communicate the context/surface version configuration to the rendering
server

Change-Id: I9226275fc4a24983767735bdf19ddafbe9d07f34
2011-05-03 15:49:02 +02:00
Jacky Romano
0c01f32aa2 emulator opengl : unit-test renderer GLESv2
Make the unit test renderer (ut_renderer) encode GLESv2 commands.
A rendering thread has both V1 & V2 decoder object, and tryies to decode
commands of the two protocols from the stream.
Context creating is taking into account the API version and creates context
accordingly.
Decoder data is shared between the V1 & V2 decoders and applied to both of
them on makeCurrent (regardless to the requested context version)

Change-Id: If78e84310e5dcd22108c19656051b138b22e3c9f
2011-05-03 15:47:07 +02:00
Jacky Romano
25af30c464 emulator opengl: context version param
add version parameter when creating new context

Change-Id: I3e36796dd4e582b5deda0da2aaf764ceba92a1d1
2011-05-03 15:46:43 +02:00
Jacky Romano
0c814b227c emulator opengl - encode glShaderSource
glShaderSource strings are concatenated into a single string
before sent over the wire protocol. The wire protocol transfer is
done using a special api call 'glShaderString'

Change-Id: I90c157df66fe82fee17c460a1e7852d370c77088
2011-05-03 15:25:25 +02:00
Jacky Romano
68e7ee63f5 opengl emulator - handle shader string decoding
Shader strings are sent over the wire protocal as one concatenated
string. a special api call - glShaderString is used to handle the
encoding and decoding of this string.

Change-Id: Id682763f35e9fcc6215559931db2112a4fa981a9
2011-05-03 15:15:25 +02:00
Jacky Romano
b95e444f2b emulator opengl - GLESv2 implementation
Decoder side implementation for GLESv2

Change-Id: I5db0c0acd2ef52a156487a99ece5cd2f5b073616
2011-05-03 15:11:36 +02:00
Jacky Romano
804809556d emulator opengl: typo caused the decoder to crash
embarrassing :-)

Change-Id: I4da948bba0cd16b6e8289c3c79e0daefb41f90e4
2011-05-03 14:54:04 +02:00
Jacky Romano
e359543f4a Emulator Opengl unit test - use sperate implementation libraries
Use seperate EGL_emul, GLESv1_CM_emul and GLESv2_emul implementation
libraries.  This replaces GLES_emul that was prviously included
EGL and GLESv1.
This change enables the wrapper to support GLESv2. However,
this current EGL implementation uses the native android emulator
EGL thus will not expose this GLESv2 capability.

Change-Id: Ib0a309d71cce1248efe9a08aa59434101d0ac607
2011-05-03 14:54:04 +02:00
Jacky Romano
318ffd3798 Emulator Opengl - adding preliminary version of GLESv2 encoder
This preliminary version includes the API definition, and the
GL2Encoder implementation class

Change-Id: I7ef9cfeb98c1e85097287ab26733825087368ee0
2011-05-03 14:54:03 +02:00
Jacky Romano
979bbff8c0 emugen: make 'setContextAccessor' method static
Change-Id: Iad924f77464236af2d78e147276125ee0e481073
2011-05-03 14:42:47 +02:00
Jacky Romano
a3b48dbbe7 emugen - fix wrapper context naming
Change-Id: I5261c5f94f200480bad4ad74812c20302a5e81d5
2011-05-03 14:41:52 +02:00
Jacky Romano
ea3a3584f5 emugen: generate wrapper library files
Add functionality to generate a wrapper library. A wrapper library includes:
1. entry points
2. dispatch table (accessed from the library entry points)
3. dispatch table accessor callback
4. dispatch table initialization function

Note that the dispatch table initialization function used to be part of the decoder. This
change moves it to be part of the dispatch table layer where it belongs.

Change-Id: Ide6764a17cc029056f9946e778a513cdc2a49003
2011-05-03 14:40:52 +02:00