|
be13ffca
|
2015-03-19T13:42:16
|
|
Use google test to wrap our perf tests.
This provides easy implementation with the Chromium perf bots.
BUG=angleproject:744
Change-Id: I71c04e3d67cae9344ddca9fd95fd3c9849494922
Reviewed-on: https://chromium-review.googlesource.com/260644
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
6ae6efca
|
2015-03-09T14:42:35
|
|
Only sync the VAO state just before the draw call.
BUG=angleproject:880
Change-Id: Ifd59c0f67aeab0e4700b3dca57c1b75e3fae48b8
Reviewed-on: https://chromium-review.googlesource.com/257671
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
fb2a5597
|
2015-03-20T11:25:37
|
|
Fix incorrect assertion.
BUG=angleproject:884
Change-Id: I3406eec99609b85c407797c50b71611b445a6ca5
Reviewed-on: https://chromium-review.googlesource.com/261462
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
30ceb3a1
|
2015-03-19T19:20:06
|
|
Update Canary WebGL CTS expectations.
Change-Id: Ia8375595b34e00a48143a568a4a9ab7157a12cd2
Reviewed-on: https://chromium-review.googlesource.com/261171
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
64af27bd
|
2015-03-19T13:42:14
|
|
Make Optional a proper helper class.
Move this to a common area, out of perf tests.
Change-Id: I53d36accfe0c53789c007edfb20ba7e964947def
Reviewed-on: https://chromium-review.googlesource.com/260643
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
8b695ee3
|
2015-03-12T13:12:20
|
|
Reduce unnecessary built-in varying usage in D3D renderer
Change-Id: I0c404e77aa3f56ddc5b97a206b06c7907edfb1eb
Reviewed-on: https://chromium-review.googlesource.com/259812
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
c8ef69d2
|
2015-03-18T16:43:22
|
|
Fix C4702 issues (unreachable code) in ANGLE, excluding <xtree>
Change-Id: Ia7603139af266fd7b14efc8c3465225738456e67
Reviewed-on: https://chromium-review.googlesource.com/261038
Tested-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
ed54e5db
|
2015-03-17T16:51:24
|
|
Fix framebuffer zero used after being destroyed in Context destructor.
BUG=angleproject:950
Change-Id: I06e9e6ccf92ee8ca0b1de98cc48ef68a85107214
Reviewed-on: https://chromium-review.googlesource.com/260573
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
|
|
e79904c3
|
2015-03-18T16:56:42
|
|
Accept equality and assignment for arrays in parsing
This is enough to support the operations in GLSL output. HLSL output will
likely require additional work to support this.
BUG=angleproject:941
Change-Id: I728d511ab07af94bc3382dc2796c1e9ac79d1442
Reviewed-on: https://chromium-review.googlesource.com/260801
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
1ade24db
|
2015-03-19T16:29:32
|
|
Add #version 300 es to ESSL output when needed
BUG=angleproject:953
Change-Id: Ib9e45fab1d35f8c78abd0ac2209ac4f63afe4465
Reviewed-on: https://chromium-review.googlesource.com/261170
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
d6b14287
|
2015-03-17T14:31:35
|
|
Move binary op array check to ParseContext
Also piece together an addAssign function in ParseContext that uses the
binary op array check. This will make it easier to change the
array-related checks in the future to use shaderVersion. Moving
validation out from IntermBinary::promote also makes the architecture
clearer, promote()'s role should be mainly to determine the type of the
return value of the binary operation, not to do validation.
BUG=angleproject:941
TEST=angle_unittests, WebGL conformance tests
Change-Id: If1de33ea250893527be7f0d7930d4678a0864684
Reviewed-on: https://chromium-review.googlesource.com/260571
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
b2983c95
|
2015-03-18T14:02:46
|
|
Correctly insert unmangled function names to symbol table
This fixes detecting some cases of function parameter mismatch
(previously a mangled function name corresponding to no function
parameters was added to the symbol table for each user-defined function,
and this was returned when doing function lookups with no parameters).
Also fixes detection of reusing a function name as a variable/struct
name.
New unit tests are added to ensure that these fixes don't regress.
BUG=angleproject:936
TEST=angle_unittests, WebGL conformance tests
Change-Id: I2dadde9dcc01c7a4a653c1982c36377b89e6d437
Reviewed-on: https://chromium-review.googlesource.com/260800
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
5659619a
|
2015-03-19T10:23:13
|
|
Fix uninitialized ConfigSorter read.
We were not initializaing the mWant* members to false.
BUG=468638
Change-Id: I90ef131c930c6f9c31e9bc9cec951c1f91816eb0
Reviewed-on: https://chromium-review.googlesource.com/261047
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
d4475816
|
2015-03-18T10:53:05
|
|
Always use static_assert for compile-time assertions and remove META_ASSERT.
BUG=468139
Change-Id: I696ef307f2faa54bb72df66784bc79a055499987
Reviewed-on: https://chromium-review.googlesource.com/260776
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
fc1806e1
|
2015-03-17T13:03:11
|
|
Move most of addBinaryMath from Intermediate to ParseContext
Some type checks for binary math will be different based on the shading
language version, which is easily accessible in ParseContext. Because of
this and also for architectural simplicity it makes more sense to have
the checks in ParseContext.
BUG=angle:941
TEST=angle_unittests, WebGL conformance tests
Change-Id: I92a499f47e1cbc6a7b6391ce0fa04284803e7140
Reviewed-on: https://chromium-review.googlesource.com/260570
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
2c7c625a
|
2015-03-12T14:15:38
|
|
Refactor D3D Debug Annotations code.
This encapsultates the different implementations and allows us to
compile debug.cpp in the common libraries without link errors.
BUG=angleproject:513
Change-Id: I16dc4c666fb4266ee5146d64d77eb9925c7584a8
Reviewed-on: https://chromium-review.googlesource.com/256450
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
b8af723d
|
2015-03-16T22:33:25
|
|
Fix and enable warning C4245 (signed/unsigned mismatch)
Change-Id: If48043835fcc98341a0626e3ece7d0e3f7958059
Reviewed-on: https://chromium-review.googlesource.com/260630
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cooper Partin <coopp@microsoft.com>
Tested-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
968992e3
|
2015-03-17T18:01:49
|
|
Fix unreferenced function warning.
Change-Id: I66b1821e5effcb761a5a0268f7f375289aa3a621
Reviewed-on: https://chromium-review.googlesource.com/260632
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
6bd58312
|
2015-03-13T10:45:27
|
|
Make Platform methods global.
This will allow them to be imported dynamically without name
mangling. This is necessary because sometimes SwiftShader
overrides libGLESv2 and libEGL, so we need to determine at
run-time if we are running with "actual" ANGLE.
BUG=466735
Change-Id: I396d717b79066feb8ed0d577ee7386b33eb1d160
Reviewed-on: https://chromium-review.googlesource.com/259954
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
1f40291c
|
2015-03-09T14:28:02
|
|
Remove the non-templated RefCountObjectBindingPointer class.
This allows the regular BindingPointer class to template on const types.
Also added assignment and copy operators that don't leak the resources.
BUG=angleproject:880
Change-Id: If3efa26a7fa89306d783c3e8a5fb92b16861d77a
Reviewed-on: https://chromium-review.googlesource.com/257670
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
6341939f
|
2015-03-13T11:51:07
|
|
Fix code duplication in OutputHLSL
While debugging, I came across the piece of code in
OutputHLSL::OutputHLSL which is unnecessarily duplicated,
this change just fixes it.
Change-Id: I0549d58696417ccf651bacfa19f489b290d4ba6e
Reviewed-on: https://chromium-review.googlesource.com/259960
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
0110e172
|
2015-03-11T12:26:30
|
|
Update ANGLE_platform_angle_d3d to be able to disable automatic trim.
BUG=angleproject:946
Change-Id: I5652495842b057998318b1583f8e1a586eba39aa
Reviewed-on: https://chromium-review.googlesource.com/258940
Tested-by: Cooper Partin <coopp@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
c05f7065
|
2015-03-10T09:50:57
|
|
TextureGL implementation.
BUG=angleproject:884
Change-Id: I877c0a9f753dacff96bbb82486bee71d1996ecb7
Reviewed-on: https://chromium-review.googlesource.com/252982
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
559a2e8c
|
2015-03-16T17:25:51
|
|
Move the ANGLE tests project to src/
*re-re-land with fix for Chrome's angle tests*
BUG=angleproject:945
Change-Id: I3c64e2edc776c299791440f65f22450855eb6dfa
Reviewed-on: https://chromium-review.googlesource.com/260448
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
96e3f556
|
2015-03-16T21:24:20
|
|
Revert "Move the ANGLE tests project to src/"
Still causing build issues on Chrome.
This reverts commit 64a3b2a92fe3bbd28972638e6759fae0b98d81b9.
Change-Id: I8d40fe3dfd0a877343357153a02b8ef66d571c64
Reviewed-on: https://chromium-review.googlesource.com/260425
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
64a3b2a9
|
2015-03-16T11:00:20
|
|
Move the ANGLE tests project to src/
*re-land with fix for Chromium build*
BUG=angleproject:945
Change-Id: I82bff1760e681987fb26e479734aa62fb845898a
Reviewed-on: https://chromium-review.googlesource.com/260362
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
5491fe66
|
2015-03-16T17:56:18
|
|
Revert "Move the ANGLE tests project to src/"
Causing build break in Chromium.
This reverts commit 71c2d85c4af2f6cb213d4f3e15f0ae16b63790f3.
Change-Id: Iedf001c1f4c60a759f69009610fbce978d193d17
Reviewed-on: https://chromium-review.googlesource.com/260370
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
71c2d85c
|
2015-03-16T10:47:04
|
|
Move the ANGLE tests project to src/
BUG=angleproject:945
Change-Id: I2eb44ac43f65b916ddd838d39e6aae62580d7fa0
Reviewed-on: https://chromium-review.googlesource.com/258903
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
|
|
48115b6f
|
2015-03-16T10:46:57
|
|
Use rx::ImplFactory in Framebuffer init.
BUG=angleproject:942
Change-Id: Idf14a4e42148b379b64b129ab649a9222cf1fb52
Reviewed-on: https://chromium-review.googlesource.com/258902
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
ae6495e5
|
2015-03-16T10:46:56
|
|
Use rx::ImplFactory in ResourceManager.
This will make mocking easier for unit testing ResourceManager.
BUG=angleproject:942
Change-Id: I24b9d0be550991845225141d6e7d5630383a8718
Reviewed-on: https://chromium-review.googlesource.com/258901
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
87de3627
|
2015-03-16T10:41:44
|
|
Implement pass-through pack state params.
Same as for unpack, this allows us to pass through the state reset
code of dEQP without UNIMPLEMENTED errors, while still throwing
asserts if they are set to non-default values.
BUG=angleproject:901,angleproject:512
Change-Id: I0ce0258b0e91eb83c066c241693aaa5c164b2989
Reviewed-on: https://chromium-review.googlesource.com/257131
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
67102f01
|
2015-03-16T10:41:42
|
|
Add pass-through for new unpack store params.
Move the UNIMPLEMENTED checks to where they are used with non-default
values. This allows dEQP to pass the prerequisite tests like state
reset without throwing assertion failures in debug.
BUG=angleproject:901,angleproject:512
Change-Id: I3bd35f6dea61e7d80d1379ba4e8e13437e68431a
Reviewed-on: https://chromium-review.googlesource.com/257130
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
2728eda4
|
2015-03-16T10:23:50
|
|
Revert "A special state to track field selection is not necessary."
This reverts commit f8dc4fb66d2ee473b6ba37626f02756422863f6c.
The special state to track field selection is actually necessary to avoid
reduce/reduce conflicts when array constructors are added to the grammar.
BUG=angleproject:941
TEST=WebGL conformance tests, angle_unittests
Change-Id: I55476483c9e83241e8978cd58f05ef303c7c8680
Reviewed-on: https://chromium-review.googlesource.com/260260
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
28291c5a
|
2015-03-16T10:46:54
|
|
Add an ImplFactory base class.
This class helps make mocking easier for unit tests.
Also update the back-end generator script.
BUG=angleproject:942
Change-Id: Ib0cee2b40c3a0faaac32b22c986b824b7b2dddde
Reviewed-on: https://chromium-review.googlesource.com/258900
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
f75ab350
|
2015-03-16T10:46:52
|
|
Make ClearParameters an rx-only type.
This legacy struct duplicates some methods in the gl::State. We
can restrict its use to D3D and on newer back-ends use the State
directly.
BUG=angleproject:930
Change-Id: I2c298e76b072ee73f2b3e17f6696693031ce1f91
Reviewed-on: https://chromium-review.googlesource.com/258070
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
4f52da4a
|
2015-03-11T10:48:41
|
|
Remove no-op functionality from IdentifyBuiltIns and refactor
Adding array built-ins like gl_FragData and gl_LastFragData to the
symbol table with a name that included their size in brackets was
incorrect and unnecessary. Remove this. The array built-ins should only
be added with their proper name and with an array type.
Also refactor the code to reduce unnecessary repetition of conditions.
The previous version attempted to split the built-ins that had
dependencies on resources into their own part of the code, but this split
was not clearly defined and only made the code harder to follow and
prone to issues.
TEST=WebGL conformance tests
Change-Id: I7a77865a594864a22f3b566f9d3da1d0ead46466
Reviewed-on: https://chromium-review.googlesource.com/258751
Reviewed-by: Nicolas Capens <capn@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
61ffec88
|
2015-03-11T10:35:01
|
|
Fix formatting of IdentifyBuiltIns
Fix indentation of case labels, fix too long lines, put braces on their
own lines and remove extraneous spacing and comments that didn't
contribute to the readability of the code.
TEST=WebGL conformance tests
Change-Id: Ie33d0a7c4412c448081f5d879fa9f64baaf8d537
Reviewed-on: https://chromium-review.googlesource.com/258750
Reviewed-by: Nicolas Capens <capn@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
434953e2
|
2015-02-20T10:49:51
|
|
Compile the D3D11 VS and PS on separate threads at GL link time
Change-Id: Ib534483f2ec3922cfeaf71cf1d9e9c433fe04b08
Reviewed-on: https://chromium-review.googlesource.com/251612
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
bc8a1772
|
2015-02-26T14:11:43
|
|
Fix WinRT build break due to D3D9 histogram assumption
Change-Id: Id8e8bed76a813e5cf082659671bb6f4a112ecf24
Reviewed-on: https://chromium-review.googlesource.com/254340
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
44efa0b8
|
2015-03-04T17:11:05
|
|
Conditionally enable IEEE strictness for isnan()
ANGLE's ESSL3 built-in function isnan() implementation just uses HLSL
intrinsic function isnan(). For HLSL intrinsic function isnan() to work
properly, IEEE strictness needs to be enabled for D3D compiler.
This change detects use of isnan() in shaders and passes compiler flag
D3DCOMPILE_IEEE_STRICTNESS whenever isnan is used in shaders. This
change also moves existing workarounds in D3DWorkaroundType to
D3DCompilerWorkarounds.
BUG=angle:927
TEST= dEQP tests
dEQP-GLES3.functional.shaders.builtin_functions.common.isnan.*
Change-Id: I1ce5b1a7a825fdd720a37dc9aeb71320e55162d9
Reviewed-on: https://chromium-review.googlesource.com/255834
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
56d1003e
|
2015-03-05T14:59:56
|
|
Add a D3D11 Debug member var.
This is useful for dumping live objects on exit, to debug resource leaks.
Change-Id: Ie88787defa37853d0a33c951b107ceac289e58df
Reviewed-on: https://chromium-review.googlesource.com/256461
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
fd67b1bf
|
2015-03-10T16:13:24
|
|
Move implementation unit tests to angle_unittests.
Now that libANGLE is cross-platform, this should work on OSX/Linux
and Android. Includes a warning fixes for test comparisons, and fix
to our META_ASSERT wrapper macro for clang.
BUG=angleproject:773
Change-Id: I6b88a85c62a2e07734ae81fb8276c28c5f8f9f47
Reviewed-on: https://chromium-review.googlesource.com/258300
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
f90353e8
|
2015-03-05T19:37:58
|
|
Fix typo "setDepthttachment".
BUG=angleproject:930
Change-Id: I7680bbc912c0d961143c38ad82d19746dc9b113d
Reviewed-on: https://chromium-review.googlesource.com/256732
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
85a1804d
|
2015-03-05T15:41:41
|
|
Make getColorAttachmentsForRender D3D-only.
This encapsulates the workaround in the D3D renderer, and also
optimizes the workaround to only compute a new set of attachments
when there is a change to the state.
BUG=angleproject:930
Change-Id: Ibdc15078236e2d19b544fae8e65b7f2554f31844
Reviewed-on: https://chromium-review.googlesource.com/254102
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
7147f01a
|
2015-03-05T15:41:40
|
|
Cleanups to FramebufferD3D.
With the new shared state structure, we can eliminate a lot of the
state tracking within the FramebufferD3D implementation.
BUG=angleproject:930
Change-Id: I0953e321bae3afe7cde7b73c55af62546665c890
Reviewed-on: https://chromium-review.googlesource.com/254101
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
d1405e51
|
2015-03-05T15:41:39
|
|
Share FBO state with object and Impl.
This patch introduces a new Framebuffer::Data class, which stores
attachment related state. This will eliminate the need to store
duplicated state between the classes.
BUG=angleproject:930
Change-Id: I80de4db39ab99d623b0ad8306bf3cbb794cd8bd5
Reviewed-on: https://chromium-review.googlesource.com/254100
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
0af26e10
|
2015-03-05T19:54:33
|
|
Prefer using caps to system attachment limits.
The caps structure can often give a lower and faster bound, as well
as being more general. We should gradually move away from the
implementation limits.
BUG=angleproject:930
Change-Id: I979472cdb6f59c6f0cc0c80f1c29c51295872bea
Reviewed-on: https://chromium-review.googlesource.com/256731
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
092e1a12
|
2015-03-09T07:40:11
|
|
Initialize fragmentPrecisionHigh in constructor.
This was the only field not initialized by the constructor, which
looks like an oversight.
Change-Id: If61424d574c663113a4c6d31e94b6ec13b412884
Reviewed-on: https://chromium-review.googlesource.com/257360
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
fc7fab72
|
2015-03-06T12:03:18
|
|
Fix matrix compound multiplication
Matrix compound multiplication was lacking transposes. Add them so that
results match normal multiplication.
BUG=angleproject:938
TEST=dEQP-GLES3.functional.shaders.matrix.mul_assign.*
Change-Id: I4c5159de0727afb4ee2831586f04fa817619de7a
Reviewed-on: https://chromium-review.googlesource.com/256366
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
51585037
|
2015-03-05T19:40:42
|
|
Remove unnecessary ifdef APPLE from built-in emulation
The emulation is already toggled by a compilation flag, so having it
behind an ifdef only adds unnecessary complexity, particularly when
testing changes to the emulation code.
BUG=angleproject:865
Change-Id: Idf7854c2b5323609880b527ed806440dcc8ac091
Reviewed-on: https://chromium-review.googlesource.com/256365
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
8efc5ad5
|
2015-03-03T17:21:10
|
|
Initialize BuiltInFunctionEmulator outside Compiler
This moves GLSL output specific code from the Compiler class to the
GLSL/ESSL translators.
BUG=angleproject:865
Change-Id: I2d552e9cdb41f7d8ddfee7b0249a99d629a6d7d7
Reviewed-on: https://chromium-review.googlesource.com/255471
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
72ba85bf
|
2015-03-04T14:23:26
|
|
Fix regression in addFunctionCallOrMethod
Fix a crash when parsing a shader with incorrect constructor arguments.
BUG=angleproject:911
TEST=WebGL conformance tests
Change-Id: I3459612f36185db861a361fa916cc6b671795037
Reviewed-on: https://chromium-review.googlesource.com/255870
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Zhenyao Mo <zmo@chromium.org>
|
|
95cd3c68
|
2015-03-03T16:45:32
|
|
Move some output out of BuiltInFunctionEmulator subclasses
This paves the way for getting rid of the BuiltInFunctionEmulator
subclasses in favor of initializing the BuiltInFunctionEmulator
dynamically in Compiler subclasses. The eventual goal is getting rid of
GLSL output specific functionality in Compiler, which should be
language-agnostic.
BUG=angle:865
Change-Id: Ibb114b905785c7343b2726c97699268c982536a0
Reviewed-on: https://chromium-review.googlesource.com/255470
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
c4ba3bef
|
2015-03-02T14:42:24
|
|
Refactor addFunctionCallOrMethod out of glslang.y
TEST=angle_unittests
BUG=angle:911
Change-Id: I6d4c0f0bfbf9e6252e241ae5bb1b6acdb463fce6
Reviewed-on: https://chromium-review.googlesource.com/255451
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
5dbece59
|
2015-02-27T20:35:38
|
|
Implement trunc, round, roundEven (Emulated roundEven)
BUG=angle:934
Change-Id: If33256bf3707f3f0202147276c71f08c65518205
Reviewed-on: https://chromium-review.googlesource.com/254842
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
2cd7a0ed
|
2015-02-27T13:57:32
|
|
Remove switch fall-through on HLSL
Remove fall-through from non-empty labels in switch statements.
Tested with dEQP-GLES3.functional.shaders.*switch*. All pass except for tests
that require dFdx/dFdy, which fail for an unrelated reason.
Additional test coverage could still be useful for cases where a label is
terminated by a continue or return statement.
BUG=angle:921
Change-Id: I4741867789a9308d66d0adeabdaf83907106e2d2
Reviewed-on: https://chromium-review.googlesource.com/254550
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
687ef22c
|
2015-03-03T10:58:05
|
|
Fix derivatives being related to an extension on ESSL3
dFdx, dFdy and fwidth are parts of the core language in ESSL3.
This fixes a regression from the patch "Set symbol extension at insertion".
BUG=angle:926
Change-Id: I6c0bbce3afad1f064ff115a16e23ea79bd584e49
Reviewed-on: https://chromium-review.googlesource.com/255450
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
ddc7446d
|
2015-02-25T11:48:09
|
|
Move RendererGL caps generation to renderergl_utils.
Change-Id: Ia385fc9739174472d698367e2c6093ba1963b1fe
Reviewed-on: https://chromium-review.googlesource.com/253634
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
c92fa1ee
|
2015-03-03T15:26:52
|
|
Disable textureRG for DX9
DX9 emulates GL_R8_EXT using BGR8. When we made the switch to using
GL_R8_EXT for YUV decoding, we decreased performance on DX9 machines.
DX9 supports luminance, which we fall back to when R8 isn't available.
BUG=438736
Change-Id: Iaa8d0518d481927d66130ea1bf3a95a750c5a761
Reviewed-on: https://chromium-review.googlesource.com/255662
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
05b6b7fc
|
2015-03-02T17:08:09
|
|
Add an SH_GLSL_CORE_OUTPUT profile.
So we could generate shaders for Apple using core GL profile.
By switching to core profile, we still pass most WebGL conformance tests 1.0.2 on Linux, but not all, so apparently more work is needed.
However, I think it's OK to check this CL in because this output profile will be only used behind a chromium switch.
BUG=angleproject:933
TEST=webgl conformance tests
Change-Id: Iad70e1aebf82349d3fc5f4116c1d6bc4448193fd
Reviewed-on: https://chromium-review.googlesource.com/255282
Tested-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
7749005a
|
2015-03-03T18:36:05
|
|
Fix min built-in function support
One of the recent change that uses generic types to compact
the symbol table initialization has introduced a bug in 'min'
function implementation, just fixing it here.
TEST= dEQP tests:
dEQP-GLES3.functional.shaders.operator.common_functions.min.lowp_uvec*
Change-Id: I0e3d386c89bc07c3b656ec5029b8ce57f663cf46
Reviewed-on: https://chromium-review.googlesource.com/255369
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d6e50872
|
2015-02-24T12:42:26
|
|
Add a StateManagerGL method to sync state required for a draw call.
BUG=angle:883
Change-Id: Iabeb25aef2228a1900bd0209422ddce21771c688
Reviewed-on: https://chromium-review.googlesource.com/252802
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
ba4c4a85
|
2015-02-24T12:38:46
|
|
Implement basic functionality in VertexArrayGL.
No support for raw vertex data pointers yet.
BUG=angle:880
Change-Id: Ifa8099b0f49028a1465edecde495ba725ac79598
Reviewed-on: https://chromium-review.googlesource.com/252801
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
c9d9b30a
|
2015-02-20T23:02:15
|
|
Set symbol extension at insertion.
BUG=angle:926
Change-Id: I4c96ae89c79d720d99bde803541c3158ba4629ab
Reviewed-on: https://chromium-review.googlesource.com/251662
Tested-by: Nicolas Capens <capn@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
05ae50dc
|
2015-02-20T10:16:47
|
|
Add basic support for HLSL output of switch and case
This patch outputs switch and case statements in HLSL, but ignores fall-through.
Switch statements that include fall-through cause the platform HLSL compiler to
generate errors.
BUG=angle:921
Change-Id: I10efbfb45076cf4fd79840698abafd8111e597d4
Reviewed-on: https://chromium-review.googlesource.com/251527
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
01cd8afa
|
2015-02-20T10:39:20
|
|
Add GLSL output of switch and case
BUG=angle:921
Change-Id: I0d752440ce6ffdfcc005f1a6123694bdfeb1b067
Reviewed-on: https://chromium-review.googlesource.com/251526
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
c8716df9
|
2015-02-26T17:17:22
|
|
Fix an issue with handling an error case inside ValidateSwitch
In case a condition with a wrong type is given to a case statement, it
generates an error but the compiler recovers. This caused ValidateSwitch
to assert. Fix this.
BUG=angle:921
Change-Id: I7949798cab923c2b168817471896470c6c611878
Reviewed-on: https://chromium-review.googlesource.com/254080
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
482907eb
|
2015-02-23T16:56:33
|
|
Set symbol operations at insertion.
BUG=angle:926
Change-Id: Ifc8f62ebe1277214a4d3fbd5c56eb5faeff8e389
Reviewed-on: https://chromium-review.googlesource.com/251650
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Nicolas Capens <capn@chromium.org>
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
58646526
|
2015-02-26T16:04:28
|
|
Pipe the ProgramBinary functions to the OES implementations.
BUG:462020
Change-Id: Ic567bf3d56d551716f1915a208003a7699abe6e6
Reviewed-on: https://chromium-review.googlesource.com/254300
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
91a080d8
|
2015-02-26T11:07:31
|
|
Fix GL typedef conflicts.
Moved typedefs to the global namespace to avoid future name conflicts.
Change-Id: I70bd47d2516964cd040df48c0b2ca50bc32ba851
Reviewed-on: https://chromium-review.googlesource.com/254090
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
e9cc469f
|
2015-02-19T16:00:13
|
|
Accept mismatching auxiliary interpolations.
The ES3.1 spec, and discussion on Khronos.org, confirm that dEQP is
correct in accepting mismatching centroid specifiers in shader
linkage. Mismatching flat/smooth is still a link error.
Fixes:
shaders.linkage.varying.rules.differing_interpolation_2
Change-Id: I3016f4147e7c1b16b02371ee95866c8daf826212
Reviewed-on: https://chromium-review.googlesource.com/251205
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
a2643b64
|
2015-02-19T11:07:56
|
|
Add UMA histogram for D3D9 init results.
Similar to D3D11 results, this can add statistics for the result of
initializing the D3D9 Renderer.
BUG=436191
Change-Id: I746c95a8dbb27456613844fde816e17352dc4b8d
Reviewed-on: https://chromium-review.googlesource.com/248660
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
b9293977
|
2015-02-19T11:07:54
|
|
Add UMA histogram for D3D11 init failures.
This will give ANGLE in Chrome a sense of device init calls fails in
D3D11, and why.
BUG=436191
Change-Id: Ia7b1bfa334cec595b6f0265357385d0dcc2d6cbf
Reviewed-on: https://chromium-review.googlesource.com/248632
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
5cc9ac85
|
2015-02-20T11:27:56
|
|
Fix shadow samplers with textureProj and vertex shaders.
Fixes:
dEQP-GLES3.functional.shaders.texture_functions.textureproj.sampler2dshadow_fragment
dEQP-GLES3.functional.shaders.texture_functions.textureproj.sampler2dshadow_bias_fragment
dEQP-GLES3.functional.shaders.texture_functions.textureprojoffset.sampler2dshadow_fragment
dEQP-GLES3.functional.shaders.texture_functions.textureprojoffset.sampler2dshadow_bias_fragment
and some of:
dEQP-GLES3.functional.shaders.texture_functions.texture*.sampler2dshadow_vertex
BUG=angle:925
Change-Id: I080e379ded95469f0486ae9c8bb1756842118a2d
Reviewed-on: https://chromium-review.googlesource.com/251530
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
36c79011
|
2015-02-24T11:47:20
|
|
Implement basic functionality in BufferGL.
BUG=angle:881
Change-Id: I8d761741d204d26cea1c87eec725bc8ebaaaa584
Reviewed-on: https://chromium-review.googlesource.com/252800
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
63cbace6
|
2015-02-26T10:03:12
|
|
Rename StateManagerGL::setProgram to useProgram.
BUG=angle:882
Change-Id: I4046e23bf720690869558fa6a5528d40c4b3bfa3
Reviewed-on: https://chromium-review.googlesource.com/254070
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
ab249d18
|
2015-02-26T09:56:23
|
|
Temporarily disable WGL debug contexts.
Change-Id: I62f29b8012386cd57181621e0854aa5a8ce534dd
Reviewed-on: https://chromium-review.googlesource.com/254061
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
ac5274df
|
2015-02-20T10:19:08
|
|
Add validation for the structure of switch statements
Implement a traverser to check for the following errors:
-More than one default or replicated constant expression
-No statement between a label and the end of a switch statement
-Statements in a switch statement before the first case statement
-Mismatch between the type of init-expression and type of a case label
-Case or default label nested inside other control flow nested within the
corresponding switch
Tested by manually disabling shading language version checks for switch
and by manually enabling case statements in a Chromium build and checking
that the expected errors are generated.
BUG=angle:921
Change-Id: I99c49c17c8b520849adbe4d8521e46cb10e20e41
Reviewed-on: https://chromium-review.googlesource.com/251524
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
3c1dfb5a
|
2015-02-20T11:34:03
|
|
Add stubs for switch and case output
BUG=angle:921
Change-Id: I58bd645a8d53ef5bad9b680e54c8948d50932fca
Reviewed-on: https://chromium-review.googlesource.com/251525
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b1f435e4
|
2015-02-20T10:01:01
|
|
Implement basic functionality of ProgramGL.
BUG=angle:882
Change-Id: I1d859197011081729c4c5733b78ac10491fe926c
Reviewed-on: https://chromium-review.googlesource.com/251542
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
f1e85927
|
2015-02-23T14:40:04
|
|
Add test for very basic operations to enable as GL functionality is added.
Add OpenGL and OpenGLES platform types for the ANGLE tests.
Comment out some UNIMPLEMENTEDs that tests using OpenGL trigger.
BUG=angle:882
Change-Id: I7f85eed184f7cebd25e2521d793fc9c394b704ce
Reviewed-on: https://chromium-review.googlesource.com/252252
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
86803677
|
2015-02-23T14:35:20
|
|
Update Display to allow for changing implementation objects.
Previously it was possible to change from a D3D9 to D3D11 display because
both were implemented with a DisplayD3D. Now that there is a DisplayGL,
the DisplayImpl must be updated while maintaining the same EGLDisplay
value.
Allow the value of Display::mImplementation to be updated when the display
is not already initialized.
BUG=angle:890
Change-Id: Ic18a8a120218cd130a71b9aa044b6ec00006d6a0
Reviewed-on: https://chromium-review.googlesource.com/252250
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
73941deb
|
2015-02-25T14:34:49
|
|
Disable the HLSL code in Angle if it is not being used.
We're only using the HLSL code in Windows so
it's not necessary to compile and distribute it on other platforms.
This adds a defined ANGLE_ENABLE_HLSL that can be checked in files that
are used by non-HLSL code as well. Mostly the HLSL code is just not
include by the build system.
Details of the space savings (heavily truncated)
Total change: -165717 bytes
===========================
-606 - Source: angle/src/common/utilities.cpp
-627 - Source: angle/src/compiler/translator/FlagStd140Structs.cpp
-695 - Source: /usr/include/c++/4.8/bits/stl_algo.h
-710 - Source: angle/src/compiler/translator/TranslatorHLSL.cpp
-713 - Source: angle/src/compiler/translator/IntermNode.h
-863 - Source: /usr/include/c++/4.8/bits/stl_map.h
-935 - Source: angle/src/compiler/translator/blocklayout.cpp
-1515 - Source: angle/src/compiler/translator/BuiltInFunctionEmulator.cpp
-1655 - Source: angle/src/compiler/translator/UnfoldShortCircuit.cpp
-2375 - Source: /usr/include/c++/4.8/bits/vector.tcc
-3135 - Source: angle/src/compiler/translator/RewriteElseBlocks.cpp
-4656 - Source: angle/src/compiler/translator/UtilsHLSL.cpp
-5265 - Source: angle/src/compiler/translator/BuiltInFunctionEmulatorHLSL.cpp
-6505 - Source: /usr/include/c++/4.8/bits/stl_tree.h
-11480 - Source: angle/src/compiler/translator/UniformHLSL.cpp
-13580 - Source: angle/src/compiler/translator/StructureHLSL.cpp
-18964 - Source: ??
(constant strings and a few vtbls)
-89332 - Source: angle/src/compiler/translator/OutputHLSL.cpp
Change-Id: I23ccc98abd0a21f847dd34f9482800b3ba679d56
Reviewed-on: https://chromium-review.googlesource.com/251528
Tested-by: bratell at Opera <bratell@opera.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
53f076fa
|
2015-02-20T10:55:14
|
|
Add basic error checks for switch and case
Check that the case labels have constant scalar integers, and that switch
statements are initialized with scalar integers. Also check that case and
default labels do not exist outside switch statements. Allow break
statements inside switch statements.
Tested by manually disabling shading language version checks for switch
in a Chromium build and checking that the expected errors are generated.
BUG=angle:921
Change-Id: Ibe83d0db52958c493ded5640d4babf670dc02d55
Reviewed-on: https://chromium-review.googlesource.com/251523
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
a3a36664
|
2015-02-17T13:46:51
|
|
Implement parsing switch statements
Put in some groundwork for parsing switch statements and case labels in
the parser, including definitions for IntermNode classes. Intermediate
functions for adding the statements are stubbed to only generate errors
for now.
Tested by manually disabling shading language version checks for switch
in a Chromium build and checking that the expected errors are generated.
BUG=angle:921
Change-Id: I064b3e0c4c1b724a083cf5bc78eebfdd3794eb1b
Reviewed-on: https://chromium-review.googlesource.com/250380
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
a6d110e2
|
2015-02-24T16:15:03
|
|
Attempt shader compilation without unroll and flatten with error X4014.
BUG=angle:917
Change-Id: Ie5b9a673f4af7241576cbe73ac96a7fb518af798
Reviewed-on: https://chromium-review.googlesource.com/252986
Reviewed-by: Nicolas Capens <capn@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
49300865
|
2015-02-20T14:54:49
|
|
Refactor validating jump statements out of glslang.y
Move the logic to ParseContext. This will simplify changing the logic for
the break statement that is needed to implement switch.
BUG=angle:921, angle:911
TEST=WebGL conformance tests
Change-Id: Ib8bbc7075c05d345e90377202b5446fb3307f94c
Reviewed-on: https://chromium-review.googlesource.com/251522
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
f3cc4aef
|
2015-02-23T13:51:25
|
|
Use generic types to compact the symbol table initialization.
Just like in the spec text, use symbolic types that represent multiple
concrete types. The few signatures that get generated more than once
are only added to the symbol table once because it ignores duplicates.
BUG=angle:926
Change-Id: I216f03d22502b724dbefc87c5a021d6021c3a434
Reviewed-on: https://chromium-review.googlesource.com/251620
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Nicolas Capens <capn@chromium.org>
|
|
e6d14cc3
|
2015-02-20T12:32:58
|
|
Updated instanced pointsprite emulation to be more resilient to driver differences.
Change-Id: I89e5b5a2d2c0363ae07d5ba918187cb0d7056ac5
Reviewed-on: https://chromium-review.googlesource.com/251680
Tested-by: Cooper Partin <coopp@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
94463d58
|
2015-02-18T13:09:37
|
|
Add a state manager for the currently applied GL state.
BUG=angle:883
Change-Id: Ie69c883c5ee539f911480fdcd9e73c46a3001b33
Reviewed-on: https://chromium-review.googlesource.com/250930
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
295ed4c4
|
2015-02-20T09:58:25
|
|
Implement ShaderGL.
BUG=angle:882
Change-Id: I1a8c7b551b308c9362e56ce564ebde7d579c05a3
Reviewed-on: https://chromium-review.googlesource.com/251541
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
7825f619
|
2014-11-26T16:19:41
|
|
Update ANGLE_platform_angle_d3d to use a device type enum instead of WARP bool.
BUG=angle:490
Change-Id: I1555e7f09b23138753e52ddf720d088587f7cadb
Reviewed-on: https://chromium-review.googlesource.com/232104
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
2fa660ba
|
2015-02-20T13:01:34
|
|
Add missing Display::getImplementation.
Change-Id: I220ffefcbf9bc988d986e729961c9a893d6b5159
Reviewed-on: https://chromium-review.googlesource.com/251580
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
6b19d765
|
2015-02-19T09:40:39
|
|
Implement missing variants of abs/sign
This change adds ANGLE support for abs/sign variants introduced
in ESSL3.
BUG=angle:923
TEST=Unit tests, dEQP tests
Unit Tests:
TypeTrackingTest.BuiltInAbsSignFunctionFloatResultTypeAndPrecision
TypeTrackingTest.BuiltInAbsSignFunctionIntResultTypeAndPrecision
dEQP tests passing 100% because of this change:
dEQP-GLES3.functional.shaders.builtin_functions.common.abs
dEQP-GLES3.functional.shaders.builtin_functions.common.sign
Change-Id: I2a3b028611f0eaaac3c031f8926d34a0e146663d
Reviewed-on: https://chromium-review.googlesource.com/251491
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
c415283b
|
2015-02-20T09:57:29
|
|
Implement CompilerGL.
BUG=angle:882
Change-Id: I6fd426b19677b51f4df74d495acc9a6fde9822e8
Reviewed-on: https://chromium-review.googlesource.com/251540
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
29190088
|
2015-02-20T16:42:54
|
|
Make Angle code 40 KB smaller by using string literals directly.
The implicit conversion of hundreds of string literals
to TString generated a lot of machine code. By keeping them
as string literals all the way the code will be smaller and faster.
This is the change with clang for x64 (note VisitUnary in particular):
Total change: -41392 bytes
==========================
2 added, totalling +469 bytes across 1 sources
2 removed, totalling -472 bytes across 1 sources
5 shrunk, for a net change of -41389 bytes (54126 bytes before, 12737 bytes after) across 1 sources
279692 unchanged, totalling 51433327 bytes
------------------------------------------------------------------------------------------------------------------------------------
-41392 - Source: /home/bratell/src/chromium/src/third_party/angle/src/compiler/translator/OutputHLSL.cpp - (gained 469, lost 41861)
------------------------------------------------------------------------------------------------------------------------------------
New symbols:
+328: sh::OutputHLSL::outputConstructor(Visit, TType const&, char const*, TVector<TIntermNode*> const*) type=t, size=328 bytes
+141: sh::OutputHLSL::outputTriplet(Visit, char const*, char const*, char const*) type=t, size=141 bytes
Removed symbols:
-133: sh::OutputHLSL::outputTriplet(Visit, std::basic_string<char, std::char_traits<char>, pool_allocator<char> > const&, std::basic_string<char, std::char_traits<char>, pool_allocator<char> > const&, std::basic_string<char, std::char_traits<char>, pool_allocator<char> > const&) type=t, size=133 bytes
-339: sh::OutputHLSL::outputConstructor(Visit, TType const&, std::basic_string<char, std::char_traits<char>, pool_allocator<char> > const&, TVector<TIntermNode*> const*) type=t, size=339 bytes
Shrunk symbols:
-388: sh::OutputHLSL::writeEmulatedFunctionTriplet(Visit, char const*) type=t, (was 628 bytes, now 240 bytes)
-714: sh::OutputHLSL::visitBranch(Visit, TIntermBranch*) type=t, (was 1017 bytes, now 303 bytes)
-9738: sh::OutputHLSL::visitAggregate(Visit, TIntermAggregate*) type=t, (was 17609 bytes, now 7871 bytes)
-14132: sh::OutputHLSL::visitBinary(Visit, TIntermBinary*) type=t, (was 17627 bytes, now 3495 bytes)
-16417: sh::OutputHLSL::visitUnary(Visit, TIntermUnary*) type=t, (was 17245 bytes, now 828 bytes)
Change-Id: Id0f87d72f6d7f1ab7b543f0d28d5a8b7c7db9ec7
Reviewed-on: https://chromium-review.googlesource.com/251090
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: bratell at Opera <bratell@opera.com>
|
|
aff43af9
|
2015-02-19T16:23:19
|
|
Load all core WGL functions.
BUG=angle:879
Change-Id: If204156e69480cd7e1e7c43db8496dd150ac9e15
Reviewed-on: https://chromium-review.googlesource.com/251241
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
ea8ae897
|
2015-02-19T15:09:30
|
|
Expose FunctionsWGL::getProcAddress.
Change-Id: I263f00e67eb3243c661de8f949933ea56e34d4b5
Reviewed-on: https://chromium-review.googlesource.com/251220
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
80d934bb
|
2015-02-19T10:16:12
|
|
Enable MSVS warning 4512.
Fix up the missing DISALLOW_COPY_AND_ASSIGN macros and various small
problems preventing us from turning on this warning. This should
ensure we more often use the DISALLOW macro going forward.
Change-Id: I2e1a9d23a31a51279a577fad8dffb8c1530e2ee8
Reviewed-on: https://chromium-review.googlesource.com/251100
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cooper Partin <coopp@microsoft.com>
Tested-by: Cooper Partin <coopp@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
7c1f6f19
|
2015-02-19T18:56:09
|
|
Revert "Implement missing variants of abs/sign"
This for some reason is failing angle_unittests:
http://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20%28NVIDIA%29/builds/13296
Happens across platforms.
This reverts commit 3e142e47cc5b40564bcdba4252fd326bc28ca343.
Change-Id: Ideb20457546c0dec10c9584182cc8d5ead42309d
Reviewed-on: https://chromium-review.googlesource.com/251160
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|