|
f455f756
|
2019-03-20T20:49:44
|
|
Reuse angle_end2end_test windows and displays.
This both speeds up test execution and cuts down on the number of new
windows and displays created for a test config. This feature is only
currently enabled for Windows NVIDIA and Intel. On every other config
there were blocking issues that would need investigation. Several tests
were manually flagged as needed new displays on each iteration to
prevent test flakiness.
This feature might fix the issues with Intel test flakiness that have
been prominent on the ANGLE CQ.
WGL configurations have also been removed from ANGLE tests. So this
removes more of the code from ANGLETest.cpp.
Bug: angleproject:3261
Change-Id: Ic2864d4806ad38e0eeaa3c0afcd54ae1c548090f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1520995
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
ba319ba3
|
2018-12-29T10:29:33
|
|
Re-land "Load entry points dynamically in tests and samples."
Fixes the Android/ChromeOS/Fuchsia builds by using consistent EGL
headers.
This CL adds a dynamic loader generator based on XML files. It also
refactors the entry point generation script to move the XML parsing
into a helper class.
Additionally this includes a new GLES 1.0 base header. The new
header allows for function pointer types and hiding prototypes.
All tests and samples now load ANGLE dynamically. In the future this
will be extended to load entry points from the driver directly when
possible. This will allow us to perform more accurate A/B testing.
The new build configuration leads to some tests having more warnings
applied. The CL includes fixes for the new warnings.
Bug: angleproject:2995
Change-Id: I5a8772f41a0f89570b3736b785f44b7de1539b57
Reviewed-on: https://chromium-review.googlesource.com/c/1392382
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
9f088621
|
2018-12-29T20:46:15
|
|
Revert "Load entry points dynamically in tests and samples."
This reverts commit 03923558a7103827ffec6a4d2a1453ed91f01c6f.
Reason for revert: fails compilation on Android, ChromeOS and Fuchsia during roll https://chromium-review.googlesource.com/c/chromium/src/+/1392624
Original change's description:
> Load entry points dynamically in tests and samples.
>
> This CL adds a dynamic loader generator based on XML files. It also
> refactors the entry point generation script to move the XML parsing
> into a helper class.
>
> Additionally this includes a new GLES 1.0 base header. The new
> header allows for function pointer types and hiding prototypes.
>
> All tests and samples now load ANGLE dynamically. In the future this
> will be extended to load entry points from the driver directly when
> possible. This will allow us to perform more accurate A/B testing.
>
> The new build configuration leads to some tests having more warnings
> applied. The CL includes fixes for the new warnings.
>
> Bug: angleproject:2995
> Change-Id: I6726d4163f7a6e54d2482f094c0a952f59702a05
> Reviewed-on: https://chromium-review.googlesource.com/c/1359516
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
TBR=ynovikov@chromium.org,jmadill@chromium.org,syoussefi@chromium.org
Change-Id: I902bec2d733c2b879be29c02ab52a0b7d4eaa077
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:2995
Reviewed-on: https://chromium-review.googlesource.com/c/1392381
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
03923558
|
2018-12-29T10:29:33
|
|
Load entry points dynamically in tests and samples.
This CL adds a dynamic loader generator based on XML files. It also
refactors the entry point generation script to move the XML parsing
into a helper class.
Additionally this includes a new GLES 1.0 base header. The new
header allows for function pointer types and hiding prototypes.
All tests and samples now load ANGLE dynamically. In the future this
will be extended to load entry points from the driver directly when
possible. This will allow us to perform more accurate A/B testing.
The new build configuration leads to some tests having more warnings
applied. The CL includes fixes for the new warnings.
Bug: angleproject:2995
Change-Id: I6726d4163f7a6e54d2482f094c0a952f59702a05
Reviewed-on: https://chromium-review.googlesource.com/c/1359516
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3f01f53c
|
2018-12-11T15:13:51
|
|
ES31: Add state change tests for image
This change adds dirty bit state change tests for image textures.
Meanwhile, syncImages related codes are removed since syncTextures will do
all texture states sync.
Bug: angleproject:3015
Change-Id: I9b299c86af1d589e72c08c5d7c55ac74cc7833aa
Reviewed-on: https://chromium-review.googlesource.com/c/1390596
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
35cd7332
|
2018-12-02T12:03:33
|
|
Refactor test shader style.
This change enforces a lot more consistency. We pass const char * to
the Compile functions instead of std::string. Also fixes the
indentation of C++11 block comments to be more consistent.
Bug: angleproject:2995
Change-Id: Id6e5ea94055d8cbd420df4ea2e81b2d96cb5ce78
Reviewed-on: https://chromium-review.googlesource.com/c/1357103
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
11bfe6fa
|
2018-11-27T13:24:22
|
|
Supress RobustResourceInitTestES3.MaskedStencilClearBuffer on Linux OpenGL
This test flakes on many platforms.
BUG=angleproject:2408
BUG=angleproject:2407
Change-Id: I9e8ff8aedc02962656c1a336c3f34191920ae8c7
Reviewed-on: https://chromium-review.googlesource.com/c/1352222
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b980c563
|
2018-11-27T11:34:27
|
|
Reformat all cpp and h files.
This applies git cl format --full to all ANGLE sources.
Bug: angleproject:2986
Change-Id: Ib504e618c1589332a37e97696cdc3515d739308f
Reviewed-on: https://chromium-review.googlesource.com/c/1351367
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c20ead32
|
2018-10-17T16:27:32
|
|
Remove unused lambda capture
This is a preparation CL to remove -Wno-unused-lambda-capture warning suppression.
Bug: chromium:681136
Change-Id: Ib5c1c4eeeed3b7406ede2dea33066c54e5fc3da0
Reviewed-on: https://chromium-review.googlesource.com/c/1286172
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
daab0014
|
2018-09-13T14:56:28
|
|
Test and fix robust resource init for multisampled textures
New test coverage for robust initialization of multisampled textures
is added in angle_end2end_tests. Some missing functionality that was
affecting the initialization of multisampled 2D array textures is now
fixed.
BUG=angleproject:2775
TEST=angle_end2end_tests
Change-Id: I1d9d3cd154ca2910159941fe8b1bef4ae6320bdd
Reviewed-on: https://chromium-review.googlesource.com/1224530
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
47f6dd0d
|
2018-08-10T13:36:32
|
|
Implement robust initialization for image texture
This change fixes a bug that the image texture initialization time is not
correct. It happens when we use compute shader to write data to an
uninitialized texture, then use readPixels to read the result which
results that texture initialization falls behind image store and
covers the real result.
Bug: angleproject:2766
Change-Id: I4e986972096857afc975c40dfa4d559a2f31194c
Reviewed-on: https://chromium-review.googlesource.com/1170569
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
f2807385
|
2018-04-24T15:25:35
|
|
D3D: Use an alignment of 1 when uploading zero data to initialize textures.
BUG=836131
Change-Id: I1206c8eda465da563e15cf43f2e5c9320bb65eae
Reviewed-on: https://chromium-review.googlesource.com/1026460
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
5804dc8e
|
2018-04-13T14:11:46
|
|
Refactor GL tests to use a shader library
Instead of having the same simple shaders repeated over and over in
the test code, reuse a single shader library.
BUG=angleproject:2474
TEST=angle_end2end_tests
Change-Id: I13f8ca8c0125e6d30f1761639bf8c3f69e0e77d2
Reviewed-on: https://chromium-review.googlesource.com/1012078
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
56c8577b
|
2018-04-06T16:31:47
|
|
TextureD3D_2D::CopyImage clear using initializeContents
When using glCopyTexImage2D clearing of the mip level needs to happen
when running in WebGL or robust resource init mode and any pixel would
be sampled outside of the framebuffer. Previously the code was using
"setImage" for this purpose, causing issues when a PIXEL_UNPACK_BUFFER
was bound.
Also add a regression test.
BUG=chromium:827667
Change-Id: I03be20d8272730ab30afdab2f8919be853e729b6
Reviewed-on: https://chromium-review.googlesource.com/1000182
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
3e1302bd
|
2018-04-10T15:36:28
|
|
Skip RobustResourceInitTestES3.MaskedStencilClearBuffer on Mac NVIDIA.
Flaky.
BUG=angleproject:2408
Change-Id: I20a6cbf8c4daa722c9d3f91aa3b55227cfff94b5
Reviewed-on: https://chromium-review.googlesource.com/1005811
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
78c5eb2a
|
2018-03-28T11:40:19
|
|
Skip RobustResourceInitTestES3.MaskedStencilClearBuffer on Intel Mac.
BUG=angleproject:2408
Change-Id: I5994b5ade3c533743c9fc52915aa1d5faca3dd8f
Reviewed-on: https://chromium-review.googlesource.com/984292
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
c7575da5
|
2018-03-27T21:19:42
|
|
Skip ReuploadingClearsTexture test on Mac.
BUG=chromium:826576
Change-Id: If241e57480efe3aabfb30a2be453f05d45367e4a
Reviewed-on: https://chromium-review.googlesource.com/982910
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
3cd48fff
|
2017-10-03T15:37:16
|
|
Implement robust resource initialization for OpenGL.
BUG=angleproject:2107
BUG=angleproject:2407
BUG=angleproject:2408
BUG=693090
Change-Id: I6444f80f9703d6341f2ec67518050adc88f71d96
Reviewed-on: https://chromium-review.googlesource.com/678482
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
74ba598f
|
2018-03-13T11:22:16
|
|
Fix cubemap robust resource init for GenerateMipmap
The code in gl::Texture would only check whether the first cube map face
is correctly initialized but not for the others.
BUG=angleproject:2169
Change-Id: Ib565579a4570e731da785b5c74c8d1a6511ebcd4
Reviewed-on: https://chromium-review.googlesource.com/960571
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
8170eab7
|
2017-09-21T13:59:04
|
|
D3D: Implement robust resource init for Surfaces.
BUG=angleproject:2107
BUG=angleproject:2317
Change-Id: I22260e1093dc6c09e4627c62a95ca4088c99e951
Reviewed-on: https://chromium-review.googlesource.com/678480
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
9550c603
|
2018-02-13T14:47:05
|
|
Code refactoring for end2end tests.
This change:
1) uses the new style ANGLE_SKIP_TEST_IF to skip tests.
2) replaces compile-time definition for OSX to skip tests by run-time
function IsOSX() to skip tests, in order to align with ANGLE_SKIP_TEST_IF.
3) fixes a couple of typos.
BUG=angleproject:2005
Change-Id: I5af77d82257536b9eb79e26afa502f5b91ff6d31
Reviewed-on: https://chromium-review.googlesource.com/915861
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
0a05df48
|
2017-11-02T21:39:08
|
|
Add TextureUploadFormatTest for texture unpack/upload behavior checks.
Also force ANGLE_SKIP_TEST_IF() to require a semicolon.
BUG=angleproject:2220
TEST=angle_end2end_tests
Change-Id: I2dc777ec75babb8fbb1a2dd8949636c5c05c5767
Reviewed-on: https://chromium-review.googlesource.com/754337
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b433e872
|
2017-10-05T14:01:47
|
|
Change robust resource init into a context creation attribute.
Enabled support on OpenGL even through the extension is not fully
implemented so that testing with Chromium/Passthrough commmand decoder
is still possible.
BUG=angleproject:1635
Change-Id: Ia417b1779aace1eae19514325701a79cd33f4ef3
Reviewed-on: https://chromium-review.googlesource.com/678479
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
7e7f7d25
|
2017-09-22T13:32:14
|
|
Implement robust resource init for D3D9.
BUG=angleproject:2107
Change-Id: I088956a1e13247c593cbb84677f346ef6f0fe983
Reviewed-on: https://chromium-review.googlesource.com/678483
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
05b35b21
|
2017-10-03T09:01:44
|
|
D3D11: Lazy robust resource init.
This patch moves the robust resource init logic to the GL front-end.
Instead of initializing texture resources immediately on creation in
D3D11, it defers the clear until before a draw call in some cases, or
skips the update if we can determine if a texture (or other resource)
has been fully initialized.
Currently lazy init is only implemented for Textures, Renderbuffers,
and Surfaces.
Various places where lazy resource init is triggered:
* Framebuffer operations (Draw, Blit, CopyTexImage, Clear, ReadPixels)
* Texture operations (SubImage, GenerateMipmap, CopyTexImage)
Some efficiency gains remain to be implemented, such as when a
SubImage call fills the entire object. Similarly for Blit, and a few
other operations. In these cases we can skip lazy init as an
optimization. Edge cases with EGLImage are mostly untested.
BUG=angleproject:2107
Change-Id: I2bf3a69b1eae0d4feeb5b17daca23451f1037be8
Reviewed-on: https://chromium-review.googlesource.com/576058
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
a0bcc50b
|
2017-08-02T14:45:58
|
|
TextureD3D: Mark images clean after binding a surface.
By marking the images as dirty after binding a surface, the surface would
be cleared when it was first read or written to.
BUG=750813
BUG=angleproject:1635
Change-Id: Ic0d1c985151d55a0f1a1af67bb1edc4b0e8f2063
Reviewed-on: https://chromium-review.googlesource.com/598731
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
cca63f2e
|
2017-07-14T11:08:41
|
|
Fix compilation error in RobustResourceInitTest.cpp
The patch fixes a compilation bug caused from having local variable
names clash with the variables names from a parent scope.
BUG=angleproject:1815
Change-Id: I3d23faaafdea9be503da99512b204d7a50a3b228
Reviewed-on: https://chromium-review.googlesource.com/571000
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
c5af8ba6
|
2017-07-11T12:18:31
|
|
D3D11: Make sure to resolve the storage for CopyTexImage3D.
TextureD3D_3D::copySubImage worked around missing functionality in D3D11
for copying a framebuffer directly to a texture storage but didn't handle
the case of a texture storage already existing. This caused the image to
have out-of-date data before the new data was copied into it. Simply copy
the data from the storage back into the image before performing the copy
from the framebuffer and then copy back to the storage afterwards.
TEST=conformance2/textures/misc/copy-texture-image-webgl-specific.html
BUG=angleproject:1815
Change-Id: I308d6a1d3ecbc738f7d0e232bece433e6b353638
Reviewed-on: https://chromium-review.googlesource.com/567199
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
863b6236
|
2017-06-08T11:18:49
|
|
Refactor redefineImage and track dirty images properly.
Several issues showed up in testing with WebGL:
* Images should only be forcefully re-defined when there is no data to
upload.
* After an image is marked dirty, a later call to subImage would cause
assertion failures because the texture storage would try to verify that
the image was not dirty, don't try to copy directly to storage in this
case.
BUG=angleproject:1635
Change-Id: I9e5d83850d743b7d4d2db938312ee5c35a3a79ee
Reviewed-on: https://chromium-review.googlesource.com/527348
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
f2a06035
|
2017-06-05T14:07:36
|
|
Force-release images on redefine when robust resource init is enabled.
If the user repreatedly calls glTexImage with null data and the same size,
it is expected that the texture would re-fill itself with zero'd data.
TextureD3D and ImageD3D would no-op these calls when the texture is
already the right size.
TEST=conformance2/rendering/blitframebuffer-filter-outofbounds
BUG=angleproject:1635
Change-Id: I810b15922759a4acfc0ef7da198f068b81e9efc4
Reviewed-on: https://chromium-review.googlesource.com/524436
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
b7d5e303
|
2017-06-01T16:04:46
|
|
D3D11: Default init all textures.
The resource manager factory methods will use ClearView or zero-filled
buffers to set initial data. It assumes there are no 3D depth/stencil
textures. This will lead to some wasteful re-creation of RTVs in some
cases.
This is a temporary measure until we can implement more efficient
lazy resource init strategies.
BUG=angleproject:1635
Change-Id: I590e76587d3d96a359beedb79e21d24930e5f2e0
Reviewed-on: https://chromium-review.googlesource.com/503254
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
948bbe51
|
2017-06-01T13:10:42
|
|
Redesign robust resource init as a display extension.
Also correct the enum allocation to values that are available to ANGLE.
BUG=angleproject:1635
Change-Id: I443f5654aa6a5049b4a1ae4c253cd6473b4e446e
Reviewed-on: https://chromium-review.googlesource.com/520002
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
341a36cc
|
2017-05-24T09:53:25
|
|
Fix zero size buffer robust init crash.
We were not correctly checking for a zero-size buffer, which should
not trigger allocating a scratch buffer.
BUG=angleproject:1635
Change-Id: Iac0a3d8f1eeeb7b39c59eec411bec78a4f21bcd3
Reviewed-on: https://chromium-review.googlesource.com/513478
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e14951e6
|
2017-03-09T18:55:16
|
|
Implement robust buffer initialization.
This uses the most simple implementation: on BufferData calls without
explicit data arguments, it will initialize the buffer data store to
zero. This could be improved by deferring the init until needed, and
skipping it if the buffer store is cleared through other API calls,
but it is not a regression from current Chromium implementation.
BUG=angleproject:1635
Change-Id: I2fb1594851c5050dc2578736c3f74761555da267
Reviewed-on: https://chromium-review.googlesource.com/450921
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e08a1d36
|
2017-03-07T17:24:06
|
|
Plumb robust resource init extensions.
This also cleans up a few minor glitches in the extension texts,
and renames the EGL extension for consistency.
It incidentally fixes a bug in our EGL init where we were checking
the wrong client versions for KHR_create_context.
It also implements a new feature for tests which allow them to defer
Context creation until the test body. This allows tests to check for
EGL extension available before trying to create a context with certain
extensions.
BUG=angleproject:1635
Change-Id: I9311991332c357e36214082b16f2a4a57bfa8865
Reviewed-on: https://chromium-review.googlesource.com/450920
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|