History log of /device/generic/goldfish-opengl/system/GLESv1_enc/GLEncoder.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
46153ab4c20cd7a0be36bdc4a46bc3ba9d2157ad 09-Jan-2017 Lingfeng Yang <lfy@google.com> [GLESv3] ES 3.x API v1

- ES 3.0 almost conformant (~80 dEQP-GLES3 failures)
- ES 3.1 has entry points

- This CL adds all the new entry points and updates all
validation.

Change-Id: I8f7256d9443ecda9d7ef87580b467e711c6e8e92
/device/generic/goldfish-opengl/system/GLESv1_enc/GLEncoder.cpp
e57bd758652d4a1c1307d0b1d88ddf2828602434 06-Jun-2016 Yahan Zhou <yahan@google.com> Move stream->flush to non-generated code

Move flush command out of auto-generated code.

Change-Id: I3f3c8ca49344ea4c5357d7d6953364ce1015ea99
/device/generic/goldfish-opengl/system/GLESv1_enc/GLEncoder.cpp
cc6b1cd05588e85e482803bbaf7a37bbff1ba42c 19-Aug-2015 Yu Ning <yu.ning@intel.com> [cherry-pick] opengl: GLEncoder: Fix potential array buffer misbinding

When encoding a glDrawElements() or glDrawArrays() call, the encoder
needs to figure out whether each array (e.g. vertex, color, etc.) uses
a bound buffer or not. It is possible that some arrays use bound buffers
while others immediate buffers. In this case, there is a chance that the
encoder fails to preserve the semantics of the input GLES calls,
resulting in misinterpretation by the translator that all arrays use
bound buffers.

Fix this by encoding an unbind operation before any glXXXPointer() call
that does not mean to use a bound buffer. For GLESv2, that is already
done:

40a674e Fix emulator crashes on glDrawElements command

This CL does the same for GLESv1.

Cherry-pick from:

https://android-review.googlesource.com/#/c/167443/

Change-Id: Ifd17321b124a4f4b1037a43d5a54094541d367f1
Signed-off-by: Yu Ning <yu.ning@intel.com>
/device/generic/goldfish-opengl/system/GLESv1_enc/GLEncoder.cpp
4328493b4d1f441cf166d21bd84919557fe439fc 17-May-2016 Yahan Zhou <yahan@google.com> Sends tex coord only when the texture is enabled in gles1

Only send tex coord if the corresponding texture unit is enabled.

This is to prevent a crash in An3DBench:

https://b.corp.google.com/issues/9631994

Change-Id: I23ae030adba3a3fa05e00f63c96040b439b86baf
/device/generic/goldfish-opengl/system/GLESv1_enc/GLEncoder.cpp
57cb41b7ed8c951b1d28fe591c2d2fad97823060 08-Apr-2016 Lingfeng Yang <lfy@google.com> Validate presence of framebuffer attachment's object

dEQP-GLES2.functional.negative_api.state.get_framebuffer_attachment_parameteriv
Fail -> Pass
dEQP-GLES2.functional.fbo.api.attachment_query_empty_fbo
Fail -> Pass

Track texture and renderbuffer object associations to
framebuffer attachment points.

Change-Id: Iff646bc57ef0202105768123cfa99384f37b01a3
/device/generic/goldfish-opengl/system/GLESv1_enc/GLEncoder.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/GLEncoder.cpp
d6217a5f991123ade8c325cfa5aeefeedd127057 11-Feb-2016 Yahan Zhou <yahan@google.com> Fix crash when forgot to call glVertexAttribPointer

Calling glDraw* will crash the emulatorif one forgot to call
glVertexAttribPointer first. This patch fixes it.

There are two situations: (1) user forgot to enable any vertex
attribute arrays, or (2) user enabled a vertex attribute array but
forgot to bind any data to it. This patch fix both situations. After the
patch, in (1) user will get an error message, in (2) user will get an
error message as well as GL error code GL_INVALID_OPERATION. These are
similar behaviors as running it in swift shader or on a real device.

(Running it on a real device with (1) will give nothing and with (2)
will crash the app.)

Change-Id: Id045c0c81a489a7c6ee4b6efc91f5ab148432f35
/device/generic/goldfish-opengl/system/GLESv1_enc/GLEncoder.cpp
5950852258d5d98d7861890ecdcf6b0d4bc234ab 10-Feb-2016 Yahan Zhou <yahan@google.com> Support glDrawElements with GL_UNSIGNED_INT in the encoder

Currently glDrawElements with type GL_UNSIGNED_INT is not supported by
our encoder and decoder. The emulator will crash if someone uses it.
This patch add the support in the encoder side.

The related issue is here: b.android.com/200338
The patch on the decoder:
https://android-review.googlesource.com/#/c/202101

Change-Id: I9a6cde9983d34f39cfcc8c66a7ccf021dd5963eb
/device/generic/goldfish-opengl/system/GLESv1_enc/GLEncoder.cpp
fe2d51a5e826235e66ae9ccee70b73841efe220e 20-Nov-2015 Nicolas Capens <capn@google.com> Advertise EGL_KHR_gl_texture_2d_image

EGL_KHR_gl_texture_2d_image must be supported unconditionally.

Bug 24517776

Change-Id: Ib1e4fc549ceee2291b2313dc46ae7c9c1159e4c9
/device/generic/goldfish-opengl/system/GLESv1_enc/GLEncoder.cpp
6af4f01e3e46f496eb9f73d474aaf702ba4b7ce1 10-Dec-2014 bohu <bohu@google.com> Fix a missed function override in GLEncoder.cpp

glColorPointer override was missed and this commit fixes that.

Change-Id: I6f51c57fa6b6d8af0802d06cf42994fbb3bc80b9
/device/generic/goldfish-opengl/system/GLESv1_enc/GLEncoder.cpp
e01d5f47354d9e5cd63ae584daadc5076850851b 30-Oct-2014 David 'Digit' Turner <digit@google.com> opengl: Remove compiler warnings.

Simply remove multiple compiler warnings about unused parameter.
Note that this modifies three auto-generated files, which will
require fixing the 'emugen' program in the future.

Change-Id: I19edce7c6480770b893d033ed6b1c65744091d62
/device/generic/goldfish-opengl/system/GLESv1_enc/GLEncoder.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/GLEncoder.cpp
02fdb697d0610e3bb6de00eac947e5900902b08b 30-Oct-2014 David 'Digit' Turner <digit@google.com> opengl: Fix a few function name typos.

A small preliminary patch to make future patches slightly
simpler, easier to merge into the internal tree.

Change-Id: Iec649b61349106d4531a6e28141c0f0687a144c5
/device/generic/goldfish-opengl/system/GLESv1_enc/GLEncoder.cpp
163119f94b52cc1af715ff0b32bae08d45937b08 21-Mar-2014 Tina Zhang <tina.zhang@intel.com> Support GLES acceleration in 64bit emulator on device side

Support both 32bit and 64bit emulator GLES acceleration.

Change-Id: Ibd8b970d23937ae40732324706074ff00f433a14
Signed-off-by: Tina Zhang <tina.zhang@intel.com>
/device/generic/goldfish-opengl/system/GLESv1_enc/GLEncoder.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/GLEncoder.cpp