|
0cec8f74
|
2020-10-23T13:47:41
|
|
Tests: Add Fate/Grand Order trace
TBR: jmadill@chromium.org,courtneygo@google.com
Test: angle_perftests --gtest_filter="*fate_grand_order*"
Bug: b/171582504
Change-Id: I09b421ee5a245474ed1c797e9049a2f379d8dc11
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2495542
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
29ca7186
|
2020-10-25T11:16:29
|
|
Tests: Add Dragon Ball Legends trace
TBR: jmadill@chromium.org,courtneygo@google.com
Test: angle_perftests --gtest_filter="*dragon_ball_legends*"
Bug: b/171652453
Change-Id: I668232f3a1e7ca9663f481fb4246b44fb9333b4a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2497104
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
258f17d6
|
2020-10-23T10:39:25
|
|
Tests: Add World of Tanks Blitz trace
Test: angle_perftests --gtest_filter="*world_of_tanks_blitz*"
Bug: b/171446929
Change-Id: I028bfde50baa583f1ff7bf30ad77fe40026c7ca7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2495486
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
9e3eec54
|
2020-10-25T15:44:09
|
|
Revert "Vulkan: Make DescriptorPoolHelper a Resource"
This reverts commit 5dcd29a6e532e4bd617af8767d488120b57f3b2c.
Reason for revert: Breaking the ANGLE -> Chromium roller:
https://chromium-review.googlesource.com/c/chromium/src/+/2496281
Original change's description:
> Vulkan: Make DescriptorPoolHelper a Resource
>
> Descriptor pools need to live as long as the descriptor sets that are
> allocated from them. Using Serials while building a command to judge a
> pool's lifetime is prone to errors, since a command's Serial value
> isn't known until the command is submitted, leading to deleting pools
> too early relative to when the descriptor set is actually used.
>
> This CL updates DescriptorPoolHelper to inherit from Resource, so the
> descriptor pools can be retain()'ed. This allows the Resource's counter
> to indicate that a pool is in use until the command's Serial is known
> and can be recorded to indicate when the command completes. This
> prevents descriptor pools from being destroyed before the command
> completes (while the descriptor sets are still in use), or even before
> the command has been submitted. Destroying a descriptor pool resets all
> of the descriptors that were allocated from it, which can trigger a
> variety of VVL errors depending on when it's erroneously performed.
>
> This CL also adds the necessary retain() calls for the descriptor pools.
> In particular, the pools need to be retained each time a cached
> descriptor set that was allocated from it is re-used. This is relatively
> simple with the current design, since we always clear the descriptor set
> caches whenever a new pool is allocated, so the descriptor pool binding
> is always accurate.
>
> Bug: angleproject:5030
> Test: MultithreadingTest::MultiContextDrawSmallDescriptorPools()
> Change-Id: I5fdeeb46159448dfd679d7169e423048348be5ab
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2437609
> Commit-Queue: Tim Van Patten <timvp@google.com>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
TBR=courtneygo@google.com,timvp@google.com,jmadill@chromium.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: angleproject:5030
Change-Id: I0fd6d9a0e1b0989b22368ef98652281288699deb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2497222
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
2d6b6026
|
2020-10-25T13:15:09
|
|
Skip flaky tests on Win7/NVIDIA/GLES.
CopyTextureVariationsTest.CopyTexture/ES2_OpenGLES__AToRGBFlipYUnmultiplyAlpha
CopyTextureTest.CopyOutsideMipmap/ES2_OpenGLES
Bug: angleproject:5246
Change-Id: I388df27c690d2a082741f2018690bf2fa24a7594
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2497224
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
4968245c
|
2020-10-25T12:58:15
|
|
Adjust TestSuite test timeout values.
This should prevent flakiness in this test.
Bug: angleproject:5245
Change-Id: I841de2cee093ea04b35763314f0a4f5497bcf778
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2497223
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
acd15cae
|
2020-10-11T17:16:34
|
|
Re-land "Link C++ histogram support into angle_perftests."
This is the first step in uploading histogram data instead of a gtest
special format. We importing several new libraries:
- tools/protoc_wrapper
- third_party/protobuf
- third_party/catapult (was already used for Android)
No functional change. Only affects compilation. Protobuf support is
disabled when not available.
Bug: angleproject:5161
Change-Id: I64be0977648993b1012ff0d9e0439c5876697e36
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2497221
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
6422d3b4
|
2020-10-25T04:36:53
|
|
Metal: Fix 2D array texture's robust resource init
2D array texture's robust resource init didn't work due to
mtl::InitializeTextureContents() expects one slice at a time, however
TextureMtl::initializeContents() created entire layers index via
GetZeroLevelIndex() before passing to mtl::InitializeTextureContents().
Fixed by changing to GetLayerMipIndex() instead.
Bug: angleproject:2634
Change-Id: Ie8d80d927a987c2b393d913fda8288b6e06e97d0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2494527
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
|
|
9ff58e26
|
2020-09-27T15:27:12
|
|
Metal: Implement sampler object & shadow compare mode
Note: GL_TEXTURE_COMPARE_MODE=GL_NONE is not supported on shadow sampler
for now.
Bug: angleproject:2634
Change-Id: I470bad6322e78ef1408e4334e1e778821df7cbf1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2433332
Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
f037cdc4
|
2020-10-23T17:12:21
|
|
Check for precision match of uniforms only if there is static use
There are legacy apps that have uniforms declared with
different precisions across shaders. There is some wiggle
room in the ESSL spec to accommodate such cases as long as
the uniforms are not statically used in shaders. We choose
this lenient interpretation since it allows for more apps
to be compatible with ANGLE.
This change allows BADLANDS to progress past a black screen.
Bug: angleproject:4971
Tests: angle_end2end_tests
--gtest_filter=GLSLTest_ES31.UniformPrecisionMatchValidation*
Change-Id: Icdd2056c8415803eb34f2840b0758e1acf53c23a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2495493
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
23c12db2
|
2020-10-24T16:43:27
|
|
Expand Mac XFB suppression.
TransformFeedbackTest.RecordAndDraw/ES3_OpenGL
Bug: angleproject:4992
Change-Id: I42118bba63e32901c3213f9a4ac5b87f2ab209f0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2495698
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
9990a814
|
2020-10-24T16:11:54
|
|
Suppress failing Windows 7 test.
ClearTestES3.ScissoredClearHeterogeneousAttachments/ES3_D3D11
Bug: angleproject:5237
Change-Id: I3f3c062e23d77b4621df13ea75f7910ed22ab983
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2496144
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
259d14e5
|
2020-10-24T13:39:45
|
|
Disable timing out Vulkan GLES 1 test.
This test is timing out on a Windows 7 config.
Test: GLES1ConformanceTest.AmbLight/ES1_Vulkan
Bug: angleproject:5234
Change-Id: I4c3ccdeb58d793952aaa44d4902dedf7ce192ec3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2496142
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
1c881dad
|
2020-09-27T01:35:31
|
|
Metal: Implement glRenderbufferStorageMultisample(ANGLE)
Bug: angleproject:2634
Change-Id: Ia4dd477cfbad298994036705b43f3a5877e3c9cc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2433330
Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
80d4901a
|
2020-09-26T19:22:00
|
|
Metal: Support integer textures.
Bug: angleproject:2634
Bug: angleproject:5154
Change-Id: Iffea26fe2c683557b4fa7c13fddf3523294b47d4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2433329
Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
96714af8
|
2020-10-22T17:28:20
|
|
Vulkan: Dirty pipeline and desc set after mid-RP clear with draw
If UtilsVk::clearFramebuffer issues a draw call on the currently open
render pass (as opposed to starting one itself), ContextVk would be
unaware of the fact that the graphics pipeline and descriptor sets have
been changed.
This change sets the necessary dirty bits for ContextVk to recover from
a UtilsVk::clearFramebuffer call.
Bug: chromium:1141040
Change-Id: I865220fb5b3b78bf4c6b6b2896e57d8a7490c270
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2493184
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
2f7fc0f3
|
2020-10-23T09:58:56
|
|
Tests: Remove standalone duplication.
Also cleans up some compiler warnings that crept in because of how
we structured the test sources in GN. We also no longer need special
handling for the test "main" files.
Must land after http://crrev.com/c/2495003 rolls into ANGLE.
Bug: angleproject:5124
Change-Id: I43ff91b5c8f00214886cd8ac2403702e5026a840
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2495281
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
4953f03d
|
2020-10-23T22:57:43
|
|
Revert "Link C++ histogram support into angle_perftests."
This reverts commit 7a0263547cda936b320d80c650b69d7522ee1a9f.
Reason for revert: Breaks roll of ANGLE into AOSP:
ERROR at //testing/test.gni:76:5: Assertion failed.
assert(_use_raw_android_executable || enable_java_templates)
^-----
See //third_party/catapult/tracing/tracing/BUILD.gn:35:1: whence it was called.
test("histogram_unittests") {
^----------------------------
See //src/tests/BUILD.gn:262:17: which caused the file to be included.
deps += [ "//third_party/catapult/tracing/tracing:histogram" ]
^-------------------------------------------------
Original change's description:
> Link C++ histogram support into angle_perftests.
>
> This is the first step in uploading histogram data instead of a gtest
> special format. We importing several new libraries:
>
> - tools/protoc_wrapper
> - third_party/protobuf
> - third_party/catapult (was already used for Android)
>
> No functional change. Only affects compilation. Protobuf support is
> disabled when not available.
>
> Bug: angleproject:5161
> Change-Id: Ie28d57d7e142c437ebd51463ce3e2cafd87468d1
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2482294
> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
> Reviewed-by: Brian Sheedy <bsheedy@chromium.org>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
TBR=ynovikov@chromium.org,bsheedy@chromium.org,jmadill@chromium.org
Change-Id: I62c4b926cbe82d10e460b28b5f864521e2b1f8ee
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:5161
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2495549
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
31868665
|
2020-10-23T10:54:02
|
|
Test Runner: Only run watchdog in child processes.
For single test execution we don't need to be running the watchdog
thread. This only serves to cause timeouts in slow running tests.
Adds a new method to keep the --batch-id argument in the list of
parameters so other functions can process them.
Bug: angleproject:5124
Bug: angleproject:5218
Change-Id: I958230149b7d79830802cd55f67f0190de607200
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2495282
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
cb5c0b01
|
2020-10-21T00:12:57
|
|
Vulkan: Drop RelaxedPrecision from aliased attributes
Take the following example:
attribute mediump vec4 a; // location 0
attribute highp vec2 b; // location 0
f(b)
This was previously translated to:
attribute mediump vec4 a; // location 0
f(a.xy)
That difference here is that b was previously highp, but a.xy is
mediump. This change drops RelaxedPrecision from attributes so that
they are all highp.
Note that the temporary SPIR-V ids these attributes are loaded into
still retain their RelaxedPrecision decoration (if any), and the
precision of calculations in the shader is not increased by this
change.
Bug: angleproject:4249
Change-Id: Idca0fc667ad6e36ddf428b65ea03706272a9ed9c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2488131
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
5ffd778e
|
2020-10-23T13:16:50
|
|
Make capture replay tests exectuable.
This makes them runnable directly on Linux.
Bug: angleproject:5134
Change-Id: Icf5ccf9d82b8cf09b16c5c60312e33752a9724e4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2495288
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
33e30205
|
2020-10-17T19:03:45
|
|
Vulkan: sRGB cleanups.
A few fixes to how we check for the sRGB override in the
TextureVk class. In at least one instance there was a potential
edge case where in syncState we might not create the Texture
with the mutable bit the second time through the function.
Bug: angleproject:5176
Change-Id: I4f1ca6e469b10514c3a0de3120be9ade62568084
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2482292
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
a7c16c2d
|
2020-10-21T22:54:56
|
|
Trace Tests: Print trace download progress.
As the hook runs, we'll now be printing each trace's
progress. This uses some tricks with Python's subprocess.
Bug: angleproject:5210
Change-Id: I4e776a89c2b3e06ba67f9a82969aa394b24208d5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2491104
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
5dcd29a6
|
2020-09-29T14:15:51
|
|
Vulkan: Make DescriptorPoolHelper a Resource
Descriptor pools need to live as long as the descriptor sets that are
allocated from them. Using Serials while building a command to judge a
pool's lifetime is prone to errors, since a command's Serial value
isn't known until the command is submitted, leading to deleting pools
too early relative to when the descriptor set is actually used.
This CL updates DescriptorPoolHelper to inherit from Resource, so the
descriptor pools can be retain()'ed. This allows the Resource's counter
to indicate that a pool is in use until the command's Serial is known
and can be recorded to indicate when the command completes. This
prevents descriptor pools from being destroyed before the command
completes (while the descriptor sets are still in use), or even before
the command has been submitted. Destroying a descriptor pool resets all
of the descriptors that were allocated from it, which can trigger a
variety of VVL errors depending on when it's erroneously performed.
This CL also adds the necessary retain() calls for the descriptor pools.
In particular, the pools need to be retained each time a cached
descriptor set that was allocated from it is re-used. This is relatively
simple with the current design, since we always clear the descriptor set
caches whenever a new pool is allocated, so the descriptor pool binding
is always accurate.
Bug: angleproject:5030
Test: MultithreadingTest::MultiContextDrawSmallDescriptorPools()
Change-Id: I5fdeeb46159448dfd679d7169e423048348be5ab
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2437609
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
7a026354
|
2020-10-11T17:16:34
|
|
Link C++ histogram support into angle_perftests.
This is the first step in uploading histogram data instead of a gtest
special format. We importing several new libraries:
- tools/protoc_wrapper
- third_party/protobuf
- third_party/catapult (was already used for Android)
No functional change. Only affects compilation. Protobuf support is
disabled when not available.
Bug: angleproject:5161
Change-Id: Ie28d57d7e142c437ebd51463ce3e2cafd87468d1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2482294
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Brian Sheedy <bsheedy@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
cfd70489
|
2020-10-22T10:26:19
|
|
Re-enable dEQP-EGL.functional.fence_sync.*
Tests appear to pass now. Going to be changing functionality in this
area so prefer to have them enabled.
Bug: b/154030730
Bug: angleproject:3271
Change-Id: I1c0ffe40b726943c146fa06aa16de79d434760bc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2493182
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
c8542d28
|
2020-10-22T14:10:32
|
|
Temporarily duplicate standalone tests.
This switches 'angle_*_tests' to be identical to
'standalone_angle_*_tests'. Once rolled into Chromium we can
then switch back to using 'angle_*_tests' and finally remove
'standalone_angle_*_tests' entirely.
Must land after https://crrev.com/c/2490987
Bug: angleproject:5124
Change-Id: I1f4794d429733a43113dcba6aaaba0c047607e50
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2491932
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
fbec291e
|
2020-10-21T19:32:38
|
|
Allow rendering to half float in ES2 contexts when possible
According to the EXT_color_buffer_half_float spec:
"Dependencies on OES_texture_half_float
If OES_texture_half_float is not supported, then all references to
RGBA16F_EXT, RGB16F_EXT, RG16F_EXT, R16F_EXT, HALF_FLOAT_OES and
half should be ignored.
If OES_texture_half_float is supported, textures created with:
<internalformat> = RGBA
<format> = RGBA
<type> = HALF_FLOAT_OES
are renderable."
This fixes 4 viz_unittests when running with SwANGLE:
All/GLI420ConverterPixelTest.ScaleAndConvert/0
All/GLI420ConverterPixelTest.ScaleAndConvert/1
GLScalerPixelTest.Example_ScaleAndExportForScreenVideoCapture
GLScalerPixelTest.ScalesWithColorManagement
The original attempt at landing this change
(https://chromium-review.googlesource.com/c/angle/angle/+/2489726)
was reverted due to dEQP failures on the Metal backend. After some
investigation, it was decided to simply disable the 2 offending
tests for now.
Bug: angleproject:5174
Change-Id: Id1e382b72d91109e4718c729cc6c5f0a0f413d7d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2491930
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexis Hétu <sugoi@chromium.org>
|
|
9c8da026
|
2020-10-22T10:46:00
|
|
Revert "Tests: Add FIFA Mobile trace"
This reverts commit 2e1091e0ef699a39662f210abcb5af69750dcb38.
Reason for revert: Potentially flaky results, http://anglebug.com/5215
Original change's description:
> Tests: Add FIFA Mobile trace
>
> Test: angle_perftests --gtest_filter="*fifa_mobile*"
> Bug: b/171421051
> Change-Id: If50c6387a1a49fb6946d20279caf6470544a2b11
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2490279
> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Cody Northrop <cnorthrop@google.com>
TBR=jmadill@chromium.org,syoussefi@chromium.org
Bug: angleproject:5215
Change-Id: I6a332b126c6c54f189fd451725957d288ab6b76b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2491113
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
883276cc
|
2020-10-21T16:20:35
|
|
Fix end2end tests VertexAttribute* failure
VertexAttributeTests used 'mediump' precision to sample ushort
with 65533/65534/65535 which exceed the range defined in ESSL Spec.
(Spec "4.5.2 Precision Qualifiers")
Change precision of attribute 'test' and 'expected' to 'highp'
for numbers that exceed the minimum range.
Bug: angleproject:5211
Change-Id: I01e5c999ec43d17a7390835d2ac88ce2bc0b4c5b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2491621
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
1c7f0284
|
2020-10-21T01:40:08
|
|
Vulkan: Fix invalid clamping of ES3 clear stencil values
Added 3 new end2end tests
Bug: angleproject:5202
Change-Id: I95f9ffd989105f5bd3283676d6fa46e904503369
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2488481
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
d7475437
|
2020-10-20T15:04:18
|
|
Vulkan: Support vertex attribute aliasing for matrix types
This change builds on vertex attribute aliasing SPIR-V tranformation for
non-matrix types to add support for matrix attribute types. This is
done by turning every matrix attribute declaration into multiple vector
attribute declarations, and reusing the same mechanism for resolving
aliasing between non-matrix types.
Take the following example:
attribute mat4 a; // location 0
attribute vec3 b; // location 1
attribute mat3 c; // location 1
attribute vec4 d; // location 2
The shader is modified as such:
attribute vec4 a_0; // location 0
attribute vec4 a_1; // location 1
attribute vec4 a_2; // location 2
attribute vec4 a_3; // location 3
attribute vec3 c_0; // location 4
attribute vec4 d; // location 5
attribute vec3 c_2; // location 6
mat4 a;
mat3 c;
and in the beginning of main(), the following code is inserted:
a = mat4(a_0, a_1, a_2, a_3);
c = mat3(c_0, d.xyz, c_2);
The shader continues to use a and c as before.
Bug: angleproject:4249
Change-Id: Idfcb8c6037ca0c1f21de8203d7e2a1b66fed6e7e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2488128
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
2e1091e0
|
2020-10-21T14:53:40
|
|
Tests: Add FIFA Mobile trace
Test: angle_perftests --gtest_filter="*fifa_mobile*"
Bug: b/171421051
Change-Id: If50c6387a1a49fb6946d20279caf6470544a2b11
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2490279
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
ad222d1c
|
2020-10-20T16:29:08
|
|
Tests: Add KartRider Rush+ trace
Test: angle_perftests --gtet_filter="*kartrider_rush*"
Bug: b/171337677
Change-Id: I9a248ecf51e296a2b894b0951538842a7efde046
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2490277
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
8feb5c82
|
2020-10-20T15:49:13
|
|
Tests: Add Marvel Contest of Champions trace
Test: angle_perftests --gtest_filter="*marvel_contest_of_champions*"
Bug: b/171334313
Change-Id: Ia1195a5647ad2805e3cabd23c15719eb1ebc3534
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2487764
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
089ef0fa
|
2020-10-14T11:31:56
|
|
Expose glGetTexLevelParameter{if}v before ES 3.1.
Add a new extension, ANGLE_get_tex_level_parameter which allows
users to query texture size and format information before ES 3.1.
This is very useful for re-using existing textures instead of
re-allocating.
Bug: chromium:1132514
Change-Id: I71f6bad8bdacb91875cc81b4884d4c3099235f3f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2469959
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
cd88bccf
|
2020-10-21T08:44:32
|
|
Test Runner: Command line sharding args override env.
Previously ANGLE would error out when both the enviornment and
the command line args are specified at the same time. Because
the perf bots use both at once we need to handle the conflict
in the same way as the prior test runner does. In this case
the command line takes precedence over the environment.
Bug: angleproject:5124
Change-Id: I1ba765b4e75759922bf9fe2db9f153cfc5995f85
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2489722
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
fb44e93b
|
2020-10-20T10:54:48
|
|
Disable TransformFeedbackTest.NonExistentTransformFeedback*
This test hase begun failing consistently on the Arm based Apple DTK.
This adds a skip to the test for that config.
Test: TransformFeedbackTest.NonExistentTransformFeedbackVaryingWithGLPrefix:/ES3_OpenGL
Bug: chromium:1140113
Change-Id: I97612a073db20c99883908a19ac0013101061da0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2486100
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
553726a4
|
2020-10-20T11:29:17
|
|
Vulkan: Add OES_shader_multisample_interpolation extension
Addition of 'sample' qualifier keyword and 'interplateAt*'
fragment shader builtin functions with autogen
Bug: angleproject:3589
Change-Id: If358eb371fbcefffa715c8da4ba5e96eefaf6f52
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2477904
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d591ddff
|
2020-10-08T10:36:21
|
|
Tests: Add Free Fire trace
Test: angle_perftests --gtest_filter="*free_fire*"
Bug: b/168049517
Change-Id: Ide772454fe5c602d92bf9c476d33da420b9dfa14
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2461350
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
9091de43
|
2020-10-17T00:33:57
|
|
Vulkan: Support vertex attribute aliasing for non-matrix types
Initial implementation that supports float and vecN types. In this
case, every attribute occupies a single location. When two attributes
alias, they are either the same size, or one is bigger than the other.
Take the following example:
attribute vec3 a; // location 0
attribute vec3 b; // location 0
attribute vec4 c; // location 1
attribute vec2 d; // location 1
The shader may access either a or b (but not both). Similarly, it can
access either c or d (but not both). The shader can be modified such
that:
- f(b) is replaced with f(a).
- g(d) is replaced with g(c.xy).
- b and d are removed
As a result, there are no longer any aliasing attributes. In other
words, when attributes alias, the larger attribute can be retained and
the other attributes can be replaced by selecting the appropriate number
of components from the retained attribute.
Bug: angleproject:4249
Change-Id: I7c5461f777d659c92977e2572091a8ce5e422704
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2482286
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
26cd1cc6
|
2020-10-18T11:44:27
|
|
Perf Tests: Add stdout printing arg to bot mode.
This can be useful for debugging and also for perf tests. The perf
tests output gets scraped from stdout.
Bug: angleproject:5124
Change-Id: Id5005df3f2b66be9497a9ba422abd47b95a1a330
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2486097
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
9d160b0b
|
2020-10-16T08:31:18
|
|
Tests: Add Brawl Stars trace
Test: angle_perftests --gtest_filter="*brawl_stars*"
Bug: b/171043467
Change-Id: Ide04fbbfd69145554c6dbb544d6ee4daa51df9cc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2481154
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
637786a9
|
2020-10-15T16:23:12
|
|
Tests: Add Arena of Valor trace
Test: angle_perftest --gtest_filter="*arena*"
Bug: b/170994774
Change-Id: I44c81c539da975fefcf085d6fc12f8508826277f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2477440
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
d8529380
|
2020-10-20T13:55:23
|
|
Generate CONTEXT_LOST errors on every GL call.
The robustness spec states that all GL calls should generate context
lost errors when the context is lost. This behaviour was lost due to
some context lookup optimizations but can be re-added at no cost by
updating the autogenerated entry points.
Updated the ContextLostTest to cover the repeated error generation
behaviour.
Bug: chromium:1137241
Change-Id: I0b8d1cf4d2a37f13c466c8dd0e66edfe852f7e59
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2488180
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
32f0dd6a
|
2020-10-15T10:08:51
|
|
Add Queries and Setters for resource initialization state.
There are cases where we know that the next draw operation will fully
initialize a texture/renderbuffer and we can save the robust resource
init cost.
Default all resource init state to Initialized, any redefinition will
set it back to MayNeedInit.
After setting an individual texture image to initialized, check if
all images are now initialized and update the TextureState::mInitState
to match. The cost of this check is only performed after initializing
an image and allows future init checks to be faster.
Bug: chromium:1132514
Change-Id: Ia23664ae162559d1614f1eb5643e24a491d87f7f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2475456
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2882e1af
|
2020-10-20T09:45:23
|
|
Fix missing validation cache update on VAO binding.
Bug: chromium:1139398
Change-Id: I85a0d7a72bc2c97b07ebc5f86effd8e36aefd544
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2485581
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
6e125937
|
2020-10-20T10:30:14
|
|
Suppress timing out GLES 31 tests on GL/Linux.
dEQP-GLES31.functional.compute.indirect_dispatch.gen_in_compute.large_offset
dEQP-GLES31.functional.compute.indirect_dispatch.gen_in_compute.large_offset_multiple_invocations
Bug: angleproject:5197
Change-Id: I379799565850fd2002c1f708bfa58d1e886c7fba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2485284
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
8061002b
|
2020-10-16T11:24:04
|
|
Perf tests: Bump replay ES version to 3.1
Required to run traces of newer apps.
Test: LEGO MEC
Bug: b/161716126
Bug: angleproject:4048
Change-Id: Ie135fc1ce461460e1bc0978ceca4ba8c9cff68e8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2481153
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
5eebf3a7
|
2020-10-18T11:44:27
|
|
Perf Tests: Call finish every step in calibration.
Calibration is only supposed to take one second of warmup time.
Instead we were queuing up a large amount of GPU work and then janking
on the finish call at the end of calibration.
Fix this by calling glFinish repeatedly during calibration.
Bug: chromium:1136900
Change-Id: Idb2fefe17fcb9acbe688cff5a36f051732fc5b59
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2483462
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
4720cfb7
|
2020-10-19T19:02:56
|
|
Disable TransformFeedbackTest.SwitchProgramBeforeDraw/ES3_OpenGL
This test hase begun failing consistently on the Arm based Apple DTK.
This adds a skip to the test for that config.
Test: TransformFeedbackTest.SwitchProgramBeforeDraw/ES3_OpenGL
Bug: chromium:1140113
Change-Id: Ie9499f4f90327429c02b3e690d4059838ad835d0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2485296
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
61ab3819
|
2020-10-19T14:50:38
|
|
Expand ProgramBinaryTest.SRGBDecodeWithSamplerAndTexelFetchTest skip
Also Mac ARM64 GL and Nexus 6P GLES.
Bug: angleproject:4991
Change-Id: Ie4b1e76c2a804256970829431e8d85a140b22387
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2486091
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
00a49766
|
2020-10-14T10:27:56
|
|
EGL: Implement EGL_KHR_reusable_sync
Add extension string and flags
Add EGLReusableSync files to libANGLE and gni
Test: angle_deqp_egl_tests
--deqp-case=dEQP-EGL.functional.reusable_sync.*
--deqp-case=dEQP-EGL.functional.fence_sync.*
Bug: angleproject:5168
Change-Id: I967a10cf387047c9ee1963acfc854a8288325a8e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2477293
Commit-Queue: Jeff Vigil <j.vigil@samsung.com>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
556d812a
|
2020-10-18T11:48:45
|
|
Test Runner: Disable watchdog when debugger attached.
Bug: angleproject:3162
Change-Id: I3685a4fe068b6e82b8bb04448c212788f563ab8b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2483463
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
2be35682
|
2020-10-18T10:37:52
|
|
Add sRGBOverrideFormats end2end test
Addition of a new end2end test to verify that all
supported formats can be overridden for the
GL_EXT_texture_sRGB_override extension.
Bug: angleproject:4561
Test: angle_end2end_tests
--gtest_filter=SRGBTextureTestES3.SRGBOverrideFormats*Vulkan*
Change-Id: I93c4eab0489a1daadeb27c70ba1f755ed2e58fc4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2483564
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
7bbe497a
|
2020-10-16T14:46:45
|
|
Vulkan: Implement EXT_texture_sRGB_decode
Implement EXT_texture_sRGB_decode. This builds on the existing
functionality from EXT_texture_sRGB_override, with 2 major edge
cases:
1. sRGB_decode allows the texture state to be overridden by
sampler state, which is implemented by forcing a a texture state
sync during updateActiveTextures if a texture is bound to the same
unit as a sampler with that state
2. texelFetch calls require us to reenable decoding, regardless
of decode state. We add a new compiler pass
(FlagSamplersWithTexelFetch) to mark samplers that are used with
texelFetch in order to support this.
This change also re-enables EXT_texture_sRGB_R8, which was disabled
due to a dEQP bug that this change will bypass.
Bug: angleproject:3609
Bug: angleproject:4503
Test: dEQP.GLES31/functional_srgb_texture_decode_skip_decode_*
Test: GLES31/functional_state_query_texture_*_srgb_decode_*
Test: GLES31/functional_state_query_sampler_*_srgb_decode_*
Test: GLES31/functional_debug_negative_coverage_*_srgb_decode_*
Test: GLES31/functional_android_extension_pack_extensions_ext_texture_srgb_decode
Test: angle_end2end_tests --gtest_filter=SRGBTextureTest.*Vulkan*
Change-Id: I4a67e487dc82e2f57c8c87d4bcd8ef442b6fe220
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2359481
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
e3a57381
|
2020-10-18T15:42:58
|
|
Fix VertexAttributeTest.DrawArraysWithBufferOffset.
This test was reading past the end of a buffer into undefined data.
Bug: angleproject:3951
Bug: angleproject:4163
Bug: angleproject:4258
Bug: angleproject:4269
Change-Id: I54ab9aa0cd1442184692e60c7f99f2139a855d63
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2483842
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
9047954c
|
2020-10-17T20:35:31
|
|
More Mac/AMD/GL dEQP suppressions.
These tests became flaky with multi-process.
Bug: angleproject:5172
Change-Id: I6ede6b33f8c2ddfb3970fbc2b7586c7622b79a09
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2482293
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
07ea804e
|
2020-10-17T08:57:28
|
|
Change Android atomic counter tests to skip.
These tests were running into LowMemoryKiller issues on the Pixel 2.
Disable them until we can switch to a newer OS/Device.
Bug: angleproject:5185
Change-Id: Id33d0f6347961e216a471af2e3614f0fb18d28d3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2482288
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
da09d08f
|
2020-10-16T00:02:34
|
|
Regression tests for vertex attribute aliasing
Tests for the upcoming implementation of vertex attribute aliasing in
Vulkan.
Bug: angleproject:4249
Change-Id: Ic87e44b1815b376da4cda5e8887dd3a05c9cc35f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2477051
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
128ffe4a
|
2020-10-16T14:35:16
|
|
Roll VK-GL-CTS from 618e41c871d6 to 483a71c5130e (11 revisions)
Suppress new dEQP-GLES3 tests on Nexus 5X:
dEQP-GLES3.functional.transform_feedback.random_full_array_capture.*
https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/618e41c871d6..483a71c5130e
2020-10-16 alexander.galazin@arm.com Update vk.xml revision
2020-10-16 lionel.g.landwerlin@intel.com Replace incorrect undefined->transfer-dst-opt layout transfers
2020-10-16 michal.m.pawlowski@mobica.com Add cube compat. to array image copy tests
2020-10-16 mikko.tiusanen@siru.fi Tests for pipeline laoyut early destroy
2020-10-09 alexander.galazin@arm.com Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/master
2020-10-09 mika.vainola@siru.fi Modify/add GLES XFB tests without element capture
2020-10-09 afdx@google.com Add a batch of GraphicsFuzz tests
2020-10-08 siglesias@igalia.com Fix wrong access flag for depth/stencil resolve
2020-10-08 lionel.g.landwerlin@intel.com Fix wsi tests using disallowed image usage
2020-10-08 siglesias@igalia.com Output depth image in case of failure
2020-10-08 karolina.palka@mobica.com Check SparseResidency flag before OpImageSparseRead
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll
Please CC ynovikov@google.com,angle-bots+autoroll-info@google.com on the revert to ensure that a human
is aware of the problem.
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md
Bug: angleproject:5184
Tbr: ynovikov@google.com,angle-bots+autoroll-info@google.com
Change-Id: Ie46c0306830871d605b15cfcd3abc580989f104f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2480002
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
16102e8b
|
2020-10-17T01:15:05
|
|
Reland "Vulkan: Fold deferred clears into current clears"
This reverts commit 37c400146e59f718b516eb58e16fa53c8a88bf21.
Reason for revert: Need to clear the package cache when bisecting.
Original change's description:
> Revert "Vulkan: Fold deferred clears into current clears"
>
> This reverts commit e416c92a81c9ef01d633ec5c05e81c2551b6c5d6.
>
> Reason for revert: Reverted parent:
> https://chromium-review.googlesource.com/c/angle/angle/+/2481612
>
> Original change's description:
> > Vulkan: Fold deferred clears into current clears
> >
> > If there are clears prior to a glClear() call, those clears were
> > flushed (starting a new render pass) and then the clear call's clears
> > would be applied (essentially modifying the loadOps of said render
> > pass).
> >
> > The main downside of the above is that the current glClear() clears
> > don't get a chance to be deferred. This was observed in Chrome which
> > clears an attachment with an emulated format, then switches
> > framebuffers.
> >
> > Additionally, if the render pass had already been started, the deferred
> > clears could have become inlined instead of breaking the render pass.
> > Although, it's unlikely for there to be deferred clears when the render
> > pass is already open.
> >
> > This change first identifies which clears need to go through the draw
> > path (scissored, masked or as workaround for driver bug). It merges the
> > rest of the clears (that don't need the draw path) with the deferred
> > clears. It then checks deferred clears and applies them by either:
> >
> > - vkCmdClearAttachments if mid RP
> > - Start a new render pass and use loadOps, if any draw-based clear needs
> > to follow.
> > - Modify current RP loadOps / defer the clear
> >
> > Afterwards, the draw-based clears are applied.
> >
> > Bug: angleproject:4836
> > Change-Id: Id4992c78983b199734508c9d4bb18ed3195c91ec
> > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2455167
> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
> > Reviewed-by: Jamie Madill <jmadill@chromium.org>
> > Reviewed-by: Charlie Lao <cclao@google.com>
>
> TBR=syoussefi@chromium.org,jmadill@chromium.org,cclao@google.com
>
> Change-Id: I85733b3594409df9b96e3d5b34933522c97c42cf
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: angleproject:4836
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2481613
> 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
# Not skipping CQ checks because this is a reland.
Bug: angleproject:4836
Change-Id: I702cd510f39ee46feab27d4efbf61ae5da10d4e2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2481856
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
d3e7ed93
|
2020-10-16T21:30:58
|
|
Suppress Mac/AMD/GL GLES2 failures with standalone mode.
Bugs due to test ordering.
Bug: angleproject:5172
Change-Id: If7e0c93a470bf2338347d484735f1b3691dd9ad5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2482283
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
37c40014
|
2020-10-16T22:19:20
|
|
Revert "Vulkan: Fold deferred clears into current clears"
This reverts commit e416c92a81c9ef01d633ec5c05e81c2551b6c5d6.
Reason for revert: Reverted parent:
https://chromium-review.googlesource.com/c/angle/angle/+/2481612
Original change's description:
> Vulkan: Fold deferred clears into current clears
>
> If there are clears prior to a glClear() call, those clears were
> flushed (starting a new render pass) and then the clear call's clears
> would be applied (essentially modifying the loadOps of said render
> pass).
>
> The main downside of the above is that the current glClear() clears
> don't get a chance to be deferred. This was observed in Chrome which
> clears an attachment with an emulated format, then switches
> framebuffers.
>
> Additionally, if the render pass had already been started, the deferred
> clears could have become inlined instead of breaking the render pass.
> Although, it's unlikely for there to be deferred clears when the render
> pass is already open.
>
> This change first identifies which clears need to go through the draw
> path (scissored, masked or as workaround for driver bug). It merges the
> rest of the clears (that don't need the draw path) with the deferred
> clears. It then checks deferred clears and applies them by either:
>
> - vkCmdClearAttachments if mid RP
> - Start a new render pass and use loadOps, if any draw-based clear needs
> to follow.
> - Modify current RP loadOps / defer the clear
>
> Afterwards, the draw-based clears are applied.
>
> Bug: angleproject:4836
> Change-Id: Id4992c78983b199734508c9d4bb18ed3195c91ec
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2455167
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Charlie Lao <cclao@google.com>
TBR=syoussefi@chromium.org,jmadill@chromium.org,cclao@google.com
Change-Id: I85733b3594409df9b96e3d5b34933522c97c42cf
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:4836
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2481613
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
51ff0d05
|
2020-10-16T11:54:04
|
|
Trace Tests: Add vsync-limited mode with a GPU timer.
Local testing on Linux shows that ANGLE and native have
the same wall-time, and ANGLE has a 10 ms vs native 6 ms
GPU time.
Bug: angleproject:5183
Change-Id: I26da678b984af916bfb40e1db6416f5df4f85c08
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2480782
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
ecbac31c
|
2020-10-16T10:36:06
|
|
Perf Tests: Add offscreen mode.
This lets the trace perf tests run configurable number of frames
within a single swap. The offscreen config is similar to how
gfxbench works. It renders to a user FBO (by overriding calls to
BindFramebuffer) and then composits multiple frames into the real
backbuffer. This allows us to get a perf measurement with less
overhead from composition and display.
Adds emulation for some APIs that operate on Framebuffers like
BindFramebuffer, Invalidate, DrawBuffers and ReadBuffer.
Bug: angleproject:4845
Change-Id: I1044c1d52c82f1c215a68a6c46d74c52ed0f3d2a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2300207
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
2402c336
|
2020-10-16T13:56:08
|
|
Suppress Mac/AMD/GL dEQP failures with standalone mode.
These tests appear to flake based on different batch sizes. Disable them
for now until we have time to investigate. See issue for more details.
Bug: angleproject:5172
Change-Id: I90fff3b3400cbd5a5aa0d5e9a23364320fba7e4d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2480785
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
5025d781
|
2020-10-16T08:50:56
|
|
Remove flaky check in TimerQueriesTest.
We cannot guarantee that a shader with more instructions will
always take more time than a smaller shader.
Bug: angleproject:5178
Change-Id: Icf48a7b73ad482237cf3161667d75a25e36dd643
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2479682
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b620ca9e
|
2020-10-16T13:10:28
|
|
Suppress fragment out int tests on Intel/Mac/GL.
These tests started failing when run in larger batches. The test order
caused determimnistic failures. See the issue for more details.
Bug: angleproject:5172
Change-Id: If5be66b843c1e0fccba962ff55e5064cbee60859
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2480784
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
27e7e446
|
2020-09-27T00:00:35
|
|
Metal: Support 2D array textures and base & max levels.
Bug: angleproject:2634
Change-Id: If9e50cec46bdf5f472f1e58c6e82a67b524e2408
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2433327
Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b4fb7cc9
|
2020-10-15T08:58:06
|
|
Test Runner: Print reproduction steps on a batch failure.
This prints out a large gtest_filter of the tests in a batch. Makes
reproducing a particular failure much easier.
In the future we could potentially look at using an encoding to
reproduce a specific batch: e.g. a flag that acceps a batch / shard
number and runs those tests based on using the same internal counts.
Bug: angleproject:5172
Change-Id: Iefad8f5ca23761417ad1ceb11fd664c9cf23c8be
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2475455
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
089eac22
|
2020-10-11T12:40:07
|
|
Perf tests: remove redundant null naming.
Bug: None
Change-Id: I9e3e0d8b160a438c9001d9dbd4bb067355b9e562
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2475457
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e416c92a
|
2020-10-06T23:29:02
|
|
Vulkan: Fold deferred clears into current clears
If there are clears prior to a glClear() call, those clears were
flushed (starting a new render pass) and then the clear call's clears
would be applied (essentially modifying the loadOps of said render
pass).
The main downside of the above is that the current glClear() clears
don't get a chance to be deferred. This was observed in Chrome which
clears an attachment with an emulated format, then switches
framebuffers.
Additionally, if the render pass had already been started, the deferred
clears could have become inlined instead of breaking the render pass.
Although, it's unlikely for there to be deferred clears when the render
pass is already open.
This change first identifies which clears need to go through the draw
path (scissored, masked or as workaround for driver bug). It merges the
rest of the clears (that don't need the draw path) with the deferred
clears. It then checks deferred clears and applies them by either:
- vkCmdClearAttachments if mid RP
- Start a new render pass and use loadOps, if any draw-based clear needs
to follow.
- Modify current RP loadOps / defer the clear
Afterwards, the draw-based clears are applied.
Bug: angleproject:4836
Change-Id: Id4992c78983b199734508c9d4bb18ed3195c91ec
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2455167
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
8eaf72a8
|
2020-10-14T10:20:20
|
|
EGL: Entrypoint and autogen for EGL_KHR_reusable_sync
Add entry point eglSignalSync
Update autogen files
Test: angle_deqp_egl_tests
--deqp-case=dEQP-EGL.functional.reusable_sync.*
Bug: angleproject:5168
Change-Id: I47afa4010c533096b4c56e9b3ab6eddc1944b83e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2472998
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jeff Vigil <j.vigil@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c9206a08
|
2020-10-15T11:15:28
|
|
GLES/GL/Win: Suppress all constancy samples tests.
These were all flaking. Use two simple wildcard patterns.
Bug: angleproject:5162
Change-Id: I37cd7db1234c5586bc7c61c7b8f379c878b2ae2b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2475458
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
12462910
|
2020-10-14T17:33:50
|
|
Skip slow GLES 1 Win/Intel/Vulkan test.
GLES1ConformanceTest.Blend/ES1_Vulkan
Bug: angleproject:5171
Change-Id: I2f3bb0d53676ed54e1fb74816e7c93a8e44042a3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2472536
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b22e437a
|
2020-10-07T18:02:39
|
|
Add GL_EXT_copy_image extension entry points
Bug: angleproject:3593
Change-Id: I6d3a55a3112f5f9b20ef33c859a60b2952bfbc2f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2444209
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
1075b47a
|
2020-10-14T13:24:58
|
|
Disable more ARM-based Mac tests
Disables the following tests due to them failing on the ARM-based Mac
DTKs:
* GLSLTest_ES3.GLVertexIDIntegerTextureDrawArrays/ES3_OpenGL
* OcclusionQueriesTest.MultiQueries/ES2_Metal
* TransformFeedbackTest.TwoUnreferencedInFragShader/ES3_OpenGL
* WebGL2CompatibilityTest.CopyMip1ToMip0/ES3_OpenGL
Bug: chromium:1132295
Change-Id: I557e3c978d884e9beeafb4f43676271edcd36a87
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2472532
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Brian Sheedy <bsheedy@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
d4b35199
|
2020-10-14T13:58:47
|
|
Skip slow EGL Vulkan Linux tests.
dEQP-EGL.functional.swap_buffers_with_damage.resize_after_swap.*
dEQP-EGL.functional.swap_buffers_with_damage.resize_before_swap.*
See issue for more details.
Bug: angleproject:5170
Change-Id: Id0376dcb26514dffc09a28e9ad7b2ade8d50b8c7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2472518
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
fbc33c82
|
2020-10-14T13:58:47
|
|
Fail 3 tests on Android GLES N5X.
These tests are failing for unknown ordering reasons:
dEQP-GLES2.functional.fbo.render.texsubimage.after_render_tex2d_rgba
dEQP-GLES2.functional.fbo.render.texsubimage.between_render_tex2d_rgb
dEQP-GLES2.functional.fbo.render.texsubimage.between_render_tex2d_rgba
Bug: angleproject:5169
Change-Id: I25e592f6aa50cf80b0d60f04085c42cb1169dd31
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2472517
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
2aaeb81d
|
2020-10-06T17:20:29
|
|
Vulkan: loadOp=DONT_CARE + unused D/S => invalidate D/S
If depth/stencil is not loaded, and it's not written to during the
render pass, then treat it as if it was invalidated so storeOp can be
set to DONT_CARE and its corresponding resolve attachment (if any)
removed.
This is especially useful for MSRTT as a resolve attachment is added at
the start of render pass, and this optimization will give it a chance to
undo that if depth/stencil was not actually used in the render pass.
This situation can arise for example if a render pass is created for the
sole purpose of clearing color.
This change includes a bug fix for missing depth/stencil on*Access in
the UtilsVk blit/resolve path.
Bug: angleproject:4836
Change-Id: Ifc8eea3e6ffb3eb4bba19f03d1358f151ec69c44
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2453468
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a8c5d295
|
2020-10-14T10:32:00
|
|
Skip two more FBO max samples tests on Win/NV/GL.
These two tests are causing the driver internally to OOM.
dEQP-GLES3.functional.multisample.fbo_max_samples.constancy_sample_coverage_inverted
dEQP-GLES3.functional.multisample.fbo_max_samples.constancy_both
Bug: angleproject:5162
Change-Id: I6960b4b171efb2f74b42a82d8ecafce1edb167c1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2469958
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
39b5e771
|
2020-10-09T11:06:10
|
|
Vulkan: Fix vector size issue with clearWithCommand
gl::DrawBuffersVector was used to hold the clear values, but that didn't
have enough space for depth/stencil clear values if MAX draw buffers
where used and cleared.
The added test in this change exposes the vkCmdClearAttachment Qualcomm
bug (previously presumed to affect color clears only) with depth/stencil
buffers, so the workaround is expanded to avoid vkCmdClearAttachment
entirely.
Bug: b/159808300
Change-Id: I27c58d9b534bce0bdd27cc53fc64e139f1363c1a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2455166
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
bd0d3f9c
|
2020-10-13T12:50:10
|
|
Vulkan: Regression test for content defined of AHB images
Bug: b/167275320
Bug: angleproject:4836
Change-Id: Ic5da615931f13e1ce34f486f163d4f28c8af9287
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2468458
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
df8f71d1
|
2020-10-09T15:27:28
|
|
Vulkan: Don't break the render pass on scissored clears
clearImmediatelyWithRenderPassOp is removed and the draw path is used
for the scissor. That path was added to avoid creating a large number
of graphics pipelines due to the scissor state. This is now done by
using dynamic state for scissor in the draw path for clear.
Running the following dEQP tests without and with dynamic state for
scissor:
dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops.*
the number of graphics pipelines is reduced from 95392 to 16.
Bug: angleproject:4617
Bug: angleproject:4836
Change-Id: Ib373d8cd23ca2b67e6fd26aa2a1103f281f7e473
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2463985
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
62bba4ae
|
2020-10-13T12:12:34
|
|
Vulkan: Regression test for content defined of external images
Bug: b/167275320
Bug: angleproject:4836
Change-Id: Iedbe1dfc8562c4c28477bf6a5a298620fcd48a67
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2468457
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
9580f3b4
|
2020-10-10T10:06:04
|
|
Test Runner: Accept GTEST shard environment vars.
This makes interoperation with Chromium tests easier. For instance when
triggering tests with scripts when using sharding. And also using the
run/ wrapper scripts instead of run_gtest_angle_test.
Bug: angleproject:5158
Change-Id: Ia5b1f94c02a081caf576615175791fff4e0d3fb3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2464030
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
707af6e5
|
2020-10-12T22:21:57
|
|
Suppress multisample "max samples" tests on Win/NV/GL.
These produce low memory warnings on Quadro when run multi-process.
Bug: angleproject:5162
Change-Id: Ibef3a8ea9119d923a538181387c30562d503bcb6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2466782
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
ad80b184
|
2020-10-13T17:15:59
|
|
Test Runner: List tests explicitly without GTest.
This dramatically speeds up Android shards that use batches of
hudreds of tests. Because ANGLE already has the test list, it no
longer needs to call GTest with an enourmous gtest_filter.
Bug: angleproject:5164
Change-Id: I28fee2f36c50006f2a35a4dcd90f44f8ebe4f78c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2468464
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
426fa735
|
2020-10-13T11:51:50
|
|
Vulkan: Fix command reordering on release to external
When releasing buffer/image to external, the necessary barrier was
recorded on the "outside render pass command buffer". However, if the
resource was used in the current render pass, that render pass should
have closed before this, otherwise the barrier was reordered before it
which is incorrect.
Bug: chromium:1136367
Bug: chromium:1135792
Bug: angleproject:5002
Change-Id: I237d5e6bb46189a4ce61c2f4602e356955cc87a9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2468456
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
d5296d99
|
2020-10-13T12:45:25
|
|
Update IsARM64
Updates IsARM64 to return true if __aarch64__ is defined, as the current
check only using _M_ARM64 only evaluates to true on Windows platforms.
Bug: chromium:1132295
Change-Id: I4853012e077217162ee3439c17fe35dcc6157e71
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2468787
Commit-Queue: Brian Sheedy <bsheedy@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
9e6bfaff
|
2020-10-13T14:32:08
|
|
Broaden Clear test failure to all OSX.
ClearTest.ChangeFramebufferAttachmentFromRGBAtoRGB/ES2_OpenGL
Fails on AMD and all vendors.
Bug: angleproject:5165
Change-Id: Id98c14a695cd9b3dd0c5f57d77932908833f9406
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2468357
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
4c6b4794
|
2020-10-12T12:37:29
|
|
Vulkan: TexSubImage3D using PBO should use correct layerCount
The layerCount for 3D texture and 2DArray should be 1 if it does not
have layers.
Bug: b/170657065
Change-Id: I974ddda7c0eaa92da8033f15c682820e3d4eb32a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2466616
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
336202d7
|
2020-10-09T16:43:32
|
|
Test Runner: Pass batch ID to child processes.
This will let both the ANGLETest and dEQP test runners handle child
processes correctly. The existing ANGLETest runner will reuse displays,
and the dEQP test runner will write to a batch-unique filename.
This solves the problem of the multi-process --bot-mode writing to the
same file from multiple children simultaneously.
Long-term it will be good to include the dEQP QPA files into the test
artifacts.
Also disables flushing after every log write when running as a child
process. This hugely improves performance on machines with no SSD.
Test: https://chromium-swarm.appspot.com/task?id=4f2b87c4f8234910
Bug: angleproject:5157
Change-Id: I226d24adf55e0f8b98e5a8e7947862e6906b4c40
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2464424
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
68bd685a
|
2020-10-10T22:58:41
|
|
Reland: "4 Vulkan content defined CLs."
Reland "Vulkan: Avoid content restore by detecting no-op stencil"
This relands commit 243d0f899e443cd931c78aba7489382dff79edbb.
Reland "Vulkan: Restore at the end of RP if write-after-invalidate"
This relands commit e5d52ac3b9a00656acdd912ee8cd62dd14784075.
Reland "Vulkan: Invalidate/restore depth/stencil separately."
This relands commit 61fa0878964a796f6d3b3c13bc3a3849403ecdbd.
Reland "Vulkan: Move content-defined tracking to ImageHelper"
This relands commit 2392e6b34c0ddfbfd7b4c3cb67323ba463e11a57.
Reason for revert: Caused crashes in Fuchsia x64 and on ARM.
Reland fixes content defined for external images.
Original CL message:
Content-defined tracking was done in render targets prior to this
change. This had multiple drawbacks:
- When a framebuffer attachment is changed (including the first time
it's set), it's unknown whether the contents of the attachment is
defined.
- Invalidate takes effect at the end of render pass, at which point the
render target objects may be gone. Attachment ImageHelpers are
however correctly tracked.
This change moves content-defined tracking to the ImageHelper itself,
and tracks it per subresource. ImageHelper::onWrite() now receives the
subresource that is being written, and marks it as having defined
content.
A future optimization can make use of this change to
ImageHelper::onWrite to track "dirty" subresources. This can lead to
the removal of unnecessary barriers when same-kind writes are done on
different subresources of the image. See http://anglebug.com/3347#c15
Bug: b/167275320
Bug: angleproject:4836
Bug: angleproject:5159
Change-Id: If5c1ae7152657fd7c94db7d55bea4fb9ddf835ba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2464825
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d6b1c17b
|
2020-10-10T14:29:15
|
|
Revert 4 Vulkan content defined CLs.
Revert "Vulkan: Avoid content restore by detecting no-op stencil"
This reverts commit 243d0f899e443cd931c78aba7489382dff79edbb.
Revert "Vulkan: Restore at the end of RP if write-after-invalidate"
This reverts commit e5d52ac3b9a00656acdd912ee8cd62dd14784075.
Revert "Vulkan: Invalidate/restore depth/stencil separately."
This reverts commit 61fa0878964a796f6d3b3c13bc3a3849403ecdbd.
Revert "Vulkan: Move content-defined tracking to ImageHelper"
This reverts commit 2392e6b34c0ddfbfd7b4c3cb67323ba463e11a57.
Causes crashes in Fuchsia x64 and on ARM.
Original CL message:
Content-defined tracking was done in render targets prior to this
change. This had multiple drawbacks:
- When a framebuffer attachment is changed (including the first time
it's set), it's unknown whether the contents of the attachment is
defined.
- Invalidate takes effect at the end of render pass, at which point the
render target objects may be gone. Attachment ImageHelpers are
however correctly tracked.
This change moves content-defined tracking to the ImageHelper itself,
and tracks it per subresource. ImageHelper::onWrite() now receives the
subresource that is being written, and marks it as having defined
content.
A future optimization can make use of this change to
ImageHelper::onWrite to track "dirty" subresources. This can lead to
the removal of unnecessary barriers when same-kind writes are done on
different subresources of the image. See http://anglebug.com/3347#c15
Bug: b/167275320
Bug: angleproject:4836
Bug: angleproject:5159
Change-Id: I93d9dfe973caa7ce70aefa46b5b7d04a8637efb3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2464822
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f3f80036
|
2020-10-10T11:08:55
|
|
Suppress more tests on Intel/GL/Mac.
These tests crash/fail when reusing EGL Displays.
Bug: angleproject:4992
Change-Id: I72dd61543cb055130836428751167e7528cf55af
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2464722
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
243d0f89
|
2020-10-08T21:54:45
|
|
Vulkan: Avoid content restore by detecting no-op stencil
Previously, as long as stencil was enabled, it was considered that it is
also being modified. This caused stencil invalidate to be undone in a
number of situations, such as:
- glEnable(GL_STENCIL_TEST); // with func/ops default
- glDrawArrays();
- glInvalidateFramebuffer([GL_STENCIL_ATTACHMENT]);
- glClear(GL_DEPTH_BUFFER_BIT);
- Close render pass
In the above scenario, invalidation of stencil was undone at the end of
render pass.
In this change, the following cases are considered read-only stencil:
- Func = GL_NEVER, stencilFail = GL_KEEP
- Func = GL_ALWAYS, stencilPassDepth* = GL_KEEP
- stencilFail = GL_KEEP, stencilPassDepth* = GL_KEEP
Note that while the above scenario is fixed for no-op stencil, a similar
issue persists if stencil was not no-op. The reason stencil invalidate
is undone in that case is due to the fact that it's assumed any command
after the invalidate call will be a draw call that outputs to stencil,
but that is not the case with the glClear call in this example.
Bug: angleproject:4836
Change-Id: Ie2ea2d52b7c8ee2394f5456773a7ef434e2b2b16
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2461465
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|
|
6c1c3bd9
|
2020-10-09T11:46:04
|
|
Vulkan: Clear depth by shader if depthClamp not supported
This will avoid breaking the render pass when clearing depth through
clearWithDraw if the depthClamp Vulkan feature is not present.
Bug: angleproject:4836
Change-Id: I845fd5074dd95f6896da89f9e119ebc5000a5688
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2462719
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
e5d52ac3
|
2020-10-08T14:26:22
|
|
Vulkan: Restore at the end of RP if write-after-invalidate
If a depth/stencil attachment is invalidated, but subsequently drawn to
in the same render pass, undo the invalidate when the render pass is
closed. Adapted from
https://chromium-review.googlesource.com/c/angle/angle/+/2386478.
Bug: b/167275320
Bug: angleproject:4836
Change-Id: I17a35bfd692ddc403ceaa6ec44b5c4f16ff9eed6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2461464
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|