Log

Author Commit Date CI Message
Olli Etuaho 7adfb184 2015-06-09T15:49:41 Refactor common compiler test functionality into helper functions Refactor translating a ESSL shader string into a target language so that compiler initialization and cleanup code can be reused between test classes. BUG=angleproject:817 TEST=angle_unittests Change-Id: Idb229dceb9e17b13ed6ad2a68ab55ed5c968780e Reviewed-on: https://chromium-review.googlesource.com/275814 Tested-by: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Austin Kinross 2a197a1b 2015-06-09T18:53:44 Make MaxTextureSizeTest::RenderToTexture check for glBlitFramebuffer support Change-Id: I25236240eec135b265a25eefdbbd28f069633eee Reviewed-on: https://chromium-review.googlesource.com/276308 Tested-by: Austin Kinross <aukinros@microsoft.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Olli Etuaho 7b6e7173 2015-06-10T15:08:09 Revert "Fix standalone compilation on Linux" This broke Chromium build on Linux. This reverts commit c6a61c27e6c4f25d555fbcbd37f6d8dbdf958a39. Change-Id: I4df380eaed3ecc19b85aa99a397968ceb5ce3af8 Reviewed-on: https://chromium-review.googlesource.com/276293 Reviewed-by: Olli Etuaho <oetuaho@nvidia.com> Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Corentin Wallez c6a61c27 2015-06-08T22:41:57 Fix standalone compilation on Linux BUG=angleproject:892 Change-Id: Iceae30f5bc12546b2486e8aac0346eab1f09ded3 Reviewed-on: https://chromium-review.googlesource.com/276200 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Austin Kinross 08332634 2015-05-05T13:35:47 Implement EXT_discard_framebuffer in D3D11 renderer Change-Id: I52bcf0cfb1aa123e085a35730fdefb006b617c3c Reviewed-on: https://chromium-review.googlesource.com/269232 Tested-by: Austin Kinross <aukinros@microsoft.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 450a80a2 2015-06-09T12:57:47 d3d11: Add a histogram to capture DLL loading time. This should complete the breakdown of the time we spent in eglInitialize. BUG=angleproject:1014 BUG=436191 Change-Id: I3b44f10c56322924f9391a56973df5f439fa83bb Reviewed-on: https://chromium-review.googlesource.com/276268 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 39fcf263 2015-06-08T14:39:07 Use both null and real renders for draw call perf. Introduce a "null" GL renderer for this specific benchmark, which does not do any work on drawArrays and drawElements. We could use the same kind of trick for buffer and texture updates, if we need it. This gives us a good baseline for comparing GL and D3D perf. BUG=angleproject:1040 Change-Id: I4bf7c75df01932de45ddd0a4e42e8fc82f15e37e Reviewed-on: https://chromium-review.googlesource.com/276192 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill df785dfa 2015-06-09T09:55:30 dEQP: Add GoogleTest integration. Use value-parameterized tests, loading a full test list from case files. BUG=angleproject:998 Change-Id: Iff65a2d722e9d105e22649b17a18cc74dccea2b1 Reviewed-on: https://chromium-review.googlesource.com/274421 Reviewed-by: Kenneth Russell <kbr@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 4f3c14be 2015-06-09T09:55:29 dEQP: Add tcu::RandomOrderExecutor. A prototype based on work from phaulos@. This should eventually be integrated into the dEQP repo. BUG=angleproject:998 Change-Id: I9be137fb54423bc180623f172dde63a22311b791 Reviewed-on: https://chromium-review.googlesource.com/274420 Reviewed-by: Kenneth Russell <kbr@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 435e4910 2015-06-04T14:44:52 Don't create child windows in the WGL implementation. BUG=angleproject:890 Change-Id: I66fb7b97ea3f09d40ba25a769c8bc7fe04527805 Reviewed-on: https://chromium-review.googlesource.com/275307 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Olli Etuaho b43846ee 2015-06-02T18:18:57 Unify aggregate operator folding with other constant folding Setting the type for folded aggregate nodes should work in a similar way as other constant folding. Common functionality between the different folding functions is refactored into a single function. TEST=dEQP-GLES3.functional.shaders.constant_expressions.* BUG=angleproject:817 Change-Id: Ie0be561f4a30e52e52d570ff0b2bdb426f6e4f7a Reviewed-on: https://chromium-review.googlesource.com/275186 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Tested-by: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 35b08e3c 2015-06-03T11:22:07 Skip MipmapTest.RenderOntoLevelZeroAfterGenerateMipmap on Intel too. Seeing failures on some Intel HD4000 cards as well as AMD. BUG=angleproject:1038 Change-Id: I45dfcdf62af69cd3295918d963def85f2eb50ebe Reviewed-on: https://chromium-review.googlesource.com/274943 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill d0834a00 2015-06-08T10:59:27 dEQP: Add case file generator script. Use the dEQP null platform for speed and to avoid popping up a new window. Store the case lists as .gz files to save space in the repo. BUG=angleproject:998 Change-Id: Ib9b10b8a83edc510cc98f120847b1cf93a3d2f78 Reviewed-on: https://chromium-review.googlesource.com/273975 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 6e0302a8 2015-06-08T11:12:58 Update WebGL CTS expectations. BUG=none Change-Id: I9c297853be54d8aec6e133535c5596283dbd246c Reviewed-on: https://chromium-review.googlesource.com/275861 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Olli Etuaho 95310b00 2015-06-02T17:43:38 Unify unary operator folding with binary operator folding Implement unary operator folding in a similar way to binary operator folding, so that the code is easier to understand. TEST=dEQP-GLES3.functional.shaders.constant_expressions.* BUG=angleproject:817 Change-Id: I069bdb38f965e1badb3e8f3f954386b205b7bb00 Reviewed-on: https://chromium-review.googlesource.com/275185 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Olli Etuaho 2c4b746c 2015-06-08T11:30:31 Revert "Revert "Make sure type gets set consistently in folded binary operations"" This patch was originally reverted only because a dependency patch failed a buggy Chromium test. This reverts commit aebd002d00d39858819c58bad1970df121b78e1b. TEST=dEQP-GLES3.functional.shaders.constant_expressions.* BUG=angleproject:817 Change-Id: Ia5acf15518ea89717c0cfe1398cb18ea27be5b19 Reviewed-on: https://chromium-review.googlesource.com/275811 Tested-by: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang bd4cfdcd 2015-06-08T09:37:53 Skip LUMA format tests on OpenGL. These formats are depricated in the core profile and not supported yet. BUG=angleproject:884 Change-Id: Ic5cf75196ed73cc6bd660fc437f96fdcea5de1b4 Reviewed-on: https://chromium-review.googlesource.com/275771 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Olli Etuaho 3d0d9a48 2015-06-01T12:16:36 Clean up TIntermTraverser usage Remove default parameters from TIntermTraverser. Also clean up a few dead function declarations in traversers. TEST=angle_unittests, angle_end2end_tests BUG=angleproject:1037 Change-Id: I8d126c6c2d5b53e8b14e23e3d102f204a59323b3 Reviewed-on: https://chromium-review.googlesource.com/275184 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org> Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Arun Patole 1155ddd2 2015-06-05T18:04:36 Revert "Revert "Add constant folding support for geometric built-ins"" Revert of revert as the issue is with the failing test itself. This reverts commit b3da45c12d3eecdd319c0feb4d2b933e144f816a. Change-Id: Ie2003c78527f87cad7f8ead0d87fee75ce032379 Reviewed-on: https://chromium-review.googlesource.com/275487 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Olli Etuaho 64f0be91 2015-06-03T17:38:34 Remove unused right-to-left AST traversal support No code actually uses the right-to-left traversal. All it does is add unnecessary complexity. TEST=angle_unittests, angle_end2end_tests BUG=angleproject:1037 Change-Id: Id15498343538c02c252ef0852f9a00c85ac3c4bb Reviewed-on: https://chromium-review.googlesource.com/275183 Tested-by: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Olli Etuaho cc54e5d9 2015-06-05T16:00:02 Add a simple unit test for built-in emulation on Mac This will replace a similar buggy test that will be removed from Chromium. BUG=angleproject:913 TEST=angle_unittests Change-Id: If782004e764316ca003effbea883640ecdb30dda Reviewed-on: https://chromium-review.googlesource.com/275397 Tested-by: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang dd2eb504 2015-06-03T15:40:16 Always use the highest GL version available unless requested. BUG=angleproject:890 Change-Id: I76a1b1c455cb4be02b4b5c52153f5c87f33d426d Reviewed-on: https://chromium-review.googlesource.com/275008 Reviewed-by: Kenneth Russell <kbr@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang e44e829d 2015-06-04T14:03:35 Document OpenGL ES and EGL features, formats and extensions. Change-Id: I38fb5acc5e0824035ccba55c28d12c8980c5905e Reviewed-on: https://chromium-review.googlesource.com/275311 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Nico Weber 47b53c00 2015-06-04T12:58:22 Mark no_angle_common as no_chromium_code. All other targets that remove chromium_code add no_chromium_code; looks like not doing this here was an oversight. BUG=491209 Change-Id: Id5c81d019603b428561a23aaa4dbe4427e43e751 Reviewed-on: https://chromium-review.googlesource.com/275316 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Nico Weber <thakis@chromium.org> Tested-by: Nico Weber <thakis@chromium.org>
Jamie Madill b3da45c1 2015-06-04T19:38:22 Revert "Add constant folding support for geometric built-ins" This is failing gpu_unittests on Mac: ShaderTranslatorTest.BuiltInFunctionEmulation: ../../gpu/command_buffer/service/shader_translator_unittest.cc:314: Failure Value of: strstr(translated_source.c_str(), "webgl_dot_emu") != NULL Actual: false Expected: true Reverting until we can fix the overly-narrow test. BUG=angleproject:913 This reverts commit b50788d11dec046415565af1cc7da334e2979577. Change-Id: I5bd9df83704e771e419339745eceaa43a20bd1e6 Reviewed-on: https://chromium-review.googlesource.com/275320 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill aebd002d 2015-06-04T19:43:44 Revert "Make sure type gets set consistently in folded binary operations" This is blocking the revert of the geometric constant folding patch, which is breaking gpu_unittests and blocking the roll. BUG=angleproject:817 This reverts commit b07aba0798d3bba3118dac78933e73b3f08a601b. Change-Id: Ia00fc45b1ddd9d3c079742dea0627aa12304f93b Reviewed-on: https://chromium-review.googlesource.com/275321 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang c84e20ee 2015-06-04T18:38:10 Revert "Add a flush before looping to get the sync status." Apparently even a flush isn't enough on some Intel drivers. This reverts commit 73410e42c88dc28ada1a2b337b5c94b063b7a4e6. Change-Id: Iafdd1cbb4e89d30ebe3be6404f0bf4e586d91b8d Reviewed-on: https://chromium-review.googlesource.com/275305 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Olli Etuaho b07aba07 2015-05-29T12:19:19 Make sure type gets set consistently in folded binary operations Add a wrapper function that handles creating the folded node and setting the right parameters on it, so that the folding function handles only calculating the folded values. This will fix the precision set to constant folded values in some cases. Previously the precision was always set to be equal to one of the operands to the binary operation, but now both operands are taken into account. Folding binary operations is now in a separate function from folding unary operations. TEST=dEQP-GLES3.functional.shaders.constant_expressions.* BUG=angleproject:817 Change-Id: Id97e765173c6110f49607e21c3fb90019b1ebac7 Reviewed-on: https://chromium-review.googlesource.com/274001 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Arun Patole b50788d1 2015-05-25T19:20:26 Add constant folding support for geometric built-ins * re-land after mac compilation fix (unsupported c++11 initializer) * This change adds constant folding support for following geometric built-ins: - length, distance, dot, cross, normalize, faceforward, reflect and refract. BUG=angleproject:913 TEST=angle_unittests, dEQP Tests dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric.* (56 tests started passing with this change) Change-Id: I236fc0c1af47a63f359564500c711e6bedf1c808 Reviewed-on: https://chromium-review.googlesource.com/274789 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Olli Etuaho 8f76bcc4 2015-06-02T13:54:20 Add unit test for RemovePow Add two versions of the test - one with a single pow(), and another with a nested pow(). TEST=angle_unittests BUG=477306 Change-Id: Idb38e57a4b2522b7794996d6ea0f0456b349abf7 Reviewed-on: https://chromium-review.googlesource.com/274736 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Geoff Lang 73410e42 2015-06-03T10:55:53 Add a flush before looping to get the sync status. Intel GPUs enter an infinite loop unless told to flush. BUG=angleproject:1038 Change-Id: I7c3d9dd08bf1ee09cb163dd859f817379a72cd65 Reviewed-on: https://chromium-review.googlesource.com/274942 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 27359ff7 2015-06-02T15:42:04 Read the proper uniform location instead of assuming location 0. Fixes MipMapTest on Intel/OpenGL. BUG=angleproject:1038 Change-Id: I19a0704969ef03d5d2ee3c9092daf4bd3a9818f7 Reviewed-on: https://chromium-review.googlesource.com/274818 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 2469dad9 2015-06-02T15:40:52 Load the framebuffer and vertex array object extensions. BUG=angleproject:879 BUG=angleproject:1038 Change-Id: Idd2ad36707c17d13c45bc4fc131ec1ebfc45e0a5 Reviewed-on: https://chromium-review.googlesource.com/274817 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Olli Etuaho 5bdb8472 2015-06-03T16:21:33 Remove unused QualifierAlive traverser This class is not used anywhere in the code. TEST=angle_unittests Change-Id: Ib59573203636a669b136e3823d0abea8120f448e Reviewed-on: https://chromium-review.googlesource.com/274896 Tested-by: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Geoff Lang c4a4275f 2015-06-02T12:57:58 Use the git mirror of googlemock. Revision unchanged. Change-Id: I95bc28ff8d47de1ddc90647a54e138dcd80161ee Reviewed-on: https://chromium-review.googlesource.com/274803 Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 19fafa4b 2015-06-02T12:41:44 Fix incorrect value being synced for the alpha blend equation. Fixes angle_end2end_test BlendMinMaxTest with the blend_minmax extension enabled. BUG=angleproject:883 Change-Id: Iae2441d11a3c4c497a1ddc4d250120fd85175d52 Reviewed-on: https://chromium-review.googlesource.com/274802 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 2f4823bf 2015-06-03T12:39:22 Revert "Add constant folding support for geometric built-ins" Breaks Mac build because of C++11 init syntax: FAILED: /b/build/goma/gomacc ../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/third_party/angle/src/tests/compiler_tests/angle_unittests.ConstantFolding_test.o.d -DV8_DEPRECATION_WARNINGS -D__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORE=0 -DCHROMIUM_BUILD -DCR_CLANG_REVISION=238013-3 -DCOMPONENT_BUILD -DTOOLKIT_VIEWS=1 -DUSE_LIBJPEG_TURBO=1 -DENABLE_ONE_CLICK_SIGNIN -DENABLE_PRE_SYNC_BACKUP -DENABLE_REMOTING=1 -DENABLE_WEBRTC=1 -DENABLE_MEDIA_ROUTER=1 -DUSE_PROPRIETARY_CODECS -DENABLE_PEPPER_CDMS -DENABLE_CONFIGURATION_POLICY -DENABLE_NOTIFICATIONS -DENABLE_HIDPI=1 -DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE -DDONT_EMBED_BUILD_METADATA -DDCHECK_ALWAYS_ON=1 -DENABLE_TASK_MANAGER=1 -DENABLE_EXTENSIONS=1 -DENABLE_PLUGIN_INSTALLATION=1 -DENABLE_PLUGINS=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1 -DENABLE_AUTOFILL_DIALOG=1 -DENABLE_BACKGROUND=1 -DENABLE_GOOGLE_NOW=1 -DCLD_VERSION=2 -DENABLE_PRINTING=1 -DENABLE_BASIC_PRINTING=1 -DENABLE_PRINT_PREVIEW=1 -DENABLE_SPELLCHECK=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_APP_LIST=1 -DENABLE_SETTINGS_APP=1 -DENABLE_SUPERVISED_USERS=1 -DENABLE_SERVICE_DISCOVERY=1 -DENABLE_WIFI_BOOTSTRAPPING=1 -DV8_USE_EXTERNAL_STARTUP_DATA -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DSAFE_BROWSING_SERVICE -DGTEST_HAS_POSIX_RE=0 -DGTEST_LANG_CXX11=0 -DGL_APICALL= -DGL_GLEXT_PROTOTYPES= -DEGLAPI= '-DANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_47.dll", "d3dcompiler_46.dll", "d3dcompiler_43.dll" }' -DANGLE_TRANSLATOR_STATIC -DUSE_LIBPCI=1 -DUSE_OPENSSL=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -Igen -I../.. -I../../third_party/angle/include -I../../third_party/angle/src -I../../third_party/angle/src/compiler/preprocessor -I../../third_party/angle/src/tests -Igen/angle -I../../testing/gmock/include -I../../testing/gtest/include -isysroot /Applications/Xcode5.1.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk -O0 -gdwarf-2 -fvisibility=hidden -Werror -Wnewline-eof -mmacosx-version-min=10.6 -arch x86_64 -Wall -Wendif-labels -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wno-selector-type-mismatch -Wpartial-availability -Wheader-hygiene -Wno-char-subscripts -Wno-unneeded-internal-declaration -Wno-covered-switch-default -Wstring-conversion -Wno-c++11-narrowing -Wno-deprecated-register -Wno-inconsistent-missing-override -std=c++11 -fno-rtti -fno-exceptions -fvisibility-inlines-hidden -fno-threadsafe-statics -Xclang -load -Xclang /b/build/slave/GPU_Mac_Builder__dbg_/build/src/third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.dylib -Xclang -add-plugin -Xclang find-bad-constructs -Xclang -plugin-arg-find-bad-constructs -Xclang check-templates -fcolor-diagnostics -fno-strict-aliasing -fstack-protector-all -Wno-undefined-bool-conversion -Wno-tautological-undefined-compare -c ../../third_party/angle/src/tests/compiler_tests/ConstantFolding_test.cpp -o obj/third_party/angle/src/tests/compiler_tests/angle_unittests.ConstantFolding_test.o ../../third_party/angle/src/tests/compiler_tests/ConstantFolding_test.cpp:210:43: error: no matching constructor for initialization of 'std::vector<float>' ASSERT_FALSE(constantVectorFoundInAST(std::vector<float>{1.0f, 1.0f, 1.0f})); ^ ~~~~~~~~~~~~~~~~~~ BUG=angleproject:913 This reverts commit 2decb4b1557a57a5a74e3ab98d8b25f9fc0f8557. Change-Id: Iaf3c61a0c0ed591c17f50f2e3eafe2debf588c95 Reviewed-on: https://chromium-review.googlesource.com/274917 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Arun Patole 2decb4b1 2015-05-25T19:20:26 Add constant folding support for geometric built-ins This change adds constant folding support for following geometric built-ins: - length, distance, dot, cross, normalize, faceforward, reflect and refract. BUG=angleproject:913 TEST=angle_unittests, dEQP Tests dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric.* (56 tests started passing with this change) Change-Id: I973689554bb8c30ee3ebdf71f1b8a051ceb5e0cf Reviewed-on: https://chromium-review.googlesource.com/273097 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Jamie Madill c7be82ae 2015-06-01T14:14:04 Change behaviour of string_utils, also fix file io. File IO tested manually in a follow-up patch. BUG=angleproject:998 Change-Id: I0bfa778d1787cdedfbf3cd68cd134477e6dcd23c Reviewed-on: https://chromium-review.googlesource.com/274030 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 10eb591a 2015-05-28T13:26:03 D3D11: Optimize sample caps checks. We don't need to check NPOT sample counts. This should save us some time on eglInitialize. BUG=angleproject:1014 Change-Id: Id3b0a440689746d5de9a7fbc3641ff9452b18601 Reviewed-on: https://chromium-review.googlesource.com/274430 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Olli Etuaho 5c407bb7 2015-06-01T12:20:39 Work around pow() issue in NVIDIA 331.x drivers pow(x, y) when y is a certain kind of a constant vector can cause issues on NVIDIA 331 series drivers. Add an option to replace pow(x, y) with exp2(y * log2(x)) when y is a constant to work around this issue. This is done with an AST traverser instead of BuiltInFunctionEmulator, since there's no mechanism in BuiltInFunctionEmulator to apply the replacements only to calls where the second parameter is constant. TEST=WebGL conformance tests BUG=chromium:477306 Change-Id: Ifb327d72659fca36868439f24705203014b3ce53 Reviewed-on: https://chromium-review.googlesource.com/274279 Tested-by: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Geoff Lang 6bef4ff7 2015-06-01T21:08:31 Revert "In D3D11, check for 16-bit texture support and use if possible" Seeing failures on Win7 + Intel machines. Example build: https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20%28Intel%29/builds/11756 This reverts commit 673115d9cc4251cd690e14a98ef0c717ba9de0b9. Change-Id: Ie2b6cc1ae9c4e83dde3a531e38252c95ac2e2a0a Reviewed-on: https://chromium-review.googlesource.com/274450 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang ae6584e6 2015-06-01T15:49:26 Sync the scissor tests state before clearing. Fixes: * conformance/rendering/gl-scissor-fbo-test.html * conformance/rendering/gl-scissor-canvas-dimensions.html BUG=angleproject:883 Change-Id: Icd337894f1dbc7464a4566bfab9a30b70fd4bbfa Reviewed-on: https://chromium-review.googlesource.com/274445 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Austin Kinross fbd7820c 2015-05-28T15:33:55 Fix flaky WebGL point-sprites test when using instanced point sprites Change-Id: I7d417016d9fa3a2e49806543d981ab98a3e71cbc Reviewed-on: https://chromium-review.googlesource.com/273914 Tested-by: Austin Kinross <aukinros@microsoft.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Austin Kinross 673115d9 2015-05-28T09:27:57 In D3D11, check for 16-bit texture support and use if possible BUG=angleproject:1002 Changed since last failed 16-bit patch: - Disabled usage of 16-bit DXGI textures on all Intel cards - Added DXGI->GL conversion entries for 16-bit formats, which fixes FBO readback issues. The ES CTS and dEQP tests which failed with the last patch now pass. Change-Id: Ib66abf73f23dbb4329f0a32d7f3dafbbc23e6c08 Reviewed-on: https://chromium-review.googlesource.com/273712 Tested-by: Austin Kinross <aukinros@microsoft.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Austin Kinross af727701 2015-05-29T12:14:43 Add Windows SDK path to WinPhone projects Change-Id: Iaa0bbeba55a277724e4f1851fb0f9db7150308c2 Reviewed-on: https://chromium-review.googlesource.com/274012 Tested-by: Austin Kinross <aukinros@microsoft.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang fd216c41 2015-05-27T16:12:30 Support BGRA texture by remapping the internal format to RGBA. The format is still passed as BGRA to the driver so that the data can be properly unpacked. BUG=angleproject:884 Change-Id: I767626c818ce1a3c5a4739f07aa623bf8a9ae377 Reviewed-on: https://chromium-review.googlesource.com/273162 Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 6683032d 2015-05-27T16:11:32 Add remaining unsized formats to the GL format tables. BUG=angleproject:884 Change-Id: I53e7ff9e35b820573691df0d23b41ef45e2a07d0 Reviewed-on: https://chromium-review.googlesource.com/273590 Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Shawn Hargreaves 7eabe51e 2015-05-14T17:00:41 Add ANGLE_REVISION sub-identifier to the DLL versioning scheme Change-Id: Ie9df84957801def2db72a382f4860bbe4e06002f Reviewed-on: https://chromium-review.googlesource.com/274051 Tested-by: Shawn Hargreaves <shawnhar@microsoft.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill ce232678 2015-05-28T13:26:02 Add a perf test for eglInitialize. Also shutdown performance, since it's not easy to only test one. BUG=angleproject:1014 Change-Id: I9d06426788ed336031271f8876589b111f1294b7 Reviewed-on: https://chromium-review.googlesource.com/273974 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org>
Shawn Hargreaves 7ace53ad 2015-05-29T08:54:41 Add Shawn Hargreaves (Microsoft Corporation) to CONTRIBUTORS Change-Id: I23110ecaba34990051ff81c40cb93198e2ad1e9c Reviewed-on: https://chromium-review.googlesource.com/274050 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Shawn Hargreaves <shawnhar@microsoft.com>
Geoff Lang 4031b994 2015-05-29T10:57:55 Don't enable opengl on linux unless x11 is also available. BUG=493682 Change-Id: I10d5b710fcc9b51160c3aff169d1af839212003c Reviewed-on: https://chromium-review.googlesource.com/273976 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 57df19ce 2015-05-28T13:32:21 Add timing stats for Renderer11::initializeDevice. This gives us insight to what we can optimize away. BUG=angleproject:1014 Change-Id: I86208c5cbebe14905a05d0859b9e37368f4c25d4 Reviewed-on: https://chromium-review.googlesource.com/273862 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang c3ab9f7f 2015-05-27T14:45:59 Disable UNIMPLEMENTED in ProgramGL::applyUniforms. Disables lots of assertion failures in WebGL CTS. BUG=angleproject:882 Change-Id: I407397a256955d608dbf1234e4e391704653bb5a Reviewed-on: https://chromium-review.googlesource.com/273547 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 6db25f15 2015-05-27T15:15:41 Always init gl_Position in vertex shaders in ShaderGL. Fixes: * conformance/glsl/misc/empty_main.vert.html * conformance/glsl/misc/gl_position_unset.vert.html BUG=angleproject:882 Change-Id: I92a465b58f319b14e4f697d9bb5b45427a6247c0 Reviewed-on: https://chromium-review.googlesource.com/273548 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang bf6f48ff 2015-05-27T13:54:39 Bind renderbuffers as soon as they are generated. Like textures, renderbuffers don't become real objects until they are bound. If the renderbuffer is never bound before being attached to a framebuffer, it would generate an INVALID_OPERATION. Fixes: * conformance/textures/tex-input-validation.html * conformance/renderbuffers/renderbuffer-initialization.html BUG=angleproject:886 Change-Id: I639b9e2d9ae694dce29f20ed5f95077ae02d471e Reviewed-on: https://chromium-review.googlesource.com/273533 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Olli Etuaho 4785fec9 2015-05-18T16:09:37 Clean up most common extra semicolons and braces in HLSL output Clean up extra semicolons and braces from loops and conditional statements and extra braces from function definitions. This makes the HLSL output considerably easier to read. TEST=angle_unittests, angle_end2end_tests, dEQP-GLES3.functional.shaders.*, WebGL conformance tests BUG=angleproject:1013 Change-Id: I8180bab7b3d4bda1cdb8e4fb51cf9d8e384dd797 Reviewed-on: https://chromium-review.googlesource.com/273607 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Olli Etuaho 4d59f3c6 2015-05-28T17:33:53 Make false blocks produced by RewriteElseBlocks sequence nodes All child nodes of selection should be sequence nodes, so that they will output braces and extra braces can be removed from HLSL output. Also make RewriteElseBlocks to reuse common IntermTraverser functionality to simplify the code. TEST=WebGL conformance tests on D3D9 BUG=angleproject:1013 Change-Id: Iafdc05468b22d110abcd020cf52c646dd98fb4a0 Reviewed-on: https://chromium-review.googlesource.com/273608 Tested-by: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org>
bungeman 46ccef19 2015-05-27T17:14:43 Remove ref to intermediate.h. With https://chromium-review.googlesource.com/213300 b9b5c105799bac1a4738c7589538fab523e3a43d the file intermediate.h was renamed Intermediate.h. However, compiler.gypi now contains references to both, but the lower case version doesn't exist anymore, so it should be removed. Change-Id: I6b36bd561f110694daecd4ad911036c94300cd1f Reviewed-on: https://chromium-review.googlesource.com/273593 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 08dcfed6 2015-05-25T13:38:42 Encapsulate GL version and standard into a struct and enum. Change-Id: I9f51971c1bfd51424605b2687b5fd107d58c9a67 Reviewed-on: https://chromium-review.googlesource.com/273139 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/273572 Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 51d4f044 2015-05-27T21:10:42 Revert "Encapsulate GL version and standard into a struct and enum." Linux didn't like compiling this. This reverts commit 03f589122ed796060f1345f9ccfc64455c547fef. Change-Id: Ifd0824caeb02791b4acc5e4bca330ecdc8164b11 Reviewed-on: https://chromium-review.googlesource.com/273583 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 03f58912 2015-05-25T13:38:42 Encapsulate GL version and standard into a struct and enum. Change-Id: Ib3c37627298976040d5a333f4c845a7b2620dd30 Reviewed-on: https://chromium-review.googlesource.com/273139 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Corentin Wallez 51e2ad14 2015-05-26T11:32:58 Do not always use X11 for Linux builds, inherit Chromium's settings This fixes project generation for Chromium for non-X11 builds BUG=angleproject:1011 Change-Id: If528f63fb186d834d56a43ca379497d99e74777e Reviewed-on: https://chromium-review.googlesource.com/273163 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Corentin Wallez 44aedf37 2015-05-25T14:41:51 Enable PbufferTest on Linux by not advertising bindable configs GLX Pbuffers are not bindable so implementing bindable pbuffers would have to be one of the following: - Implement Pbuffer as GLXPixmaps, with complication arising in the initialization. - Implement Pbuffers as GL textures, which would require a large change of the EGL implementation. - Fake bindable Pbuffers with glCopyTexImage2D, with obvious performance problems. BUG=angleproject:892 Change-Id: I7d9cd5a4aa2d35343244be3cbe55fc1e492f6928 Reviewed-on: https://chromium-review.googlesource.com/273056 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 5c798fe9 2015-05-25T10:03:35 Enable OcclusionQueriesTest on Linux This includes an implementation of a cross platform Sleep function BUG=angleproject:892 Change-Id: I1087a00ab204b37bafc5e95a9766962b194d97ef Reviewed-on: https://chromium-review.googlesource.com/273133 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Arun Patole 9d0b1f9b 2015-05-20T14:27:17 Constant fold vector relational built-ins This change adds constant folding support for vector relational built-ins. BUG=angleproject:913 TEST=dEQP Tests dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational* (Fixes all 138 tests) Change-Id: I291e332f2afb3ce3d6596e634f509995dbf35164 Reviewed-on: https://chromium-review.googlesource.com/272344 Reviewed-by: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 8e7549bd 2015-05-27T14:05:10 Revert "In D3D11, check for 16-bit texture support and use if possible" Causing failures on Windows 8 bots running ES CTS and Windows 7 Intel bot running angle tests. Example failures: https://build.chromium.org/p/chromium.gpu.fyi/builders/Win8%20Release%20%28NVIDIA%29/builds/14442 https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20%28Intel%29/builds/11627 This reverts commit d63f08fcc32ea17bac2b025f0ad3261664ff79c9. Change-Id: I841aee5fb0973432f249277126424b909d5b3e17 Reviewed-on: https://chromium-review.googlesource.com/273416 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 294cad9d 2015-05-26T15:11:23 When applying vertex array objects, update the currently applied index buffer. When binding a vertex array object, it was not changing the tracked index buffer binding. This was causing the buffer bindings to sometimes not be updated between index and non-indexed draw calls. Fixes: * Intermittent crashes in chromium startup. * conformance/rendering/many-draw-calls.html * conformance/rendering/framebuffer-switch.html * conformance/attribs/gl-bindAttribLocation-aliasing.html * conformance/attribs/gl-vertex-attrib-render.html * conformance/buffers/index-validation-verifies-too-many-indices.html BUG=angleproject:883 Change-Id: I34ed1ebc65b339329c0f9ab9c28a392f552ed3d8 Reviewed-on: https://chromium-review.googlesource.com/273300 Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 90d98afa 2015-05-26T16:41:38 Bind a texture after creation so that it has a type. If a texture is bound to a framebuffer before any data is set on it, the texture does not have a type because it has never been bound. This generates an INVALID_OPERATION because the attachment type cannot be validated. Fixes: * Many generated GL_INVALID_OPERATIONs in chromium BUG=angleproject:884 Change-Id: I4f36f80fecc5a772b6522f8f82e0be9d3758e524 Reviewed-on: https://chromium-review.googlesource.com/273324 Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Geoff Lang 851cd580 2015-05-26T16:47:23 Check for null attribute buffers before binding. Fixes: * Crash in conformance/extensions/oes-vertex-array-object.html BUG=angleproject:880 Change-Id: I90eba9b26b2834644ce3ba0e78cab3417c2a7bd1 Reviewed-on: https://chromium-review.googlesource.com/273325 Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Olli Etuaho 4f1af784 2015-05-25T11:55:07 Handle function calls where returned array is not used This is done by declaring a temporary variable which is passed as the array out parameter defined by ArrayReturnValueToOutParameter. SeparateExpressionsReturningArrays takes care of transforming the rest of the cases where a function call returns an array into form that ArrayReturnValueToOutParameter can handle. BUG=angleproject:971 TEST=WebGL 2 conformance tests, dEQP-GLES3.functional.shaders.arrays.* Change-Id: I70c07712ba5cd91efb4c2e575ecc49b9ef71bfd7 Reviewed-on: https://chromium-review.googlesource.com/273111 Tested-by: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Zhenyao Mo <zmo@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Olli Etuaho 950457b3 2015-05-26T14:36:59 Fix destructing TStrings through BuiltInFunctionEmulator after free BuiltInFunctionEmulator gets destructed after the PoolAllocator has already freed memory. That's why BuiltInFunctionEmulator can't hold any objects that contain parts stored in the memory pool that would be accessed in its destructor. Use only pointers to TType objects inside BuiltInFunctionEmulator, so that the BuiltInFunctionEmulator destructor doesn't access TStrings which have data in the memory pool. Also fix style issues in BuiltInFunctionEmulator. BUG=angleproject:1010 TEST=dEQP-GLES3.functional.shaders.builtin_functions.* Change-Id: Ic35caf80bf125d0427c2ed2024e98657756103b6 Reviewed-on: https://chromium-review.googlesource.com/272738 Tested-by: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Olli Etuaho c378cd8a 2015-05-25T15:21:44 Check that #version 300 es directive is on the first line ESSL3.00 and 3.10 specs don't allow even newlines before the version directive. BUG=angleproject:1009 TEST=WebGL 2 conformance tests, angle_unittests Change-Id: Id7967829077e35e03572c724e0eafffbed0c975b Reviewed-on: https://chromium-review.googlesource.com/272719 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Olli Etuaho a357236f 2015-05-22T16:15:01 Fix small issues in array related AST transformations Make sure that user-defined bit stays in place when copying function call nodes, and that mInFunctionWithArrayReturnValue gets reset correctly in ArrayReturnValueToOutParameter. BUG=angleproject:971 TEST=WebGL 2 conformance tests Change-Id: I385f4ce4990597e44ddad4f0fa6db23b661771dc Reviewed-on: https://chromium-review.googlesource.com/273110 Tested-by: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Geoff Lang 113bc73e 2015-05-26T15:03:49 Fix missing break statements. Fixes: * conformance/glsl/functions/glsl-function* BUG=angleproject:883 Change-Id: I22a528c6ba4c4077ba47269e14396b4117d1c849 Reviewed-on: https://chromium-review.googlesource.com/273169 Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org>
Austin Kinross d63f08fc 2015-05-21T10:22:04 In D3D11, check for 16-bit texture support and use if possible BUG=angleproject:1002 Change-Id: I36a5ee774b38e9865b2eb6c6789afd316c4eff16 Reviewed-on: https://chromium-review.googlesource.com/272061 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Austin Kinross <aukinros@microsoft.com>
Corentin Wallez e6d82c6d 2015-05-25T14:40:54 Fix order of TearDown of EGLSurfaceTest Previously the OS window was deleted before the EGL window surface which caused the GLX window to be deleted after its X window was deleted. All this was invalid and resulted in a crash. BUG=angleproject:892 Change-Id: I394795b6ebce947ad7eeab9a70ad5f80fcd89241 Reviewed-on: https://chromium-review.googlesource.com/273055 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez aaa9eb94 2015-05-22T16:08:08 WindowSurfaceGLX handle resizing the window on swap This make the multi window sample work well. BUG=angleproject:892 Change-Id: If98c6f995875b63c391cee9b6fddc6d138d48f8b Reviewed-on: https://chromium-review.googlesource.com/272946 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Arun Patole 081c3f2e 2015-05-25T15:43:35 Report warning whenever constant folding results are undefined With recent constant folding changes, we are reporting warnings whenever constant folding results are undefined for values passed in, this change adds that warning at all the places where it was missing. BUG=angleproject:913 TEST=dEQP Tests, angle_unittests Change-Id: Ief8380488e2a4807c91ddac06d342cb172433b9d Reviewed-on: https://chromium-review.googlesource.com/272879 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Olli Etuaho <oetuaho@nvidia.com> Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Corentin Wallez b2b6dfaf 2015-05-25T12:31:13 Use absolute paths in angle_perftests.gypi Otherwise in the Chromium build gyp might have a wrong cwd and then ninja will fail to find the files to compile. BUG=angleproject:892 Change-Id: I6b7beef5ecad62cc345b49253cedbde0ac166c17 Reviewed-on: https://chromium-review.googlesource.com/273161 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang c422207e 2015-05-25T13:19:48 Disable some tests due to failures on Intel OpenGL. BUG=angleproject:884 Change-Id: Iceb571807a2232dae22703953e12e1af4bba5a87 Reviewed-on: https://chromium-review.googlesource.com/273029 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Corentin Wallez 1ee5b60a 2015-05-25T11:15:53 Merge separate definitions of include_dirs for perftests BUG=angleproject:892 Change-Id: Ifd108b3119ea73c05e984ca9138536fb8cf6839c Reviewed-on: https://chromium-review.googlesource.com/273137 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Geoff Lang f34d1db9 2015-05-20T14:10:46 Add table entries for almost all the remaining GL texture formats. BUG=angleproject:884 BUG=angleproject:967 Change-Id: I113757dd9e1fae8fe0241a7286be979a90891b53 Reviewed-on: https://chromium-review.googlesource.com/270275 Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/273135
Geoff Lang 859dcb88 2015-05-25T15:12:54 Revert "Add table entries for almost all the remaining GL texture formats." Missing include of <limits> for linux. This reverts commit aa3a5fadebb2bad0be07eb2963a9d23f901c4c49. Change-Id: Iafebfbc6154b4fe3a94e3f8b91b5ff496631c1f1 Reviewed-on: https://chromium-review.googlesource.com/273134 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Corentin Wallez db39e7f5 2015-05-25T09:51:24 Rename path_utils to system_utils For inclusion of Sleep BUG=angleproject:892 Change-Id: I1a9491102e9943d945eef0ba372a6779c30cd311 Reviewed-on: https://chromium-review.googlesource.com/273131 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 3d5cb774 2015-05-22T17:19:45 Enable EGLSurfaceTest on Linux BUG=angleproject:892 Change-Id: I142ab37e00e2ba7fc2316aff564cc449eeb22771 Reviewed-on: https://chromium-review.googlesource.com/273130 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 642488e5 2015-05-22T16:05:56 Poll all windows in the multi window sample On Linux all windows are polled separately contrary to windows in which the callback is used on all windows. BUG=angleproject:892 Change-Id: Ib1538f12ab2fa1864d29c91b9c5bfc2204cd1fa7 Reviewed-on: https://chromium-review.googlesource.com/272945 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 1ca3d015 2015-05-22T13:35:35 Simplify the implementation of ANGLE_INSTANTIATE_TEST I mistakenly submitted a refactor with +2 but not +1 so a comment wasn't addressed, hopefully fixes it. BUG=angleproject:892 Change-Id: I096c2424449be196dfa949cc6ef662b766036330 Reviewed-on: https://chromium-review.googlesource.com/272905 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Arun Patole 7e7e68de 2015-05-22T12:02:25 Fix styling issues in ParseContext.cpp There were lot of styling issues in ParseContext.cpp, mostly related to opening braces on same line as conditional statement and pointers and references not being tight to the variable in variable declarations, this change fixes them. TEST=angle_unittests Change-Id: Ia225726254bcf5f315c13054ff41c5ff9cfe0992 Reviewed-on: https://chromium-review.googlesource.com/272846 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Olli Etuaho <oetuaho@nvidia.com> Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Geoff Lang aa3a5fad 2015-05-20T14:10:46 Add table entries for almost all the remaining GL texture formats. BUG=angleproject:884 BUG=angleproject:967 Change-Id: I0b05841272f4410c33ee4e4c3654846f07b7c39b Reviewed-on: https://chromium-review.googlesource.com/270275 Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Corentin Wallez f4863b70 2015-05-21T16:29:36 Implement swapInterval for EGL on GLX BUG=angleproject:892 Change-Id: I80d8d67270662c7f2be893f4a8318fbc0926f1fc Reviewed-on: https://chromium-review.googlesource.com/272677 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Jamie Madill 7c2acaf3 2015-05-21T11:47:09 Add timer histogram for egl::Initialize time. This can help is track startup time regressions within ANGLE. BUG=436191 BUG=angleproject:944 Change-Id: I73cf2449661b909dced4ddc11957037ed5535fc0 Reviewed-on: https://chromium-review.googlesource.com/272613 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Corentin Wallez 3a1f3673 2015-05-20T11:12:16 Add an end2end test checking EGL context-surface compatibility This has been very useful to figure out the FBConfig story for the GLX EGL implementation. BUG=angleproject:892 Change-Id: Ie4138dd1dd98f1450984a61317e3fc863c620ad3 Reviewed-on: https://chromium-review.googlesource.com/272371 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/272907
Jamie Madill 01f4062c 2015-05-22T18:30:28 Revert "Add an end2end test checking EGL context-surface compatibility" Failing due to a bug in the test: BUG=angleproject:892 This reverts commit 08971bff3e24b516fcfd5327a51801bc270d3987. Change-Id: I5f97f5e00f8b820874d575421b9a50829bb6f1e0 Reviewed-on: https://chromium-review.googlesource.com/272912 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Minmin Gong 4f5659ae 2015-05-22T10:26:45 Pick return value from copyTexture. Change-Id: Ia04358645348326c5577854053b550426121e64e Reviewed-on: https://chromium-review.googlesource.com/272765 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cooper Partin <coopp@microsoft.com> Tested-by: Minmin Gong <mgong@microsoft.com>
Cooper Partin 336551c9 2015-05-20T14:30:58 Added compiler flags to enable Control Flow Guard. Change-Id: I86e24b83e2e9b279c93c518ab9bc7dafd4b3d006 Reviewed-on: https://chromium-review.googlesource.com/272501 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Corentin Wallez fb28d3c5 2015-05-21T18:02:02 X11Window: handling of ConfigureNotify, work when reparented BUG=angleproject:892 Change-Id: Ib201a5fbf4fca39c90464ed76434dac5e5ded381 Reviewed-on: https://chromium-review.googlesource.com/272683 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 80a50949 2015-05-21T10:54:14 Add perftest parameters for OpenGL BUG=angleproject:892 Change-Id: Ia22b8ab48456d6fbccb159404e943f9ef2650bdc Reviewed-on: https://chromium-review.googlesource.com/272610 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez b45a80db 2015-05-21T10:39:43 Make perftests use ANGLE_INSTANTIATE_TEST This also moves ANGLE_INSTANTIATE_TEST to its own header and makes it generic over the type of test parameter. BUG=angleproject:892 Change-Id: Id4e3929d7ad06964b3259015915be84a8ee414f9 Reviewed-on: https://chromium-review.googlesource.com/272553 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez e3b10e8d 2015-05-20T11:06:25 Make eglMakeCurrent validate for config compatibility See section 2.2 of the EGL 1.5 specification. BUG=angleproject:892 Change-Id: I2a43260e53cb045b2e06b0e50915e228cec96f33 Reviewed-on: https://chromium-review.googlesource.com/272370 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>