This will help port OSWindow to other platforms.
BUG=angleproject:892
Change-Id: If9884d310d80421e2fc09cffd03bcf01327b1eee
Reviewed-on: https://chromium-review.googlesource.com/283900
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
This includes an implementation of OSX timer and path_utils.
BUG=angleproject:891
Change-Id: Id5440a8321bcfd4a61f3fe35b4a3fc0c651f564f
Reviewed-on: https://chromium-review.googlesource.com/278211
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
On Linux all windows are polled separately contrary to windows in which
the callback is used on all windows.
BUG=angleproject:892
Change-Id: Ib1538f12ab2fa1864d29c91b9c5bfc2204cd1fa7
Reviewed-on: https://chromium-review.googlesource.com/272945
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
These warnings are currently disabled because these files are not with
angle_code set to 1 in the gyp files to avoid gtest's code warnings.
We hope to either fix warnings in gtest or change our build system to
not use warnings for gtest.
BUG=angleproject:1003
Change-Id: I281781b77f92ef8c394dd53fbbd50d525e4da5c9
Reviewed-on: https://chromium-review.googlesource.com/271412
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
Two-thirds of them run and work well.
BUG=angleproject:892
Change-Id: I401a7ef4fd055eda7276bd34dcf0fc6ae0deff13
Reviewed-on: https://chromium-review.googlesource.com/270124
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
The essl_to_hlsl and essl_to_glsl projects were exactly the same so it
doesn't make sense to keep both.
BUG=angleproject:981
Change-Id: Ibf034a71e94ba5002f9c40ac87720bf0de74ae18
Reviewed-on: https://chromium-review.googlesource.com/266872
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
There was no real reason to keep them in an angle directory and it makes
the generated projects nicer.
BUG=angleproject:981
Change-Id: I844e44dc5c2df51f5292cff4bdffe5e951745aae
Reviewed-on: https://chromium-review.googlesource.com/266871
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
It has very little to do with ANGLE and should not be in the repository.
BUG=angleproject:981
Change-Id: I7aa97b8f56b49beda591e90afcffcb27619beaec
Reviewed-on: https://chromium-review.googlesource.com/266870
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
*re-land with fix for Chromium compile*
This saves us from needing to replicate the same code in two places.
BUG=angleproject:956
Change-Id: I68dffee715df03bd25685e3ed5c0506ffc41c3b9
Reviewed-on: https://chromium-review.googlesource.com/263258
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
This saves us from needing to replicate the same code in two places.
BUG=angleproject:956
Change-Id: Ibc80997eec184d0d5aa9c6c076c9d4507fbf8caa
Reviewed-on: https://chromium-review.googlesource.com/262776
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
Adds precision emulation and WebGL 2 and GLES3 specs as options. The
example command line is also fixed.
Change-Id: Ia45eca1815724a63b26662ee0cadecf9dfea51f9
Reviewed-on: https://chromium-review.googlesource.com/236793
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Also, fix a few issuse for ninja build "all" to finish.
BUG=angle:775
TEST=translator.cc compiles OK
Change-Id: I6507e9143882a628a7737dd139efb6d8d358b0db
Reviewed-on: https://chromium-review.googlesource.com/227490
Tested-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Added enums to allow users to request major and minor versions of the
underlying API and if a WARP device is used.
BUG=angle:490
Change-Id: I0bfb2ac8d327da28a47cc8e6346300e47ab9538c
Reviewed-on: https://chromium-review.googlesource.com/225081
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
This benchmark will attempt to reproduce the slowdown we see
in D3D11 on the turbulenz GPU particles demo.
BUG=angle:705
Change-Id: I9c4c2f09d4282feae30f448fd374cdbb6bceae9b
Reviewed-on: https://chromium-review.googlesource.com/216467
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Extra parameters include pixel bit sizes, swap interval
and if we want multisampling. This gives parity between
the tests and samples EGL creation options.
BUG=angle:730
Change-Id: I68d619c2ea141794f0089456bb6bba3d3b1c2a07
Reviewed-on: https://chromium-review.googlesource.com/213296
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
This allows us to use OS Windows and EGL contexts differently
for different implementations - eg, tests and samples.
BUG=angle:730
Change-Id: I65e69fd829c3dbf2f1b406d90045bc296798ebb6
Reviewed-on: https://chromium-review.googlesource.com/213290
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
This code shares the Window and EGL logic between the two
projects.
BUG=angle:730
Change-Id: I8940371226a8f7b02579c332f51679c4a5d0e2a5
Reviewed-on: https://chromium-review.googlesource.com/212799
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Instead of duplicating GL header define values, explictly return
GLenum for variable queries in the shader inspection API. This
reduces the duplicate defines in the shader compiler header.
BUG=angle:466
Change-Id: Iddaaff597b188251fa2e546f352bf77ab3ac43bc
Reviewed-on: https://chromium-review.googlesource.com/205860
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
Instead of duplicating GL header define values, explictly return
GLenum for variable queries in the shader inspection API. This
reduces the duplicate defines in the shader compiler header.
BUG=angle:466
Change-Id: If631b20ce68747297a946e1371def7709027a613
Reviewed-on: https://chromium-review.googlesource.com/204937
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
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>
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>
Passing parameters from the sample constructor allows us to test
ES3 functionality, as well as choose between D3D9 and 11.
BUG=angle:521
Change-Id: I7b9543b399450f62c5415654e8026a7c218b7e37
Reviewed-on: https://chromium-review.googlesource.com/193292
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
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>