- 28 Apr, 2015 3 commits
-
-
Geoff Lang authored
The subclassing was not used by chromium and caused problems for users that wanted to use a window owned by another thread as an EGL surface. BUG=angleproject:961 Change-Id: I1d91323c758374de317179874320961385b10ae0 Reviewed-on: https://chromium-review.googlesource.com/266658Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
John Bauman <jbauman@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
BUG=angleproject:961 Change-Id: I61931961f8cb86b47012edd2bc08d0e1e7a5d0f7 Reviewed-on: https://chromium-review.googlesource.com/266515Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
John Bauman <jbauman@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
Binding to GL_FRAMEBUFFER is supposed to set the read and draw framebuffer bindings instead of being a separate binding point. BUG=angleproject:885 Change-Id: Ic6d9056a2f8bfa472587c5ed030c15fcc93574c7 Reviewed-on: https://chromium-review.googlesource.com/267460Reviewed-by:
Brandon Jones <bajones@chromium.org> Reviewed-by:
Kenneth Russell <kbr@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
- 27 Apr, 2015 12 commits
-
-
Geoff Lang authored
BUG=angleproject:886 Change-Id: I4224ba26fef6783d61a56c294da2bdb6596da7bc Reviewed-on: https://chromium-review.googlesource.com/267552Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
*re-land with fix for Mac* This prevents us from re-allocating FBO attachments every set. This change requires quite a bit of refactoring. BUG=angleproject:963 Change-Id: Ia1f83e3c427d446ddbe16c6703db136942149e91 Reviewed-on: https://chromium-review.googlesource.com/266691Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
Fix is incorrect: See http://crbug.com/477701 This reverts commit 02bce6e5. Change-Id: I718d1a7e5d9fef662cee9ba90407a835466c74fc Reviewed-on: https://chromium-review.googlesource.com/267560Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Jacek Caban authored
Change-Id: Icc40c61b5c6df5a0aed4e175f1724ca55f981625 Reviewed-on: https://chromium-review.googlesource.com/267412Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Olli Etuaho authored
This unifies the behavior across the compiler and rest of ANGLE - for example, one can use #define ANGLE_TEST_CONFIG to disable UNIMPLEMENTED asserts in both the compiler and the rest of ANGLE. Compiler traces from asserts also go to the same TRACE_OUTPUT_FILE as other traces instead of being directed through ParseContext. The compiler build already includes the common sources, so no changes to build config are needed. The original version of this change was reverted due to release mode build issues. This version adds UNUSED_ASSERTION_VARIABLE where needed. TEST=angle_unittests, angle_end2end_tests, dEQP-GLES3.functional.shaders.* BUG=angleproject:983 Change-Id: I36929020a04251b8bc834fbb3c069e10128c3082 Reviewed-on: https://chromium-review.googlesource.com/267411Reviewed-by:Jamie Madill <jmadill@chromium.org> Reviewed-by:
Olli Etuaho <oetuaho@nvidia.com> Tested-by:
Olli Etuaho <oetuaho@nvidia.com>
-
Jamie Madill authored
In some cases we would let the user change the attachments of the default FBO. This hole in our validation would confound the dEQP negative API tests (negative_api.buffer.framebuffer_*) and muck up the remainder of the test run. BUG=angleproject:901 Change-Id: I2b3c04752d1df3289d41c013cc936eda30e98aad Reviewed-on: https://chromium-review.googlesource.com/266927Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Brandon Jones <bajones@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
We were skipping some validation, which was confusing dEQP. We can still no-op, but do this after all validation. BUG=angleproject:901 Change-Id: I9888c1aca851519e9c7da210c983ba6012e95932 Reviewed-on: https://chromium-review.googlesource.com/266926Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Brandon Jones <bajones@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
We were missing this in a few places, and this was giving runtime errors in dEQP negative tests. BUG=angleproject:901 Change-Id: I9de5b055dcfe4ad5c13c800a31b4a0b424863bee Reviewed-on: https://chromium-review.googlesource.com/266888Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Brandon Jones <bajones@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Geoff Lang authored
BUG=angleproject:985 Change-Id: If2138d8ec9a4f99adaf4ef1a4cbeeab6b0bf9f2c Reviewed-on: https://chromium-review.googlesource.com/267349Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
Causing compile warnings in Release: 1>compiler\translator\CallDAG.cpp(238): error C2220: warning treated as error - no 'object' file generated 1>compiler\translator\CallDAG.cpp(238): warning C4189: 'op' : local variable is initialized but not referenced 1>compiler\translator\IntermNode.cpp(1495): error C2220: warning treated as error - no 'object' file generated 1>compiler\translator\IntermNode.cpp(1495): warning C4189: 'replaced' : local variable is initialized but not referenced 1>compiler\translator\IntermNode.cpp(1517): warning C4189: 'replaced' : local variable is initialized but not referenced This reverts commit 52710258. Change-Id: Icdf1c37eef22a13d083767609ab0b0285d3dc517 Reviewed-on: https://chromium-review.googlesource.com/267359Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Geoff Lang authored
BUG=angleproject:521 Change-Id: I50858193518b4d07edcb2073caaa99ce37fcc4c3 Reviewed-on: https://chromium-review.googlesource.com/267000Reviewed-by:
Brandon Jones <bajones@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Olli Etuaho authored
This unifies the behavior across the compiler and rest of ANGLE - for example, one can use #define ANGLE_TEST_CONFIG to disable UNIMPLEMENTED asserts in both the compiler and the rest of ANGLE. Compiler traces from asserts also go to the same TRACE_OUTPUT_FILE as other traces instead of being directed through ParseContext. The compiler build already includes the common sources, so no changes to build config are needed. TEST=angle_unittests, angle_end2end_tests, dEQP-GLES3.functional.shaders.* BUG=angleproject:983 Change-Id: Ifca4d16f667b1e5cf9c2e7cc4139940091917a1c Reviewed-on: https://chromium-review.googlesource.com/266993Reviewed-by:Jamie Madill <jmadill@chromium.org> Reviewed-by:
Zhenyao Mo <zmo@chromium.org> Tested-by:
Olli Etuaho <oetuaho@nvidia.com>
-
- 24 Apr, 2015 6 commits
-
-
Jamie Madill authored
This gives us the choice between D3D9 and D3D11. We can add more platforms easily using the same patterns. BUG=angleproject:901 Change-Id: Ia8dc77466bd32f0b8b0d638ae839f41288bfe25b Reviewed-on: https://chromium-review.googlesource.com/266889Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Austin Kinross <aukinros@microsoft.com> Reviewed-by:
Brandon Jones <bajones@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Olli Etuaho authored
Fix mixed up comments, remove unnecessary type conversions, clarify variable names and improve formatting in a few places. TEST=angle_unittests, WebGL conformance tests BUG=angleproject:913 Change-Id: Ice8fe3682d8e97f42747752302a1fba116132df4 Reviewed-on: https://chromium-review.googlesource.com/266843Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Olli Etuaho <oetuaho@nvidia.com> Reviewed-by:
Zhenyao Mo <zmo@chromium.org>
-
Olli Etuaho authored
In HLSL output, user-defined functions that have an array as their return value get changed so that they have the array as an out parameter instead. Still missing: support for calling a function that has array as a return value without assigning the array. Also support for assignments inside complex expressions. TEST=dEQP-GLES3.functional.shaders.arrays.return.* BUG=angleproject:941 Change-Id: I79f5170139116a3dcfb2be2df5f0f79a3d955ca8 Reviewed-on: https://chromium-review.googlesource.com/266003Reviewed-by:
Olli Etuaho <oetuaho@nvidia.com> Tested-by:
Olli Etuaho <oetuaho@nvidia.com>
-
Olli Etuaho authored
Empty declarations in ESSL shaders currently result in errors on several platforms. Prune empty declarations that are not struct or interface block declarations from the AST. TEST=WebGL conformance tests, angle_unittests, angle_end2end_tests BUG=angleproject:980 Change-Id: I9e3abf8134e6dfed0253cc83f69ce0ee92b0e0e7 Reviewed-on: https://chromium-review.googlesource.com/266841Reviewed-by:
Olli Etuaho <oetuaho@nvidia.com> Tested-by:
Olli Etuaho <oetuaho@nvidia.com>
-
Olli Etuaho authored
ESSL 3.00 definition of expressions does not include calling length on anything other than array names, so enforce this restriction in the parser. TEST=WebGL 2 conformance tests BUG=angleproject:972 Change-Id: I893d3c468ff21cb419b3239738f2a41834298cf2 Reviewed-on: https://chromium-review.googlesource.com/266992Reviewed-by:
Olli Etuaho <oetuaho@nvidia.com> Tested-by:
Olli Etuaho <oetuaho@nvidia.com>
-
Olli Etuaho authored
array.length() should return a signed integer as specified in ESSL 3.00 section 4.1.9, not unsigned. Fix this and add a simple unit test - the dEQP tests included in WebGL conformance are built in a way that they don't catch the issue. TEST=angle_unittests BUG=angleproject:972 Change-Id: I1389f51751a6a25c1681f57ac3d2d52f31ecc8fb Reviewed-on: https://chromium-review.googlesource.com/266991Reviewed-by:
Olli Etuaho <oetuaho@nvidia.com> Tested-by:
Olli Etuaho <oetuaho@nvidia.com>
-
- 23 Apr, 2015 13 commits
-
-
Geoff Lang authored
BUG=angleproject:883 Change-Id: Id530f855ab14b6ec575101c9e74c02842c27d3d6 Reviewed-on: https://chromium-review.googlesource.com/266036Reviewed-by:
Brandon Jones <bajones@chromium.org> Reviewed-by:
Kenneth Russell <kbr@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
BUG=angleproject:883 Change-Id: I721c198f33caa18ec04899d6323faa9dbd4aa100 Reviewed-on: https://chromium-review.googlesource.com/266035Reviewed-by:
Brandon Jones <bajones@chromium.org> Reviewed-by:
Kenneth Russell <kbr@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
BUG=angleproject:883 Change-Id: I1d748281184ff8111f8ff1c63f56882650b6871b Reviewed-on: https://chromium-review.googlesource.com/266034Reviewed-by:
Brandon Jones <bajones@chromium.org> Reviewed-by:
Kenneth Russell <kbr@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
BUG=angleproject:883 Change-Id: I903090c1a7ba90bd479ad8d24f943672eb51054e Reviewed-on: https://chromium-review.googlesource.com/266033Reviewed-by:
Brandon Jones <bajones@chromium.org> Reviewed-by:
Kenneth Russell <kbr@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
BUG=angleproject:981 Change-Id: Ib91d4b515e129241814706351b69a74e8295a250 Reviewed-on: https://chromium-review.googlesource.com/266874Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
Speeds up project generation a lot. BUG=angleproject:981 Change-Id: I3cb340baa8da3a30a2c861b584ba0e7758da5b4d Reviewed-on: https://chromium-review.googlesource.com/266873Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Brandon Jones <bajones@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
The essl_to_hlsl and essl_to_glsl projects were exactly the same so it doesn't make sense to keep both. BUG=angleproject:981 Change-Id: Ibf034a71e94ba5002f9c40ac87720bf0de74ae18 Reviewed-on: https://chromium-review.googlesource.com/266872Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Brandon Jones <bajones@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
There was no real reason to keep them in an angle directory and it makes the generated projects nicer. BUG=angleproject:981 Change-Id: I844e44dc5c2df51f5292cff4bdffe5e951745aae Reviewed-on: https://chromium-review.googlesource.com/266871Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Brandon Jones <bajones@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
It has very little to do with ANGLE and should not be in the repository. BUG=angleproject:981 Change-Id: I7aa97b8f56b49beda591e90afcffcb27619beaec Reviewed-on: https://chromium-review.googlesource.com/266870Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Brandon Jones <bajones@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Olli Etuaho authored
Chromium's Linux toolchain doesn't implement the return value of std::vector::insert correctly, causing a build failure. Remove an unnecessary assignment of the return value to fix this build regression. The regression was caused by the commit: "Put each array declarator into a separate declaration in HLSL output" TEST=angle_unittests Change-Id: I2959122d28e4c7e6d6a4d842a97a8f1fd4f27ca1 Reviewed-on: https://chromium-review.googlesource.com/266990Reviewed-by:
Olli Etuaho <oetuaho@nvidia.com> Tested-by:
Olli Etuaho <oetuaho@nvidia.com>
-
Olli Etuaho authored
The internal flag disables decorating a given symbol in output, effectively placing it to a different namespace than user-defined symbols. This enables the compiler to insert symbols to the tree when transforming it to be suitable for HLSL output without running into name conflicts. In this patch the flag is separated from the qualifiers since sometimes different qualifiers need to be used with these internal symbols. TEST=angle_unittests, angle_end2end_tests, WebGL conformance tests BUG=angleproject:941 Change-Id: I7036bed98fdb1478a383bb959ca03b42c3cb8100 Reviewed-on: https://chromium-review.googlesource.com/266690Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Zhenyao Mo <zmo@chromium.org> Tested-by:
Olli Etuaho <oetuaho@nvidia.com>
-
Olli Etuaho authored
Do this by separating each array initialization into a declaration and an assignment. Array assignment is already supported in HLSL output by replacing it with a function call. The functionality is tested by the struct array constructor tests in dEQP. BUG=angleproject:941 TEST=dEQP-GLES3.functional.shaders.arrays.constructor.* Change-Id: Ida84fc343b767bea8b2d04e91c60cb8197d39039 Reviewed-on: https://chromium-review.googlesource.com/266002Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Zhenyao Mo <zmo@chromium.org> Tested-by:
Olli Etuaho <oetuaho@nvidia.com>
-
Olli Etuaho authored
Since HLSL doesn't support arrays as l-values, HLSL output needs to split declarators that initialize arrays to variable declaration and assignment implemented via a function call. To prepare for this, it is necessary that each declarator has its own declaration. BUG=angleproject:941 TEST=angle_end2end_tests, WebGL conformance tests Change-Id: I43dee487578561c01dbde90c2f55a93dda2f057a Reviewed-on: https://chromium-review.googlesource.com/266001Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Zhenyao Mo <zmo@chromium.org> Tested-by:
Olli Etuaho <oetuaho@nvidia.com>
-
- 22 Apr, 2015 3 commits
-
-
Gregoire Payen de La Garanderie authored
BUG=angleproject:974 Change-Id: I95937fe7a0833de77c52f838ebb3ecba55dfbf8a Reviewed-on: https://chromium-review.googlesource.com/265640Tested-by:
Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Arun Patole authored
This change adds constant folding support for unary exponential built-ins - exp, log, exp2, log2, sqrt and inversesqrt. BUG=angleproject:913 TEST= dEQP tests dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential* (48 out of 56 tests started passing with this change) Change-Id: I4b98782c4c4b72dd7d60dfc4f18ba6961526ec41 Reviewed-on: https://chromium-review.googlesource.com/266797Reviewed-by:
Olli Etuaho <oetuaho@nvidia.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Olli Etuaho <oetuaho@nvidia.com>
-
Arun Patole authored
Revert of revert as the new changes that use nullptr in fold function are already in. This reverts commit b775778a. Change-Id: Ifbdb35264132c66e5d1f2379932839b99291c54a Reviewed-on: https://chromium-review.googlesource.com/266803Reviewed-by:
Olli Etuaho <oetuaho@nvidia.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Olli Etuaho <oetuaho@nvidia.com>
-
- 21 Apr, 2015 3 commits
-
-
Jamie Madill authored
In file included from ../../third_party/angle/src/libANGLE/Framebuffer.cpp:10: In file included from ../../third_party/angle/src/libANGLE/Framebuffer.h:13: In file included from /Applications/Xcode5.1.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk/usr/include/c++/4.2.1/vector:68: /Applications/Xcode5.1.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk/usr/include/c++/4.2.1/bits/stl_construct.h:81:38: error: call to implicitly-deleted copy constructor of 'gl::FramebufferAttachment' ::new(static_cast<void*>(__p)) _T1(__value); ^ ~~~~~~~ This reverts commit 13773b26. Change-Id: If79f2797fe46798cbe5b39d83c9bcb1a7e87026d Reviewed-on: https://chromium-review.googlesource.com/266643Reviewed-by:Jamie Madill <jmadill@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
Compile errors on Mac: In file included from ../../third_party/angle/src/libANGLE/Framebuffer.cpp:10: In file included from ../../third_party/angle/src/libANGLE/Framebuffer.h:13: In file included from /Applications/Xcode5.1.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk/usr/include/c++/4.2.1/vector:68: /Applications/Xcode5.1.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk/usr/include/c++/4.2.1/bits/stl_construct.h:81:38: error: call to implicitly-deleted copy constructor of 'gl::FramebufferAttachment' ::new(static_cast<void*>(__p)) _T1(__value); ^ ~~~~~~~ This reverts commit ed61a5f6. Change-Id: I602bffc96f77cffa217cb63a5cc3caf334fd9879 Reviewed-on: https://chromium-review.googlesource.com/266652Reviewed-by:Jamie Madill <jmadill@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
Methods that need to mutate the Framebuffer should use setAttachment, etc, instead of using mutable pointers. BUG=angleproject:963 Change-Id: Ibe7b8f8245f762916e0224fdc78796b1c933195f Reviewed-on: https://chromium-review.googlesource.com/263490Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-