History log of /external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
82f653a601da8c73f0bb951ddcbf4265487a8096 11-May-2016 Alexis Hetu <sugoi@google.com> Loop count crash fixed

The loopCount function was expecting the left side of a binary op
to always be a symbol, which isn't necessarily the case, so a null
pointer check was added to prevent the crash.

Change-Id: I1fe6626bf52ecbb05664d1d2fa18f7ed830a7ee6
Reviewed-on: https://swiftshader-review.googlesource.com/5344
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
502836a8df8985544667325ad0fb44d3ac0f40e3 18-May-2016 Nicolas Capens <capn@google.com> Make the number of vertex inputs configurable.

Change-Id: Ic078acae24dd2b2361a32498b49238b98e0ac0d1
Reviewed-on: https://swiftshader-review.googlesource.com/5386
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/compiler/OutputASM.cpp
7f781e6a4c64f25d3d825f650fabd3b29d8f2e74 18-May-2016 Nicolas Capens <capn@google.com> Make the number of fragment inputs configurable.

Change-Id: I2c618c03d00718951907e81fcd600155751aac89
Reviewed-on: https://swiftshader-review.googlesource.com/5385
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
579dc4f88eb1891b1d5c19556394df34abf6ff57 18-May-2016 Nicolas Capens <capn@google.com> Make the number of vertex outputs configurable.

Change-Id: I17ae53e5274232e9e3b482daac56d507788e822c
Reviewed-on: https://swiftshader-review.googlesource.com/5383
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/compiler/OutputASM.cpp
478dd9a470bc45758a9400af6b2896c2f3d4abf6 02-May-2016 Alexis Hetu <sugoi@google.com> Switch implementation

Implemented switch/case for glsl in OpenGL ES 3.0.
For simplicity, it is implemented as a loop without a condition,
so break statements work properly like so:

begin switch
if(...) // 1st case
...
else if(...) // other cases
...
else // default case
...
end switch // Anchor point for break statements

All related dEQP tests pass, except 7 tests where vertex shaders
contain a switch or a loop within another switch. These 7 failures
have only about 5% of bad pixel and seem to be related to an issue
with int(floor(...)), since the equivalent tests inside the fragment
shader pass.

KNOWN ISSUE: If a switch is within a loop and one of the cases
contains a "continue" statement, this will not be
handled correctly at the moment. There are no dEQP
tests for this at the moment, AFAIK.

Change-Id: I3ba34ab06a759d07e8520f6a87d75036a5cdaef5
Reviewed-on: https://swiftshader-review.googlesource.com/5272
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
d999309b36cb3dceadd38217b322f0e96a06b202 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/compiler/OutputASM.cpp
4c01ec7d8b8883fc5cdc39fc4d82298a5da8eac3 03-May-2016 Alexis Hetu <sugoi@google.com> modf implementation

Implemented modf as trunc + sub
Passes all related dEQP tests

Change-Id: I43656c51a670d235153e5fac390a8db311b14f8d
Reviewed-on: https://swiftshader-review.googlesource.com/5280
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
4ec0c6bb1820b61d43ae5f88118a61dd2cbcd74a 29-Apr-2016 Nicolas Capens <capn@google.com> Fix sampler-array-using-loop-index.html regression.

Change-Id: I1d1a716bd9bd5b636c5b263a7094ff13ac9aa549
Reviewed-on: https://swiftshader-review.googlesource.com/5260
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/compiler/OutputASM.cpp
9a6ecfd1819e87345bdf8fa7b00fa86900ccf5ea 26-Apr-2016 Nicolas Capens <capn@google.com> Fix indexing of samplers in structures.

Change-Id: I0bde678865902d549d4260bf8f6c1a368a46f4d4
Reviewed-on: https://swiftshader-review.googlesource.com/5191
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/compiler/OutputASM.cpp
5a6481db6c8812393d6b3ae632faf7b29e518aa9 27-Apr-2016 Alexis Hetu <sugoi@google.com> Texture projection constant folding

Whenever texture projection is used with a constant texture
coordinate, folding allows to use the full precision reciprocal
and not generate the lower precision reciprocal operation.

Change-Id: I6cab6567d63ecd9abe1cedbd7e46e1fd9099a3d3
Reviewed-on: https://swiftshader-review.googlesource.com/5210
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
9f9fc562252204ae6c2854ed58261d0d69248322 22-Apr-2016 Nicolas Capens <capn@google.com> Fix unrolling loops with return statements.

Change-Id: I8974a6bb4137d1dfad9f5dd3a92cc9306c38294c
Reviewed-on: https://swiftshader-review.googlesource.com/5184
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/compiler/OutputASM.cpp
c41ce7498f6a811f5e56c66cfee7c3732cec4290 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/compiler/OutputASM.cpp
39564cb6c58832071a31531775f77073c45d603f 18-Apr-2016 Nicolas Capens <capn@google.com> Implement broadcasting of gl_FragColor.

Bug 19353282

Change-Id: I4319ad1836de36cc4b91b04ed226f925f82013ee
Reviewed-on: https://swiftshader-review.googlesource.com/5145
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/compiler/OutputASM.cpp
147931cbcb2670dadf7f4fbaddd4b73a88a2b05c 18-Apr-2016 Alexis Hetu <sugoi@google.com> Fixed bad assert

UInt <-> Int conversions are noop (bitwise), so it's allowed
to simply perform a move operation in that case.

Change-Id: I2078b2cf2933f5ced25b8ea81933e543a017faaf
Reviewed-on: https://swiftshader-review.googlesource.com/5143
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
2cb7452bae261744d6410a01a54fd398f7f0c2ac 10-Apr-2016 Nicolas Capens <capn@google.com> Handle constant expressions that have not been constant folded.

Change-Id: I7dd1e6db9a4cee64cb10fb27373d77038b2af63e
Reviewed-on: https://swiftshader-review.googlesource.com/5078
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/compiler/OutputASM.cpp
35f653a974b97ded6442a03654f8bdea4043dfcd 07-Apr-2016 Alexis Hetu <sugoi@google.com> Uniform block register allocation

Uniform blocks members, when unnamed blocks are used, are
used in glsl only with the member's name, without any
reference to the block itself. When this happens, we still
need the whole block to be allocated as one contiguous
structure in the registers. To do that, whenever a member
of an unnamed block is first used, the whole block is
allocated. Also, whenever any member of an unnamed block
attempts to allocate a register, it first verifies if the
parent block has already been allocated. So this means that
both allocation and lookup must be done through the parent
block when dealing with unnamed block members.

Change-Id: Ib11eaa1ee052d32252f32997eb5f650a9765533d
Reviewed-on: https://swiftshader-review.googlesource.com/5059
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
3d487d308d8d360d07a3b7846cd140d74fb398e5 04-Apr-2016 Alexis Hetu <sugoi@google.com> Uniform buffer uniform unpacking utility function

When data is packed into uniform blocks, some data isn't formatted in
a way that fits how data is usually represented, which is the case
for booleans and row major matrices. In these 2 cases, the variables
are unpacked into temporaries before being used. Booleans can be any
integer value and any non-zero value represents "true", so the value
in the uniform buffer has to go through an int to bool conversion
before being used. For row major matrices, a given register of that
matrix has to be transposed into a temporary before being used.

Change-Id: I0e001ceff2ce9be9a3570171e184586afc48c02d
Reviewed-on: https://swiftshader-review.googlesource.com/5040
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
666265d7e71a91e773b16f75600483172fc45a0f 04-Apr-2016 Nicolas Capens <capn@google.com> Perform texture coordinate projection at shader assembly level.

Change-Id: Ia94eb950d8d3ec4562f9f2e57d8d7ba27a41d16c
Reviewed-on: https://swiftshader-review.googlesource.com/5044
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/compiler/OutputASM.cpp
130b012903cf7561ed4d86ba7b5b7bc9d7a2a0db 04-Feb-2016 Alexis Hetu <sugoi@google.com> New uniform block related utility functions

This cl adds 2 new utility function and adds one use of
these in the argument() function.
- getBlockId() finds a block by name and returns its ID
- getTypedMemberInfo() finds which block member matches
a certain register index and returns the block member's
packing information and type. If the register falls
within a block member (as a sub-register of a matrix or
an array), the base offset of the block member is
returned, along with the register index, which will then
be used within the argument() function to compute the
final parameter index.

Change-Id: Ic0edcb3e6772cdb854301e3d0b400775e7ee72c0
Reviewed-on: https://swiftshader-review.googlesource.com/4682
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/compiler/OutputASM.cpp
e2b52d0f68ba237657fd6b4d9ae72d8e5b82c549 01-Apr-2016 Nicolas Capens <capn@google.com> Fix performing dynamic component writes on vectors only.

Change-Id: Ia204b708239ae51022f163053e4d054e617695b9
Reviewed-on: https://swiftshader-review.googlesource.com/5031
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/compiler/OutputASM.cpp
f57f6a17c14cda87e732671beee658e393e4eb25 01-Apr-2016 Nicolas Capens <capn@google.com> Fix scalar times matrix.

Change-Id: I9b46031f57b0cf49428e295b06702099ffef7f01
Reviewed-on: https://swiftshader-review.googlesource.com/5030
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/compiler/OutputASM.cpp
64361f575c2b856c1cbbd89f6891b4b6637b992e 18-Mar-2016 Alexis Hetu <sugoi@google.com> Fixed some unary operators

There were a few issues in unary operators:
- Many were not compiling because the promote function had not
been adjusted to take the new builtin functions into account
- abs and sign had not been implemented for int
- For the integer abs version, used pabsd. Removed the extra
argument, which seemed unnecessary (abs should have 1 input,
1 output, AFAIK).

Change-Id: If02c5040438e8c45c99fc7b3c55107448c85cf58
Reviewed-on: https://swiftshader-review.googlesource.com/4970
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
4db3e5c9799c824e603ca7bf719fe5239c224b81 07-Mar-2016 Daniel Kenji Toyama <kenjitoyama@google.com> Add missing operation.

Bug 27227050

Change-Id: Id8b6357f25888801dec9bbedc5855faa58def62d
Reviewed-on: https://swiftshader-review.googlesource.com/4920
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Daniel Toyama <kenjitoyama@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
d725a0f32e819811c4ae78f722a6843698e63547 25-Feb-2016 Nicolas Capens <capn@google.com> Fix evaluating empty loop condition to true.

Bug 27351438

Change-Id: If15f0f91931f34af6e78ad773036b91ff5d57d01
Reviewed-on: https://swiftshader-review.googlesource.com/4902
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/compiler/OutputASM.cpp
6599f364d69834e2de33caa610e84450d8d34be8 01-Feb-2016 Alexis Hetu <sugoi@google.com> Uniform block declaration

A few aspects of block declaration are improved upon here:
- Block definitions are computed and stored for later use.
The data stored are the block member types and a map to
convert from register offsets, based on the internal
memory layout, to the std140 layout.
- Declaration of block members is possible. When a block
member is declared prior to the entire block being
declared, OutputASM::declareUniform() will first declare
the whole block and return the index of the block member.
If the block member is part of an already defined block,
the function declares no new variables and returns the
block member's register index.

Change-Id: If1368bc8de20a0f86169361d76858c3f3e34bb07
Reviewed-on: https://swiftshader-review.googlesource.com/4632
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
cf22d4d9635fd386e6fa2811fd9b5540dd9b1ed0 20-Jan-2016 Alexis Hetu <sugoi@google.com> Removed double argument() calls

Some calls to the argument() function were made twice
because the emit() function didn't know what index to
use for each individual input. I added the function
arguments to the emit() function in order to solve that.

WebGL conformance tests pass.

Change-Id: I548b72cadf7247afd103b6be2ddfeaf39a995025
Reviewed-on: https://swiftshader-review.googlesource.com/4575
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
278723c4609a8bf3e98db9cefafa15fd24027b46 01-Feb-2016 Alexis Hetu <sugoi@google.com> Uniform block related fixes

- The rowMajor qualifier should only be set for matrices
- Shared and std140 layouts are always considered active
- Fixed registerSize() for uniform blocks

Change-Id: Id0ccd4f1f1c3342915643d87e166234e61b83f4f
Reviewed-on: https://swiftshader-review.googlesource.com/4631
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
06e4781c723d54d690d05c00333f77d1dc6225c2 16-Jan-2016 Nicolas Capens <capn@google.com> Detect all texture sampling shader instructions.

Change-Id: If557db7db89659e6c2b043b21e5712fb34eafd8d
Reviewed-on: https://swiftshader-review.googlesource.com/4561
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/compiler/OutputASM.cpp
95c9e5e790e94ab8696c20c956c6002b5e761e8e 15-Oct-2015 Nicolas Capens <capn@google.com> Remove redundant shader instructions.

Bool to int and int to bool also work for unsigned int.

Change-Id: I31669d8754a718096381609d13c2e9668599efe5
Reviewed-on: https://swiftshader-review.googlesource.com/4070
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/compiler/OutputASM.cpp
36f2fb1733795ebf8696d7bf76c5286cd5db9466 14-Jan-2016 Nicolas Capens <capn@google.com> Fix Clang errors on Linux.

Change-Id: I8bc812cd6c25a60dc73abc2177e8eb4a3841af21
Reviewed-on: https://swiftshader-review.googlesource.com/4551
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
a72e44351f920cc8f84da20568edbdc103ffe53e 07-Jan-2016 Alexis Hetu <sugoi@google.com> Ported Angle's std140 encoder to SwiftShader

Added Angle's std140 encoder to properly compute sizes and
offsets of uniform blocks for the std140 standard. All
layouts currently use std140 ('packed' and 'shared' are
implementation dependent, so we can choose to have them be
the same as std140).

All uniform blocks made of simple types or arrays of simple
types are properly interpreted by this code.

Structs are still TBD.

Change-Id: I191d7f313db5d409715b1101ea70903a7b958726
Reviewed-on: https://swiftshader-review.googlesource.com/4525
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
67f77cf4944f5005b67315390f094f2d0d16f6a3 12-Jan-2016 Alexis Hetu <sugoi@google.com> Fixed uniform block lookup

Blocks are also symbols, so when we have a block,
we have to look for blocks instead of symbols.

Change-Id: I683e646c2c63754a0b27b299dfdbc1d87017fb99
Reviewed-on: https://swiftshader-review.googlesource.com/4542
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
5767eabd0b3c275c7221f1fceac9ef11ea5ec4e5 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/compiler/OutputASM.cpp
11997791d9e9b5241be7a1494124121c9c4c79c6 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/compiler/OutputASM.cpp
0dc11abbe43cec2e453b968cd8562482d4e8c6d1 22-Oct-2015 Alexis Hetu <sugoi@google.com> Texture function refactoring

To make it easier to branch on the different texture
fetching options, a new TextureFunction class is
introduced here, which performs the string comparisons
and identifies the different options.

I also had to add a 5th argument for textureGradOffset
and textureProjGradOffset.

I added function stubs (with the UNIMPLEMENTED markers)
for all new texture functions.

Change-Id: I58cde91a2bacb0012bdc34ec85b0befa19a85326
Reviewed-on: https://swiftshader-review.googlesource.com/4116
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
b18a69d984899b8a2b05ed3c42c01580bbdc808f 20-Nov-2015 Alexis Hetu <sugoi@google.com> Fragment output fix

Fragment outputs weren't given a proper index, so a
fragment output array has been added to fix this.

Change-Id: Id9be21f60cc23528bf1af078a8b3ca2df28e7ee4
Reviewed-on: https://swiftshader-review.googlesource.com/4295
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
9bcb31da0cf95258949da1bb697f3981a70c476b 22-Jul-2015 Alexis Hetu <sugoi@google.com> TextureSize implementation

Initial TextureSize parsing and implementation

Change-Id: I8b9b1808366b1013a5001e2dfa15a26d8471ab6a
Reviewed-on: https://swiftshader-review.googlesource.com/3753
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
c3d95f36258143af6cca041ede521995d8f890ea 23-Sep-2015 Alexis Hetu <sugoi@google.com> Matrix determinant and inverse implementation

Implementation for determinant has been done directly in
ShaderCore in order to avoid having to allocate temporaries
manually in OutputASM.

For now, the implementation for the inverse matrix is very
simple, i.e., it doesn't attempt to re-use results from the
cofactor matrix computation to compute the determinant or
do any other kind of optimization, but it works.

Change-Id: I0fc70133809ae2752dc567bf58b60d7af7a88009
Reviewed-on: https://swiftshader-review.googlesource.com/4000
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
9b3388ed58549f055ef483751c29fb6e08815a0f 11-Sep-2015 Alexis Hetu <sugoi@google.com> Fixed non square matrix multiplication

A few cases of matrix multiplication weren't working properly
due to using the wrong matrix dimension. For example, if we
have the following matrix operation (using matColRow):
mat32 = mat22 * mat32
This results in 3 multiplication of 2 element vectors for each
row of the result and the current code (before this cl) would
only perform 2 multiplications and produce the wrong result.

This cl should fix all uses of the * operator and of the
matrixCompMult function when using non square matrices.

Change-Id: Id0dbfd9d65c20102220049c34435c37e3db7f9da
Reviewed-on: https://swiftshader-review.googlesource.com/3966
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
c557bf9926e2e955df7df29105442792045eef62 25-Sep-2015 Alexis Hetu <sugoi@google.com> Fixed Temporary issues

Some issues, like failures using the do-while command, were caused
by the assembler being unable to assign registers consistently for
a single temporary variable. For example, in the do-while case, the
"iterate" Temporary object was not being assigned to the same
register between it's initial declaration and it's usage inside the
loop condition later on, causing the do-while to behave weirdly.
Other instances where multiple Temporary objects ended up being used
simultaneously of where a single object was references in multiple
parts of the code could have failed because of this.

The fix is simply to assign Temporary objects a unique ID.

Change-Id: Ie48c596b4c6570853702cab71497b3e00a40c2a0
Reviewed-on: https://swiftshader-review.googlesource.com/4015
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
fe30f67732fe460e5f579f35418b22d6b89abb03 21-Sep-2015 Alexis Hetu <sugoi@google.com> Added gl_FragDepth

Change-Id: I9e70cd5e230a86ef3e4bed1884ede14a128c2d67
Reviewed-on: https://swiftshader-review.googlesource.com/3992
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
02a2bb807c1e947bc99d68ba7dd4984289278be0 20-Aug-2015 Alexis Hetu <sugoi@google.com> Enable glsl integer code

This cl enables true integer support in glsl shaders.
It still uses floating point registers to store all
registers, regardless of the type, so integer and
unsigned integer variables are simply reinterpreted
as integers or unsigned integers and used as such by
the appropriate instructions.

Change-Id: If62213c917b4b0c907e58db9cd36944dd198beaa
Reviewed-on: https://swiftshader-review.googlesource.com/3910
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
5228d3c7bfd26f2779d5be8a2e44efba020690b2 22-Jul-2015 Alexis Hetu <sugoi@google.com> Uniform buffer related fixes

- Added an actual offset, in registers, to the Uniform structure to
take into account that types can have different register sizes.
- Fixed the array check in OutputASM::declareUniform() so that it
doesn't make an array of blocks when declaring a member as an
array in the default uniform block.
- Fixed arrayStride and matrixStride in the BlockInfo constructor.
- Fixed memberUniformIndexes to use uniform index instead of
register index.

Change-Id: Id8ba23b5fef71c772bb45a45bb897ca5e2fae385
Reviewed-on: https://swiftshader-review.googlesource.com/3750
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
e04b5cfb431150a7722baeb9256de468a4891e49 22-Jul-2015 Alexis Hetu <sugoi@google.com> Support for new texture function names

There are explicit checks for texture function names in OutputASM,
which fail in ES3 because new function names are available, so some
of the new function names have been added to the checks.

Change-Id: I7ec8302a31c02500514ede4e36610dca1dafd235
Reviewed-on: https://swiftshader-review.googlesource.com/3752
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.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/compiler/OutputASM.cpp
910b6b6efd06b572d2a8f54eca6c482ecb030c7b 16-Jul-2015 Alexis Hetu <sugoi@google.com> Added location to Attribute

Program now uses Attribute location.

Change-Id: I005d64509e4b1e2dd977db38b6b2c41d6ba7ddef
Reviewed-on: https://swiftshader-review.googlesource.com/3722
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
909b8bc1d03c5df9392eebe904727291f9f444a1 15-Jul-2015 Alexis Hetu <sugoi@google.com> Non square matrices related fixes

- Implemented proper VariableRegisterCount (we were using row
count instead of column count to get the number of registers)
and VariableRegisterSize.
- Matrix to matrix copies now clear the correct rows of the
destination matrix when needed
- Added registerSize helper function to type to help clarify
this for matrices.
- Added missing member initializations in TType constructor

Change-Id: Ic880815515c7d12ad12e44f1392aa6892caa953f
Reviewed-on: https://swiftshader-review.googlesource.com/3718
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
8eada888a95dc02d743b6babc391d25fc9ab9fab 30-Jun-2015 Alexis Hetu <sugoi@google.com> Handling proper sampler types

Some int/uint/array types weren't properly handled by
the Program class yet, so the missing types were added.

Change-Id: I487bbbdcbf798c7430535745386139632346013f
Reviewed-on: https://swiftshader-review.googlesource.com/3610
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
ad52775476d367199a4cd3b3b47ff8959e63bd59 07-Jul-2015 Alexis Hetu <sugoi@google.com> Invariant keyword support

Added support for the invariant keyword in the parser.
Also made sure all in/out types were handled properly
in OutputASM.cpp.

Change-Id: I40f0bc9caf5bccc691aa60dfaa90bed5d1d7d238
Reviewed-on: https://swiftshader-review.googlesource.com/3663
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
36427ff2f4cc9ac121f1fb4318b0ba6f45001154 29-Jun-2015 Alexis Hetu <sugoi@google.com> Proper handling of Interface Block indexing

This is a first step in handling interface blocks
properly by allowing indexing of blocks to be handled
properly. This does not include any interaction with
the Program, which will come in a following step.

No WebGL tests were injured in the making of this cl.

Change-Id: I575b08502f7f4dd63ca7b57f2ca0630367adf0de
Reviewed-on: https://swiftshader-review.googlesource.com/3589
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
0a65584a1529450c476c026f3254d78efc200645 22-Jun-2015 Alexis Hetu <sugoi@google.com> Better encapsulation for TParseContext

Changed 15 public members of TParseContext
so that they are now private and added the
appropriate setters/getters, along with the
required code changes in the parser.

Change-Id: I0a3ea67540d165e9837a3fe8e64fda4843a3cf96
Reviewed-on: https://swiftshader-review.googlesource.com/3543
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
528628241ca686845401c150f22a56e8f9f5b014 22-Jun-2015 Alexis Hetu <sugoi@google.com> Moving format conversion functions from aggregate to unary

Change-Id: Icd05628204b831ddeefffaec2274fa6661624740
Reviewed-on: https://swiftshader-review.googlesource.com/3540
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
41827c389051cda8d8b5c8f0dae990108df0b126 23-Jun-2015 Alexis Hetu <sugoi@google.com> Fixed infinite loop crash

Writing for(;;) in a shader was crashing because
a NULL condition was dereferenced. Added the
NULL pointer check to fix the crash.

Change-Id: I2be7a4594029c928ff83221f65503636bc28f4a9
Reviewed-on: https://swiftshader-review.googlesource.com/3553
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.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/compiler/OutputASM.cpp
a8b364b735624da31500d0fe93ae75f8b36a59d1 10-Jun-2015 Alexis Hetu <sugoi@google.com> Adding Struct related types

Added TField, TFieldListCollection, TStructure
and TInterfaceBlock for structures and uniform
blocks.

In the TType class, changed structure's type
from TTypeList to TStructure and made related
changes in other files to reflect this change.

Change-Id: Ided4c535651a566952c3314c8c4f31c2d0ccdcca
Reviewed-on: https://swiftshader-review.googlesource.com/3451
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
42ff6b15714827bb44869e5f1c41918b461bf4c8 03-Jun-2015 Alexis Hetu <sugoi@google.com> Add proper in/out shader types

Fragment and Vertex inputs and outputs were treated as OpenGL ES2.0
attributes and varyings, but OpenGL ES3.0 inputs and outputs have
different limitations and must be treated differently. This cl simply
introduces the new types, without modifying the ES2.0 behavior and
only modifying ES3.0 to allow integer varyings when they are flat.

Change-Id: I965cb576bab3f505602af9e055438bcc7c18cdfd
Reviewed-on: https://swiftshader-review.googlesource.com/3371
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.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/compiler/OutputASM.cpp
fb96f4ed62eadcdb976023d3f0fb4f2cd66171a3 27-May-2015 Alexis Hetu <sugoi@google.com> outerProduct implementation

outerProduct is now implemented for dynamic
variables. All outerProduct dEQP tests pass.

Change-Id: I81e29640347844bd9548030aa69ffbb2eb060fdf
Reviewed-on: https://swiftshader-review.googlesource.com/3283
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
f86ecd461f929f537cb88cf13c4f69d7528dc1de 27-May-2015 Alexis Hetu <sugoi@google.com> transpose implementation

transpose is now implemented for dynamic
variables. All NxN transpose dEQP tests pass.
There's still an issue with some NxM matrices,
but it seems to be unrelated to this code.

Change-Id: Ie422706d0085c85fa6fc9a95dc21bb441dcddfe8
Reviewed-on: https://swiftshader-review.googlesource.com/3284
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Alexis Hétu <sugoi@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
00106d497d1ae19de9d2a4dba7f58bca322cdcb9 23-Apr-2015 Alexis Hetu <sugoi@google.com> Fixed NxM matrix construction and minor issues

Fixed NxM matrix construction by
properly checking for these types in
TIntermOperator::isConstructor. Also
fixed a few areas of the code where
the secondary size wasn't properly
taken into account.

Change-Id: I646a41e37460255316f5712f1d744c3a06d8a64d
Reviewed-on: https://swiftshader-review.googlesource.com/3195
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
4de7e2e85d891739e3c09731b82ca68b18789218 21-May-2015 Alexis Hetu <sugoi@google.com> Implemented matrix transpose

Implemented matrix transpose for
uniform matrices. Also found and
fixed a minor issue in OutputASM
which was causing a bad GL error.

Change-Id: I2d6c603770548c60e56d417b240ca276ec33ba45
Reviewed-on: https://swiftshader-review.googlesource.com/3191
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
7ca4db3c9af79b74061e6cbffad9b80aca4174d6 04-May-2015 Alexis Hetu <sugoi@google.com> Added handling of a few more types of variable

Added a few missing types:
- Unsigned ints and vectors
- Signed and unsigned int samplers
- 2D Array samplers

Change-Id: I052f7da3b2cb24c5cd2bdd1cf1e3b3a2b0ee0a50
Reviewed-on: https://swiftshader-review.googlesource.com/3042
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
b7c46afa969792dd607f4d3229fc94b28c39da9e 12-May-2015 Alexis Hetu <sugoi@google.com> Adding unsigned int types to parser

Added unsigned in and unsigned vectors
to parser.

Change-Id: Ic904f723c5db33d2d2bf432344d8abc3db966c1f
Reviewed-on: https://swiftshader-review.googlesource.com/3103
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
0273322c0bc5c89b5f006334ab7db6a62c922970 29-Apr-2015 Nicolas Capens <capn@google.com> Predefine (E)GL export macros.

Bug 18752589

Change-Id: I2a4fad80b433e62131d66f12bab2f73c6b16a9a0
Reviewed-on: https://swiftshader-review.googlesource.com/2962
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
f1f00304b9dabd421da9ab1d56f9bed43cf38acf 16-Apr-2015 Alexis Hetu <sugoi@google.com> Assembly output for NxM matrices

Made a few minor changes to adjust for
NxM matrices in assembly output.

Change-Id: I3dde37e0f4bd2623232eebf0dc06182d8071d751
Reviewed-on: https://swiftshader-review.googlesource.com/2863
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
af1970ce7685ea66dd02ac462d6f2723d6f6e500 17-Apr-2015 Alexis Hetu <sugoi@google.com> Connecting the dots for some built-in functions

- Completed implementation of round
and hyperbolic trigonometry operations
- Added a few more cases in op to string
functions

Change-Id: Ic09d228de8e4446a66152b70edc6a6bba511288a
Reviewed-on: https://swiftshader-review.googlesource.com/2891
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
b14178b68ccb44a1fca9ba4e7db7770c6b6b6fa9 13-Apr-2015 Alexis Hetu <sugoi@google.com> Completing GLES 3.0 language parser

Added new matrix and sampler types in
glslang parsed files, along with related
code and new types in the C++ code.

Change-Id: Id70c73fac04d000d508236bc9bf1b39a46beda6f
Reviewed-on: https://swiftshader-review.googlesource.com/2826
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
31ad2aa7f12e804d6628fb70d6e945c419cb2c7d 26-Feb-2015 Nicolas Capens <capn@google.com> Rename EvqConst to EvqConstExpr

In GLSL ES a variable declared const is a compile-time constant, and
thus a constant expression. Parameters declared const are read-only but
not compile-time constant.

Bug 19511934

Change-Id: I6d02062ca62c4185a3384b31a4d3ce8dfcc86b35
Reviewed-on: https://swiftshader-review.googlesource.com/2441
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/compiler/OutputASM.cpp
82cd6d82a079fcad71e686cc075e36186f2a8e66 18-Feb-2015 Nicolas Capens <capn@google.com> Implement basic GLSL ES 3.0 texture sampling.

Bug 19331817

Change-Id: Ieb4581c62525112e0b76e94bcbbb8f9608c782ea
Reviewed-on: https://swiftshader-review.googlesource.com/2371
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/compiler/OutputASM.cpp
cdd2924eadf5696e5cc0adc80480d4422894acac 12-Feb-2015 Nicolas Capens <capn@google.com> Fix supporting samplers in structs passed down as function arguments.

Bug 19354873

Change-Id: Ic21a36eefcdef4d9fcce1952fa15425da8858200
Reviewed-on: https://swiftshader-review.googlesource.com/2260
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/compiler/OutputASM.cpp
198529d7136fe8b16fe6009c5c2134b6642c588e 10-Feb-2015 Nicolas Capens <capn@google.com> Provide safer and more convenient constant union accessors.

Bug 19331817

Change-Id: Ia2dccfbc983750fc484a578013c90a1dd501eb6d
Reviewed-on: https://swiftshader-review.googlesource.com/2110
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.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/compiler/OutputASM.cpp
5597eef8fe02d8f0d3cd451db5867a293167d82b 22-Jan-2015 Nicolas Capens <capn@google.com> Rename the GLSL shader compiler namespace to glsl.

Bug 18962347

Change-Id: I28d001045cf43eed2d92cb0007330dffa620025b
Reviewed-on: https://swiftshader-review.googlesource.com/1760
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
68754bf1c1b64da46a729de6b34ab1b8130baaff 22-Jan-2015 Nicolas Capens <capn@google.com> Make the GLSL compiler independent of the API shader class.

Bug 18962347

Change-Id: I1a45c5572a45a16ae04ab77e7029ab31905ac702
Reviewed-on: https://swiftshader-review.googlesource.com/1750
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
cc863da574ed5079b055574127fe5788a9a0fc33 21-Jan-2015 Nicolas Capens <capn@google.com> Remove the Radiance compiler copy and use OpenGL's instead.

Bug 18591036

Change-Id: I17158acfa126490e28076052e5937d1deafd96c1
Reviewed-on: https://swiftshader-review.googlesource.com/1691
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
54b721dd6dedd902afa208533ae885033526ccdd 12-Dec-2014 Nicolas Capens <capn@google.com> Fix allowing fragment shader invariant declarations.

Bug 18732025

Change-Id: I8a3024327533c3e6db72248caafc5e618808edf5
Reviewed-on: https://swiftshader-review.googlesource.com/1630
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/compiler/OutputASM.cpp
5b5d562c239b516373c730f079ab52e230a158ac 24-Nov-2014 Alexis Hetu <sugoi@google.com> Fixed uniform-default-values.html

Added the isSamplerRegister() function to bring back the previous
validation whose removal was causing uniform-default-values.html
to fail, but I added a comment to explain why this validation was
necessary in the first place.

BUG=18029434

Change-Id: I9dbbfdd31c45adffd5e14433b2ace3a1f79a1ff0
Reviewed-on: https://swiftshader-review.googlesource.com/1471
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
a82b58e0517f23e3450775ead7132033b0124056 13-Nov-2014 Alexis Hetu <sugoi@google.com> Fixed a WebGL conformance test

It is illegal to use both glFragData and glFragColor in the same
shader according to the OpenGL spec, so a check was added to
verify that this doesn't happen, and returns an error if it does.

BUG=18029434

Change-Id: Ifee14dd539cacc7cd16a2c2634d3e021dbf7ff8e
Reviewed-on: https://swiftshader-review.googlesource.com/1430
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
1763eeba7d358fa4b85f1b2b87d6aae48a311747 20-Nov-2014 Alexis Hetu <sugoi@google.com> Fixed the compound-assignment-type-combination.html test

The fix is in 2 parts:
1) Multiplying a matrix by a float was failing due to attempting
to use the matrix's index on the float, thus going out of bounds.
2) Multiplying a vector or matrix by vectors or matrices of a
different size was not causing a failure, but now it does.

BUG=18450319

Change-Id: Ie01a77eb32d7d52fcd0a803f3e5efc24c625dbfd
Reviewed-on: https://swiftshader-review.googlesource.com/1450
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.cpp
ba0716cce03b09b805b679af77880eaad23ce773 21-Nov-2014 Nicolas Capens <capn@google.com> Fixed shader-varying-packing-restrictions.html

Return an error instead of asserting when exceeding
the number of available varying variables.

Change-Id: Ia4d76897b4b214a5b3bdd37cd420c0437faa216a
Reviewed-on: https://swiftshader-review.googlesource.com/1451
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
/external/swiftshader/src/OpenGL/compiler/OutputASM.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/compiler/OutputASM.cpp