- 19 Feb, 2015 1 commit
-
-
Arun Patole authored
This change adds ANGLE support for abs/sign variants introduced in ESSL3. BUG=angle:923 TEST=dEQP tests Tests passing 100% because of this change: dEQP-GLES3.functional.shaders.builtin_functions.common.abs dEQP-GLES3.functional.shaders.builtin_functions.common.sign Change-Id: If22032be2c1ed08451275262e311ef5ac613d45e Reviewed-on: https://chromium-review.googlesource.com/251060Reviewed-by:
Olli Etuaho <oetuaho@nvidia.com> Tested-by:
Olli Etuaho <oetuaho@nvidia.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
- 18 Feb, 2015 9 commits
-
-
Jamie Madill authored
This forces us to not use exceptions when they aren't enabled. Change-Id: I6abaf08ca4c275bd2fa0625905fd1de3448237ce Reviewed-on: https://chromium-review.googlesource.com/250901Tested-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Nico Weber <thakis@chromium.org>
-
Jamie Madill authored
Fails clang-win again. Apparently Clang mimics MSVS. This reverts commit af1bdff6. Change-Id: I48a503889a9e905fcdc9f101dbf98f7cb7912279 Reviewed-on: https://chromium-review.googlesource.com/250882Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
The platform implementation allows the app layer to pass in an object, on which ANGLE can call virtual methods. Our current platform will handle trace events, for app profiling, and histogram records for statistics. The platform approach gives a much more robust approach than using entry points for every piece of functionality, and is based on the interop with Blink. The default platform implementation does a no-op on every call. The destructor is also private, to ensure we do not call the destructor of the passed-in class. BUG=436191 Change-Id: I05641b89a48a9cff81ced059518fceb5aa6c883b Reviewed-on: https://chromium-review.googlesource.com/248631Tested-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Zhenyao Mo <zmo@chromium.org>
-
Geoff Lang authored
BUG=angle:879 Change-Id: Ida65d67d2935480dfe584026d37fb68cd2ab39d6 Reviewed-on: https://chromium-review.googlesource.com/250823Tested-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Brandon Jones <bajones@chromium.org>
-
Olli Etuaho authored
Constant folding % used to generate results from division instead of results from modulus. Fix this and introduce a test for this and other integer constant folding, that checks that the right constant values are found in the IntermNode tree. BUG=angle:916 TEST=angle_unittests Change-Id: I75e59b7734eb206378a1b2957af0a5437a90097c Reviewed-on: https://chromium-review.googlesource.com/249691Reviewed-by:
Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com> Tested-by:
Olli Etuaho <oetuaho@nvidia.com> Reviewed-by:
Nicolas Capens <capn@chromium.org>
-
Arun Patole authored
This change adds ANGLE support for isnan/isinf. BUG=angle:922 TEST=dEQP tests: dEQP-GLES3.functional.shaders.builtin_functions.common.isnan.* (high precision tests still fail) Tests passing 100% because of this change: dEQP-GLES3.functional.shaders.builtin_functions.common.isinf.* Reduced number of errors in tests: EQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common.isnan.* dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common.isinf_* Change-Id: I52bf18b59365ea7031746ae840550162d7e6b96e Reviewed-on: https://chromium-review.googlesource.com/250761Reviewed-by:
Olli Etuaho <oetuaho@nvidia.com> Tested-by:
Olli Etuaho <oetuaho@nvidia.com> Reviewed-by:
Nicolas Capens <capn@chromium.org>
-
Arun Patole authored
This change adds ANGLE support for following vector relational function variants introduced in GLES3: bvec lessThan(uvec x, uvec y) bvec lessThanEqual(uvec x, uvec y) bvec greaterThan(uvec x, uvec y) bvec greaterThanEqual(uvec x, uvec y) bvec equal(uvec x, uvec y) bvec notEqual(uvec x, uvec y) BUG=angle:920 TEST=dEQP tests Reduced number of errors in tests: dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational.* Change-Id: Id45ce77b35f39403e587a577622271d8e9815225 Reviewed-on: https://chromium-review.googlesource.com/250377Reviewed-by:
Nicolas Capens <capn@chromium.org> Reviewed-by:
Olli Etuaho <oetuaho@nvidia.com> Tested-by:
Olli Etuaho <oetuaho@nvidia.com>
-
Olli Etuaho authored
This refactoring makes it possible for tests to access the IntermNode tree produced by compilation by calling compileTree(). Removing ParseContext usage from OutputHLSL has the additional benefit of better separation between parsing and output. BUG=angle:916 Change-Id: Ib40954832316328772a5c1dcbbe6b46b238e4e65 Reviewed-on: https://chromium-review.googlesource.com/249723Reviewed-by:
Olli Etuaho <oetuaho@nvidia.com> Tested-by:
Olli Etuaho <oetuaho@nvidia.com>
-
Jamie Madill authored
This is C++11 STL. BUG=459399 Change-Id: I2e994e6b47535bcb38c193db2aaecc304e388772 Reviewed-on: https://chromium-review.googlesource.com/250581Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
- 17 Feb, 2015 8 commits
-
-
Jamie Madill authored
In our current code, we would use a staging texture as the working copy for buffer updates. This would trigger very large memcpy calls in some cases for large buffers with small updates. Instead, use a CPU memory buffer storage, and work with this storage when the user updates data. This plays much nicer with the VertexDataManager. BUG=angle:912 Change-Id: I8c32d3d9bb321a06534556ce05b4b99dc3d1e961 Reviewed-on: https://chromium-review.googlesource.com/249183Tested-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Austin Kinross authored
The latest version of this change disables multithreaded D3D shader compilation with any C++ compiler other than VC (e.g. Clang). Change-Id: If3ef5fd650055ae66397ea2c9121bfcf1792892a Reviewed-on: https://chromium-review.googlesource.com/250328Tested-by:
Austin Kinross <aukinros@microsoft.com> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Cooper Partin <coopp@microsoft.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Geoff Lang authored
BUG=angle:879 Change-Id: I35384f078d2ed86a6c72cc243753b56bc58617b0 Reviewed-on: https://chromium-review.googlesource.com/250390Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Brandon Jones <bajones@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
This allows the Buffer class to always know if it's intended to use static data vs dynamic. In some cases we would end up with NULL pointers and not know if we started with static or dynamic usage. BUG=angle:912 Change-Id: I79ca62674543e0cf4b2ba9b31b6d8918723b31ce Reviewed-on: https://chromium-review.googlesource.com/249460Tested-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Brandon Jones <bajones@chromium.org>
-
Jamie Madill authored
We can replace this method with a base class method which uses our implementation of "map". This allows us to reuse setData in other mappable buffer storage types. BUG=angle:912 Change-Id: I7848cb9440b806364d9b2a6e2251323e53206921 Reviewed-on: https://chromium-review.googlesource.com/249182Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Brandon Jones <bajones@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
Causes errors in Clang-Win. We can fix the error and then resubmit, but need to do a roll now. This reverts commit 31018486. Change-Id: I1c91b0a97031df33c2261089f6b54ccd3270306b Reviewed-on: https://chromium-review.googlesource.com/250430Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Arun Patole authored
BUG=angle:914 TEST=dEQP tests Tests passing 100% because of this change: dEQP-GLES3.functional.shaders.operator.common_functions.min.* dEQP-GLES3.functional.shaders.operator.common_functions.max.* dEQP-GLES3.functional.shaders.operator.common_functions.clamp.* Reduced number of errors in tests: EQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common.* These tests are not yet passing because of constant expressions bug (angle bug:913) Change-Id: Ibccee47ed78e994e40a0effe9afa9cf9692492b0 Reviewed-on: https://chromium-review.googlesource.com/250330Reviewed-by:
Olli Etuaho <oetuaho@nvidia.com> Reviewed-by:
Nicolas Capens <capn@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Cooper Partin authored
Change-Id: I7cf9e09f4003991e44195bedfe58891288541f81 Reviewed-on: https://chromium-review.googlesource.com/249432Reviewed-by:
Austin Kinross <aukinros@microsoft.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
- 16 Feb, 2015 2 commits
-
-
Nico Weber authored
Change-Id: If72bc38dbb484e56a0a26c3aa7ac38bbc319653a Reviewed-on: https://chromium-review.googlesource.com/249921Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Olli Etuaho authored
Integer and float modulus are separated into Mod and IMod operator types to make the code clearer and to make GetOperatorString return the correct value for both. Change-Id: Ibfbca2c558bf919b0eab6404d7349f87fe47a18c Reviewed-on: https://chromium-review.googlesource.com/249692Tested-by:
Olli Etuaho <oetuaho@nvidia.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Zhenyao Mo <zmo@chromium.org>
-
- 13 Feb, 2015 6 commits
-
-
Geoff Lang authored
BUG=angle:890 Change-Id: Ida58ecb9f3bcfd7ee9ae5c7cdbdff4aab9cca869 Reviewed-on: https://chromium-review.googlesource.com/249741Reviewed-by:
Cooper Partin <coopp@microsoft.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
BUG=angle:890 Change-Id: I097296c7125e203ba04eab1c179dc8c183ed4789 Reviewed-on: https://chromium-review.googlesource.com/249842Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Cooper Partin authored
Change-Id: If6e27db912711532e184a3a716728a19653c0471 Reviewed-on: https://chromium-review.googlesource.com/249550Tested-by:
Cooper Partin <coopp@microsoft.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
BUG=angle:879 Change-Id: I1a10a86b710cb0c76be1907136345bcac078da4d Reviewed-on: https://chromium-review.googlesource.com/249740Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
This bug could trigger a potential extra copy when drawing with a pack buffer (or possibly packing vertex/index data). BUG=angle:912 Change-Id: Ifead6524322aac5bc0be79a05f4db08c8f5a3225 Reviewed-on: https://chromium-review.googlesource.com/249181Tested-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
BUG=angle:890 Change-Id: I5202086990b4f4fbf455fd73c3e29e5e3e1f6160 Reviewed-on: https://chromium-review.googlesource.com/240092Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
- 12 Feb, 2015 13 commits
-
-
Olli Etuaho authored
This refactoring reduces code duplication and moves functionality that is not immediately related to the language grammar out of glslang.y. BUG=angle:911 Change-Id: If5e225461890ed542dee01905829df1c9a6f5e27 Reviewed-on: https://chromium-review.googlesource.com/248570Reviewed-by:
Zhenyao Mo <zmo@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Austin Kinross authored
Change-Id: I56b5428f40a294248305dff168b9b0bb7b0a9bcc Reviewed-on: https://chromium-review.googlesource.com/249240Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
Fix indentation, and simplify the naming scheme for the storage. Also add some missing DISALLOW_COPY_AND_ASSIGN macros. BUG=angle:912 Change-Id: I7ac36d8185ce926999501358cec222154d9a3492 Reviewed-on: https://chromium-review.googlesource.com/249180Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Olli Etuaho authored
This generalizes GetOperatorString so that it can be used outside ValidateLimitations. BUG=angle:911 Change-Id: I43a160b3d7d60388ad529a72f1720d3171f67315 Reviewed-on: https://chromium-review.googlesource.com/249073Tested-by:
Olli Etuaho <oetuaho@nvidia.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Zhenyao Mo <zmo@chromium.org>
-
Jamie Madill authored
Change-Id: I5cf9e873ddcb293f121a11bd620ce97ee718c049 Reviewed-on: https://chromium-review.googlesource.com/247760Tested-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
BUG=angle:890 Change-Id: I64f2a72b4a350f95acc2ca7080fea1a308422ca4 Reviewed-on: https://chromium-review.googlesource.com/242573Reviewed-by:
Kenneth Russell <kbr@chromium.org> Reviewed-by:
Brandon Jones <bajones@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
The type of the share handle depends on the implementation. BUG=angle:658 Change-Id: Id801f3d0c1e3def7cae5cbd88e7a7032b2f6d8fa Reviewed-on: https://chromium-review.googlesource.com/242050Reviewed-by:
Brandon Jones <bajones@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
Some implementations need to query size information directly from their native window instead of listening for size events and storing the result. Also move mSwapInterval to SurfaceD3D since it doesn't need to be stored in all cases and there is no query for it. It no longer requires that the SurfaceImpl's derivation remembers to set mSwapInterval in setSwapInterval too. BUG=angle:658 Change-Id: I499c1b8b842254636fc25ff5f2a90107af8fe327 Reviewed-on: https://chromium-review.googlesource.com/242039Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Brandon Jones <bajones@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
BUG=angle:658 Change-Id: Id0054406a5ce6f6ffef28ce84737547c1869efde Reviewed-on: https://chromium-review.googlesource.com/242038Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Brandon Jones <bajones@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
We would always expand a struct name to always include its symbol ID. This fixes the workaround to only affect scoped structs. We can leave global structs, which are by definition uniquely named, without decorating them with a symbol ID. This fixes several tests in dEQP's shader.linkage.varying.struct. Re-land with GLSL translator bug fixed. BUG=angle:910 Change-Id: I23a932bd1dadea5e9aafabde697e6a2af9a43f2b Reviewed-on: https://chromium-review.googlesource.com/249134Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Zhenyao Mo <zmo@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Geoff Lang authored
Since applyTransformFeedbackBuffers is called even if transform feedback is not active now, remove the UNREACHABLE. Change-Id: Ibc43cb715f8035437986d1eaa94faf4036581d8f Reviewed-on: https://chromium-review.googlesource.com/249121Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
This patch has a bug which breaks the GLSL to GLSL translator. See broken GPU FYI bot builds on the Chromium waterfall: http://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20%28NVIDIA%29/builds/13074 This reverts commit 489ffc4d. Change-Id: I8241c6d658f4f31af91b89af1141d3d778ff7c70 Reviewed-on: https://chromium-review.googlesource.com/249131Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Gregoire Payen de La Garanderie authored
Also allow points drawing without gl_PointSize if transform feedback is active. Change-Id: I172d423e847b35b94ebaea102dd97b695575c828 Reviewed-on: https://chromium-review.googlesource.com/246100Tested-by:
Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
- 11 Feb, 2015 1 commit
-
-
Jamie Madill authored
For struct varyings with nested structs, we would count registers incorrectly, and produce D3D link errors. This fixes tests in the dEQP's shaders.linkage.varying.struct. BUG=angle:910 Change-Id: I47ea6dba36bf57cf94a7e7f30997c6c9096c2b40 Reviewed-on: https://chromium-review.googlesource.com/247243Tested-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Zhenyao Mo <zmo@chromium.org>
-