History log of /external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
c80eada522546e50c736fa948e0a861148d94a3e 13-Feb-2018 Alexis Hetu <sugoi@google.com> eglCreatePbufferFromClientBuffer implementation

Added support for eglCreatePbufferFromClientBuffer(), using an
IOSurface on MacOS, or just a straight buffer pointer on other
platforms.

Added new unit tests (IOSurfaceClientBufferTest class), which
pass on both Windows and MacOS.

Change-Id: I79a6b420d85fb1f3ae505e0c0067bad2e27510d4
Reviewed-on: https://swiftshader-review.googlesource.com/17168
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
5cd502b4ba6b04f5b2e50c19e94c75f472b620c6 22-Mar-2018 Alexis Hetu <sugoi@google.com> Expose surfaceless context extension strings

It seems like SwiftShader already supports surfaceless contexts properly in
eglMakeCurrent, so we might as well expose the extension strings.

Change-Id: I3c1b85296c46536df9a8bd754856d825307181d0
Reviewed-on: https://swiftshader-review.googlesource.com/17948
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
16a2a922cfd8251a462c9ea5f90105e4d686c211 22-Mar-2018 Nicolas Capens <capn@google.com> Validate pixel unpack buffer offset.

When a pixel unpack buffer is bound, glTexImage calls interpret the
<pixels> parameter as an offset into the pixel buffer. We weren't
validating that the accessed data falls within the buffer, when taking
the offset into account.

Bug chromium:822976

Change-Id: I3ab23e3b135fd4ad1e55555eec95d584684f5d82
Reviewed-on: https://swiftshader-review.googlesource.com/17928
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
2f113e3e8d420ab760fb697196f202765d78f7c6 18-Jan-2018 Alexis Hetu <sugoi@google.com> GL_CHROMIUM_color_buffer_float_rgba extension support

GL_CHROMIUM_color_buffer_float_rgba (OpenGL ES 2.0) is a subset of
GL_EXT_color_buffer_float (OpenGL ES 3.0), which SwiftShader already
supports.

Fixes 1 webgl conformance tests:
conformance/extensions/oes-texture-float.html

Change-Id: Ic1451187db219af74ba41fa7634bd5bcb6fb0b44
Reviewed-on: https://swiftshader-review.googlesource.com/16470
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
c0632c9470e2812d3f12e6462d07af4760f3d078 02-Mar-2018 Alexis Hetu <sugoi@google.com> Added support for sampler2DRect in ESSL3

Being able to sample from sampler2DRect using the "texture" function is required for Chromium on Mac.

Change-Id: Iea8970aaec29734a251bcfc19a03223d0ebfbc7e
Reviewed-on: https://swiftshader-review.googlesource.com/17572
Reviewed-by: Alexis Hétu <sugoi@google.com>
Tested-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
91beb8d4902fa8fdb56110f5eb009e5390ca3bc0 06-Mar-2018 Nicolas Capens <capn@google.com> Prevent crashing when no current program is set.

This fixes a regression caused by
https://swiftshader-review.googlesource.com/14489

Context::applyVertexBuffer() expects a valid program, so we need to
check for it sooner. Not having a current program is not an error and
makes the draw call a no-op, but
dEQP-GLES3.functional.negative_api.vertex_array.* still expects
validation to happen before leaving the function. In particular,
the framebuffer completeness check has to be performed. Note that
ConvertPrimitiveType() should never return an error because we already
check the primitive type in the entry function, sampler validation
can only be done when we have a valid program, and likewise
applyVertexBuffer() requires a program, so these validations can still
happen after the early-out.

Change-Id: I7036ca59d37ea0385f79bf87afd1eeeb9728f7af
Reviewed-on: https://swiftshader-review.googlesource.com/17228
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Lingfeng Yang <lfy@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
2ce08b140252b43dfb10d4d79acac26a1787dac9 02-Mar-2018 Nicolas Capens <capn@google.com> Refactor texture binding.

Also remove traces of cube texture support for OpenGL ES 1.1. We don't
support the OES_texture_cube_map extension, and it would be non-trivial
due to requiring reflective texture coordinate generation.

Change-Id: I5c224f925fc9c03053acaf33e126dae4f3ffe4d9
Reviewed-on: https://swiftshader-review.googlesource.com/16750
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
bc62c3b8185882eff4788c6cfbd29b86a22bfad1 27-Feb-2018 Nicolas Capens <capn@google.com> Re-implement GL_APPLE_texture_format_BGRA8888.

GL_APPLE_texture_format_BGRA8888 specifies that when using the BGRA_EXT
format, it "must have an RGBA internal format". Note that
GL_EXT_texture_format_BGRA8888 also allows BGRA_EXT as internalformat.

Change-Id: I27e032054240efe96c32e27ebbdfb3c28213b1d8
Reviewed-on: https://swiftshader-review.googlesource.com/16248
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
57642356431c47e897976f917641b0c4496d1749 27-Feb-2018 Nicolas Capens <capn@google.com> Don't perform component swizzling on a null texture.

When sampling from an incomplete texture, the OpenGL spec states that
(0, 0, 0, 1) will be returned to the shader from the texture lookup
function. Swizzling is only described for filtered texture values.

Change-Id: Ie8a02b3b0b9e571fd2f86302e777a4ff985da022
Reviewed-on: https://swiftshader-review.googlesource.com/17488
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
e65f564a1ba23b64e05fe29c91ad95a17c4ad274 26-Feb-2018 Nicolas Capens <capn@google.com> Replace GL_NONE with GL_NO_ERROR when used as error.

GL_NONE is primarily a renderbuffer format, and GL_NO_ERROR more
clearly conveys the meaning when used as a validation return code.
Also, GL_NONE is not defined in OpenGL ES 1.1 (but GL_NONE_OES is,
as a renderbuffer format).

Change-Id: Ie1c00009c30c8d2717de15c7e27db295ecd9de1e
Reviewed-on: https://swiftshader-review.googlesource.com/17489
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
3b4a25c5365486981157f8ba9a2aee539c162a0d 23-Feb-2018 Nicolas Capens <capn@google.com> Fix texture upload and internalformat handling.

We weren't handling several of the format/type/internalformat combos
from table 3.2 of the OpenGL ES 3.0.5 spec. In particular those where
the format/type of a glTexSubImage2D() call can be used to update
images with an internal format not directly corresponding to it. Some
of these cases were handled using the blitter, but not all GL formats
have a SwiftShader equivalent. Also, the blitter is slower than
specialized C++ pixel transfer code, and the blitter's fallback path is
even slower.

This patch provides specialized pixel rectangle transfer code for each
combination of formats. We also now only store the effective sized
internal format of the images. Validation also happens using the sized
internal format wherever feasible, instead of unsized formats or
SwiftShader formats.

Change-Id: Id55db490002ab8fc2f16f766c43b43f121e5768e
Reviewed-on: https://swiftshader-review.googlesource.com/17429
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
7ada9ec74d5d20b5a937a5447857f5c528f1ce2b 07-Feb-2018 Nicolas Capens <capn@google.com> Refactor pixel storage modes.

Change-Id: Ida0a270c1e0ab0900109b7d3bce90dfee9a01960
Reviewed-on: https://swiftshader-review.googlesource.com/17091
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
2fc9051e16279dd7706e66ee2beb9079c4a436e1 23-Jan-2018 Nicolas Capens <capn@google.com> Fix pixel size calculation from upload format.

We were using the internal format to compute the size of the pixels
provided for texture image upload. They can differ in size from the
format/type combination.

Change-Id: I7f3cd535cdefefc3c7ec4695d35d181b43ae20a4
Reviewed-on: https://swiftshader-review.googlesource.com/16629
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
26a867586fab18872c7a379b4e443a7448d16382 31-Jan-2018 Nicolas Capens <capn@google.com> Support compressed textures unconditionally.

Change-Id: Ifd2c846c274840f19c1ea8c75fda42bf5640caa4
Reviewed-on: https://swiftshader-review.googlesource.com/16808
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
61fe99f5ea3505213237c1737c7d8c2601f6b62a 01-Feb-2018 Alexis Hetu <sugoi@google.com> Added missing entry from GL_ARB_texture_rectangle

GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB was getting queried by Chromium
since GL_ARB_texture_rectangle is exposed, and if this query fails,
WebGL does not get enabled.

Change-Id: Ie6b40f35f0cfc4547079e303609afa3778010dd1
Reviewed-on: https://swiftshader-review.googlesource.com/16849
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
4676862e987be2c05ca2825783f2f54cf2f29eb7 17-Jan-2018 Alexis Hetu <sugoi@google.com> Texture Rectangle implementation

This adds support for GL_ARB_texture_rectangle, as it is used in Chromium.
This is required in order to use EGL/GLES on MacOS using IOSurface,
in order to be able to run Chromium on top of SwiftShader on MacOS.

Change-Id: I3c0b6a137892583bbfbc68149874d5bec3026b4a
Reviewed-on: https://swiftshader-review.googlesource.com/16368
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
6c4564af39aeb8eef2fe6dc6cb73cb9f2dd9b891 26-Jan-2018 Nicolas Capens <capn@google.com> Add missing break in switch.

Also replace some extension enums with core ones.

Bug chromium:805881

Change-Id: I80a9b658fb8dda9c759c4d79b89fbe71b8b91ae1
Reviewed-on: https://swiftshader-review.googlesource.com/16728
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
30bae591b9f406163b3f248c90e03a331b4bc7d2 12-Jan-2018 Alexis Hetu <sugoi@google.com> Remove GL_APPLE_texture_format_BGRA8888 from gl strings

Exposing "GL_APPLE_texture_format_BGRA8888" fully enables BGRA8 in
Chromium and it seems like SwiftShader isn't properly supporting it
yet, so removing the string for now in order to do the DEPS roll.

Change-Id: I72f57899b820c22ac76a59b0b7a5e3d2a920e2b3
Reviewed-on: https://swiftshader-review.googlesource.com/16268
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
39631dd1f597c5899372b9116f0c7eef4ec6cd30 10-Jan-2018 Nicolas Capens <capn@google.com> Expose GL_APPLE_texture_format_BGRA8888.

GL_APPLE_texture_format_BGRA8888 is similar to
GL_EXT_texture_format_BGRA8888 but explicitly mentions texture storage
support for OpenGL ES 3.0. It adds the format as texture-only (i.e.
non-renderable), but GL_EXT_texture_format_BGRA8888 makes it color-
renderable.

Also allow a sized internalformat of GL_BGRA8_EXT. Previously we were
only allowing unsized internalformat GL_BGRA.

Change-Id: Ieb3a4f85847035392445d0a924591f5531e424d9
Reviewed-on: https://swiftshader-review.googlesource.com/16069
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
73771b1f950bd562ea8ad4f502551ef7d3caacbd 19-Dec-2017 Alexis Hetu <sugoi@google.com> Allow blitting with out of bounds source coordinates

Removed early return on source rectangle validation, in order
to allow out of bounds coordinates as an input to the blitter.

Fixes 31 *out_of_bounds* failures in:
dEQP-GLES3.functional.fbo.blit.default_framebuffer

Also fixes 3 scissored blit failures in:
dEQP-GLES3.functional.fragment_ops.scissor

Change-Id: I0751678153aa0fc58bb7aa3a0270c358efb61330
Reviewed-on: https://swiftshader-review.googlesource.com/15388
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
2cd0009006cce1070636adc495c3f55214dc6d6a 03-Jan-2018 Alexis Hétu <sugoi@google.com> Revert "Fixed sampler allocation"

This reverts commit a141a0755a1a463894bbe22990c1d9286e493e0b.

Reason for revert: We need a different solution to fix this issue which doesn't
require having a different sampler index and register index.

Change-Id: If08a0fc4713e2bd8277630ca760bb8686a2effd2
Reviewed-on: https://swiftshader-review.googlesource.com/15649
Reviewed-by: Alexis Hétu <sugoi@google.com>
Tested-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
a6bc61d61d6fe9551d72f917629bf6bccfeafce0 20-Dec-2017 Nicolas Capens <capn@google.com> Use half-precision for special internal formats.

This change uses half-precision floating-point implementation formats
for all OpenGL half-precision floating-point formats, as well as the
R11F_G11F_B10F and RGB9_E5 special internal formats.

sw::FORMAT_X16B16G16R16F was implemented for the formats without alpha.

RGB9E5 conversion was optimized to not require powf(2.0, x), and 11-
and 10-bit floating-point formats were optimized to map directly to
16-bit half-precision floating-point.

Change-Id: Ic33f903d01f37394244aec9f53b0e67d1c978764
Reviewed-on: https://swiftshader-review.googlesource.com/15410
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
a141a0755a1a463894bbe22990c1d9286e493e0b 20-Dec-2017 Alexis Hetu <sugoi@google.com> Fixed sampler allocation

Instead of testing for the number of samplers used so far
in the shader, the Program object was checking for the
register index, which could have been larger or equal to
MAX_VERTEX_TEXTURE_IMAGE_UNITS or MAX_TEXTURE_IMAGE_UNITS,
making the shader compilation fail erroneously.

Changed sampler arrays to maps in order to get the sampler
data from the register index.

Change-Id: Iba6cbf0dbbcdbd926f2670af4413710550e341a9
Reviewed-on: https://swiftshader-review.googlesource.com/15428
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
b81efca01dd081d4b2bb5be0d5a1d9384751818c 19-Dec-2017 Nicolas Capens <capn@google.com> Optimize mipmap base level.

We can avoid adding the base level to the computed lod by putting the
base level at index 0 of the mipmap array.

Change-Id: I0bdebec3e4d0a3617dea9e3d28fdeb5dae40444b
Reviewed-on: https://swiftshader-review.googlesource.com/15329
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
467ce5a1a314118d006769e13125ba2f956fa5f6 19-Dec-2017 Nicolas Capens <capn@google.com> Implement mipmap base/max level.

Change-Id: I611815fb0dcbba97e67f3c146dffb463f133447e
Reviewed-on: https://swiftshader-review.googlesource.com/15248
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
b3f54e844c7bb9bc7b070ede7b574c373d4f67f1 19-Dec-2017 Nicolas Capens <capn@google.com> Search the top level from the base level.

The 'top' level is the last valid mipmap level nearest to the top of
the pyramid. Start searching for it from the 'base' of the pyramid.

Change-Id: I2d2ea3a1834f6cff2e2d342876d0649205004581
Reviewed-on: https://swiftshader-review.googlesource.com/15348
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
1ab837c5764529c44666a6adaeddcaa5584b4356 16-Dec-2017 Nicolas Capens <capn@google.com> Implement sRGB conversion in the blitter.

Note that glReadPixels() does not perform sRGB conversion.

Change-Id: I3f9089b79652ce42cb5695d5b6a8ce92d15c27a8
Reviewed-on: https://swiftshader-review.googlesource.com/14492
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
c4a3f242b8cd3b9aba21828d1299e18ddbb855c3 11-Dec-2017 Nicolas Capens <capn@google.com> Implement framebuffer layer support.

This stores the layer as part of the framebuffer object, instead of the
renderbuffer, and passes it to the renderer at draw time.

Change-Id: I947f8a58ba7a119cc9d890659c99e7e05d0d1d91
Reviewed-on: https://swiftshader-review.googlesource.com/14728
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
8536a44ae39b5adeb4b82a7b646cad329e489004 12-Dec-2017 Alexis Hetu <sugoi@google.com> Default drawBuffer/readBuffer for non default Framebuffer

drawBuffer and readBuffer default to GL_BACK in the default
Framebuffer, but for all other Framebuffer objects, the
default value should have been GL_COLOR_ATTACHMENT0.

Fixes all failures in dEQP-GLES3.functional.state_query.integers*

Change-Id: I060db67c50561d2678d57de1d7067bd7f8d2a53a
Reviewed-on: https://swiftshader-review.googlesource.com/14948
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
6f28403ac996ab4516f1b10d1f359ad03d291436 11-Dec-2017 Alexis Hetu <sugoi@google.com> Fixed GL_VERTEX_ATTRIB_ARRAY_INTEGER queries

Added pureInteger member to VertexAttribute in order
to keep track of whether the attrib was set using
glVertexAttribIPointer or glVertexAttribPointer and
properly return that state when querying
GL_VERTEX_ATTRIB_ARRAY_INTEGER.

Fixes dEQP-GLES3.functional.state_query.shader.vertex_attrib_integer

Change-Id: Ie6cfcd2008f7abb61d457a41124600fe7cea229a
Reviewed-on: https://swiftshader-review.googlesource.com/14828
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
3be576c091d4dd99f8b24f0a8740fe76301de965 08-Dec-2017 Nicolas Capens <capn@google.com> Refactor read buffer access.

The read buffer state is part of the framebuffer object, so determining
the index is moved to the Framebuffer class. Also make sure GL_NONE is
handled without causing invalid access by using GL_INVALID_INDEX.

Change-Id: I26476024cd8dd820b0e3f53d9c3dd5a7d46c082e
Reviewed-on: https://swiftshader-review.googlesource.com/14748
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
10c74a62ed7bcde6e4f48445bd43e2f8707c30d6 29-Nov-2017 Alexis Hetu <sugoi@google.com> Allow out of bounds coordinates in glBlitFramebuffer

Device::stretchRect() now supports out of bounds coordinates.
To avoid linear interpolation errors, source coordinates now
have to be in floating point rather than integer format. Most
changes in this cl are just to accommodate that int->float
change for the source rect.

Fixes all (28) failures in:
dEQP-GLES3.functional.fbo.blit.rect

Change-Id: I8fd017e60b61f2d7d6517b0e648b324be441cddd
Reviewed-on: https://swiftshader-review.googlesource.com/14648
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
c61f46b8f057aec5bffb87d4619b2994c0105857 04-Dec-2017 Nicolas Capens <capn@google.com> Untangle internal & implementation format.

Textures and renderbuffers were storing both the OpenGL internalformat
and the SwiftShader implementation format (i.e. sw::Format). This
change removes the implementation format, only keeping it in the Image
class.

Change-Id: Ie6ac96f6450b9a55ea9b49c6cf4b2c0681e95522
Reviewed-on: https://swiftshader-review.googlesource.com/14528
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
5815e125f6e9a8fcec6dd66db8bd263de2474b9c 01-Dec-2017 Nicolas Capens <capn@google.com> Move draw call early-outs until after validation.

Drawing without a current program is not an error and we can early-out,
but not until after other validation which could generate an error has
completed. Validation happening on a valid program happens afterwards
though. Likewise, providing insufficient vertices for even one
primitive results in drawing nothing, but validation still needs to
happen.

Change-Id: I5385ffe352fc38343caa41eb99f5549472da3b4f
Reviewed-on: https://swiftshader-review.googlesource.com/14489
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
48280a4e92c9960cbb501e0ded86f662a03f9ad2 30-Nov-2017 Alexis Hetu <sugoi@google.com> Program related validation

Added some validation for uniforms and uniform blocks.

Fixes some failures in (only 1 failure left):
dEQP-GLES3.functional.negative_api.state*

Change-Id: I507c7e8784230f85b0d312d162e5ff82bdbd15ed
Reviewed-on: https://swiftshader-review.googlesource.com/14428
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
73e18c1b726b4b510e703715772f72450d9f8477 28-Nov-2017 Nicolas Capens <capn@google.com> Update cube texture borders when dirty.

Change-Id: Ic259645ab7950b0b2800964bbfd14f3294de50b1
Reviewed-on: https://swiftshader-review.googlesource.com/14288
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
6372aceba9f8b6f2931aaab6746b3f80463edb30 29-Nov-2017 Nicolas Capens <capn@google.com> Drawing without current program is not an error.

The spec states that "If UseProgram is called with program set to zero,
then there is no current program object, and the results of vertex and
fragment shader execution are undefined. However, this is not an
error."

Fixes all failures in:
dEQP-GLES3.functional.negative_api.vertex_array.*

Change-Id: Ia5fbb22a9447b299665db29fc1f564f6de4f202d
Reviewed-on: https://swiftshader-review.googlesource.com/14408
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
1c93b6c6a7be42f6bb1f8f759d7cb3fa99dab0b4 20-Nov-2017 Alexis Hetu <sugoi@google.com> Framebuffer related validity checks

Added validity checks for RenderbufferStorageMultisample
and BlitFramebuffer, mostly missing checks for using
integer types or depth/stencil framebuffers with
multisampling, which is not allowed.

Fixes all failures in:
dEQP-GLES3.functional.negative_api.buffer*

Change-Id: Ie1db21a3b9f1ca71ed660a2758d43f24846acdf1
Reviewed-on: https://swiftshader-review.googlesource.com/14048
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
848aa7fc4f1c71e3d5bdb896c249461d495b248d 17-Nov-2017 Alexis Hetu <sugoi@google.com> Pixel unpack buffer validation follow up

2 fixes:
- The offset check was removed, as it only affects the pointer
and not the size
- The modulo check is on the type only and not the entire image size

Change-Id: I8c4b64e845b2fae61959d7c62d2c5dc222249c68
Reviewed-on: https://swiftshader-review.googlesource.com/14009
Reviewed-by: Alexis Hétu <sugoi@google.com>
Tested-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
b14752c2cab6007619411741a440fb5b15283f34 17-Nov-2017 Alexis Hetu <sugoi@google.com> Fixed signed/unsigned mismatch

Change-Id: Ibd7a099fa0a25dbddb1733b81101abc82ddd3f4c
Reviewed-on: https://swiftshader-review.googlesource.com/14008
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
f97f6e0e2e473e93112fa48a2b675f3f63c10663 15-Nov-2017 Alexis Hetu <sugoi@google.com> Pixel unpack buffer validation

Added proper validation to make sure the pixel unpack buffer
is both unmapped and large enough, when imageSize is specified.

Change-Id: If6ec764d741bb9d63d38d0656188846c5a9be66d
Reviewed-on: https://swiftshader-review.googlesource.com/13868
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
94ca5b63700fab01e8aa3f3fc67a2753efdd866e 14-Nov-2017 Alexis Hetu <sugoi@google.com> Allow multiple query types simultaneously

While GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT and
GL_ANY_SAMPLES_PASSED_EXT are mutually exclusive,
they can be used simultaneously with the
GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN query.

Change-Id: I818cf548c724ef56640b795530c3437e4dbcba98
Reviewed-on: https://swiftshader-review.googlesource.com/13828
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
fba5b6d7fa0e1597c87c0ec71529c56997290941 14-Nov-2017 Alexis Hetu <sugoi@google.com> Hide ASTC support

Since we don't expose the ASTC related extension string,
we need to hide support for ASTC related enums. ASTC_SUPPORT
was added to easily re-enable ASTC, should we want to.

Change-Id: I3c65906c4729df8a2efb1a9a78e155bccdc715f9
Reviewed-on: https://swiftshader-review.googlesource.com/13749
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
5bf9708430d230f133833b72d64921cafda98929 14-Nov-2017 Alexis Hetu <sugoi@google.com> Fix for glBindTransformFeedback and glDeleteTransformFeedbacks

Added proper checks for invalid operations.

Fixes all remaining failures in dEQP-GLES3.functional.lifetime*

Change-Id: Ia91ffdb8ced53f1f787b82ada0de22caf9ee9206
Reviewed-on: https://swiftshader-review.googlesource.com/13748
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
f878d50b65d70c883dd8c882e5096b14e2a9ae53 06-Nov-2017 Nicolas Capens <capn@google.com> Pass down the texture compare state.

Depth format textures can have a comparison operation performed after
their texels have been sampled.

Change-Id: I49f6bb7fab9765265761144ee8b6b62439beb5a3
Reviewed-on: https://swiftshader-review.googlesource.com/5870
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
74b91b5a9712ba3e09e73ea6981ab689fac4f2cc 25-Oct-2017 Alexis Hetu <sugoi@google.com> Primitive restart implementation

Wrote a new version of primitive restart
entirely handled by the index data manager.

Passes all primitive_restart dEQP tests

Change-Id: I0ce28764a33300a6625f1c369f95d8d178e1e3c0
Reviewed-on: https://swiftshader-review.googlesource.com/10951
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
3cbeac56e8291c9eb584aecfdf4c9e4e3883473a 15-Sep-2017 Nicolas Capens <capn@google.com> Fix polygon offset depth clamp and units resolution.

OpenGL requires depth values to be clamped to the [0, 1] range. Due to
frustum clipping already limiting the range, this can only happen when
non-zero polygon offset parameters are active.

Also fix the 'minimum resolvable difference' for the 32-bit floating-
point internal depth format that we use.

Bug swiftshader:82

Change-Id: Ic9ebcac182a2bc81ab51d79cfe0bb451d340bd1e
Reviewed-on: https://swiftshader-review.googlesource.com/12108
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
0e22d3ac1342803e4f6e99dee0b1bc7638f0acdc 16-Aug-2017 Alexis Hetu <sugoi@google.com> Implement GL_MAX_PROGRAM_TEXEL_OFFSET and GL_MAX_TEXTURE_LOD_BIAS

- GL_MAX_PROGRAM_TEXEL_OFFSET and GL_MIN_PROGRAM_TEXEL_OFFSET were
technically already properly implemented, since the spec mentions
that the behavior outside of these limits is undefined, and
SwiftShader has no actual hard limit for these parameters.
- GL_MAX_TEXTURE_LOD_BIAS also has no hard limit in SwiftShader,
other than the limit imposed on LOD itself, so that limit was
used for GL_MAX_TEXTURE_LOD_BIAS.

Change-Id: I60b15b7f7a0febbc3e6582caff6c6a414a5d4964
Reviewed-on: https://swiftshader-review.googlesource.com/11709
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
84d0e22331ea67a91156ddd57262adc1f0a38596 03-Aug-2017 Nicolas Capens <capn@google.com> Implement GL_OES_vertex_half_float.

This enables using half-float vertex data for OpenGL ES 2.0.
Note that GL_HALF_FLOAT_OES does not have the same value as
GL_HALF_FLOAT.

Change-Id: I0a7a55b7904fe797cdbb86627c8d0a1cc07d2d0a
Reviewed-on: https://swiftshader-review.googlesource.com/1500
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
4d3efedb10ce60bdb7847336eba0360fdc9af9d3 25-Jul-2017 Alexis Hetu <sugoi@google.com> glGetString fix

glGetString wasn't returning es3 specific extensions.

Change-Id: Ief89eb448b3e821bfb7919ece97c03976569060c
Reviewed-on: https://swiftshader-review.googlesource.com/10954
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
506cc5e06043ba0819cc8f7c9190826faf47b1d6 24-Jul-2017 Nicolas Capens <capn@google.com> Suppress UBSan false positives.

Function pointers from exported functions are wrongly flagged as being
of incorrect type. This happens both on libEGL and libGLESv2 entry
functions, as well as functions called between them.

Bug chromium:746914

Change-Id: I2bf5a8f06546c233ede7a4820c0cda3e997f096e
Reviewed-on: https://swiftshader-review.googlesource.com/10868
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
426cb5e11112c9a9c3a7f145474a29e5e81463ca 20-Jul-2017 Nicolas Capens <capn@google.com> Fix clearing all samples of multisample render targets.

Only libGLESv2 was clearing all the samples of a multisample buffer.
Since all known APIs always clear all the samples, this could be
handled in the Renderer.

Bug swiftshader:77

Change-Id: Ib9adc3c61d263420ed0a0ae4828a693bd360b076
Reviewed-on: https://swiftshader-review.googlesource.com/10788
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
010a464878f32daed863edee3fc6ad21920d605b 18-Jul-2017 Alexis Hetu <sugoi@google.com> Add texture filtering precision hint

A new extension will be added to SwiftShader in order to allow
Chromium to trigger high precision filtering when necessary.
This extension is documented in:
extensions/CHROMIUM_texture_filtering_hint.txt

Bug swiftshader:76

Change-Id: I7c5b5c5fd01afbd7079e7949ecbd9c18fc539f2b
Reviewed-on: https://swiftshader-review.googlesource.com/10708
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
1fd3b280be7489a0cdeba638fbbda5e96ebbf049 10-Jul-2017 Ben Vanik <ben.vanik@gmail.com> Making Program use the currently active context device.
Fixes bug swiftshader:73.

Change-Id: I6d36348996d22cf507a4badc3af90ce8d654eb71
Reviewed-on: https://swiftshader-review.googlesource.com/10510
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
deaf0bc7a03ba3351f69509ae050fc859c507884 10-Jul-2017 Ben Vanik <ben.vanik@gmail.com> Unbinding uniform buffers on context shutdown.
Fixes bug swiftshader:72.

Change-Id: I4fcc6c47ec8561150c88fea200aeb6baf9534c00
Reviewed-on: https://swiftshader-review.googlesource.com/10511
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Tested-by: Ben Vanik <benvanik@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
9494572a1798d5148d18d3db57c06ce07d608d23 30-Jun-2017 Nicolas Capens <capn@google.com> Fix allowing to make null EGL surfaces current.

eglMakeCurrent(display, EGL_NO_SURFACE, EGL_NO_SURFACE, context)
resulted in a null dereference. It should be supported and is a common
idiom for detaching the surfaces from the context before destroying
them.

Bug swiftshader:70

Change-Id: I5b4406c8d594bc5db34c51bd08371ce69bbd471b
Reviewed-on: https://swiftshader-review.googlesource.com/10389
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
81aa97bd20033674ba28d779c05fbcee1539ebf7 27-Jun-2017 Nicolas Capens <capn@google.com> Make Blitter part of Renderer.

This fixes two issues. We had a global 'blitter' instance which doesn't
get destroyed until the library us unloaded. This is reported as a
memory leak (albeit benign). Potentially worse is that the singleton was
shared between all threads, and the Routine cache isn't thread safe.

Bug chromium:732691

Change-Id: I7b90d7d2bc67b4a9f78cdf4f54a76fa2f798b7cc
Reviewed-on: https://swiftshader-review.googlesource.com/10128
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
31c07a304f3247c26ba72eff0cb0a74eb05366e8 14-Jun-2017 Nicolas Capens <capn@google.com> Make the EGL surface class abstract.

gl::Surface is now the pure abstract interface for egl::Surface, which
can be used by libGLESv2 without requiring typeinfo.

Bug chromium:732667
Bug swiftshader:31

Change-Id: I7d8a5892c5b6186541f84c3cf39e72ac1d6c613d
Reviewed-on: https://swiftshader-review.googlesource.com/10129
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
f41f0332bfb9dfbf09253bbf10f3b46e820a4f8e 30-May-2017 Nicolas Capens <capn@google.com> Avoid dummy key methods by using pure abstract classes.

Sanitizer tools desire having the vtables of any class with non-pure
virtual methods, even when none of them are called in the current
linkage unit. Work around this by making the affected classes pure
abstract and implementing them in a derived class in the respective
library responsible for creating them.

Bug swiftshader:31

Change-Id: I40046f605731eb1cc3825c1ede2d8d9b5826d0f5
Reviewed-on: https://swiftshader-review.googlesource.com/9914
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
1728178cbc541adab6289344dbc8f09a0a147aff 05-Jun-2017 Alexis Hetu <sugoi@google.com> Expose GL_EXT_texture_rg extension

The extension was already implemented for GLES3, but simply required
a few cases to be added for support in GLES2.

Note that this extension is required to process filters using masks
with GLES2 in skia.

Change-Id: I196901ca19a4fd40a5a1ebd87040519b0de6eb5f
Reviewed-on: https://swiftshader-review.googlesource.com/9949
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
3053bf0a2032ee09b9ee5a2ecea3670afc8fb9d0 29-May-2017 Alexis Hetu <sugoi@google.com> Added missing integer query

Recently, ES3 specific getIntegerv queries were removed from ES2.
Unfortunately, GL_MAX_COLOR_ATTACHMENTS was moved to the ES3
section, but was still supposed to be in the ES2 section,
since the GL_EXT_draw_buffers exposes it.

Change-Id: I2272ccf282558e10ee6cfb1be9d124cc59df14fa
Reviewed-on: https://swiftshader-review.googlesource.com/9911
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
f6a377b0e6e4bbfcc958abd2fc1bc0aacc9bbef3 19-May-2017 Nicolas Capens <capn@google.com> Implement eglQueryContext.

Bug b/37991302

Change-Id: I8a1c28d4a9c8968be3a04da64a19ddd3f5274dd6
Reviewed-on: https://swiftshader-review.googlesource.com/9768
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
400667e6604eb07e53a2894ede1f492fc3c0b117 29-Mar-2017 Nicolas Capens <capn@google.com> Fix floating-point color buffer support.

- Implemented GL_EXT_color_buffer_float.
- Removed duplicate glRenderbufferStorageMultisample implementation.
- Refactored internalformat validation.
- Removed GL_R11F_G11F_B10F as renderable format. OpenGL ES 3.0 only supports
this as a texture format.

Change-Id: I83ce8225c1b310006f5ce983349ea8cb8b2f7c29
Reviewed-on: https://swiftshader-review.googlesource.com/9048
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
22be88e5d0cde4ffbcc076cbfcd57aa629ebb9cc 04-Apr-2017 Alexis Hetu <sugoi@google.com> Increased varyings limit

For OpenGL ES 3.0, the varyings limit must be increased in order
to meet the new lower limit. This doesn't solve how the varyings
count is still verified at compile time instead of link time, but
it allows us to remove an UNIMPLEMENTED() call.

Bug b/37069434

Change-Id: Ib6641352b625d56c7c3cab119fadcdc19f794a5b
Reviewed-on: https://swiftshader-review.googlesource.com/9188
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
492887ad2373092136bb9acfc5a3fc8205230933 27-Mar-2017 Nicolas Capens <capn@google.com> Refactor read pixel format/type validation.

Bug swiftshader:38

Change-Id: I74c642b3c7346541d042acde78aa2e0213beb5f6
Reviewed-on: https://swiftshader-review.googlesource.com/9028
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
0f7c7b81b23c197fdac24cc633ac9a67d9433b2e 17-Feb-2017 Alexis Hetu <sugoi@google.com> glGetSynciv implementation

Added the missing part of the FenceSync object
implementation based on the assumption that all
fence operations are always signaled before
calling any sync related wait functions.

Passes all related dEQP tests.

Change-Id: I2fd2ac160dfd1250f55240fc3f696f00579d12d4
Reviewed-on: https://swiftshader-review.googlesource.com/8855
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
b7afead19ffb060c4a88123dcf066ee3726a65ec 17-Feb-2017 Alexis Hetu <sugoi@google.com> Fixed glGetIntegerv for OpenGL ES 2

Many new OpenGL ES 3 specific entries in Context::getIntegerv
were not hidden when an OpenGL ES 2 context is created. The
switch statement was separated in 2 statements in order to
fix this.

Change-Id: Ib218b72e854f5857958cfa14ecdfef5ae03ee92b
Reviewed-on: https://swiftshader-review.googlesource.com/8851
Tested-by: Alexis Hétu <sugoi@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
ce57a9a5b14a0effc691200145587c1ed8b2660d 13-Feb-2017 Alexis Hetu <sugoi@google.com> Removing a few UNIMPLEMENTED cases

A few remaining cases in Context.cpp are actually
implemented, so we can remove the UNIMPLEMENTED()
calls in these cases: Primitive restart, uniform
blocks, fragment inputs and vertex outputs are all
implemented. Also, the implementation can legally
support 0 program binary formats.

Change-Id: I74b51b511c66170e284ac5d82f573453332872cc
Reviewed-on: https://swiftshader-review.googlesource.com/8788
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
b28c662c82c7ac74962cb12a5d9f5bde2e650032 05-Jan-2017 Nicolas Capens <capn@google.com> Fix clamping viewport dimensions on specification.

The spec states that glViewport() silently clamps the viewport
width and height to GL_MAX_VIEWPORT_DIMS[0] and
GL_MAX_VIEWPORT_DIMS[1], respectively.

Bug b/34078120

Change-Id: Ifeec0d6b601ce8a3825796fa551eea1f46150002
Reviewed-on: https://swiftshader-review.googlesource.com/8371
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
5da143cb0811357c0b781ed4fca28fc85ee9207a 23-Dec-2016 Lingfeng Yang <lfy@google.com> [emulator] Delete VAOs starting from highest

If VAOs are deleted starting from 0, then the
following happens when an app's context has
genned two VAO's that are both != 0,
and the first of the two nonzero VAOs
is the current one:

VAO 0
VAO 1 <- current
VAO 2

in context dtor loop over vao map:
delete vao 0 (done)
delete vao 1:
is current, so bind 0:
in bind 0, we create a new map entry since 0 was deleted
next loop iter deletes vao 0 again (done)
*** at this point, vao 0 pointer refers to freed memory ***
next loop iter wants to delete vao 2,
but the current vao is 0 and refers to freed memory.
then, in Context::deleteVertexArray:
if (getCurrentVertexArray()->name...) <- Segmentation fault (core dumped)

This CL deletes VAO 0 last.

Change-Id: Ifa606ad7517cd213f21606577d3bdd8d810b640d
Reviewed-on: https://swiftshader-review.googlesource.com/8350
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Lingfeng Yang <lfy@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
2f48bcb9e33ea178fd16527c6ce603cda6c6e236 05-Dec-2016 Alexis Hetu <sugoi@google.com> Renamed libEGL/Surface.* to libEGL/EGLSurface.*

In order to build libEGL without explicitly setting a dependency
on the Renderer and Reactor projects, the Renderer's Surface class
must be linked with libEGL. That was causing an issue where the 2
Surface.so objects were colliding on Linux. In order to solve the
issue, libEGL/Surface.* was renamed to libEGL/EGLSurface.*

Change-Id: I2e230dd770be56fd29f7aecd5133183a7d2f20b5
Reviewed-on: https://swiftshader-review.googlesource.com/8254
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
166af499d36f7ca1d542bfc46ca37468bf9fbdab 30-Nov-2016 Alexis Hetu <sugoi@google.com> More blitFramebuffer fixes

A few minor adjustments:
- The validity of blit operations with the same bounds on source
and destination buffer also extends to color buffers
- Renderbuffers, whether GL_RENDERBUFFER or GL_FRAMEBUFFER_DEFAULT
are considered of the same type for the purpose of blitting

Change-Id: I0de7c19aa8b07fa57ed33b98be4a4ab609e6e115
Reviewed-on: https://swiftshader-review.googlesource.com/8213
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
58ead9eca5847f06bf9c0455b2b85a1a7835dd13 30-Nov-2016 Alexis Hetu <sugoi@google.com> Fixed blitFramebuffer issue with Depth/Stencil

A condition was overly aggressive in producing an INVALID_OPERATION
when the read depth/stencil framebuffer is multisampled. When the
formats are the same and source and destination rectangles are the
same, performing a blitFramebuffer operation is allowed.

Change-Id: I29e52cb546ae1bf248ac0107492c97ea82406613
Reviewed-on: https://swiftshader-review.googlesource.com/8212
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
b9dda64e0e31dc5ac3eb7a19948062385a097cdb 06-Oct-2016 Alexis Hetu <sugoi@google.com> glBlitFramebuffer support for depth/stencil formats

Added support for depth and stencil formats for glBlitFramebuffer:
- Blitter now supports quad layout and stencil
- Device::stretchRect() now supports specific buffers, so that a
caller can specifically choose which buffer to copy

Change-Id: Iae0898df11e0a1d3c006113486ed15a3fd2f90a9
Reviewed-on: https://swiftshader-review.googlesource.com/7510
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
58e61f2923f4380524d2392bad1277b9fca4f7e9 29-Sep-2016 Alexis Hetu <sugoi@google.com> No longer ignoring filter option in glBlitFramebuffer

"filter" option was ignored. Simply added the argument
to the context function to fix the issue.

Change-Id: I108c4128bbc4f319091f082df96e056057f926fe
Reviewed-on: https://swiftshader-review.googlesource.com/7363
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
3c99be0d2f6cc82773d9eacbc421a70c07426a9b 28-Sep-2016 Alexis Hetu <sugoi@google.com> Sampler object fix

The code was not allowing to unset a sampler object from a texture,
so the faulty condition was removed to fix the issue.

Fixes 30 tests in:
dEQP.functional.samplers.*

Change-Id: Ibbc3389d3d6135db7bc5a2f87f0df5527b78c7fd
Reviewed-on: https://swiftshader-review.googlesource.com/7360
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
bffe803cd29475ca68ab1fea8a04276726fa83b7 08-Sep-2016 Alexis Hetu <sugoi@google.com> Fixed libGLESv2 conversion warnings

There were only a handful of integer conversion warnings in
libGLESv2, so I fixed them rather than silencing them.

Change-Id: I94a7f2d4e4c34a48a8f128e6303778ef23ac45c9
Reviewed-on: https://swiftshader-review.googlesource.com/7132
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
05c32b9b014dd9536782fcec3ea96168a97e2e28 23-Jun-2016 Alexis Hetu <sugoi@google.com> Fixed more windows warnings

- Fixed uninitialized variables in default cases
- Fixed truncation of values to float with static_cast

Change-Id: I81f3a243e66eaeb24cd92646c6ef1ca6cb0de9ce
Reviewed-on: https://swiftshader-review.googlesource.com/5682
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
53f4809cdb692da1a906f9de846b6adb22879fcd 17-Jun-2016 Alexis Hetu <sugoi@google.com> Enabled pixel unpack buffers

Setting pixel unpack buffers was already supported, but they were still
unused. This cl enables them to be used as data when loading a texture.

This fixes ~200 pbo related dEQP tests.

Change-Id: Ibada594185dab4f14bebf892e4df817a7dfe8401
Reviewed-on: https://swiftshader-review.googlesource.com/5640
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
cc5c464b0ac1f01d261cd47682c243a5e5111889 08-Jun-2016 Alexis Hetu <sugoi@google.com> Silence unused private member warning

Removed mConfig from Context and related functions.

Change-Id: I91eba6a4dbbd8ff48f212a246b1894009d513436
Reviewed-on: https://swiftshader-review.googlesource.com/5531
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
58df2f60096311b481b5521a571972278a341dae 07-Jun-2016 Nicolas Capens <capn@google.com> Store EGL images in a namespace.

This allows validating the EGL image handles. It also ensures that on 64-bit
platforms the handles fit in 32-bit so they can be exchanged through 32-bit
applications (e.g. on a 32-bit virtual machine).

Change-Id: Ie02b00edd2cf7fa02b38316ee7d21c22eae720b5
Reviewed-on: https://swiftshader-review.googlesource.com/5500
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
e7e70d03ab0831543dfb5c89395ce4bf56298e3c 07-Jun-2016 Nicolas Capens <capn@google.com> Add the EGL display as a context member.

This prevents having to access the current display though TLS.

Change-Id: Ic93d0f88096a7e7e50318dbafb9b32da5fbc50a2
Reviewed-on: https://swiftshader-review.googlesource.com/5511
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Meng-Lin Wu <marleymoo@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
3345779efe02333697e4761f67bf6e047a784307 03-Jun-2016 Alexis Hetu <sugoi@google.com> Minor cleanups

A few minor things fell through the cracks of previously landed cls:
- Added missing ops from TOutputTraverser::visitAggregate
- Made sure some members were initialized in TIntermAggregate
- Removed UNIMPLEMENTED() for implemented feature

Change-Id: Iec139533714ad6288f2f3962873616b5578a0ceb
Reviewed-on: https://swiftshader-review.googlesource.com/5480
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
112d81f17f6bfa0733bbd7369679b05e3004bdd7 07-Jun-2016 Alexis Hetu <sugoi@google.com> Min LOD and Max LOD sampler parameters

Plumbing to send Min LOD and Max LOD from the Sampler
object in the Context to the Renderer's texture's state.

Change-Id: I6831a8e17d67e745d12a78176d566750d971ec76
Reviewed-on: https://swiftshader-review.googlesource.com/5510
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Meng-Lin Wu <marleymoo@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
95ac1874dbdc4db63ff18279a1f8590d4b10b647 06-Jun-2016 Alexis Hetu <sugoi@google.com> LOD Base level and Max level to sampler state

Plumbing to send the LOD base level and max level from the Sampler
object in the Context to the Renderer's texture's state.

Change-Id: I5a9571f58a0cbaea8cedfb98da159672673eed94
Reviewed-on: https://swiftshader-review.googlesource.com/5501
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
7b2403b10229b4e66b2441cbd863c59de32c5814 04-May-2016 Alexis Hetu <sugoi@google.com> Enabling Transform Feedback

This cl enables transform feedback in Context by calling
Program::applyTransformFeedback(). It also adds the code
required to compute vertex offsets between different draw
calls, when multiple successive draw calls write into the
same transform feedback buffer(s).

Change-Id: Ib3bc4bdd1308486642f233f425d0088a55cb1333
Reviewed-on: https://swiftshader-review.googlesource.com/5301
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
0bac285a78df6a6d7a6b68784748b92805420ffb 07-May-2016 Nicolas Capens <capn@google.com> Apply the Apache 2.0 license.

Change-Id: I4a7aeefedcd2d891093520d5a10ebefadcddb5be
Reviewed-on: https://swiftshader-review.googlesource.com/5320
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
ab752790e2502e966713359f97b76571253f7aaf 21-Apr-2016 Alexis Hetu <sugoi@google.com> Making proper use of size_t

In a lot of cases, int was being used instead of size_to represent
sizes. That led to some warnings about inconsistencies between int
and size_t usage. While this cl doesn't solve all warnings, it tries
to use size_t and int where it should be appropriate to use them.

Change-Id: Id760df1360f65b2bba60f4075cdf4954fc6bbaf3
Reviewed-on: https://swiftshader-review.googlesource.com/5177
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
889faf04fff57eee3758a8ddf89b918fc55780f3 19-Apr-2016 Alexis Hetu <sugoi@google.com> Fixed a couple of regressions from namespace refactoring

From the ES3 spec, section 4.4.2 (about DeleteRenderbuffers):
"Unused names in renderbuffers are silently ignored, as is
the value zero."

And from section 6.1.5:
"IsSampler will return TRUE if sampler is the name of a
sampler object previously returned from a call to
GenSamplers and FALSE otherwise".

Also, glIsSampler can use Context::isSampler(), which uses
ResourceManager::isSampler(), which should only look whether a
name has been reserved, not whether the object is allocated.

Note: Even though the spec mentions (about Sampler objects):
"they acquire state only when they are first used as a parameter
to BindSampler, SamplerParameter*, GetSamplerParameter*, or
IsSampler", it shouldn't hurt to not allocate the object when
calling IsSampler, since a subsequent call to any other Sampler
object related function should allocate it.

Change-Id: I69c9d8bbcf93231747b913c0afbd970c78d02cf1
Reviewed-on: https://swiftshader-review.googlesource.com/5161
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
bc07bf6cb2733bc9dee22e9a90815c3dbefebd7f 19-Apr-2016 John Sheu <sheu@google.com> Add support for GL_NV_read_depth

Change-Id: If2f96b4cc1c09cd28771740f09be5f84875033ab
Reviewed-on: https://swiftshader-review.googlesource.com/5091
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
c66f0e3629984a8f41f6ee4441047c9fe8584454 18-Apr-2016 Nicolas Capens <capn@google.com> Implement GL_EXT_draw_buffers.

Bug 19353282

Change-Id: I4a1782c2f1e9ae52b731ef447e97c353cc41044e
Reviewed-on: https://swiftshader-review.googlesource.com/5123
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
66747475f8d7492dc604bd79271da1e93092c515 18-Apr-2016 Nicolas Capens <capn@google.com> Fix draw buffers support.

Bug 19353282

Change-Id: I6d1022c42a3347b8deb01af15078769d794050cb
Reviewed-on: https://swiftshader-review.googlesource.com/5146
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
b663f717768cbea51891c19ad61d2875d786efb6 18-Apr-2016 Nicolas Capens <capn@google.com> Refactor implementation constants.

Bug 19353282

Change-Id: If2eb9f2d78c3a44b720bb1f223711411b576d710
Reviewed-on: https://swiftshader-review.googlesource.com/5140
Reviewed-by: Alexis Hétu <sugoi@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
f1f127931fb01049a986e4733e43ff4bbc6f5a50 04-Apr-2016 Alexis Hetu <sugoi@google.com> Renaming UniformBufferBinding to BufferBinding

UniformBufferBinding was used for both uniform buffers
and transform feedback buffers, so the uniform buffer
specific name no longer made sense.

Change-Id: I36a5b774e780460fa090c6c611cb8cb475ef2ced
Reviewed-on: https://swiftshader-review.googlesource.com/5042
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
4df0c65b0b68ec670f7f794471dc980c44187e82 29-Mar-2016 Nicolas Capens <capn@google.com> Use namespaces for context owned objects.

Bug 19219444

Change-Id: I9606dfb30693a15a06896d83888022ccbaa8db2e
Reviewed-on: https://swiftshader-review.googlesource.com/5010
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
5669f0d17da2867b59a6d34dd9c83b77c77ea5e5 23-Mar-2016 Nicolas Capens <capn@google.com> Use the namespace for storing objects.

Bug 19219444

Change-Id: I277d80be47d2057f31559c5058e2f6ea422dacfd
Reviewed-on: https://swiftshader-review.googlesource.com/4987
Reviewed-by: Alexis Hétu <sugoi@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
5834c680f77fca0d1aa7580197445278f1daa1d3 23-Mar-2016 Nicolas Capens <capn@google.com> Refactor NameSpace into a template class.

Bug 19219444

Change-Id: Id4b209f491b3a3dde716118309cbc8122feb25d0
Reviewed-on: https://swiftshader-review.googlesource.com/4984
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
9240dac61330e0bbcf25649a456b4bbd4ed904b3 22-Mar-2016 Nicolas Capens <capn@google.com> Use the framebuffer object's stencil attachment.

Bug 27460431

Change-Id: Ic030624cc34b31519882e54497457a1b92eaac45
Reviewed-on: https://swiftshader-review.googlesource.com/4981
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
c39901ecf661bfef98d5c5ae9ff45e6c8dd5577e 21-Mar-2016 Nicolas Capens <capn@google.com> Refactor buffer clearing.

Bug 27460431

Change-Id: I90de3285c86c0d3187969270dcbd78a8b02feee9
Reviewed-on: https://swiftshader-review.googlesource.com/4978
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
7155963e9a21d7f9e97bd8c49bd8f590e2695883 21-Mar-2016 Nicolas Capens <capn@google.com> Bind depth and stencil buffers separately.

Bug 27460431

Change-Id: Ice854b6faec09dc5f2cbdc2a5c3ffba9a73bfb70
Reviewed-on: https://swiftshader-review.googlesource.com/4977
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
b0f247f58e6c70deec0cb9265f5466d1de9aba70 22-Feb-2016 Alexis Hetu <sugoi@google.com> Rasterizer discard implementation

Implemented rasterizer discard by not using the SetupRoutine
and always returning 0 when rasterizer discard is enabled.
Also guarded all clear calls with a check for rasterizer
discard. Passes all rasterizer discard related dEQP tests.

Change-Id: I1e5c107e3dba550f7a5b01eb302ff51bdac303dc
Reviewed-on: https://swiftshader-review.googlesource.com/4876
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
0b1693049ff300ff5cd8d69eb02683b341aa2f87 11-Feb-2016 Alexis Hetu <sugoi@google.com> Default framebuffer type fix

In OpenGL ES 3.0, the default framebuffer should use
GL_FRAMEBUFFER_DEFAULT instead of GL_RENDERBUFFER for
default buffer. I also added the Framebuffer::IsRenderbuffer()
utility function to make the transition easier.

Change-Id: I041e610738a4a656555ae7fa7ba41ba68b1fe9ea
Reviewed-on: https://swiftshader-review.googlesource.com/4763
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
9bdbaa0c895fc4558041bc0c23e7b4e4440fdf5e 08-Feb-2016 Alexis Hetu <sugoi@google.com> Packing fix

Unified and fixed packing and unpacking computations.

Change-Id: I1ea2bcf28945a9f105152a6836f11bcb2859750c
Reviewed-on: https://swiftshader-review.googlesource.com/4715
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
4d208956b8be7534c9168ea357740df874aa09d3 10-Feb-2016 Alexis Hetu <sugoi@google.com> Fixed 2D Array texture binding query

The 2D Array texture binding query was stll using
TEXTURE_3D instead of using TEXTURE_2D_ARRAY.

Change-Id: Ib55007995c336e72aaae7fd62918f232a5c1c3fc
Reviewed-on: https://swiftshader-review.googlesource.com/4744
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
82b3d157918fa148b66aa00cf5152631d26bff67 10-Feb-2016 Alexis Hetu <sugoi@google.com> Defined uniform block related constants

A few numbers didn't match between the default value entered
in Context.cpp and the constants from Config.hpp. A few default
values were also erroneously larger than required. Constants were
centralized in Config.hpp to solve the issue.

Change-Id: I60e5d93c43ce61e125c261bdf07ce50e7130a296
Reviewed-on: https://swiftshader-review.googlesource.com/4742
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
22049505f4807a0e3e336e38970776178535a885 10-Feb-2016 Alexis Hetu <sugoi@google.com> Fixed detaching a buffer

- Quite a few buffers weren't being checked properly when a buffer
was getting detached from the current context.
- Only current objects (TransformFeedback, VertexArray) should be
affected by this.

Change-Id: I621c9fa45a951db5634616884cf57d5cb21d9bda
Reviewed-on: https://swiftshader-review.googlesource.com/4748
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
ed7fdfe266bdb8801a6cb9549c02b8ecb4cea2eb 10-Feb-2016 Alexis Hetu <sugoi@google.com> Fixed mask related state queries

Mask queries could return negative values when only positive
values are accepted, so a clamp was added to prevent returning
negative values.

Change-Id: Ib151573fff54604567b83736163b8fe748c749f8
Reviewed-on: https://swiftshader-review.googlesource.com/4743
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
423fd9120fe3c13b8276a78831b792eb6099bf2e 10-Feb-2016 Alexis Hetu <sugoi@google.com> Fixed read buffer and draw buffers

Specifying a read buffer or draw buffers was set on the context
instead of being set on the Framebuffer object, which led to
multiple Framebuffer objects wrongly sharing this state.

Change-Id: I9d137c52f50e58a48b95f7ed9a44b4dad275e710
Reviewed-on: https://swiftshader-review.googlesource.com/4745
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
10eaf2ed5bfdc580cb41ea3ffb8ea669e6229853 10-Feb-2016 Alexis Hetu <sugoi@google.com> Implemented missing Transform Feedback queries

Added missing implementations for binding/start/size
related queries for TransformFeedback objects.

Change-Id: Iebfebdc840764755a74d4a3753f72eceb1e6c86e
Reviewed-on: https://swiftshader-review.googlesource.com/4747
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
2885249e2be26b49e885b063ab674f2a399027dd 10-Feb-2016 Alexis Hetu <sugoi@google.com> Added version query

Implemented version query and removed a few unnecessary
UNIMPLEMENTED) calls.

Change-Id: I29bb53a8f8083a1b6fb091916dd156f47aac920c
Reviewed-on: https://swiftshader-review.googlesource.com/4754
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
ede04d36028aaf614e168748e5f148c4929a8442 10-Feb-2016 Alexis Hetu <sugoi@google.com> Implemented GL_SAMPLER_BINDING query

Sampler objects already exist, only the query was missing.

Change-Id: Iea4a65ee4af149a33b262eba4fc0d6256775d1e1
Reviewed-on: https://swiftshader-review.googlesource.com/4746
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
36037b7e6e358d849ea548c6f1c22da9b8aa1e93 10-Feb-2016 Alexis Hetu <sugoi@google.com> Added uniform buffer queries

Implemented binding/size/start related queries for uniform buffers.

Change-Id: I9d36c92201a7f0df86b1d882ca6d9f04b372bad6
Reviewed-on: https://swiftshader-review.googlesource.com/4750
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
13b6399059a62b755c54e6cebd2e04a6b8368cef 05-Feb-2016 Alexis Hetu <sugoi@google.com> Vertex Array Object crash fix

Vertex array objects are not allocated when generated,
but only when bound, so it's legal to have a null
vertex array object internally.

Change-Id: Ib28a388939e285425c09cfbc9f4efef3f4a8cead
Reviewed-on: https://swiftshader-review.googlesource.com/4700
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
78696bf0242e02c847b899f4eed1506ebbd3ce41 22-Jan-2016 Alexis Hetu <sugoi@google.com> Fixed binding offsets for uniform and transform feedback buffers

There was some confusion between buffer mapping and size and offset
buffer binding arguments, which are distinct, but were represented
by the same Buffer class members. Added OffsetBindingPointer to solve
the issue and removed setOffset/setSize from the Buffer class, which
should not have existed in the first place (only the mapRange/unmap
functions should be allowed to modify these values, for now).

Change-Id: Iacecd17cfb90d0a229d9edf62a463c8acf31f07a
Reviewed-on: https://swiftshader-review.googlesource.com/4590
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
2c2a7b29cd53cb7b06ef1b1e2177a8c90e6e0128 27-Oct-2015 Alexis Hetu <sugoi@google.com> Passing uniform buffers to the vertex/pixel programs

This cl contains the necessary changes to make uniform buffers
usable in shaders. A few things to note:
- Uniform buffers can be set, but nothing will attempt to access
them in this cl.
- While the 'index' of uniforms is expressed in terms of registers,
uniform buffer 'index' is expressed in bytes in both PixelProgram
and VertexProgram. This is necessary because of packing which can
potentially put some variables in the middle of registers.
Technically, std140 always packs variables in multiples of byte4,
but other future layouts may not, so using bytes as the unit is
more future proof.
- The above mentioned 'index' will have to be computed in OutputASM
and extra operations will need to be added (to fetch a row from a
row major matrix, for example).

Change-Id: I636cc4bdc6fe90d6f5697e735f4288f48d18a75b
Reviewed-on: https://swiftshader-review.googlesource.com/4151
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
29faf67efafa22b44609550234f72faf773548df 13-Jan-2016 Nicolas Capens <capn@google.com> Remove unused return value.

Change-Id: I99731b6697a4ae92b1d04c8a8d895a0cf19d580c
Reviewed-on: https://swiftshader-review.googlesource.com/4545
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
5d96188b9c35bf896c25755e4eb97d09dcf3bed7 02-Jan-2016 Nicolas Capens <capn@google.com> Fix signed/unsigned comparison warnings.

Bug 15387371

Change-Id: Id4c9b54c5c0b4115479b6710c4d8c91d34e5c002
Reviewed-on: https://swiftshader-review.googlesource.com/4494
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
895aa62153c41552689e7f8cb4cb4e7ad686ba37 03-Jan-2016 Nicolas Capens <capn@google.com> Eliminate intermediate primitive type translation.

Bug 21305111

Change-Id: I3803f274f25a25ec60f0f5cbfc4af0151f39ad04
Reviewed-on: https://swiftshader-review.googlesource.com/4505
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
ae05d655e9b64966bef23c6631955bd8d2808c84 11-Jan-2016 Nicolas Capens <capn@google.com> Fix glReadPixels and glClear memory leaks.

Bug 26486408

Change-Id: Iec34ee0034695950163e8e40082d1ad7128490f8
Reviewed-on: https://swiftshader-review.googlesource.com/4533
Reviewed-by: Alexis Hétu <sugoi@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
e5284ac936d52936f6b37c0ef11af147d7d25a5e 08-Jan-2016 Nicolas Capens <capn@google.com> Fix tautological expressions.

Bug 15387371

Change-Id: I01bf5327f205bf646c51c1bb06560448a09f6c4a
Reviewed-on: https://swiftshader-review.googlesource.com/4526
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
8833e016dca246e1aecf36e2ccdd4178849ddbb6 02-Jan-2016 Nicolas Capens <capn@google.com> Fix potentially uninitialized variables.

Bug 15387371

Change-Id: Ie0486feeebc6e4bceba148bea69f2d1ee1d1ffd8
Reviewed-on: https://swiftshader-review.googlesource.com/4499
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
485f92cdef2f8ddc7a17e7d897341efe331069ec 02-Jan-2016 Nicolas Capens <capn@google.com> Fix initialization order warnings.

Bug 15387371

Change-Id: I01da3db7d6bb795c46153dbc12fd41478f4b6416
Reviewed-on: https://swiftshader-review.googlesource.com/4493
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
1c6f53c9027b6fbac27f58a1d510e2052f98149a 31-Dec-2015 Nicolas Capens <capn@google.com> Fix format/type conversion for readPixels.

Change-Id: I5d9d8247fc847e987cbe7d62f7e8641ac4225f50
Reviewed-on: https://swiftshader-review.googlesource.com/4448
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
5524f05f03461935a5691ba5a50ee80647e6cf0a 21-Dec-2015 Nicolas Capens <capn@google.com> Fix missing abs() declaration.

Change-Id: I7e4ceea2a45e8767881094de8b69b4d3aadab158
Reviewed-on: https://swiftshader-review.googlesource.com/4354
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
c4d04467d799ab7932722ed63b9aee9d32a1e58e 10-Dec-2015 Alexis Hetu <sugoi@google.com> Sending magnification filter info to the sampler

Currently, the magnification filter information is ignored
by SwiftShader. In order to fix it, the 1st step is simply
to make the sampler aware of this information. After this,
a subsequent cl using the duvdxy computed in computeLod
will choose which filter to use (if they are different).

Change-Id: Idc8636c3d981c944815094f23e443725bed4cf27
Reviewed-on: https://swiftshader-review.googlesource.com/4382
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
e727775c444130c8e2d3c801adc9ac65a1a764eb 04-Dec-2015 Alexis Hetu <sugoi@google.com> Added new extensions

The new extensions are:
- GL_OES_framebuffer_object (with extra exports)
- GL_OES_depth24
- GL_OES_depth32
- GL_EXT_color_buffer_half_float

These were mostly supported already with the GLES3 related changes,
so only a few minor changes were required.

Change-Id: Iab6e94043cfdabb8ad74e526f44f7bd9d57c267f
Reviewed-on: https://swiftshader-review.googlesource.com/4342
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
2ea6f557bc01091da25a9e5a461b3b6e870c4afb 02-Dec-2015 Alexis Hetu <sugoi@google.com> Renderbuffer allocation fix for GLES3

According to the ES3 spec, there's no requirement for a
renderbuffer to be allocated until it is bound and any
non-zero renderbuffer bound must be allocated.

Change-Id: Id47083c7ec6e3b3698e176d6feff31121983e446
Reviewed-on: https://swiftshader-review.googlesource.com/4331
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
75b650f0e501750ae0ba66a435741731905dffc1 19-Nov-2015 Alexis Hetu <sugoi@google.com> Blitter clear implementation

The "clear" operation can now be done through the blitter.
The few changes are:
- The blitter now supports RGBA masking
- The blitter now supports RGB565
- When in "clear" mode, the blitter does a one read/multiple writes

The old clearing code has been deleted from Surface.

Change-Id: I970c3a0323f63ee5c89f02d94a2705e4bcf83866
Reviewed-on: https://swiftshader-review.googlesource.com/4291
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
c8f95e8ad402f98527d1882c283138c1da1ca479 12-Nov-2015 Alexis Hetu <sugoi@google.com> Floating point renderbuffer support

It is now possible to use floating point renderbuffers and read
the data back from them. The changes include:
- Modified glReadPixels so that it always uses the blitter to
copy the data to the external buffer.
- Added new types to both Framebuffer and some utility functions.
- Added the new ValidReadPixelsFormatType function to validate the
glReadPixels format/type combo, which had a bit more
possibilities than the RGBA/UNSIGNED BYTE combo previously used.

Change-Id: I1726ea57c4f7aa85bf0ffa7f323dc6a16abc34ff
Reviewed-on: https://swiftshader-review.googlesource.com/4260
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
1edcd8b626129ac8297cda0a297034d8dfeb5061 05-Nov-2015 Alexis Hetu <sugoi@google.com> Multiple draw buffers implementation

Implemented the missing pieces for multiple draw buffers support:
- Fixed Context::getScissoredImage() to use the drawbuffer
parameter properly
- Enabled setting multiple render targets
- Added dynamic indexing of gl_FragData using a new dynOut flag
to figure out which channels are being written to.

Change-Id: Id3d95c46a980a698f71e99f7781cc6287e880e9d
Reviewed-on: https://swiftshader-review.googlesource.com/4220
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
7649300efd066a0485bc4d50adc6cca4138072c8 15-Oct-2015 Nicolas Capens <capn@google.com> Implementation of EGL_KHR_fence_sync.

Bug 21662268

Change-Id: Iefdc18303c42967ccc25fd6580851e05520dc2b9
Reviewed-on: https://swiftshader-review.googlesource.com/4071
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
1d01aa378d060eaca1fe4d7162d3721ed07c69f4 29-Sep-2015 Alexis Hetu <sugoi@google.com> Added new swizzle parameters to Sampler's state

The new parameters are: swizzleR, swizzleG, swizzleB, swizzleA.

Also, parameters sent from the context that can be either
originating from the Texture object or the Sampler object
are now sent from the correct origin.

An implementation for the swizzleR, swizzleG, swizzleB, swizzleA
parameters was done in SamplerCore. All related dEQP tests pass.

Change-Id: I45405a0d241d0e70a91a3c56357c7bc04c7dc75a
Reviewed-on: https://swiftshader-review.googlesource.com/4017
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
8b4ea004440343224b17c69614637e5d1bb19bd2 01-Oct-2015 Nicolas Capens <capn@google.com> Remove the dependency on GCE for display size.

Change-Id: I201ffae8193cfcac48a7ad3446f4b79da6c3d217
Reviewed-on: https://swiftshader-review.googlesource.com/4032
Tested-by: Greg Hartman <ghartman@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
667472623f1f8a9d48c8a45c47b11c6ef537b07d 22-Sep-2015 Nicolas Capens <capn@google.com> Improve color clear precision.

Change-Id: Ib9dadf3d8fee0f63deb10e6754856c0530c928ab
Reviewed-on: https://swiftshader-review.googlesource.com/3995
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
3f1d0b766d13ac9f6dc03bbb97addda23c67296a 10-Sep-2015 Alexis Hetu <sugoi@google.com> Fixed a few issues related to transform feedback buffers

- Transform feedback buffers are now properly cleared when
the object is deleted
- Transform feedback buffers are now properly detached when
a buffer is deleted
- Ending a transform feedback now properly sets its PAUSED
state to false
- Added missing enums to Context::getQueryParameterInfo.
GL_READ_FRAMEBUFFER_BINDING_ANGLE was also missing, so
it was also added in this cl.

Change-Id: I286caec119d5ae3adde95c4cce7f0298b8f836c3
Reviewed-on: https://swiftshader-review.googlesource.com/3962
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
3ff330f7e55dfc1dbd9bacb0972aef47f1be8b00 03-Sep-2015 Nicolas Capens <capn@google.com> Simplify and centralize multisample counts.

Change-Id: I012bb669444e28f844c5571ff639b31dd1a35e1d
Reviewed-on: https://swiftshader-review.googlesource.com/3950
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
7a57040f95f1822b21bb15d3ef7aa6f75d22f99b 02-Jul-2015 Alexis Hetu <sugoi@google.com> Multisampling value of 1

Setting a multisampling values of 0 or 1 are apparently
2 different cases, so I tried removing the even number
check to fix this. It didn't break any tests, but I'm
not sure how well this is covered by the tests.

Change-Id: I0e7de9b153288f0c07bde9a2f104ea1d2bf230ac
Reviewed-on: https://swiftshader-review.googlesource.com/3622
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
79c7e27369926e8bd21a4fe2384672101891dfc7 28-Aug-2015 Nicolas Capens <capn@google.com> Implement EGL_LARGEST_PBUFFER.

Bug 23041720

Change-Id: I9f6bed0a3d239a0adde9cc4e90cc368f078f3662
Reviewed-on: https://swiftshader-review.googlesource.com/3902
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
d55a0953de0d1a203f92f6b905d76ccd78ba2492 03-Aug-2015 Nicolas Capens <capn@google.com> Renamed boolean state variables and setters.

Change-Id: Ied1be6434a356ec7315df9d728dc424961f44fd0
Reviewed-on: https://swiftshader-review.googlesource.com/3770
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
b938c3ce2e6f24f71cf4ff52ec862bc85a91c0f0 06-Jul-2015 Alexis Hetu <sugoi@google.com> Uniform blocks implementation

- Added support for uniform blocks in OutputASM::declareUniform
- Added basic implementation of Program::applyUniformBuffers()
to be completed later on when uniform buffers are implemented

Change-Id: I919b59d4557bb10bb302e6b6bd0ada79553ca8bb
Reviewed-on: https://swiftshader-review.googlesource.com/3651
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
0ef53dbf64f11c9c83ed80d0cda3751beaf407ce 03-Jul-2015 Alexis Hetu <sugoi@google.com> CreateSampler should create a Sampler object by default

It should be possible to query the default parameters
of a Sampler created with glGenSamplers, so
checkSamplerAllocation() was added to make sure a
created sampler was associated to a Sampler object
where appropriate.

I also cleaned up the API a little to share validation
functions.

Change-Id: I55d95c6663d41e2566b24eb76a431dd4b4da61e3
Reviewed-on: https://swiftshader-review.googlesource.com/3637
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
0930da41afa5b0d60ee690551c40f6c8a8933fab 30-Jun-2015 Alexis Hetu <sugoi@google.com> Proper usage of pixel pack buffer

The pixel pack buffer was ignored, but should be
used whenever it is set when doing a glReadPixels.
When this is the case, pixels becomes an offset.
From the GLES 3.0 spec, section 4.3.1, subsection
"Placement in Pixel Pack Buffer or Client Memory":

"If a pixel pack buffer is bound, data is an offset
into the pixel pack buffer and the pixels are
packed into the buffer relative to this offset;
otherwise, data is a pointer to a block of client
memory and the pixels are packed into the client
memory relative to the pointer"

WebGL conformance tests passed.

Change-Id: I7539f1ce705cfd2072ed679815676c0b18887272
Reviewed-on: https://swiftshader-review.googlesource.com/3604
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
3713cd4b12696bcabaabe98562320e8fa1796b33 22-Jun-2015 Nicolas Capens <capn@google.com> Log the switch value when reaching an UNREACHABLE().

Bug 20025568

Change-Id: I37d2c7171e0704b4064e56e8ca8799f930038d87
Reviewed-on: https://swiftshader-review.googlesource.com/3481
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
c2632d2522c0ff6c74914a73980319a6b51fe17e 01-May-2015 Alexis Hetu <sugoi@google.com> Uniform Buffers API implementation

Implemented the necessary functions
for the API level implementation of
glBindBufferBase and glBindBufferRange.
Also cleaned up the TransformFeedback
API functions a little for uniformity
with uniform buffers.

Change-Id: Iccc835f175d4e8bc4ee030343936714b7ff224ac
Reviewed-on: https://swiftshader-review.googlesource.com/3030
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
e5a43390eb366d12eb303d75b592e2ed48deb83d 22-Apr-2015 Alexis Hetu <sugoi@google.com> New FenceSync object API implementation

- Added new FenceSync object and related
API functions implementations
- Added FenceSync to ResourceManager
- Moved Sampler to ResourceManager

Change-Id: Ia3d42b749811a4e1ed087b41f0c871beb8fdb8d4
Reviewed-on: https://swiftshader-review.googlesource.com/2931
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
6743bbf11fe876e0ce063802174c416f5fa05ad4 21-Apr-2015 Alexis Hetu <sugoi@google.com> gl_InstanceID implementation

I need some help connecting the dots here.
I can see a few ways of doing it, but it
isn't trivial for me to see which one
would be right. Could you tell me how the
value should go from the VertexProcessor to
being assigned a value in the actual shader.

Change-Id: Ie0bc2024f51a904ab8144c435b623cfefe8e6704
Reviewed-on: https://swiftshader-review.googlesource.com/2920
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
7aca320a2d4679694fc106648af53e4866f0af52 01-Jun-2015 Alexis Hetu <sugoi@google.com> Removing a D3D limitation from SwiftShader

The limitation of not being able to have
different values for stencil and stencilBack
was put in place in Angle because of a D3D
limitation, which we do not have in Swift
Shader, so I doubt we need the same limitation.

FYI, this fixes about 600 dEQP tests.

Change-Id: I74d1786c612e817fb5ef46f233751e6f2581c33f
Reviewed-on: https://swiftshader-review.googlesource.com/3321
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
611615009b50a9bf868749da75f33363cbc69845 21-May-2015 Alexis Hetu <sugoi@google.com> GL_HALF_FLOAT vs GL_HALF_FLOAT_OES

GL_HALF_FLOAT and GL_HALF_FLOAT_OES
do not have the same value, so to
be able to support GL_HALF_FLOAT
(in OpenGL ES 3.0) the same way we
used to support GL_HALF_FLOAT_OES
(in OpenGL ES 2.0), a few spots in
the code need to handle both cases.

Change-Id: I1fa60c51c65d693f5cc45124cd71411320f24014
Reviewed-on: https://swiftshader-review.googlesource.com/3192
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
4ffc8188b90fd2583ad7c2082db5ac45c54a5f54 29-Apr-2015 Alexis Hetu <sugoi@google.com> glClearBuffer implementation

Implemented glClearBuffer* functions.
Right now, all colors are represented
as floats internally, but should that
change, and integer types be supported,
we'd be able to remove the casts to
float here.

Change-Id: Ie785858d77ce7ac03b78fca9e43ac922c15e76e0
Reviewed-on: https://swiftshader-review.googlesource.com/3004
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
778c28f2beef1ff70982db82306ea2473af02986 11-May-2015 Alexis Hetu <sugoi@google.com> Texture2DArray binding function

Texture2DArray textures can now be bound properly.

Change-Id: I3516b67c266feaede3e63c30615bd9f2891c0f1b
Reviewed-on: https://swiftshader-review.googlesource.com/3083
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
c7b05103826dc52f81248d3d278a7af26c322604 23-Apr-2015 Alexis Hetu <sugoi@google.com> Pixel store parameters

Adding the missing pixel store
parameters needed to use some
tests. Added the UnpackInfo
structure to minimize function
signature changes while sending
all unpack parameters to
loadImageData().

Change-Id: I86b660697ae726f902923066a9defe6d3a88860f
Reviewed-on: https://swiftshader-review.googlesource.com/2943
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
8216de9b5ae5079c6cd29a497f4b85e884e8f993 15-Apr-2015 Alexis Hetu <sugoi@google.com> Texture2DArray skeleton

Added basic class / enums / function skeletons
for Texture2DArray. No sampling code has been
added to SamplerCore for Texture2DArray yet.

Change-Id: I78bc1fdec069005d2b3b6f6b1ba41db8c278f74b
Reviewed-on: https://swiftshader-review.googlesource.com/2852
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
1b2f628aa9e22757fdbec6ea790149f6839c02f6 16-Apr-2015 Alexis Hetu <sugoi@google.com> Multiple color attachments

Adding multiple color attachments to
Framebuffer objects. This cl allows
setting multiple draw buffers, but
there is currently no code exercising
that path. These will connected
properly to a shader's multiple
outputs later.

Change-Id: I41d4eadc4518d0b9c1468802c32e622df591e860
Reviewed-on: https://swiftshader-review.googlesource.com/2881
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
5a01c18c860e49a9fda7c4a4c1b6824a71ba5ff5 16-Apr-2015 Alexis Hetu <sugoi@google.com> glGet, 64b version

Implemented glGetInteger[64i_v,64v], which
is very similar to the 32b version, except
it has a 64b output argument.

Change-Id: I1874109da419b82b2499f4d82d9c46ab44381d65
Reviewed-on: https://swiftshader-review.googlesource.com/2864
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
52114cc56a924fc8ec9ff9ad3ebcde1d1a14ecc4 01-May-2015 Alexis Hetu <sugoi@google.com> Added missing query type

OpenGL ES 3.0 has a new type of query,
GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
so it was added where appropriate.

Change-Id: I0f1f1c8e3cfc1cf82cb413ae2e77dacd57d85d92
Reviewed-on: https://swiftshader-review.googlesource.com/3032
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
86d33ccae0aa9ecb19363c7915269f3b7a1445e1 30-Apr-2015 Alexis Hetu <sugoi@google.com> Added a few missing entries in getIntegerv

A few small things could be added:
- Max Texture3D size
- Max Texture2DArray layers
- VertexArray name

Change-Id: I9e6580cefff7ea3a04b189a4c73a3ffd017453ce
Reviewed-on: https://swiftshader-review.googlesource.com/3018
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
ebe9bbdabc33bbc62b8262c3fcc5244901d6dc16 29-Apr-2015 Alexis Hetu <sugoi@google.com> Fixed element array buffer name crash

Added missing NULL pointer check

Bug 20676373

Change-Id: Ia99cac8e6abb4157441d8ff1741b5d81981a1270
Reviewed-on: https://swiftshader-review.googlesource.com/3000
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
deda34b0d40b8cea039766895789099d34589a5d 29-Apr-2015 Nicolas Capens <capn@google.com> Combine es2::Image and es1::Image into egl::Image.

Change-Id: Iadd4ce8ac36ad3458741f244423731fa00d7fd84
Reviewed-on: https://swiftshader-review.googlesource.com/2982
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
b4d557d608a5a9da5749d7f22b39a18ed71bd067 24-Apr-2015 Alexis Hetu <sugoi@google.com> Adding instanced drawing

- Added the ANGLE extension for instance
drawing (GL_ANGLE_instanced_arrays)
- VertexDataManager can now pull data
either from the current attributes
or from the VertexArray object

Change-Id: Id0aa078bf9401e4f3f62594e90908fad98954051
Reviewed-on: https://swiftshader-review.googlesource.com/2946
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
8e32f7bf1e5f5539c27f7427173ae03757e85172 28-Apr-2015 Alexis Hetu <sugoi@google.com> Constness in Context

Added proper constness to Context getters.

Change-Id: I0495cbe7ab0c9f50d4d9aa3d969507f117539bd8
Reviewed-on: https://swiftshader-review.googlesource.com/2983
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
bcac6ffc83fe93763c35a993e6b1486d3e3a8296 22-Apr-2015 Alexis Hetu <sugoi@google.com> TransformFeedback buffer binding

Added get/set functions for binding
a transform feedback buffer.

Change-Id: I409841a35644ff8d5f99c0a6b4c3a43568676822
Reviewed-on: https://swiftshader-review.googlesource.com/2930
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
22d0766059dc05294b60889b36817d25d4525f6c 25-Apr-2015 Nicolas Capens <capn@google.com> Fix compilation regression on Linux.

Change-Id: I8a2706ed0cf92bc8841823b181a9f88b819d4337
Reviewed-on: https://swiftshader-review.googlesource.com/2960
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
f66c110cd4adaaca3e58dd01a4e6d418fcf0c8e6 18-Apr-2015 Greg Hartman <ghartman@google.com> Initial work to connect gralloc to egl::Image

Change-Id: Ia11a9520bb6525dc367e0b2956850574b29e4796
Reviewed-on: https://swiftshader-review.googlesource.com/2900
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
e8af6d1a7a08e53a2369cd9e9c24ebb185779196 17-Apr-2015 Alexis Hetu <sugoi@google.com> Adding draw instanced functions

This cl adds the API function
implementations for both the
core OpenGL ES 3.0 functions:
- glDrawArraysInstanced
- glDrawElementsInstanced

and the OpenGL ES 2.0 extensions:
- GL_EXT_draw_instanced
- GL_EXT_instanced_arrays

which include these functions:
- glDrawArraysInstancedEXT
- glDrawElementsInstancedEXT
- glVertexAttribDivisorEXT

Change-Id: I71efdd48087f14fe5e8229c7f6a74e6525921fe3
Reviewed-on: https://swiftshader-review.googlesource.com/2893
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
0733469eb16c0b0d9c0daf518f4039cbd4fe0888 10-Apr-2015 Alexis Hetu <sugoi@google.com> Implemented glDrawRangeElements

This function is basically the same as
glDrawElements, except, in Debug, it
returns an error if the draw operation
reads outside of the expected range.

Change-Id: I2472c317eb5d8a1da89c5a76f076fe95adc6789e
Reviewed-on: https://swiftshader-review.googlesource.com/2829
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
1906d0a2986f604907d22d42da02e857d42cf9ad 15-Apr-2015 Greg Hartman <ghartman@google.com> Changes to enable compile on Android JellyBean.

Now incorporates "create common V1&v2 code for Android, consolidating image
format handling."

Change-Id: I6312084f1425354b619361929da533aa5ac357e3
Reviewed-on: https://swiftshader-review.googlesource.com/2850
Tested-by: Greg Hartman <ghartman@google.com>
Reviewed-by: Greg Hartman <ghartman@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
a230805e1fb8d9da59c706ba13aed2a9f3410c1e 15-Apr-2015 Nicolas Capens <capn@google.com> Access library dependencies through a single object.

Bug 18752589

Change-Id: I93155cead50b30faa876023f9ed00f60b7c9e34e
Reviewed-on: https://swiftshader-review.googlesource.com/2831
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Greg Hartman <ghartman@google.com>
Tested-by: Greg Hartman <ghartman@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
f9b7cb1b9c80fe285bbc0acf867f2e666828f82f 10-Apr-2015 Alexis Hetu <sugoi@google.com> New Buffers in OpenGL ES 3.0

Added new GLES 3.0 buffers:
- CopyReadBuffer
- CopyWriteBuffer
- PixelPackBuffer
- PixelUnpackBuffer
- UniformBuffer

Added related API function changes.
Note: I left TransformFeedback related buffer
changes out of this cl to avoid clashing with
other ongoing work and to keep this cl short.

Change-Id: Icb96f217e80a38f634c1735931dc37d53810d7f7
Reviewed-on: https://swiftshader-review.googlesource.com/2827
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
8141d7c5285f42605920c66f1282f923ea41949b 02-Apr-2015 Alexis Hetu <sugoi@google.com> Added utility function for OpenGL extension strings

The new glGetStringi() function needed to be unified
with glGetString(), so I made a utility function
to make future modifications easy.

Change-Id: I6619d9f99b10d9fc43bd8783a1d50274e2b37a7b
Reviewed-on: https://swiftshader-review.googlesource.com/2797
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
93ae103492101a39b08064c5c1763007cca1dfbc 10-Apr-2015 Alexis Hetu <sugoi@google.com> New VertexAttribute data types

Added int and unsigned int as possible
internal storage types for VertexAttribute
on top of the existing float type by using
a union in order to be able to store the new
VertexAttribute types in their native types.

Change-Id: I5a98aeded065095df6b44fa20f4c293ae230bc37
Reviewed-on: https://swiftshader-review.googlesource.com/2828
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
726ee32fade30bc6d43b7c2f605796c788946ad8 09-Apr-2015 Alexis Hetu <sugoi@google.com> Transform Feedback and Sampler API Implemented

Implemented API functions related to creating,
binding, deleting or accessing the parameters
of Transform Feedback and Sampler objects.

Change-Id: I267605733758332439addd71c24f5f438d22ba46
Reviewed-on: https://swiftshader-review.googlesource.com/2814
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
5d9b4de503ac411826ea921f6bbd76bef9496962 02-Apr-2015 Nicolas Capens <capn@google.com> Reference count the TLS objects.

Bug 20045861

Change-Id: I4881187cb45b6c818ceca2d950977b3af43443ab
Reviewed-on: https://swiftshader-review.googlesource.com/2795
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
8ea8784df4254f4e9a6f8271984f2bd22f03dbea 09-Apr-2015 Alexis Hetu <sugoi@google.com> Fixed object destruction in context

Added proper destruction of new objects recently added to
the context (VerterArray, Sampler and TransformFeedback).

Change-Id: I45a741476d84b74469d5463653eb6a3bb04d501d
Reviewed-on: https://swiftshader-review.googlesource.com/2813
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
2d234afa7ac85f8d88491035da551efc61f16892 02-Apr-2015 Alexis Hetu <sugoi@google.com> Adding new object types for OpenGL ES 3.0

New objects:
- Sampler
- Transform feedback
- Vertex Array

Change-Id: I701ea5fea75b81196290c3bdb3230cd471cc537b
Reviewed-on: https://swiftshader-review.googlesource.com/2796
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
0b65c5e3903233839197fd689895ba57b7f61a5b 31-Mar-2015 Alexis Hetu <sugoi@google.com> Replacing numbers by constants

In order to be able to easily modify
values in between OpenGL ES versions,
some constants were added to replace
hardcoded numbers.

Change-Id: Ic35bf8e45341addf5315acaa9ffac01095b8907c
Reviewed-on: https://swiftshader-review.googlesource.com/2761
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
edb2e17215f3a9e31e51cf9768388a26458f9120 29-Mar-2015 Nicolas Capens <capn@google.com> Implement glReadPixels() for RGBA formats.

Change-Id: Ia2f7d1db3b2a0f075326c3331125ca347f42932d
Reviewed-on: https://swiftshader-review.googlesource.com/2756
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
b508ff81f92f0253c6c38d4d09d12f150a10b742 22-Mar-2015 Ping-Hao Wu <pinghao@google.com> Implement basic ANDROID_image_native_buffer support.

Change-Id: I7e844eb7c313455d48cd2fc09440f10d639b4c77
Reviewed-on: https://swiftshader-review.googlesource.com/2758
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Greg Hartman <ghartman@google.com>
Reviewed-by: Ping-Hao Wu <pinghao@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
0300e3c7a5ef70b53ad742e348b2cd4d848b42b9 12-Mar-2015 Alexis Hetu <sugoi@google.com> Implement simple OpenGL ES 3.0 parameter checks

Added some "low hanging fruit" implementations and quick validation
checks for a portion of the GLES 3.0 API functions.

Change-Id: I003031091bc2c2c32919896e86e38b5f1f43c555
Reviewed-on: https://swiftshader-review.googlesource.com/2610
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
7462601f8e03fb72ea5d1f3a7a41daf351198daf 12-Mar-2015 Nicolas Capens <capn@google.com> Implement glFrustum() for OpenGL ES 1.1.

Change-Id: Iedf1f5d64a3346a0b4cf081cfcd383c8dc67b775
Reviewed-on: https://swiftshader-review.googlesource.com/2590
Reviewed-by: Maxime Grégoire <mgregoire@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
fceb18374def9998208116e9982b79c246b3cc30 10-Mar-2015 Alexis Hetu <sugoi@google.com> Adding some GLES 3.0 specific enums

This cl doesn't actually do anything, but we need to establish
exactly how to add new GLES 3.0 specific cases in Swift Shader.

Change-Id: I7f31ea98e0d24f71204a3e1a7a31bf3379741e15
Reviewed-on: https://swiftshader-review.googlesource.com/2560
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
e9233fb766e89b40908bec41edf3523038d3a8e1 11-Feb-2015 Alexis Hetu <sugoi@google.com> Adding multisampling to texture3D test

Required adding X and Y flipping to blitter.

Change-Id: Icaac4045ae9419296112464d7ccdde7babb76eb3
Reviewed-on: https://swiftshader-review.googlesource.com/2180
Reviewed-by: Alexis Hétu <sugoi@google.com>
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
b97ad2e8c0178d215c2b3e938082a53e79cdc72e 11-Feb-2015 Nicolas Capens <capn@google.com> Enable OpenGL ES 3.0 context creation.

Bug 19362672

Change-Id: Ie948dd0c26a6a5f65f6e15b75f2376d598129c28
Reviewed-on: https://swiftshader-review.googlesource.com/2287
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
f7be67f8e9b497e47a1740a27a85886482613679 11-Feb-2015 Alexis Hetu <sugoi@google.com> Texture3D copy to level

Bug 19126833

Change-Id: I6da0f1a3d09ab8f510f6f5b2600d911095e02a43
Reviewed-on: https://swiftshader-review.googlesource.com/2200
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
80b4125af790b73261df480b3dcaa533bed6cbf6 29-Jan-2015 Nicolas Capens <capn@google.com> Share the name space implementation between all GL versions.

Bug 18962347

Change-Id: Ifd7ca4142d90798d0bbe2defa9337bac17e20daf
Reviewed-on: https://swiftshader-review.googlesource.com/1881
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
d7d9b4bdfee82766c44e5a473b28d5884e4e2329 30-Jan-2015 Nicolas Capens <capn@google.com> Access binding pointer objects through operators.

Bug 18962347

Change-Id: Ia28555a8b3e8923309e3a760d78fa276bd7b8c8d
Reviewed-on: https://swiftshader-review.googlesource.com/1890
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
7cc75e1c3d1e60847e47e19cfbe71051b95e7f9d 29-Jan-2015 Nicolas Capens <capn@google.com> Make the Object class independent of the GL version.

Bug 18962347

Change-Id: Ica99629bf58e799d6552d4a92ce3ae3eff57da27
Reviewed-on: https://swiftshader-review.googlesource.com/1880
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
235781d1c02eab8fd95b8b75a426837075ecd97a 27-Jan-2015 Nicolas Capens <capn@google.com> Implement support for wide lines.

Bug 18962347

Change-Id: I673610bfd50bc0e09aedd764336c7e10cfa11e08
Reviewed-on: https://swiftshader-review.googlesource.com/1831
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
b027aa91f4b20c5062fbc781d0ff693bf294cbcc 19-Jan-2015 Alexis Hetu <sugoi@google.com> Adding Texture3D support.

Bug 19126833

Added Texture3D argument verifications.
Added the basic API and functions. A few are still unimplemented:
- Image::loadCompressedData() (for depth other than 1)
- Texture3D::copyImage()
- Texture3D::generateMipmaps()
Added colour grading test for 3D texture

Change-Id: I9e52afa7213999f94c5916c2f301fc6fa4b42c0d
Reviewed-on: https://swiftshader-review.googlesource.com/1730
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
9703d1a4361f3879bdb8a97c289402b0874ba3cb 14-Jan-2015 Nicolas Capens <capn@google.com> Provide framebuffer-specific color read format/type and optimize for them.

Bug 14643416

Change-Id: I5826ca98bdc964bec3ce9a6cd090872b7eb65c45
Reviewed-on: https://swiftshader-review.googlesource.com/1710
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
9f6e888f3d86e9bc8cd07d7315211db3be15fb16 13-Jan-2015 Nicolas Capens <capn@google.com> Provide a faster implementation for reading to RGBA8.

Bug 14643416

Change-Id: Ied833ac4c2fe6c185efe81adf47e63b29273920a
Reviewed-on: https://swiftshader-review.googlesource.com/1702
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
dddc4ab703d29db721a18e81e63b23718bb2cc66 13-Jan-2015 Nicolas Capens <capn@google.com> Retrieve the implementation color read format/type from the framebuffer.

Bug 14643416

Change-Id: Icdacb4185839ef6fb71fe2ff651e283d55d447a9
Reviewed-on: https://swiftshader-review.googlesource.com/1701
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
53fae3e9065ab9beae3f1712d75b1638ded9206e 03-Dec-2014 Nicolas Capens <capn@google.com> Eliminate GL buffers.

Bug 18591036

Change-Id: Ieb77935e0afd41c78dff2bb892185bc2d31505b8
Reviewed-on: https://swiftshader-review.googlesource.com/1540
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
2265824443967db3003a2a875f75d3ec6d8fad96 29-Nov-2014 Nicolas Capens <capn@google.com> Implement ETC1 compressed textures support.

Bug 18559323

Change-Id: Iafa75778601436364406256602455993eb062de8
Reviewed-on: https://swiftshader-review.googlesource.com/1510
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
393e2f944d97a6348017a683921f24a414941104 01-Dec-2014 Nicolas Capens <capn@google.com> Create a renderer device per GL context.

Bug 18572955

Change-Id: I5c05ab7e0bae3581600ab4fcaba7c499fb5987a7
Reviewed-on: https://swiftshader-review.googlesource.com/1521
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
42a584d59a7522b8c6c2c0c1ad3f5c71836cdf84 07-Nov-2014 Alexis Hetu <sugoi@google.com> Sending proper GL error on invalid Renderbuffer.

Instead of creating a new Renderbuffer in case of an invalid Renderbuffer,
it will now instead send a GL_INVALID_OPERATION error.

BUG=14598385

Change-Id: I0425061fcc26e86348ef881f18c68acaa142e9c9
Reviewed-on: https://swiftshader-review.googlesource.com/1340
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
617a5d5e704b17f14304017f263c8f15ee4d4bb5 13-Nov-2014 Alexis Hetu <sugoi@google.com> Fixing some trivial warnings in the SwiftShader build.

BUG=18368388

Change-Id: I89038818164e04f9ae4a7e1c4526781654e83c7a
Reviewed-on: https://swiftshader-review.googlesource.com/1390
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp
e8321394237fa04e1a3f066d5b96025f48c36dfc 03-Nov-2014 Nicolas Capens <capn@google.com> Rename the GLES2 folder to OpenGL.

BUG=18218488

Change-Id: I162a3a80a8e098a2a52b02ea56d746074dfb938d
Reviewed-on: https://swiftshader-review.googlesource.com/1320
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/libGLESv2/Context.cpp