History log of /device/generic/goldfish-opengl/system/GLESv1_enc/gl_enc.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
1d1fc8db52fe3e4e40ad7a260998d9947f75c3d0 04-Nov-2016 Yurii Zubrytskyi <zyy@google.com> Re-generated protocol encoder files

- Don't add output parameters' size to the whole packet size,
reducing the amount of data copied over from guest to host.
- Use a static array for checksums instead of heap-allocated
buffer

This change is totally backward compatible for the protocol,
as it (1) removes the part emulator has never touched and
(2) changes only the guest's memory allocation way, not the
task that memory is used for

Corresponing emugen CL:
https://android-review.googlesource.com/#/c/299539/

Change-Id: Ic7c6d2bb21d57f1f6fb1622499344328f790783e
/device/generic/goldfish-opengl/system/GLESv1_enc/gl_enc.cpp
a9aee9fd692df6f432b131f9468b48d7378b231c 18-Jun-2016 Yahan Zhou <yahan@google.com> Regenerate gl encoder from qemu

Regenerated from:
https://android-review.googlesource.com/#/c/237292/

Change-Id: I7972c4fddfb9765af39856ccd8aa29ac67558301
/device/generic/goldfish-opengl/system/GLESv1_enc/gl_enc.cpp
e222fd545669310b91ffb4603f1c6b16f847c077 16-Mar-2016 Yahan Zhou <yahan@google.com> Checksum for GLES messages from host to guest

Add checksum for GLES messages from host to guest. This patch contains
generated code (gl_enc.cpp, gl2_enc.cpp, renderControl_enc.cpp) and
shared code with the host (ChecksumCalculator.cpp,
ChecksumCalculator.h).

Change-Id: I577a34cae5208d3f11a165f861a69fa0971cf864
/device/generic/goldfish-opengl/system/GLESv1_enc/gl_enc.cpp
b7f09089a7f736a070825d7130601d74b150d147 10-Mar-2016 Yahan Zhou <yahan@google.com> Checksum for GL pipe communication

This is the guest side implementation for cl go/oag/c/207292.

It initializes checksum whenever a renderControl is created. Each
HostConnection owns a checksum structure.

The list contains mostly auto-generated code by emugen.

Change-Id: I5f7bb9ec8a0cea82f3687f8a15839081651fd841
/device/generic/goldfish-opengl/system/GLESv1_enc/gl_enc.cpp
268e85cdbb1122531013598b2638c25b839191ee 19-Feb-2016 Yahan Zhou <yahan@google.com> GL encoder null pointer check before write

Previously when encoding some functions, if the user gives us a null
pointer, the encoder will write a header with some data length while not
actually writing any data. This patch fix it by writing 0 into the data
length field for all those functions.

The changed functions include:
glBufferSubData
glCompressedSubTexImage2D
glTexSubImage3DOES
glCompressedTexImage3DOES
glCompressedTexSubImage3DOES

Other functions do not directly write user's pointer, so they don't need
to be updated.

Since this is auto-generated code, there would be another patch in
emu-master-dev to update the code generator.

Change-Id: I05fca078dfcf01e20fa757f1050820b21ca080b7
/device/generic/goldfish-opengl/system/GLESv1_enc/gl_enc.cpp
0f788d82239c1a9a1922bd8fc140464058cc52e7 27-Nov-2014 David 'Digit' Turner <digit@google.com> opengl: Fix pixelDataSize() ambiguity.

The GLESv1 encoder library was calling the pixelDataSize() function
definition from the GLESv2 encoder library, resulting in bugs, like
the inability to see the boot animation when -gpu on is used.

This fixes the issue by using namespaces to differentiate the
two implementations. Note that the auto-generated files have been
updated by re-running update-emugl-sources.sh as specified by
opengl/README after applying the following patches:

https://android-review.googlesource.com/#/c/116642/
https://android-review.googlesource.com/#/c/116643/
https://android-review.googlesource.com/#/c/116644/

Change-Id: Idbd84fb6ca5934cbb9af009b09f9a38cc4a1340a
/device/generic/goldfish-opengl/system/GLESv1_enc/gl_enc.cpp
4f91c8e9a9023d0cc07bc7db985a80a212294461 31-Oct-2014 David 'Digit' Turner <digit@google.com> opengl: Regenerate GPU emulation encoder sources.

This patch updates the encoder sources to match the auto-generated
output of the latest 'emugen' tools from sdk/emulator/opengl/

Generated by using external/qemu/distrib/update-emugl-source.sh

This shall only results in minor changes:

- Minor indentation fixes.
- Using 'const' to define constant tables.
- Using anonymous namespaces in the encoders.

Change-Id: Ib282b31c4c05da897157ef90e5a9deb914a08bda
/device/generic/goldfish-opengl/system/GLESv1_enc/gl_enc.cpp
3afd44bdb52af3b26b2691e5f0164c16f2936e90 30-Oct-2014 David 'Digit' Turner <digit@google.com> opengl: Remove accessor functions from encoders.

These functions are not necessary since all the fields are
public members of structures. Also gets us closer to the state
of the real emugen output, which isn't matched yet due to other
differences.

Change-Id: Iea092beca7e3a819c286fe3d84897e6a170747f8
/device/generic/goldfish-opengl/system/GLESv1_enc/gl_enc.cpp
3372af9afa4a2a7e9d050eb27f39132ef0fbd156 29-Oct-2014 David 'Digit' Turner <digit@google.com> Fix GPU emulation crash.

This patch fixes the crash that occurs during boot when the
boot animation starts. The main issue is that the wrong version of
glGenTextures_enc() was being called.

The root issue is that libGLESv1_CM_emulation.so, which implements the
GLESv1 API in the system, is linked to both libGLESv2_enc.so and
libGLESv1_enc.so which both provided a glGenTextures_enc() function, used to
encode a glGenTextures() command call into the wire protocol.

Until recently, and due to pure luck, the function call in
libGLESv1_CM_emulation.so was resolved to the function in libGLESv1.so, which is
the correct version to use from this library.

However, due to recent changes in the dynamic linker's symbol resolution
implementation, the version in libGLESv2.so was being used instead. The bug is
really in our library and this patch provides a fix by removing the duplicate
functions, with the help of C++ namespaces.

NOTE: This patch modifies auto-generated code. A better fix would be to
fix the generator, then refresh the sources with its new output.

However, several other manual patches have been performed on these
files in the past too to fix other issues, so doing so would lose
the fixes.

A future patch will update the generator, and refresh all sources
accordingly. This is a "quick-fix" to get us to a proper booting
state.

NOTE: Even after applying this patch, the system boots to the 'home screen'
but fails to display the boot animation.

BUG=18146046

Change-Id: I48cab73ad583e303723340e80d19a82fa301b61d
/device/generic/goldfish-opengl/system/GLESv1_enc/gl_enc.cpp
b85b2756d1e247f8314bb591700fb175d7346631 08-Mar-2013 keunyoung <keunyoung@google.com> migrate opengl and system from development/tools

- components under system are moved one directory up like all other HALs

Change-Id: I03b870b870d83b247ac398cadfb155f03c9adfa0
/device/generic/goldfish-opengl/system/GLESv1_enc/gl_enc.cpp