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>
Still more build failures, different ones this time.
This reverts commit 9f8a57c641.
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>
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>
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>
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>
Chromium directly includes our common/version.h and couldn't build after this change.
This reverts commit f0a2c7727f.
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>
This reverts commit 3cbdc34d4e.
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>
This reverts commit e1425d95ba.
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>
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>
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>
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>
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>
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>
Our build in GN differed slightly from our gyp build, causing the
linker to complain about inconsistent linkage. Also remove some
stray definitions of EGLAPI from our headers.
Change-Id: I5d3a09ccb0cec528ead33944ce0996cceed32d86
Reviewed-on: https://chromium-review.googlesource.com/210821
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
In a previous fix to a Clang build error, we had neglected to update
the GN build. Broken in commit 07d49ef535.
BUG=angle:707
Change-Id: Ic11aa907d591540e915bec60f3bafaea471689d5
Reviewed-on: https://chromium-review.googlesource.com/210652
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brett Wilson <brettw@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Translator headers that are included by dependent code
(example: ShaderLang.h) expect to be able to include files from
"includes" (example: "KHR/khrplatform.h"). This automatically
applies this include path to dependent targets.
Change-Id: I6990f66132562f142a6cdf8b8c434d2dbaad1c98
Reviewed-on: https://chromium-review.googlesource.com/209452
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Brett Wilson <brettw@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
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>
* Move "private" functions into generatemip.inl.
* Use size_t for all dimensions.
* Use uint8_t pointers instead of unsigned char pointers.
BUG=angle:666
Change-Id: I8a1324802e4d670c042e0961c2b6f6fd53f4ebc7
Reviewed-on: https://chromium-review.googlesource.com/202503
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
* 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>