This patch allows an auto-generated GLES encoder function to write
'isLarge' buffers with a custom writer, instead of calling stream->readFully()
directly.
This is intended to allow writing pixel or vertex data that is stored
with a specific stride.
Another patch will introduce the corresponding changes to the .attrib files
Change-Id: I6ca86b968cd3f4db91676bc485ee1e84419e50e0
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
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
In the new windows.atree, the batch file was missing the .bat extension.
This prevents the SDK Manager from recognizing platform-tools.
Change-Id: I885b748f9ce7f6ceeb9f7b9c35ca38f7b8029f55
Somehow the build server doesn't automatically find atree.
In a future CL this should be amended to pass the proper
OUT_HOST_EXECUTABLE, being careful that it points to the
host/linux dir, not the current Windows one.
Cherry-pick from master b2b5921
Change-Id: I13e532cdc4c0839b6fd7f2a3a149725940a02734
This moves the copy/strip/rm logic for the Windows SDK
from the patch_windows_sdk.sh to a regular sdk-windows-x86.atree.
The bash script is still here to invoke atree and do whatever
cleanup we might want to do later.
This should make it easier to maintain the Windows SDK
by providing a structure similar to tools.atree.
This change requires build.git Change-Id: I22aae7a8 to
have rm/strip support in atree.
Cherry-pick from master e07f59a
Change-Id: Ia71fc69717eaee6e4d8d062144347db3326e4127
We are moving to a single llvm executable able to handle all
API levels so this file (helping select the llvm exe depending
on target API is not needed anymore).
Cherry-pick from master 73aa4b5
Change-Id: Icc9b035740679eacfa59d452f71e71355816f7be
Somehow the build server doesn't automatically find atree.
In a future CL this should be amended to pass the proper
OUT_HOST_EXECUTABLE, being careful that it points to the
host/linux dir, not the current Windows one.
Change-Id: I53379dedc34fcce83773178add0ebadfcdc04b01
This moves the copy/strip/rm logic for the Windows SDK
from the patch_windows_sdk.sh to a regular sdk-windows-x86.atree.
The bash script is still here to invoke atree and do whatever
cleanup we might want to do later.
This should make it easier to maintain the Windows SDK
by providing a structure similar to tools.atree.
This change requires build.git Change-Id: I22aae7a8 to
have rm/strip support in atree.
Change-Id: If937eef4a819e7da21aa993459111fc5d99474a8
We are moving to a single llvm executable able to handle all
API levels so this file (helping select the llvm exe depending
on target API is not needed anymore).
Change-Id: Iea7b59de182ceb4e5f8a9ba9fe712d47834d39e0
These two tasks (starting the camera device, and starting working thread that pulls frames
from the started camera device) should be clearly separated, and should not be combined in
one method (as it was with the 'startCapturing' method).
Change-Id: I779bee924d99d9a87257c6b76791545b76795e72
Holding an object lock while macking the callbacks cause deadlocks
due to reentrance to the callabck notifier.
Change-Id: I5f2780989798ebf5c5d7aab34ac233bb5952079d
When stopping the camera, the working thread should be stopped before sending
"stop" query to the emulator: we don't want "frame" queries to be floating around
while we're in the process of stopping the camera.
Change-Id: I16dc56ca1c2e304a07a074302001d2e27100f2ac