|
0d53c400
|
2016-01-05T03:30:51
|
|
Revert "Ignore clang -Wall warning."
This was not working as intended. The correct fix was implemented in
444922662a59a45ad8f86ec9480b180571337f4e
This reverts commit 74b92323c9a210178ab97cc9418d6bf639cb9d8c.
Change-Id: Ib2bc3861bcdb49555b59981ca95f1c1c1e924d7d
Reviewed-on: https://chromium-review.googlesource.com/320480
Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
465b3a5f
|
2015-12-15T12:08:24
|
|
Add texture sampling perf test
The test generates a texture containing random data and then blurs it in
a fragment shader using nearest neighbor sampling. The test is
specifically designed to test overhead of GLSL's builtin texture*()
functions that may result from how ANGLE translates them on each backend.
BUG=angleproject:1261
TEST=angle_perftests
Change-Id: I188fa8c07e609b7f371e587358f913b506bd7d44
Reviewed-on: https://chromium-review.googlesource.com/319382
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
44492266
|
2016-01-04T13:04:08
|
|
Disable virtual destructor warning in dEQP.
This small error in dEQP triggers a warning that was recently
enabled in Chromium builds. We should remove the suppression once
we fix dEQP.
BUG=angleproject:1271
Change-Id: I9df3a304043b6decc00440103d105c9de76dc2db
Reviewed-on: https://chromium-review.googlesource.com/320320
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
66641c61
|
2016-01-04T15:31:15
|
|
Fix typo in shader test
The only error in the test should be the non-integer index. gl_FragColor
should be used correctly.
BUG=angleproject:1254
TEST=angle_unittests
Change-Id: I0b7a36be5485661cc03bf2c476aaacae5d3b6e76
Reviewed-on: https://chromium-review.googlesource.com/320280
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
70d0f499
|
2015-12-10T17:45:46
|
|
Implement GL_KHR_debug.
BUG=angleproject:520
Change-Id: I9ced3e7ab1515feddf2ec103c26b2610a45b1784
Reviewed-on: https://chromium-review.googlesource.com/319830
Tryjob-Request: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
74b92323
|
2016-01-02T09:58:25
|
|
Ignore clang -Wall warning.
Change-Id: I76e3cd5038457a7d978497ef9a5ebee60b05e34d
|
|
66988745
|
2015-12-22T19:39:19
|
|
Revert "Implement GL_KHR_debug."
This reverts commit 6c521b7a70a53b1c9f7762e53e34b5a8146b0f7b.
Change-Id: I6ff981198e31f34d3e405edea6277ee75516d6ee
Reviewed-on: https://chromium-review.googlesource.com/319820
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
6c521b7a
|
2015-12-10T17:45:46
|
|
Implement GL_KHR_debug.
BUG=angleproject:520
Change-Id: I78d14cc8c94f5cef58604220f0ca847473b25bf8
Reviewed-on: https://chromium-review.googlesource.com/317820
Tryjob-Request: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
8047f065
|
2015-12-15T17:54:42
|
|
Improve perf testing framework
The ANGLERenderTest subclasses have a parameter "iterations". Previously
most of these tests would perform iterations^2 iterations, since the
looping was done both in ANGLERenderTest and in the individual test
classes. Do the looping only in the individual test classes instead.
This enables getting rid of separate beginDrawBenchmark() and
endDrawBenchmark() functions.
Some other unused code is also removed:
1. stepBenchmark function
2. unused parameters to step()
This makes the core loop of running tests simpler.
The perf testing framework also now has shared logic for deciding when
to end a given test.
The score calculation for tests is also changed. Instead of reporting
just the number of operations done, it is reported relative to the actual
run time of the test. This should make the test results more accurate,
since run time of the tests may have some variation. It also enables
changing the run time of the tests without rebaselining them.
In the tests that use GPU, GPU operations are also waited to finish
before stopping the timer.
BUG=angleproject:1261
TEST=angle_perftests
Change-Id: I69e9aad8afd2d9dedd60e144f0a5d4203618feef
Reviewed-on: https://chromium-review.googlesource.com/319381
Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
add0ef14
|
2015-12-17T15:43:31
|
|
Remove deprecated ShShaderOutput versions.
These aren't referenced from Chromium code any more.
BUG=chromium:550487
Change-Id: Ie4094667ec5f739efd9f1253ffdb779deaf3cebc
Reviewed-on: https://chromium-review.googlesource.com/319162
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Kenneth Russell <kbr@chromium.org>
|
|
fecbed9f
|
2015-12-17T12:01:12
|
|
Fix code style in perf tests
1) Format switch/case with git cl format
2) Change NULL -> nullptr
3) Change int to GLint where appropriate
4) Use more appropriate variants of asserts
BUG=angleproject:1261
TEST=angle_perftests
Change-Id: I97d6260dbd72ef3897fff145682b7043bf323b76
Reviewed-on: https://chromium-review.googlesource.com/319380
Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
31aabdfb
|
2015-12-16T10:53:46
|
|
gyp: Always use pkg-config wrapper
Calling pkg-config directly doesn't work when building
with a sysroot image as it will looks for host libraries
rather than those within the sysroot.
BUG=chromium:569947
Change-Id: I6f3e63c1816cd9393110cb3060744a69a93c9a2e
Reviewed-on: https://chromium-review.googlesource.com/318771
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Sam Clegg <sbc@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
cd089732
|
2015-12-17T09:53:09
|
|
Re-land "Implement GL_EXT_color_buffer_half_float."
This exposes previously enabled functionality. Also update the format
support check to be:
supported: GLES3 || texture extension
renderable: supported && color buffer extension
filterable: filtering extension
(Note: we silently support float rendering in ES2)
Re-land with suppression for newly exposed failing test.
BUG=angleproject:445
Change-Id: I4e46699e6b0c2ec8a7d8b36f1f598af1ec6420bc
Reviewed-on: https://chromium-review.googlesource.com/318931
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
0a90f527
|
2015-12-17T14:51:56
|
|
Revert "Implement GL_EXT_color_buffer_half_float."
Failing dEQP-GLES3.functional.fbo.color.repeated_clear.sample.tex2d.rgb16f
http://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20dEQP%20%28NVIDIA%29/builds/4651
Likely missing a suppression for this test. It likely passed
only because the extension was missing and it was passing as
not supported.
BUG=angleproject:1229
This reverts commit 39f9251daef5c4ddb4b7c413466a092f4a7f21bf.
Change-Id: Ia703378d5aaacafc14503aff0b52a795b7eb4467
Reviewed-on: https://chromium-review.googlesource.com/319080
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
39f9251d
|
2015-12-14T15:34:09
|
|
Implement GL_EXT_color_buffer_half_float.
This exposes previously enabled functionality. Also update the format
support check to be:
supported: GLES3 || texture extension
renderable: supported && color buffer extension
filterable: filtering extension
(Note: we silently support float rendering in ES2)
BUG=angleproject:1229
Change-Id: Icf0775891d6e336acd1a0ac07c3b37cf6bb0f101
Reviewed-on: https://chromium-review.googlesource.com/308430
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>
|
|
90c253a6
|
2015-12-15T15:14:08
|
|
Add an instancing perf test.
BUG=526217
BUG=angleproject:1164
Change-Id: Ia353a3b2fa0ab0e8b7fd15d72bb63e5ecb7833b1
Reviewed-on: https://chromium-review.googlesource.com/301469
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
3215b207
|
2015-12-15T16:41:39
|
|
Validation cube completeness for FBO attachments.
ES3 adds a clause that cube map FBO attachments must be cube complete
to produce complete framebuffers. ES2 doesn't have this clause, but
some (if not all, unverified) OpenGL back-ends don't support these
incomplete cube map attachments.
BUG=angleproject:1259
Change-Id: Idd4564488375b8646dde712e6ce4a158c23020ee
Reviewed-on: https://chromium-review.googlesource.com/318264
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
cb34ea5e
|
2015-12-11T16:01:18
|
|
Re-land "Finish ReadBuffer support in end2end_tests."
Currently we had a few TODOs concerned about unimplemented calls in
ANGLE. ANGLE now has support for ReadBuffer, so uncomment the calls.
Re-land with end2end_tests fix.
BUG=angleproject:940
Change-Id: I6e00c3aac6307308fb7f00c7e0426812563ed778
Reviewed-on: https://chromium-review.googlesource.com/317821
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
8e89866d
|
2015-12-11T12:24:21
|
|
Remove redundant index integer check from ValidateLimitations
Non-integer indices are already rejected in the parser, so the
ValidateLimitations pass doesn't need to check for them.
ESSL 1.00 spec is not actually terribly clear about whether the
parser should do this check, but the language grammar in the spec only
has indexing with "integer_expression" so it seems like ANGLE's
interpretation of only allowing indexing with integers is correct.
ESSL 3.00 makes this restriction explicitly clear in section 5.7.
BUG=angleproject:1254
TEST=angle_unittests
Change-Id: I02b2a6f4d9fa7801a98df63ed21bc990e1585eb8
Reviewed-on: https://chromium-review.googlesource.com/317741
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
8a76dcc7
|
2015-12-10T20:25:12
|
|
Don't try to apply ForLoopUnroll to loops it can't handle
ForLoopUnroll should only mark loops that fit the limitations in ESSL
1.00 Appendix A.
BUG=angleproject:1253
TEST=angle_unittests, WebGL conformance tests
Change-Id: I00b0a7d29cd42efea9611d020aa1f873ac04773f
Reviewed-on: https://chromium-review.googlesource.com/317551
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
5807a536
|
2015-12-03T13:01:22
|
|
Fix buffer unbinding upon deletion.
- Remove buffer bindings for new ES3 buffer types.
- Fix detachment behavior to GLES3 spec,
i.e. detach only from currently bound containers.
- Make pack/unpack buffer binding parameter available in GLES3.
- Update test expectations.
BUG=angleproject:1191
Change-Id: Iab4c1de8d96a523d5af55d22956d50c10f7c93c2
Reviewed-on: https://chromium-review.googlesource.com/315521
Tryjob-Request: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
d561057f
|
2015-12-10T19:42:09
|
|
Fix ValidateLimitations for folded non-constant expressions
ANGLE recently gained the ability to constant fold some expressions that
are not constant expressions. ValidateLimitations should continue to
recognize all cases where an expression is not a constant expression.
BUG=angleproject:851
TEST=angle_unittests
Change-Id: I8ad0552a59213cdd6af9a220ffd672be9752271d
Reviewed-on: https://chromium-review.googlesource.com/317281
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
b0f0b81d
|
2015-11-21T17:49:29
|
|
Don't skip delete_bound.transform_feedback.
A one-line subset of 36167ab3 allowed
dEQP-GLES3.functional.lifetime.delete_bound.transform_feedback to pass,
though it indented that line differently than its neighbors.
Fix up the indentation and don't skip the test.
BUG=angleproject:1150
TEST=angle_deqp_gtest_gles3_tests --gtest_filter='*transform_feedback*'
Change-Id: I8471bd46f8a642b0945b43ab9b980c11c50d63c0
Reviewed-on: https://chromium-review.googlesource.com/313860
Tryjob-Request: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Frank Henigman <fjhenigman@chromium.org>
|
|
31c9d16e
|
2015-12-08T10:51:25
|
|
Re-land "Disable RTTI in VS release builds"
- Re-land with fix for Chromium Debug Windows builds
Chrome forbids RTTI, but standalone ANGLE currently allows it.
Disallowing RTTI in standalone release builds brings ANGLE and Chrome
closer, and prevents accidental use of dynamic_cast in ANGLE.
It also reduces binary size. Win10 libGLESv2 (x86) is 47KB smaller after this.
BUG=angleproject:1239
Change-Id: I505fd0d72868a38444e47198a9bf85ee3e25719f
Reviewed-on: https://chromium-review.googlesource.com/316830
Tryjob-Request: Austin Kinross <aukinros@microsoft.com>
Tested-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
08bf81d5
|
2015-12-09T16:23:32
|
|
clang/win: Let EGLDeviceTest.cpp build with -Wextra on trunk too.
Like https://chromium-review.googlesource.com/317360, but for
code that's in ANGLE trunk but not yet rolled in by Chromium.
BUG=567877
Change-Id: I59b1568b134f57919eb333e99e7d185416d5d3b5
Reviewed-on: https://chromium-review.googlesource.com/317390
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Tested-by: Nico Weber <thakis@chromium.org>
|
|
d3754d82
|
2015-12-09T22:45:44
|
|
Revert "Finish ReadBuffer support in end2end_tests."
Fails on the bots, on ReadPixelsTest.DrawWithPBO/ES3_D3D11
BUG=angleproject:940
This reverts commit ada5d07ec6c3578eb07adbb647360c0ae60edf46.
Change-Id: I60c71af6317f6b5ee1bf1555cb4573c5e82a11d6
Reviewed-on: https://chromium-review.googlesource.com/317430
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
0c93b8a0
|
2015-12-09T15:31:40
|
|
clang/win: Let EGLDeviceTest.cpp build with -Wextra.
In a Chromium build, this target is built as part of gpu, with the
chromium_code warning settings applied. Make sure it builds in that
config.
BUG=567877
Change-Id: I7464538a259295d83d990853b06b9ba76b82889d
Reviewed-on: https://chromium-review.googlesource.com/317360
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Nico Weber <thakis@chromium.org>
|
|
ada5d07e
|
2015-12-08T15:40:52
|
|
Finish ReadBuffer support in end2end_tests.
Currently we had a few TODOs concerned about unimplemented calls in
ANGLE. ANGLE now has support for ReadBuffer, so uncomment the calls.
BUG=angleproject:940
Change-Id: Ib297e3ab7f2fa2424ee2cc85918331066dae4475
Reviewed-on: https://chromium-review.googlesource.com/317340
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
508a5b7d
|
2015-12-08T11:26:14
|
|
Windows: Write test name in debug log.
This helps isolate particular debug log messages to specific tests.
BUG=angleproject:667
Change-Id: I6be37d50cc41a13abbceb395e6e9b603bd44c7bd
Reviewed-on: https://chromium-review.googlesource.com/316611
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
1e928bc0
|
2015-12-09T13:17:39
|
|
dEQP/Win: Skip trig tests that crash on new compiler.
The new version of D3DCompile_47.dll that gets bundled with the
Chromium depot_tools Windows SDK seems to crash when compiling these
shaders, I think during the optimization step.
BUG=angleproject:1252
BUG=568170
Change-Id: Ic54a6353ffe3520ecc5e5012721c0a09eb370b22
Reviewed-on: https://chromium-review.googlesource.com/317331
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
6163c759
|
2015-12-07T16:32:59
|
|
ES3: Allow floating point blit conversions under extension.
If we support EXT_color_buffer_float, we should also allow blits to
and from float and fixed point data, according to the extension
spec.
BUG=angleproject:1243
TEST=dEQP-GLES3.functional.fbo.blit.*
Change-Id: I0957ac0647c94e38ebd67480c608eeb16c82dbf4
Reviewed-on: https://chromium-review.googlesource.com/316030
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>
|
|
c5629759
|
2015-12-07T16:29:04
|
|
Implement full program binary support for ES3.
Refactor validation to be used in both the OES and ES3 entry points.
BUG=angleproject:600
BUG=angleproject:1101
Change-Id: I2008c4ea04ce07910f03ae0b997f8a77b66203d8
Reviewed-on: https://chromium-review.googlesource.com/316620
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
36167ab3
|
2015-12-07T10:27:14
|
|
Don't allocate VertexArray or TransformFeedback objects until binding.
Follow the spec more closely and only reserve IDs of vertex arrays and
transform feedback objects before binding. This saves memory and allows
the glIs* calls to succeed.
BUG=angleproject:1218
BUG=angleproject:1101
Change-Id: I0039680c39c66c1c5506f6a1a9121a71791b77e9
Reviewed-on: https://chromium-review.googlesource.com/316591
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
50b3fe89
|
2015-12-08T14:49:12
|
|
Revert "Don't allocate VertexArray or TransformFeedback objects until binding."
This reverts commit 070c0124be642383220ca44f795225b89d56f13b.
Change-Id: I4ffa528f63311615bb4e22593c6e8a0ec424cd2d
Reviewed-on: https://chromium-review.googlesource.com/316780
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
6c9b2ae9
|
2015-12-08T13:43:11
|
|
Revert "D3D11: Use clamp wrap mode for Integer textures."
dEQP-GLES3 texture failures:
http://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20dEQP%20%28NVIDIA%29/builds/4510/steps/angle_deqp_gles3_tests/logs/stdio
dEQP-GLES3.functional.shaders.texture_functions.texture.isampler*
dEQP-GLES3.functional.shaders.texture_functions.texture.usampler*
BUG=angleproject:1244
This reverts commit 7a6a1ffeb275a8b565701305c8b42857ff2bf0b0.
Change-Id: I0e25e7aed0e0d78015d5b8f5a7b9a81e0a5fca4e
Reviewed-on: https://chromium-review.googlesource.com/316641
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
61fea139
|
2015-12-07T14:20:02
|
|
Protect against overflow in BinaryInputStream.
BUG=angleproject:1112
Change-Id: I6d58d9e0db97ec6c67661abd92b57f61f357d6b5
Reviewed-on: https://chromium-review.googlesource.com/316640
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
41a2b8ea
|
2015-12-07T21:44:26
|
|
Revert "Protect against overflow in BinaryInputStream."
This reverts commit dfa2fe31ad66ede57af1c0244ee99b8918eb2d9b.
Change-Id: If4a7eb1876876991c537d0a9077cede52ba40b95
Reviewed-on: https://chromium-review.googlesource.com/316621
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
a5ed56ee
|
2015-12-07T16:32:59
|
|
D3D11: Mask off alpha channel for RGBA->RGB blits.
We emulate RGB8 in D3D11 with RGBA8 textures. Make sure when we blit
that we don't copy the unused texture channel.
BUG=angleproject:1245
TEST=dEQP-GLES3.functional.fbo.blit.*
Change-Id: I805132fda984860a6d84ad4c1fc7169973938df9
Reviewed-on: https://chromium-review.googlesource.com/316010
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
7a6a1ffe
|
2015-12-07T16:32:58
|
|
D3D11: Use clamp wrap mode for Integer textures.
Until we can support all wrap modes for int textures, use a correct
clamping scheme. This fixes several dEQP GLES3 FBO tests.
This shuffles some of the tests in functional.texture.units since
it hard-codes a different behaviour for all wrap modes, ignoring
the sampler setting.
BUG=angleproject:1244
TEST=dEQP-GLES3.functional.texture.*
Change-Id: Ic7e89a111728dfb18821534996bf5b9a5ad172b6
Reviewed-on: https://chromium-review.googlesource.com/313997
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>
|
|
dfa2fe31
|
2015-12-07T14:20:02
|
|
Protect against overflow in BinaryInputStream.
BUG=angleproject:1112
Change-Id: Iedd92ce7a56b20f42e51ef86278eb64fbae3c353
Reviewed-on: https://chromium-review.googlesource.com/316031
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
976489b2
|
2015-12-07T10:27:14
|
|
Don't allocate VertexArray or TransformFeedback objects until binding.
Follow the spec more closely and only reserve IDs of vertex arrays and
transform feedback objects before binding. This saves memory and allows
the glIs* calls to succeed.
BUG=angleproject:1218
BUG=angleproject:1101
Change-Id: I7bf99870a7c93f5545325785cbecd891c6b77f8a
Reviewed-on: https://chromium-review.googlesource.com/316402
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
2da819e1
|
2015-12-03T15:53:19
|
|
D3D11: Fix blit from out-of-bounds.
Do not copy pixels in a negative read region. Also make sure we clamp
the boundaries so the dEQP tests are mostly pixel-perfect.
We can't yet fix some default framebuffer tests because of issues with
blitting RGBA8 (default FBO) to floating point framebuffers.
BUG=angleproject:1241
TEST=dEQP-GLES3.functional.fbo.blit.*
Change-Id: I16ee264b0b1a7e6b9121dde5ae4f96cfd27ea53e
Reviewed-on: https://chromium-review.googlesource.com/315670
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
063d9e78
|
2015-11-19T17:24:47
|
|
Add support for EGL_EXT_platform_device
This allows an application to use EGLDeviceEXT to initialize EGL.
For example, if an application wants to initialize EGL using an existing D3D11
device (instead of ANGLE creating its D3D device), then the app may create an
EGLDeviceEXT using EGL_ANGLE_device_creation_d3d11, and use this device to
initialize EGL via EGL_EXT_platform_device.
BUG=angleproject:1190
Change-Id: Ife91ce95a63e29eb2b3f05aedfb668e4cac8f5ce
Reviewed-on: https://chromium-review.googlesource.com/313444
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Austin Kinross <aukinros@microsoft.com>
|
|
fc1a44a1
|
2015-12-02T12:37:10
|
|
Revert "Revert "Add and implement EGL_ANGLE_device_creation[_d3d11]""
This reverts commit dd5c5b79333fdde7858a77d39e91cc3d30b74c9e.
BUG=angleproject:1190
Change-Id: I1bc1b232b6a916da6d18b546baf20e0854a2768f
Reviewed-on: https://chromium-review.googlesource.com/315169
Tested-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
15ede106
|
2015-11-26T15:20:34
|
|
D3D11: Disable stencil buffer when not attached.
Similarly to the D24S8 attachment getting confused when we use only
the stencil portion, ANGLE could write to the stencil portion when
we were only using the depth. Fix this by internally disabling stencil
test and writes when using this type of configuration.
BUG=angleproject:1237
Change-Id: Ib7868d5e9f8aea73304a132005541dab947aa619
Reviewed-on: https://chromium-review.googlesource.com/314032
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
0df8fe44
|
2015-11-24T16:10:24
|
|
D3D11: Don't read or write to the unused depth buffer.
When using STENCIL8, we emulate it on D3D11 with D24S8, since there
is no native stencil-only format. However in many places we would
write to the depth part of this format, and confuse the D3D runtime
when it would use the depth test. Fix this by never modifying the
depth portion of the buffer, or reading from it.
BUG=angleproject:1232
Change-Id: Ifd2e54eceae84e8deea85f439c132d07981b2286
Reviewed-on: https://chromium-review.googlesource.com/313996
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>
|
|
dd5c5b79
|
2015-12-02T08:41:28
|
|
Revert "Add and implement EGL_ANGLE_device_creation[_d3d11]"
Causes failures on Windows/GN:
e:\b\build\slave\win_x64_gn\build\src\third_party\angle\src\tests\egl_tests\egldevicetest.cpp(108)
: error C3861: 'eglCreateDeviceANGLE': identifier not found
e:\b\build\slave\win_x64_gn\build\src\third_party\angle\src\tests\egl_tests\egldevicetest.cpp(113)
: error C3861: 'eglQueryDeviceAttribEXT': identifier not found
e:\b\build\slave\win_x64_gn\build\src\third_party\angle\src\tests\egl_tests\egldevicetest.cpp(119)
: error C3861: 'eglReleaseDeviceANGLE': identifier not found
e:\b\build\slave\win_x64_gn\build\src\third_party\angle\src\tests\egl_tests\egldevicetest.cpp(143)
: error C3861: 'eglQueryDeviceAttribEXT': identifier not found
e:\b\build\slave\win_x64_gn\build\src\third_party\angle\src\tests\egl_tests\egldevicetest.cpp(162)
: error C3861: 'eglCreateDeviceANGLE': identifier not found
e:\b\build\slave\win_x64_gn\build\src\third_party\angle\src\tests\egl_tests\egldevicetest.cpp(178)
: error C3861: 'eglCreateDeviceANGLE': identifier not found
This reverts commit 4029ad42d5ffe94a0a744532ab3577b982f847b8.
BUG=angleproject:1190
Change-Id: Ibcdfd8cea7ba275cd67c0220f8d7a1069ec1cf97
Reviewed-on: https://chromium-review.googlesource.com/315480
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
5bbc9438
|
2015-12-01T19:49:54
|
|
Revert "Disable RTTI in VS release builds"
Fails compile on the Windows Debug GPU bot:
c:\b\build\slave\gpu_win_builder__dbg_\build\src\third_party\deqp\src\framework\opengl\simplereference\sglrreferencecontext.cpp(2342) : warning C4541: 'dynamic_cast' used on polymorphic type 'sglr::rc::Texture' with /GR-; unpredictable behavior may result
c:\b\build\slave\gpu_win_builder__dbg_\build\src\third_party\deqp\src\framework\opengl\simplereference\sglrreferencecontext.cpp(2344) : warning C4541: 'dynamic_cast' used on polymorphic type 'sglr::rc::Texture' with /GR-; unpredictable behavior may result
Many other similar errors.
BUG=angleproject:1239
This reverts commit aca86045d9aae4d41939a3953103304b7ba9e3a2.
Change-Id: I523e12b32665bcc74a6437582be82db8174e42ac
Reviewed-on: https://chromium-review.googlesource.com/315170
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
3d677ea6
|
2015-11-16T13:38:47
|
|
Implement EGL_ANGLE_x11_visual
Reland with a fixed tests on AMD.
This extension will be used by Chrome to advertise the visual it will
use for its windows. Having ANGLE use the same visual will bring
several benefits:
- A blit will be avoided, and the content of the window might be
rendered on the system framebuffer directly.
- There will be less latency when resizing windows which will make it
much less likely to see a black border when resizing.
BUG=522149
Change-Id: I66004b6ac45453330af7c4c810ddf2c26941be42
Reviewed-on: https://chromium-review.googlesource.com/314661
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
aca86045
|
2015-11-30T13:36:28
|
|
Disable RTTI in VS release builds
Chrome forbids RTTI, but standalone ANGLE currently allows it.
Disallowing RTTI in standalone release builds brings ANGLE and Chrome
closer, and prevents accidental use of dynamic_cast in ANGLE.
It also reduces binary size. Win10 libGLESv2 is 47KB smaller after this.
BUG=angleproject:1239
Change-Id: Ib5fb50df66c3a94042e2d9bbb062c0d025cf3eef
Reviewed-on: https://chromium-review.googlesource.com/314831
Tryjob-Request: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Austin Kinross <aukinros@microsoft.com>
|
|
81176780
|
2015-11-24T16:10:23
|
|
Return correct error in Framebuffer::checkStatus.
UNSUPPORTED is a specific error meaning an implementation-specific
incompatibility. For cases where the attachments are invalid according
to the spec, we should be returning INCOMPLETE_ATTACHMENT.
BUG=angleproject:1231
Change-Id: I4b4332ee5661738374e93c825a53d66d7ba1fad5
Reviewed-on: https://chromium-review.googlesource.com/313995
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>
|
|
f06e607f
|
2015-12-01T10:44:16
|
|
Add support for GL_OES_depth32.
This will allow ANGLE to be more conformant when it accepts 32-bit
depth as a Renderbuffer format.
BUG=angleproject:1230
Change-Id: I9336c6f951d280b2332fc3e6d2e640852473aa03
Reviewed-on: https://chromium-review.googlesource.com/313994
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
0b200680
|
2015-12-01T09:27:57
|
|
Suppress failing dEQP tests.
With the suppression changes from 5111a06, a few were removed that
seem to fail only on certain configurations. Reinstate the failure
expectations for the dEQP bots.
BUG=angleproject:1236
Change-Id: Ib642c60a7871f7994ae1f0082f22533e6650f082
Reviewed-on: https://chromium-review.googlesource.com/315090
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
ab831f04
|
2015-12-01T09:39:10
|
|
Add queries for GL_RASTERIZER_DISCARD.
BUG=angleproject:1238
Change-Id: Id3b219dfcc758cf19d61b7dc7eeabd8c2159d212
Reviewed-on: https://chromium-review.googlesource.com/315100
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
5111a062
|
2015-11-30T10:31:36
|
|
Update dEQP integration.
Intead of generating a case list from a build dEQP executable and
packing it into a gzip file, we can use the Android CTS mustpass
list. This has the benefit of allowing us to remove some failure
expectations for broken tests. It also means we don't need to
ever regenerate our case list files.
Also remove the old dEQP test integration, since it is no longer
supported or possibly even working.
And update our test expectations to match the new Android CTS
must-pass lists.
This change will likely need to be landed simulatanously with a
Chromium-side CL, due to the nature of the gyp/DEPS configuration.
BUG=angleproject:1236
Change-Id: I352e4a651dfb88193a1c4991974502dee1edb67b
Reviewed-on: https://chromium-review.googlesource.com/313792
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
984ef41a
|
2015-11-24T16:10:21
|
|
Ignore clear commands if rasterizer discard is enabled.
From the 3.0 spec (Section 3.1):
"When enabled, RASTERIZER_DISCARD also causes the Clear and
ClearBuffer* commands to be ignored."
BUG=angleproject:1227
Change-Id: I0316103827927e8af9732d7b4565d787b881ccb8
Reviewed-on: https://chromium-review.googlesource.com/313993
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>
|
|
8d9f35f1
|
2015-11-24T16:10:20
|
|
Re-land "D3D11: Fix Integer Texture Cube mip mapping."
We were missing both the correct SRV parameter, as well as the full
computation of the mip level in the HLSL.
Re-land makes the mip computation only happen with implicit sampling.
Before it would confuse the LOD0 computation.
BUG=angleproject:1208
TEST=dEQP-GLES3.functional.texture.*
Change-Id: I4b579033afe5cd1aca1f2d017e48a74c7fc324cc
Reviewed-on: https://chromium-review.googlesource.com/314330
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>
|
|
4029ad42
|
2015-10-29T10:14:47
|
|
Add and implement EGL_ANGLE_device_creation[_d3d11]
BUG=angleproject:1190
Change-Id: I248935ef81803062cf9ba5776512cda456331f51
Reviewed-on: https://chromium-review.googlesource.com/309634
Tryjob-Request: 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>
|
|
5ac60fc2
|
2015-11-27T13:42:02
|
|
Revert "Implement EGL_ANGLE_x11_visual"
Fails on Linux AMD:
http://build.chromium.org/p/chromium.gpu.fyi/builders/Linux%20Release%20%28ATI%29/builds/43819
EGLX11VisualHintTest.InvalidWindowVisualID:
../../third_party/angle/src/tests/egl_tests/EGLX11VisualTest.cpp:183: Failure
Value of: EGL_TRUE == eglInitialize(display, nullptr, nullptr)
Actual: false
Expected: true
BUG=522149
This reverts commit b28e010aa10b3e4aec3207e767be10ee5ffb25fd.
Change-Id: I9a02f2aa3caadd787eb0099c0ddf9d781084fa1c
Reviewed-on: https://chromium-review.googlesource.com/314660
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
b28e010a
|
2015-11-16T13:38:47
|
|
Implement EGL_ANGLE_x11_visual
This extension will be used by Chrome to advertise the visual it will
use for its windows. Having ANGLE use the same visual will bring
several benefits:
- A blit will be avoided, and the content of the window might be
rendered on the system framebuffer directly.
- There will be less latency when resizing windows which will make it
much less likely to see a black border when resizing.
BUG=522149
Change-Id: Icd484c9a948ed5b5b9116247bb50560bffa30667
Reviewed-on: https://chromium-review.googlesource.com/312323
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
47ac69c1
|
2015-11-24T11:15:57
|
|
Update gpu_test_expectations to support OSX 10.11
On the Chromium side there was also a large refactor of SplitString.
This patch includes a replication of that refactor in string_utils and
adds the Chromium unittests to string_utils_unittests.cpp
BUG=angleproject:1234
Change-Id: I4f71064fbf325c204e98a7b36ead118913d90f2c
Reviewed-on: https://chromium-review.googlesource.com/314101
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
faaa84ac
|
2015-11-24T13:29:23
|
|
Hide libpci pkg-config request behind use_libpci==1
This allows platforms that don't have libpci to configure the code
without error.
BUG=560948
Change-Id: I155f35108d9be193afed5304b443a6afdf33b077
Reviewed-on: https://chromium-review.googlesource.com/314300
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Stephen Mcgruer <smcgruer@google.com>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
183d7e24
|
2015-11-20T15:59:09
|
|
Remove predefined precision qualifiers from ESSL3 samplers
New sampler types in ESSL3 should not have default precision qualifiers.
This is specified in ESSL 3.00.4 section 4.5.4.
BUG=angleproject:1222
TEST=angle_unittests
Change-Id: I9c8e7a5fbb4278db80de79bcaeebaf23e64242a0
Reviewed-on: https://chromium-review.googlesource.com/312048
Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
6328667d
|
2015-11-24T13:00:08
|
|
Add gl_FragDepth support for D3D11/ES3.
An incorrect check was blocking existing support we added for the
extension.
BUG=angleproject:1226
Change-Id: I335053b1bebb37fd9296b36702031bd34c1bb59e
Reviewed-on: https://chromium-review.googlesource.com/313992
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
6b120b9f
|
2015-11-24T13:00:07
|
|
Add checks for FBO attachment layer.
We would allow the app to attach layers that were out-of-bounds. Fix
this by checking against the underlying resource dimensions. Also
rework the code a bit to clean up the texture size query, which is
available from the ImageDesc.
BUG=angleproject:869
Change-Id: I984f1db16daea6ca650d795884d8ec2cb8f05ebb
Reviewed-on: https://chromium-review.googlesource.com/313991
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
ee322723
|
2015-11-24T20:42:48
|
|
Revert "D3D11: Fix Integer Texture Cube mip mapping."
2 tests failed:
dEQP_GLES3.Default/functional_shaders_texture_functions_texture_isamplercube_vertex (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_shaders_texture_functions_texture_usamplercube_vertex (c:\b\build\slave\gpu_win_builder\build\src\third_party\angle\src\tests\deqp_support\angle_deqp_gtest.cpp:234)
BUG=angleproject:1208
This reverts commit 5778557fe99e300f245a7bfc2200f6b0179e3fbf.
Change-Id: I6f7441bdbfbf937680b0d572645edee8ece649a1
Reviewed-on: https://chromium-review.googlesource.com/314301
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
cc86d64e
|
2015-11-24T13:00:07
|
|
Make Framebuffer size check ES2-only.
This is an ES2-only incompleteness check. We also need to require
matching dimensions in D3D11, but make this an implementation
specific check. Also make all implementation specific errors
'UNSUPPORTED' since that catches all "non-ES" framebuffer
restrictions.
Note that we can't be conformant here in D3D11 currently, since the
spec only makes an exception for mismatching formats for UNSUPPORTED,
not for size checks. However, we don't have an easy solution.
BUG=angleproject:1225
Change-Id: Ic80a04bce397fc12643b010c874f432033babc5d
Reviewed-on: https://chromium-review.googlesource.com/313990
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
5778557f
|
2015-11-23T09:37:44
|
|
D3D11: Fix Integer Texture Cube mip mapping.
We were missing both the correct SRV parameter, as well as the full
computation of the mip level in the HLSL.
BUG=angleproject:1208
Change-Id: I345b1e0895495654de3863c4ebcc395d9b7371b9
Reviewed-on: https://chromium-review.googlesource.com/312060
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
0980e29d
|
2015-11-20T14:57:34
|
|
Don't accept default precision for uint
Default precision can only be specified for float, int and sampler types.
Default precision for int also applies to uint and uvec declarations.
BUG=angleproject:1221
TEST=angle_unittests
Change-Id: I31fdcde80da16e2ea8771838f7c1a6ab4e478194
Reviewed-on: https://chromium-review.googlesource.com/313314
Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
ccb001b4
|
2015-11-18T13:14:05
|
|
Roll dEQP 92f7752da8..cc0ded6c.
https://android.googlesource.com/platform/external/deqp/+log/92f7752da8..cc0ded6c
BUG=angleproject:1092
Change-Id: Ie891d4d12eeaabb367e105e2e5e2f6823fb816f7
Reviewed-on: https://chromium-review.googlesource.com/313021
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>
|
|
04c66234
|
2015-11-20T12:10:36
|
|
Mark crashing dEQP-GLES3 TF Feedback test as SKIP.
This test was previously passing, but adding the new enum support has
somehow uncovered a crashing bug. Mark it as skipped.
BUG=angleproject:1150
BUG=angleproject:1151
Change-Id: Ieb0254606eab716a1628168433069ff8016e47a3
Reviewed-on: https://chromium-review.googlesource.com/313570
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
c22fef94
|
2015-11-19T13:55:27
|
|
D3D11: Fix instancing draw with line loops.
We were missing the implementation for the instanced draw for these.
Implement them in the same way as for triangle fan.
BUG=angleproject:1101
Change-Id: I444f3a23383c63b8df6f9ebe25b255c8890632a1
Reviewed-on: https://chromium-review.googlesource.com/313007
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>
|
|
a0537333
|
2015-11-19T13:55:26
|
|
D3D: Fix incorrect instanced vertex offsets.
The spec says that DrawElements is equivalent to the instanced
call with an instance ID of zero. This patch fixes a bug in our
VertexDataManager where we would sometimes ignore the attribute divisor
for DrawElements, and stream the wrong amount of data/wrong start
offset.
BUG=angleproject:1213
TEST=dEQP-GLES3.functional.draw.draw_elements.*
TEST=dEQP-GLES3.functional.draw.draw_range_elements.*
TEST=dEQP-GLES3.functional.draw.random.*
Change-Id: I1c430a14ab3be68a24e233e9cdd1e4fd88c920a0
Reviewed-on: https://chromium-review.googlesource.com/312062
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>
|
|
e1a94c67
|
2015-11-16T17:35:25
|
|
Check that texture offset is constant and valid
Offset passed to textureOffset and similar functions must be constant.
See ESSL 3.00 spec section 8.8.
It must also be in the valid range between MIN_PROGRAM_TEXEL_OFFSET and
MAX_PROGRAM_TEXEL_OFFSET. Using values outside the valid range makes
the results of the texture lookup undefined, as specified in GLES 3.0.4
section 3.8.10. We generate a compiler error if an offset is outside the
valid range.
BUG=angleproject:1215
TEST=angle_unittests
Change-Id: Ida28361444d2f4050d516160f1491674c31868a1
Reviewed-on: https://chromium-review.googlesource.com/312223
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
8ca1351a
|
2015-11-19T20:01:50
|
|
Remove incorrect comment from expectations files.
BUG=none
TEST=none
Change-Id: I80283b825d4c9fe8c672c1efc9d6bc016b81ecc9
Reviewed-on: https://chromium-review.googlesource.com/312482
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Frank Henigman <fjhenigman@chromium.org>
|
|
22581ff1
|
2015-11-06T14:25:54
|
|
Support glGet GL_TRANSFORM_FEEDBACK_BINDING.
BUG=angleproject:1150
Change-Id: If11bb2df6407248812d6dfa415395bbe315fa58c
Reviewed-on: https://chromium-review.googlesource.com/311152
Tryjob-Request: Shannon Woods <shannonwoods@chromium.org>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Frank Henigman <fjhenigman@chromium.org>
|
|
84b0c3b7
|
2015-11-05T15:15:28
|
|
Re-land "In D3D, cache static vertex buffers to prevent wasteful recreation"
BUG=angleproject:197
Changes since first failed patch:
- Optimized BufferD3D::getStaticVertexBuffer()
- Removed loop to commit static buffers
- Out-of-date static buffers (which are much rarer anyway after this patch)
are marked for deletion at the *next* draw call, rather than searched for
before each draw call. That search was expensive.
The change should see a net improvement to DrawCallPerfBenchmark for D3D null.
Change-Id: If4942e0afd9e8fefadce8820a1305e13636547ef
Reviewed-on: https://chromium-review.googlesource.com/311115
Tested-by: Austin Kinross <aukinros@microsoft.com>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
e8e4debc
|
2015-11-18T17:15:38
|
|
Fix invalid generated sampling functions in HLSL output
In some generated shaders, "levels" would be read before it is assigned
by GetDimensions when clamping mip level to valid range. Fix these cases.
BUG=angleproject:1092
TEST=dEQP-GLES3.functional.shaders.texture_functions.*
(12 tests start passing)
Change-Id: I9fce8d378606738e5172673d222bce7968e26789
Reviewed-on: https://chromium-review.googlesource.com/312022
Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
3e960463
|
2015-11-12T15:58:39
|
|
Detect when gl_FragData is indexed with != 0 in WebGL 2.0
WebGL 2.0 explicitly specifies it to be an error when gl_FragData is
indexed with anything else than constant zero in spec section
'GLSL ES 1.00 Fragment Shader Output'.
This doesn't apply to WebGL 1.0 or GLES.
dEQP-GLES2.functional.shaders.fragdata* test that dynamic indexing of
gl_FragData is allowed.
TEST=angle_unittests
BUG=angleproject:1210
Change-Id: Ib401242e7867f5e7943456b059dd8e24dc404098
Reviewed-on: https://chromium-review.googlesource.com/312045
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
bd163f6a
|
2015-11-13T12:15:38
|
|
Fix parsing structure definitions in place of constructors
The shader parser used to accept structure definitions in place of
constructors, which is invalid GLSL. This patch fixes that.
BUG=angleproject:939
TEST=angle_unittests
Change-Id: Ibcf502160e91c19e693e9427b548a399d83e2a71
Reviewed-on: https://chromium-review.googlesource.com/312032
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
40d9edf1
|
2015-11-12T17:30:34
|
|
Fix structure comparison constant folding
objectSize() will return the size of all data in the structure, and
simply iterating over the data will work for determining whether two
structures are equal. The earlier complex and broken approach where the
structure was traversed recursively is not needed.
BUG=angleproject:1211
TEST=angle_unittests
Change-Id: I0e5c5ccbb767d44ef6acb0f1f25f27dfc42866e1
Reviewed-on: https://chromium-review.googlesource.com/312490
Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
36b0514a
|
2015-11-12T13:10:42
|
|
Fix ESSL3 indexing corner cases
Indexing interface blocks or fragment outputs with a non-constant
expression is not valid even if ANGLE has been able to constant fold
the expression.
BUG=angleproject:1210
TEST=angle_unittests
Change-Id: I2ccb67871b682976a31b8de306053b9b28c06437
Reviewed-on: https://chromium-review.googlesource.com/312044
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
55c25d0c
|
2015-11-18T13:08:08
|
|
D3D11: Fix varying packing with structs.
Previously we would try to pass an entire struct through HLSL's
shader interface. Instead, split this off as if each field was
its own variable, which seems to be spec compliant (see ESSL 3.10).
In the future we may want to fix register packing to use specific
components of float4/int4/uint4 HLSL registers. This could also fix
the remaining bugs in the SM3 packing.
TEST=dEQP-GLES3.functional.shaders.linkage.varying.*
BUG=angleproject:910
BUG=angleproject:1202
Change-Id: I1fd8b4505abc39bd2385ed5c088c316d55d0bc2c
Reviewed-on: https://chromium-review.googlesource.com/311242
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
9fc3682c
|
2015-11-18T13:08:07
|
|
D3D: Rework varying packing code.
In D3D we pack varyings by making a register map, and using the
recommended GLSL ES algorithm to reserve register space. We use
this map to assign row and column slots to each varying and then
produce a semantic index value.
The existing scheme had a number of bugs, and was failing several
angle_end2end_tests. The new design cleans up the code somewhat
and uses a different counting scheme for the semantic indexes:
just sort the varyings in packing order and use a simple
incrementing semantic index per varying. In SM4+, the HLSL compiler
sorts and packs the varyings correctly itself, and in SM3, handle
the cases we don't support by returning an error instead of a D3D
compiler link error.
Also refactor how we store varying information for TF Feedback/
StreamOut. Only store the necessary D3D information, instead of
extra information like the name and type.
This fixes several tests in GLSLTest/*. This also will allow us to
fix interpolation qualifier packing and the structure packing in
HLSL, which seems to work differently than the rest of the varying
types.
BUG=angleproject:1202
TEST=bots,dEQP-GLES3.functional.transform_feedback.*
Change-Id: Ie5bfbb4f71d8bf97f39115fc46d2e61b131df639
Reviewed-on: https://chromium-review.googlesource.com/311241
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
15c2ac30
|
2015-11-09T15:51:43
|
|
Fix constructor parsing issues
After this patch, ANGLE no longer accepts constructors where any of
multiple parameters is sampler or void.
Also, structure array constructors with just one parameter are now
accepted.
Error message for a constructor with no parameters is also more
informative than before.
BUG=angleproject:1193
TEST=angle_unittests
Change-Id: I6b897973448cf500096f612b3b95dcc23aebc716
Reviewed-on: https://chromium-review.googlesource.com/311590
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
1d122789
|
2015-11-06T15:35:17
|
|
Fix constructor constant folding
The previous solution for constant folding constructors was significantly
overengineered and partially incorrect. Switch to a much simpler
constructor folding function that does not use an AST traverser, but
simply iterates over the constant folded parameters of the constructor
and doesn't do any unnecessary checks. It also reuses some code for
constant folding other built-in functions.
This fixes issues with initializing constant matrices with only a single
parameter. Instead of copying the first component of the constructor
parameter all over the matrix, passing a vec4 or matrix argument now
assigns the values correctly.
BUG=angleproject:1193
TEST=angle_unittests, WebGL conformance tests
Change-Id: I50b10721ea30cb15843fba892c1b1a211f1d72e5
Reviewed-on: https://chromium-review.googlesource.com/311191
Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
7c3848e5
|
2015-11-04T13:19:17
|
|
Allow constant folding some non-constant expressions
This requires removing the assumption that constant folding implies
constness in the constant expression sense from various places in the
code.
This particularly benefits ternary operators, which can now be simplified
if just the condition is a compile-time constant.
In the future, the groundwork that is laid here could be used to implement
more aggressive constant folding of user-defined functions for example.
TEST=angle_unittests
BUG=angleproject:851
Change-Id: I0eede806570d56746c3dad1e01aa89a91d66013d
Reviewed-on: https://chromium-review.googlesource.com/310750
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
076ca26f
|
2015-11-06T13:04:15
|
|
D3D11: Implement fixed primitive restart with tri fans.
Similarly to line loops, we fully unpack the index data into a
triangle list.
BUG=angleproject:597
Change-Id: Icf91cb77df0a941640e34a975898543e1dac5752
Reviewed-on: https://chromium-review.googlesource.com/310501
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
5576734a
|
2015-11-06T14:43:37
|
|
Remove DynamicHLSL_unittest.cpp
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/311151
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
4dd1e55f
|
2015-11-06T14:23:24
|
|
D3D11: Implement basic primitive restart.
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/309639
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
c4c74422
|
2015-11-04T09:39:47
|
|
ES3: Don't validate precision qualifiers when linking UBOs.
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/310760
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
5b58cae2
|
2015-11-05T14:51:47
|
|
Revert "In D3D, cache static vertex buffers to prevent wasteful recreation"
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 868651d334d060458af13c7ff9211c2f72be0cad.
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>
|
|
b1edc4f5
|
2015-11-02T17:20:03
|
|
Accept const array initialization in shader parsing
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/310231
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e79b1e14
|
2015-11-04T16:36:37
|
|
D3D11: Restrict use of MAX_UINT element indexes.
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/309638
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
08fc7732
|
2015-11-02T16:24:25
|
|
Update dEQP failing test expectations.
BUG=angleproject:1088
BUG=angleproject:1095
BUG=angleproject:1097
BUG=angleproject:1101
Change-Id: I40f4d5960ef52bb1049336d23da4034a41f2fe63
Reviewed-on: https://chromium-review.googlesource.com/310480
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
c7a92fdb
|
2015-10-29T10:08:09
|
|
D3D11: Fix provoking vertex for flat triangle strips.
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>
|
|
3e14e2b1
|
2015-10-29T14:38:53
|
|
D3D11: Fix basic provoking vertex flat shading cases.
The enables geometry shaders that correct for the flat shading on
provoking vertexes. It does not fix it for triangle strips, or in
conjunction with primitive restart (which is not yet implemented
in D3D11).
Also ensure we do not regress with flat shading enabled and transform
feedback. In cases where we use flat shading, do a double draw call,
first with an untransformed vertex stream, and no geometry shader,
then with the geometry shader enabled.
This also fixes the dEQP fragment output tests with ints.
BUG=angleproject:754
Change-Id: Ib37e8ec32d19db17ea5d4dc88158cdae0c956bfc
Reviewed-on: https://chromium-review.googlesource.com/309155
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
5d91dda9
|
2015-06-18T15:47:46
|
|
Remove dynamic indexing of matrices and vectors in HLSL
Re-re-relanding after clang warning fix.
Re-re-landing with fix to setting qualifiers on generated nodes. The
previous version failed when a uniform was indexed, because it would
set the uniform qualifier on some of the generated nodes and that
interfered with the operation of UniformsHLSL.
Re-landing after fixing D3D9 specific issues.
HLSL doesn't support dynamic indexing of matrices and vectors, so replace
that with helper functions that unroll dynamic indexing into switch/case
and static indexing.
Both the indexed vector/matrix expression and the index may have side
effects, and these will be evaluated correctly. If necessary, index
expressions that have side effects will be written to a temporary
variable that will replace the index.
Besides dEQP tests, this change is tested by a WebGL 2 conformance test.
In the case that a dynamic index is out-of-range, the base ESSL 3.00 spec
allows undefined behavior. KHR_robust_buffer_access_behavior adds the
requirement that program termination should not occur and that
out-of-range reads must return either a value from the active program's
memory or zero, and out-of-range writes should only affect the active
program's memory or do nothing. This patch clamps out-of-range indices so
that either the first or last item of the matrix/vector is accessed.
The code is not transformed in case the it fits within the limited subset
of ESSL 1.00 given in Appendix A of the spec. If the code isn't within
the restricted subset, even ESSL 1.00 shaders may require this
workaround.
BUG=angleproject:1116
TEST=dEQP-GLES3.functional.shaders.indexing.* (all pass after change)
WebGL 2 conformance tests (glsl3/vector-dynamic-indexing.html)
Change-Id: I9f6d7c7ecda8ac4dc3c30b39e15a9a0b5381c5a8
Reviewed-on: https://chromium-review.googlesource.com/310010
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
0c1d4403
|
2015-10-29T10:13:49
|
|
dEQP: Use full GTest name in non-standalone.
With crbug.com/509883 fixed, we can use the full test names.
BUG=509883
BUG=angleproject:1153
Change-Id: I62bf60fb5066de8c0cc118512ba0d9e9bbd94303
Reviewed-on: https://chromium-review.googlesource.com/309653
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
a5f64de7
|
2015-10-30T12:31:00
|
|
Revert "Remove dynamic indexing of matrices and vectors in HLSL"
Failing build on Clang-win:
..\..\third_party\angle\src\compiler\translator\RemoveDynamicIndexing.cpp(128,43) : error: expected '(' for function-style cast or type construction
fieldType.setPrimarySize(unsigned char(indexedType.getRows()));
~~~~~~~~ ^
BUG=angleproject:1116
This reverts commit 7535b761dd4740c8e76b888d7c58c7cbeefd2083.
Change-Id: I7b502e3dcd45e17b7ed88fec18be702614d9ac65
Reviewed-on: https://chromium-review.googlesource.com/309772
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|