|
07ae2970
|
2021-05-12T11:15:01
|
|
Fix IOSurfaceClientBufferTest.RenderToBGRX8888IOSurface on OSX+OpenGL
For BGRX, the alpha value is undefined. It wont write back to client
memory, so don't compare alpha to expected result.
Bug: angleproject:5958
Change-Id: I289f14f7c6a6ee63e74351d6abdd44fff8bf106b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2891926
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
904ac340
|
2021-04-26T15:54:25
|
|
Bug fix for WaitClient, WaitGL and WaitNative
It is valid to call eglWaitClient, eglWaitGL and eglWaitNative
when there is no active context in the current thread. Update code
to account for that possibility.
Bug: angleproject:5898
Test: EGLSyncTest.WaitClient*
EGLSyncTest.WaitGL*
EGLSyncTest.WaitNative*
Change-Id: I81f05a27f1f641cf8986e2e6c05c183ea8471889
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2849587
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
da791e3e
|
2021-04-22T09:46:49
|
|
D3D11: Disable CompositorNativeWindow11 in Chromium builds.
CompositorNativeWindow11's IsValidNativeWindow can only return true or
crash. If a user passes in an invalid window handle, ANGLE's D3D11
backend will always crash.
Ideally this window type would be exposed through an extension and
the user passes in an enum telling ANGLE that the window is an
ISpriteVisual instead of ANGLE trying to detect it from a void pointer.
Bug: chromium:1176118
Change-Id: Ia7568adcd929dcd9200c7da2d0a991da55e1e89a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2846800
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
fdba40fe
|
2021-03-31T12:52:00
|
|
Reland "Fix multithreaded crash on draw commands on D3D11 backend."
This is a reland of 8b9889bf62272fea2495331b622bde1f7c781bd0
The previous CL relied on a define which now only exists in
a specific gn configuration. This reland removes D3D11 as a
multithread-supported platform in the test configuration.
Original change's description:
> Fix multithreaded crash on draw commands on D3D11 backend.
>
> A crash can occur if thread A is executing eglDestroyContext while
> thread B issues a draw call, if the threads are interleaved in such a
> manner that a makeCurrent occurs without triggering a change to the
> global context and a dirtyAllState call. We handle that case by
> explicitly making current the proper contexts in the eglDestroyContext
> call.
>
> A test has been added that triggers a crash without this fix when
> running on the D3D11 backend. In addition, all of MultithreadingTest
> is enabled for the D3D11 backend.
>
> Test: Ran MultithreadingTest. Test exhibits a crash before this
> change, and does not after this change. Also ran:
> dEQP-EGL.functional.sharing.gles2.multithread.*
> dEQP-EGL.functional.multithread.*
>
> Bug: b/183756357
> Change-Id: Ic6f76a062868b2f3b4e60d29dc087ec180bfb7cd
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2798591
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Doug Horn <doughorn@google.com>
Bug: b/183756357
Change-Id: I5be9a011ea99a69730eddc9e4da23bcf92ed3bf2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2815243
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Doug Horn <doughorn@google.com>
|
|
fc189386
|
2021-04-08T21:51:46
|
|
Revert "Fix multithreaded crash on draw commands on D3D11 backend."
This reverts commit 8b9889bf62272fea2495331b622bde1f7c781bd0.
Reason for revert: Breaks CI
Original change's description:
> Fix multithreaded crash on draw commands on D3D11 backend.
>
> A crash can occur if thread A is executing eglDestroyContext while
> thread B issues a draw call, if the threads are interleaved in such a
> manner that a makeCurrent occurs without triggering a change to the
> global context and a dirtyAllState call. We handle that case by
> explicitly making current the proper contexts in the eglDestroyContext
> call.
>
> A test has been added that triggers a crash without this fix when
> running on the D3D11 backend. In addition, all of MultithreadingTest
> is enabled for the D3D11 backend.
>
> Test: Ran MultithreadingTest. Test exhibits a crash before this
> change, and does not after this change. Also ran:
> dEQP-EGL.functional.sharing.gles2.multithread.*
> dEQP-EGL.functional.multithread.*
>
> Bug: b/183756357
> Change-Id: Ic6f76a062868b2f3b4e60d29dc087ec180bfb7cd
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2798591
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Doug Horn <doughorn@google.com>
Bug: b/183756357
Change-Id: I2e9d6385576330f84623d7dafbf690642fcb441f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2815242
Commit-Queue: Doug Horn <doughorn@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
8b9889bf
|
2021-03-31T12:52:00
|
|
Fix multithreaded crash on draw commands on D3D11 backend.
A crash can occur if thread A is executing eglDestroyContext while
thread B issues a draw call, if the threads are interleaved in such a
manner that a makeCurrent occurs without triggering a change to the
global context and a dirtyAllState call. We handle that case by
explicitly making current the proper contexts in the eglDestroyContext
call.
A test has been added that triggers a crash without this fix when
running on the D3D11 backend. In addition, all of MultithreadingTest
is enabled for the D3D11 backend.
Test: Ran MultithreadingTest. Test exhibits a crash before this
change, and does not after this change. Also ran:
dEQP-EGL.functional.sharing.gles2.multithread.*
dEQP-EGL.functional.multithread.*
Bug: b/183756357
Change-Id: Ic6f76a062868b2f3b4e60d29dc087ec180bfb7cd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2798591
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Doug Horn <doughorn@google.com>
|
|
3d6cedb1
|
2021-03-24T18:29:02
|
|
Leave Android devices in portrait orientation after test
EGLPreRotationSurfaceTest.ChangeRotationWithDraw
alternates between landscape and portrait orientations.
The last one needs to be portrait, since this is the default state
that other tests expect.
Since changing orientation takes 1 second, it's more efficient to do it
in this one place instead of before every test.
Bug: angleproject:5781
Change-Id: I63c2eeb77663ea7de6679385c9deb089b16e74f3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2785433
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
c4b1f366
|
2021-03-22T17:56:54
|
|
Fix copyright dates of new test files per Shabi
Bug: b/181711029
Change-Id: Ie619ba90f699dd8234cf185198cb6eeac9142758
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2780560
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
0380f115
|
2021-03-18T09:56:14
|
|
Skip ResizeWindow test on Linux.
ARM Linux doesn't support window surface resize.
Bug: angleproject:4453
Change-Id: Ia8631f5191c2b3ebd822766cc7f92275aa62dff3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2777578
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
90cf278c
|
2021-03-19T16:17:43
|
|
Add multi-thread/context test for compute shaders
The "Ragnarok M: Eternal Love" game uncovered a bug where 2 contexts
shared a VkCommandBuffer. The one context was used by one thread for
rendering, and the other context/thread dispatched compute shaders.
When the rendering thread destroyed a VkCommandBuffer, future compute
dispatches crashed because the new VkCommandBuffer didn't have a
compute pipeline bound.
Bug: b/181711029
Change-Id: I8bc85150c1c6202e02feb84a7ccc0ad7b9c39258
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2770681
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
cef5b717
|
2021-03-11T09:22:33
|
|
EGL: Add attribute check in ValidateQueryContext
Implementation of EGL_IMG_context_priority was
missing attribute check in ValidateQueryContext
Add test case.
Test: angle_end2end_test --gtest_filter=EGLCreateContextAttribsTest
Bug: angleproject:5746
Change-Id: Idf5df29fcb343d969a031675b6c5985a9be0a705
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2752891
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
22fc9523
|
2021-02-03T15:32:48
|
|
EGL: implement EGL_EXT_buffer_age
Add extension flag.
Add Validation check to surface query.
Enable extension for vulkan.
Modify AcquireNextImage to ++frame count and tag images
with frame number.
Buffer age is the difference between current frame count
and the tagged frame number on the buffer.
getBuffeAge may need to trigger AcquireNextImage to be current.
Pass through egl extension and query.
Add EGLBufferAgeTest
Test: angle_end2end_test --gtest_filter=EGLBufferAgeTest
Test: angle_deqp_egl_tests
--deqp-case=dEQP-EGL.functional.buffer_age.*
Bug: angleproject:3529
Change-Id: I0cb94be1c3e85d6f33e82a6a1ccdc9731b6a7f23
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2684724
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
c03a4235
|
2021-02-20T16:14:37
|
|
Suppress UNINSTANTIATED_PARAMETERIZED_TEST failures on Nexus 5X
GTest complains that we don't run some tests on GLES backend.
Bug: chromium:1180570
Change-Id: I9427ac25c3b6f06f3c042caa3c0afc7000cf1599
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2710783
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
f18b92ad
|
2021-02-17T19:40:53
|
|
testing: Mark uninstantiated GL & EGL test suites
googletest CL 315255779 causes test binaries to fail when they include
test suites / parametrized tests that are not instantiated, and when
they include empty test suites.
This CL uses the GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST() macro
to annotate the suites / tests that are causing test failures. This is
necessary to get googletest rolled past CL 315255779.
Bug: chromium:1163396
Change-Id: I05c0619186ffc265b8e32e8b69d6680a6acdbb48
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2701292
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
807d1ad7
|
2021-02-10T23:30:56
|
|
Metal: fix incorrect default viewport size with contentsScale>1
The correct metal layer's drawable size should be calculated after
mMetalLayer.get().contentsScale is set during initialization to allow
initial viewport to be computed properly on front-end side.
Bug: angleproject:2634
Change-Id: If278f40c0b6800bbe12fb5ea94986f728381bc00
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2687300
Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
dfd9bdfd
|
2021-01-16T11:32:30
|
|
Reland "Vulkan: Generate gl_Position pre-rotation in SPIR-V"
This reverts commit 3d39b7c5eab88c420d982155ffbb6181c678ceea.
Reason for revert: Fixed interaction with the
`forceDriverUniformOverSpecConst` workaround.
Original change's description:
> Revert "Vulkan: Generate gl_Position pre-rotation in SPIR-V"
>
> This reverts commit 0f86b196ffaffeeee3460e3188f20a7ac120796d.
>
> Reason for revert:
> Breaks pre-rotation for all apps, so they are displayed in portrait instead of landscape.
>
> Original change's description:
> > Vulkan: Generate gl_Position pre-rotation in SPIR-V
> >
> > Instead of having the translator output pre-rotation code in the vertex
> > stage based on a specialization constant, this change makes the SPIR-V
> > transformer perform pre-rotation of gl_Position on the last geometry
> > stage.
> >
> > An alternative solution would be to generate pre-rotation code in the
> > translator in every geometry stage, each controlled by a separate
> > specialization constant. This change avoids unnecessary modifications
> > to earlier stages. The generated shaders are also smaller, as they
> > don't contain a mat2[8] pre-rotation constant matrix. The SPIR-V
> > transformer knows the pre-rotation at transformation time, so it can
> > simply use swizzles to achieve the same results.
> >
> > This also ties in with upcoming changes which move gl_Position.z
> > correction to the last geometry shader stage, which is trivially done
> > piggy-backing on the infrastructure in this change.
> >
> > Bug: angleproject:5478
> > Change-Id: I9d5d9d19f3ccda665f5504368ce5ddfa5f383faf
> > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2598584
> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
> > Reviewed-by: Charlie Lao <cclao@google.com>
> > Reviewed-by: Jamie Madill <jmadill@chromium.org>
>
> TBR=syoussefi@chromium.org,jmadill@chromium.org,cclao@google.com
>
> Change-Id: I81f237fa6b10c7d59831363bee8999e7ad2f09be
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: angleproject:5478
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2633694
> Reviewed-by: Tim Van Patten <timvp@google.com>
> Commit-Queue: Tim Van Patten <timvp@google.com>
TBR=timvp@google.com,syoussefi@chromium.org,jmadill@chromium.org,cclao@google.com
Bug: angleproject:5478
Change-Id: I7c5eaeef03d9520abd36a1c4a766b6abbf4fdb45
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2633709
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3d39b7c5
|
2021-01-16T00:15:14
|
|
Revert "Vulkan: Generate gl_Position pre-rotation in SPIR-V"
This reverts commit 0f86b196ffaffeeee3460e3188f20a7ac120796d.
Reason for revert:
Breaks pre-rotation for all apps, so they are displayed in portrait instead of landscape.
Original change's description:
> Vulkan: Generate gl_Position pre-rotation in SPIR-V
>
> Instead of having the translator output pre-rotation code in the vertex
> stage based on a specialization constant, this change makes the SPIR-V
> transformer perform pre-rotation of gl_Position on the last geometry
> stage.
>
> An alternative solution would be to generate pre-rotation code in the
> translator in every geometry stage, each controlled by a separate
> specialization constant. This change avoids unnecessary modifications
> to earlier stages. The generated shaders are also smaller, as they
> don't contain a mat2[8] pre-rotation constant matrix. The SPIR-V
> transformer knows the pre-rotation at transformation time, so it can
> simply use swizzles to achieve the same results.
>
> This also ties in with upcoming changes which move gl_Position.z
> correction to the last geometry shader stage, which is trivially done
> piggy-backing on the infrastructure in this change.
>
> Bug: angleproject:5478
> Change-Id: I9d5d9d19f3ccda665f5504368ce5ddfa5f383faf
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2598584
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Charlie Lao <cclao@google.com>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
TBR=syoussefi@chromium.org,jmadill@chromium.org,cclao@google.com
Change-Id: I81f237fa6b10c7d59831363bee8999e7ad2f09be
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:5478
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2633694
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
0f86b196
|
2020-12-21T22:54:05
|
|
Vulkan: Generate gl_Position pre-rotation in SPIR-V
Instead of having the translator output pre-rotation code in the vertex
stage based on a specialization constant, this change makes the SPIR-V
transformer perform pre-rotation of gl_Position on the last geometry
stage.
An alternative solution would be to generate pre-rotation code in the
translator in every geometry stage, each controlled by a separate
specialization constant. This change avoids unnecessary modifications
to earlier stages. The generated shaders are also smaller, as they
don't contain a mat2[8] pre-rotation constant matrix. The SPIR-V
transformer knows the pre-rotation at transformation time, so it can
simply use swizzles to achieve the same results.
This also ties in with upcoming changes which move gl_Position.z
correction to the last geometry shader stage, which is trivially done
piggy-backing on the infrastructure in this change.
Bug: angleproject:5478
Change-Id: I9d5d9d19f3ccda665f5504368ce5ddfa5f383faf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2598584
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
939195a0
|
2020-12-23T15:12:30
|
|
Skip tests using unimplemented features on iOS
Bug: angleproject:5485
Change-Id: I3248126060b9957596f65221c60f42f213e9a9dc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2601377
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
|
|
909ea88b
|
2020-11-20T13:07:53
|
|
Reland "Vulkan: Ignore glFlush to reduce vkQueueSubmits in Asphalt 9"
This is a reland of 5cf7472dd161bbda329dfc5e4e65bb6ce0c06fbd
The ShareGroupVk::mResourceUseLists was not being cleared each call to
RendererVk::submitFrame(), so it was growing indefinitely. Each
vk::ResourceUseList within it was cleared, so it was holding an
essentially "infinite" list of empty lists, but that caused the loop in
RendererVk::submitFrame() to take more and more time until the tests
timed out.
The fix is to do 'resourceUseLists.clear()' once the loop to release all
resources has completed, like releaseResourceUsesAndUpdateSerials() does
for each individual list. Additionally, ASSERTs are added to guarantee
that the lists are empty when the ContextVk and ShareGroupVk are
destroyed.
Original change's description:
> Vulkan: Ignore glFlush to reduce vkQueueSubmits in Asphalt 9
>
> Multithreaded apps can use the following pattern:
>
> glDrawElements()
> glFenceSync()
> glFlush()
> glWaitSync()
>
> This currently results in a vkQueueSubmit for every glFlush() to ensure
> that the work has landed in the command queue in the correct order.
> However, ANGLE can instead avoid the vkQueueSubmit during the glFlush()
> in this situation by instead flushing the ContextVk's commands and
> ending the render pass to ensure the commands are submitted in the
> correct order to the renderer. This improves performance for Asphalt 9
> by reducing frame times from 150-200msec to 35-55msec.
>
> Specifically, ANGLE will call flushCommandsAndEndRenderPass() when
> there is a sync object pending a flush or if the ContextVk is currently
> shared.
>
> Additionally, on all devices except Qualcomm, ANGLE can ignore all other
> glFlush() calls entirely and return immediately. For Qualcomm devices,
> ANGLE is still required to perform a full flush (resulting in a
> vkQueueSubmit), since ignoring the glFlush() reduces the Manhattan 3.0
> offscreen score by ~3%.
>
> Bug: angleproject:5306
> Bug: angleproject:5425
> Change-Id: I9d747caf5bf306166be0fec630a78caf41208c27
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2552718
> Commit-Queue: Tim Van Patten <timvp@google.com>
> Reviewed-by: Charlie Lao <cclao@google.com>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Bug: angleproject:5306
Bug: angleproject:5425
Bug: angleproject:5470
Change-Id: I14ee424d032f22e5285d67accbec078ad1955dd0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2595811
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
a19bd601
|
2020-12-16T13:04:38
|
|
Revert "Vulkan: Ignore glFlush to reduce vkQueueSubmits in Asphalt 9"
This reverts commit 5cf7472dd161bbda329dfc5e4e65bb6ce0c06fbd.
Reason for revert: causes timeouts, see anglebug.com/5470
Original change's description:
> Vulkan: Ignore glFlush to reduce vkQueueSubmits in Asphalt 9
>
> Multithreaded apps can use the following pattern:
>
> glDrawElements()
> glFenceSync()
> glFlush()
> glWaitSync()
>
> This currently results in a vkQueueSubmit for every glFlush() to ensure
> that the work has landed in the command queue in the correct order.
> However, ANGLE can instead avoid the vkQueueSubmit during the glFlush()
> in this situation by instead flushing the ContextVk's commands and
> ending the render pass to ensure the commands are submitted in the
> correct order to the renderer. This improves performance for Asphalt 9
> by reducing frame times from 150-200msec to 35-55msec.
>
> Specifically, ANGLE will call flushCommandsAndEndRenderPass() when
> there is a sync object pending a flush or if the ContextVk is currently
> shared.
>
> Additionally, on all devices except Qualcomm, ANGLE can ignore all other
> glFlush() calls entirely and return immediately. For Qualcomm devices,
> ANGLE is still required to perform a full flush (resulting in a
> vkQueueSubmit), since ignoring the glFlush() reduces the Manhattan 3.0
> offscreen score by ~3%.
>
> Bug: angleproject:5306
> Bug: angleproject:5425
> Change-Id: I9d747caf5bf306166be0fec630a78caf41208c27
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2552718
> Commit-Queue: Tim Van Patten <timvp@google.com>
> Reviewed-by: Charlie Lao <cclao@google.com>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
TBR=timvp@google.com,jmadill@chromium.org,cclao@google.com
Change-Id: I9886bf901a835d408b6a4b8be7ea408fa2121be0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:5306
Bug: angleproject:5425
Bug: angleproject:5470
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2595032
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
5cf7472d
|
2020-11-20T13:07:53
|
|
Vulkan: Ignore glFlush to reduce vkQueueSubmits in Asphalt 9
Multithreaded apps can use the following pattern:
glDrawElements()
glFenceSync()
glFlush()
glWaitSync()
This currently results in a vkQueueSubmit for every glFlush() to ensure
that the work has landed in the command queue in the correct order.
However, ANGLE can instead avoid the vkQueueSubmit during the glFlush()
in this situation by instead flushing the ContextVk's commands and
ending the render pass to ensure the commands are submitted in the
correct order to the renderer. This improves performance for Asphalt 9
by reducing frame times from 150-200msec to 35-55msec.
Specifically, ANGLE will call flushCommandsAndEndRenderPass() when
there is a sync object pending a flush or if the ContextVk is currently
shared.
Additionally, on all devices except Qualcomm, ANGLE can ignore all other
glFlush() calls entirely and return immediately. For Qualcomm devices,
ANGLE is still required to perform a full flush (resulting in a
vkQueueSubmit), since ignoring the glFlush() reduces the Manhattan 3.0
offscreen score by ~3%.
Bug: angleproject:5306
Bug: angleproject:5425
Change-Id: I9d747caf5bf306166be0fec630a78caf41208c27
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2552718
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
aafcb504
|
2020-12-08T09:32:10
|
|
Vulkan: Add ensureSubmission to queueSubmitOneOff
Some callers of queueSubmitOneOff require that the command being queued
to have been sent to the GPU. The new ensureSubmission parameter
indicates that behavior and when running with threaded worker will wait
for the worker queue to empty before returning.
Bug: b/170312581
Change-Id: Ib620fb37f4b9b4431451ccbd10807c0dff1842af
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2579041
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
3f564fc7
|
2020-11-23T13:59:17
|
|
EGL: Generate entry points.
This adds two final auto-generated files for the EGL and EXT extension
entry points. It adds a new data file that stores a mapping between
object types and entry points for associating labeled objects with
certain methods. When we generate errors we record the associated
object in the debug message output.
This places the remainder of the hand-written code in "stub" files.
Going forward the work for implementing new extension entry points
for EGL will be to update the registry XML files and then implement
the corresponding stub methods. Event logging, parameter packing,
and validation are all handled by the auto-generated code.
Bug: angleproject:2621
Change-Id: I28153432802c37b929ff2ea1e1a3e3ce9de91605
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2562680
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
9041ca0c
|
2020-11-20T16:27:48
|
|
Limit testing of in-progress work to ANGLE's build of dEQP
A new feature is added, exposeNonConformantExtensionsAndVersions, which
is set by ANGLE's build of dEQP to allow exposing ES3.2 or extensions
that are not yet entirely conformant. This would allow ANGLE to expose
WIP extensions for regression testing without affecting partners that
test ANGLE with dEQP's standalone build.
Bug: angleproject:3647
Change-Id: Id1e6219f26b41d3f8cdc9763131b8052227761c5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2552926
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Sunny Sun <sunny.sun@arm.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
35df41da
|
2020-11-23T21:34:13
|
|
Skip more tests on Linux AMD RX 5500 XT
Remove EGLFeatureControlTest suppression, which crashed due to calling
IsVulkan() without an initialized context.
angle_perftests:
MultisampledRenderToTextureBenchmark.Run/vulkan_multipass_ds
angle_white_box_tests:
VulkanPerformanceCounterTest.RenderToTextureDepthStencilRenderbufferShouldNotLoad
Bug: chromium:1004356, angleproject:5380, chromium:1097750
Change-Id: I38819374242b71fb57c54a9d0fb47b1547dda895
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2556445
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
56663dbf
|
2020-11-19T21:21:19
|
|
EGL: Expose device query as a client extension.
This matches the extension spec. Previously we were exposing the ext
as a normal display extension. The extension should work without
needing a display.
Because the extension requires a non-null device for every display we
also add a MockDevice class to handle back-ends which don't implement
any attribute query extensions. By default the device query ext does
not expose any way to use devices so this works fine.
Bug: angleproject:5372
Change-Id: I474310a86aff6a83bd6f9a6b21c8a07c649f306d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2551543
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f98f18f6
|
2020-11-17T18:42:35
|
|
Remove Nexus 6P expectations
Bot decommissioned in crrev.com/c/2541579
Bug: chromium:1148989, angleproject:5280, angleproject:3726
Bug: angleproject:2641, angleproject:3264, angleproject:2114
Bug: angleproject:3464, angleproject:4991, angleproject:1415
Bug: angleproject:2407, angleproject:1427, angleproject:4215
Bug: angleproject:1429, angleproject:5069, chromium:998503
Change-Id: I1b268fdbcf6465aef447e90e470c1a011c7b3747
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2545892
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
b10a0dfc
|
2020-11-12T14:51:05
|
|
Fix flip info of colorBlit with pre-rotation.
Get wrong colorBlit results on android if there is
flip operation added by glBlitFramebuffer API.
Fix the implementation and add related end2end tests.
Bug: angleproject:5044
Change-Id: I797f8858b3943b5effe27261e954ca1405960ef0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2534210
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
34130c2e
|
2020-11-07T15:11:14
|
|
Vulkan: Rewrite interpolateAtOffset to account for Y-flip
In order to fully suppot OES_shader_multisample_interpolation
rewrite interpolateAtOffset's offset parameter to account for
Y-coordinate flip.
Bug: angleproject:3589
Tests: dEQP-GLES31.functional.shaders.multisample_interpolation.
interpolate_at_offset.*.default_framebuffer
Change-Id: I6bf72ceb1c0466ff5d4a92b72d1ec9e2552d6f2a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2524711
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
924c3dab
|
2020-11-02T13:08:16
|
|
Expand suppression of new EGL test.
This test fails on the older N6P device as well as the N5X.
Bug: angleproject:5280
Change-Id: Ie1a2b3b3a296e2e4dbbed69ebff6ce325b46ce95
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2514638
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
97843bda
|
2020-10-30T17:03:36
|
|
Vulkan: Fix EGL Surface robust init.
The error here was related to using a single cache variable for the
robust init setting for all the surfaces in a DisplayVk. Fix this by
passing down the robust init setting from the SurfaceVk to image init.
Bug: angleproject:5274
Change-Id: I9bc9c20990268d1d5166411fb53f8f2593fd1971
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2510694
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
6dfd855a
|
2020-03-25T03:02:08
|
|
Metal: Implement fence sync
Bug: angleproject:2634
Change-Id: If1f7bb12c0e661c8e4b5677798a92440995819e4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2433325
Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e815afbf
|
2020-09-07T22:09:22
|
|
First pass at increasing inclusivity
Link to the inclusivity rules
https://source.android.com/setup/contribute/respectful-code
Bug: b/162834212
Bug: chromium:1097198
Change-Id: Ied5a9e3879d72bff3f77ea6fcda9b82f30c32c2f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2396737
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Trevor Black <vantablack@google.com>
|
|
e9a82849
|
2020-10-02T11:29:44
|
|
Skip ResizeWindowWithDraw test on all Linux.
Flakes on NVIDIA Linux as well when run in certain orders.
Bug: angleproject:4453
Change-Id: I7565b7868518d01d5e928ce95d0edb8abd651e28
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2446091
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
83c7e1ae
|
2020-09-17T16:42:19
|
|
Fix the regression of color blit.
Move the offset aligning code to stencilBlitResolveNoShaderExport
to avoid affecting color blit.
Test: dEQP-GLES3.functional.fbo.blit.default_framebuffer.*_linear_*
Bug: angleproject:5044
Change-Id: Ic2ebef94091853146424d567b0035161611ba32d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2416008
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
99b71417
|
2020-09-16T11:41:24
|
|
Vulkan: Disable BlitStencilWithFlip test on Win
These tests fail on the Windows NVIDIA bots
Bug: angleproject:5044
Bug: chromium:1128064
Change-Id: Idad4cc33d8e49b0b468b8e560b44f9a9c6a2f37f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2414932
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
b3c7d39a
|
2020-09-03T15:51:02
|
|
Align the sample position in blitResolveStencil compute shader
The input coordinates of blitResolveStencil compute shader start
from 0,we need to align the sample position to start from 0 if x/y
is flipped.
Test: dEQP-GLES3.functional.fbo.invalidate.*.unbind_blit_msaa_*
Bug: b/159995959
Change-Id: If0c9f5b7cacddbe1a2d7062469a757a63bcc1378
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2392162
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
fdb7874d
|
2020-08-26T22:04:19
|
|
Gracefully fail end2end tests if no window support
EGL_WINDOW_BIT is now specifically requested for tests that open a
window (those that aren't WithNoFixture). This makes sure pbuffer-only
configs are not selected for the window.
Additionally, a few WithNoFixture tests are made more robust in the
presence of no-window configs.
In the context of crbug.com/1034840, this means that a subset of end2end
tests would be able to run in a remote desktop environment. Tested on
Linux/X11 by turning a subset of configs PBUFFER-only.
Bug: chromium:1034840
Change-Id: I09fd149d43d3b865856fe6b9491c5f333f4a2efc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2378922
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: back sept 10 - Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f71283c9
|
2020-08-25T23:35:06
|
|
Fix EGLContextCompatibilityTest.
The check for "IsPlatformAvailable" was inverted. We were incorrectly
trying only to create a context on invalid configs.
Bug: angleproject:4449
Change-Id: I03fbdc7794a338a55b9dc64521915a8be247bf35
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2376045
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
710e408e
|
2020-08-25T18:00:39
|
|
Add support for P010 IOSurfaces
Add test coverage of multi-plane IOSurfaces.
Bug: chromium:1115621
Change-Id: Ib2150c4221a3e49f01ab016cebba4830194ab2b5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2376174
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
b89e9611
|
2020-08-19T11:19:35
|
|
Fix SwANGLE suppressions of EGLIOSurfaceClientBufferTest
Suppressions were missing for several texture formats. This slipped
through because angle_end2end_tests are not run on SwANGLE on Mac.
Bug: angleproject:4369
Change-Id: I0cbafe5daab591da15f86f2658c4edc724ae2561
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2364190
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
09924221
|
2020-08-24T17:17:17
|
|
Convert the EGL end2end tests to use RAII types/macros
These tests are frequently cloned to make new tests, and so it's good
to do a more-global refactor so that these and future tests will use
RAII.
Bug: angleproject:4947
Change-Id: I2973e70ee075629965b18c685793975537e96b6c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2372627
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
a13f1061
|
2020-08-14T23:37:21
|
|
Metal: Fix missing image view for texture from IOSurface.
Image view is used by glTexSubImage*, glCopySubImage* and
glCopySubTexture*.
This fixed some failed WebGL tests that make use of IOSurface.
Bug: angleproject:4846
Bug: angleproject:2634
Change-Id: Iebcf840fdc1be2794feab766957b5848a361a63c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2356107
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
0a3233fa
|
2020-07-29T10:35:04
|
|
X11 and Ozone: fix compilation of tests.
For use_x11 && use_ozone build, use X11 backend by default.
For ozone only, continue using Ozone impl, which is basically
gbm.
Bug: chromium:1085700
Change-Id: Iac104e983135e566b0d42a58e00d3c83b430d6dc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2346276
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
6eb7756d
|
2020-08-07T17:41:39
|
|
Vulkan: tell ContextVk when swapchain is re-created
For an app that only draws to the swapchain, if the swapchain is
recreated with a different rotation (as done by the ANGLE perf tests
when switching from Angry Birds 2 to Candy Crush), ContextVk is not
informed, and so the new rotation is ignored. Use the
subject-observer pattern to set the appropriate dirty bits.
Test: run_angle_perftests --gtest_filter=TracePerfTest.Run/vulkan_angry*:*vulkan_candy* --verbose --local-output
Bug: angleproject:4910
Bug: b/163126746
Change-Id: Ib5303e9c4095db1b3e736911f483589e40a73d0c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2341768
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
f9de2e20
|
2020-08-04T11:53:05
|
|
Enable required extensions for Chromium to use the Metal backend.
This includes:
EGL_ANGLE_display_texture_share_group
EGL_ANGLE_display_semaphore_share_group
EGL_ANGLE_robust_resource_initialization
GL_EXT_debug_marker
Bug: angleproject:4847
Bug: angleproject:4930
Bug: angleproject:4929
Bug: chromium:1112800
Bug: angleproject:4946
Change-Id: Ibacb6badf9f784dae3ca42514142ef13ee7297b8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2332863
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
3a3d419d
|
2020-08-04T09:06:01
|
|
Reference count context to fix ASAN issues
Running with ASAN there are several use after free issues because a
eglDestroyContext destroys the context right away even though it's in
use in other thread(s). Adding reference count to context so that it's
not destroyed until all users are done using it.
Bug: b/162609728
Change-Id: I00b24b53d760e38ff61dd9ce652a49b1f32f0cd2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2336447
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Tobin Ehlis <tobine@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d41280a7
|
2020-08-04T09:08:05
|
|
Suppress SurfacelessContext test on Android/NVIDIA
EGLSurfacelessContextTest.Switcheroo/ES2_OpenGLES_NoFixture is
failing on NVIDIA Shield TV.
Bug: angleproject:4924
Change-Id: I4bd0744fd19cb3473cc654ede5870374506ddc46
TBR=jmadill@chromium.org
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2336189
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
515b0775
|
2020-07-31T12:14:59
|
|
Metal: Enable EGL_KHR_surfaceless_context.
Surfaceless contexts are emulated in the frontend so this extension
can be enabled for the metal backend. It's needed to run Chrome
with ANGLE's metal backend.
Bug: angleproject:4847
Change-Id: I3a2f74fd5f2ac75a056c528c8b30ffbd41d73e46
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2332880
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
69ca1025
|
2020-07-31T02:08:09
|
|
Metal: Implement EGL_ANGLE_iosurface_client_buffer.
GL_R16UI format is not supported yet. It will be implemented once
integer textures are implemented in metal back-end.
Bug: angleproject:4847
Bug: angleproject:2634
Change-Id: I60a52c0ce327a524c74e80b18bb15978ac52065b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2329091
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
cbd5bee8
|
2020-07-13T20:31:29
|
|
Disable shader's pre-rotation code on Metal & non-Android.
Pre-rotation code were added to transform gl_Position, gl_FragCoords,
gl_PointCoords, dFdX, dFdY in shader. However, it is only useful for
android's surface pre-rotation and completely un-needed in Metal
back-end.
This CL disables these pre-rotation code if the platform is not
android.
Bug: angleproject:4678
Change-Id: I89c42fcf24b49896f4ed9c2f9465da521beaf25f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2295000
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|
|
f359cb66
|
2020-07-02T15:15:54
|
|
Reland: Refactor DisplayGbm::generateConfigs
We should explicitly set EGL_SURFACE_TYPE to EGL_DONT_CARE.
Otherwise, it's default value is EGL_WINDOW_BIT. However,
on some platforms, only EGL_PBUFFER_BIT is supported.
In this case, no matching config is found. So mWindowSurface
and mPbufferSurface will be nullptr. That's why we see
the bot failed.
Bug: chromium:1105208
Change-Id: I8ee2487fd24bab86a5ec22fbe7b8ff68081bc15c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2304429
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
ab95a449
|
2020-07-20T12:12:18
|
|
Textures that have bound surfaces are always renderable.
Chrome still tends to use ES2 contexts for most rasterization. This is a
problem when trying to use FP16 IOSurfaces for rendering HDR because
GL_RGBA16F is not renderable in ES2. Since a surface is always
renderable, allow rendering to any textures with a bound surface.
Update the tests to verify that ES3 formats can be used with ES2
contexts.
Add tests for RGBA16F IOSurfaces.
BUG: chromium:1103112
Change-Id: I9e8c082fc97a0e072289b097e71fc944988d4872
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2307454
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
49108a12
|
2020-06-30T11:53:23
|
|
Support BGRA_1010102 IOSurfaces in CGL and Vulkan.
Bug: chromium:1100599
Change-Id: I7bc2c2e35490e28e9f6fe8f2e0c26cdea50650b9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2275731
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
3688cb36
|
2020-06-28T15:28:10
|
|
Fix bugs in angle_end2end_tests and frame capture
1. CaptureGetShaderInfoLog_infoLog method should not require shader
object to be compiled
2. glCompressedTexImage3D's parameter locations are off by 1
3. EGLContextSharingTest.DisplayShareGroupObjectSharing test should not
delete buffers it has no access to since it will crash when running
capture replay
Bug: angleproject:4801
Change-Id: I0d407cdb44eb41eea4209eebab0996d3dd8ae5f5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2272862
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
cbcc500f
|
2020-06-26T14:10:37
|
|
Broaden EGLFeatureControlTest Linux AMD suppression
After the initial suppression the bot started failing on the next test.
Use GTEST_SKIP in testSetUp to make all tests using the fixture skipped.
Bug: chromium:1097750
Change-Id: Ic993d7cd274e1328684571c5ba1a1520b9cb80d5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2270020
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
259221d5
|
2020-06-25T11:15:04
|
|
Suppress EGLFeatureControlTest on Linux AMD
TBR=geofflang@chromium.org
Bug: chromium:1097750
Change-Id: I69b6bc5ac920d839507f94097fa169d458275b38
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2264421
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
70e706f4
|
2020-06-22T18:14:44
|
|
Vulkan: Fix glBlitFramebuffer() for pre-rotation
This involves cases of blitting to/from a rotated default framebuffer,
potentially with scaling in one or both dimensions. Various
adjustments are needed at different times in the stack, including in
the custom BlitResolve fragment shaders. Various tests are affected,
including the following:
Test: angle_end2end_tests --gtest_filter=*EGLPreRotationLargeSurfaceTest.OrientedWindowWithBlitFramebuffer
Test: angle_deqp_gles3_tests --gtest_filter=dEQP.GLES3/functional_fbo_invalidate_\*
Bug: b/158337857
Change-Id: Ibb176e4215784e85c0f34e6e1c22ba662517fed2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2242359
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
fa3d64bf
|
2020-06-17T15:14:02
|
|
Minor edits to top of EGLPreRotationTest.cpp
Bug: b/158337857
Change-Id: Id415496fbf38b63975b29834cd93c3b3c56defcb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2250940
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
6f568b08
|
2020-06-16T11:55:39
|
|
Split/refactor the pre-rotation BlitFramebuffer tests
Making several, smaller, more-focused tests will aid in debugging
problems.
Bug: b/158337857
Change-Id: I3d1efd93a5ad7cd20352174a07f3547175eb2bb5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2248201
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
de4611c9
|
2020-06-04T13:44:17
|
|
Vulkan: Update eglDupNativeFenceFDANDROID() implementation.
When exporting vkfence FD with vkGetFenceFdKHR() in SYNC_FD
semantic, vkfence could be reset. Dup and store the SYNC_FD created
vkfence's FD in SyncHelperNativeFence by exporting FD during
initializeWithFd() meanwhile make the eglDupNativeFenceFDANDROID()
only dup the mNativeFenceFd in SyncHelperNativeFence.
Test: angle_end2end_tests
--gtest_filter=EGLSyncTest.AndroidNativeFence_*
Bug: angleproject:2517
Change-Id: I354185d26d0fda72baeb61702c879ed5665db6ec
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2230062
Reviewed-by: Jeff Vigil <j.vigil@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
4e6f6545
|
2020-04-16T16:31:24
|
|
GLX: Support X11 pixmaps
Add support for creating EGL pixmaps from X11 pixmaps using GLX.
Pixmaps are needed for various external APIs such as VAAPI.
Add support for EGL_NOK_texture_from_pixmap to allow binding
pixmaps to textures.
BUG=angleproject:4560
Change-Id: I4a6d3ad7e87151ff5317bbdaaf093ac1b46daf5f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2153805
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
12ed3b6e
|
2020-06-11T14:16:25
|
|
Vulkan: Create a pre-rotation BlitFramebuffer test
This test creates a predictable 256x256 pattern in an FBO (i.e. x-axis
is red and y-axis is green), and then uses glBlitFramebuffer() to blit
all or different halves of that FBO to the default framebuffer
(i.e. the Vulkan swapchain). When run on a rotated Android device,
the predictable pattern helps to determine if/how anything is wrong.
Bug: b/158337857
Change-Id: I858964fcb34b8ee5fbdbeade0e1dacaafaea7fa3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2236994
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
9bb7dd8a
|
2020-05-28T14:55:06
|
|
Create a pre-rotation test for dFdx() & dFdy()
This end2end test makes it easier to create/debug pre-rotation
support for dFdx() & dFdy().
Bug: b/157476241
Change-Id: I6e6cc3a86c84d252a326a776d6b589662b08d1ec
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2220311
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
3d5f0c82
|
2020-05-19T20:05:57
|
|
Use surface texture offset for clears and blits
https://chromium-review.googlesource.com/c/angle/angle/+/2186176 added
surface texture offset attributes for D3D11 pbuffer surfaces, but the
implementation didn't apply the offset to blits or clears. This CL fixes
that and includes a unit test for blit, clear, and draw.
Also renames textureOffset to surfaceTextureOffset throughout since it's
clearer, and fixes the dcomp surface test to specify the update offset
returned by dcomp BeginDraw().
Bug: angleproject:2997
Change-Id: I9298ccf55cbb2d04c3b8f78e12f9d07dc8fa54b5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2210967
Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
29fedbac
|
2020-05-20T09:52:15
|
|
Vulkan: Create a pre-rotation test for 400x300 windows
This test reproduces the cause of the failures with the
following dEQP tests:
dEQP.GLES31/functional_texture_multisample_samples_*_sample_position
This CL also fixes a problem with the previous test, and puts
the common rendering/ReadPixels code in a common method.
Bug: b/156395519
Change-Id: Id38476b6caf6f25c52f7504187fb500a39109438
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2207550
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
08e0df62
|
2020-05-08T19:32:05
|
|
Vulkan: Create a test to debug Android pre-rotation
This test has been helpful because of its simple, very-predictable
color pattern. The red component corresponds to the x-axis, and green
to the y-axis. Red and green values will increment by 1, from 0 to
255/0xFF, as it goes further away from the lower-left corner.
Bug: angleproject:4436
Bug: angleproject:4431
Bug: b/150329975
Bug: b/150329969
Change-Id: I76ac866d36036257810f77adf9b4e28bcdcc28d0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2185747
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
a2ec926c
|
2020-01-02T19:07:38
|
|
Specify LUID in D3D11
Add an extension to provide the ability to specify the LUID of the
GPU adapter to use when using D3D11.
Corresponding chromium CL:
https://chromium-review.googlesource.com/c/chromium/src/+/2096778
Bug: chromium:792657
Change-Id: Iefebea221a4b7a20f150b445ae1adf375444726d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2096663
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
930b2641
|
2020-03-23T14:47:03
|
|
Allow tests to run on native EGL.
Adds support for Linux and Android native EGL testing.
This can be useful for doing performance comparisons of ANGLE vs
a native GL driver. Only enabled for the trace perf tests due to
limitations in the test harness.
Bug: angleproject:4596
Change-Id: Iba6d3ccd7c1275cf095893fab824a0ea33dc3a79
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2116254
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
e20f36f4
|
2020-04-21T15:45:44
|
|
EGL: Implement EGL_ANDROID_native_fence_sync on vulkan
Check the following -
1. Vulkan ICD supports VK_KHR_external_fence_fd
2. ExternalFenceProperties and ExternalSemaphoreProperties
support Android FD.
eglCreateSync - if FD was provided import to VkFence,
else create VkFence with new FD and then
flush and submit VkFence on next vkQueueSubmit.
eglGetSyncAttrib - for status call vkGetFenceStatus.
eglDupNativeFenceFdANDROID - return FD from vkGetFenceFD call.
eglClientWaitSync - call vkWaitForFences.
eglWaitSync - dup FD, create VkSemaphore and import FD, then
flush() and add VkSemaphore to next vkQueueSubmit
as a waiting semaphore.
Extended end2end test suite with nativefence test cases.
Bug: angleproject:2517
Test: angle_end2end_tests --gtest_filter=EGLSyncTest.AndroidNativeFence_*
Change-Id: I8f6a6f4c3d71d83007f662b78377aa015a740035
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2026177
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
dd29370c
|
2020-04-01T10:42:47
|
|
Include the fragment output locations in the program cache key.
If the user rebinds the output locations and relinks a program, the
wrong program may be loaded from the cache.
TEST=gl_tests: TranslatorVariants/EXTBlendFuncExtended*
BUG=angleproject:4535
Change-Id: If9a9c2ad935ea4d01c3fe4313810d221e9c9ce38
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2131252
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
7d8c2f2e
|
2020-03-26T22:44:15
|
|
Hide SwiftShader OS Window in dEQP and end2end tests
This prevents a race between starting Xvfb on test bots
and X11 calls in X11Window::setVisible(),
which used to cause flaky hangs on Linux SwANGLE bots.
Unfortunately, in order to hide SwiftShader OS window,
it must be a separate window from other backends,
so it is no longer possible to have a single window for all backends,
even if we don't reuse EGL Display.
The only platform that still uses a single OS Window is Android,
since there is only one system window per test application.
In addition, all the tests that make OS Window visible explicitly,
no longer do this for SwiftShader device.
Bug: angleproject:4434
Change-Id: I1a067c22bfeee9288046b9d9566740731c0d627c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2125945
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
05fa1a99
|
2020-03-30T22:02:16
|
|
Skip test flaky on SwANGLE bots
dEQP.EGL/functional_sharing_gles2_multithread_random_egl_server_sync_shaders_compile_9
EGLSurfaceTest.ResizeWindow
AttributeLayoutMemoryIndexed.Test
Bug: angleproject:4495, angleproject:4453, angleproject:4502
Change-Id: Iad5097412372acc8ac36c742445763451c8122ad
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2129181
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
ed0e932c
|
2020-03-23T16:46:38
|
|
Supress test failing with new Intel driver.
EGLDirectCompositionTest.RenderSolidColor/ES2_D3D11_NoFixture failing
with the 26.20.100.7870 driver.
Bug: chromium:1063962
Change-Id: I48ef5915c67e05cc86a568c28115dae26dc78db2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2116871
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
6b462120
|
2020-03-20T19:23:17
|
|
Skip flaky SwANGLE end2end tests.
AttributeLayoutNonIndexed.Test
AttributeLayoutBufferIndexed.Test
EGLSurfaceTest.ResizeWindowWithDraw
Bug: angleproject:4453, angleproject:4502
Change-Id: I6dbd333e428d61d84bb17bf0c4112fa66cff9846
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2113711
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
6125419c
|
2020-03-04T10:31:26
|
|
Vulkan: Suppress some flaky tests for Intel Linux driver
Bug: angleproject:4453
Change-Id: I55475f85298a593597daa300effa828a6b0ed342
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2087896
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
e45fe217
|
2020-02-29T23:28:33
|
|
Fix up EGLSurfaceTest.
* removes the SwapInterval test. This test was not really based on
spec language. SwapInterval is highly os-dependent so likely a
robust test would include some OS-specific logic instead of timing.
* give the pbuffer surface non-zero dimensions. this fixes an uncaught
error on Windows and may give better results.
* lifts a couple Android suppression possibly related to the pbuffer
bug. a couple tests still fail.
Bug: angleproject:3123
Bug: angleproject:3162
Change-Id: I68e4e943b94d17777704bbe3b8ae7e646fc9c54d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2082131
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
4fb29948
|
2020-02-12T13:48:43
|
|
Split up EGLContextCompatibilityTest.
Instead of attempting to run numConfigs^2 test permutations in a single
test we now split up each config into its own test. Each permutation
also gets a unique name based on the configs it is testing. Because
there were so many tests on some back-ends (e.g. D3D11) this CL adds
a way to hard limit the number of test permutations by discarding
random tests to reach a specified maximum per back-end.
Uses the GoogleTest "RegisterTests" API instead of using the GTEST
macros. See online GTest docs for more info.
This will allow more easily supporting test timeouts when running
batches of tests multi-process.
As a side effect we no longer need to restrict this test to Release
builds or ignore some renderers.
Bug: angleproject:4449
Change-Id: Ia7991e2a3906175413b77a876432061da527d03b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2050812
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
49a68f18
|
2020-03-01T08:12:53
|
|
Add RegisterContextCompatibilityTests stub.
We'll call this function from the Chromium angle_end2end_tests main.
First this CL needs to roll into Chrome. Then we can make a second CL
in ANGLE to change the way the EGLContextCompatibilityTests are set up.
This is to break up the slow tests into smaller pieces. See the issue
for more details.
Bug: angleproject:4449
Change-Id: Icc10679c61fd2f7a5e396f7a310ffcfd0b45893b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2082133
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
4864413b
|
2020-02-17T15:34:33
|
|
Vulkan: Implement eglWaitNative function
Implement eglWaitNative API. It will call XSync() on XCB and
do nothing on other systems.
Bug: angleproject:4281
Change-Id: I597b75124a380df519ab10af3cab9b6e26f3194f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2059620
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
25097b6c
|
2020-02-19T08:07:23
|
|
Vulkan: Lift failing test suppression.
EGLContextSharingTest.DeleteReaderOfSharedTexture/ES2_Vulkan
Passes with the new command graph linearization.
Bug: angleproject:4130
Change-Id: Ic7233696d2c06303ddf46947610b793a1a9e8a65
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2063041
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
1a8b7758
|
2020-02-11T10:34:00
|
|
Fix assignment of CacheOpResult::EnumCount
The special enum value 'EnumCount' is used by EnumSize() to determine
how large to make the PackedEnumMap::mPrivateData array. However, that
enum entry was being assigned an incorrect value, leading to the array
being constructed too small and causing a crash in PackedEnumMap's
std::initializer_list constructor when it went beyond the size of the
array to assign each of the necessary values.
The fix is to remove the assignment of CacheOpResult::EnumCount and let
it indicate the real number of entries in the enum.
Bug: angleproject:4393
Test: end2end
Change-Id: If9635c61e72aadc6527d416f83be18add8b24572
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2050026
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
cd8167fb
|
2020-02-10T14:17:09
|
|
Vulkan: Fix EGLBlobCacheTest.
Several runs of the same test in a row would cause a failure if the
cache would get hit. Fix the flakiness by resetting the cache between
runs.
Also cleans up some of the variable naming and adds a stream output
for pretty test errors.
Fixed while working on the standalone test harness.
Bug: angleproject:3162
Change-Id: I64da8a37eedf562860e3e5409cbf6fb08e81dfa4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2047417
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
806ba566
|
2019-12-12T13:02:01
|
|
Extend ANGLE_iosurface_client_buffer to Vulkan backend for Swangle
Implement an IOSurface-backed pBuffer surface for the Vulkan backend
on Mac, through SwANGLE. ANGLE will pass a raw pointer to Swiftshader
and handle locking/unlocking the IOSurface.
Bug: chromium:1015454
Change-Id: Ia3ead55334736003d405b54ba8dcc7701706fbb2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1965434
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
4546c5ce
|
2020-01-31T15:05:35
|
|
Skip failing end2end tests on Windows on ARM
There are multiple failing tests on Windows on ARM which are related to drawing differences.
They seem to be similar to an already reported issue (anglebug.com/3748).
Bug: angleproject:4356
Bug: angleproject:4357
Change-Id: Ide5cc2e6f42d4c4b6fb88352833d20e517005c14
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2033067
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
f63fbcd5
|
2020-01-29T16:13:56
|
|
Fuchsia: Limit number of concurrent presents in ScenicWindow
The test suite occasionally runs into the following error:
[02036.794449][326733][326738][klog] INFO: [ERROR:src/ui/scenic/lib/scenic/session.cc(412)] Scenic session error (session_id: 1): Present2() called with no more present calls allowed. Terminating session.
This is actually a problem with the test harness as resetting the window
triggers a present with no fences and no OnFramePresentedCallback which
means there is no way to know if we will exceed the limit.
Add an OnFramePresentedCallback and count presents to stay under the
limit. This blocks if there's more than 2 in flight presents. A dedicated
async loop is used to avoid re-entering other code while waiting to
present (there is no such case in the ANGLE test suite currently, but
better safe than sorry).
Typically if we run the whole suite there will be a failure in the
middle, but re-trying the test that failed won't repro the issue. Add a
test that reliably exhausts the limit by calling resetNativeWindow() in a
loop.
Bug: angleproject:4360
Change-Id: I24eb01fd72fc0be57c36e49b5875023a80d6ab91
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2027934
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
df0203a9
|
2020-01-15T14:05:33
|
|
EGL: Add support for EGL_EXT_pixel_format_float extension
Add support for floating point configs. On backends that
support rendering to floating point formats, add them to
EGL's frambuffer config list
Bug: angleproject:3958
Tests: dEQP-EGL.functional.wide_color.*fp16*
angle_end2end_tests --gtest_filter=EGLFloatSurfaceTest*
Change-Id: Ie65f63013483267985c2b308567bf5025acf750e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1993686
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b09d46cc
|
2020-01-13T10:56:46
|
|
Add P010 stream test
Makes sure P010 stream can work correctly.
Bug: chromium:1033416
Change-Id: I1b49568cd667697337335a0eca74504bd0e36f5c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1996912
Reviewed-by: Jie A Chen <jie.a.chen@intel.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
8c0bbfbb
|
2019-11-25T14:48:11
|
|
EGL: Implement EGL_ANDROID_framebuffer_target
Add attribute to configs.
Add attribute matching logic.
Does not set attribute in Vulkan configs, need solution to
query Android for which formats are valid. anglebug.com/4208
New end2end test.
Bug: angleproject:3961
Test: angle_end2end_tests --gtest_filter=EGLAndroidFramebufferTargetTest*
Change-Id: I7e14c47b39e9539f6181c3c1d75c76fe63ca0f8c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1960508
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
36ab960e
|
2019-12-04T14:13:05
|
|
Vulkan: Resize the result vector in EGLChooseConfigTest end2end test
Resize the defaultConfigs vector to its actual size to avoid using
nullptr elements to get attributes.
BUG=angleproject:4195
Change-Id: I3cbad9ee8c2c9faeaa30f72a04cf2c071f79db19
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1949985
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
745999a9
|
2019-11-19T12:59:02
|
|
Add test for multithreaded shared-context resource
The test does this:
1. Context 1: Read Texture 1 and draw into Framebuffer 1
2. Context 2: Read Texture 1 and draw into Framebuffer 2
3. Context 1: Delete Framebuffer 1
4. Context 1: Flush
5. Context 2: Modify Texture 1
Issue is Texture 1's mCurrentReadingNodes contains one node from each
context's command graph, one of which is deleted at step 4. At step 5, a
dependency is added from both nodes (one already deleted) to a new node,
causing use-after-free.
Bug: angleproject:4130
Change-Id: I06720aec20d0b49114937f1cd9b193a4f1df9d8d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1924790
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2a72553d
|
2019-11-25T14:22:50
|
|
Add EGLSurfaceTest.ResizeWindowWithDraw
This test will ensure the backbuffer is also properly resized when
the window is resized.
Bug: angleproject:4167
Change-Id: I1d73f07379b4f05e453520e22ef1369f51182197
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1934311
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
b6148c3a
|
2019-11-21T10:13:44
|
|
Metal: re-enable end2end tests
Bug: angleproject:4157
Change-Id: Ia7e29c32696c84556e9ea527fc48b086b1bc4766
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1940007
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
b8e748be
|
2019-11-07T18:00:50
|
|
Vulkan: Add an end2end test to log GLES capabilities
Logs information listed at:
https://opengles.gpuinfo.org/listcapabilities.php
in CSV format
The list from gpuinfo doesn't include capabilities
introduced by extensions
Test: angle_end2end_tests.exe --gtest_filter=*PrintGLESCapabilities*
Bug: angleproject:4093
Change-Id: I59c82879ee2e3486269aa0cb40e2ee6c6e646ec5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1917443
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8392b118
|
2019-11-20T16:57:08
|
|
Revert "Metal: Enable end2end tests."
This reverts commit 0bb42e091b77f174632434a05789b2ce632bd902.
Reason for revert: https://bugs.chromium.org/p/chromium/issues/detail?id=1026633
Causing failures on Mac bots.
Original change's description:
> Metal: Enable end2end tests.
>
> Explicitly disabled tests:
> - DifferentStencilMasksTest.DrawWithDifferentMask
> - PointSpritesTest.PointSizeAboveMaxIsClamped
> - WebGL2ReadOutsideFramebufferTest.CopyTexSubImage3D
>
> Bug: angleproject:2634
> Change-Id: I76ab450c06d0e1be1e7469a8b9c6497684c3ca54
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1906607
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
TBR=geofflang@chromium.org,jonahr@google.com,jmadill@chromium.org,le.hoang.q@gmail.com
Change-Id: Iaa4264834170a49c274f186d3d74f57714c84b32
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:2634
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1926378
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
0bb42e09
|
2019-11-19T23:04:00
|
|
Metal: Enable end2end tests.
Explicitly disabled tests:
- DifferentStencilMasksTest.DrawWithDifferentMask
- PointSpritesTest.PointSizeAboveMaxIsClamped
- WebGL2ReadOutsideFramebufferTest.CopyTexSubImage3D
Bug: angleproject:2634
Change-Id: I76ab450c06d0e1be1e7469a8b9c6497684c3ca54
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1906607
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
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>
|
|
0e5d019e
|
2019-11-08T08:43:21
|
|
Vulkan: Enable 3.0 as default context version
Now that 3.0 support is passing dEQP, always return that as the
context version to use (unless app asks for 1.0).
Test: angle_end2end --gtest_filter=EGLBackwardsCompatibleContextTest.BackwardsCompatibleEnabledES3/*
Bug: angleproject:3750
Change-Id: I0402ac015acfc22e84a985fe75346999bcc47188
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1906202
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
28b0c453
|
2019-10-11T15:22:02
|
|
New end2end test to print EGL information
Print out EGL vendor, version, clients, clent extensions, display extensions
Print GL vendor, version, renderer, shader, extensions
Prints each EGL config ID and its attributes
Just Vulkan based information. D3D and GL can be enabled.
Bug: angleproject:4039
Test: angle_end2end_tests --gtest_filter=EGLPrintEGLinfoTest*
Change-Id: I103a22eacb2eb14547d7908f93eeeca5434c5e66
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1879492
Commit-Queue: Jeff Vigil <j.vigil@samsung.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|