Fix initializing the MaxExpressionComplexity and MaxCallStackDepth compiler limits.

BUG=339860

Change-Id: Ia34304247f0aebaf00878c28f658f35a773b8061
Reviewed-on: https://chromium-review.googlesource.com/184581
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Disable MRT support when using D3D10 feature levels.

D3D10 cards perform poorly when the pixel shader outputs to multiple
render targets that are not bound.

BUG=325581

Change-Id: I13f6f98861ffeb77cd21f7401ded4425e4ea7841
Reviewed-on: https://chromium-review.googlesource.com/185400
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
Draft spec for ANGLE_platform_angle_d3d

This is the initial draft of a spec that extends
EGL_EXT_platform_base to allow choosing a particular ANGLE D3D
backend.

Change-Id: I1d80fa8b3c4a59fe998f6d15aa0f393bdb9d26c1
Reviewed-on: https://chromium-review.googlesource.com/184975
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Commit-Queue: Scott Graham <scottmg@chromium.org>
Tested-by: Scott Graham <scottmg@chromium.org>
Add an option to initialize varyings without static use in vertex shaders

ANGLEBUG=554
TEST=webgl conformance test on mac: shaders-with-varyings.html
r=kbr@chromium.org,nicolascapens@chromium.org
cc=alokp@chromium.org,shannonwoods@chromium.org

Change-Id: I2e692d43fb15f1cf3ade3e398020d1fedb2b32f0
Reviewed-on: https://chromium-review.googlesource.com/185922
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Zhenyao Mo <zmo@chromium.org>
Refresh generated projects.

Change-Id: I0764df59d1c1d327d6d1b19724eb5ee946c22ef6
Reviewed-on: https://chromium-review.googlesource.com/186124
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
Tie program binary version to commit hash.

Store the commit date in version.h, and in the DLL properties.
This will allow Chrome, or other apps who reference ANGLE internally,
to pull chronological version information about ANGLE.

BUG=angle:529
Change-Id: I307bf44103913aaaeb875a2e3ade1fab77838c48
Reviewed-on: https://chromium-review.googlesource.com/182142
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
Fix commit id versioning when building with Chrome.

The GYP syntax would cause problems with the ninja build.

BUG=angle:529

Change-Id: I84a30afc9bd8900535e44f5d5f9d8f766a4686e8
Reviewed-on: https://chromium-review.googlesource.com/186610
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
Fix commit header generation on non-Windows platforms.

Previously we relied on a batch file, which for obvious reasons
isn't cross-platform.

BUG=angle:529

Change-Id: Ia1e3944f8ed2096773e68c39d48ae2dd7370897b
Reviewed-on: https://chromium-review.googlesource.com/186974
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
Fix standalone Linux build.

We can include Makefiles in the ignore list, and need a few extra
flags to fix the GCC build on Linux.

BUG=angle:563

Change-Id: Iacd386359f0c0d9bb87ddc544dd8b4da2cb8fee0
Reviewed-on: https://chromium-review.googlesource.com/186902
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
Fix git call syntax in commit_id.bat

BUG=angle:566

Change-Id: I437bdec916dbfe12cb310a20d4f38c18072eacd0
Reviewed-on: https://chromium-review.googlesource.com/187210
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
Detect cross-process HWNDs and verify DXGI 1.2 exists in D3D11.

DXGI 1.2 is required to create a swap chain for a HWND owned by another
process.  This fix will allow us to fall back to creating a Renderer9 if
DXGI 1.2 is not available instead of failing to create the swap chain
later.

BUG=angle:562

Change-Id: Iad1b37967e38452cae201a6d6fa621ad66ce5f3c
Reviewed-on: https://chromium-review.googlesource.com/186977
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Re-initialize shader translator properly after one shutdown.

Because of a local static, we could get stuck and never re-initialize
the translator after calling ShFinalize.

BUG=344043

Change-Id: Ib4d18da886eac28f3e1bc959a7eadf5b34d9410f
Reviewed-on: https://chromium-review.googlesource.com/186975
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
Fix typo in Python commit id script.

BUG=angle:529

Change-Id: Ife174e3fb4cb32342f519691d1d5d5c015cf2727
Reviewed-on: https://chromium-review.googlesource.com/187541
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
Move the enumerate_files script to the build directory.

BUG=angle:552

Change-Id: Ie45a38bb26edfe1bf6d12b5d4918110be13acc33
Reviewed-on: https://chromium-review.googlesource.com/187531
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
Improve the enumerate_files.py script.

Cleaned up the agument parsing and added support for excluding files/folders.

BUG=angle:552

Change-Id: I0d59f83fe2e20b8bc23564ecfb1f98c08c70ca94
Reviewed-on: https://chromium-review.googlesource.com/187532
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
Use a stable ordering when enumerating files.

Output the enumerated files in sorted order when running enumerate_files.py
from gyp, to prevent unnecessary buildfile churn that makes comparing
revisions noisy.

Change-Id: Ia9f759954ea1ae66628f7b6ef3419c47fe65886e
Reviewed-on: https://chromium-review.googlesource.com/187533
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
Allow creating fixed-size window surfaces.

BUG=320021

Change-Id: I97cdd65ac17ee142700dbf0f363891500e967571
Reviewed-on: https://chromium-review.googlesource.com/184205
Reviewed-by: John Bauman <jbauman@chromium.org>
Tested-by: John Bauman <jbauman@chromium.org>
Update codereview.settings to point to gerrit.

BUG=angle:570

Change-Id: I89dcb347d0b104219263024e419ff578f8a7aa7f
Reviewed-on: https://chromium-review.googlesource.com/187841
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Fix long error messages breaking InfoLog::append.

Using two calls to vsnprintf allows us to correctly determine
maximum buffer size as well as fixing garbage characters from
a missing NULL terminator.

Bug report from roland@lagoa.com.

BUG=angle:561

Change-Id: I4eb156342d9106d40783a3cf57c0c1d1889390e2
Reviewed-on: https://chromium-review.googlesource.com/187843
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
Fix not rewriting else-if blocks.

We would miss expanding the else-if clauses in a chain
of selection statements.

BUG=346463

Change-Id: I8d16b9f25c97b8f6e7e73ad11bf7dae8e8c57ed7
Reviewed-on: https://chromium-review.googlesource.com/187844
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>