- 09 Nov, 2015 2 commits
-
-
Corentin Wallez authored
Ideally we want to use EXT_swap_control as the code currently does as it allows us to specify the swap interval of each drawable independently. However open source drivers do not expose this extension and instead expose the MESA and SGI versions that have a global swap interval. This commit changes the code to use the best swap_control extension it can, potentially changing the swap interval on each swap buffers on lesser extensions. BUG=angleproject:1206 Change-Id: I251c6edf400aeeae5359a4370020e74b8e6cae51
-
Corentin Wallez authored
This reverts commit 45a7d64f. Change-Id: I2a8212c7507a7566baca200ed938d9e00f7103c2
-
- 06 Nov, 2015 16 commits
-
-
Corentin Wallez authored
This reverts commit 2df979ed. Change-Id: Iff4ec858b8f42a4749cfc55749eb8f57b419f98f Reviewed-on: https://chromium-review.googlesource.com/311271Tested-by:
Corentin Wallez <cwallez@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
-
Corentin Wallez authored
For some reason it cause compile errors with clang on Windows, potentially with a wrong include order. BUG=None Change-Id: I11e9ab4dcc9f601b7d61616c7f61786bec29df91 Reviewed-on: https://chromium-review.googlesource.com/311151Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Corentin Wallez <cwallez@chromium.org>
-
Jamie Madill authored
Unpack the index data into line strips, which can result in a dynamically number of indices. To this end use a scratch vector in Renderer11 so we don't end up allocating memory every draw call. BUG=angleproject:597 Change-Id: Id3270611023cb6d163cd024e078d30ba5556e2ad Reviewed-on: https://chromium-review.googlesource.com/310500Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
D3D11 handles primitive restart similarly to OpenGL's fixed index, with a couple differences. It can't be toggled off, so we need to restrict the max element index (handled in a prior patch), and for smaller buffer types we need to rewrite the index data. BUG=angleproject:597 Change-Id: Ib890ce9b3f5511784138ea3953a384b1c483ca9e Reviewed-on: https://chromium-review.googlesource.com/309639Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
According to the resolution of Khonos bug 10287, we shouldn't be validating these precisions. Note that this is counter to the current ESSL spec text, but there's an open action item to change the spec language. TEST=dEQP-GLES3.functional.shaders.linkage.uniform.block.differing_precision BUG=angleproject:1088 Change-Id: Ib05dca792b89e57e90d3a5f9efdb3a202230f585 Reviewed-on: https://chromium-review.googlesource.com/310760Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
Failing the dEQP-GLES3 tests: http://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20dEQP%20%28NVIDIA%29/builds/4036/ 3 tests failed: dEQP_GLES3.Default/functional_multisample_fbo_4_samples_sample_coverage_invert (c:\b\build\slave\gpu_win_builder\build\src\third_party\angle\src\tests\deqp_support\angle_deqp_gtest.cpp:234) dEQP_GLES3.Default/functional_multisample_fbo_8_samples_sample_coverage_invert (c:\b\build\slave\gpu_win_builder\build\src\third_party\angle\src\tests\deqp_support\angle_deqp_gtest.cpp:234) dEQP_GLES3.Default/functional_multisample_fbo_max_samples_sample_coverage_invert (c:\b\build\slave\gpu_win_builder\build\src\third_party\angle\src\tests\deqp_support\angle_deqp_gtest.cpp:234) BUG=angleproject:1161 This reverts commit ff2ab571. Change-Id: Ibf61fc2c64ffc31778645bfe0292516b1f107397 Reviewed-on: https://chromium-review.googlesource.com/311243Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Shannon Woods authored
It makes gitiles sad. Change-Id: I54c1c326bbc579e5591ad5cffae06650d5f24957 Reviewed-on: https://chromium-review.googlesource.com/311082Reviewed-by:
Shannon Woods <shannonwoods@chromium.org> Tested-by:
Shannon Woods <shannonwoods@chromium.org>
-
Jeff Muizelaar authored
BUG=544853 Change-Id: I4ca77ed87c15a168c696c15f2438ad21c00985f6 Reviewed-on: https://chromium-review.googlesource.com/310271Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Shannon Woods authored
Also adds a table to document support for various APIs and platforms. Change-Id: Ie032f553dec23516242a96ce6788fb086fad4229 Reviewed-on: https://chromium-review.googlesource.com/311021Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Shannon Woods <shannonwoods@chromium.org>
-
Corentin Wallez authored
Causes angle_end2end_tests failures on Mac This reverts commit d63243f5. Change-Id: Idf25d7fe9f4162813a4fc67927191747f660fceb Reviewed-on: https://chromium-review.googlesource.com/311041Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Tested-by:
Corentin Wallez <cwallez@chromium.org>
-
Corentin Wallez authored
BUG=525930 Change-Id: I591308078c5a392a527291419567a11241a8be17 Reviewed-on: https://chromium-review.googlesource.com/309636Tested-by:
Corentin Wallez <cwallez@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tryjob-Request: Corentin Wallez <cwallez@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Corentin Wallez authored
This is a step required before adding an ANGLE extension that will allow passing the Visual ID to use for the context at display creation time: the configs will have to be compatible with it even if the visual has non-standard sizes. BUG=522149 Change-Id: I85e8ee3b9072934c665bddfa2b461d26f8903ff3 Reviewed-on: https://chromium-review.googlesource.com/311220Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Corentin Wallez <cwallez@chromium.org>
-
Geoff Lang authored
reland: use the defined preprocessor function. BUG=angleproject:1044 Change-Id: I6171708a2d55ec085ba2c598a1a863779842da6c Reviewed-on: https://chromium-review.googlesource.com/311270 Tryjob-Request: Geoff Lang <geofflang@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Olli Etuaho authored
Always qualify comma operator result with EvqTemporary in ESSL3, as specified. Also, it is possible that in the future some expressions are qualified as EvqConst but they'd still have side effects, in which case discarding them when they're the left operand of the comma operator would be wrong. This would be the case if ANGLE allowed "(a = b).length()" for example. For this reason it is better to check whether the left node has side effects, rather than check its const qualification, and only discard it if it doesn't. Also, Intermediate::addComma() never returns null, so there's no need to check the result. BUG=angleproject:1201 TEST=WebGL conformance tests conformance/glsl/misc/sequence-operator-returns-constant.html conformance2/glsl3/sequence-operator-returns-non-constant.html Change-Id: Ibfbd92baa4910b14c0dc8f8a3c3008440d191cd6 Reviewed-on: https://chromium-review.googlesource.com/311171Reviewed-by:Jamie Madill <jmadill@chromium.org> Tryjob-Request: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Tested-by:
Olli Etuaho <oetuaho@nvidia.com>
-
Olli Etuaho authored
This change is pure refactoring. It will help with fixing comma operator return value qualifier bug. BUG=angleproject:911 BUG=angleproject:1201 Change-Id: I481c337adbaf789cc959c8a1106f99ad7275e1e5 Reviewed-on: https://chromium-review.googlesource.com/311170Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Tested-by:
Olli Etuaho <oetuaho@nvidia.com>
-
Olli Etuaho authored
When parsing a storage qualifier results in an error, the parser should not leave the type uninitialized. Otherwise after recovering from the error the parsed value could contain uninitialized memory, which could cause flaky asserts in further parsing. TEST=dEQP-GLES2.functional.shaders.functions.* BUG=angleproject:1200 Change-Id: Ia3add76df243898e35fee97d01555b953cff8379 Reviewed-on: https://chromium-review.googlesource.com/311140Tested-by:
Olli Etuaho <oetuaho@nvidia.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Tested-by:
Corentin Wallez <cwallez@chromium.org>
-
- 05 Nov, 2015 14 commits
-
-
Geoff Lang authored
Instead of rendering the swizzled result to the destination texture, render to another intermediate texture and then CopyTexImage it into the destination texture. Rendering to arbitrary mip levels of the destination texture is not always supported but CopyTexImage-ing is. BUG=angleproject:1113 Change-Id: I352a1fcc769ce92268744d3e7a6265dd2bfddb37 Reviewed-on: https://chromium-review.googlesource.com/310570Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
This reverts commit 233b3342. Change-Id: Id99024b736324ad030ce63c5d0baae32b6d7f54b Reviewed-on: https://chromium-review.googlesource.com/311181Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Shannon Woods authored
Change-Id: I225ecab48a7d3d0a04390c5535cf5b65709fd758 Reviewed-on: https://chromium-review.googlesource.com/311072Reviewed-by:
Shannon Woods <shannonwoods@chromium.org> Tested-by:
Shannon Woods <shannonwoods@chromium.org>
-
Shannon Woods authored
Change-Id: I226d35e777e1388e01189dac0f7189e2cbf3d35a Reviewed-on: https://chromium-review.googlesource.com/311061Reviewed-by:
Shannon Woods <shannonwoods@chromium.org> Tested-by:
Shannon Woods <shannonwoods@chromium.org>
-
Shannon Woods authored
Change-Id: I8ff32a61362e5329c922ec696ba69480145f316a Reviewed-on: https://chromium-review.googlesource.com/311081Reviewed-by:
Shannon Woods <shannonwoods@chromium.org> Tested-by:
Shannon Woods <shannonwoods@chromium.org>
-
Shannon Woods authored
Change-Id: Ie9240f9b03ad8ab106659d2dc369893bfc2b652f Reviewed-on: https://chromium-review.googlesource.com/311071Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Shannon Woods <shannonwoods@chromium.org>
-
Geoff Lang authored
BUG=angleproject:1044 Change-Id: Ife94d2258fb912974aa97484a0e30f289dd96734 Reviewed-on: https://chromium-review.googlesource.com/278324Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
Perf bisect traced performance regression to this CL: 8.1% regression in angle_perftests/DrawCallPerf_d3d9_null/score 6.2% regression in angle_perftests/DrawCallPerf_d3d11_null/score BUG=angleproject:197 This reverts commit 868651d3. Change-Id: Iaba7eb4e574eb886496361e61fd5fe78ca14dcb8 Reviewed-on: https://chromium-review.googlesource.com/311150 Tryjob-Request: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Dian Xiang authored
BUG=angleproject:1161 Dirty bit notifications are used in GL for state tracking, but not D3D. Before, D3D would use memcmp to check a change in state for every call. This showed up as a hot spot in the perf test runs. Hence, switching D3D over to the dirty bit system similar to GL backend will help. Change-Id: I482edc852f1dcc888af3038ff3a61916496a02bc Reviewed-on: https://chromium-review.googlesource.com/305295Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tryjob-Request: Dian Xiang <dianx@google.com> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Olli Etuaho authored
Array constructors are not folded, unlike all other constant expressions. Change initializer parsing path so that it accepts constant initializers whether they are folded or not. Some parts need to be adapted to work with expressions that are qualified as constant but that are not necessarily folded: 1. Identifier parsing 2. Indexing parsing 3. Field selection parsing 4. HLSL output for variable declarations 5. Determining unary operator result type 6. Determining binary operator result type 7. Determining built-in function call result type 8. Determining ternary operator result type Corner cases that are not supported yet: 1. Using array constructors inside case labels 2. Using array constructors inside array size expressions 3. Detecting when a negative constant expression containing an array constructor is used to index an array In these cases being able to constant fold the expression is essential to validating that the code is correct, so they require a more sophisticated solution. For now we keep the old code that rejects the shader if ANGLE hasn't been able to constant fold the case label or array size. In case of indexing an array with a negative constant expression containing an array constructor, ANGLE will simply treat it as a non-constant expression. BUG=541551 BUG=angleproject:1094 TEST=dEQP-GLES3.functional.shaders.constant_expressions.* (all pass), angle_unittests Change-Id: I0cbc47afd1651a4dece3d68acf7ec72a01fdf047 Reviewed-on: https://chromium-review.googlesource.com/310231Tested-by:Olli Etuaho <oetuaho@nvidia.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Frank Henigman authored
Prepend to sys.path, instead of appending, so that gyp_angle imports angle's gyp, instead of whatever may be installed on the system. BUG=angleproject:1203 Change-Id: I9f3cfddb71fbd53f30ebf5792c31ba0a8947bddb Reviewed-on: https://chromium-review.googlesource.com/311040Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tryjob-Request: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Geoff Lang authored
As of https://codereview.chromium.org/1406053003 relative paths are no longer valid for the solution name. Update the docs to use the full current directory instead. BUG=angleproject:1204 Change-Id: I42b289fdad6d85901f431bb701f2a08e0ad0deb3 Reviewed-on: https://chromium-review.googlesource.com/311180Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
BUG=504872 Change-Id: I9cbbe92afc9df6a4cb8f3ddf0c547492c6765c8e Reviewed-on: https://chromium-review.googlesource.com/310011Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
We need to block the app from using MAX_UINT on D3D11 because we can't disable primitive restart on this platform. Instead generate an INVALID_OPERATION error, which is spec-compliant in ES3 because the result is undefined behaviour. This is also compliant with WebGL which explicitly defines an error here. BUG=angleproject:597 Change-Id: I7ebc5371b63ff860dc6dddf79939e9629ebb2a3c Reviewed-on: https://chromium-review.googlesource.com/309638Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Tryjob-Request: Jamie Madill <jmadill@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
- 04 Nov, 2015 4 commits
-
-
Corentin Wallez authored
BUG=angleproject:1188 Change-Id: I19516cf3d037245144dfbe6fa2eed13a57aa6800 Reviewed-on: https://chromium-review.googlesource.com/309635Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tryjob-Request: Corentin Wallez <cwallez@chromium.org> Tested-by:
Corentin Wallez <cwallez@chromium.org>
-
Corentin Wallez authored
BUG=angleproject:1188 Change-Id: I07638c52ef09ffc96d91eec25c32dd905207c49f Reviewed-on: https://chromium-review.googlesource.com/309650 Tryjob-Request: Corentin Wallez <cwallez@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Corentin Wallez <cwallez@chromium.org>
-
Jamie Madill authored
This class is a wrapper around gl::Data, aka the metadata describing a gl::Context. We can use it for unit-testing validation functions by passing that through the validation methods instead of a Context, and using mocks to expect certain errors. BUG=angleproject:747 BUG=angleproject:597 Change-Id: I7bd85c7662860ba9a3a13406579a088d447e5631 Reviewed-on: https://chromium-review.googlesource.com/309637Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Olli Etuaho authored
This change is purely refactoring existing functionality to make it easier to change variable identifier parsing. BUG=angleproject:911 BUG=541551 Change-Id: I282fbb66d40cd71fa0f4804e4a8e893744cd6bfc Reviewed-on: https://chromium-review.googlesource.com/309724Tested-by:
Olli Etuaho <oetuaho@nvidia.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org>
-
- 03 Nov, 2015 2 commits
-
-
Jamie Madill authored
BUG=angleproject:1088 BUG=angleproject:1095 BUG=angleproject:1097 BUG=angleproject:1101 Change-Id: I40f4d5960ef52bb1049336d23da4034a41f2fe63 Reviewed-on: https://chromium-review.googlesource.com/310480Tested-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org>
-
Olli Etuaho authored
Range-based for loop saves the end iterator by assigning it to a variable, so the iterator class needs to have a copy constructor at least on some C++ compiler implementations. The issue got introduced by a chain of three commits, so it's better to just fix the issue rather than revert them all. TEST=build on Windows Change-Id: Ib6d8d7e97559838eaac44279454197445535f256 Reviewed-on: https://chromium-review.googlesource.com/309723 Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com> Tested-by:
Olli Etuaho <oetuaho@nvidia.com> Reviewed-by:
Olli Etuaho <oetuaho@nvidia.com>
-
- 02 Nov, 2015 2 commits
-
-
Corentin Wallez authored
Breaks dEQP-GLES2.functional.texture.specification.basic_copyteximage2d.2d_alpha BUG=angleproject:1188 This reverts commit 31e60cf2. Change-Id: Icf1fcd984832a813536fe63e385b3cf9f667d66b Reviewed-on: https://chromium-review.googlesource.com/309801Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Tested-by:
Corentin Wallez <cwallez@chromium.org>
-
Jamie Madill authored
Triangle strips alternate the provoking vertex based on the primitive, so use the primitive ID in the GS to determine this. This might interact poorly with primitive restart, so we might have to use a slow path for that. BUG=angleproject:754 Change-Id: I4f6f520887d4c4c52d2ad020e6db148607f68325 Reviewed-on: https://chromium-review.googlesource.com/309156 Tryjob-Request: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-