Граф коммитов

102 Коммитов

Автор SHA1 Сообщение Дата
Corentin Wallez 64598b53ef Add the ANGLEPlatform entry points to eglGetProcAddress
Reland with a Windows build fix.

We want to move the Chromium initialization of the ANGLE platform from
being Windows-specific to being EGL-specific. Because the mechanisms by
which the ANGLE library is loaded are OS-specific, it is inconvenient to
use dlsym and friends to get the ANGLEPlatform entry points. Instead
we expose the through eglGetProcAddress which is readily available in the
EGL-specific part of Chromium.

BUG=angleproject:1621

Change-Id: I022a39493756a3b5d1ed626fd05e74af3f043211
Reviewed-on: https://chromium-review.googlesource.com/410066
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2016-11-15 18:04:00 +00:00
Yuly Novikov dfd7fb2ade Cleanup after merging translator_lib into translator
Rename a few references to translator_lib

BUG=angleproject:1596

Change-Id: Ib715fdd8a949dc46a5ef628ea2d7f71b1b771845
Reviewed-on: https://chromium-review.googlesource.com/410287
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2016-11-11 22:32:37 +00:00
Yuly Novikov ea5865497e Cleanup after translator component removal
- Unite translator with translator_lib
- Remove flags and defines for shared library exports

BUG=angleproject:1596

Change-Id: Icd145a4b79e2472766a2b56017bb0f36f244482e
Reviewed-on: https://chromium-review.googlesource.com/410261
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2016-11-11 19:45:51 +00:00
Corentin Wallez 7f07caa961 Rename the build/ directory.
GYP related files went in gypfiles/, and the gni went in gni/ this
changes frees up the build/ directory name for Chromium's build/
directory.

BUG=angleproject:1569

Change-Id: I76fe343d569239c2732ba87986fcf7debc21d417
Reviewed-on: https://chromium-review.googlesource.com/403029
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2016-11-08 14:48:42 +00:00
Yuly Novikov e653403bae Remove component translator target and keep static_library.
Rename translator_static to translator and use it everywhere.

BUG=angleproject:1596

Change-Id: I36c990d54979d2460b1513a65cca0b82f8d65c80
Reviewed-on: https://chromium-review.googlesource.com/406668
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2016-11-03 17:07:18 +00:00
Geoff Lang d08f3b3df7 Add stubs for a NULL renderer.
BUG=angleproject:1468

Change-Id: I2ed2b65a4b6f6ea3dda61c0467aef95e407cd38c
Reviewed-on: https://chromium-review.googlesource.com/388844
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2016-10-05 18:45:49 +00:00
Corentin Wallez 054f7ed0d6 preprocessor: Miscellaneous cleanups
- Use full header paths in includes
- Use ASSERT instead of assert
- Use angle::NonCopyable instead of PP_DISALLOW_COPY_AND_ASSIGN
- Use range-for in a couple places
- Remove pp_utils.h

BUG=angleproject:1522

Change-Id: If107fef89e8465bca65cf664926d1051c5d1e232
Reviewed-on: https://chromium-review.googlesource.com/387212
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2016-09-26 19:25:29 +00:00
Jamie Madill 1db8a26b56 Fix warning in standalone in new validation.
BUG=angleproject:1512

Change-Id: Ifdb8d4c38e3c90e03eee42ba9fd6390dffd61363
Reviewed-on: https://chromium-review.googlesource.com/388611
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2016-09-22 21:11:14 +00:00
Corentin Wallez a5615c69b1 BUILD.gn: Disable pool alloc on all translator dependents when fuzzing
It contains defines that need to be consistent between the header and
the implementation.

BUG=angleproject:1522
BUG=chromium:647807

Change-Id: Ica144c455b7366bd9939a07b171edffe5af8bf35
Reviewed-on: https://chromium-review.googlesource.com/386945
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2016-09-19 19:55:36 +00:00
Corentin Wallez 30e11ab241 BUILD.gn: make the translator fuzzer a source set
When we want to use GN standalone, the fuzzer_test template won't exist.
Instead make the fuzzer a source set that is used by a target in Chrome.

BUG=angleproject:1522

Change-Id: I347e633448d508eb124d0861b0fb28315923016c
Reviewed-on: https://chromium-review.googlesource.com/386636
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2016-09-16 15:47:10 +00:00
Corentin Wallez 28b6528ca2 Add a fuzzer for the shader translator.
BUG=angleproject:1522

Change-Id: Idbe8194ba478366e99c7460d403d03fe27dd89d0
Reviewed-on: https://chromium-review.googlesource.com/353153
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2016-09-15 20:03:53 +00:00
Yuly Novikov e3352f94a1 Change angle_util to be a shared library
So that there will be one instance of static thread synchronization variables
in AndroidWindow.
Previously there was one instance in lib_angle_deqp_gles2_tests__library
and one in libangle_deqp_libgles2, resulting in AndroidWindow::initialize
waiting forever.

Also make the change in GYP build to fix standalone build,
and fix rpath issues on Mac.

BUG=angleproject:1471
TEST=end2end and deqp tests on standalone Win10 and end2end on GN Mac 10.11

Change-Id: I731578459400bb47d269df129aabed9b67b555e6
Reviewed-on: https://chromium-review.googlesource.com/376202
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2016-08-30 20:50:59 +00:00
Yuly Novikov 55033e583b Revert "Change angle_util to be a shared library"
This reverts commit 2f9b5e6f79.

Change-Id: I90a7ba0596e79795c9549bc268eabff69c96d572
Reviewed-on: https://chromium-review.googlesource.com/376079
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2016-08-25 18:12:11 +00:00
Yuly Novikov 2f9b5e6f79 Change angle_util to be a shared library
So that there will be one instance of static thread synchronization variables
in AndroidWindow.
Previously there was one instance in lib_angle_deqp_gles2_tests__library
and one in libangle_deqp_libgles2, resulting in AndroidWindow::initialize
waiting forever.

BUG=angleproject:1471

Change-Id: Ia529c91e34960eb352730c1bb89a91ce6336c8a0
Reviewed-on: https://chromium-review.googlesource.com/368983
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2016-08-24 21:01:16 +00:00
Austin Kinross 91e71ed99f Misc minor WinRT fixes and cleanups
Change-Id: Ibf041e74d81ef266791e6b6a3bb43bf504b035b3
Reviewed-on: https://chromium-review.googlesource.com/374040
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2016-08-23 20:11:39 +00:00
Jamie Madill 509a1d4602 GN: Enable more MSVS warnings.
Some warnings were enabled only in standalone builds. Enabling them in
the GN config will prevent standalone build breakage and also make
some potentially harmful warnings more visible to non-Windows devs.

BUG=angleproject:1449

Change-Id: I11fe9bac957864d37af37b3860a22fcbd91946ac
Reviewed-on: https://chromium-review.googlesource.com/360961
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2016-08-04 19:16:22 +00:00
Jamie Madill ce1ed238a5 D3D11: Detect driver version for blit workaround.
Since the newer driver versions are required for WebGL 2 conformance,
we need a solution that can detect a driver version to know if we
should apply the workaround.

Use a modified copy of Chrome's Windows GPU driver detection code.
In the future we should extend this to a full module when we port
the command buffer workarounds.

BUG=angleproject:1452

Change-Id: I783d5726454671cc22585a2bf990c071d539aa9f
Reviewed-on: https://chromium-review.googlesource.com/361962
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2016-07-24 18:42:37 +00:00
Jamie Madill a8503cefdc Re-land "GN: Enable chromium_code config instead."
Using "no_chromium_code" is a bit less strict, but ANGLE should be
able to handle slightly stricter warnings.

Re-land with fix for Clang build.

BUG=angleproject:1449

Change-Id: I8988287d630a6258f2f9ee90e7bfef5f2d5799cd
Reviewed-on: https://chromium-review.googlesource.com/361331
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2016-07-18 20:44:10 +00:00
Jamie Madill 5bc93c4186 Revert "GN: Enable chromium_code config instead."
Seems to fail the Clang build:

../../third_party/angle/src/libANGLE/renderer/d3d/d3d11/StateManager11.cpp(35,60):  error: comparison of integers of different signs: 'UINT' (aka 'unsigned int') and 'int' [-Werror,-Wsign-compare]
            maxSrvMip          = (desc.Texture2D.MipLevels == -1) ? INT_MAX : maxSrvMip;
                                  ~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~

BUG=angleproject:1449

This reverts commit aeb477fbe5.

Change-Id: I01baaf082f282c9d80a9c17fd6ffc2b8911313b2
Reviewed-on: https://chromium-review.googlesource.com/361094
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2016-07-18 16:34:54 +00:00
Jamie Madill aeb477fbe5 GN: Enable chromium_code config instead.
Using "no_chromium_code" is a bit less strict, but ANGLE should be
able to handle slightly stricter warnings.

BUG=angleproject:1449

Change-Id: Ifaf77201085dd70cf5ff628b1aa02de55c5e96ba
Reviewed-on: https://chromium-review.googlesource.com/360940
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2016-07-18 15:29:24 +00:00
Dirk Pranke 313d944745 Stop linking a static_initializer into the Mac chromium build.
The :angle-image_util target was a source_set rather than a
static_library(), causing us to link in loadimage.cpp, which
pulled in mathutils.cpp, which contains a static initializer.
Switching :angle_image_util to a static library (which is what GYP
does) solved the problem.

R=rsesek@chromium.org, cwallez@chromium.org
BUG=628052

Change-Id: I63387b3fc9d799c92f7c1b49a1c7c7435e70a951
Reviewed-on: https://chromium-review.googlesource.com/360228
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
2016-07-14 18:34:44 +00:00
Frank Henigman e8d5c5c436 Check ozone_platform_gbm before doing gbm stuff.
Just checking use_ozone fails when building an ozone platform which
doesn't have gbm, e.g. chromecast.

BUG=angleproject:1439
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_gn_chromeos_rel;tryserver.chromium.android:android_compile_dbg

Change-Id: Idec14441ce30dd872b3bfddfe844abfeb910cc02
Reviewed-on: https://chromium-review.googlesource.com/358860
Reviewed-by: Luke Halliwell <halliwell@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
2016-07-07 21:55:31 +00:00
Geoff Lang 6e4cfceb80 Refactor ANGLE's image manipulation code into a static library.
Allows for chromium to make use of some of the functionality.

BUG=612205

Change-Id: Ib4435ca44775a3a554b0fb3bd384bd4d31d7952d
Reviewed-on: https://chromium-review.googlesource.com/351753
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2016-07-04 22:06:07 +00:00
Frank Henigman 62ba96236e Require libdrm only if use_ozone=1.
This is more accurate, and doesn't break platforms with no pkgconfig,
e.g. Android.

BUG=angleproject:1297
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_gn_chromeos_rel;tryserver.chromium.android:android_compile_dbg

Change-Id: Iafbd66a5e81467d2a5431c3bb1ddd26a837888e7
Reviewed-on: https://chromium-review.googlesource.com/356481
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
2016-06-29 17:17:31 +00:00
Frank Henigman 77df676ea3 Add ozone display gn build.
Pick up ozone source when use_ozone = true.
Don't link X11 unless use_x11 = true.

BUG=angleproject:1297
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_gn_chromeos_rel

Change-Id: I94e6242189646c8a18b00436294bccdd4c5a8785
Reviewed-on: https://chromium-review.googlesource.com/352251
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
2016-06-23 18:02:48 +00:00
Robert Sesek db8ae83673 [Mac/GN] Properly set the install_name and rpath for shared_library targets and their consumers.
BUG=621932
R=cwallez@chromium.org

Change-Id: I10b0fd5a668d74b7062747002bc48ef0e0a6df9c
Reviewed-on: https://chromium-review.googlesource.com/354302
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2016-06-21 16:56:50 +00:00
Yuly Novikov a6426d6753 Android GL backend and end2end tests
Just the bare minimum implementation for end2end tests to run.

BUG=angleproject:1362
TEST=angle_end2end_tests on Nexus 5X

Change-Id: I92293e0f8bdc2ffaa5d4661927750d7cb3d931e6
Reviewed-on: https://chromium-review.googlesource.com/349353
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2016-06-07 02:19:07 +00:00
Jamie Madill e2e406c3a4 Add base::numerics for safe math and conversions.
This replaces are "IsUnsignedXXXSafe" family of methods.
Also add overflow checks to unpack block sizes.

BUG=angleproject:1397

Change-Id: Ib47be149b0486c70f795b0d0f8899441faac9340
Reviewed-on: https://chromium-review.googlesource.com/348062
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2016-06-03 15:52:02 +00:00
Jamie Madill e31fd8753b Enable Release ASSERT in ANGLE.
This will mainly affect the Chromium bots.

BUG=angleproject:790

Change-Id: I0c4318e83eedba851f15b3b139551cdb6a2fde12
Reviewed-on: https://chromium-review.googlesource.com/346103
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2016-05-27 20:05:05 +00:00
Jamie Madill 9e54b5af89 Add Vulkan stubs.
Currently enabled for Windows by default.

BUG=angleproject:1319

Change-Id: I87921c579bee466465fb1e3f629bb3a40fdff659
Reviewed-on: https://chromium-review.googlesource.com/328730
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2016-05-25 20:05:11 +00:00
Yuly Novikov 87ae8cdf04 Fix Linux standalone compilation.
simple_texture_2d, hello_triangle, stencil_operations, simple_texture_cubemap
fail to compile after https://chromium-review.googlesource.com/342050.

BUG=angleproject:1319
TEST=ninja -C out/Release all

Change-Id: Ib70008036f8688b737f3f40b5224437a7afdea19
Reviewed-on: https://chromium-review.googlesource.com/346121
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2016-05-20 00:48:21 +00:00
Nico Weber de44d3a43a gn/mac: Build GL code, and include CGL code.
BUG=chromium:431177

Change-Id: Id9c8ad68a9703591d6f576bfae3d7061526ed27f
Reviewed-on: https://chromium-review.googlesource.com/344740
Tryjob-Request: Nico Weber <thakis@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
2016-05-16 18:28:09 +00:00
John Bauman e271a7e4a1 Use data_deps to depend on :copy_compiler_dll
This should ensure that d3dcompiler_47.dll is saved into an isolate in
chromium, as it's used at runtime.

BUG=611235

Change-Id: I64801f00bf90f2be68c7a691724609bbf4d28dfa
Reviewed-on: https://chromium-review.googlesource.com/344351
Tryjob-Request: John Bauman <jbauman@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: John Bauman <jbauman@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
2016-05-12 03:00:53 +00:00
Steven Bennetts 369d03c191 Disable angle_enable_gl on chromeos
BUG=angleproject:1370

Change-Id: I63e3ee8fc6e08fcd2a908cdca3558af886526cbd
Reviewed-on: https://chromium-review.googlesource.com/342740
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2016-05-06 01:24:03 +00:00
Jeremy Roman 06feb81cb6 Make :angle_common depend on :commit_id.
BUG=chromium:601195
Change-Id: Ic90b8c8dbe07700e66c8fe973a3e620f439d2fbe
Reviewed-on: https://chromium-review.googlesource.com/337335
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2016-04-07 13:48:45 +00:00
Corentin Wallez cc068e9385 Add DisplayGL::getDriverVersion and implementation on Linux NVIDIA
Some GPU driver bug workarounds should be active only for specific
driver version ranges. This adds NVIDIA Linux driver detection using
the XNVCtrl X11 extension.

BUG=590870

Change-Id: I8cbf692a0c8a6da7473169f29d720bdc2d07663d
Reviewed-on: https://chromium-review.googlesource.com/329637
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2016-03-26 01:17:51 +00:00
Corentin Wallez dbc9ccfb71 Remove the _ANGLE targets from the GN build.
They are no longer needed by Chromium.

BUG=522967

Change-Id: I187eed52378a58f3ea24c3e21082c6a93e56da7f
Reviewed-on: https://chromium-review.googlesource.com/325330
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2016-02-05 18:01:10 +00:00
Corentin Wallez adc5b0eb75 Fix translator having multiply defined symbols in GN builds.
This error was introduced in 82b5ab606f
where the translator's essl and glsl sources are compiled in both
the translator and translator_lib targets. As translator depends on
translator_lib this caused symbols to be defined multiple times.

BUG=angleproject:1250

Change-Id: I50bab7112d1460e14710f50250fa2417b2163236
Reviewed-on: https://chromium-review.googlesource.com/321770
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
2016-01-12 22:07:26 +00:00
Corentin Wallez c89df2ba30 Add loadable_module versions of libEGL and libGLESv2.
Reland with a link fix for Clang on Windows

In order to implement the --use-gl=angle Chrome flag on Linux, we need
to have the ANGLE .so directly in the build directory however GYP
places shared_libraries under lib/ on Linux. On the contrary loadable_modules
cannot be linked against so we need to keep the shared_library targets.

This commit adds _ANGLE versions of the libEGL and libGLESv2 targets as
loadable module that depend on their respective shared library.

BUG=522967

Change-Id: Iad968ab786b94b6041c279921de99633d23b48a7
Reviewed-on: https://chromium-review.googlesource.com/318470
Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
2016-01-12 16:23:22 +00:00
Jamie Madill 1fae35562c Add dEQP Linux GN integration.
BUG=angleproject:1272

Change-Id: I20cb8968221c25bb374b3cc71d7ca619a35f1a2f
Reviewed-on: https://chromium-review.googlesource.com/320781
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
2016-01-12 14:59:21 +00:00
Jamie Madill edbc2449de Add dEQP GN integration.
This is Windows-only for now, but will be expanded to Linux. Also do
a bit of refactoring in our deqp.gypi file.

BUG=angleproject:1272

Change-Id: I526a99fe3b91a2d9e8901c7e033a4916a06780be
Reviewed-on: https://chromium-review.googlesource.com/320800
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
2016-01-11 19:20:42 +00:00
Austin Kinross 82b5ab606f Compile out GLSL/ESSL translator output code if it's not needed
In WinRT we only use the HLSL code, so the GLSL/ESSL output code
is not necessary and is only adding to our binary size.

BUG=angleproject:1250

Change-Id: I9363ca3981bde50a230f8353c1bcc09f6ea209cb
Reviewed-on: https://chromium-review.googlesource.com/317358
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tryjob-Request: Austin Kinross <aukinros@microsoft.com>
Tested-by: Austin Kinross <aukinros@microsoft.com>
2016-01-11 17:38:34 +00:00
Roland McGrath f786c2b976 GN: Use $root_out_dir in in copy_compiler_dll rule
The root_build_dir variable yields the root of the build tree.
But when the component is being built under a non-default
toolchain, its output files are delivered to a toolchain
subdirectory instead.  The copy_compiler_dll rule should put its
output next to where libANGLE and things built using it will go,
which is root_out_dir.  This fixes cases where the angle GN
component is instantiated under more than one toolchain, which
heretofore would produce multiple Ninja rules for the same target
file $root_build_dir/d3dcompiler_47.dll and thus get complaints
from Ninja.

BUG=512869

Change-Id: I9fe83c5c5fa74902ef270654d3707636588af6b7
Reviewed-on: https://chromium-review.googlesource.com/320119
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Roland McGrath <mcgrathr@chromium.org>
2016-01-05 20:59:59 +00:00
Corentin Wallez 4bc76d07e8 Revert "Add loadable_module versions of libEGL and libGLESv2."
This reverts commit 6beb0bfdd0.

It caused compile failures on win_clang_dbg because when building libEGL_ANGLE.dll DllMainCRTStartup wasn't defined.

Change-Id: I8080f8db373f5988d86560da1b8b2a1bae30d3ea
Reviewed-on: https://chromium-review.googlesource.com/318460
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
2015-12-15 20:07:39 +00:00
Corentin Wallez 6beb0bfdd0 Add loadable_module versions of libEGL and libGLESv2.
In order to implement the --use-gl=angle Chrome flag on Linux, we need
to have the ANGLE .so directly in the build directory however GYP
places shared_libraries under lib/ on Linux. On the contrary loadable_modules
cannot be linked against so we need to keep the shared_library targets.

This commit adds _ANGLE versions of the libEGL and libGLESv2 targets as
loadable module that depend on their respective shared library.

BUG=522967

Change-Id: I08f2ce0ee0430eff5bee852f09cd7d30b94d6266
Reviewed-on: https://chromium-review.googlesource.com/316421
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
2015-12-14 19:21:09 +00:00
Austin Kinross 502f3df6aa Define EGL_EGLEXT_PROTOTYPES in GN projects
This makes sure that EGL_EGLEXT_PROTOTYPES is defined in the
same places as GL_GLEXT_PROTOTYPES.

BUG=angleproject:1190

Change-Id: I0e55aad5728df765bff495822570e7590b157d68
Reviewed-on: https://chromium-review.googlesource.com/315208
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2015-12-03 17:54:50 +00:00
Dirk Pranke ac0f9b1f94 Add missing GN build dependency on -lrt for linux.
Without this fix, angle_end2end_tests links fine on Trusty
but not on Precise or older versions of Linux (util/linux/LinuxTimer.cpp
calls clock_gettime(), which is part of libc on newer versions of the
OS but requires -lrt on older versions. GYP had the dependency specified
but GN didn't).

R=cwallez@chromium.org
BUG=432959, 531296

Change-Id: I70e1f701d099f3ba72c7e5dfd7af6d47658ffad9
Reviewed-on: https://chromium-review.googlesource.com/312298
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
2015-11-13 15:07:25 +00:00
Geoff Lang ee48376c1f Update to the latest versions of the GL and EGL headers.
Add GLES 3.1 and 3.2 headers.

Remove GLES 3.0 extension headers and entry point files.

Re-land fixes double define from different style defines in libGLESv2.gypi
and other projects.

Re-land fixes missing defines in angle_util project in gn.

Change-Id: I1952413cd4390e6f5450df809f8f5867bf6f49e2
Reviewed-on: https://chromium-review.googlesource.com/299771
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
2015-09-15 20:13:55 +00:00
Geoff Lang 0393310feb Revert "Update to the latest versions of the GL and EGL headers."
Issues with GN build.

This reverts commit 8284436798.

Change-Id: I99d186019135bbbe250e95c9567854108d31c556
Reviewed-on: https://chromium-review.googlesource.com/299870
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
2015-09-15 17:07:24 +00:00
Geoff Lang 8284436798 Update to the latest versions of the GL and EGL headers.
Add GLES 3.1 and 3.2 headers.

Remove GLES 3.0 extension headers and entry point files.

Re-land fixes double define from different style defines in libGLESv2.gypi and
other projects.

Change-Id: I6204dc767bd83b7aa7e4d6e2fa338b2ce7f304d8
Reviewed-on: https://chromium-review.googlesource.com/299401
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2015-09-11 20:25:50 +00:00