56513f5ff4f3e851c5f0cb38dc8851d18616b3c0 |
|
30-May-2012 |
Jesse Hall <jessehall@google.com> |
Move emugl system code to development.git Because of the way the SDK and Android system images are branched, host code that goes into the SDK tools can't live in the same repository as code that goes into the system image. This change keeps the emugl host code in sdk.git/emulator/opengl while moving the emugl system code to development.git/tools/emulator/opengl. A few changes were made beyond simply cloning the directories: (a) Makefiles were modified to only build the relevant components. Not doing so would break the build due to having multiple rule definitions. (b) Protocol spec files were moved from the guest encoder directories to the host decoder directories. The decoder must support older versions of the protocol, but not newer versions, so it makes sense to keep the latest version of the protocol spec with the decoder. (c) Along with that, the encoder is now built from checked in generated encoder source rather than directly from the protocol spec. The generated code must be updated manually. This makes it possible to freeze the system encoder version without freezing the host decoder version, and also makes it very obvious when a protocol changes is happening that will require special backwards-compatibility support in the decoder/renderer. (d) Host-only and system-only code were removed from the repository where they aren't used. (e) README and DESIGN documents were updated to reflect this split. No actual source code was changed due to the above. Change-Id: I2c936101ea0405b372750d36ba0f01e84d719c43
|
80d4ba77162126cfb60f9ca75f8a1d3a458ed31f |
|
18-Apr-2012 |
Jesse Hall <jessehall@google.com> |
Move emulator GLES from development.git to sdk.git The emulator GLES support has two interfaces: a host shared library interface used by QEMU, and a protocol between the platform and the host. The host library interface is not versioned; QEMU and the GLES renderer must match. The protocol on the other hand must be backwards compatible: a new GLES renderer must support an older platform image. Thus for branching purposes it makes more sense to put the GLES renderer in sdk.git, which is branched along with qemu.git for SDK releases. Platform images will be built against the protocol version in the platform branch of sdk.git. Change-Id: Ie73fce12815c9740e27d0f56caa53c6ceb3d30cc
|
b62e28ddde79314f9d556f8755b1c08dff9cdabd |
|
16-Apr-2012 |
Jesse Hall <jessehall@google.com> |
Move emulator GLES from development.git to sdk.git The emulator GLES support has two interfaces: a host shared library interface used by QEMU, and a protocol between the platform and the host. The host library interface is not versioned; QEMU and the GLES renderer must match. The protocol on the other hand must be backwards compatible: a new GLES renderer must support an older platform image. Thus for branching purposes it makes more sense to put the GLES renderer in sdk.git, which is branched along with qemu.git for SDK releases. Platform images will be built against the protocol version in the platform branch of sdk.git. Change-Id: Ibe2cf8de13520aa3fcbaf72328a15ece261d7b86
|
5d7f0875e9cda2d6ab37b49f0b6ceed8f0d16f45 |
|
19-Sep-2011 |
David 'Digit' Turner <digit@google.com> |
emulator: opengl: 'large' buffer optimization This patch modifies the guest encoding libraries to avoid un-necessary copies when sending large buffers (e.g. pixels) to the host. Instead, the data is sent directly through a new IOStream method (writeFully()). On my machine, this improves the NenaMark2 benchmark (from 50.8 to 57.1 fps). More importantly, this speeds up the display of non-GL surfaces too, which are sent through the special rcUpdateColorBuffer() function in gralloc_goldfish. This is noticeable in many parts of the UI (e.g. when scrolling through lists). To tag a given parameter, use the new 'isLarge' variable flag in the protocol .attrib file. Implemented for the following encoding functions: rcUpdateColorBuffer glTexSubImage2D glTexImage2Di glBufferData glBufferSubData glCompressedTexImage2D glCompressedTexSubImage2D glTexImage3DOES glTexSubImage3DOES glCompressedTexImage3DOES glCompressedTexSubImage3DOES + Optimize the auto-generated encoder functions to avoid repeated function calls (for size computations). Change-Id: I13a02607b606c40cd05984cd2051b1f3424bc2d0
|
4e6af749d5996edd6558821a7e400427f0457306 |
|
16-Sep-2011 |
David 'Digit' Turner <digit@google.com> |
emulator: opengl: Back-port GLES emulation from the master tree. The modules here are only built when BUILD_EMULATOR_OPENGL is defined to true in your environment or your BoardConfig.mk (see tools/emulator/opengl/Android.mk) Change-Id: I5f32c35b4452fb5a7b4d5f9fc5870ec1da6032e6
|
467e5fb1629c03b782b7c00068eeaf5d5a94546e |
|
01-Aug-2011 |
Guy Zadickario <guy@graphtech.co.il> |
opengles emulator: fixed renderer termination flow Handling clean exit of the renderer when stopOpenGLRenderer is called. This is done by openning a connection to the renderer and flag that it should exit. Added 'clientFlags' field which must be send after every connection is made to the renderer for this purpose. The server will wait for running rendering threads to exit and then will close all EGL/GL resources and will exit. The stopOpenGLRenderer will return only when the renderer has exited. Change-Id: I8272b8ea59d5fc78453bb7bd2d25908068869fa7
|
caafd4df2e0443e0c20dc405b1bfe3e947df36f8 |
|
08-Apr-2011 |
Guy Zadikario <guy@graphtech.co.il> |
Moved IOStream.h to be used in external API for libOpenGLRender. This change includes four changes: 1) moved IOStream.h into host/include/libOpenGLRender, this directory will include the api interface into the libOpenGLRender which will be used later by the emulator and we need this interface to use IOStream.h 2) Updated Andorid.mk files to include the new directory location of IOStream.h in the LOCAL_C_INCLUDE. 3) Added new function "read" to IOStream which reads a message without a givven size. 4) Updated TcpStream to use "cutils/sockets.h" instead of using directly the socket api for portability reasons. (It now compiles on windows as well). Change-Id: I30eb40c8dcd5aacf0d993aff9cdb90b283b12dde
|