- 23 Feb, 2015 6 commits
-
-
Cooper Partin authored
Change-Id: I89e5b5a2d2c0363ae07d5ba918187cb0d7056ac5 Reviewed-on: https://chromium-review.googlesource.com/251680Tested-by:
Cooper Partin <coopp@microsoft.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Geoff Lang authored
BUG=angle:883 Change-Id: Ie69c883c5ee539f911480fdcd9e73c46a3001b33 Reviewed-on: https://chromium-review.googlesource.com/250930Reviewed-by:
Brandon Jones <bajones@chromium.org> Reviewed-by:
Kenneth Russell <kbr@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
BUG=angle:882 Change-Id: I1a8c7b551b308c9362e56ce564ebde7d579c05a3 Reviewed-on: https://chromium-review.googlesource.com/251541Reviewed-by:
Brandon Jones <bajones@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
BUG=angle:490 Change-Id: I1555e7f09b23138753e52ddf720d088587f7cadb Reviewed-on: https://chromium-review.googlesource.com/232104Reviewed-by:
Shannon Woods <shannonwoods@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
Change-Id: I220ffefcbf9bc988d986e729961c9a893d6b5159 Reviewed-on: https://chromium-review.googlesource.com/251580Tested-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Arun Patole authored
This change adds ANGLE support for abs/sign variants introduced in ESSL3. BUG=angle:923 TEST=Unit tests, dEQP tests Unit Tests: TypeTrackingTest.BuiltInAbsSignFunctionFloatResultTypeAndPrecision TypeTrackingTest.BuiltInAbsSignFunctionIntResultTypeAndPrecision dEQP 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: I2a3b028611f0eaaac3c031f8926d34a0e146663d Reviewed-on: https://chromium-review.googlesource.com/251491Reviewed-by:
Olli Etuaho <oetuaho@nvidia.com> Tested-by:
Olli Etuaho <oetuaho@nvidia.com>
-
- 20 Feb, 2015 4 commits
-
-
Jamie Madill authored
Exporting STL classes from a DLL produces a warning on MSVS. This warning would only show up for component builds. Change-Id: I1bd9b820a45c04f92b0278d7018507d6a2bc7936 Reviewed-on: https://chromium-review.googlesource.com/251704Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Nico Weber authored
Also add comments explaining why the one that are still around are still around. Change-Id: Id8ce1fa3fe2a3bc97a179018737cc8d027b1068a Reviewed-on: https://chromium-review.googlesource.com/250878Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Nico Weber <thakis@chromium.org> Commit-Queue: Nico Weber <thakis@chromium.org>
-
Geoff Lang authored
BUG=angle:882 Change-Id: I6fd426b19677b51f4df74d495acc9a6fde9822e8 Reviewed-on: https://chromium-review.googlesource.com/251540Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Brandon Jones <bajones@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Daniel Bratell authored
The implicit conversion of hundreds of string literals to TString generated a lot of machine code. By keeping them as string literals all the way the code will be smaller and faster. This is the change with clang for x64 (note VisitUnary in particular): Total change: -41392 bytes ========================== 2 added, totalling +469 bytes across 1 sources 2 removed, totalling -472 bytes across 1 sources 5 shrunk, for a net change of -41389 bytes (54126 bytes before, 12737 bytes after) across 1 sources 279692 unchanged, totalling 51433327 bytes ------------------------------------------------------------------------------------------------------------------------------------ -41392 - Source: /home/bratell/src/chromium/src/third_party/angle/src/compiler/translator/OutputHLSL.cpp - (gained 469, lost 41861) ------------------------------------------------------------------------------------------------------------------------------------ New symbols: +328: sh::OutputHLSL::outputConstructor(Visit, TType const&, char const*, TVector<TIntermNode*> const*) type=t, size=328 bytes +141: sh::OutputHLSL::outputTriplet(Visit, char const*, char const*, char const*) type=t, size=141 bytes Removed symbols: -133: sh::OutputHLSL::outputTriplet(Visit, std::basic_string<char, std::char_traits<char>, pool_allocator<char> > const&, std::basic_string<char, std::char_traits<char>, pool_allocator<char> > const&, std::basic_string<char, std::char_traits<char>, pool_allocator<char> > const&) type=t, size=133 bytes -339: sh::OutputHLSL::outputConstructor(Visit, TType const&, std::basic_string<char, std::char_traits<char>, pool_allocator<char> > const&, TVector<TIntermNode*> const*) type=t, size=339 bytes Shrunk symbols: -388: sh::OutputHLSL::writeEmulatedFunctionTriplet(Visit, char const*) type=t, (was 628 bytes, now 240 bytes) -714: sh::OutputHLSL::visitBranch(Visit, TIntermBranch*) type=t, (was 1017 bytes, now 303 bytes) -9738: sh::OutputHLSL::visitAggregate(Visit, TIntermAggregate*) type=t, (was 17609 bytes, now 7871 bytes) -14132: sh::OutputHLSL::visitBinary(Visit, TIntermBinary*) type=t, (was 17627 bytes, now 3495 bytes) -16417: sh::OutputHLSL::visitUnary(Visit, TIntermUnary*) type=t, (was 17245 bytes, now 828 bytes) Change-Id: Id0f87d72f6d7f1ab7b543f0d28d5a8b7c7db9ec7 Reviewed-on: https://chromium-review.googlesource.com/251090Reviewed-by:Geoff Lang <geofflang@chromium.org> Tested-by:
bratell at Opera <bratell@opera.com>
-
- 19 Feb, 2015 8 commits
-
-
Geoff Lang authored
BUG=angle:879 Change-Id: If204156e69480cd7e1e7c43db8496dd150ac9e15 Reviewed-on: https://chromium-review.googlesource.com/251241Tested-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
Change-Id: I263f00e67eb3243c661de8f949933ea56e34d4b5 Reviewed-on: https://chromium-review.googlesource.com/251220Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
Fix up the missing DISALLOW_COPY_AND_ASSIGN macros and various small problems preventing us from turning on this warning. This should ensure we more often use the DISALLOW macro going forward. Change-Id: I2e1a9d23a31a51279a577fad8dffb8c1530e2ee8 Reviewed-on: https://chromium-review.googlesource.com/251100Tested-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Cooper Partin <coopp@microsoft.com> Tested-by:
Cooper Partin <coopp@microsoft.com> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
This for some reason is failing angle_unittests: http://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20%28NVIDIA%29/builds/13296 Happens across platforms. This reverts commit 3e142e47. Change-Id: Ideb20457546c0dec10c9584182cc8d5ead42309d Reviewed-on: https://chromium-review.googlesource.com/251160Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Gregoire Payen de La Garanderie authored
Fixes the generation of 3D texture mipmaps. BUG=angle:915 Change-Id: Icc0c91099f60713d511ebe1a2248a21b63efddaa Reviewed-on: https://chromium-review.googlesource.com/244720Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
-
Olli Etuaho authored
This is the first built-in function that has an out parameter, so l-value checks are added for built-ins. BUG=angle:918 Change-Id: Ifd5befe955224f706f864e25107879c9cdce9e9f Reviewed-on: https://chromium-review.googlesource.com/250780Tested-by:
Olli Etuaho <oetuaho@nvidia.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Zhenyao Mo <zmo@chromium.org>
-
Olli Etuaho authored
The integer precision is different on DirectX 9 and 11 backends. DirectX 11 guarantees native 32-bit integers. BUG=angle:919 Change-Id: I7619e66f8aaa1177c32b6da185fe805ce8a19b71 Reviewed-on: https://chromium-review.googlesource.com/250280Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Olli Etuaho <oetuaho@nvidia.com>
-
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 3 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>
-