src/libGLESv2.gypi


Log

Author Commit Date CI Message
Geoff Lang 56cf9af2 2015-02-17T10:16:49 Add a FunctionsGL class for loading GL entry points. BUG=angle:879 Change-Id: I35384f078d2ed86a6c72cc243753b56bc58617b0 Reviewed-on: https://chromium-review.googlesource.com/250390 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 12892c91 2015-02-13T11:13:13 Remove the dependency on OpenGL32.lib by loading all WGL functions. BUG=angle:879 Change-Id: I1a10a86b710cb0c76be1907136345bcac078da4d Reviewed-on: https://chromium-review.googlesource.com/249740 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 398d8e6e 2015-01-22T13:33:56 Add a basic WGL implementation. BUG=angle:890 Change-Id: I5202086990b4f4fbf455fd73c3e29e5e3e1f6160 Reviewed-on: https://chromium-review.googlesource.com/240092 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang f9a6f084 2015-01-22T13:32:49 Add GL and WGL renderer stubs. BUG=angle:890 Change-Id: I64f2a72b4a350f95acc2ca7080fea1a308422ca4 Reviewed-on: https://chromium-review.googlesource.com/242573 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 74ba76c4 2015-02-09T10:31:23 Move rx::MemoryBuffer to common library. This class is not D3D-specific so can be shared among other back-ends, or other parts of the ANGLE codebase. Change-Id: Ie00760eb5dae4db52e465ee7a2f97789bae8c0b0 Reviewed-on: https://chromium-review.googlesource.com/246500 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 811b6352 2015-02-09T10:17:09 Add a script to generate a new Renderer. Also refactor our current Impl headers slightly to facilitate parsing by the generation script. BUG=angle:905 Change-Id: Ib86cff71d18e7f911cf526b27b8a82757bacd738 Reviewed-on: https://chromium-review.googlesource.com/245497 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang dd43fccc 2015-01-19T15:44:17 Add EGL validation helper files and move some validation to them. BUG=angle:658 Change-Id: Id560268a280f2fa7d75a7d0727dac830fe8de9f1 Reviewed-on: https://chromium-review.googlesource.com/242034 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 051dbc79 2015-01-05T15:48:58 Create a formatutilsD3D and move some functions from formatutils. BUG=angle:681 Change-Id: I694073c50dccd05c3117761e446eba0d15c03293 Reviewed-on: https://chromium-review.googlesource.com/238480 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 41ebb808 2015-01-05T15:11:18 Move imageformats to the d3d folder. BUG=angle:681 Change-Id: I83f0e5aaca4aaa84e5868afcde4f27eba011d5f1 Reviewed-on: https://chromium-review.googlesource.com/238479 Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang c2ca196e 2015-01-05T15:02:18 Move loadimage to the d3d folder. BUG=angle:681 Change-Id: Id901d9ae66207ac5e7d2844b8cd1f6a58c4492f6 Reviewed-on: https://chromium-review.googlesource.com/238478 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 04185ac7 2015-01-05T14:58:09 Move GenerateMip to the D3D folder. BUG=angle:681 Change-Id: Icdffe7eb8f975ee0966e9fb241835ac541eb39f0 Reviewed-on: https://chromium-review.googlesource.com/238477 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 34cc136a 2015-01-05T14:55:44 Move copyvertex to the d3d11 folder. BUG=angle:681 Change-Id: Id37ed1ca617f1d2b6c1bd4a86fc8fcd28b933e8f Reviewed-on: https://chromium-review.googlesource.com/238476 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 59c4debe 2015-01-05T14:49:56 Move copyimage to the D3D folder. BUG=angle:681 Change-Id: I2ce237281cc75fdae11b5ddb4eca52058c395e7a Reviewed-on: https://chromium-review.googlesource.com/238475 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 6f5dc074 2015-01-05T14:46:20 Move vertexconversion.h to the d3d9 folder. BUG=angle:681 Change-Id: I87ef6856040978a9a6045d1df20fe3117def35a3 Reviewed-on: https://chromium-review.googlesource.com/238474 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 359ef269 2015-01-05T14:42:29 Rename ShaderExecutable to ShaderExecutableD3D and move it to the D3D folder. BUG=angle:681 Change-Id: I097d6591be4e873c9a6f210cc91e3f4eb60f036b Reviewed-on: https://chromium-review.googlesource.com/238473 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 2dc4639f 2015-01-05T14:33:58 Rename SwapChain to SwapChainD3D and move it to the D3D folder. BUG=angle:681 Change-Id: Idcf24556e590e07cc0b6cf640d4701353a0cda5e Reviewed-on: https://chromium-review.googlesource.com/238472 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang c2e75afa 2015-01-05T14:26:24 Rename RenderTarget to RenderTargetD3D and move it into the d3d folder. BUG=angle:681 Change-Id: I1946e01ce09d99405c318723c254fe300cc5ac53 Reviewed-on: https://chromium-review.googlesource.com/238471 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang b4dedf3e 2015-01-05T14:08:53 Merge the Image class into ImageD3D. BUG=angle:681 Change-Id: I0c0d41fb3ff9592b08ede58a8c2ec2bd2d94a0b2 Reviewed-on: https://chromium-review.googlesource.com/238470 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 562e81bb 2015-01-14T14:31:02 Fix Linux build, and update BUILD.gn. Re-re-land with fixes for Linux and Android. We were getting multiply defined symbol errors on Linux for some stuff in the common sources. Switch to using a static lib target for the common sources, and also sync BUILD.gn with the latest gyp. BUG=angle:773 Change-Id: Ia2d52978a167c532e5e76cb711de589855eff44e Reviewed-on: https://chromium-review.googlesource.com/240553 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 433c85d3 2015-01-13T22:52:17 Revert "Fix Linux build, and update BUILD.gn." Still more build failures, different ones this time. This reverts commit 9f8a57c6419f64965fd97fcc0df8e138677febaf. Change-Id: I7bea8e24403d92ca4ecb2ee0f24f9e065db5366d Reviewed-on: https://chromium-review.googlesource.com/240550 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 9f8a57c6 2015-01-13T11:13:56 Fix Linux build, and update BUILD.gn. Re-land with fixes for Android. We were getting multiply defined symbol errors on Linux for some stuff in the common sources. Switch to using a static lib target for the common sources, and also sync BUILD.gn with the latest gyp. BUG=angle:773 Change-Id: Id3edecc633b1c4be205558137c91baf87f256156 Reviewed-on: https://chromium-review.googlesource.com/240145 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 9e0478f6 2015-01-13T11:13:54 Move the block layout code to translator. This code is easily accessible from the translator, with the proper export calls. This facilitates adding a common static library, since this code calls some methods in translator. BUG=angle:773 Change-Id: I0c50098ec3f67c2df7749b3c2518be0a9fd939e2 Reviewed-on: https://chromium-review.googlesource.com/240093 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 04184fb0 2015-01-09T16:51:16 Revert "Fix Linux build, and update BUILD.gn." This reverts commit ed409f938b4fd8db89d8551d2bf7fc6a6b9ad9b7. Change-Id: I208a2c43c73e99ae95988c6d81ed64691bd8a99f Reviewed-on: https://chromium-review.googlesource.com/239900 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill ed409f93 2015-01-07T13:22:02 Fix Linux build, and update BUILD.gn. We were getting multiply defined symbol errors on Linux for some stuff in the common sources. Switch to using a static lib target for the common sources, and also sync BUILD.gn with the latest gyp. BUG=angle:773 Change-Id: I212284cfa90cd117a784a5f17057f47dd08900d1 Reviewed-on: https://chromium-review.googlesource.com/239193 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 4ed1c450 2014-12-12T10:44:33 Link libANGLE against translator_static. If there are multiple users of translator.dll then one could ShFinalize and destroy the memory of all the others. libANGLE needs it's own copies of the global pool allocator to make sure this doesn't happen. There should be no functional changes for non-component builds. BUG=angle:823 Change-Id: Id6f7d50e86d8950834399b16a7ab14e6e3198d12 Reviewed-on: https://chromium-review.googlesource.com/234594 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 492a7e43 2014-11-05T13:27:06 Encapulate the ESSL compiler into a GL object that is per-context. * Allows for multiple contexts have to have different client versions, caps and extensions without causing shader compilation failures. BUG=angle:823 Change-Id: I523679e90be031b0b7fa385d46d6839b1cf3029f Reviewed-on: https://chromium-review.googlesource.com/227710 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang babd8caf 2014-12-05T11:36:40 Have libGLESv2 compile tls.cpp. BUG=angle:733 Change-Id: Ief3ddabdc441eb7e46581337a511cec2a90ede48 Reviewed-on: https://chromium-review.googlesource.com/233431 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang e7c6e43c 2014-12-03T14:48:07 Implement all entry points in libGLES and have libEGL act as a shim. This allows libANGLE to only be included in libGLESv2 and moves all TLS data to libGLESv2.dll. BUG=angle:733 Change-Id: I34f0b47987a5efbe906c290d3ca656142e69ea9a Reviewed-on: https://chromium-review.googlesource.com/232962 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 05a49f68 2014-12-04T13:48:47 Fix doubly defined variables in libANGLE and libGLESv2. We can get by with only including these in libANGLE, since libGLESv2 pulls in libANGLE. BUG=angle:773 Change-Id: Iccbdb968b3c55528e2a7e1dd55f4f1280a70bfe9 Reviewed-on: https://chromium-review.googlesource.com/232967 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org>
Jamie Madill 3011c25b 2014-12-04T13:48:46 Fix event tracer linking on Linux. We were including the cpp in multiple targets, which was causing a multiply defined error. BUG=angle:773 Change-Id: I1e31756faee2d7734f1fc6cfb086d0e7ec6519bc Reviewed-on: https://chromium-review.googlesource.com/232966 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 9d9132df 2014-12-03T14:46:48 Remove support for compiling libANGLE as a dynamic library. BUG=angle:733 Change-Id: Iacef45b89f234091eb5df505437adabece1e564b Reviewed-on: https://chromium-review.googlesource.com/232961 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 2212b3d5 2014-12-03T10:59:00 Only generate shader debug info on Windows. This was messing up the Linux build with some recent changes. BUG=angle:773 Change-Id: I9ca201f08ddde0a36224872b2c78d1d666cf458d Reviewed-on: https://chromium-review.googlesource.com/232792 Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 0540e5d5 2014-12-03T10:58:58 Move the SystemInfo helpers to Win32 only. BUG=angle:773 Change-Id: I53938837d925b14d8fc86c94a38d23bb86d82de5 Reviewed-on: https://chromium-review.googlesource.com/232699 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Jamie Madill 2347de1a 2014-12-03T10:58:57 Remove src/libANGLE from default includes. This is unnecessary, and was breaking Linux builds because of a conflict with features.h. BUG=angle:773 Change-Id: Ic704ac24a0e8f5781f67cadca396bef779495efe Reviewed-on: https://chromium-review.googlesource.com/232698 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org>
Jamie Madill 870352a1 2014-12-01T11:01:17 MANGLE egl::Display. BUG=angle:794 Change-Id: Id131f3119100030d6ee630e357a8d28396a6a813 Reviewed-on: https://chromium-review.googlesource.com/231852 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 7dd2e10d 2014-11-10T15:19:26 Merge the ProgramBinary class into Program. BUG=angle:731 Change-Id: I2ee97155841dc62f04bb71c1f2035d210fd3883c Reviewed-on: https://chromium-review.googlesource.com/232694 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 21329414 2014-12-02T20:50:30 Revert "Merge the ProgramBinary class into Program." Issues appeared on the FYI waterfall, content_gl_tests hangs. This reverts commit 2195a6d6032883ed05468d5ecd019e7cb9a27bce. Change-Id: I9fe1a53cf40887ae5a98fd77b4872f41085fcea7 Reviewed-on: https://chromium-review.googlesource.com/232386 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 2195a6d6 2014-11-10T15:19:26 Merge the ProgramBinary class into Program. BUG=angle:731 Change-Id: Ia0a356c0684f3a3576c71dfd04b00874318dd084 Reviewed-on: https://chromium-review.googlesource.com/228701 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang da88adda 2014-12-01T10:22:01 Create stubs for the FramebufferImpl class. BUG=angle:841 Change-Id: I089409981604abe9c65c3019765d8d9eeffe38f5 Reviewed-on: https://chromium-review.googlesource.com/232381 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 8bc361e1 2014-11-20T16:23:31 Support compiling libANGLE as a static or shared library. BUG=angle:733 Change-Id: If27d3330534bce0f5b691010ea7d97bcb7579122 Reviewed-on: https://chromium-review.googlesource.com/231052 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill fb0580a6 2014-11-27T14:03:52 MANGLE egl::Surface. This class has its fingers in a lot of other classes. In particular, we will likely need to revisit the context lost handling methods when we implement the robustness extensions on top of desktop GL. For now, we can leave them tied pretty tightly to the D3D implementation. BUG=angle:795 Change-Id: I9b3ac90dfd393f52c5b49bc2bd6b97fb5536ed91 Reviewed-on: https://chromium-review.googlesource.com/228916 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 53a1f4a0 2014-11-19T16:35:45 Remove the libGLESv2_static target. BUG=angle:733 Change-Id: Ia33a67d8422c6c31a1f07f2a8778537e023b2dd2 Reviewed-on: https://chromium-review.googlesource.com/230781 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 2207213b 2014-11-20T15:15:01 Move as many files as possible from common to libANGLE. BUG=angle:733 Change-Id: If01c91cd52ac5c2102276a9fdc4b68ebc13e47f9 Reviewed-on: https://chromium-review.googlesource.com/231850 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 4349ab85 2014-11-25T15:53:34 Revert "Move as many files as possible from common to libANGLE." Chromium directly includes our common/version.h and couldn't build after this change. This reverts commit f0a2c7727f9863c38a435a16a69d513c481fbbdd. Change-Id: Iafc41b1a3973f609518fe3588fdb64cecc285332 Reviewed-on: https://chromium-review.googlesource.com/231840 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang f0a2c772 2014-11-20T15:15:01 Move as many files as possible from common to libANGLE. BUG=angle:733 Change-Id: I40cee6e2e305ac493acbc8649f858785c0569aed Reviewed-on: https://chromium-review.googlesource.com/231051 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 2b5420c0 2014-11-19T14:20:15 Merge libGLESv2 and libEGL classes into libANGLE. BUG=angle:733 Change-Id: Ic491c971411fe82c56cd97c5c8325ac14ec218df Reviewed-on: https://chromium-review.googlesource.com/230830 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 6a1e6b97 2014-11-06T10:42:45 Create a DefaultAttachment type and an implementation for it. This allows for dynamically sized default attachments instead of calling Context::makeCurrent each time the surface changes size. BUG=angle:824 Change-Id: Ic39c0d7dc4269db53a34c01c4d915cb1a3cfbd08 Reviewed-on: https://chromium-review.googlesource.com/228180 Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Scott Graham 7e81c9d5 2014-11-15T02:23:08 Revert "Revert "Switch to 8.1 SDK and d3dcompiler_47.dll"" This reverts commit 3cbdc34d4e90f6b51d5612e6f1d3ae632da47234. This reverts back to using 8.1 and d3dcompiler_47, as chrome is now rolled forward. Change-Id: I7ef4ebdbc32146b9ba6f551e376ac03ac71131ba Reviewed-on: https://chromium-review.googlesource.com/229990 Reviewed-by: John Abd-El-Malek <jam@chromium.org> Reviewed-by: Scott Graham <scottmg@chromium.org> Commit-Queue: Scott Graham <scottmg@chromium.org> Tested-by: Scott Graham <scottmg@chromium.org>
Scott Graham 3cbdc34d 2014-11-14T18:25:26 Revert "Switch to 8.1 SDK and d3dcompiler_47.dll" This reverts commit e1425d95ba0ab095c5d64536bbeb3f78adcbf79f. This is to keep the GPU fyi bots green until the chrome side is landed. Chrome will be rolling to e1425d95... Change-Id: Iff1c60eeb7143fb72afa8525b31f8f0de9385897 Reviewed-on: https://chromium-review.googlesource.com/229497 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Scott Graham e1425d95 2014-11-13T11:28:30 Switch to 8.1 SDK and d3dcompiler_47.dll Change-Id: If43c7861ab7f47448fd726fd0b5c35f3a6eeb362 Reviewed-on: https://chromium-review.googlesource.com/229616 Commit-Queue: Scott Graham <scottmg@chromium.org> Tested-by: Scott Graham <scottmg@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Cooper Partin e9bdeb25 2014-11-04T16:49:40 Added Trim support for Windows Store application certification requirement Change-Id: Iff58863bf4af756d77521aadb1ccbaa977f0b78a Reviewed-on: https://chromium-review.googlesource.com/227530 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill ad65a13c 2014-11-06T15:27:23 Add RendererD3D as a layer between GL and Renderer9/11. BUG=angle:789 Change-Id: I6107e6cbdeb5e3466f96a4bdf98181b8e5a25467 Reviewed-on: https://chromium-review.googlesource.com/225471 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 1e9ae079 2014-11-06T15:27:21 Add a base for GL essential data. The data holds the GL state, caps, extensions, texture caps, and current client version. BUG=angle:789 Change-Id: Icd15d806e14490f39041dea663ab2461a6a76090 Reviewed-on: https://chromium-review.googlesource.com/226060 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org>
Shannon Woods e2632d24 2014-10-17T13:08:51 Changes gl::RenderbufferStorage to rx::RenderbufferImpl BUG=angle:782 Also eliminates Colorbuffer/DepthStencilBuffer and related friends and adds the RenderbufferD3D implementation of RenderbufferImpl. This version fixes problems with the prior CL's handling of render target serial issuance. Change-Id: I7ddfbec1097723d7ea6ce93a9c034f941349108a Reviewed-on: https://chromium-review.googlesource.com/227195 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Shannon Woods <shannonwoods@chromium.org>
Cooper Partin 980eb8f3 2014-10-22T07:42:59 Added ISwapChainPanel support Change-Id: I26faa32804ee47cb6ad8458c90abeb93a01dfbdf Reviewed-on: https://chromium-review.googlesource.com/224991 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Shannon Woods f108df24 2014-10-30T18:53:29 Revert "Changes gl::RenderbufferStorage to rx::RenderbufferImpl" This reverts commit 9fc51d90176dcf4273cd6689968e1ca5d1c9fe16. Change-Id: I4134ebe5ef6b8f509f4cc5cc22a2d526ec43ef6d Reviewed-on: https://chromium-review.googlesource.com/226374 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Shannon Woods <shannonwoods@chromium.org>
Brandon Jones 091540d3 2014-10-29T11:32:04 Changed feature macros to reduce accidental enabling/disabling Change-Id: Ieb1a0c55f412f2a1bb858522b2dfaa7a60aa7ddb Reviewed-on: https://chromium-review.googlesource.com/226304 Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Brandon Jones <bajones@chromium.org>
Shannon Woods 9fc51d90 2014-10-17T13:08:51 Changes gl::RenderbufferStorage to rx::RenderbufferImpl BUG=angle:782 Also eliminates Colorbuffer/DepthStencilBuffer and related friends and adds the RenderbufferD3D implementation of RenderbufferImpl. Change-Id: Ibe72c9589b3c238b952744e7cfd70d97ec898eb9 Reviewed-on: https://chromium-review.googlesource.com/222925 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Shannon Woods <shannonwoods@chromium.org>
Austin Kinross 922a9fb3 2014-10-21T14:26:33 Use D3D11 Debug Annotations when D3D9 is unavailable Change-Id: I37ac5fe7f0b2fe5e71bd7f0afca55e9894f3463c Reviewed-on: https://chromium-review.googlesource.com/224512 Tested-by: Austin Kinross <aukinros@microsoft.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Brandon Jones 1a8a7e3b 2014-10-01T12:49:30 Moving Uniform handling into ProgramD3D. Moves the last references to HLSLBlockEncoder out of ProgramBinary. Only one reference to ShaderD3D remains. BUG=angle:731 Change-Id: Ie23e24e09fbed4c8c5fab3bab814b7092a383c7f Reviewed-on: https://chromium-review.googlesource.com/220940 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Brandon Jones <bajones@chromium.org>
Austin Kinross 570e83cf 2014-10-20T14:13:58 Rename ANGLE_ENABLE_PERF -> ANGLE_ENABLE_DEBUG_ANNOTATIONS Change-Id: I701cd5ee749797428171e9c58a46fce626b9a969 Reviewed-on: https://chromium-review.googlesource.com/223590 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang e2fecdd3 2014-10-22T11:58:37 Fixed some configuration data not being added to 64-bit builds. The Debug and Release configurations are 32-bit only. The Debug_Base and Release_Base configurations should be used in these cases. In the future we should not rely on defines being placed in these configurations because if ANGLE is included in another project, they may not have the same configuration names and the defines will not be added. To combat this, always make sure that there are appropriate #ifdef's in the headers and don't add defines that would result in poor performance if they do not exist. BUG=angle:772 Change-Id: I2b26ffb934f8b3d5e6e556a1e87c1c5ee209c430 Reviewed-on: https://chromium-review.googlesource.com/225051 Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Cooper Partin 88d3b8cb 2014-10-08T10:41:56 Added IInspectable EGLNativeWindowType and ICoreWindow support Change-Id: I6dd7fef72a73572d4a3deda7ce36a11da3a75c81 Reviewed-on: https://chromium-review.googlesource.com/224366 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill e020bed5 2014-10-20T16:16:46 Revert "Added IInspectable EGLNativeWindowType and ICoreWindow support" Causing regressions in the build: http://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Mac%20Builder/builds/20182 This reverts commit 756aebfc7afa6d0de14e96637ef396dd7b290c2d. Change-Id: I2f4bdb5aeb429c9bbc5e655a1761704f33737841 Reviewed-on: https://chromium-review.googlesource.com/224221 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Cooper Partin 756aebfc 2014-10-08T10:41:56 Added IInspectable EGLNativeWindowType and ICoreWindow support Change-Id: I34e443b1e194800460e441ac6cee42cf68430564 Reviewed-on: https://chromium-review.googlesource.com/224302 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Shannon Woods 8858cf0a 2014-10-17T20:53:32 Revert "Added IInspectable EGLNativeWindowType and ICoreWindow support" due to build failures on Chromium FYI bots. This reverts commit 406a3be91cc8175df95bd390425e35830778f2d5. Change-Id: Ica2abd2e557a4fd9852d85b7fc018e3d272b6edf Reviewed-on: https://chromium-review.googlesource.com/224051 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Shannon Woods <shannonwoods@chromium.org>
Cooper Partin 406a3be9 2014-10-08T10:41:56 Added IInspectable EGLNativeWindowType and ICoreWindow support Change-Id: I9ad82b7819bcca1c05e7aa60dc2baec4a7bc403c Reviewed-on: https://chromium-review.googlesource.com/222360 Tested-by: Cooper Partin <coopp@microsoft.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tibor den Ouden 97049c6a 2014-10-06T21:39:16 Enhance shader debug output glGetTranslatedShaderSourceANGLE() returns the glsl code, the initial translated hlsl code, the final translated hlsl code and the disassembly of the generated binary with the compiler configuration. This enhancement is only available if the define ANGLE_GENERATE_SHADER_DEBUG_INFO exists. This define is set in the debug configurations for the Windows platform. BUG=angle:751 Change-Id: I8b15e8b25fbb0c0575a73cc876bf8f1fa7ed142a Reviewed-on: https://chromium-review.googlesource.com/221059 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Kenneth Russell 1ce845d7 2014-10-06T16:10:36 Refactor libGLESv2.gypi to allow libANGLE to be built on all platforms. Required pulling angle_enable_d3d{9,11} into angle.gypi and definition of angle_libangle_win_sources. Pull in those sources in BUILD.gn. Tested with local GYP build on Windows. Did not test GN build yet. BUG=angleproject:773 Change-Id: Ia3703fe4fa2bc8a1682c1fa1667ca36268b36cc7 Reviewed-on: https://chromium-review.googlesource.com/221785 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Kenneth Russell <kbr@chromium.org>
Jacek Caban a5521de2 2014-10-01T17:23:46 Fixed mingw compilation. Change-Id: I8ae33c752feb19e291e4a3b128d21a0ced883c90 Reviewed-on: https://chromium-review.googlesource.com/220761 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Shannon Woods <shannonwoods@chromium.org>
Jamie Madill 7acae0a1 2014-09-24T17:10:51 Add a centralized workarounds module. This is a temporary home for the various workarounds we use for performance or to solve driver issues. Eventually we will want a standalone library we can use as part of Chromium or in ANGLE standalone. Re-land with member variable initialized. BUG=angle:729 Change-Id: If7f8f9596a39b2855366d9a67caebf6dd4197b55 Reviewed-on: https://chromium-review.googlesource.com/219868 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 57f20894 2014-09-29T23:05:36 Revert "Add a centralized workarounds module." Was missing an initialization in Renderer.cpp. This reverts commit 815a1dc3710c48ecc84539b7ffb15860f6738f6c. Change-Id: Ia4666911c2ff58660e0ab5c7cec4431b1c30a1e1 Reviewed-on: https://chromium-review.googlesource.com/220420 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 815a1dc3 2014-09-24T17:10:51 Add a centralized workarounds module. This is a temporary home for the various workarounds we use for performance or to solve driver issues. Eventually we will want a standalone library we can use as part of Chromium or in ANGLE standalone. BUG=angle:729 Change-Id: Ib0254262cad9f8fb779886dacb967be646ea96ae Reviewed-on: https://chromium-review.googlesource.com/219838 Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Cooper Partin eeb1f537 2014-09-23T10:25:02 Added SurfaceHost to enable additional hosts and abstract access for EGLNativeWindowType. Change-Id: I590b52925c6b9127d08eaf0e5ba2a0bde30505c3 Reviewed-on: https://chromium-review.googlesource.com/219488 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill feda4d29 2014-09-17T13:03:29 Accept ImageIndex in TextureD3D::subImage and getImage. This paves the way for setting data on the TextureStorage directly instead of working through the Image objects. BUG=angle:741 Change-Id: I3be3d5f9b2e45707c1630b74ad3f4789e034c3fd Reviewed-on: https://chromium-review.googlesource.com/218311 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Brandon Jones c9610c51 2014-08-25T17:02:59 Starting refactor of ProgramBinary This is gonna take a while... BUG=angle:731 Change-Id: Ief72c3361b6429f3f6e0bc2d2ea0810d523ff178 Reviewed-on: https://chromium-review.googlesource.com/215661 Tested-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Jamie Madill b33b4777 2014-09-04T10:48:28 Declare commit_id a gyp 'hard_dependency'. Hard dependencies are marked for static library targets, unlike normal soft dependencies which the static libraries ignore. This change ensures we run the commit_id script before compiling any static libraries that depend on it. Change-Id: Ic29652012883273810c2863132d6f49bd6ada4b8 Reviewed-on: https://chromium-review.googlesource.com/216461 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 04994ec4 2014-08-28T11:31:36 Use libANGLE to reduce duplicated ANGLE source compiles. libGLESv2_static and libGLESv2 can re-use the same object files. BUG=angle:733 Change-Id: I894f4b5b6fbc1fc47812609d9e996691daf9f318 Reviewed-on: https://chromium-review.googlesource.com/214188 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 0b7eef7c 2014-06-12T14:10:47 Removed common_includes.h reordered includes. Since we are not using precompiled headers anymore, remove common_includes.h so that fewer files are included in cpp files. Reordered includes to be in the following order: 1) Local ANGLE project headers, ordered by directory in descending depth 2) GL headers 3) STL headers This helps enforce the include-what-you-use principal by reducing the number of STL headers unexpectedly shared between files. This include order conflicts with some of the Google c++ style guide which states that STL includes should be first but this helps us catch more issues. Change-Id: I8f7785f4ad574e253dd3c7b4fb1e54d3ce3b99fc Reviewed-on: https://chromium-review.googlesource.com/214850 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Brandon Jones d8d72434 2014-08-22T15:11:23 Moved DynamicHLSL into renderer/d3d Obviously D3D-only class is obvious. :) BUG=angle:731 Change-Id: Ide54e76a8b9bacb9b6834e2cb0a801140eecfe46 Reviewed-on: https://chromium-review.googlesource.com/213862 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Brandon Jones <bajones@chromium.org>
Jamie Madill ea24759f 2014-08-28T10:37:08 Remove remnants of old PCH code. Remove the precompiled.cpp file which was producing a build warning, and rename the header to make it clear we no longer support PCH. BUG=angle: Change-Id: I944081ae477b1478ca9c18924fb02bb920d420a7 Reviewed-on: https://chromium-review.googlesource.com/214187 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Brandon Jones f05cdee4 2014-08-27T15:24:07 Refactoring Shader objects (Take 2) This change refactors shaders to no longer be dependent on D3D-only concepts. BUG=angle:731 Change-Id: I1006112f1d31b7e41bd14bd3225ea157b7d6c6c9 Reviewed-on: https://chromium-review.googlesource.com/214467 Tested-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Brandon Jones e54be46a 2014-08-27T22:21:45 Revert "Refactoring Shader objects" This reverts commit 537dfde52a33d621ab1198c949a81b09a1269b2e. Change-Id: I5eb8923ac8f78877e6e77a8cd897021e56ee004a Reviewed-on: https://chromium-review.googlesource.com/214466 Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Brandon Jones <bajones@chromium.org>
Brandon Jones 537dfde5 2014-08-20T14:04:59 Refactoring Shader objects This change refactors shaders to no longer be dependent on D3D-only concepts. BUG=angle:731 Change-Id: I4fc1efeba9df4f873b3d7c8ba6f67f00b6532b9c Reviewed-on: https://chromium-review.googlesource.com/213803 Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Brandon Jones <bajones@chromium.org>
Kenneth Russell db8ae16b 2014-08-25T19:02:35 Refactored TransformFeedback for multi-platform ANGLE and added tests. Added angle_implementation_unit_tests target designed for testing the cross-platform code in libGLESv2, and libGLESv2_static target as a dependency. The goal is to incorporate these tests into Chromium's angle_unittests target on all platforms; however, more work is needed to make libGLESv2's common code compile on non-Windows platforms, so this is an intermediate step. BUG=angle:719 Change-Id: Ifc44a779352294e857d6e913d9b997a60674c443 Reviewed-on: https://chromium-review.googlesource.com/214105 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Kenneth Russell <kbr@chromium.org>
Geoff Lang 268b6bcd 2014-07-09T16:22:55 Clean up copyimage.h Change-Id: Ie4b81bb37dbbe6a9584dfc6a6c92670a9b73cda5 Reviewed-on: https://chromium-review.googlesource.com/207374 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 45965b10 2014-07-09T15:54:46 Clean up copyvertex.h * Move "private" functions into copyvertex.inl. * Capitalize global function names give them more descriptive names. * Use size_t for all dimensions. * Use uint8_t pointers instead of unsigned char pointers. Change-Id: I408cf7ebb28655c5811ad18979a20f4273d278cd Reviewed-on: https://chromium-review.googlesource.com/207373 Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang da5777cf 2014-07-11T09:52:58 Create an Error object to represent GL errors. BUG=angle:520 Change-Id: I1a54e6f308b5b0f310c725a7771af737a77ecd42 Reviewed-on: https://chromium-review.googlesource.com/209619 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill a2ad4e8a 2014-07-17T14:16:32 Export shader variables from the translator DLL. This will allow us to use these methods when compiling the translator as a DLL. BUG=angle:466,697 Change-Id: Ic9169fb7c69fe0bf5f98addfc128a30ee6b2159d Reviewed-on: https://chromium-review.googlesource.com/208752 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Jamie Madill 13cfd276 2014-07-17T14:16:28 Move shader variables header to include folder. This allows the API to query for clear type introspection into the parsed GL types from the translator. The returned types are not expanded and have properly nested fields. This patch uses the types from ShaderVars.h to return GL type information. The app must include this header to get access to the types structs. BUG=angle:466 Change-Id: I28ad0d6f11a964804dd234ef0d00651f665d1ae3 Reviewed-on: https://chromium-review.googlesource.com/208751 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Jamie Madill 6a72979f 2014-07-18T10:33:14 Move shadervars constructors to cpp files. This avoid unnecessary binary bloat from STL default constructors and assignment operators. BUG=angle:466,697 Change-Id: I679e524d3e3dbd0d3866fc30a5a01967d8769249 Reviewed-on: https://chromium-review.googlesource.com/208356 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: bratell at Opera <bratell@opera.com> Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Jamie Madill 07d49ef5 2014-07-25T11:52:38 Fix Clang warning with preloaded D3DCompiler string. Clang was complaining that we were casting a char* to a wchar_t*. BUG=angle:707 Change-Id: I063165e9add4e9b57d131181da30c05e5abbc1c2 Reviewed-on: https://chromium-review.googlesource.com/209618 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 5063f55a 2014-07-23T16:27:31 Add a MemoryBuffer type to safely allocate large user data buffers. MemoryBuffer has a similar interface to std::vector but returns a bool on resize to do error checking. BUG=angle:700 Change-Id: Ib201eeb91b07f5b7f970e153f5d1e110f9b2fa55 Reviewed-on: https://chromium-review.googlesource.com/209612 Reviewed-by: Nico Weber <thakis@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Brett Wilson 04bac60c 2014-07-16T14:19:18 Explicitly list files for the build. Removes shelling out to enumerate_files for the main targets (tests and examples are currently unchanged) in favor of explicitly listing out the files in the build. There are a number of reasons. My immediate reason is that doing this allows the file lists to be shared with the GN build so the GYP and GN builds of angle should mostly automatically stay in sync now. In addition, I don't think we should be enumerating files in GYP. No other Chrome sub-projects do this, and Chrome engineers expect files to be listed in .gyp* files. It's also slower to shell out a bunch of times to get the file lists (this matters more in the GN build which runs very quickly). Updates the GN build to share these file lists. This unbreaks the Windows GN Angle build. BUG=angle:698 Change-Id: Iab8829628aeb7232bb64f4c247c35c6485bba3ee Reviewed-on: https://chromium-review.googlesource.com/208461 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Brett Wilson <brettw@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Geoff Lang 86846e24 2014-06-03T15:48:54 Clean up the functions in loadimage.h/cpp. * Capitalize the function names to fit the style guide. * Use explicit sizes in the function names to avoid any confusion about input or output sizes. * Use explicit sized types in the functions to avoid potential issues on new platforms since a lot of bit-twiddling is used. * Use size_t for all sizes. * Use uint8_t for all binary data for input and output data so that pointer arithmetic is much easier. * Move templated function definitions into an .inl file so that loadimage.h looks as clean as possible. BUG=angle:665 Change-Id: Id7173ed66d9e1b7ee3261eea11e77d838cbd2951 Reviewed-on: https://chromium-review.googlesource.com/202590 Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Brandon Jones c7a41049 2014-06-23T12:03:25 Moved D3D specific files and folders under the D3D folder. Change-Id: I8afd67e08ee558fe94532c377d079673357a7192 Reviewed-on: https://chromium-review.googlesource.com/205229 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang d7e7d735 2014-05-27T16:10:46 Move the GL_APICALL and similar defines to the project level. BUG=angle:658 Change-Id: Ib4fa10bb89a6658efbc20d5a763d8ec9c3a5506f Reviewed-on: https://chromium-review.googlesource.com/201465 Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill fc2521e1 2014-05-16T16:21:57 Fix build on Windows 8.1 SDK. The Windows 8.1 SDK includes a new DLL compiler DLL, and is useful to test against, so we should fix the few deprecated functions and warnings. BUG=angle:649 Change-Id: I28bcf49564f3f7d7403d939d61dd78d3972281ba Reviewed-on: https://chromium-review.googlesource.com/199341 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 876dc724 2014-05-01T17:10:24 Fix 64-bit build failures. Update the BufferStorage classes to use size_t for all sizes and offsets. BufferStorage9 now uses a std::vector to manage its memory. BUG=angle:631 Change-Id: Iea4e7b33ede59a5b9c6a1245690c4b7865096fc3 Reviewed-on: https://chromium-review.googlesource.com/197819 Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Nicolas Capens 655fe36e 2014-04-11T13:12:34 Use shader optimization level 3 selectively. Default to HLSL compiler optimization level 1 and work around a compiler bug with break in nested loops by using optimization level 3. BUG=angle:603 Change-Id: I4f7985a5648f1b5f54d80554c21aced7fc1777c2 Reviewed-on: https://chromium-review.googlesource.com/194129 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>