|
37f77d2e
|
2014-04-30T16:10:13
|
|
Fixes to the standalone Linux build.
Several small build errors present on Linux cropped up due to
different warning flags and platform quirks.
BUG=angle:627
Change-Id: If8f651cacf05bb06ecb129be47b12729ccc3f69b
Reviewed-on: https://chromium-review.googlesource.com/197724
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
f20f0206
|
2014-04-28T11:02:07
|
|
Verify that the compiler has been initialized before freeing it.
BUG=angle:625
Change-Id: I8bba0dea26eacf02df4568cfb6840aa332bd0df8
Reviewed-on: https://chromium-review.googlesource.com/197655
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
17a0e632
|
2014-04-25T11:29:54
|
|
Fix scoped structure references.
We had neglected to reference scope bracket values when
initially constructing the scoped struct name. Fixes the
new WebGL test.
BUG=angle:618
Change-Id: Ie78a8264c9e16c5a6574cecd662adbd5475d6495
Reviewed-on: https://chromium-review.googlesource.com/197252
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
006ed1ed
|
2014-04-28T15:47:39
|
|
Reduce translator sources compile count to one.
With this change, the common sources shared between translator
and translator_static are compiled in a static library. There
is only one file with exported functions which needs to be
compiled for each target. This should reduce ANGLE and chromium
build times.
BUG=angle:569
Change-Id: I3ce011872323ec988befbd6db731add4fce5787b
Reviewed-on: https://chromium-review.googlesource.com/197271
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
66e5dda7
|
2014-04-28T11:13:25
|
|
Fix a bug in init_varyings_without_static_use workaround.
The TType constrcuted is using es2 signature, which is different from the es3 signature.
BUG=angle:568
TEST=webgl conformance tests with --init_varyings_without_static_use commandline switch
Change-Id: I15347c7a6fe67e9214e4c96b156a50806a90c97c
Reviewed-on: https://chromium-review.googlesource.com/197294
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Zhenyao Mo <zmo@chromium.org>
|
|
7faf1a14
|
2014-04-25T18:03:56
|
|
Fix a mem corruption in ANGLE translator.
Basically outside TCompile::compile(), the global parse context is
invalid, and should never be queried.
BUG=angle:568
TEST=webgl conformance tests, no crash
Change-Id: I5573ce2bf3bf838ab24f59dda00948f60a0b023d
Reviewed-on: https://chromium-review.googlesource.com/197178
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Zhenyao Mo <zmo@chromium.org>
|
|
42350abc
|
2014-04-22T15:05:26
|
|
Fix Linux GCC unit test build.
In a Chromium build, we must respect initializer order due to extended
warnings.
BUG=angle:568
Change-Id: I4d86fdd2c5663524c2ffd17e3e3c26da1ff3ccdb
Reviewed-on: https://chromium-review.googlesource.com/196291
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
32e66b7a
|
2014-04-22T13:54:56
|
|
Add newline to fix clang compile
Change-Id: I9e0e32d94f24fb32e9971772fb7cd68cd36ab47d
Reviewed-on: https://chromium-review.googlesource.com/196280
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
|
|
10567260
|
2014-04-17T16:40:00
|
|
Fix build with Clang.
Clang's validation is a bit more thorough than GCC's or MSVC's and
picked up a few new errors and warnings. We missed a few default
cases in switches and used an improper type for default arguments.
BUG=angle:568
Change-Id: I34239c6c5c785ad1e62917fc37c3243f4c5b5f1b
Reviewed-on: https://chromium-review.googlesource.com/195472
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
834e8b77
|
2014-04-11T13:33:58
|
|
Move ShaderVariables to common shared source.
Also move the block layout encoding utilities to the common folder.
The combined changes allow us to include the shader and block code
into both libGLESv2 and the translator separately. This in turn
fixes the Chromium component build, where we were calling internal
translator functions directly from libGLESv2.
BUG=angle:568
Change-Id: Ibcfa2c936a7c737ad515c10bd24061ff39ee5747
Reviewed-on: https://chromium-review.googlesource.com/192891
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
46485086
|
2014-04-15T13:12:50
|
|
Implement EXT_shader_texture_lod
BUG=angle:551
Change-Id: I81d7574a15861f1b24ddf6147cf71adbf20e10f3
Reviewed-on: https://chromium-review.googlesource.com/194960
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
|
|
04296f85
|
2014-04-14T14:24:38
|
|
Fix comparing TextureFunction structures.
Test each field for smaller or larger than, and when they're equal test the
next field.
BUG=angle:605
Change-Id: I2c5a90d95c7ff73b83f3067381c14b74a213ef05
Reviewed-on: https://chromium-review.googlesource.com/194602
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
|
|
84cfa124
|
2014-04-14T13:48:45
|
|
Fix Lod0 texture functions that take a bias parameter.
Texture functions that are in a divergent path can still take a bias parameter.
Treat the bias parameter as an explicit lod. The logic behind this is that the
implicit lod is considerd to be 0 like with other Lod0 functions, and then the
bias is added to it.
BUG=angle:604
Change-Id: I2dbc309c497d37e960209f08849f9d2bc9e1fbcc
Reviewed-on: https://chromium-review.googlesource.com/194544
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
|
|
12bea0a9
|
2014-04-11T13:33:55
|
|
Stop shader local variables from using invalid qualifiers.
Local variables in GLSL can't use any other storage qualifier than
'const', but we weren't checking properly. For example, the can't
have 'in' or 'out' storage. This was causing a dEQP conformance
test failure.
BUG=angle:593
Change-Id: Ibb333950f2d0990a47d1a96caecc455497d5e57e
Reviewed-on: https://chromium-review.googlesource.com/191460
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
9f45240c
|
2014-04-11T14:17:34
|
|
Regenerate the compiled lexer.
The lexer was missing some recent changes.
BUG=angle:593
Change-Id: I8fa598e5a4ae35ebc9f9a48789632b6a326bc4d3
Reviewed-on: https://chromium-review.googlesource.com/194136
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
cebb5aa0
|
2014-04-07T14:13:40
|
|
Fix warnings about unreferenced local variables.
BUG=angleproject:602
Change-Id: I2eb04fe6eed60b3877b14628e81c0b1fe3b68647
Reviewed-on: https://chromium-review.googlesource.com/193431
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
|
|
9bab6d8f
|
2014-04-10T13:20:13
|
|
Insert missing sampler cases in TType::buildMangledName.
We were missing the cases for 2D Rect samplers and external OES
samplers. This was causing an assert in the WebGL CTS in Debug.
BUG=angle:550
Change-Id: Ieefeef6ff0f9a486bf7667c7efc60dee766f03ef
Reviewed-on: https://chromium-review.googlesource.com/194122
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
655fe36e
|
2014-04-11T13:12:34
|
|
Use shader optimization level 3 selectively.
Default to HLSL compiler optimization level 1 and work around a compiler bug with break in nested loops by using optimization level 3.
BUG=angle:603
Change-Id: I4f7985a5648f1b5f54d80554c21aced7fc1777c2
Reviewed-on: https://chromium-review.googlesource.com/194129
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
|
|
6654bc93
|
2014-03-26T14:01:57
|
|
Fix stack overflow when parsing huge expressions.
The expression limit validation check needs to be in front
of other tree traversal to prevent stack overflows. Also,
call depths of sufficient size (80k+) could overflow the
depth check itself, necessitating an upper bound on initial
tree traversal.
This fixes crashes in the WebGL long-expressions bug test.
BUG=angle:584
Change-Id: Ib48294bf77a5923d230f237fbd63a36a5662e317
Reviewed-on: https://chromium-review.googlesource.com/191931
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
dd0d3426
|
2014-03-26T14:01:56
|
|
Use a heap-memory traversal to free compiler resources.
The stack-memory traversal is prone to stack overflow. See the
WebGL conformance test long-expressions-should-not-crash.
BUG=angle:584
Change-Id: I02d72bc2e4101b7141d609c50303403ea8298e60
Reviewed-on: https://chromium-review.googlesource.com/191930
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
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
|