|
2a2b4b13
|
2020-07-09T13:15:13
|
|
Vulkan: Force flush staged updates for external textures
For textures that are backed by external memory,
immediately flush sub image updates instead of
staging them.
Bug: angleproject:4828
Tests: angle_end2end_tests --gtest_filter=ImageTest.UpdatedExternalTexture*
Change-Id: I51e5bd0cb5df7df3af21f0cdb3007eebc1be29cd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2290490
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
fac68170
|
2020-07-08T22:19:43
|
|
Don't build vulkan_validation_layers on macOS.
angle_enable_vulkan_validation_layers is false on is_mac,
so it looks like they were built by accident. Guard the dep
on $angle_root/src/common/vulkan:vulkan_validation_layers by
angle_enable_vulkan_validation_layers instead of angle_enable_vulkan,
and only define the target if angle_enable_vulkan_validation_layers
is true (because src/common/vulkan/BUILD.gn gets loaded due to deps
on other targets in it, and when a .gn file is loaded all the
targets in it get defined).
Since vulkan_validation_layers doesn't currently build on
arm macs, this happens to fix a build problem there, but it
also makes the build on intel macs a bit smaller.
This sidesteps comment 13 on the bug. If we ever want to use
the validation layers on mac, we'll have to do a real fix then.
Bug: chromium:1098741
Change-Id: I8164ff13de98d34ed875c6e6d0550eae64b2d0dd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2289042
Commit-Queue: Nico Weber <thakis@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
514c8f64
|
2020-07-08T13:48:54
|
|
Skip MultithreadingTest.MultiCreateContext on Ozone
This tests crashes on Ozone, skip for now.
Bug: chromium:1103009
Change-Id: Ie686e69d937710b43b615372251801e83b7bde20
TBR=geofflang@chromium.org
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2288334
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
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>
|
|
b291ad09
|
2020-07-03T23:53:10
|
|
Build specialized version of glslang
Bug: angleproject:4763
Change-Id: Ibb98c872a1283b9d6acde958a7c5212cf79e72df
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2281618
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9349e262
|
2020-06-25T14:28:17
|
|
Fix multiDraw* with DYNAMIC_DRAW buffer usage
Specialized Context11 impl to prevent promote Dynamic during MultiDraw.
Add different buffer usage to MultiDraw and BaseVertexBaseInstance
tests.
Bug: angleproject:3402, angleproject:4754
Change-Id: I50e1a6fd6c8b6fd48f130c43545b895335d2e55b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2268581
Commit-Queue: Shrek Shao <shrekshao@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
69fa4d23
|
2020-06-30T09:06:33
|
|
Vulkan: Query aspect flag from the image
When transferring images across queues we need
to query the aspect of the image instead of
hardcoding it to VK_IMAGE_ASPECT_COLOR_BIT
Bug: angleproject:4791
Bug: angleproject:4818
Tests: angle_end2end_tests --gtest_filter=ImageTest.SourceAHBTarget2DDepth*
Change-Id: Ia43a00262085dab492935c0c299635f3af468b50
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2274868
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3c8f6094
|
2020-06-26T12:42:37
|
|
EGL: Add basic multithreading support
Adds first step to allowing multithreaded contexts: letting multiple
threads use ANGLE as long as only one thread has a current context at
a time.
Bug: angleproject:4724
Bug: angleproject:4725
Change-Id: I4f606bdb15386cff9e3cb84d4120781e24e15fe4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2269864
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
acbe145c
|
2020-07-02T14:59:55
|
|
Test Runner: Batch tests by config.
This CL sorts tests into subprocesses organized by a single config.
It will allow for the test runner to use a single EGL display per
process in most cases. It doesn't implement the display sharing right
now, that'll be in a forthcoming CL. It assumes test configs are split
between / and (optional ending) __ characters.
Bug: angleproject:3162
Change-Id: I28e8b4687640da6e501f08b8b9347185c99ce30f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2280403
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
dd2316df
|
2020-07-02T14:20:05
|
|
EGL: Add image test for AHB based EGLImages
Add new end2end test where the source for EGL images
is an Android Hardware Buffer
Bug: angleproject:4810
Tests: angle_end2end_tests --gtest_filter=ImageTest.SourceAHBTarget*
Change-Id: I20f303c6ad839ac2e65d407cfe3813a8be4c1cfa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2231884
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
ad782a84
|
2020-07-02T16:21:59
|
|
Tests: Use "__" to delineate test config names.
This will allow the ANGLE test runner to identify test configs
for tests that use parameterization to break up different test
permutations with the same config. Note that GoogleTest doesn't
allow for anything other than alphanumeric characters or "_" in
test names.
Bug: angleproject:3162
Change-Id: Iee215fbd8c397eef04dce0269da9b58ec568fce7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2280402
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
0757a61a
|
2020-07-03T10:03:08
|
|
Remove suppression of passing test
Bug: angleproject:4698
Change-Id: I1c97f27534f25e1b63b1e07a82ffade353f805d2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2280983
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
bae95f81
|
2020-07-02T17:19:14
|
|
Convert GN libs lists to frameworks
GN recently added support for Apple frameworks to link, rather than
overloading the libs lists. This pulls .frameworks out of the libs
lists, so that GN can stop supporting .frameworks in libs in the
future.
Bug: chromium:1052560
Change-Id: I3aed298db01bdb5f6e7f37a74c1bbc06f99d760c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2279931
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
a86c8547
|
2020-07-02T12:57:52
|
|
Add missing data deps to angle test executables.
Currently the Chromium build defines some wrapper test
targets for ANGLE (//chrome/test:angle_perftests
and //chrome/test:standalone_angle_unittests) that seem to
exist only to specify some extra data dependencies. By moving
those data dependencies into angle, this removes a couple of
targets in Chromium that are otherwise problematic for
my planned changes for crbug.com/816629.
Bug: chromium:816629
Change-Id: Ic0d50132f102f39749c92b062eec38a529db2c1b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2280255
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Dirk Pranke <dpranke@google.com>
|
|
89c88559
|
2020-06-20T11:13:57
|
|
Add end2end test for readonly feedbackloop
Bug: angleproject:4778
Test: ./angle_end2end_tests --gtest_filter=ReadOnlyFeedbackLoopTest*
Change-Id: I1c2500395d261c1686e5d325aad173462311c8c3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2252543
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
dce37b7d
|
2020-06-21T22:27:06
|
|
Serialize framebuffers + compare contexts for CaptureReplayTests
Adds to frame capture the ability to serialize a frame's pre-swap
GL state and store it in the binary data file
Adds to CaptureReplayTests the ability to compare its serialized GL
state with the serialized state pulled from the binary data file
Adds a serialization module that serializes framebuffers' GL states
and the contents of their color attachments
Adds checks to automation script so that it would skips tests that
do not produce the expected trace files
Adds exception handling to automation script so that it will not crash
when a replay build crashes
Bug: angleproject:4779
Change-Id: I40a02e018073749e79f0ddbfd3d4065745548f46
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2258295
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
5fec8ecf
|
2020-07-02T11:14:30
|
|
Fix CopyTexture3D test to remove Nvidia workaround
Bug: angleproject:4748
Change-Id: I8e66fda3c9fd234451ad765c8777cd75b4fc44fc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2279136
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
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>
|
|
1265dbe6
|
2020-06-24T15:12:17
|
|
Update JsonCpp usage
This patch updates usages of the JsonCpp library, including the
following changes:
1. Removed unused version variable from the DEPS file.
2. Removed deprecated writer and reader usages, in favor of the new
builder pattern inside JsonCpp.
3. Modernized usage of the Json::Value types, including some rewrites to
avoid unnecessary heap allocations, and using the new foreach
iterators.
Bug: chromium:983223
Change-Id: If26abc8be677d905183a23498fbb81256854525c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2265093
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
d2ca995f
|
2020-06-30T16:33:11
|
|
Vulkan: Update "fragment_ops" failures on Android
A Qualcomm driver bug causes certain
"dEQP-GLES3.functional.fragment_ops*" tests to fail. On Pixel 4 XL,
this only occurs when the device is rotated 90 or 270 degrees.
Bug: angleproject:4344
Bug: b/157933198
Change-Id: Iedb7e8c76fbe55795537cab3e821a410899fdea3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2277103
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
28300e6f
|
2020-06-30T10:41:27
|
|
Vulkan: Fix off-by-1 180/270-rotated CopyTexImage
The rotation calculations are a little different for this code (that
uses a special shader) than for other pre-rotation cases. I also
modified the CopyTexImageTestES3.2DArraySubImage test to make future
bugs a little easier to diagnose.
Test: Test: angle_end2end_tests --gtest_filter=*CopyTexImageTestES3.2DArraySubImage*Vulkan*
Test: Test: angle_end2end_tests --gtest_filter=*WebGLReadOutsideFramebufferTest.CopyTexSubImage2D*Vulkan*
Bug: b/158245571
Change-Id: I497ec541cae5cd4085c3e9d596ee20943f5510f9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2275733
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
d1bf23d7
|
2020-06-23T16:57:05
|
|
Restrict member types for StructuredBuffer
Std140 storage layout has some rules for uniform block, must
pad StructuredBuffer element type explicitly to match std140
layout rules when translating std140 uniform block to
StructuredBuffer. In this CL, restrict member types which are
not needed to add paddings according std140 layout rules.
Bug: angleproject:4783
Change-Id: I50130da64ad6865083849bf55b76525f3d2835a8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2259226
Commit-Queue: Xinghua Cao <xinghua.cao@intel.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
|
|
8ea72e86
|
2020-06-29T23:42:42
|
|
Skip failing test on NVIDIA Shield
Bug: chromium:1100613
Change-Id: I1e05b2b7829ee790f878bf99976310c8a697faa2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2274520
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
06462add
|
2020-06-04T16:14:18
|
|
Add a test for copying from one mip to another
Bug: angleproject:2914
Change-Id: Ib39f8599a613cbb85688c230cf8a72e23d8e1c1c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2231618
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
bdf91e5f
|
2020-06-29T13:47:13
|
|
Refactor frame_capture_utils.h to frame_capture_test_utils.h
frame_capture_utils.h is only used in tests so changing the name to be
frame_capture_test_utils.h is more appropriate. Also
frame_capture_utils.h will now be a file in libANGLE_with_capture
library where serialization code is stored.
Bug: angleproject:4806
Change-Id: I7482693a75b2d0edda7e84ae9b777fd3f46f1855
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2273917
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b31a1939
|
2020-06-25T08:13:20
|
|
Vulkan: Implement invalidate for color buffers
This will set the color buffer load_op to DONT_CARE if the application
has invalidated the color buffers prior to drawing.
Will also set load_op to DONT_CARE for depth & stencil, though this
isn't likely a common use case.
Tests:
angle_deqp_gles3_tests --gtest_filter=dEQP.GLES3/functional_fbo_invalidate_* --use-angle=vulkan
angle_end2end_tests --use-angle=vulkan --gtest_filter=StateChangeRenderTestES3.InvalidateNonCurrentFramebuffer/ES3_Vulkan
Bug: b/150458520
Bug: angleproject:4444
Change-Id: I6ce3d20fc1e9f4ab7ba3af9755c5ddc544f58ddd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2267057
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
7538f91e
|
2020-06-29T10:17:09
|
|
Vulkan: Skip *functional.attribute_location.bind* tests
Bug: angleproject:4249
Change-Id: I980054c374f43596050a3387d1d6c3e71b5efed9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2273697
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
e5839678
|
2020-06-29T09:49:15
|
|
Vulkan: Remove suppression of fixed dEQP tests
Bug: angleproject:4675
Change-Id: I543f1d3872c89a78c377a309048d1f5df8c67395
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2272863
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6b49449d
|
2020-06-25T12:25:33
|
|
Vulkan: Fix mipmap generation and level redefinition
When generating mipmaps, the non-base levels are redefined to be
compatible. mRedefinedLevels was not updated to take this into account,
resulting in invalid copies to the image.
Additionally, noted a few spots where ImageDesc is used to respecify the
image, but those are not up-to-date when the backend functions are
called. Changed those to directly get the necessary information from
the allocated image.
Bug: chromium:1094644
Bug: chromium:1094599
Change-Id: I2afc9e5a53f24ef56836c5d7eec2e3e11df0ef61
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2267423
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
5046324e
|
2020-06-26T14:16:56
|
|
Skip MultithreadingTest.MultiCreateContext on Ozone
On Linux this test is supported with GLX but not EGL, so Ozone (which
uses EGL) fails. Update the test suppression to avoid Linux Ozone.
TBR=geofflang@chromium.org
Bug: angleproject:4725
Change-Id: I9e85b51a01ab5b25c6cbbdbcdbbfb4b21b7a6152
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2270021
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
769b5eac
|
2020-06-26T14:05:28
|
|
Suppress dEQP GLES3 attribute aliasing on Vulkan
Newly added spirv-val validation is triggered by these test cases.
Suppress failing tests to let the roll go through and investigate later.
TBR=jmadill@chromium.org
Bug: angleproject:4790
Change-Id: I3cbb2fb13889e83caea9ff69272b615cec47041f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2270019
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
c81da1c8
|
2020-06-19T22:05:38
|
|
Vulkan: Avoid double-copy when generating mipmap
If the image needs to be redefined with mips, level 0 was copied to a
buffer which was then copied to the new image. This change instead
stages the old image directly for copy to the new image.
Bug: angleproject:4551
Change-Id: I7625f140ddadde0a2b439c5e91c519ad49ae2fd7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2257264
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
69a78e6d
|
2020-06-22T13:52:54
|
|
CGL: Add basic multithreading support
Adds first step to allowing multithreaded contexts: letting multiple
threads use ANGLE as long as only one thread has a current context at
a time.
Bug: angleproject:4724
Bug: angleproject:4725
Bug: chromium:1087084
Change-Id: Ia6ca48c5fa838b93e49fc9ea259d626029439ca3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2257273
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
4eb2f6dc
|
2020-06-11T11:30:14
|
|
Add basic multithreading support to GLX
The first step for true multithreading support is allowing multiple
threads to use ANGLE as long as only one thread has a current context
at a time.
Added a test to MultithreadingTests to reproduce this behavior and
implemented it in GLX.
Bug: angleproject:4724
Bug: angleproject:4725
Bug: chromium:1087084
Change-Id: I908d3f02f34a681f1c9d0919dd17aee1a489173c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2241616
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@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>
|
|
d6293293
|
2020-06-25T10:54:16
|
|
Suppress MipmapTest failure on NVIDIA Shield.
MipmapTestES3.GenerateMipmapPreservesOutOfRangeMips/ES3_OpenGLES started
failing on NVIDIA Shield right after it was introduced.
TBR=syoussefi@chromium.org
Bug: angleproject:4551
Bug: angleproject:4786
Change-Id: Id6b258a09d33783faf34f867523da31995cee4e7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2264102
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
86ae16b6
|
2020-06-23T01:03:00
|
|
Vulkan: Fix CPU path copy of 2D array textures
Bug: angleproject:4744
Change-Id: I88d997c39a7d5f8fa9609c43c2cd192b237611e7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2259202
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6ef0387d
|
2020-06-16T23:32:47
|
|
Vulkan: Fix mipmap generation discarding levels above max
Bug: angleproject:4551
Change-Id: I1f65e41049b8cc8065ff988bb708cb44acfdb98b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2257263
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@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>
|
|
89001914
|
2020-06-24T14:56:15
|
|
Suppress TextureTest failure on NVIDIA Shield.
Texture2DTestES3.IncompatibleMipsButNoMipmapFiltering/ES3_OpenGL started
failing on NVIDIA Shield right after it was introduced.
TBR=syoussefi@chromium.org
Bug: angleproject:4786
Change-Id: I9805e4d22a01395a8b0eb47243b07fbf2abd6f4a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2264092
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
cf11beed
|
2020-06-22T15:51:51
|
|
Add mip-related corner-case tests
Bug: angleproject:4780
Bug: angleproject:4781
Change-Id: Iaf8e1df576c3676249751413a646244da41a0eaf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2258476
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
ea15439b
|
2020-06-23T00:17:52
|
|
Add mipmap generation perf test for emulated formats
Add a variation to mipmap generation perf test to measure performance
when given a format that requires emulation in the Vulkan backend, in
this case GL_RGB.
Bug: angleproject:4551
Change-Id: I4c533d13e35279fec9e007691fb64353735040d7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2259199
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a7587fcf
|
2020-06-22T14:59:30
|
|
Vulkan: Skip Texture2DArrayCopy.SnormFormats on Mali GPU.
Bug: angleproject:4744
Change-Id: I911b184daffde616d874af8cd698f1f796a9cfcc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2257120
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
47ad6801
|
2020-06-22T14:27:28
|
|
Suppress TransformFeedbackTest failure on Mac AMD.
TBR=jmadill@chromium.org
Bug: angleproject:4775
Change-Id: I22e8c0c42e48c4c2d0527b39ec740497083656c2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2256208
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
b772a955
|
2020-06-16T23:32:47
|
|
Vulkan: Make texture syncState aware of upcoming generateMipmap
By letting TextureVk::syncState know it's being called for
generateMipmap, it can make a better decision to initialize the image:
- Staged updates to mips that are going to be overwritten are dropped
- The image is created with full mipchain to avoid a redefine in the
following generateMipmap() call.
Bug: angleproject:4551
Change-Id: Ic70ee6c0a0b29c7bd62beaff612b2f2d5276defb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2249340
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
34ca1ac7
|
2020-06-16T12:05:12
|
|
Vulkan: Fix FramebufferVk cache
Migrate Serial from Image to ImageView.
Imageviews are what are utimately used in FramebufferVk, so move
the Serials into the ImageViewHelper class. Since that class also
knows the level/layer of the imageView, we can revert to using a
single Serial per ImageView instead of the AttachmentSerial that
included the layer and level.
ImageViewHelper caches Serials per layer/level combo.
Bug: angleproject:4651
Change-Id: I3741d7d03523eada84295cb712c1cc1e6e3c3867
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2248203
Commit-Queue: Tobin Ehlis <tobine@google.com>
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
fe902f4b
|
2020-06-19T14:28:36
|
|
Test Runner: Stub histogram writer.
The Android tests require a valid output for the perf test
results. The smallest valid output is an empty array.
Bug: angleproject:3162
Change-Id: I1bf7602b02358d634347d587b406c0c2d7c838a2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2254088
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brian Sheedy <bsheedy@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
b11af52f
|
2020-06-19T14:39:29
|
|
Suppress failing XFB tests on Intel/Win/Vulkan.
Bug: angleproject:4533
Bug: angleproject:4767
Change-Id: I34973d4160df993f2b1ed4d97d5d9f3871ecb9f3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2254090
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brian Sheedy <bsheedy@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
9dee8e3f
|
2020-06-15T10:59:18
|
|
Automate testing of capture_replay
automation script will:
1. compile all tests in angle_end2end with framecapture enabled
2. run each test with frame capture
3. compile CaptureReplayTest with cpp trace files
4. Run CaptureReplayTest
Test: run_tests_with_framecapture.py
Bug: angleproject:4749
Change-Id: Ieb21c6137653632d73beedea48712e46fc15a0f3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2246321
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
|
|
c028fc73
|
2020-06-19T09:06:03
|
|
Tests: Update traces to include draw surface width/height
The traces now contain the original resolution they ran with,
so we can set that based on testID.
This fixes correctness problems on Android, where only a fraction
of the screen could be seen during replay.
Bug: b/159238311
Test: angle_perftests --gtest_filter="*Trace*"
Change-Id: I47b92ee31681998260bad059cde0856a25ae0fc6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2250863
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e474cc9e
|
2020-06-18T16:03:30
|
|
Download restricted trace data
To ensure that things are built we need to update the modification time
on the files we download. This adds a script to download the requested
files and then touch everything that was downloaded in the traces
folders.
Bug: chromium:1096577
Change-Id: Idce6abb6100e7c662429a9db71b1a44a78dd88a6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2252544
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
3589d9a0
|
2020-06-16T15:32:18
|
|
Add a test for generateMipmap after modify
To make sure TextureVk::syncState is called before generateMipmap.
Bug: angleproject:4551
Change-Id: Ibce0738b72fc81270e07617f04ffee57f1c8ed20
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2248209
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
6cb8345f
|
2020-06-17T23:22:57
|
|
Vulkan: Non-zero memory initialization for all images
This was only implemented for single-level, single-layer, single-sample
color images. This change implements clear for all images.
Additionally, the move to VMA broke the initialization of the staging
buffer, so even for the supported case, the image was being initialized
with uninitialized data.
Bug: angleproject:4092
Bug: angleproject:4551
Change-Id: Ic2eee3f8454a93f1bcf3ca725afabcdc693047e1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2249376
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e7ae237e
|
2020-06-12T23:52:09
|
|
Vulkan: ANGLE_copy_texture_3d support
Bug: angleproject:4748
Test: CopyTexImage*Vulkan:Texture3DCopy*Vulkan:Texture2DArrayCopy*Vulkan
Test: dEQP.KHR_GLES3/copy_tex_image_conversions_required_cubemap*cubemap*
Change-Id: Ifdc3d455ca8c9e732d0adf4afa9e2809d780ae18
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2246320
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
c81f0b7b
|
2020-06-18T15:32:48
|
|
Tests: Update trace timestamps
Move all timestamps forward to get CQ working again.
TBR=courtneygo@google.com,jmadill@chromium.org
Test: angle_perftests --gtest_filter="*Trace*"
Bug: angleproject:4762
Change-Id: I1aff31a705d9a014d4ec3463d3d7b4bf6f3208a2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2252542
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
24945828
|
2020-06-18T10:00:33
|
|
Disable ES3 perf tests on Nvidia/windows7/Vulkan
Notry: true
Bug: chromium:1096510
Change-Id: I488d572f448d48402138e38b42fbf46c940a8b97
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2252118
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d44da6e9
|
2020-06-17T23:55:02
|
|
Fix restricted_traces/.gitignore
Use a pattern to exclude all compressed and uncompressed test files
instead of relying on them being manually entered.
Bug: None
Change-Id: I76a3117ebeb22f25c46059e84457afffa5ef6757
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2251319
Reviewed-by: Manh Nguyen <nguyenmh@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
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>
|
|
13816d2d
|
2020-06-16T14:27:04
|
|
Move vulkan_headers/entry_points to common/vulkan
This will allow us to move common headers, such as extension headers, to
common/vulkan.
Bug: b/159027603
Bug: b/154620295
Change-Id: I1ff73dc5b7ee8f7dfb3ac0c5f30bd4b3a8183aeb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2248205
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
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>
|
|
340da145
|
2020-06-16T10:58:47
|
|
Vulkan: Disable 1xMSAA on integer formats too
This was pending swiftshader support for 4xMSAA support for integer
formats, which is long done.
Bug: angleproject:4197
Change-Id: I843a9674e20a48b5387bd67b8c0efc8617841382
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2248198
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|
|
51487e1e
|
2020-06-15T23:35:39
|
|
Add mipmap generation perftest
Bug: angleproject:4551
Change-Id: Iae205674029888447d070e0df30b65828b6fa6eb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2246732
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
68fcfea3
|
2020-05-29T12:34:08
|
|
Vulkan: support format aliasing in texture images
glBindImageTexture specifies the format which should be used to
interpret the texture data and this format is independent from the
texture's own internal format. This change allows the VkImage's format
to be mutable to handle glBindImageTexture calls with different
formats.
Bug: angleproject:3885
Test: dEQP-GLES31.functional.image_load_store.*.format_reinterpret.*
Change-Id: Ia1ad762b4ccae0f510c8b4918781234fcf51c5f1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2222610
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
959037e0
|
2020-05-25T15:40:38
|
|
Vulkan: Preserve RPs on XFB changes when possible.
Instead of unconditonally ending the RenderPass we keep a set of
active XFB buffers in the ContextVk. This lets us re-use RPs when
we don't write to the same buffer repeatedly.
Reduces the RenderPass count in our Manhattan capture from 29->23.
Bug: angleproject:4622
Change-Id: I28c2d4d3db1490e5d07be3c48d21fd2cc6ff85d6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2196957
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
d2d8282a
|
2020-06-14T04:50:22
|
|
Refactor 3D/2DArray copy texture tests
The test methods were duplicated between 3d and 2d array tests. This
change creates common methods that can be called by the two test sets.
Additionally:
- Input colors are symbolized as they are repeated multiple times.
- The color used for unmultiply-alpha test is slightly tweaked to avoid
generating exactly x.5 values with undefined rounding.
Bug: None
Change-Id: If0cf694017724a72976d3d5cb0f54f8c49a0502a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2246319
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
7005248b
|
2020-06-11T16:00:23
|
|
Vulkan: Fix glCopyTextureCHROMIUM if source is swizzled
A no-swizzle view is added for this use-case.
Bug: angleproject:4004
Change-Id: Id654af9a4f520357c91bf2b06501c9e1ea169f11
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2241623
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e6124500
|
2020-06-02T12:02:55
|
|
Fix baseVertex and baseInstance with streaming attributes
baseInstance: Fixed by adding the intial offset to each copy for
streaming attributes
baseVertex: make sure mShaderConstants.onFirstVertexChange takes
in correct firstVertex value for dynamic attribs (where firstVertex
passed to StateManager11::updateState already include baseVertex)
Bug: chromium:1078330, angleproject:3402
Change-Id: I289c4e3733fdf6f78af8c3adee84112c05a5abce
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2227022
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shrek Shao <shrekshao@google.com>
|
|
20dbfdd9
|
2020-06-15T11:29:05
|
|
Vulkan: Addition of ImageRespecificationTest
There is a bug in the way the Vulkan backend handles
image respecification. Add 2 tests that expose this bug -
1. When texture format is swizzled it needs to destroy
only the read image views
2. When texture is respecified using external images the
FramebufferVk cache has a bug where it doesn't invalidate
the object with the orphaned attachment
Bug: angleproject:4651
Test: angle_end2end_tests.exe --gtest_filter=ImageRespecificationTest*
Change-Id: Id564a700ea44eb4f804694613f597320ea811c07
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2246532
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
0bd0a913
|
2020-06-12T15:24:55
|
|
Skip FramebufferTest_ES3. TextureAttachmentMipLevelsReadBack on Mac ASAN.
Reporting out-of-range accesses in the OpenGL driver.
Bug: angleproject:4737
Tbr: syoussefi@chromium.org
Change-Id: Ib2598ba569c395ec39687fd1395149be5110f37f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2243757
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@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>
|
|
11e26fa0
|
2020-06-11T13:32:10
|
|
Allow running Samples against native GL.
Useful for perf testing/comparison.
Bug: angleproject:4729
Change-Id: Ic46424570dcef0a30d506962f546910ba7440595
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2241620
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@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>
|
|
ff2ebce4
|
2020-06-10T22:46:17
|
|
Vulkan: allow texture copies from one mip to another
As a first implementation, this makes the copy go through the staging
buffer. Once anglebug.com/4719 is implemented, this can be optimized to
perform the copy directly.
Bug: angleproject:2914
Bug: angleproject:4274
Change-Id: I2c9863381f54c3467ca939d049336960c21f60b0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2240671
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
ac44f8c5
|
2020-06-05T23:30:53
|
|
Vulkan: Apply SPIR-V optimization to internal shaders
Shaves about 40KB from binary size.
Bug: angleproject:2022
Bug: angleproject:3432
Change-Id: I008c18e0040b1bafe022087113681e2ace6eb7b8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1616963
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
15cff312
|
2020-06-10T22:44:22
|
|
Move lod-sampling shaders to shader utils
Will be reused in a test in a following change.
Bug: angleproject:2914
Change-Id: I4e255d5c762f2a6c064b06c558519d82ec6ead5f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2239085
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
000a79f1
|
2020-06-04T23:06:58
|
|
Vulkan: Better handling of texture level redefinition
If a texture level is being redefined, there are two scenarios to
consider:
1. The level is outside the base/max level, for which the image was
allocated.
2. The level is within the base/max level, but it's being redefined to a
different size or format.
In the former case, we simply don't need to release the image.
The latter case itself has two possibilities:
2.1. There is only one level in the image.
2.2. There are multiple levels in the image.
In case 2.1, the whole image is being redefined (as it has only a single
level), so the image can (and should) be released. Prior to this
change, this behavior was adopted for all cases. This change retains
this behavior for this case only.
In case 2.2, the texture is becoming incomplete. However, the image
shouldn't yet be released because another one of its mips may be bound
to a framebuffer. In such cases as glCopyTexImage2D(), that framebuffer
may in fact be the source of the copy operation (which would be
destroyed if the image is released). If the base/max level of the
texture doesn't change, redefining the level and making the texture
incomplete doesn't make the framebuffer incomplete; this is achieved at
the same time by not releasing the image.
This change ensures that updates to the redefined level are staged in
cases 1 and 2.2.
Bug: angleproject:4274
Change-Id: I3fac3203c2fbbc16e8e4a35b1334b767120b2dcf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2230853
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
aad69df9
|
2020-06-11T13:27:52
|
|
Run TracePerfTests in WGL configs.
Uses the "native" naming pattern.
Bug: angleproject:4728
Change-Id: I28cafcdb8c5c1fb48bba51adeca641e88bfe3446
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2241619
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
c39d25ae
|
2020-06-01T12:42:33
|
|
Update State to check mExecutable
A user may be using Program Pipelines, rather than monolithic Programs,
so State should check if mExecutable is valid, rather than mProgram,
since that indicates the presence of either a PPO or a Program.
Exercising these paths requires additional tests:
SimpleStateChangeTestComputeES31PPO::DeleteImageTextureInUse()
Texture2DTestES31PPO::TexStorage()
Texture2DTestES31PPO::SingleTextureMultipleSamplers()
These new tests exposed bugs in the PPO implementation where updates to
the active Program's ProgramExecutable were not being propagated to the
Executables of the PPO's containing that Program. In these particular
cases, updates to the active samplers/images/textures were not being
copied to the PPO's Executable.
Bug: angleproject:3570
Test: end2end tests listed above
Change-Id: I297cac2d0367f180dd7fa01a1ee7ba53996867c4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2225417
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
53c3ea8f
|
2020-06-05T17:21:44
|
|
Perf: Add a trace of Angry Birds 2
Test: angle_perftests --gtest_filter="*Trace*"
Bug: b/157672184
Change-Id: If4885398aff73ce774987fbeefb63d140f7fab1d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2233367
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
3d2de99e
|
2020-06-09T01:14:42
|
|
Vulkan: Fix RTs attached to textures with non-0 mip
Cleared confusion between GL level indices and VK level indices by
adding the corresponding suffix to variables and function arguments. A
handful of places that sent one index and expected the other are fixed.
The conversion between the two is given by:
levelIndexGL = levelIndexVk + baseLevel;
Bug: angleproject:4695
Change-Id: I84ecbaf867d00a40fb39b6db7ad79658016f4d9a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2235362
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
5abc0c56
|
2020-06-09T14:32:28
|
|
Fix failures that alpha channel is not correct
Previously, the alpha channel was not set which resulted the intended
swapchain buffer format is B8G8R8X8_UNORM. It means that the format
supports 8 bits for each color channel and 8 bits unused. However, in
our test case, we expect to compare the alpha channel. So we should
set alpha channel explicitly.
Bug: angleproject:4575
Bug: angleproject:4576
Change-Id: Ic26ee81a6a34dc44d0ae32e3dc463e9afa16e05c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2237189
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
dbb18b53
|
2020-06-05T15:23:17
|
|
Add texture base-level related tests
Bug: angleproject:4695
Bug: angleproject:4696
Bug: angleproject:4698
Bug: angleproject:4699
Bug: angleproject:4701
Change-Id: Ia49e2100851c029b1ae05bc1398528170d71c3cb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2233402
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
5d7014e4
|
2020-06-05T15:38:47
|
|
Unmap buffers targeted by glBufferData
When glBufferData is called on a mapped buffer, per the OpenGL ES 3.0
spec it is implicitly unmapped. Later calls to glMapBufferRange should
not throw an error.
This CL unmaps the buffer in BufferData if it is already mapped.
Also adds a new test that verfies the behavior.
Test: angle_end2end_tests --gtest_filter=BufferDataTestES3.BufferDataUnmap/*
Test: Angry Birds 2 MEC
Bug: angleproject:4599
Bug: b/157672184
Change-Id: I1a1e458aa5f50da4dfde9f6847f71cd5b6f6c08a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2233365
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Manh Nguyen <nguyenmh@google.com>
|
|
4360c6b9
|
2020-06-04T16:58:16
|
|
Perf: Ensure last frame is replayed for traces
This is now required for upcoming buffer mapping resets.
Test: Angry Birds 2 MEC
Bug: b/157672184
Change-Id: I6358acf42ca9b92bfff621f12f207be7c3655e52
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2231801
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
111a4d97
|
2020-06-05T16:56:45
|
|
Fix copy texture to sRGB in ANGLE/VK
Like the GL backend, use the CPU copy path rather than the draw path
when the target is sRGB.
Fixes the following WebGL tests:
conformance2/textures/canvas/tex-2d-srgb8_alpha8-rgba-unsigned_byte.html
conformance2/textures/canvas/tex-2d-srgb8-rgb-unsigned_byte.html
conformance2/textures/image_bitmap_from_canvas/tex-2d-srgb8_alpha8-rgba-unsigned_byte.html
conformance2/textures/image_bitmap_from_canvas/tex-2d-srgb8-rgb-unsigned_byte.html
Re-enable CopyTextureTestES3.ES3UnormFormats for Vulkan as they now pass
with this change.
Bug: b/157934810
Bug: angleproject:4092
Change-Id: I6b76e5f4345d204a084f5483e206c5bb4ff2f139
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2233405
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
|
|
336e8915
|
2020-05-29T16:09:47
|
|
Workaround broken copyTexImage2D on iOS
Use BlitGL to reimplement copyTex[Sub]Image2D on iOS.
Bug: angleproject:4674
Change-Id: Ie3018d6d33da57797162922410f76557124df4b6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2222718
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
e9a0cb87
|
2020-05-18T17:45:52
|
|
Fix assertion when running tests without suffix on Windows
On Windows, we may omit suffix ".exe" when running an executable.
However, this will trigger an assertion failure in current code and this
CL is to fix this issue.
Bug: angleproject:4640
Change-Id: I7edfdc0b4a7c590c874817530b19a812018b9288
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2206425
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6fad384b
|
2020-06-04T15:36:17
|
|
Vulkan: Add test for RT created from mip-incomplete texture
The Vulkan backend creates an image with 3 mips, while it should only
create one with a single mip.
Bug: angleproject:4686
Change-Id: Ide7f9612c9440bfb9d9650637f6a1ad42be61208
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2230797
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9fa671d5
|
2020-06-05T14:19:18
|
|
Make GLES 1 tests use ANGLE EGL headers.
This will allow us to more easily support a different test target
topology for the standalone test harness that uses an intermediate
source_set. Also it's better in the long run to only have to worry
about one set of EGL headers.
Bug: angleproject:3162
Change-Id: I738dbb68df1abc0c0569748e18d6826914d90a52
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2233399
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
925d1e7b
|
2020-06-05T14:37:03
|
|
Skip MultisampledBGRAToRGBA, MultisampledRGBAToBGRA tests on Vulkan
VVL report VUID-vkCmdResolveImage-srcImage-01386 in these two.
Bug: angleproject:4694
Change-Id: I4a4af598cfa77af18ccf6e322cde92749cb9ad70
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2233401
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
57f7b690
|
2020-06-05T00:45:01
|
|
Vulkan: Enable passing tests
Bug: angleproject:3950
Change-Id: I091d99951772479ef2fbdb2ac51e5bf52a263da7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2231983
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
da958a59
|
2020-06-04T13:56:47
|
|
Vulkan: Fix clear of non-zero-base-level images
The staged resource updates adjusted their level to take base level into
account, but clear updates used a cached unadjusted value.
Bug: angleproject:3148
Change-Id: I9a49d5341083b2f870baa1ee6053e54baef35086
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2230786
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
0df92012
|
2020-06-03T17:08:43
|
|
Rename Platform.h to PlatformMethods.h.
"platform.h" is too common a name and causes headers to be
included incorrectly. Disambiguate the header using a more
specific name.
Solves a problem that came up with the GLES 1 tests and the
standalone test harness.
Bug: angleproject:3162
Change-Id: I88229a2c9407e0db57f5beee44daa11a4075f700
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2229065
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
0117ba26
|
2020-06-03T17:44:39
|
|
Re-enable ShouldClearOpaqueFdRGBA8 on Pixel2 Vulkan
Bug: angleproject:4630
Change-Id: Ib1e7ecd9bedf6841489f7fb5bba9cae8881aa33e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2229067
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
989c790d
|
2020-06-03T14:32:43
|
|
Remove workaround for fixed compiler bug
Bug: chromium:951458
Change-Id: If55b10fb2db12fe37b9475d78266b7e6b92fcca7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2227816
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
fabecfa7
|
2020-06-03T14:29:07
|
|
Update and de-duplicate expectations file format comment
Bug: angleproject:4675
Change-Id: Ieff7a4eae22a6d802c1fca6010cb74627d6e5777
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2227815
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
98865915
|
2020-06-02T14:56:24
|
|
No-op incomplete framebuffer invalidation.
It's always legal in GL to no-op framebuffer invalidation. When the
FBO is incomplete we can't pull RTs safely so no-oping incomplete
invalidate calls saves us from fuzzer bugs and crashes.
Bug: angleproject:3971
Change-Id: Ide550a22e6c17a28e5042165831dd684567d81fe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2227038
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
f2d4abb2
|
2020-05-25T16:10:07
|
|
Vulkan: Correct the viewport before intersecting it with the scissor.
Eliminate the potential for integer overflow when clippling a large
viewport rectangle by first limiting it to the Vulkan viewport size
limits.
BUG=chromium:1078378
Change-Id: I2648c6136d2d27d67a3fc5dae2de821279d70d81
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2215308
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
6c158164
|
2020-05-28T15:19:51
|
|
Vulkan: Fix XFB invalid accesses in buffer OOM.
This uses the "null" buffer in the Renderer to bind an empty
buffer handle so ANGLE can maintain a consistent state.
Bug: chromium:1086532
Change-Id: I1912a1d1cb64433a285fcfced80a675619690a0b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2219140
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|