|
b587598c
|
2010-04-15T20:44:53
|
|
Implemented short-circuiting behavior for the ternary operator
TRAC #11444
This is achieved by turning the ternary operator into conditional code.
The UnfoldSelect intermediate code traverser places this conditional
code before the statement containing the ternary operator (aka. select).
The computed value is assigned to a temporary variable.
On outputting the actual statement the ternary operator is
replaced by the temporary variable.
Signed-off-by: Andrew Lewycky
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@148 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
ec55d29a
|
2010-04-15T20:44:49
|
|
Clean up old comments
TRAC #11444
Signed-off-by: Andrew Lewycky
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@147 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
3c010c02
|
2010-04-13T19:53:47
|
|
Remove name clash warnings
TRAC #11314
Signed-off-by: Andrew Lewycky
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@144 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
72d0b52e
|
2010-04-13T19:53:44
|
|
Decorate all GLSL user-defined names with an underscore to avoid name clashes
TRAC #11314
Signed-off-by: Andrew Lewycky
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@143 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
8976c1e8
|
2010-04-13T19:53:27
|
|
Store all matrices as column-major and transpose when needed
TRAC #11825
Due to the difference in [][] matrix indexing between GLSL and HLSL, all matrices are stored in transposed format (column-major from the HLSL point of view), and transposed back when performing matrix math. Previously some paths didn't follow this principle.
Signed-off-by: Shannon Woods
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@138 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
47c058c3
|
2010-04-13T15:30:05
|
|
Fixing compile error. GYP projects use NOMINMAX to suppress non-standard VC++ min/max.
Review URL: http://codereview.appspot.com/892046
git-svn-id: https://angleproject.googlecode.com/svn/trunk@137 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
d91cfe7e
|
2010-04-13T03:26:17
|
|
Implemented struct equality
TRAC #11727
Signed-off-by: Shannon Woods
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@127 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
950f993b
|
2010-04-13T03:26:14
|
|
Compiler - split header, body and footer output
TRAC #11798
Signed-off-by: Shannon Woods
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@126 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
d1acd1ed
|
2010-04-13T03:25:57
|
|
Implemented function prototyping and in/out parameters
TRAC #11725
Signed-off-by: Shannon Woods
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@120 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
fe565159
|
2010-04-10T05:29:07
|
|
Implemented support for user-defined structures
TRAC #11730
Signed-off-by: Andrew Lewycky
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@116 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
4a35ef2d
|
2010-04-08T03:51:06
|
|
Break up loops with over 255 iterations.
TRAC# 11724
fixes acos/asin conformance
Signed-off-by: Shannon Woods
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@105 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
5441d665
|
2010-04-07T03:25:11
|
|
Compiler - Wrong Result from Matrix Multiply
TRAC #11751
Signed-off-by: Andrew Lewycky
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@101 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
0e3358a6
|
2010-04-05T20:32:42
|
|
Compiler - implement proper varying linking
TRAC #11716
Signed-off-by: Shannon Woods
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@97 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
279e38ad
|
2010-04-03T20:56:13
|
|
Compiler - fix mat3 conformance
TRAC #11723
Matrix elements are accessed as [col][row] in GLSL and [row][col] in HLSL. Fixed this by transposing all matrix uniforms so they have a row-major layout. Then transpose them in the shader every time they're used in matrix math.
Signed-off-by: Andrew Lewycky
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@96 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
dd037b2a
|
2010-03-30T18:47:20
|
|
Added support for user-defined structs. And fixed a bug in function return type.
Review URL: http://codereview.appspot.com/849042
git-svn-id: https://angleproject.googlecode.com/svn/trunk@88 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
d25ab251
|
2010-03-30T03:36:26
|
|
Compiler - fix redeclaration of initialized globals
TRAC #11617
Signed-off-by: Andrew Lewycky
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@87 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
4388487c
|
2010-03-30T00:08:52
|
|
Moved code to unmangle function name to a common place and used it in both OutputGLSL and OutputHLSL.
Review URL: http://codereview.appspot.com/838041
git-svn-id: https://angleproject.googlecode.com/svn/trunk@83 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
60fe407c
|
2010-03-29T20:58:29
|
|
Added TIntermSelection::usesTernaryOperator() to distinguish between selection nodes using ternary operator and if-else. Used in both OutputGLSL and OutputHLSL.
Review URL: http://codereview.appspot.com/830042
git-svn-id: https://angleproject.googlecode.com/svn/trunk@82 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
93a96c3e
|
2010-03-28T19:36:13
|
|
Compiler - implement vector times matrix operation
TRAC #11611
Signed-off-by: Shannon Woods
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@77 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
e78c0c99
|
2010-03-28T19:36:06
|
|
Compiler - only declare used HLSL functions
TRAC #11315
Signed-off-by: Shannon Woods
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@75 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
ccad59f0
|
2010-03-26T04:08:39
|
|
Compiler - implement gl_PointCoord and point size clamping
TRAC #11592
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@70 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
ea0e1af4
|
2010-03-22T19:33:14
|
|
Minor reshuffling of directory structure in preparation of ESSL to GLSL compiler work.
1. Added include/GLSLANG which includes compiler API
2. Deleted src/include and moved the header files to the same directory as the corresponding source files
3. Modied include path to be relative to src/. I have only fixed paths for files I moved. We should fix it for all new files at least. It is much easier to see where an included file is coming from.
I noticed that a few libGLESv2 source files include headers from libEGL project, which seems wrong. I think we should address this issue. Next step: move compiler source files to compiler/frontend and create two new projects compiler/glsl_backend and compiler/hlsl_backend.
Review URL: http://codereview.appspot.com/662042
git-svn-id: https://angleproject.googlecode.com/svn/trunk@62 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
3d53fda0
|
2010-03-21T04:30:55
|
|
ANGLE | Compiler - implement the ternary operator
TRAC #11421
Doesn't take short-circuiting behavior into account yet.
Author: Nicolas Capens
Signed-off-by: Andrew Lewycky
Signed-off-by: Daniel Koch
git-svn-id: https://angleproject.googlecode.com/svn/trunk@51 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
acc51130
|
2010-03-17T13:12:17
|
|
mv Compiler/* -> src/compiler/*
Trac #11406
Signed-off-by: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@37 736b8ea6-26fd-11df-bfd4-992fa37f6226
|