|
41a49272
|
2014-03-18T16:10:13
|
|
Fixed error message for exceeding maximum struct nesting.
It got broken in r2423.
We were referring to field-name as struct-name.
This patch fixes the regression and also improves the error message
by adding the field-name.
BUG=angle:459
R=kbr@chromium.org
Review URL: https://codereview.appspot.com/12891043
Change-Id: I9ac9a8dafcad1857f7d39e6d494e457d1fc50f70
Reviewed-on: https://chromium-review.googlesource.com/190530
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
bd0ea9c7
|
2014-03-04T13:53:29
|
|
Don't attempt to perform constant folding with an uninitialized constant variable.
BUG=348205
Change-Id: I9be17832b1a35d2995725ab147977992c2732274
Reviewed-on: https://chromium-review.googlesource.com/188711
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/189471
|
|
3cdfcce8
|
2014-03-07T13:00:08
|
|
Remove SH_MAP_LONG_VARIABLE_NAMES
We use hashing to map all variables/strcuture field names, etc,
so we no longer need this option.
Checked with Firefox and WebKit, they no longer use this option
either. Time to remove it.
Change-Id: Ie3e79b91a05258b04af419a9c42b2fd1b00e67c4
Reviewed-on: https://chromium-review.googlesource.com/189236
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/189568
|
|
550c600b
|
2014-02-26T15:40:48
|
|
Improvement on loop unrolling with loops indexing sampler arrays
1) Before this workaround is hardwired on mac, now we move it behind a compil
2) Fix the issue where "break" inside the loop isn't handled while unrolled.
BUG=338474
TEST=webgl conformance test sampler-array-using-loop-index.html
Change-Id: I4996a42c2dea39a8a5af772c256f8e3cb383f59a
Reviewed-on: https://chromium-review.googlesource.com/188079
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Zhenyao Mo <zmo@chromium.org>
Conflicts:
include/GLSLANG/ShaderLang.h
src/compiler/translator/ValidateLimitations.cpp
Change-Id: I546197bd7df1634ebccdd380be14c3250cd56151
Reviewed-on: https://chromium-review.googlesource.com/189061
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Zhenyao Mo <zmo@chromium.org>
|
|
0027fa9f
|
2014-02-20T14:26:42
|
|
Emulate integer cube texture sampling as an array of six 2D textures.
BUG=angle:525
Change-Id: I3c3ec2cecebf9e745f0c02a132433e3076a6fdea
Reviewed-on: https://chromium-review.googlesource.com/187534
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
477bc781
|
2014-02-26T09:54:17
|
|
Fix crash on multiple calls to ShInitialize().
The previous fix would allow the calling app to trigger
an ASSERT if it did not first call ShFinalize. Chrome
would do this in some cases, causing a test failure.
BUG=344043
Change-Id: I33fa0c4668dac8750ca949febc7f02cc7d3d95e7
Reviewed-on: https://chromium-review.googlesource.com/187849
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
1d1c1152
|
2014-02-26T11:00:28
|
|
Prevent overflow in the variable packer by sanity checking each variable.
BUG=346489
Change-Id: I28f5751580729a4d4d77fa6fdee0b4a6628a05de
Reviewed-on: https://chromium-review.googlesource.com/188030
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
|
|
b4d192cd
|
2014-02-26T09:54:10
|
|
Re-initialize shader translator properly after one shutdown.
Because of a local static, we could get stuck and never re-initialize
the translator after calling ShFinalize.
BUG=344043
Change-Id: Ib4d18da886eac28f3e1bc959a7eadf5b34d9410f
Reviewed-on: https://chromium-review.googlesource.com/186975
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/187848
|
|
691bd3e9
|
2014-02-19T17:38:45
|
|
texture(sampler2DArrayShadow, ...) should not take a bias parameter.
BUG=angle:564
Change-Id: I3b86e8d52ebae0e1efd0805671bd58580a712b23
Reviewed-on: https://chromium-review.googlesource.com/187082
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
f7378e38
|
2014-02-19T17:29:32
|
|
Implement textureProjGrad and textureProjGradOffset.
BUG=angle:564
Change-Id: Ice6a3715b0fda13324b3162940de875c932627c9
Reviewed-on: https://chromium-review.googlesource.com/186992
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
bf7db103
|
2014-02-19T17:20:28
|
|
Implement textureGradOffset.
BUG=angle:564
Change-Id: Iad0e452f53469208d55755e14a350b5d2ca83e9d
Reviewed-on: https://chromium-review.googlesource.com/186987
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d11d549f
|
2014-02-19T17:06:10
|
|
Implement textureGrad.
BUG=angle:564
Change-Id: I95dcd95a274f6d560250c197be0d6e64a5b23516
Reviewed-on: https://chromium-review.googlesource.com/187081
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
fc01454b
|
2014-02-18T14:47:13
|
|
Implement texelFetch and texelFetchOffset.
BUG=angle:564
Change-Id: I7ad3484061f5d6912d7842bdadc6297de3e82ef8
Reviewed-on: https://chromium-review.googlesource.com/186990
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
2adc256a
|
2014-02-14T23:50:59
|
|
Implement textureProjLod and textureProjLodOffset.
BUG=angle:564
Change-Id: I547c69908d0aa1809f844a50230bc019e6dd5893
Reviewed-on: https://chromium-review.googlesource.com/186685
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
|
|
df86c6b9
|
2014-02-14T20:09:17
|
|
Implement textureProjOffset and textureLodOffset.
BUG=angle:564
Change-Id: I647abed0609afd178d2e9522f139d25dd3c7fda4
Reviewed-on: https://chromium-review.googlesource.com/186684
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
|
|
5508f39d
|
2014-02-20T13:31:36
|
|
Fix breaking the build with missing GetGlobalMaxTokenSize.
Because the preprocessor is used independently from the compiler,
we need a way to track max token size when we don't have access
to the parse context with the current spec.
BUG=angle:550
Change-Id: Idf5035ec2c001ee75f264151ab3c4e92f3cd44d7
Reviewed-on: https://chromium-review.googlesource.com/187140
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
4fd5e4a3
|
2014-02-14T18:17:15
|
|
Use generic sampler types to compact symbol table initialization.
BUG=angle:564
Change-Id: Idbca76a4c8360d34652b571227fbb068d8d017c4
Reviewed-on: https://chromium-review.googlesource.com/186683
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
759b994b
|
2014-02-14T17:57:14
|
|
Define generic sampler types.
BUG=angle:564
Change-Id: I627f55152000371e73f3e5b4ba6938119fab0223
Reviewed-on: https://chromium-review.googlesource.com/186682
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
|
|
c9508842
|
2014-02-14T17:48:50
|
|
Simplify the creation of global types.
BUG=angle:564
Change-Id: If611947f7e8ceb603001165c3c1d61d7686f1d30
Reviewed-on: https://chromium-review.googlesource.com/186681
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
88f6e946
|
2014-02-19T10:27:53
|
|
Proper support for token max size in WebGL+ES3.
WebGL specifies a maximum token size of 256 characters, while
ES3 specifies 1024 characters. We can determine the proper max
size to support from the spec.
BUG=angle:550
Change-Id: I6aeabe8af3b6184a27b456248ce2f84f361b76e4
Reviewed-on: https://chromium-review.googlesource.com/186973
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
c9f140d8
|
2014-02-18T15:27:21
|
|
Add preprocess bison files to the gyp files.
We had accidentally left out the y and l files from our generation
scripts, causing us to miss several instances of updated enum names.
BUG=angle:550
Change-Id: I8790742fbaab5435e4c0db4f61c3e8194a231550
Reviewed-on: https://chromium-review.googlesource.com/186972
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
5c55caf3
|
2014-02-18T15:27:18
|
|
Fix bugged tokens marked as reserved/free in ES2.
We had accidentally marked 'smoooth', 'centroid' and 'case'
as reserved in ES2, when they are available as identifiers.
Additionally 'sampler2DShadow' was marked as free, instead
of reserved.
BUG=angle:550
Change-Id: I33ec1b790ad5b4d9a6f4d2ea2e91cec1ca8e7320
Reviewed-on: https://chromium-review.googlesource.com/186970
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
4a667fe9
|
2014-02-11T12:35:01
|
|
Add an option to initialize varyings without static use in vertex shaders
ANGLEBUG=554
TEST=webgl conformance test on mac: shaders-with-varyings.html
r=kbr@chromium.org,nicolascapens@chromium.org
cc=alokp@chromium.org,shannonwoods@chromium.org
Change-Id: I2e692d43fb15f1cf3ade3e398020d1fedb2b32f0
Reviewed-on: https://chromium-review.googlesource.com/185922
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Zhenyao Mo <zmo@chromium.org>
Conflicts:
src/common/version.h
src/compiler/translator/Compiler.cpp
Change-Id: If7db13ef345bd6199d4ea0d7786f0de20885f2f3
Reviewed-on: https://chromium-review.googlesource.com/186144
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Zhenyao Mo <zmo@chromium.org>
|
|
c6856732
|
2014-02-11T09:38:55
|
|
Fix wrong enum type being compared.
Change-Id: I020bbf8179c08574f5fc0a207db03d7456eeeba1
Reviewed-on: https://chromium-review.googlesource.com/185860
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
7d649a00
|
2014-02-07T11:24:32
|
|
Fix initializing the MaxExpressionComplexity and MaxCallStackDepth compiler limits.
BUG=339860
Change-Id: I64600db4bef62236c6acd8728902471df06a8f0a
Reviewed-on: https://chromium-review.googlesource.com/185380
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
|
|
e53c98ba
|
2014-02-03T11:57:13
|
|
Add work-around for D3D9 shader compiler bug.
With certain selection statements with a vertex input in the
condition and side-effects in the else-block, we'd run in to
a D3D9 compiler bug which would cause incorrect results.
We can work around this bug in D3D9 by selectively rewriting
these statements to use an 'else if' clause instead of 'else'.
BUG=322794
Change-Id: I93c96fb201ff4959c00d9a36321faac7e0343278
Reviewed-on: https://chromium-review.googlesource.com/184681
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
4b8c3eba
|
2014-01-14T16:09:43
|
|
Fix build on Visual Studio 2013.
A breaking change in VS2013 necessitates we include <algorithm>
to use std::min/max.
BUG=angle:547
Change-Id: Ia1b21e61d22148ab6d268b34dbfe9a707ca3e59d
Reviewed-on: https://chromium-review.googlesource.com/182512
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Commit-Queue: Nicolas Capens <nicolascapens@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
eaa84061
|
2013-12-08T18:26:50
|
|
Remove unnecessary int cast in ParseContext.
BUG=angle:536
Change-Id: I72287f5ce9736cd48fc241022e09446db717cf92
Reviewed-on: https://chromium-review.googlesource.com/181770
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Commit-Queue: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b1f45b70
|
2013-12-19T17:37:19
|
|
Create HLSL texture offset functions.
BUG=angle:541
Change-Id: I63dd47c40d693724aa6bed93e9967e3b1f8535bd
Reviewed-on: https://chromium-review.googlesource.com/181521
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
|
|
f831e3dd
|
2014-01-06T12:06:46
|
|
Add NetBSD and DragonFly to posix-compliant OS list
BUG=angle:428
Change-Id: I282a6bf138b4e2a2c17baf428cbe1e636f43bdd6
Reviewed-on: https://chromium-review.googlesource.com/181640
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Commit-Queue: Nicolas Capens <nicolascapens@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/181670
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
1fbc2873
|
2014-01-03T14:12:09
|
|
Add textureOffset intrinsics to the symbol table.
BUG=angle:541
Change-Id: Ied96edd073017a507369319a781b8ed23f60790b
Reviewed-on: https://chromium-review.googlesource.com/181520
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
|
|
44cc79f6
|
2014-01-03T10:57:22
|
|
Fix compiler crash.
Create a fake variable for function identifiers used as a variable identifier to allow continuing compilation after reporting the error.
BUG=chromium:330222
Change-Id: I96c330694e3503fe2df66621375d2bf76115e325
Reviewed-on: https://chromium-review.googlesource.com/181491
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f9ea3e17
|
2014-01-03T10:21:58
|
|
Regenerate the parser using Bison 2.7.12.
The next patch requires a parser grammar change, but Cygwin's Bison version got updated so this separates the changes caused by that update from the ones for the actual bug fix.
Change-Id: I6a596e02198725c7dbc6a1a356fdbe388ee512d7
Reviewed-on: https://chromium-review.googlesource.com/181490
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
ee42308e
|
2014-01-02T14:04:09
|
|
Update guards in ShaderVariable.h.
We neglected to update the text of the guards when we renamed the
file from Uniform.h to ShaderVariable.h.
BUG=angle:533
Change-Id: I59969113536b69a418cf233ef0d7dd797e666ea9
Reviewed-on: https://chromium-review.googlesource.com/180978
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Commit-Queue: Nicolas Capens <nicolascapens@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
79bb0d9e
|
2013-12-09T16:20:28
|
|
Fix initializer type bug when using list declarations.
We were using the first type as the type for each declaration,
which could cause erros for arrays, eg "float one[4], two;"
BUG=angle:431
TEST=WebGL CTS 1.0.2
Change-Id: I104d6701cc019ae3b3831a2d568ffe2b656b45a2
Reviewed-on: https://chromium-review.googlesource.com/179351
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Commit-Queue: Nicolas Capens <nicolascapens@chromium.org>
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
|
|
a738f085
|
2013-11-01T17:45:04
|
|
Fix build on QNX.
InfoSink.h needs stdlib.h for abs(int) and free() in the global namespace.
ExpressionParser needs malloc.h, because bison needs malloc and free in
the global namespace, but "#include <cassert>" will put it only in the
std:: namespace on QNX.
BUG=500
R=geofflang@chromium.org, jmadill@chromium.org, shannonwoods@chromium.org, zmo@chromium.org
Review URL: https://codereview.appspot.com/19330044
Change-Id: Ifa30a8ba5eced1156123416d4a24b490620721af
Reviewed-on: https://chromium-review.googlesource.com/178993
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
|
|
d7f2135f
|
2013-10-30T17:53:15
|
|
Fix build on QNX.
InfoSink.h needs stdlib.h for abs(int) and free() in the global namespace.
ExpressionParser needs malloc.h, because bison needs malloc and free in
the global namespace, but "#include <cassert>" will put it only in the
std:: namespace on QNX.
BUG=500
R=geofflang@chromium.org, shannonwoods@chromium.org
Review URL: https://codereview.appspot.com/19330044
Conflicts:
src/compiler/translator/InfoSink.h
Change-Id: Ie480d5c293d099f21dafc8c1e7997c0b4cda7207
Reviewed-on: https://chromium-review.googlesource.com/178998
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
|
|
7cab38b5
|
2013-10-15T12:59:30
|
|
Add an option to unfold short circuiting in AST.
We replace "a || b" with "a ? true : b",
"a && b" with "a ? b : false".
This is to work around short circuiting bug in Mac drivers.
ANGLEBUG=482
TEST=webgl conformance tests
R=alokp@chromium.org, kbr@chromium.org
Review URL: https://codereview.appspot.com/14529048
Conflicts:
src/build_angle.gypi
src/compiler/translator/Compiler.cpp
Change-Id: Ic2384a97d58f54294efcb3a012deb2007a9fc658
Reviewed-on: https://chromium-review.googlesource.com/178996
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
|
|
6cb95f3a
|
2013-10-03T17:01:52
|
|
Fix a traverse bug.
In loop node, the init part was skipped in traversing.
BUG=
TEST=
R=kbr@chromium.org
Review URL: https://codereview.appspot.com/14366043
Change-Id: If3200f1dbcafda1147820b2d47b758b897de0fc6
Reviewed-on: https://chromium-review.googlesource.com/178992
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
|
|
e88dcaf3
|
2013-10-03T16:55:19
|
|
Style violation cleanup for IntermTraverse.cpp
Per suggested by kbr in https://codereview.appspot.com/14366043/, we clean up the stype violation in a separate CL.
BUG=
TEST=no behavioral change
TBR=kbr@chromium.org
Review URL: https://codereview.appspot.com/14371043
Change-Id: I27e15f632eff3a9d0d22ae955b5a952793128661
Reviewed-on: https://chromium-review.googlesource.com/178991
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
|
|
74d03eaf
|
2013-12-03T13:47:39
|
|
Fix unused variable warning in compiler/debug.cpp.
BUG=angle:534
Change-Id: I893e552628c7deba4bc67baae6e5e28b6161c5d4
Reviewed-on: https://chromium-review.googlesource.com/178438
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
f4b79ba8
|
2013-11-26T10:38:18
|
|
Fix issues with the conditional discard workarounds to do with assignments.
The old modifiesState method really checked if an operator was an assignment,
so restored that behaviour and use the new side effects detection only for
the new code.
ANGLEBUG=486
BUG=
R=nicolascapens@chromium.org, zmo@chromium.org
Review URL: https://codereview.appspot.com/22130043
Change-Id: I84d4e95a0457e63f237a814d80e4f72dd861496b
|
|
3c9eeb97
|
2013-11-04T11:09:26
|
|
Disable optimizations for shaders with conditional discard in D3D9, and
only use expanded short-circuiting conditionals for expressions with
potential side-effects.
Conservatively assume aggreate and selection operators have side effects for now.
BUG=
ANGLEBUG=486
R=geofflang@chromium.org, kbr@chromium.org, nicolas@transgaming.com, shannonwoods@chromium.org
Review URL: https://codereview.appspot.com/14441075
Conflicts:
src/common/version.h
src/compiler/translator.vcxproj
src/compiler/translator.vcxproj.filters
src/compiler/translator/OutputHLSL.cpp
src/libGLESv2/ProgramBinary.cpp
src/libGLESv2/Shader.cpp
src/libGLESv2/Shader.h
Change-Id: Iaf9f10b5de7b33c927ef032f3c4fe9d5095f64dd
|
|
a621c2e4
|
2013-11-20T13:40:23
|
|
Use 64-bit safe constant union indexes.
BUG=angle:450
Change-Id: I4a16733e3e6aebf2939f8255ae2e4e8c5febc606
|
|
9b27ebb0
|
2013-11-19T21:44:28
|
|
Merge "Manual merge of Ehsan Akhgari's change to add include guards to ForLoopUnroll.h" into es3proto
|
|
7f2d7945
|
2013-11-19T15:07:58
|
|
Manual merge of Ehsan Akhgari's patch to rename Diagnostics enums to avoid collision with Windows.h
(See https://chromium-review.googlesource.com/#/c/177181/3)
Change-Id: I2978d06ec96789b3ee1696b65a84c2a9f31f7ba4
|
|
f67e8025
|
2013-11-19T12:22:54
|
|
Manual merge of Ehsan Akhgari's change to add include guards to ForLoopUnroll.h
(See https://chromium-review.googlesource.com/#/c/177180)
Change-Id: I353b6ff868dbfd5764d4fa3fb0af88891cf5b436
|
|
03847b6d
|
2013-11-13T19:42:39
|
|
Fix the shader calculation for the level of detail for certain samplers.
We were using an extra sqrt function for some cases.
TRAC #23591
Change-Id: I7d5d2b4b78586085396a281daf7975be316a1386
Signed-off-by: Shannon Woods
Signed-off-by: Geoff Lang
|
|
829f59e9
|
2013-11-13T19:40:54
|
|
Remove usages of the auto keyword from the translator.
TRAC #22875
Change-Id: I3ecf30843a82962fbfa5c38f026425fa8acf4657
Signed-off-by: Geoff Lang
Signed-off-by: Shannon Woods
|
|
16a1c072
|
2013-10-22T15:42:15
|
|
Expose the textureLod functiosn to GLES 3.00 shaders.
We should have support for these methods, but they were not exposed to the shaders.
TRAC #23991
Signed-off-by: Shannon Woods
Signed-off-by: Geoff Lang
|
|
036aa49b
|
2013-10-09T16:23:30
|
|
Disable warnings about size_t conversion and fix ambiguous template parameters in 64 bit builds.
TRAC #23409
Signed-off-by: Jamie Madill
Signed-off-by: Shannon Woods
|
|
6b9cb259
|
2013-10-17T10:45:47
|
|
Rename ParseHelper.cpp/h to ParseContext.cpp/h.
TRAC #24002
Signed-off-by: Shannon Woods
Signed-off-by: Geoff Lang
|
|
455a6f5c
|
2013-10-17T10:45:46
|
|
Expose gl_MaxDrawBuffers to ESSL 3.00 shaders.
Previously was only exposed in ESSL 1.00.
TRAC #23990
Signed-off-by: Geoff Lang
Signed-off-by: Shannon Woods
|
|
2b6008c9
|
2013-10-08T10:44:05
|
|
Merge 366229430ea056cf7f33917a4fa37b721512a42c from master.
Create a static translator project and allow the previous translator
project to be used in component builds.
|
|
7c697201
|
2013-10-07T17:18:14
|
|
Deleted manually maintained visual studio projects and replaced them with gyp generated ones.
|
|
17732823
|
2013-08-29T13:46:49
|
|
Moved the compiler source files into directories based on their project and added a compiler.gypi to generate the compiler projects.
|
|
ef2c2b83
|
2013-09-26T10:06:07
|
|
Eliminate bitfield enum members to avoid GCC compile error.
BUG=448
R=shannonwoods@chromium.org
Review URL: https://codereview.appspot.com/14302044
|
|
cc4ec64c
|
2013-09-23T14:57:10
|
|
Use the same mechanism to process int/float literals
This also fixes the float overflow errno leaking bug.
BUG=
R=alokp@chromium.org
Review URL: https://codereview.appspot.com/13368050
|
|
ac44cd2b
|
2013-09-23T14:57:09
|
|
Add an option in ANGLE shader translator to initialize gl_Position to vec4(0.0, 0.0, 0.0, 1.0).
This is to work around driver bugs where shader compile or program link would fail incorrectly if gl_Position is not set in vertex shader.
At the moment at least Linux NVIDIA driver has this bug.
ANGLEBUG=472
R=alokp@chromium.org, kbr@chromium.org
Review URL: https://codereview.appspot.com/13509043
|
|
a15f3e84
|
2013-09-23T14:57:08
|
|
Expose the packing function so we can check varyings packing per program
ANGLEBUG=471
R=kbr@chromium.org
Review URL: https://codereview.appspot.com/13322043
|
|
f1d723c6
|
2013-09-23T14:57:07
|
|
Clamp numeric overflow rather than failing with an error
BUG=249086
ANGLEBUG=468
TEST=
R=alokp@chromium.org, kbr@chromium.org
Review URL: https://codereview.appspot.com/13195043
|
|
d2d340b0
|
2013-09-23T14:57:05
|
|
Add static_use to shader variable info query.
BUG=249018
ANGLEBUG=465
R=kbr@chromium.org
Review URL: https://codereview.appspot.com/13158043
|
|
fa3c346f
|
2013-09-23T14:57:04
|
|
Build fix: not all types support precisions.
Currently Angle translator made the wrong assumption that all variables have a precision, and ASSERT that.
BUG=276031
TBR=alokp@chromium.org
Review URL: https://codereview.appspot.com/13113044
|
|
a5a1dfc6
|
2013-09-23T14:57:03
|
|
Support precision for sampler types.
BUG=
R=alokp@chromium.org
Review URL: https://codereview.appspot.com/12833045
|
|
bc3f1ac6
|
2013-09-23T14:57:02
|
|
Minor refactoring of TSymbolTable.
Used pointers for precision-stack entries as well to avoid unnecessarily re-allocating PrecisionStackLevel whenever the vector needs to resize.
Added a scoped class to properly restore symbol-table level after each compile.
R=kbr@chromium.org
Review URL: https://codereview.appspot.com/12583047
|
|
74da9f2f
|
2013-09-23T14:57:01
|
|
Expose varying variables and also precision for all variables.
ANGLEBUG=457
R=alokp@chromium.org, kbr@chromium.org
Review URL: https://codereview.appspot.com/12487043
|
|
0b67bfbf
|
2013-09-23T14:56:59
|
|
Print token string into the syntax error message.
Bison calls yyerror("syntax error") when it cannot match any grammar rule.
We used to append current token string to the error message,
which got broken in r2202.
This patch restores the original behavior.
BUG=442
R=kbr@chromium.org
Review URL: https://codereview.appspot.com/12876043
|
|
8156b6be
|
2013-09-23T14:56:58
|
|
Fixed memory leak associated with TLS.
We used to allocate thread-local memory on each compile.
If the compile did not happen on the same thread as ShInitialize,
we leaked the thread-local memory.
It turns out that there is no need to allocate any thread-local
memory. This patch cleans up all the unnecessary junk around TLS.
BUG=crbug.com/181691
R=kbr@chromium.org
Review URL: https://codereview.appspot.com/11679046
Conflicts:
src/compiler/ConstantUnion.h
src/compiler/ShaderLang.cpp
src/compiler/Types.h
src/compiler/ValidateLimitations.cpp
|
|
36be856c
|
2013-09-23T14:56:57
|
|
Generate a new grammar with the Bison 2.7.1, the latest cygwin version.
TRAC #23854
Signed-off-by: Shannon Woods
Signed-off-by: Nicolas Capens
|
|
ba615196
|
2013-09-24T14:07:39
|
|
Normalize line endings of tracked files in the repository.
TRAC #23896
Signed-off-by: Shannon Woods
|
|
02f20dd8
|
2013-09-12T12:07:42
|
|
Fix compile error regressions in OutputGLSL and OutputESSL.
These were broken back with the symbol table changes.
TRAC #23857
Signed-off-by: Nicolas Capens
Signed-off-by: Shannon Woods
|
|
384b6041
|
2013-09-13T10:06:24
|
|
Add missing varying in and out qualifiers to the interpolation qualifier switch statement.
This was causing a benign assert in Debug mode with GLSL ES 1.00 shaders.
TRAC #23746
Signed-off-by: Shannon Woods
|
|
3841b8e0
|
2013-09-10T18:23:12
|
|
Revert "Eliminate bitfield enum members."
This reverts commit 56702e6d60883f2d1e33641b907680a852cdb15a.
|
|
b11713fb
|
2013-08-01T16:02:39
|
|
Made multiple calls to ShInitialize not assert.
BUG=456
R=apatrick@chromium.org, kbr@chromium.org
Review URL: https://codereview.appspot.com/11916046
Conflicts:
src/common/version.h
src/compiler/ShaderLang.cpp
|
|
5609378d
|
2013-08-30T13:21:11
|
|
Add full support for uniform structs.
TRAC #23750
Signed-off-by: Geoff Lang
Signed-off-by: Nicolas Capens
|
|
28167c62
|
2013-08-30T13:21:10
|
|
Add support for struct varyings, and more robust varying link validation.
TRAC #23749
Signed-off-by: Geoff Lang
Signed-off-by: Nicolas Capens
|
|
94599669
|
2013-08-30T13:21:10
|
|
Ensure struct varyings maintain the proper interpolation qualifier for the child fields.
TRAC #23749
Signed-off-by: Geoff Lang
Signed-off-by: Nicolas Capens
|
|
86a97a1a
|
2013-08-30T13:21:09
|
|
Use the proper register count for structs in HLSL uniforms and varyings.
We must respect HLSL packing rules when uploading structs to D3D.
TRAC #23748
Signed-off-by: Geoff Lang
Signed-off-by: Nicolas Capens
|
|
2b538b85
|
2013-08-30T13:21:09
|
|
Rename some constants in BlockLayoutEncoder for clarity.
TRAC #23748
Signed-off-by: Geoff Lang
Signed-off-by: Nicolas Capens
|
|
c2141fb3
|
2013-08-30T13:21:08
|
|
Consolidate the register counting functions to a single location in the HLSL layout encoder source.
This new method explicitly depends on HLSL packing rules, instead of a GL idiom.
TRAC #23748
Signed-off-by: Geoff Lang
Signed-off-by: Nicolas Capens
|
|
77456f28
|
2013-08-30T13:21:07
|
|
Allow block encoders to work with a NULL pointer for the output list structure.
TRAC #23748
Signed-off-by: Nicolas Capens
Signed-off-by: Geoff Lang
|
|
a6da33a1
|
2013-08-30T13:21:07
|
|
Remove the gl::Varying class, and replace all usages with sh::Varying.
TRAC #23746
Signed-off-by: Nicolas Capens
Signed-off-by: Shannon Woods
|
|
139b9091
|
2013-08-30T13:21:06
|
|
Simplify the gl::Varying struct to be more like sh::Varying.
The subsequent patches will remove gl::Varying entirely.
TRAC #23746
Signed-off-by: Nicolas Capens
Signed-off-by: Shannon Woods
|
|
1cb333eb
|
2013-08-30T13:21:05
|
|
Rename compiler/Uniform.cpp+h to ShaderVariable.cpp+h.
TRAC #23754
Signed-off-by: Nicolas Capens
Signed-off-by: Shannon Woods
|
|
47fdd13e
|
2013-08-30T13:21:04
|
|
Pass varyings to the GLES API from the translator using a direct pointer.
Instead of parsing them indirectly from HLSL, the pointer will allow us to more flexibly
support new types, especially compound types such as structures.
TRAC #23754
Signed-off-by: Nicolas Capens
Signed-off-by: Shannon Woods
|
|
9d2ffb1d
|
2013-08-30T13:21:04
|
|
Refactor sh::Uniform and sh::ShaderVariable into a shader variable base type with different child types.
This change gives us better memory usage (many fields are unnecessary in different types) with better static
typing and clear type abstraction for specific methods that might take Attributes or Varyings, etc.
TRAC #23754
Signed-off-by: Nicolas Capens
Signed-off-by: Shannon Woods
|
|
912cbfe8
|
2013-08-30T13:21:03
|
|
Allow the block encoder classes to encode types directly passed by value, instead of as a compound type.
TRAC #23754
Signed-off-by: Nicolas Capens
Signed-off-by: Shannon Woods
|
|
9060a4e0
|
2013-08-12T16:22:57
|
|
Fix some missing UBO qualifier link validation errors.
TRAC #23747
Signed-off-by: Nicolas Capens
Signed-off-by: Shannon Woods
|
|
19571818
|
2013-08-12T15:26:34
|
|
Add more robust support for interpolation and storage qualifiers with varyings for GLSL ES 3.00.
This fixes some conformance failures in the dEQP varying link tests, particularly with ints and the flat keyword.
TRAC #23745
Signed-off-by: Nicolas Capens
Signed-off-by: Shannon Woods
|
|
f2e0f9bb
|
2013-08-26T16:39:42
|
|
Moved the code to combine interpolation and stoarge qualifiers to the parse helper.
TRAC #23745
Signed-off-by: Nicolas Capens
Signed-off-by: Shannon Woods
|
|
56702e6d
|
2013-08-12T11:10:06
|
|
Eliminate bitfield enum members.
TRAC #23653
Signed-off-by: Shannon Woods
Signed-off-by: Geoff Lang
Author: Nicolas Capens
|
|
9edebd68
|
2013-08-06T10:59:10
|
|
Implement mipmapping for integer samplers.
TRAC #23655
Signed-off-by: Geoff Lang
Signed-off-by: Shannon Woods
Author: Nicolas Capens
|
|
a49a9bf9
|
2013-08-02T17:23:14
|
|
Removes auto from compiler.
TRAC #23604
Author: Shannon Woods
Signed-off-by: Geoff Lang
Signed-off-by: Nicolas Capens
|
|
5ccc6248
|
2013-07-26T13:14:54
|
|
Add a missing case to build manged names of uint types.
TRAC #23590
Signed-off-by: Shannon Woods
Authored-by: Jamie Madill
|
|
0b20c944
|
2013-07-19T16:36:56
|
|
Replace the logic for doing vector and matrix equivalence tests in the shader with a much simpler formula.
We can use the HLSL fragment "all(a == b)" for all matrix and vector types.
TRAC #23535
Signed-off-by: Nicolas Capens
Signed-off-by: Shannon Woods
Authored-by: Jamie Madill
|
|
cb127d3d
|
2013-07-15T17:26:18
|
|
Create the HLSL shadow texture function.
TRAC #23394
Signed-off-by: Jamie Madill
Signed-off-by: Shannon Woods
Author: Nicolas Capens
|
|
354ed2d1
|
2013-07-11T11:26:26
|
|
Compact sampler type translation.
TRAC #23394
Signed-off-by: Jamie Madill
Signed-off-by: Shannon Woods
Author: Nicolas Capens
|
|
8f80e024
|
2013-07-11T11:20:50
|
|
Remove intrinsic parameter names.
TRAC #23394
Signed-off-by: Jamie Madill
Signed-off-by: Shannon Woods
Author: Nicolas Capens
|
|
77c9d1a4
|
2013-07-11T11:10:34
|
|
Add shadow texture intrinsics to the symbol table.
TRAC #23394
Signed-off-by: Jamie Madill
Signed-off-by: Shannon Woods
Author: Nicolas Capens
|
|
2a1d8a38
|
2013-07-18T11:49:40
|
|
Add shadow samplers to the compiler front-end.
TRAC #23394
Signed-off-by: Jamie Madill
Signed-off-by: Shannon Woods
Author: Nicolas Capens
|