| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
Change-Id: I1ff304d540c75c4d27c5fddeb7315e177d366fb3
|
| |\
| |
| |
| |
| | |
* commit 'f39c1088f08e194a212f55a246bac85036f62a42':
"debug" in those modules is discouraged
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Because we need those modules for only emulator builds.
If you mark them as "debug", you'll get them even if you are doing a
real device userdebug/eng build.
Instead, we should add their module names to the emulator product config
in build/target/product/emulator.mk.
Bug: 8276818
Change-Id: I58988ce49804583b06e7d93380c44ba800448216
|
| |/
|
|
| |
Change-Id: I1008d779a9d333dc8968812d22e387b804e3c570
|
| |
|
|
|
|
|
|
| |
Missing project ready to go.
This reverts commit 9642da51023d5dadaa3b544f100e84dfdbcabea3
Change-Id: I08a43e9cdcb06bd6b74fd08809bbaf801c2eb44f
|
| |
|
|
|
|
|
|
| |
More dependent projects than I realized
This reverts commit a84522d2f373aeb859490ec4015f548956a4818d
Change-Id: Ifb50c94a2a5dfa91573f07695d8f3bfcadc79742
|
| |
|
|
|
|
|
|
| |
This is needed for passing buffers to the camera HAL for reprocessing.
Bug: 6243944
Change-Id: Ibf8d15aead571ddb3b62674cf7afe0d508ca24e7
|
| |
|
|
|
|
|
| |
Stop using CAMERA2_HAL_PIXEL_FORMAT_OPAQUE.
Bug: 6243944
Change-Id: I96ea30228b126b4eed560a760269cb50bbbb62f7
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
|
| |
Bug: 6243944
Change-Id: I5f416ab0ae15143df422c0f79d91841984b4fabe
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
This is needed for Camera HAL2 video recording.
Bug: 6243944
Change-Id: I47a3e65117881612fb95068a80f811cc8378fbc6
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
| |
Bug: 6243944
Change-Id: I2864bc59be9df8741639a291c71e2f65dde5bc0b
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
Change-Id: I8911328d5dcccdf4731bd2d8fd953c12fdec5f1b
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |\
| |
| |
| |
| | |
* commit 'b0a30e43889415a9a40b9519392ad3be295b9465':
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
|
| |\|
| |
| |
| |
| | |
* commit '96cd9c3130b6215534e863b94637b384da8102c9':
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
|
| |\|
| |
| |
| |
| | |
* commit 'af4f66be50b17c8b8fce1dda53389bb0a10968ba':
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
|
| | |
| |
| |
| | |
Change-Id: I5b403056f5245eae9a6476d9d573a3b1c25ea0c6
|
| |/
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
+ shut up the gralloc module for now.
Change-Id: I7d22c63f298c4e50d96655adf4025a65b7405c28
|
| |
|
|
| |
Change-Id: I3afc5197d2d13c4698a535ed769a56920e81c94f
|
| |
|
|
| |
Change-Id: I788904a597b7929a7fc7a5db3cf5baa79b9f1936
|
| |
|
|
|
|
| |
+ fix a typo.
Change-Id: I4c290d673de5eff24998b97cfb996d9da17dd006
|
|
|
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
|