|
1a01b4b3
|
2019-11-11T16:41:07
|
|
Refactor end2end test macros
This is a foundational CL to enabling the end2end tests on swiftshader.
Refactored infrastructure with new ANGLE_INSTANTIATE_TEST_ES*
macros that will run tests over all various combinations of all
platforms for different ES versions.
Just skipping failing tests initially to get the refactor landed.
Bug: angleproject:4081
Bug: angleproject:4092
Change-Id: I017f6c3267179e49b6ae08cc7488096b423dcdb5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1904635
Commit-Queue: Tobin Ehlis <tobine@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
b8149075
|
2019-04-30T16:14:44
|
|
Clean up ANGLE test extension functions.
None of these functions needed to be member functions. Also make the
naming more consistent.
Bug: angleproject:3393
Change-Id: I7aafe2269a48af703a87bd9a8cf4cfab9e177dd3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1574673
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
82fddcb1
|
2019-01-18T14:27:43
|
|
Vulkan: Implement GLsync and EGLSync fence syncs
That is required in GLES 3 for GLsync and EGL_KHR_fence_sync and
EGL_KHR_wait_sync (or EGL 1.5) for EGLSync.
The two constructs (GLsync and EGLSync) have similar semantics and share
the implementation on the Vulkan backend.
The implementation of a fence sync object is achieved through the
combined use of a vkEvent and the implicit vkFence inserted at the end
of every submission. Imagine the following command buffer:
glDraw : Draw
glCreateSync: Set Event <-- insertion of fence sync
glDraw : Draw
: Signal Fence <-- implicit fence at the end of submission
glFlush : Submit
Assume the serial S is associated to this submission. The following
hold:
- If event is set, the fence sync is signaled
- If S is already finished, the fence sync is signaled
- If client is waiting on the sync and S is not yet flushed, there will
be a deadlock (unless multi-threaded and another thread performs the
flush).
The event is used to implement server waits (glWaitSync), as vkEvent is
the only entity the GPU can signal and wait on within the command
buffer. The wait is inserted in the command graph without incurring a
flush, i.e. the wait can be within the same command buffer as event set.
The event however does not support CPU waits (glClientWaitSync).
vkFence is the only entity the CPU can wait on. For client wait
therefore, the following algorithm is used:
- If the event is already set, there's no wait -> already signaled
- If timeout is zero, there's no wait -> timeout expired
- If S is not flushed, flush it to ensure forward progress.
- Wait until S is finished -> condition satisfied / timeout expired.
Bug: angleproject:2466
Change-Id: I678995a6139dd9533fa8ad361a3d292b202c52a4
Reviewed-on: https://chromium-review.googlesource.com/c/1422552
Commit-Queue: Shahbaz Youssefi <syoussefi@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>
|
|
617103ed
|
2018-11-22T13:18:05
|
|
GL: Implement GL_NV_fence on top of GLsync objects.
When ANGLE exposes an ES2 context, there is often no way to create fence
objects because GL_NV_fence is not available.
BUG=882580
Change-Id: Ic18539e0243317a188545f3945f6b33d3401f1a8
Reviewed-on: https://chromium-review.googlesource.com/c/1348769
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
0864a7ac
|
2018-11-07T15:50:15
|
|
Vulkan: Enable end2end tests for ES2_VULKAN everywhere
Used a script to find test files that have more ES2_OPENGL() invocations
than ES2_VULKAN(), and added ES2_VULKAN() to those. There may be false
negatives.
Bug: angleproject:1578
Change-Id: I938eb3571c909879e9276b355a9f1d324880f99a
Reviewed-on: https://chromium-review.googlesource.com/c/1324350
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@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>
|
|
8e5ba8bb
|
2018-02-05T17:52:27
|
|
Clean up end2end tests for Intel Linux platform.
Removed tests can pass on Intel Linux Desktop (Intel KabyLake, Ubuntu 17.04)
with system default mesa and latest upstream mesa.
BUG=angleproject:2205
BUG=chromium:680631
Change-Id: Ie3f0f34b9708a7dab81f66d9ec83a469658deee7
Reviewed-on: https://chromium-review.googlesource.com/901382
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
fa920ebb
|
2018-01-04T11:45:50
|
|
Entry Points: Auto-generate extensions EPs.
This is partially complete - it is missing the auto-gen for custom
ANGLE and Chromium extensions that aren't present in gl.xml. We
can upstream some of these extensions, but will also need to make
custom handling for some extensions that are too volatile or under-
specced to upstream to Khronos.
This also tweaks some of the Context method names to match what the
auto-generator expects. It also updates some TexStorage entry points.
Also includes a specialized error return value for glTestFenceNV.
Also removes the TexImage3DOES entry point which was neither used
nor accessible to the application.
Bug: angleproject:2263
Change-Id: I3667c22b1b15f84ab4c7dfecb5745aaf73d11e76
Reviewed-on: https://chromium-review.googlesource.com/846420
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
1f679cc6
|
2017-11-29T18:06:00
|
|
Code refactoring for angle::BitSet and EXPECT_GL_TRUE/FALSE.
This change refactors two style issues to make it be consistent.
1) This CL uses "using" to replace "typedef" for all angle::BitSet<...>.
2) This CL uses EXPECT_GL_TRUE/FALSE to replace EXPECT_EQ for bool comparison.
BUG=angleproject:2005
Change-Id: I4afad92313ea2457bbfedf80f917a5873d7f29ee
Reviewed-on: https://chromium-review.googlesource.com/795871
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
70b5bb00
|
2017-08-28T13:32:37
|
|
Rename gl::FenceSync to gl::Sync.
The spec refers to Sync objects, FenceSyncs being a subtype. The
motivation for this fix is to clear up the FenceSync_ entry point for
auto-generation.
BUG=angleproject:1309
Change-Id: I94c440476d701628575e7a3eea68b6dd110f41c3
Reviewed-on: https://chromium-review.googlesource.com/636516
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
518b9fab
|
2016-03-02T11:26:02
|
|
Suppress some failing end2end_tests on Intel.
BUG=589851
Change-Id: Ia580cee30e6842aaddb4683025f425166f0f6120
Reviewed-on: https://chromium-review.googlesource.com/329735
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
f09bf669
|
2016-03-02T11:26:01
|
|
Revert "Suppress some failing end2end_tests on Intel."
This reverts commit 7208f6994cf7d810c2226965362aad43d2a66f53.
Still some failures on Intel, requires a slightly different solution.
BUG=589851
Change-Id: I6ac6599249e9e0f6319c917e04734cd48ca9274d
Reviewed-on: https://chromium-review.googlesource.com/329734
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
7208f699
|
2016-02-29T10:47:35
|
|
Suppress some failing end2end_tests on Intel.
BUG=589851
Change-Id: I91588014784a8a9b75389aeb596923458c30d80a
Reviewed-on: https://chromium-review.googlesource.com/329427
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e0cc2a4a
|
2016-01-20T10:58:17
|
|
Enable all angle_end2end_tests targeting OpenGL and OpenGL ES backends.
Added failure supressions and filed bugs for failing tests.
BUG=angleproject:1145
BUG=angleproject:1289
BUG=angleproject:1291
BUG=angleproject:1292
BUG=angleproject:1293
BUG=angleproject:1296
Change-Id: Ida78ba855500fe8a6ce6154d43ee01520330e3b1
Reviewed-on: https://chromium-review.googlesource.com/322695
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
4d61f7ed
|
2015-08-12T10:56:50
|
|
Reland Fixed compiler warning C4267 'conversion from 'size_t' to 'type', possible loss of data'
Additional warnings found with more testing and added C4267 warning disable only for angle_libpng
BUG=angleproject:1120
Change-Id: Ic403dcff5a8018056fa51a8c408e64207f3362eb
Reviewed-on: https://chromium-review.googlesource.com/293028
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
5a6dec50
|
2015-06-12T14:53:53
|
|
Ensure FencSyncTests::BasicOperations can't get stuck in an infinite loop
BUG=angleproject:1053
Change-Id: If6661ce3d87cdf44b1d45911418ecf78b5e6175a
Reviewed-on: https://chromium-review.googlesource.com/277370
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
322653bf
|
2015-06-17T18:33:56
|
|
Fix Chromium build of angle_end2end_tests
BUG=angleproject:892
Change-Id: I9922046fc9e4d82d7034405f5952263f982c6529
Reviewed-on: https://chromium-review.googlesource.com/278159
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
c84e20ee
|
2015-06-04T18:38:10
|
|
Revert "Add a flush before looping to get the sync status."
Apparently even a flush isn't enough on some Intel drivers.
This reverts commit 73410e42c88dc28ada1a2b337b5c94b063b7a4e6.
Change-Id: Iafdd1cbb4e89d30ebe3be6404f0bf4e586d91b8d
Reviewed-on: https://chromium-review.googlesource.com/275305
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
73410e42
|
2015-06-03T10:55:53
|
|
Add a flush before looping to get the sync status.
Intel GPUs enter an infinite loop unless told to flush.
BUG=angleproject:1038
Change-Id: I7c3d9dd08bf1ee09cb163dd859f817379a72cd65
Reviewed-on: https://chromium-review.googlesource.com/274942
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
d3970de4
|
2015-05-14T11:07:48
|
|
Move ANGLETest back in test_utils, leaving a proxy header for Chromium
BUG=angleproject:892
Change-Id: Ibd494813be87e996096077d6e208cc92461b8f49
Reviewed-on: https://chromium-review.googlesource.com/271154
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
ac3ab882
|
2015-05-12T13:31:28
|
|
Temporarily move back ANGLETest in end2end_tests
This path needs to a Chrome change before it can change.
BUG=angleproject:892
Change-Id: I549737383b9720a2e7d83ee5e3145d71716f04cb
Reviewed-on: https://chromium-review.googlesource.com/270457
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
9cb9583e
|
2015-05-11T10:21:48
|
|
Move end2end and standalone tests to gl_tests and egl_tests
Also introduce a test_utils directory that contains helpers used for all
types of tests.
BUG=angleproject:892
Change-Id: I9e1bff895020ffd3a109162283971a290a1098bd
Reviewed-on: https://chromium-review.googlesource.com/270198
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|