src/compiler.gypi


Log

Author Commit Date CI Message
Olli Etuaho 1033e1d8 2015-02-12T12:03:13 Move operator definitions to their own file This generalizes GetOperatorString so that it can be used outside ValidateLimitations. BUG=angle:911 Change-Id: I43a160b3d7d60388ad529a72f1720d3171f67315 Reviewed-on: https://chromium-review.googlesource.com/249073 Tested-by: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Zhenyao Mo <zmo@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>
Olli Etuaho 5c9cd3d1 2014-12-18T13:04:25 Implement hyperbolic function support for ESSL 3.00 Emulating arc hyperbolic functions is required on HLSL, where they do not exist natively. For this, BuiltInFunctionEmulator is split into GLSL and HLSL subclasses. The GLSL subclass handles the pre-existing built-in emulation implemented for working around OSX bugs, and the HLSL subclass handles emulating asinh, acosh and atanh on HLSL. BUG=angle:855 Change-Id: I0dfeffb862ac27ba7f9ecf5492ec31d9d952b273 Reviewed-on: https://chromium-review.googlesource.com/236861 Reviewed-by: Nicolas Capens <capn@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Olli Etuaho <oetuaho@nvidia.com>
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>
Olli Etuaho 352beffc 2014-11-19T13:45:55 Remove RemoveAllTreeNodes, since it was a no-op IntermNode operator delete() or any of the IntermNode destructors don't do anything, since all the AST memory is allocated on the PoolAllocator. Because of this, RemoveAllTreeNodes was simply a no-op, and redundant with the PoolAllocator deallocation procedure, and could confuse people reading the code to think that IntermNodes should be deleted individually, when in fact this is not the case. BUG=angle:831 Change-Id: Ie1ccaa51986aabf267280d92a8e76ca9f97a19e5 Reviewed-on: https://chromium-review.googlesource.com/230730 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Olli Etuaho 853dc1ab 2014-11-06T17:25:48 Add mediump and lowp precision emulation support for GLSL output This implements the rounding as specified in WEBGL_debug_shader_precision extension proposal for desktop GLSL and ESSL output. The bulk of the new functionality is added in the form of a new EmulatePrecision AST traverser, which inserts calls to the rounding routines angle_frm and angle_frl in the appropriate places, and writes the rounding routines themselves to the shader. Compound assignments which are subject to emulation are transformed from "x op= y" to "angle_compound_op_frm(x, y)", a call to a function which does the appropriate rounding and places the result of the operation to x. The angle_ prefixed names should not clash with user-defined names if name hashing is on. If name hashing is not on, the precision emulation can only be used if the angle_ prefix is reserved for use by ANGLE. To support the rounding routines in output, a new operator type is added for internal helper function calls, which are not subject to name hashing. In ESSL output, all variables are forced to highp when precision emulation is on to ensure consistency with how precision emulation performs on desktop. Comprehensive tests for the added code generation are included. BUG=angle:787 Change-Id: I0d0ad9327888f803a32e79b64b08763c654c913b Reviewed-on: https://chromium-review.googlesource.com/229631 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Olli Etuaho <oetuaho@nvidia.com>
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>
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>
Jamie Madill b60fe31f 2014-09-26T14:56:41 Fix the ANGLE_ENABLE_TRACE build. We needed to include angleutils.cpp in libtranslator for this to compile. Also allow the event helpers to record API calls even if ANGLE_ENABLE_PERF is off. BUG=angle:513 Change-Id: I2646d5ebeae536a4a7f1cd7ecaf0ce019ce5ff76 Reviewed-on: https://chromium-review.googlesource.com/219756 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Jamie Madill b1a85f48 2014-08-19T15:23:24 Rename compiler intermediate source files. This prevents confusion between "TIntermediate" and "TIntermNode". BUG=angle:711 Change-Id: Ib7a086382a479db3f77bf2ab06ce321aa7b35d13 Reviewed-on: https://chromium-review.googlesource.com/212936 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org> Reviewed-by: Nicolas Capens <capn@chromium.org>
Zhenyao Mo e740addb 2014-07-18T17:01:01 Add compiler option SH_REGENERATE_STRUCT_NAMES. BUG=angle:701 TEST=webgl conformance tests Change-Id: I13b35900956e7d840d5891a5bab90a400347cd6f Reviewed-on: https://chromium-review.googlesource.com/209229 Tested-by: Zhenyao Mo <zmo@chromium.org> Reviewed-by: Kenneth Russell <kbr@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>
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 44fa7594 2014-05-30T11:50:07 Refactor platform related functionality into platform.h and tls.h. Since libGLESv2 and libEGL will eventually be cross platform, it will be useful to have platform defines and TLS functions that work everywhere. BUG=angle:664 Change-Id: Ia357925a0992d82e8b446d88d32a1984d319e6e8 Reviewed-on: https://chromium-review.googlesource.com/202133 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 006ed1ed 2014-04-28T15:47:39 Reduce translator sources compile count to one. With this change, the common sources shared between translator and translator_static are compiled in a static library. There is only one file with exported functions which needs to be compiled for each target. This should reduce ANGLE and chromium build times. BUG=angle:569 Change-Id: I3ce011872323ec988befbd6db731add4fce5787b Reviewed-on: https://chromium-review.googlesource.com/197271 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 8cc03bf7 2014-04-11T13:33:57 Revert "Remove the second translator target, only using static." This reverts commit d51df461e52ac9421201234fff488104f788a7c3. Conflicts: projects/build/all.sln projects/samples/samples.sln src/compiler.gypi Change-Id: I6e1d77531df61de28e4402ed1916f6ecdebb68fd Reviewed-on: https://chromium-review.googlesource.com/192890 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang d095bdaa 2014-04-07T14:21:14 Add a common include in the project definitions. Any projects that may be included by gyp files outside our project (chrome or skia) may not have the same defines or ignored compiler warnings. To make sure that we can always compile, each project now includes a common file with all required definitions and gyp variables. BUG=angleproject:583 Change-Id: I702bee975d0554c51bfa03981920dfb295ffbafa Reviewed-on: https://chromium-review.googlesource.com/189458 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill f0b40601 2014-03-24T14:49:11 Clean up gyp build scripts. We can use angle_path instead of angle_build_scripts_path to locate enumerate_files.py. Also pass angle_path to the post-build script hook, as this information is necessary to locate the root angle folder. BUG=angle:592 Change-Id: I06b3f0201751d90b7c1efdefe8db07d114bd87dd Reviewed-on: https://chromium-review.googlesource.com/191082 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill d51df461 2014-02-26T14:18:17 Remove the second translator target, only using static. Because libGLESv2 needs a static translator to link against internal types like Attribute and Varying, as well as using some other internal methods, we can for now disable the component build for the translator. In the future we can support a proper component build with exports across library boundaries. BUG=angle:568 Change-Id: Ie3efc0a29342d02491e91952c3c2398568f83576 Reviewed-on: https://chromium-review.googlesource.com/187699 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill c9f140d8 2014-02-18T15:27:21 Add preprocess bison files to the gyp files. We had accidentally left out the y and l files from our generation scripts, causing us to miss several instances of updated enum names. BUG=angle:550 Change-Id: I8790742fbaab5435e4c0db4f61c3e8194a231550 Reviewed-on: https://chromium-review.googlesource.com/186972 Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang d5da329c 2014-02-06T13:24:33 Improve the enumerate_files.py script. Cleaned up the agument parsing and added support for excluding files/folders. BUG=angle:552 Change-Id: I6dcf965f9b92ce4aa1c0b64bd4f9a0420883bcf6 Reviewed-on: https://chromium-review.googlesource.com/185204 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 1106aeb2 2014-02-06T11:06:50 Move the enumerate_files script to the build directory. BUG=angle:552 Change-Id: I9f357c68c258c7731cf0d5c2ceed3a2875b21228 Reviewed-on: https://chromium-review.googlesource.com/185142 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 2e5c6042 2014-02-06T10:45:32 Add GL headers to libGLESv2, libEGL and translator projects. Change-Id: I66f36623eb5fb60fbb92d16af4f9854688b9484c Reviewed-on: https://chromium-review.googlesource.com/185190 Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Shannon Woods 5cd4761f 2013-12-02T19:13:14 Re-add jschuh's TODO comment for 64-bit warnings Change-Id: I690cfd9146c51cd1e19dc2bcd2cc227b4d156cd0 Reviewed-on: https://chromium-review.googlesource.com/178995 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Shannon Woods <shannonwoods@chromium.org>
Jamie Madill d5ee05cc 2013-10-30T13:08:58 Silence a warning present in Release mode, with a lack of exported symbols in compilerdebug.obj. TRAC #24052 Signed-off-by: Shannon Woods Signed-off-by: Geoff Lang
Geoff Lang 31f0dc0a 2013-10-08T13:29:13 Merge a0bd8ef0aca9eab29a0e5a437b803c5d95a777c6 from master. Use ANGLE_TRANSLATOR_STATIC to enforce a static build of the translator in chromium. This prevents strange warnings from defining COMPONENT_BUILD=0. Also rename COMPILER_IMPLEMENTATION to ANGLE_TRANSLATOR_IMPLEMENTATION for better consistency in chromium. ANGLEBUG=477 R=zmo@chromium.org BUG=
Geoff Lang 2b6008c9 2013-10-08T10:44:05 Merge 366229430ea056cf7f33917a4fa37b721512a42c from master. Create a static translator project and allow the previous translator project to be used in component builds.
Geoff Lang 17732823 2013-08-29T13:46:49 Moved the compiler source files into directories based on their project and added a compiler.gypi to generate the compiler projects.