18f28c0c218cbe7337f5d2dce7eaa96098de93f7 |
04-Sep-2012 |
Eino-Ville Talvala <etalvala@google.com> |
Revert "Revert "Gralloc: Support HW_CAMERA_READ/HW_CAMERA_ZSL usage."" Missing project ready to go. This reverts commit 9642da51023d5dadaa3b544f100e84dfdbcabea3 Change-Id: I08a43e9cdcb06bd6b74fd08809bbaf801c2eb44f
ralloc/gralloc.cpp
|
9642da51023d5dadaa3b544f100e84dfdbcabea3 |
04-Sep-2012 |
Eino-Ville Talvala <etalvala@google.com> |
Revert "Gralloc: Support HW_CAMERA_READ/HW_CAMERA_ZSL usage." More dependent projects than I realized This reverts commit a84522d2f373aeb859490ec4015f548956a4818d Change-Id: Ifb50c94a2a5dfa91573f07695d8f3bfcadc79742
ralloc/gralloc.cpp
|
a84522d2f373aeb859490ec4015f548956a4818d |
02-Sep-2012 |
Eino-Ville Talvala <etalvala@google.com> |
Gralloc: Support HW_CAMERA_READ/HW_CAMERA_ZSL usage. This is needed for passing buffers to the camera HAL for reprocessing. Bug: 6243944 Change-Id: Ibf8d15aead571ddb3b62674cf7afe0d508ca24e7
ralloc/gralloc.cpp
|
33c3f777600ad66118e72fd0f28fe71f79ee6f8c |
28-Aug-2012 |
Eino-Ville Talvala <etalvala@google.com> |
EmulatedFakeCamera2: Use HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED Stop using CAMERA2_HAL_PIXEL_FORMAT_OPAQUE. Bug: 6243944 Change-Id: I96ea30228b126b4eed560a760269cb50bbbb62f7
penglSystemCommon/gralloc_cb.h
ralloc/gralloc.cpp
|
61649d232c96e00d377fcc437e03babef075eef5 |
20-Aug-2012 |
Eino-Ville Talvala <etalvala@google.com> |
Emulator gralloc: Fix RAW_SENSOR conditions. Allow RAW_SENSOR to be used for any combination of CPU read/write and Camera read/write, instead of only camera->cpu or cpu->camera. Change-Id: I032b9531e9069a202c1a3767b77975c808703285
ralloc/gralloc.cpp
|
34a4d2d51993f4886d0975c59933c577a372b599 |
17-Aug-2012 |
Eino-Ville Talvala <etalvala@google.com> |
Emulator gralloc: Support YV12 Bug: 6243944 Change-Id: I5f416ab0ae15143df422c0f79d91841984b4fabe
ralloc/gralloc.cpp
|
4d57cb8d6542f7fd82614a082de4b835de0d60eb |
18-Jul-2012 |
Eino-Ville Talvala <etalvala@google.com> |
gralloc: Add automatic format selection. DO NOT MERGE Have gralloc_alloc be able to select the appropriate pixel format given the endpoints, triggered by new GRALLOC_EMULATOR_PIXEL_FORMAT_AUTO format. Currently supports camera->screen, and camera->video encoder. Bug: 6243944 Change-Id: Ib1bf8da8d9184ac99e7f50aad09212c146c32809
penglSystemCommon/gralloc_cb.h
gl/egl.cpp
ralloc/gralloc.cpp
|
3461561ccf3fe10aa6d7e9b74a0a27ad76380410 |
12-Jul-2012 |
Eino-Ville Talvala <etalvala@google.com> |
gralloc: Support HAL_PIXEL_FORMAT_YCrCb_420_SP (NV21) This is needed for Camera HAL2 video recording. Bug: 6243944 Change-Id: I47a3e65117881612fb95068a80f811cc8378fbc6
ralloc/gralloc.cpp
|
e705cdde0db7dc9e85cbca0d9924e4432b5d1c7c |
22-Jun-2012 |
Jesse Hall <jessehall@google.com> |
Update to renamed ANativeWindow methods A few ANativeWindow methods were updatd to take a Sync HAL file descriptor, and the existing methods were renamed with a _DEPRECATED suffix. Since the emulator graphics acceleration doesn't yet support the sync HAL, this change continues calling the deprecated functions via their new names. Change-Id: I5b1760811fafb6723ede887e32e63f94cbaeffe5
gl/egl.cpp
|
2a2ada537a911fed07242f62ebdfde70c32cf09c |
13-Jun-2012 |
Eino-Ville Talvala <etalvala@google.com> |
Emulator gralloc: Support HAL_PIXEL_FORMAT_BLOB Bug: 6243944 Change-Id: I2864bc59be9df8741639a291c71e2f65dde5bc0b
ralloc/gralloc.cpp
|
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
LESv1/Android.mk
LESv1/gl.cpp
LESv1_enc/Android.mk
LESv1_enc/GLEncoder.cpp
LESv1_enc/GLEncoder.h
LESv1_enc/GLEncoderUtils.cpp
LESv1_enc/GLEncoderUtils.h
LESv1_enc/gl_client_context.cpp
LESv1_enc/gl_client_context.h
LESv1_enc/gl_client_proc.h
LESv1_enc/gl_enc.cpp
LESv1_enc/gl_enc.h
LESv1_enc/gl_entry.cpp
LESv1_enc/gl_ftable.h
LESv1_enc/gl_opcodes.h
LESv1_enc/gl_types.h
LESv2/Android.mk
LESv2/gl2.cpp
LESv2_enc/Android.mk
LESv2_enc/GL2Encoder.cpp
LESv2_enc/GL2Encoder.h
LESv2_enc/GL2EncoderUtils.cpp
LESv2_enc/GL2EncoderUtils.h
LESv2_enc/gl2_client_context.cpp
LESv2_enc/gl2_client_context.h
LESv2_enc/gl2_client_proc.h
LESv2_enc/gl2_enc.cpp
LESv2_enc/gl2_enc.h
LESv2_enc/gl2_entry.cpp
LESv2_enc/gl2_ftable.h
LESv2_enc/gl2_opcodes.h
LESv2_enc/gl2_types.h
penglSystemCommon/Android.mk
penglSystemCommon/EGLClientIface.h
penglSystemCommon/HostConnection.cpp
penglSystemCommon/HostConnection.h
penglSystemCommon/QemuPipeStream.cpp
penglSystemCommon/QemuPipeStream.h
penglSystemCommon/ThreadInfo.cpp
penglSystemCommon/ThreadInfo.h
penglSystemCommon/gralloc_cb.h
gl/Android.mk
gl/ClientAPIExts.cpp
gl/ClientAPIExts.h
gl/ClientAPIExts.in
gl/egl.cfg
gl/egl.cpp
gl/eglContext.h
gl/eglDisplay.cpp
gl/eglDisplay.h
gl/egl_ftable.h
ralloc/Android.mk
ralloc/gralloc.cpp
enderControl_enc/Android.mk
enderControl_enc/README
enderControl_enc/renderControl.attrib
enderControl_enc/renderControl.in
enderControl_enc/renderControl.types
enderControl_enc/renderControl_client_context.cpp
enderControl_enc/renderControl_client_context.h
enderControl_enc/renderControl_client_proc.h
enderControl_enc/renderControl_enc.cpp
enderControl_enc/renderControl_enc.h
enderControl_enc/renderControl_entry.cpp
enderControl_enc/renderControl_ftable.h
enderControl_enc/renderControl_opcodes.h
enderControl_enc/renderControl_types.h
|
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
LESv1/Android.mk
LESv1/gl.cpp
LESv1_enc/Android.mk
LESv1_enc/GLEncoder.cpp
LESv1_enc/GLEncoder.h
LESv1_enc/GLEncoderUtils.cpp
LESv1_enc/GLEncoderUtils.h
LESv1_enc/gl.addon
LESv1_enc/gl.attrib
LESv1_enc/gl.in
LESv1_enc/gl.types
LESv1_enc/gl_types.h
LESv2/Android.mk
LESv2/gl2.cpp
LESv2_enc/Android.mk
LESv2_enc/GL2Encoder.cpp
LESv2_enc/GL2Encoder.h
LESv2_enc/GL2EncoderUtils.cpp
LESv2_enc/GL2EncoderUtils.h
LESv2_enc/gl2.attrib
LESv2_enc/gl2.in
LESv2_enc/gl2.types
LESv2_enc/gl2_types.h
penglSystemCommon/Android.mk
penglSystemCommon/EGLClientIface.h
penglSystemCommon/HostConnection.cpp
penglSystemCommon/HostConnection.h
penglSystemCommon/QemuPipeStream.cpp
penglSystemCommon/QemuPipeStream.h
penglSystemCommon/ThreadInfo.cpp
penglSystemCommon/ThreadInfo.h
penglSystemCommon/gralloc_cb.h
gl/Android.mk
gl/ClientAPIExts.cpp
gl/ClientAPIExts.h
gl/ClientAPIExts.in
gl/egl.cfg
gl/egl.cpp
gl/eglContext.h
gl/eglDisplay.cpp
gl/eglDisplay.h
gl/egl_ftable.h
ralloc/Android.mk
ralloc/gralloc.cpp
enderControl_enc/Android.mk
enderControl_enc/README
enderControl_enc/renderControl.attrib
enderControl_enc/renderControl.in
enderControl_enc/renderControl.types
enderControl_enc/renderControl_types.h
|
7ef79e49c7e8f1ecf19a92114f41de39d102a3e8 |
25-Feb-2012 |
Jesse Hall <jessehall@google.com> |
EmuGL: don't [de]queue buffers in eglMakeCurrent Whenever a surface was attached to a context, it was dequeing a new buffer, and enqueing it when detached. This has the effect of doing a SwapBuffers on detach/attach cycle, which is just wrong and occasionally caused visible glitches (e.g. animations going backwards for one frame). It also broke some SurfaceTexture tests which (validly) depend on specific buffer production/consumption counts. Change-Id: Ibd4761e8842871b79fd9edf52272900193cb672d
gl/egl.cpp
|
cbc7300cb209a4fd3b250546c72c35b7bb0aa8a1 |
24-Feb-2012 |
Jesse Hall <jessehall@google.com> |
EmuGL: enable SurfaceTexture async mode Pass the swap interval from eglSwapInterval to the native window so it can enable/disable SurfaceTexture's async mode. Fixes the deadlock in SurfaceTextureGLToGLTest.EglDestroySurfaceUnrefsBuffers. Change-Id: I19bf69247341f5617223722df63d6c7f8cf389c6
gl/egl.cpp
|
d6bd1843ce6ffd18b8dd7105052572b2c3af876a |
23-Nov-2011 |
Jesse Hall <jessehall@google.com> |
EmuGL: GLESv2 support for OES_EGL_image_external Change-Id: I8911328d5dcccdf4731bd2d8fd953c12fdec5f1b
LESv2/gl2.cpp
LESv2_enc/GL2Encoder.cpp
LESv2_enc/GL2Encoder.h
|
00e61338b8374de090e81537047846ca06f88280 |
23-Nov-2011 |
Jesse Hall <jessehall@google.com> |
EmuGL: refinements to GLESv1 image_external * EGLImageTargetRenderbufferStorageOES was incorrectly accepting TEXTURE_EXTERNAL_OES as a target. Revert that; the host GL will correctly reject it with INVALID_ENUM. * Handle the REQUIRED_TEXTURE_IMAGE_UNITS_OES texparameter query. * Validate texture parameters set on TEXTURE_EXTERNAL textures; otherwise invalid parameters would work on the emulator but not on a real device. Change-Id: I49a088608d58a9822f33e5916bd354eee3709127
LESv1/gl.cpp
LESv1_enc/GLEncoder.cpp
|
ac018fe3f65e18083a2dd317f73e4139bfa5fee6 |
21-Feb-2012 |
Jesse Hall <jessehall@google.com> |
EmuGL: refcount ColorBuffers on the host The gralloc API assumes system-wide reference counting of gralloc buffers. The host-GL accelerated gralloc maps buffers to host-side ColorBuffer objects, but was destroying them unconditionally in gralloc_free(), ignoring any additional references from gralloc_register_buffer(). This affected the SurfaceTexture gralloc buffers used by the Browser/WebView. For some reason these buffers are actually allocated by SurfaceFlinger and passed back to the WebView through Binder. But since SurfaceFlinger doesn't actually need the buffer for anything, sometime after the WebView has called gralloc_register_buffer() SurfaceFlinger calls gralloc_free() on it. This caused the host ColorBuffer to be destroyed long before the WebView is done using it. Change-Id: I33dbee887a48a6907041cf19e9f38a1f6c983eff
gl/egl.cpp
ralloc/gralloc.cpp
enderControl_enc/README
enderControl_enc/renderControl.in
|
5d721ef6a14dc22c6b44042f83f3a48ad68d05d4 |
13-Dec-2011 |
Jesse Hall <jessehall@google.com> |
am b0a30e43: EmuGL: remove broken EGL buffer refcounting * commit 'b0a30e43889415a9a40b9519392ad3be295b9465': EmuGL: remove broken EGL buffer refcounting
|
b0a30e43889415a9a40b9519392ad3be295b9465 |
12-Dec-2011 |
Jesse Hall <jessehall@google.com> |
EmuGL: remove broken EGL buffer refcounting The emulator EGL implementation tried to hold its own reference to buffers acquired/released with dequeueBuffer/queueBuffer, but was missing an incRef after dequeueBuffer during swapBuffers. Since the native window holds a reference to the buffer between dequeueBuffer and queueBuffer, the EGL reference isn't needed anyway. Change-Id: I95e4f9f4faf59198f99939cdca6603fe176c56bc
gl/egl.cpp
|
c08eaec1e2d4f5bd9edc0fd764184b8095a4fce3 |
01-Dec-2011 |
Jesse Hall <jessehall@google.com> |
am 96cd9c31: Merge "EmuGL: capture VBO contents in GL2Encoder" into ics-mr0 * commit '96cd9c3130b6215534e863b94637b384da8102c9': EmuGL: capture VBO contents in GL2Encoder
|
7906431d04763c920c8b85ab0a15be599e310c1f |
01-Dec-2011 |
Jesse Hall <jessehall@google.com> |
EmuGL: capture VBO contents in GL2Encoder The glBufferData, glBufferSubData, and glDeleteBuffers entry points had interception routines in GL2Encoder which cache the data, but they weren't hooked up. So when glDrawElements tried to retrieve the cached data it wasn't there. Change-Id: Iaed11fccaefab3186485be53a0f15c8ca0a255f9
LESv2_enc/GL2Encoder.cpp
|
3a655154d00e5ea67218bc3b5afb09b654a17156 |
23-Nov-2011 |
Jesse Hall <jessehall@google.com> |
am af4f66be: EmuGL: implement OES_EGL_image_external for GLESv1 * commit 'af4f66be50b17c8b8fce1dda53389bb0a10968ba': EmuGL: implement OES_EGL_image_external for GLESv1
|
af4f66be50b17c8b8fce1dda53389bb0a10968ba |
16-Nov-2011 |
Jesse Hall <jessehall@google.com> |
EmuGL: implement OES_EGL_image_external for GLESv1 GLESv2 support will come in a followup change but will take advantage of the GLClientState changes. Change-Id: Ib6cbb4dafbd071e3b59b1e5d808b3e23656ada92
LESv1/gl.cpp
LESv1_enc/GLEncoder.cpp
LESv1_enc/GLEncoder.h
LESv2/gl2.cpp
|
9c1439679116a79d924410c4a5dc74573201cd15 |
16-Nov-2011 |
Mathias Agopian <mathias@google.com> |
should fix sdk build Change-Id: I5b403056f5245eae9a6476d9d573a3b1c25ea0c6
gl/egl.cpp
gl/egl_ftable.h
|
0e205e6d6e8a032683597a0a1293925b7b9e462d |
19-Oct-2011 |
David 'Digit' Turner <digit@google.com> |
emulator: opengl: minor fix and reformatting This patches fixes a minor invalid usage of delete (instead of delete[]) and reformats the source code a little to make it more obvious. Change-Id: If853d12e74549abcc6682430c837b0f14da81fdc
penglSystemCommon/HostConnection.cpp
gl/egl.cpp
|
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
LESv1_enc/gl.attrib
LESv2_enc/gl2.attrib
penglSystemCommon/QemuPipeStream.h
enderControl_enc/renderControl.attrib
|
e72ed049a890da6883b0de09a2263b88b648391a |
20-Sep-2011 |
David 'Digit' Turner <digit@google.com> |
emulator: opengl: improve gralloc debug traces + shut up the gralloc module for now. Change-Id: I7d22c63f298c4e50d96655adf4025a65b7405c28
ralloc/gralloc.cpp
|
9a6c02877a128a0236377ee21b78767faa50ad83 |
19-Sep-2011 |
David 'Digit' Turner <digit@google.com> |
emulator: opengl: fix inccorect delete usage. Change-Id: I3afc5197d2d13c4698a535ed769a56920e81c94f
LESv1_enc/GLEncoder.cpp
|
6aca3d9f7c8e637ec253ca1d501d8b91d3e63770 |
19-Sep-2011 |
David 'Digit' Turner <digit@google.com> |
emulator: opengl: add missing EGLDisplay destructor Change-Id: I788904a597b7929a7fc7a5db3cf5baa79b9f1936
gl/eglDisplay.cpp
gl/eglDisplay.h
|
8abfab1baf04ebd57f8eff74485b746d56368014 |
19-Sep-2011 |
David 'Digit' Turner <digit@google.com> |
emulator: opengl: make internal tables const. + fix a typo. Change-Id: I4c290d673de5eff24998b97cfb996d9da17dd006
gl/ClientAPIExts.cpp
gl/ClientAPIExts.in
gl/eglDisplay.cpp
gl/egl_ftable.h
|
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
LESv1/Android.mk
LESv1/gl.cpp
LESv1_enc/Android.mk
LESv1_enc/GLEncoder.cpp
LESv1_enc/GLEncoder.h
LESv1_enc/GLEncoderUtils.cpp
LESv1_enc/GLEncoderUtils.h
LESv1_enc/gl.addon
LESv1_enc/gl.attrib
LESv1_enc/gl.in
LESv1_enc/gl.types
LESv1_enc/gl_types.h
LESv2/Android.mk
LESv2/gl2.cpp
LESv2_enc/Android.mk
LESv2_enc/GL2Encoder.cpp
LESv2_enc/GL2Encoder.h
LESv2_enc/GL2EncoderUtils.cpp
LESv2_enc/GL2EncoderUtils.h
LESv2_enc/gl2.attrib
LESv2_enc/gl2.in
LESv2_enc/gl2.types
LESv2_enc/gl2_types.h
penglSystemCommon/Android.mk
penglSystemCommon/EGLClientIface.h
penglSystemCommon/HostConnection.cpp
penglSystemCommon/HostConnection.h
penglSystemCommon/QemuPipeStream.cpp
penglSystemCommon/QemuPipeStream.h
penglSystemCommon/ThreadInfo.cpp
penglSystemCommon/ThreadInfo.h
penglSystemCommon/gralloc_cb.h
gl/Android.mk
gl/ClientAPIExts.cpp
gl/ClientAPIExts.h
gl/ClientAPIExts.in
gl/egl.cfg
gl/egl.cpp
gl/eglContext.h
gl/eglDisplay.cpp
gl/eglDisplay.h
gl/egl_ftable.h
ralloc/Android.mk
ralloc/gralloc.cpp
enderControl_enc/Android.mk
enderControl_enc/README
enderControl_enc/renderControl.attrib
enderControl_enc/renderControl.in
enderControl_enc/renderControl.types
enderControl_enc/renderControl_types.h
|