Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| d7a25243 | 2015-08-18 13:49:45 | Add deep copying support for typed AST nodes Resubmit with inconsistent override warnings fixed. Removing dynamic indexing of vectors and matrices will require copying the indexed nodes in case they are written. Any type of l-value node that doesn't have side effects may need to be copied. Add a copying function for all typed node classes so that this copying can be performed. Private copy constructors are used to implement the deepCopy function in order to make maintenance easier. With copy constructors, each subclass only needs to take care of copying its own members, and not the base class members, which reduces the possibility of errors. Copy constructors are disabled for all node classes that don't support deep copying by inheriting TIntermNode from angle::NonCopyable. Assignment operator is disabled for all node classes through inheriting angle::NonCopyable. This applies also to classes that now get the private copy constructor. Explicit copy constructor and assignment operator declarations are added to some classes which show up in node member variables to make code clearer. BUG=angleproject:1116 TEST=angle_unittests Change-Id: I7964976f5dac7dfd745b8c6612ca06fb01d271c4 Reviewed-on: https://chromium-review.googlesource.com/295080 Tested-by: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org> | ||
| 254fceac | 2015-08-25 15:11:07 | Fix two leaks and a delete vs delete[] reported by ASAN BUG=angleproject:1137 Change-Id: Ic654b79aa56ae0c0a24097b85ab48f5af53ca1f7 Reviewed-on: https://chromium-review.googlesource.com/295154 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org> | ||
| 4d5362d0 | 2015-08-25 11:25:14 | VertexArrayGL: fix the streaming of offset non-packed strides When the packed stride and source stride were different, the streaming code path used a loop that added two times the offset for the start of the index range. BUG=angleproject:1135 Change-Id: I6d314a1a28abec4df22f7c798c1af87a18d8b7ec Reviewed-on: https://chromium-review.googlesource.com/295225 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org> | ||
| a5ef8d89 | 2015-08-19 14:52:21 | Enabled loop indexing validation for fragment shaders compiled using renderers configured for FL9_3 and below. BUG=angleproject:1130 Change-Id: I2b5d7091c394565354b14fbf9297276dce8d92a5 Reviewed-on: https://chromium-review.googlesource.com/294733 Tested-by: Cooper Partin <coopp@microsoft.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| cc16c913 | 2015-08-20 17:18:43 | gpu_test_expectations: Fix a -Wheader-hygiene Reland with a fix for the compilation on Windows. Rereland with a fix for the Chromium compilation on Windowds. Our angle_config.h was using "using namespace" in a header as a way to import symbols to shim Chromium's base. This patch changes this to import each function separately using "using". This patch will allow our gpu_test_expectations to compile inside Chromium on Linux. BUG=angleproject:1127 Change-Id: Iefb9e253e278fa766a11e50fc6a69eceb2e81dd9 Reviewed-on: https://chromium-review.googlesource.com/295192 Tested-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| c1654203 | 2015-08-21 17:04:16 | Revert "gpu_test_expectations: Fix a -Wheader-hygiene" When building in Chromium, on Windows, we got a symbol clash for base::SysInfo::OperatingSystemVersionNumbers This reverts commit d2eaa37d77cecde113267fd0fb66697f9b5dfe09. BUG= Change-Id: Icffa01a26368cecc9eb3c2ada8bf41143bd3c50a Reviewed-on: https://chromium-review.googlesource.com/295230 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org> | ||
| d2eaa37d | 2015-08-20 17:18:43 | gpu_test_expectations: Fix a -Wheader-hygiene Reland with a fix for the compilation on Windows. Our angle_config.h was using "using namespace" in a header as a way to import symbols to shim Chromium's base. This patch changes this to import each function separately using "using". This patch will allow our gpu_test_expectations to compile inside Chromium on Linux. BUG=angleproject:1127 Change-Id: I19b97c2a37accc683a35809859c604bcaf3dcc43 Reviewed-on: https://chromium-review.googlesource.com/295150 Tested-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 0ef5c746 | 2015-08-21 10:51:40 | Revert "gpu_test_expectations: Fix a -Wheader-hygiene" This patch causes a compile failure, probably because some symbols had been declared in the root namespace and should have been moved to base. (but weren't compiled under Linux) BUG= This reverts commit f41e04dbb8602a349351c537b735eb991588a944. Change-Id: Ia2292bf9dcbf429f47c8c8632356574a91ff0a1d Reviewed-on: https://chromium-review.googlesource.com/295110 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org> | ||
| 1c207ae9 | 2015-08-20 17:29:41 | dEQP.gypi: tweaks to enable in-Chromium compilation on Linux Two things were needed: - The re-enabling of exception and RTTI as it is disabled in Chromium and in a different way than in ANGLE standalone - Link decpp with dl BUG=angleproject:1127 Change-Id: I9ac37545762dc13320c7fba418fba82d7961e83e Reviewed-on: https://chromium-review.googlesource.com/294822 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org> | ||
| f41e04db | 2015-08-20 17:18:43 | gpu_test_expectations: Fix a -Wheader-hygiene Our angle_config.h was using "using namespace" in a header as a way to import symbols to shim Chromium's base. This patch changes this to import each function separately using "using". This patch will allow our gpu_test_expectations to compile inside Chromium on Linux. BUG=angleproject:1127 Change-Id: I99a78ab9fddc11b81e3e5154d41cd8bbbb2ac28d Reviewed-on: https://chromium-review.googlesource.com/294821 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org> | ||
| 37c3979e | 2015-08-20 14:19:46 | Revert "Revert "Make the default framebuffer owned by Surface"" Reland the commit after fixing a bug in FramebufferAttachment. This reverts commit 18fdcbcf1d02d3b3b4b5c712f05058f2e8d629c6. BUG=angleproject:891 Change-Id: I07e08de52bfce8d84d070fc7bc15883009298a4d Reviewed-on: https://chromium-review.googlesource.com/294831 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org> | ||
| b5d61dac | 2015-08-20 13:43:02 | Revert "Add deep copying support for typed AST nodes" This reverts commit d0d59aa4cbce2da92deaa0f4021dfed8885e8d01 and commit 760379532b02ae039790f1e8f1c89e03481aab4b To be fixed will be the newline at the end of IntermNode_tests.cpp and the -Winconsistent-missing-override BUG= Change-Id: I57693bdff01f9e3f03b2fbb5dc53fa21e68c2789 Reviewed-on: https://chromium-review.googlesource.com/294820 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org> | ||
| 76037953 | 2015-08-20 13:18:44 | Fix compilation on Mac, adding a newline in IntermNode_test.cpp BUG= Change-Id: Ie935486bf44bacb89660419c0dabd0ff38838c90 Reviewed-on: https://chromium-review.googlesource.com/294800 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org> | ||
| ec1be6d5 | 2015-08-19 15:07:43 | Suppress dEQP negative_api compressedtexsubimage2d_invalid_size on Linux Temporarily suppress this test as it might be caused by a dEQP bug. BUG=angleproject:1128 Change-Id: I9c6f1b95edca55f54f3292227ebc81d4ddc57f0a Reviewed-on: https://chromium-review.googlesource.com/294580 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org> | ||
| d0d59aa4 | 2015-08-18 13:49:45 | Add deep copying support for typed AST nodes Removing dynamic indexing of vectors and matrices will require copying the indexed nodes in case they are written. Any type of l-value node that doesn't have side effects may need to be copied. Add a copying function for all typed node classes so that this copying can be performed. Private copy constructors are used to implement the deepCopy function in order to make maintenance easier. With copy constructors, each subclass only needs to take care of copying its own members, and not the base class members, which reduces the possibility of errors. Copy constructors are disabled for all node classes that don't support deep copying by inheriting TIntermNode from angle::NonCopyable. Assignment operator is disabled for all node classes through inheriting angle::NonCopyable. This applies also to classes that now get the private copy constructor. Explicit copy constructor and assignment operator declarations are added to some classes which show up in node member variables to make code clearer. BUG=angleproject:1116 TEST=angle_unittests Change-Id: Ia757b69397837f8309f0e7511c0cd24ca2c7a721 Reviewed-on: https://chromium-review.googlesource.com/293931 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Olli Etuaho <oetuaho@nvidia.com> | ||
| 18fdcbcf | 2015-08-19 18:12:44 | Revert "Make the default framebuffer owned by Surface" Seems to be causing failures on the Mac GPU FYI bots. SurfaceTest.DestructionDeletesImpl seems to crash. BUG=angleproject:891 BUG=522557 This reverts commit 264ab56f2e70431e8310f9353952acd3b22b466f. Change-Id: I80aeecb8e191de011d9afe6534d0285dcffa82a3 Reviewed-on: https://chromium-review.googlesource.com/294540 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | ||
| 26e355b8 | 2015-08-14 14:16:19 | Add full support for line continuation in the preprocessor Re-landing earlier change with constant signedness fixed (was causing build issues on Linux). Line continuation in ESSL 3.00 needs to be processed before tokenization, since tokens can span the line continuation. On the other hand, ANGLE's tokenizer keeps track of line numbers, and whenever a line continuation appears the line number still needs to be incremented by one, just like on a regular newline. That's why line continuation is now implemented as follows: when the shader strings are concatenated in Input, they are also checked for line continuation. Whenever line continuation is encountered, the string is cut before that point. When the tokenizer asks for more input, the string starting from the character after line continuation is passed to it, and the line number is incremented from Input. This way the tokenizer can parse tokens that span multiple lines - it never sees the line continuation - but still keeps track of the line number correctly. Relevant spec is in ESSL 3.00 section 3.2 "Source strings". Support for line continuation also applies to ESSL 1.00. ESSL 3.00 spec section 1.5 says that line continuation support is mandated when an ESSL 1.00 shader is used with the OpenGL ES 3.0 API, and is optional when ESSL 1.00 is used with the OpenGL ES 2.0 API. TEST=dEQP-GLES3.functional.shaders.preprocessor.line_continuation.* (all pass), angle_unittests BUG=angleproject:1125 Change-Id: Ic086aacac53cd75bf93c0fda782416501d2f842b Reviewed-on: https://chromium-review.googlesource.com/294200 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Olli Etuaho <oetuaho@nvidia.com> | ||
| 264ab56f | 2015-08-12 12:39:52 | Make the default framebuffer owned by Surface Reland with a fix for SurfaceTest in angle_unittests and fixes for signed-unsigned warnings In CGL there is no notion of default Framebuffer and MakeCurrent only makes a context current but not a drawable. Instead, everything is done via render to texture. For that reason, different surfaces will have different FBOs as default framebuffers, which causes that change. BUG=angleproject:891 Change-Id: I0664896bc335b1a757226aaa212536b8f9d0f08f Reviewed-on: https://chromium-review.googlesource.com/293752 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org> | ||
| 11cd6af6 | 2015-08-18 15:54:01 | Revert "Make the default framebuffer owned by Surface" Compilation warning on Windows This reverts commit 6cb2ae8292e69aa110c89e0465366b9f049c1168. Change-Id: I4ecadf5d8e909f986da186a7326cfa0922ae8710 Reviewed-on: https://chromium-review.googlesource.com/294241 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org> | ||
| 6cb2ae82 | 2015-08-12 12:39:52 | Make the default framebuffer owned by Surface Reland with a fix for SurfaceTest in angle_unittests and fixes for signed-unsigned warnings In CGL there is no notion of default Framebuffer and MakeCurrent only makes a context current but not a drawable. Instead, everything is done via render to texture. For that reason, different surfaces will have different FBOs as default framebuffers, which causes that change. BUG=angleproject:891 Change-Id: Ie9a72de01a58e583a1bfa3f4a055debb860b912f Reviewed-on: https://chromium-review.googlesource.com/293713 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org> | ||
| 70022972 | 2015-08-18 17:53:00 | Revert "Work around deprecated LUMA formats in the core profile." Caused failures in the WebglConformance.conformance_textures_misc_copy_tex_image_2d_formats test on the ATI FYI waterfall bot. This reverts commit 61f51dc1b7d383bcb3632218cd2434f65cac4b7a. Change-Id: Iddea03d53ae2a9b639e36931f01c1e889e550af4 Reviewed-on: https://chromium-review.googlesource.com/294262 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| a818776e | 2015-08-12 10:54:37 | Fix warning C4312 (x64) - reinterpret_cast conversion to greater size Change-Id: I90504b00e8f3af208511ec393ddfb0da267f56bc Reviewed-on: https://chromium-review.googlesource.com/293341 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Austin Kinross <aukinros@microsoft.com> | ||
| 61f51dc1 | 2015-08-13 16:16:56 | Work around deprecated LUMA formats in the core profile. Use R and RG textures with swizzle states to emulate them. Fixes the following tests when using the core profile: * conformance/extensions/oes-texture-float.html * conformance/extensions/oes-texture-half-float.html * conformance/textures/misc/tex-sub-image-2d.html * conformance/textures/misc/texture-formats-test.html * conformance/textures/misc/texture-npot.html * conformance/more/functions/copyTexImage2D.html * conformance/more/functions/copyTexSubImage2D.html BUG=angleproject:1113 Change-Id: Iaf4b7b2b0000052b1747f46d90ad45d4cb1f6b50 Reviewed-on: https://chromium-review.googlesource.com/293530 Reviewed-by: Kenneth Russell <kbr@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| 5c6b7bfe | 2015-08-17 12:53:35 | Add a Program::Data shared state structure. Similar to the Framebuffer and other classes, this gives the Impl class a read-only view of the object's state. BUG=angleproject:1123 Change-Id: I580eaebe2de236adf8131d6e3f54633cecce8c25 Reviewed-on: https://chromium-review.googlesource.com/293760 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | ||
| 3b040eb8 | 2015-08-17 16:51:33 | Revert "Add full support for line continuation in the preprocessor" Warning in the Linux/Mac builders: In file included from ../../third_party/angle/src/tests/preprocessor_tests/input_test.cpp:7: In file included from ../../third_party/angle/src/tests/preprocessor_tests/PreprocessorTest.h:7: ../../testing/gtest/include/gtest/gtest.h:1392:16: error: comparison of integers of different signs: 'const int' and 'const unsigned long' [-Werror,-Wsign-compare] if (expected == actual) { ~~~~~~~~ ^ ~~~~~~ ../../testing/gtest/include/gtest/gtest.h:1422:12: note: in instantiation of function template specialization 'testing::internal::CmpHelperEQ<int, unsigned long>' requested here return CmpHelperEQ(expected_expression, actual_expression, expected, ^ ../../third_party/angle/src/tests/preprocessor_tests/input_test.cpp:171:5: note: in instantiation of function template specialization 'testing::internal::EqHelper<false>::Compare<int, unsigned long>' requested here EXPECT_EQ(3, input.read(buf, maxSize, &lineNo)); ^ BUG=angleproject:1125 This reverts commit c1157d1963170c7411eb6c32e2b2fbce02c5a170. Change-Id: Ic6fa286d190b006cccc5154d86e21ecc03175763 Reviewed-on: https://chromium-review.googlesource.com/294080 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | ||
| c1157d19 | 2015-08-14 14:16:19 | Add full support for line continuation in the preprocessor Line continuation in ESSL 3.00 needs to be processed before tokenization, since tokens can span the line continuation. On the other hand, ANGLE's tokenizer keeps track of line numbers, and whenever a line continuation appears the line number still needs to be incremented by one, just like on a regular newline. That's why line continuation is now implemented as follows: when the shader strings are concatenated in Input, they are also checked for line continuation. Whenever line continuation is encountered, the string is cut before that point. When the tokenizer asks for more input, the string starting from the character after line continuation is passed to it, and the line number is incremented from Input. This way the tokenizer can parse tokens that span multiple lines - it never sees the line continuation - but still keeps track of the line number correctly. Relevant spec is in ESSL 3.00 section 3.2 "Source strings". Support for line continuation also applies to ESSL 1.00. ESSL 3.00 spec section 1.5 says that line continuation support is mandated when an ESSL 1.00 shader is used with the OpenGL ES 3.0 API, and is optional when ESSL 1.00 is used with the OpenGL ES 2.0 API. TEST=dEQP-GLES3.functional.shaders.preprocessor.line_continuation.* (all pass), angle_unittests BUG=angleproject:1125 Change-Id: I1c1de49602e7cd755d6072c3c0aa5524cd0313b4 Reviewed-on: https://chromium-review.googlesource.com/293721 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Olli Etuaho <oetuaho@nvidia.com> | ||
| 5cf0f982 | 2015-08-12 09:35:10 | Reland "Fix memory layout of imageformats.h's 16-bit structs" Changes since last patch: - Disable tests on D3D11 Intel Change-Id: Ie65f56b7ed107f8901ea3be7d96036d7c882d189 Reviewed-on: https://chromium-review.googlesource.com/285218 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Austin Kinross <aukinros@microsoft.com> | ||
| 217fe6ec | 2015-08-05 13:25:08 | Detect when built-in modf requires an l-value in AST traversal This fixes an omission that out parameter tracking had inherited from EmulatePrecision. Accurate tracking of when values are written is required for converting dynamic indexing of vectors and matrices to function calls. A new test covering this is added to angle_unittests. TEST=angle_unittests BUG=angleproject:1116 Change-Id: I05c5fd60355117d0053b84110748ae221375a790 Reviewed-on: https://chromium-review.googlesource.com/290562 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Olli Etuaho <oetuaho@nvidia.com> | ||
| bc384230 | 2015-08-13 15:24:20 | Revert "Add tests for streaming client side data." This reverts commit 656b0d45cd4758be67202aded9783d536b00e611. Change-Id: I0b6ad5e1fa788ffc698029410aa98e13a061902d Reviewed-on: https://chromium-review.googlesource.com/293450 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| 656b0d45 | 2015-08-12 11:51:23 | Add tests for streaming client side data. BUG=angleproject:880 Change-Id: Ief76f3011ce18ad0ca396af0bc36e69a30ae143b Reviewed-on: https://chromium-review.googlesource.com/293220 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| 4d61f7ed | 2015-08-12 10:56:50 | Reland Fixed compiler warning C4267 'conversion from 'size_t' to 'type', possible loss of data' Additional warnings found with more testing and added C4267 warning disable only for angle_libpng BUG=angleproject:1120 Change-Id: Ic403dcff5a8018056fa51a8c408e64207f3362eb Reviewed-on: https://chromium-review.googlesource.com/293028 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| fd00ccff | 2015-08-12 10:19:46 | Disable some VS2015 warnings for dEQP projects Change-Id: I036084b2fea20d4f1712bc34b161fb3be604af0d Reviewed-on: https://chromium-review.googlesource.com/293009 Tested-by: Austin Kinross <aukinros@microsoft.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 1bf40bfe | 2015-08-12 15:52:04 | Revert "Make the default framebuffer owned by Surface" This reverts commit 87e63a9982803b5e4c12afa9a40ff0e2b04a7369. Speculative revert to fix the webgl cts on Windows D3D9 and the unittests on Linux. BUG= Change-Id: I488f4e0b2dc67270eed45f1c10bfba1d13c98739 Reviewed-on: https://chromium-review.googlesource.com/293350 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org> | ||
| 87e63a99 | 2015-08-12 12:39:52 | Make the default framebuffer owned by Surface In CGL there is no notion of default Framebuffer and MakeCurrent only makes a context current but not a drawable. Instead, everything is done via render to texture. For that reason, different surfaces will have different FBOs as default framebuffers, which causes that change. BUG=angleproject:891 Change-Id: I3f6da7b587353316026ea39a5c87f91265e0f1ba Reviewed-on: https://chromium-review.googlesource.com/289872 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org> | ||
| 391befef | 2015-08-12 16:30:38 | Revert "Add pragma errors for malformed pragmas." Since this commit was made, dEQP tests were fixed to check that unrecognized pragma tokens only generate warnings, not errors. This applies to both ESSL1.00 and ESSL3.00, which specify this behavior in section 3.4 Preprocessor. BUG=angleproject:989 TEST=dEQP-GLES2.functional.shaders.preprocessor.pragmas.* This reverts commit d3c29f57aaeb451b149bbb9fd17b3f1f99101c52. Change-Id: Ie4e0ec061fa3164d6f3872ac0016a063056ed110 Reviewed-on: https://chromium-review.googlesource.com/293181 Tested-by: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 77a90c26 | 2015-08-11 16:33:17 | Reland of "Store the applied element array buffer as a binding pointer." To be consistent with how we start vertex attributes. A null pointer indicates we're using the streaming buffer. Will also aid the dirty state bits refactor. The re-land fixes a crash with WebGL related to element array buffers. BUG=angleproject:1040 TEST=WebGL CTS, end2end_tests, unittests Change-Id: I9b82e06825bf95f0fc2b7c7427e1eb6dd257c1ee Reviewed-on: https://chromium-review.googlesource.com/290044 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | ||
| b459fb04 | 2015-08-07 16:12:39 | Fixed compiler warning C4456 'declaration of variable hides previous local declaration'. BUG=angleproject:1119 Change-Id: I99572711ceeae94fb920d197c86e741945d3b60b Reviewed-on: https://chromium-review.googlesource.com/292279 Tested-by: Cooper Partin <coopp@microsoft.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 149e6e69 | 2015-08-07 16:18:18 | Fixed compiler warning C4458 'declaration of variable hides class member'. BUG=angleproject:1119 Change-Id: Ibc7cfdea72abe402cbfa1c10e0ada7576fa1cfa2 Reviewed-on: https://chromium-review.googlesource.com/292052 Tested-by: Cooper Partin <coopp@microsoft.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 3dfcdcb6 | 2015-08-10 14:28:54 | D3D: Fix buffer overflow in VertexBuffer.cpp. Under certain situations an integer overflow could lead to ANGLE writing to places where it shouldn't. BUG=518206 Change-Id: I9217685daecb160a4072fbf79c26e5bee9f4621e Reviewed-on: https://chromium-review.googlesource.com/292391 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | ||
| 8afe1e1b | 2015-08-05 18:00:01 | Track that indices of l-values are not required to be l-values In an expression like a[ind]++, a[ind] is required to be an l-value but ind is not. Reset the l-value required flags before traversing the index of an indexing operation, so that this is accurately tracked. After the index has been traversed, the previous state of the l-value required flags is restored. New tests are added to angle_unittests cover this functionality. TEST=angle_unittests BUG=angleproject:1116 Change-Id: I8929ec01e85e672c83ef7d385e455b7df8682f4b Reviewed-on: https://chromium-review.googlesource.com/290561 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org> Tested-by: Olli Etuaho <oetuaho@nvidia.com> | ||
| 519a5be2 | 2015-07-23 11:07:29 | Update ANGLE's GPU test expectations code. Pull over the more recent changes from Chromium which include the graphics API, which we can use for specific API suppressions for the dEQP tests. Also update the docs with detailed steps for updating from Chrome. BUG=None Change-Id: I0cb7d8268fbb2778c0160a58f1a10ef4a92c9c61 Reviewed-on: https://chromium-review.googlesource.com/287810 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | ||
| b18609b9 | 2015-07-16 14:13:11 | Implement ES 2,3 parts of EXT_blend_func_extended for shader translation Exposes gl_SecondaryFragColor, glSecondaryFragData[] and gl_MaxDualSourceDrawBuffers to GLES SL 1.0. Relaxes rules for undefined output locations for GLES SL 3.0 and exposes gl_MaxDualSourceDrawBuffers. If the output GL context is GL ES 2.0 or 3.0: The emulation layer is expected to turn on EXT_blend_func_extended if the output GL context supports it. If the output GL context is GL: The emulation layer is expected to turn on EXT_blend_func_extended if the output GL context supports ARB_blend_func_extended or if GL context is 3.2 or later. If the source shader spec is GLES SL 2.0: The emulation layer is expected to inspect the shader compilation output variables upon linking. If output target is GL SL, the emulation layer should bind color location 0, index 1 to "angle_SecondaryFragColor" if variable "gl_SecondaryFragColorEXT" is used. Alternatively, emulation layer should bind "angle_SecondaryFragData" to locations 0,1,2,3,..., all color index 1, if "gl_SecondaryFragData" array is used. (The caller can not bind the locations or specify output variables.) If the source shader spec is GLES SL 3.0: The emulation layer is expected to do location auto-resolve of the the output variables that have undefined output locations that have not been bound by the caller. (The caller can not use gl_ built-ins, so nothing to do with those.) BUG=angleproject:1085 TEST=angle_unittest Change-Id: I5cafe205b0c29478b0dcd24aa89a7b0000f5d046 Reviewed-on: https://chromium-review.googlesource.com/287580 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Kimmo Kinnunen <kkinnunen@nvidia.com> | ||
| b44440d8 | 2015-07-22 17:54:20 | ANGLETest::SetUp: resize the window only if needed. This avoids a flickering of the window at the start of every test. Reland with a speculative fix for ViewportTest BUG=angleproject:1105 Change-Id: I83e89881de5b6f58cfb3e14cbe324fd9547f2836 Tested-by: Corentin Wallez <cwallez@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/288533 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| b4191c3e | 2015-08-06 10:29:12 | ViewportTest::SetUp set the scissor to the default value Previously ViewportTest would rely on the scissor being set to the size of the window by default, which is a fragile assumption as the scissor is set to the size of the window only on the first makeCurrent. BUG=angleproject:1105 Change-Id: I088565c7032fe817eb5c48a5351cc678fe42b376 Reviewed-on: https://chromium-review.googlesource.com/291310 Tested-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| a840617a | 2015-07-21 16:53:39 | Implement the egl and gl layers of EGL Image. Add end2end tests and unittests. BUG=angleproject:970 Change-Id: Ie8306971730a793f08dfd09ead1bfd6ff3e4623d Reviewed-on: https://chromium-review.googlesource.com/291260 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| 4274f7d2 | 2015-08-05 23:07:38 | Revert "Implement the egl and gl layers of EGL Image." This reverts commit 22a4f38c2ca9ca430b5f976fc7fc816d88918eba. Change-Id: I07acbfe28d11675236de2ea7f6b050c25f80579a Reviewed-on: https://chromium-review.googlesource.com/290960 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| 35ab4299 | 2015-08-05 23:05:54 | Revert "Fix warnings on gcc builds in ImageTest.cpp." This reverts commit 52ff4ac92ef5dfe77e14221726a0f0ab57dc57d5. Change-Id: I11ec6e7e343dd6579f7aa13106facc65b05eb795 Reviewed-on: https://chromium-review.googlesource.com/290940 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| 52ff4ac9 | 2015-08-05 18:20:44 | Fix warnings on gcc builds in ImageTest.cpp. BUG=angleproject:970 Change-Id: Ic7f451fb4c2378c7574ede7c513a5bb9d903c908 Reviewed-on: https://chromium-review.googlesource.com/290920 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| 22a4f38c | 2015-07-21 16:53:39 | Implement the egl and gl layers of EGL Image. Add end2end tests and unittests. BUG=angleproject:970 Change-Id: I13fc501b24c3f11bfedc810c1ff80fcf1318877c Reviewed-on: https://chromium-review.googlesource.com/287343 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| 6b2a0b0c | 2015-08-03 14:15:08 | Reland of "Add Iterable bitset class." This helper allows us to quickly iterate state bits from the Impl/Renderer layers. Re-land with no C++11 usage. BUG=angleproject:1040 TEST=angle_unittests (Mac/Win/Linux) Change-Id: I3b6d5beb2bcff7fa3d45c9220d7c026c64c45d2e Reviewed-on: https://chromium-review.googlesource.com/290153 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> | ||
| cc36b983 | 2015-07-10 14:14:18 | Implement ESSL 3.00 shader input/output variable type rules ESSL 3.00 allows a wider variety of types of input/output variables than ESSL 1.00, but there are still specific restrictions on structs, matrices and arrays. Some of the checks need to be implemented twice: once for array syntax where the brackets are after the type, and another time for array syntax where the brackets are after the variable name. This requires fixes to constant folding unit tests which were previously incorrectly using matrix outputs in fragment shaders. New unit tests are added for several of the rules introduced, but some cases are also covered by dEQP. TEST=angle_unittests, dEQP-GLES.functional.shaders.linkage.varying.rules.* BUG=angleproject:1061 Change-Id: I655b054cfe56d376db775b96a2bb41b3ac5740b0 Reviewed-on: https://chromium-review.googlesource.com/285482 Tested-by: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org> | ||
| 9988a028 | 2015-08-03 12:46:45 | Revert "Add Iterable bitset class." std::to_ullong is c++11, failing on Mac. BUG=angleproject:1040 This reverts commit 37a9e71246e2a3343289267e5d7e123948924bd3. Change-Id: I5cecd1fe95b889feffb556f67d082cec585256f4 Reviewed-on: https://chromium-review.googlesource.com/290211 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | ||
| 37a9e712 | 2015-07-30 11:21:55 | Add Iterable bitset class. This class allows us to quickly notify Impl/Renderer layers of which state changed. BUG=angleproject:1040 TEST=angle_unittests (Mac/Win/Linux) Change-Id: I2f27bc65b4f627a261e94e3e3b7095b169986cc6 Reviewed-on: https://chromium-review.googlesource.com/289557 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | ||
| 13e7c7e6 | 2015-07-30 14:17:29 | Revert "Names of built-in functions cannot be redeclared as functions" Causing failures in the WebGL1 test: conformance/glsl/misc/shader-with-non-reserved-words.html This reverts commit b5f88853ea80ea112368bb15999b363db0e4c648. Change-Id: I2105c8040057665abda00435e8c0ff8a83af3645 Reviewed-on: https://chromium-review.googlesource.com/289192 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| cce24e9c | 2015-07-29 15:14:29 | dEQP-GLES2: Reland of "Skip flush/finish test on Windows." This test is having flaky timeouts on the bots. Disable it for now. The re-land fixes the test syntax, and ensures we will see any errors in test config as test failures on the bots. BUG=angleproject:1107 TEST=angle_deqp_gles2_tests runs Change-Id: Ia4fa8affb70e4474d8e43ff87ee86328aa47ebeb Reviewed-on: https://chromium-review.googlesource.com/289580 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| b5f88853 | 2015-07-23 17:37:39 | Names of built-in functions cannot be redeclared as functions With ESSL 3.00, names of built-in functions cannot be redeclared as functions and therefore overloading or redefining builtin functions is an error. This is fixed by inserting unmangled built-ins into the symbol table and then checking if the new function declaration matches any of the built-in in symbol table. BUG=angleproject:1066 TEST=angle_unittests(new: ParseESSLFunctionsTest), dEQP Tests dEQP-GLES3.functional.shaders.functions.invalid.overload_builtin_function* (2 tests started passing with this change) Change-Id: I0e027e588664e604f29c130028178315c3e21631 Reviewed-on: https://chromium-review.googlesource.com/287801 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | ||
| 6db9adac | 2015-07-29 19:13:10 | Revert "dEQP-GLES2: Skip flush/finish test on Windows." Incorrect syntax is making the bots skip all tests. BUG=angleproject:1107 This reverts commit e8c8de2da7907579dd25273bbb422143586e79b1. Change-Id: I4469b6b320f8754af576875128e4e3fb210c67b6 Reviewed-on: https://chromium-review.googlesource.com/289501 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | ||
| 1747603e | 2015-07-29 09:54:40 | Remove compiler_tests.gypi and preprocessor_tests.gypi. These files were a relic of a previous structure, we can safely remove them now that chrome uses angle_unittests.gypi. BUG=None TEST=compiles standalone and with chromium Change-Id: If9a09122f664b740099b4270f5acc5627fc5ac35 Reviewed-on: https://chromium-review.googlesource.com/289343 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| ac319fcc | 2015-07-28 16:48:55 | EGLContextCompatibility: remove suppression BUG=angleproject:1109 Change-Id: I551dbf79b98798f06fd5cbe1b005dc2410daaa6b Reviewed-on: https://chromium-review.googlesource.com/289274 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org> | ||
| d71620aa | 2015-07-24 08:06:31 | Add IndexBufferOffsetTest This test that using glDrawElements with an offset and an index buffer works correctly with or without a static copy of the buffer in D3D. BUG=510585 Change-Id: I4574a4058cc803e2ee0306e5bac52b6df6a71530 Reviewed-on: https://chromium-review.googlesource.com/288352 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org> | ||
| e8c8de2d | 2015-07-27 10:09:31 | dEQP-GLES2: Skip flush/finish test on Windows. This test is having flaky timeouts on the bots. Disable it for now. BUG=angleproject:1107 Change-Id: Iaa15672fb96f4aa3463a0613980f8a941aeafe1f Reviewed-on: https://chromium-review.googlesource.com/288405 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> | ||
| 3aa9b2e0 | 2015-07-27 10:46:30 | dEQP-GLES3: Mark dynamic_loop_struct_array_fragment as failing. This test is failing on the bots. BUG=angleproject:1108 Change-Id: Iaef3f0810c5d076b6c49bc356340c9bde014c4f5 Reviewed-on: https://chromium-review.googlesource.com/288518 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> | ||
| 73a5b648 | 2015-07-24 13:33:38 | Only check alpha values of 0 and 1. Relying on the driver to round in one direction or the other is not reliable. Change-Id: Ide96864607ee6a22d2523544d6cfe8fae3116fcd Reviewed-on: https://chromium-review.googlesource.com/288289 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| d483e422 | 2015-07-23 15:56:26 | IncompleteTextureTest: Remove the Linux/NVIDIA suppression BUG=angleproject:892 Change-Id: Iae3d1a83ccc4a6d738a78b58c295e06bfc564767 Reviewed-on: https://chromium-review.googlesource.com/287676 Tested-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| d1b9568f | 2015-07-22 14:36:15 | dEQP: Remove old test expectations file. This is no longer needed by Chromium, after we land the GLES3 expectations patch. BUG=angleproject:1071 BUG=510822 Change-Id: I63c2b020838aae8771314c959e9e7eb994bed93f Reviewed-on: https://chromium-review.googlesource.com/287518 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> | ||
| 7f8dc494 | 2015-07-23 21:29:33 | Revert "ANGLETest::SetUp: resize the window only if needed." Going to try reverting this as a potential fix to failures seen on the bots. Can re-land in the morning if the failures don't clear up. Failures seen on all windows bots now. This reverts commit 15ca829680f81b26dfbcb59e9d53554cb1b29395. Change-Id: Ic2904e00e8d53b2cc8939b36953f47f131c5e6c2 Reviewed-on: https://chromium-review.googlesource.com/287846 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| e2bfe2cd | 2015-07-23 21:25:45 | Revert "Implement gl_FragDepth for GLES SL 3.0" assertion failures in WebGL2 CTS. This reverts commit 544809610a131fe7040f2212789c62e212bbaf24. Change-Id: I2e0c7045c5b6ef9031a6e6c5916504fe68f51077 Reviewed-on: https://chromium-review.googlesource.com/287910 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| 3cca86b5 | 2015-07-23 19:30:46 | Revert "Enable point sprites in StateManagerGL." Failures on AMD and Intel bots. This reverts commit e1bb74e7305cee5ea92ecd2b3b3d2ecad1cdee32. Change-Id: I8ae50bcf9ca365969f5231105fadc28f843aa527 Reviewed-on: https://chromium-review.googlesource.com/287854 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| f9ac8fea | 2015-07-23 13:40:15 | Fix compilation warning in ANGLETest BUG=angleproject:1105 Change-Id: I5f5f0ebea4fa83cc03df932e60e5843ba380597b Reviewed-on: https://chromium-review.googlesource.com/287831 Tested-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> | ||
| e1bb74e7 | 2015-07-20 16:02:32 | Enable point sprites in StateManagerGL. Test it against multiple versions of the OpenGL renderer so make sure that both core and compatibility profile are tested. Fixes: * conformance/rendering/point-size.html * conformance/rendering/point-with-gl-pointcoord-in-fragment-shader.html * PointSpritesTest * particle_system sample BUG=angleproject:883 Change-Id: Ib7625cb12faeac21016a9ff551aa650ba24e789f Reviewed-on: https://chromium-review.googlesource.com/277692 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| 54480961 | 2015-07-22 10:30:35 | Implement gl_FragDepth for GLES SL 3.0 Makes it an error to access gl_FragDepthEXT in #version 300 es shader. TODO: Lacks the feature to make "#extension GL_EXT_frag_depth : require" an error for #version 300 es. BUG=angleproject:1102 TEST=angle_unittest Change-Id: Ic313a0e1ed6369550d53885290f300fab1aaf304 Reviewed-on: https://chromium-review.googlesource.com/287570 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | ||
| 15ca8296 | 2015-07-22 17:54:20 | ANGLETest::SetUp: resize the window only if needed. This avoids a flickering of the window at the start of every test. BUG=angleproject:1105 Change-Id: Ib277ad5cfef97e00d27408f8feaa8ccba9a5e032 Reviewed-on: https://chromium-review.googlesource.com/287640 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org> | ||
| f3357ee2 | 2015-07-22 14:10:19 | EGLWindow: remove the unused width and height EGLWindow does nothing with it per se, but some code was relying on it to store it. Add width and height to ANGLETest and SampleApplication instead. Also fix a typo in PerfTestParams, widowWidth -> windowWidth. BUG=angleproject:1105 Change-Id: I26da607a2e6342864b508a50ee3cf8944608f868 Reviewed-on: https://chromium-review.googlesource.com/287379 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org> | ||
| 0932df61 | 2015-07-21 14:35:11 | Expose GL built-in output variables in ShGetOutputVariables Expose GL built-in output variables in ShGetOutputVariables. Currently gl_FragColor, gl_FragData and gl_FragDepthEXT are exposed. The output variable names in the returned array are the input shader names, not the output shader names. This is needed in future features in which the emulation layer (command buffer/libANGLE) needs to know which output variables caller used. Example of such a feature is EXT_blend_func_extended, where gl_SecondaryFragColorEXT and gl_SecondaryFragDataEXT cause the need to bind the emulated output variables to their respective color indices. BUG=angleproject:1085 TEST=angle_unittests Change-Id: I7ca3e0fe6bdd3e3c66113518aa771cbb013fc014 Reviewed-on: https://chromium-review.googlesource.com/287230 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org> Tested-by: Kimmo Kinnunen <kkinnunen@nvidia.com> | ||
| bc4acb4e | 2015-07-22 13:37:42 | dEQP: Update dEQP-GLES3 test expectations. Tests are all green on my local Nvidia configuration. BUG=510822 BUG=angleproject:1071 Change-Id: I56d30089d574e795cfbd012ce7430896856d32ee Reviewed-on: https://chromium-review.googlesource.com/287517 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> | ||
| 86170f33 | 2015-07-21 13:01:12 | Add a GLES3 GoogleTest target. BUG=510822 BUG=angleproject:1071 Change-Id: Ia2e6d0ac71e61dbed75e55994d2bf874a75fabd6 Reviewed-on: https://chromium-review.googlesource.com/286831 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | ||
| 63046e2b | 2015-07-21 12:43:50 | Add helpers for checking EGL extension availablity in tests. Also make sure that EGL_EGLEXT_PROTOTYPES is always defined so that extension functions can be used without loading them. BUG=angleproject:970 Change-Id: I33fa3e8ed68aeda55ad69e1bc7826646f5e3ce29 Reviewed-on: https://chromium-review.googlesource.com/287161 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| 096725bc | 2015-07-20 16:58:57 | ANGLETest: set viewport after resizing to help apitrace Otherwise apitrace doesn't know the dimension of the framebuffer and cannot display it. BUG=angleproject:892 Change-Id: Ib8ad846ca80e4783ab77c96430bb5220df1a39ab Reviewed-on: https://chromium-review.googlesource.com/286881 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org> | ||
| 01c796ac | 2015-07-21 18:53:58 | Revert "Emulate the pack/unpack functions for unorms." Causing MSAN failures on Linux. This reverts commit 1915652ee82109d7756dc8349562c3c11ea39b77. Change-Id: Ib23bec16eab22288930be0b41186e54cd8d1f921 Reviewed-on: https://chromium-review.googlesource.com/287127 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| 819d9bc2 | 2015-07-21 13:39:28 | dEQP: Duplicate/rename gles2 test expectations. This will clear the way to put the GLES3 tests on the bots. BUG=angleproject:1071 BUG=510822 Change-Id: I65fc917425531f6c080bcc862802d25af10cf265 Reviewed-on: https://chromium-review.googlesource.com/287164 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> | ||
| 8518e7f6 | 2015-07-16 14:54:08 | Make all fragment shader out variables require location layout qualifier Make all fragment shader out variables require location layout qualifier. Previously, the last variable did not need a location layout qualifier if the previous variables had those. TEST=angle_unittests BUG=angleproject:1070 Change-Id: Ifb66ee52b811409f5278eaad330d6cd9b8ea059f Reviewed-on: https://chromium-review.googlesource.com/287100 Tested-by: Kimmo Kinnunen <kkinnunen@nvidia.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | ||
| 6d276c8e | 2015-07-20 19:00:38 | Revert "Make all fragment shader out variables require location layout qualifier" Causes a warning on Windows: compiler\translator\ValidateOutputs.cpp(37): warning C4804: '>' : unsafe use of type 'bool' in operation BUG=angleproject:1070 This reverts commit 140941d066c11238ba4f2f15647fb2d65ae56faf. Change-Id: Ieed42cdda22f17c6e15c38ee1c059184869e6919 Reviewed-on: https://chromium-review.googlesource.com/286820 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | ||
| 140941d0 | 2015-07-16 14:54:08 | Make all fragment shader out variables require location layout qualifier Make all fragment shader out variables require location layout qualifier. Previously, the last variable did not need a location layout qualifier if the previous variables had those. TEST=angle_unittests BUG=angleproject:1070 Change-Id: I3763b8ca38b1e14ee8456a54592c01e0fd89692c Reviewed-on: https://chromium-review.googlesource.com/286101 Tested-by: Kimmo Kinnunen <kkinnunen@nvidia.com> Reviewed-by: Zhenyao Mo <zmo@chromium.org> | ||
| 26a6ea08 | 2015-07-17 14:07:13 | Add mocks of TextureImpl and RenderbufferImpl. BUG=angleproject:970 Change-Id: I63a7d8363f90018827c5d8482c9d98f3fa61c573 Reviewed-on: https://chromium-review.googlesource.com/286553 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| 1915652e | 2015-06-18 09:40:14 | Emulate the pack/unpack functions for unorms. BUG=angleproject:1044 Change-Id: I0e7bee366398159ae6b87a820f36cb51c05cb064 Reviewed-on: https://chromium-review.googlesource.com/280362 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| 4631111a | 2015-07-16 16:31:36 | Update WebGL test expectations. Change-Id: I24ea67f354191697d8a577c8b21ccc1689dd3536 Reviewed-on: https://chromium-review.googlesource.com/286016 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> | ||
| b828b32d | 2015-07-16 17:51:30 | ANGLETest: swap after resizing the window, before running the test. This allows the test code to assume that the framebuffer size is equal to the window size. BUG=angleproject:1050 Change-Id: Ia4928d7a1d6cddb1ae330846bb44576db6a37533 Reviewed-on: https://chromium-review.googlesource.com/286253 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org> | ||
| 2453dbcb | 2015-07-14 11:35:42 | Fix 2D array texture redefinition. Only happens with texture formats that require initialization. BUG=angleproject:1069 TEST=dEQP-GLES3.functional.texture.format.sized.2d_array.* all pass Change-Id: I215d1262cddcde4ed218b6f023e67747cbc3eeaf Reviewed-on: https://chromium-review.googlesource.com/285347 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Brandon Jones <bajones@google.com> | ||
| 02df796f | 2015-07-01 10:03:42 | Centralize renderer limitations for non-conformant renderers Some renderer configurations (e.g. D3D11 Feature Level 9_3) have some limitations and aren't quite conformant. This change generates errors when applications hit these limitations, and informs developers that they must work around them. BUG=angleproject:1055 Change-Id: I6a4a9e5cc71288ca366a54c769ca0eb82e79a7f7 Reviewed-on: https://chromium-review.googlesource.com/282814 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | ||
| 09e2d93b | 2015-07-14 16:40:31 | D3D11: Futher optimize input layout cache. *re-land with fix for matrix attributes* *re-re-land with fix for attributes with BindAttribLocation* Using the new vertex format type enum, we can shrink the size of the input layout tables and reduce draw call overhead further. BUG=angleproject:959 Change-Id: I181acd3d7d519f5587cbe180fb1bca8530b7cfc2 Reviewed-on: https://chromium-review.googlesource.com/285348 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | ||
| c1ac41bb | 2015-07-10 13:53:46 | Apply array restriction on qualified types only on ESSL1.00 Add a test that checks that uniforms with an array type are allowed in ESSL3.00. TEST=angle_unittests BUG=angleproject:1061 Change-Id: I6c9e8eeb3e8a6b81522c87039b93bcc0008ae317 Reviewed-on: https://chromium-review.googlesource.com/285481 Tested-by: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org> | ||
| abb0c381 | 2015-07-13 12:01:12 | Check that layout qualifiers may only appear in declarations In the shading language grammar, layout qualifiers may appear in loop conditions and function declarations, but this is not valid ESSL 3.00 according to section 4.3.8. TEST=angle_unittests, dEQP-GLES3.functional.shaders.*layout* BUG=angleproject:1064 Change-Id: I73f805247bf6678b953f2e1d45a23391e9eacb96 Reviewed-on: https://chromium-review.googlesource.com/285040 Tested-by: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org> | ||
| 8e17a496 | 2015-07-13 22:24:42 | Revert "Fix memory layout of imageformats.h's 16-bit structs" Seeing failures in the new tests on Chrome's Intel bot: http://build.chromium.org/p/chromium.gpu.fyi/waterfall?builder=Win7%20Release%20(Intel) Also seeing failures in the BlendMinMaxTest.RGBA16F test, may be related. Reverting for now, can help diagnose the problems tomorrow if needed. This reverts commit 61d46d8740f1f93878ef324e11e4d72c57de8c3a. Change-Id: Id227f6ce8dafca24fbd2de92a2c4974e6a564c1f Reviewed-on: https://chromium-review.googlesource.com/285227 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| 91f828e3 | 2015-07-13 11:08:19 | LineLoopTest: Fix the test not rendering anything. BUG=angleproject:1063 Change-Id: Id0772b5c8479150a1e736aa7cd35ec6444753278 Reviewed-on: https://chromium-review.googlesource.com/285126 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org> | ||
| 61d46d87 | 2015-07-09 13:47:09 | Fix memory layout of imageformats.h's 16-bit structs Change-Id: I87c363f68394d868d2a72e84bfdfd64db0c6e1d0 Reviewed-on: https://chromium-review.googlesource.com/284652 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Austin Kinross <aukinros@microsoft.com> | ||
| 7ef89571 | 2015-07-10 11:08:03 | EGLContextCompatibility: suppress test on Linux non-standalone The tests turn out to fail before we have a context current on AMD so we cannot use isAMD and have to resort to disabling for all Linuxes on the FYI bots. Using MAYBE like Chrome doesn't seem to work with TEST_P. BUG=angleproject:892 Change-Id: Ibabd2c359ce55c7677af0f8bd5723f845935f2be Reviewed-on: https://chromium-review.googlesource.com/284872 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/284749 | ||
| c3b57529 | 2015-07-10 20:22:42 | Revert "EGLContextCompatibility: suppress test on Linux non-standalone" Causing gyp generation failures on FYI bots: https://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Win%20Builder/builds/30490 This reverts commit af98f24aece19c3231d9e7300bbab5c323109b23. Change-Id: I0b3ea26ee02591588bda14676211658b42135cf2 Reviewed-on: https://chromium-review.googlesource.com/284910 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| af98f24a | 2015-07-10 11:08:03 | EGLContextCompatibility: suppress test on Linux non-standalone The tests turn out to fail before we have a context current on AMD so we cannot use isAMD and have to resort to disabling for all Linuxes on the FYI bots. Using MAYBE like Chrome doesn't seem to work with TEST_P. BUG=angleproject:892 Change-Id: Ie964168eb0b1d830dd1fd0988869adf39bc2309a Reviewed-on: https://chromium-review.googlesource.com/284872 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org> | ||
| 07e57df7 | 2015-06-16 16:55:52 | Added non square matrix construction Added new construction operations for non square matrices, along with the required changes to the related translation functions. Change-Id: I04ae7d4b2d1bb363b35d088cea45c0e7c4bc8a13 Reviewed-on: https://chromium-review.googlesource.com/277729 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | ||
| 8e34494f | 2015-07-09 14:22:07 | Share data between VertexArray and Impl. Using the same design as for the Framebuffer::Data helper, we can use a struct to share between the object and the Impl. This also gives the Impl access to the maxEnabledAttrib, and saves some duplicated storage. BUG=angleproject:1040 TEST=WebGL CTS, end2end_tests, unittests Change-Id: I55c91e8a5f3dcae302cab441182320aafd5375ef Reviewed-on: https://chromium-review.googlesource.com/283930 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> |