|
dd5994df
|
2021-08-25T18:39:31
|
|
Capture/Replay Tests: Fix Renderbuffer readback.
Renderbuffer readback would use an unimplemented size function,
ending up with a zero sized buffer. Also cleans up some of the
code for reading back both Renderbuffers and Textures.
One Depth/Stencil test that was crashing due to a recent change to
read back depth data is now failing comparison because of missing
combined depth/stencil support.
Also updates the capture/reply self-test to handle ASAN-only test
expectations.
Bug: angleproject:4688
Change-Id: Idb6c05d15329f405f44502c2e5282764c7f780fb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3119057
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f7b2ab5c
|
2021-08-25T19:00:44
|
|
Perf tests: Add 3 new skips after updating perf run times.
MultisampledRenderToTexturePerf on P4 and Intel Linux
TextureUploadPerf on Intel Linux
Bug: angleproject:5120
Bug: angleproject:6319
Bug: angleproject:6320
Change-Id: Ia201a4d62e95f82ec42f64abebc4222e31d41e9f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3119058
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
c61fd919
|
2021-08-25T08:29:55
|
|
Fix array texture readback with GetTexImage.
According to the desktop GL specs, GetTexImage retrieves entire
mips of a texture for 2D array and cube array textures. The prior
code was only retrieving one layer and didn't have any way to get
the layers other than layer zero.
Fix this by using similar logic to how we read back 3D textures.
Also adds regression tests to GetImageTest.
Bug: angleproject:5133
Bug: angleproject:6132
Change-Id: I8b22bc10ac1fdfe6389ac309450b92681f087cda
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3118266
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
39e58580
|
2021-08-25T14:50:49
|
|
Move some end2end suppressions to expectations file
With 2 previous Wrangler-suppression CLs, I followed the pattern
initially done for bug 5945. Jamie pointed out that these are better
handled in the expectations file. This CL moves all 3 suppressions.
Bug: angleproject:5945
Bug: angleproject:6318
Change-Id: Ib70c3ede4c1fcd92cfd7dc65f2b37e221380fefe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3119683
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
8d7f4cc9
|
2020-04-03T14:56:36
|
|
GL: Update StateManagerGL binding funcs to use ANGLE_GL_TRY
Bug: angleproject:3020
Change-Id: If60448f80daaeeb1503b41db8ac309e45923fd13
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2135929
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
0394fc62
|
2021-08-25T15:18:44
|
|
Vulkan: Fix transform feedback pause on UtilsVk clear
Transform feedback was paused after vkCmdBindPipeline, but should be
done before as that command is not valid while transform feedback is
active.
Bug: angleproject:6317
Change-Id: Ifcea8de07e24c71a19a74e738cb700576f7f53cc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3118812
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
1be6d1d4
|
2021-08-24T10:03:13
|
|
Capture/Replay: Sync textures before serialization.
This ensures we get a consistent value for the texture init status
and pixel data between when we capture the trace and when we run
the replay. Because syncState is normally only called for textures
that are currently bound for sampling, and here we are calling
syncState when texture are not (and may never be) bound, we have to
rely on a few extra checks to ensure we return a correct result.
Bug: angleproject:5133
Change-Id: I2ca76743e8a6550a730dc55d935ba69d88679589
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3118265
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f9d261f5
|
2021-08-25T10:23:48
|
|
Translator: Don't promote precision from initializer
Take the following GLSL code:
precision mediump float;
uniform highp float u;
float x = u;
When `x` is declared, its precision is mediump due to
`precision mediump float`. Its initializer (`u`) however is highp.
Previously, ANGLE generated the following code to ensure the precision
of the initializer is applied to the variable:
highp float x = u;
Compiling the same code with glslang and looking at the SPIR-V (both
SPIR-V for OpenGL and SPIR-V for Vulkan), such a promotion is not done.
The generated SPIR-V is equivalent to:
mediump float x = u;
This change aligns ANGLE's output with glslang's by outputting the
precision of the variable itself instead of the precision of the
assignment (which is highp due to promotion from the two operands).
Bug: angleproject:4889
Bug: angleproject:6132
Change-Id: I6f338a865c0a7710329fc13bc171fd245dd30b31
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3118965
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
1fc754b0
|
2021-08-25T08:34:36
|
|
GetTexImage: Read back depth from combined depth/stencil.
This at least allows ANGLE to verify some of the depth/stencil
pixel data, when using trace serialization. The correct behaviour
would be to pack depth/stencil the same way as we unpack it.
Bug: angleproject:4688
Bug: angleproject:5133
Change-Id: I5fc6649f577c7bd07aafabc9717c8235a5429e10
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3118267
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
0d80bc8c
|
2021-08-25T13:47:05
|
|
Suppress EGLBlobCacheTest.FragmentOutputLocationKey on Metal
EGLBlobCacheTest.FragmentOutputLocationKey is flaky on mac-rel
Bug: angleproject:6318
Change-Id: I67c8f09ae75498d29f923d5c2d6cd52ca86bc249
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3119679
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
bd5ac5df
|
2021-08-25T13:30:55
|
|
Suppress MultithreadingTest.MultiContextClear on Linux+Nvidia
MultithreadingTest.MultiCreateContext/ES3_Vulkan_NoVirtual is flaky on
"Linux FYI GPU TSAN Release" with linux-clang-rel NVIDIA, so it's
being suppressed for now.
Bug: angleproject:5945
Change-Id: I7f169641e19c893542ad8a51b81861b38d16a587
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3119677
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
6290a86b
|
2021-08-25T09:34:19
|
|
Capture/Replay Tests: Add lock around ninja calls.
This should prevent huge numbers of calls to goma from causing test
flakiness. Uses the Python multiprocessing.lock.
Bug: angleproject:6299
Change-Id: I60fb38aaad363204de12d06f9d155bacb7ddd928
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3118269
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
1b2febb9
|
2021-08-23T12:39:16
|
|
Trace Tests: Refactor calibration logic.
Instead of calling glFinish every step we now run a few warmup loops
to try and figure out the right step interval. On each run we refine
the step interval until we reach a number that completes in the
specific time after a single glFinish call. This method will use the
specified test time much more consistenty.
Also a couple other improvements. Will use more test time on the bots
because previously they were using a calibration/warmup time of 1
second per run loop, and this bumps it up to 3 per run loop.
Long explanation below.
What we did before:
step()
glFinish()
step()
glFinish()
.. repeat for "gCalibrationTime" seconds
then take the number of steps, the actual time ran, and compute an
estimate for "mStepsToRun".
When we run for real, we go:
step()
step()
step()
.. repeat for "mStepsToRun" steps.
glFinish()
this has an obvious performance difference, because after each step()
(one frame in a trace) you had a complete stall.
The new code first does the above to compute a tentative mStepsToRun,
then uses the results of the second run to compute a much more accurate
mStepsToRun by using the "actual" time it took to run the estimate.
Bug: angleproject:6090
Change-Id: I0ff19873580e13f2af5a145a21f5b1c59fb15795
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3114606
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
c4d4bd36
|
2021-08-24T09:13:41
|
|
Capture/Replay: Add ES3_Vulkan_SwiftShader expectations
Bug: angleproject:6180
Change-Id: I47d68d8a6e21fa4b89e48898f27c365b51f70404
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3118547
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
47279c72
|
2021-08-15T23:20:32
|
|
Adjust compressed texture validation; add test
- Format check happens before target check to accommodate
for unknown / disabled format enums.
- PVRTC1 and ETC1 enums are not allowed for 2D Array
and 3D targets.
- PVRTC1 sRGB formats require enabling two extensions.
- New noCompressedTexture3D limitation for older Metal
versions.
The test checks that only the appropriate entry points
are affected after enabling compressed texture extensions.
Bug: angleproject:5731, angleproject:6280
Change-Id: I4943cd3a82f60f9348215caa8639e0bc3e8b45db
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3094018
Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
72ecb371
|
2021-08-24T11:17:12
|
|
Capture/Replay: further rework of replay script:
* Simplify the code by using dictionaries to store
the batch and final results
* Use unified result specifiers
* Group the unexpected result output by result type
Bug: angleproject:6282
Change-Id: I90107efdeb51e183aa122ef67d1a646c8c1fd86a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3114655
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
96a48a30
|
2021-08-18T14:33:41
|
|
FrameCapture: Only finish contexts that have been current
The finish() was crashing during initial Fortnite debug.
Test: Fortnite MEC
Bug: b/180418810
Bug: angleproject:5658
Change-Id: If8c7376c8ff3ee82581db40c5611309cf700c00d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3105388
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
257ef4e2
|
2021-08-17T16:26:46
|
|
FrameCapture: Add more helpful texture errors
Rather than asserting, print an error message that provides
some helpful details to guide capture triage.
Test: Fortnite MEC
Bug: b/180418810
Bug: angleproject:5658
Change-Id: I03ee2a12fa1185698650643f8767cd758bd87a4d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3105387
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
3408ea3e
|
2021-08-24T11:41:42
|
|
Translator: Fix precision of gl_FragCoord on ES3+
In ESSL100, gl_FragCoord is declared as mediump. In ESSL300+, it's
declared as highp.
Bug: angleproject:4889
Bug: angleproject:6132
Change-Id: I42583d07fb745421f195be95fa404c617227b02e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3116307
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
03fdde06
|
2021-08-17T16:21:07
|
|
FrameCapture: Adjust CopyImageSubData target
Our PackedEnums don't line up exactly with the texture targets
used by glCopyImageSubData. Adjust the CUBE selection to use
a face instead.
Test: Fortnite MEC
Bug: b/180418810
Bug: angleproject:5658
Change-Id: I855f9e68f3b78212ccb03d9e2ffe947084db85b5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3105386
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
800e82c6
|
2021-08-23T11:05:23
|
|
Translator: Validate precisions
When declaring a variable, a struct field, function parameter etc,
there's a precision necessarily applied to the entity being declared.
AST Validation is added to enforce this. Intermediate nodes derive
their precision from these entities automatically.
Consistency of intermediate nodes is not validated. This is because AST
transformations replace a node with a transformed one, and that may not
have the same precision. Take the following code:
mediump float x = ...;
mediump float y = ...;
... x + y ...
and assume is transformed as such:
highp float driver_uniform;
... (x * driver_uniform) + y ...
The addition was originally done in mediump, but would seemingly need to
be done in highp after transformation. There are a number of options
here:
- Make sure that when nodes are replaced, the precision is unaffected.
This can be intrusive, requiring temp variables.
- Bubble up the new precision
- Accept the discrepancy
ANGLE opts for the last option, which actually respects the original
shader's intended precision for operations, even if some transformation
needs to temporarily evaluate an expression at a higher precision.
Bug: angleproject:4889
Bug: angleproject:6132
Change-Id: Ibcde3a230de159157783b1c6d5ef1cd63ceb4d8f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3114027
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d240f104
|
2021-08-23T16:25:20
|
|
Perf Tests: Update histogram units.
Use "ms_smallerIsBetter" instead of "msBestFitFormat". This matches
the requirements of the online docs as well as ensuring the dashboard
knows which way to track the regressions.
https://chromium.googlesource.com/catapult/+/HEAD/docs/histogram-set-json-format.md
Bug: angleproject:6090
Change-Id: I0b234725b55d4abb1dd1e8153e132fdbcbad1c60
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3115225
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
a08b667d
|
2021-08-24T12:13:23
|
|
Translator: Stabilize autogenerated builtin function parameters
When pruning the list of builtin function parameters, sorted() is used
to stabilize the result. This makes reviews of changes to the
autogenerated output easier.
Bug: angleproject:4889
Change-Id: I97afc31de2a62b34a0a8183bb5a47eab9e62d9fc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3116306
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
411137bf
|
2021-08-24T11:46:51
|
|
Emit INFINITY for infinite constants
GLSL had `v = 1.0e40` which was output as
`v = inff` in MSL. Changed to output
`v = INFINITY`.
Fixes Tests:
GLSLTest_ES3.LiteralInfinityOutput/ES3_Metal
GLSLTest_ES3.LiteralNegativeInfinityOutput/ES3_Metal
Bug: angleproject:5505
Change-Id: Ib651583e608351784dcd49d602a23b5ecb8475cb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3116548
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Gregg Tavares <gman@chromium.org>
|
|
023867c8
|
2021-08-24T11:42:07
|
|
Tests: Add Wordscapes trace
Test: angle_perftests --gtest_filter="*wordscapes*"
Tbr: jmadill@google.com, timvp@google.com
Bug: b/197646838
Bug: angleproject:6310
Change-Id: Idb5b8fe7e30f93ab0da0a749ee691eaeed4eac63
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3116367
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
460618ad
|
2021-08-20T18:34:10
|
|
Refactor EGLMultiThreadSteps.h -> MultiThreadSteps.h
The class ThreadSynchronization is very useful when synchronizing
multiple threads in ANGLE tests, so it's being moved from
egl_tests/EGLMultiThreadSteps.h to test_utils/MultiThreadSteps.h.
Bug: angleproject:5971
Change-Id: I5df469aa68b79cf72d95e0276f42ab33a091314e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3111887
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
0e06d2f3
|
2021-08-23T20:18:48
|
|
Tests: Add Scrabble Go trace
Test: angle_perftests --gtest_filter="*scrabble_go*"
Bug: b/197580447
Bug: angleproject:6308
Change-Id: I624c5f201dbadb6b51fe39cbb832da2454c3cb39
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3114492
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
637e543f
|
2021-08-23T13:28:52
|
|
Capture/Replay: beautify the result output
Instead of writing a diff between expected and real output
list the tests that have results that differ from the
expectations with their real and expected results.
While at it also clean up the result printing a bit.
Bug: angleproject:6282
Change-Id: Id95de9aa659b39f3a2fe3f63402e285ad875a4e7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3113553
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
a141cb52
|
2021-08-23T13:52:57
|
|
Test vector and matrix scalarization does not affect output
Vector and matrix scalarization was turned off because
it affects the rendering output. We need to turn it
back on in some form for Metal. This test is added to
check that rendering output is not affected.
Test adapted from WebGL CTS test
https://github.com/KhronosGroup/WebGL/pull/3214
Bug: angleproject:6306
Change-Id: Ic1db18920064726761d6168f9dd5111772028598
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3115013
Commit-Queue: Gregg Tavares <gman@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
13e52124
|
2021-08-23T08:44:13
|
|
ANGLEPerfTest: Fix a couple comment typos.
Bug: angleproject:6090
Change-Id: I2c1a2f4c6b25bb1d4e462bcb20bd788529e255e1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3114605
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
259ae49c
|
2021-08-20T10:51:31
|
|
Capture/Replay: Isolate trace export definitions.
This small fix to the export header means we no longer include
the "restricted_traces_autogen.h" in each and every trace file.
That means when we change/add/remove a trace we no longer need to
recompile each and every trace. Speeds up iteration time when
working with the traces.
Also fixes inconsistent path generation on Windows.
Bug: angleproject:5133
Change-Id: I357d65477a683455d01379379e2e98431af2ed55
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3110749
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
8933a6e3
|
2021-08-17T12:09:21
|
|
Capture/Replay: Update expectation bug number
Bug: angleproject:6166
Change-Id: I7bdb1778fc78d9c1e433b9658225322ff6c21030
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3097380
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
14656a5d
|
2021-08-23T07:23:29
|
|
Skip all dEQP-EGL.functional.resize.surface_size on Linux/NV.
This seems to be a persistent flake in the test suite.
Bug: angleproject:5753
Change-Id: I4917ea54bba5ae1a01606038698e099ee8559f47
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3112198
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
210773db
|
2021-08-05T10:41:59
|
|
Translator: Be more explicit about precisions
GLSL ES requires that every symbol (variable, block member, function
parameter and return value) is appropriately qualified with a precision,
either individually or through the global precision specifier.
Some tree transformations however produced symbols with EbpUndefined
precision. In text GLSL output, these would produce unqualified symbols
which was often incorrect.
In this change, the transformations are made to produce explicit / more
consistent precisions. The validation (that caught these issues) is not
included in this change as there are still a few corner cases left to
address.
Bug: angleproject:4889
Bug: angleproject:6132
Change-Id: Icca8a0a5476f8646226e7243aa8f501f44acc164
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3075127
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8c05fd4f
|
2021-08-21T23:03:16
|
|
Add ASTC & PVRTC to GLenumToString
Bug: angleproject:4093
Change-Id: Iab19fddd2e0680a39741d2ef0b9003af5a808d49
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3110552
Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
2f45d93d
|
2021-08-18T16:58:44
|
|
Capture/Replay: Init shader outputs during self-tests.
This forces all uninitialized variables to have default values.
For instance if the application doesn't initialize the output
color, or a varying that's use in the output, this will ensure we
don't use any undefined values in the computation.
Found when working on a re-trace of T-Rex, which doesn't write to
the alpha channel in the final rendering pass. Also fixes undefined
values in GLSLTest.InactiveVaryingInVertexActiveInFragment.
Bug: angleproject:5133
Change-Id: Ia291338e5adf23dab5263cb2ebe737dc05852d3e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3110225
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
b196eec0
|
2021-08-20T12:32:03
|
|
translator: Fix InitializeVariables with gl_ClipDistance.
The extension allows for the shader to redeclare this variable with
a different size. This would sometimes put the tree in an inconsistent
state when used with the InitializeVariables feature. Fix this by using
the user declaration of gl_ClipDistance when available.
Found when working on trace validation, where using the init output
variables option in the compiler would then cause tree validation to
fail for one specific test.
Test: ClipDistanceTest.ThreeClipDistancesRedeclared
Bug: angleproject:5133
Change-Id: I42c9bfbe313826ac5d391068d9fc18eb5793375f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3110752
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
d2d1f41f
|
2021-08-16T08:05:55
|
|
Add EGL extension to create window with a swap interval set.
On Vulkan this allows creating a window once without needing to
recreate the swapChain after we specify the swap interval.
Also adds a simple regression test and EGL enum assertion
printing formatting.
Bug: angleproject:5133
Change-Id: I72af124cb0e8f7cddfa810988a9862c0f36a0e46
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3097806
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
f65d6acc
|
2021-08-18T12:20:40
|
|
Test Runner: Determine slow tests from test expectations.
This updates the test harness to handle slow test based on the TIMEOUT
test expectation. It removes the "registerSlowTests" API in favor of
using the test expectation files.
Also updates some of the timeout handling for various angle tests,
including on SwiftShader for multithreading tests.
Increases the timeout for tests in a batch to attempt to fix the
problem of the first test being much slower.
Bug: angleproject:6261
Change-Id: I7427344da5a0c1ea26d8c2d6eb0e9be2557b56e6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3104007
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
0adaabfc
|
2021-08-18T16:29:12
|
|
Ensure RGB10A2 format properly uses 4 pixel bytes.
This fixes a problem with capture/replay where using pixelBytes was
returning a 3 byte stride for this 4 byte format. Note this format
is a bit odd, because it forces the alpha to 1.0, but the format
is specified as using 4 byte upload width, with 2 bits unused.
Also adds compile and run-time checking to ensure our bits are always
multiples of 8. This flushed out an issue with 565 formats which were
using an extra 1 bit for alpha.
Test: TexureUploadFormatTest
Bug: angleproject:5133
Change-Id: Ia41e86a4980fc041bb1a19b548c32329fa486d03
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3104686
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
fc09350a
|
2021-08-18T12:24:39
|
|
GL: Update VertexArrayGL to use ANGLE_GL_TRY.
Bug: angleproject:3020
Change-Id: If3409d0d4bc9fdc5c990cece92461e2526c752c9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1809058
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Peng Huang <penghuang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
f6b8db1d
|
2021-08-18T15:20:10
|
|
Capture/Replay: Don't access OOB in TexImage2D.
The last row of pixels is treated specially because we don't need
to round up to the unpack alignment. This fixes an ASAN error with
some 1x1 texture tests with small-sized formats.
Test: TextureUploadFormatTest
Bug: angleproject:5133
Change-Id: I4c56958b83406aff380bda56b90d3258020a1f99
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3104685
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e2485d60
|
2021-08-14T17:40:14
|
|
Capture/Replay: Add the layer to the texture data label string
Otherwise the output map will seperate the hash from the raw data
when multiple layers are written for the same mip-map level.
Bug: angleproject:5133
Change-Id: I7636b6dc66f7ec31958e6eb44591c0a9b9280b00
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3093814
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
54e31116
|
2021-08-19T15:02:16
|
|
Add delimeter to attribute search
Attributes are written in MSL as
type nameOfAttrib __unassigned_attribute__
and then at link time a string substitution
replaces __unassigned_attribute__
The test had these attributes
metal::float4 floatInput __unassigned_attribute__;
metal::uint4 uintInput __unassigned_attribute__;
metal::int4 intInput __unassigned_attribute__;
and was searching for "intInput __unassigned_attribute__"
which matching "uintInput __unassigned_attribute__".
Adding a space in front of the search string fixes the issue.
This fixes this test:
WebGL2CompatibilityTest.VertexShaderAttributeTypeMismatch/ES3_Metal
Bug: angleproject:5505
Change-Id: Ide07e5120e88927b1fdeb3cc32b456a661092802
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3108339
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Gregg Tavares <gman@chromium.org>
|
|
6a8abffc
|
2021-08-19T17:24:24
|
|
Turn off ProgramBinaryES3Test direct-to-Metal tests
We enabled these tests, however they are failing consistently on Intel.
Original change:
https://chromium-review.googlesource.com/c/angle/angle/+/3105442
Bug: angleproject:5505
Bug: angleproject:6301
Change-Id: Iddc36400d55e8b06b15663c2d9bc00df7e04ce02
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3107508
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
762db3c0
|
2021-08-18T09:06:42
|
|
Capture/Replay: Improvements to testing script.
Using new Python APIs for multiprocessing logging. Also updates
some logging to be simpler / more consistent. Also a few other
small fixes.
Bug: angleproject:5133
Change-Id: I4acbc9173a3891989f409cc499c8e6431e712c0c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3104006
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
b2cb9e50
|
2021-08-19T07:37:28
|
|
Capture/Replay: Fix extra frame captured with trigger.
A prior CL erroneously removed the -1 from the trigger frame count.
Restore this to ensure we capture the right number of frames.
Bug: angleproject:5133
Change-Id: Ic24404fbfeb8578badd6204db8316f081eafaa53
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3104693
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
49af677a
|
2021-08-16T07:59:18
|
|
Capture/Replay: Update serialization logic.
- Uses more common toString methods instead of custom ones.
- Uses enum to string in more places intsead of numeric enums.
- Adds missing group scopes in several places.
- Skips serializing empty image levels.
Bug: angleproject:5133
Change-Id: I2c9523981aba4ec0afb5f0623cb34154db263e6b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3097805
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
8ffb4602
|
2021-08-18T16:55:56
|
|
Turn on the first few direct-to-Metal tests by default.
All of the subtests of these previously-asserting tests are passing
with --bot-mode:
ProgramBinaryES3Test
UniformTest
WebGLGLSLTest
so start running them on ANGLE's CQ.
Bug: angleproject:5505
Change-Id: Ibdaa814cec846379e2c073117efa816fc871be33
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3105442
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
5ca0953d
|
2021-08-18T13:22:22
|
|
Use the correct attribute locations in Metal
Fixes these tests:
BlendIntegerTest.MRTSigned/ES3_Metal
BlendIntegerTest.MRTUnsigned/ES3_Metal
DrawBuffersTest.Gaps/ES3_Metal
DrawBuffersTest.BlendWithGaps/ES3_Metal
DrawBuffersTest.FirstAndLast/ES3_Metal
DrawBuffersTest.FirstHalfNULL/ES3_Metal
DrawBuffersWebGL2Test.TwoProgramsWithDifferentOutputsAndClear/ES3_Metal
WebGLCompatibilityTest.DrawBuffers/ES3_Metal
Bug: angleproject:5505
Change-Id: I9ea82a8c7a0c5bbc78eb69eb92552909e3f437f3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3105439
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
eb458fbe
|
2021-08-18T14:17:31
|
|
GL: Add emulateImmutableCompressedTexture3D workaround
The workaround replaces glTexStorage3D with a series
of glCompressedTexImage3D calls.
Bug: chromium:1060012
Change-Id: I08e026e68dd697654cc4ab8feb190a35e56ea133
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3103070
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
02005fdc
|
2021-08-18T12:22:58
|
|
Fix Texture2DTest.TextureSize.
This CL fixes a number of issues: fixes the calls to texture
size query, fixes an uninitialized memory read, fixes some
incomplete texture cases, and fixes an out-of-bounds with the
color array. It also cleans up the test logic, and splits the
test into four sub-tests so it runs more smoothly in CI.
Noticed while working on the capture/replay harness with ASAN.
Bug: angleproject:5982
Change-Id: I15459381b92332db5adad2bd91c0b9eb0f8b5961
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3104005
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b2238a3c
|
2021-08-16T08:23:00
|
|
Capture/Replay: MEC consistency improvements.
Fixes a few very small bugs in MEC. The current program wasn't always
captured correctly. Also texture bindings were not always left in the
right state. Fixes this by tracking the currently bound GL state
between the "shared" and "aux" MEC capture functions. Also updates the
vertex array capture to detect when to use ES 2.0 semantics. ES 3.1
is left unimplemented as it was before.
Bug: angleproject:5133
Change-Id: I5f03b8ffbdccec2664fda4698581b166a36fabdd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3097809
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
839d5318
|
2021-08-16T08:29:28
|
|
Capture/Replay: Changes to MEC first frame capture.
Recent changes made it so it was impossible to trigger MEC *after*
the first frame and *before* the second frame. Instead it was only
possible to capture *before* the first frame or *after* the second
frame. Makes it possible for the retracing script to do identical
captures.
Also includes a number of refactorings to make it simpler to follow
the code, including renaming methods, and removing some extra
output files.
Bug: angleproject:5133
Change-Id: Ice6a189eb9f4d53e8ee1ba39beb537af2ef5fd9f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3097807
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
2967166e
|
2021-08-04T19:31:54
|
|
Reland "Properly report xcb_connect failures in DisplayVkXcb"
This is a reland of 81bee2e7f6deeda15691dd0b7fca90626b66bfb8
Changes for the reland:
Do not attempt to use Xcb if DISPLAY is not defined - for headless ozone.
Original change's description:
> Properly report xcb_connect failures in DisplayVkXcb
>
> Bug: chromium:1223431
> Change-Id: Iaefddbda3fef283eed365fe010ee003a3b3beca8
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3083383
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Bug: chromium:1223431
Change-Id: I19be7d10cbd3692e1de6458bc0e2db5996a755af
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3099674
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
f2c96887
|
2021-08-16T15:23:34
|
|
Capture/Replay: Pop only after using values it in endGroup
When running the replay in valgrind the use of an undefined
value in the JsonSerializer::endGroup shows that 'name' value
on the stack is handled in an unexpected fashion, i.e
the pop seems to invalidate the values that should have
already been moved.
Using the reference of the top() values and doing pop() only
after the new group entry has been created avoids this.
Bug: angleproject:6180
Change-Id: I8e5f8dd3d14928d4763faabe236379b40a4f6f4c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3093815
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
ad286e71
|
2021-08-17T10:43:47
|
|
Capture/Replay: Clean up ResourceTracker access.
This reduces the boilerplate needed to tracked genned/deleted
resources.
Refactoring change only.
Bug: angleproject:5133
Change-Id: I81f8877b2c308fe9d4136999f3ca63371a070720
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3100591
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
9872e5af
|
2021-08-18T07:56:38
|
|
Vulkan: Suppress layered FB validation error.
This is popping up with a new roll of the VVL. Instead of fixing it,
we can disable it for now.
Bug: angleproject:6293
Change-Id: I6cd12a24b26a4f536db16631e198317e8c4d9fcc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3103505
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e3f2acb9
|
2021-08-18T08:03:26
|
|
Trace Tests: Skip sakura school sim on Win/Intel.
This test seems to produce non-deterministic rendering/flakiness.
Bug: angleproject:6294
Change-Id: I5cb72318c865f21814d114fd13a18dfd44e5db60
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3103506
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
7e040640
|
2021-08-16T08:43:17
|
|
libANGLE: Minor cleanups.
Removes a couple duplicated cached members in gl::State. Also a few
other small refactorings.
Bug: angleproject:5133
Change-Id: I0c6cd4c6544ef1690a4ce95d40dac70c688c7092
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3097808
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
cc52e7cd
|
2021-04-19T21:37:20
|
|
Prevent separable programs from relying on attached shaders
Previously, several linking functions were reliant on the
HasAttachedShaders interface. The information stored there has been
moved to ProgramExecutable.
Linking information such as uniforms and uniform blocks from
attached shaders is now also stored in temporary pending variables
inside ProgramExecutable.
Bug: angleproject:5506
Test: ProgramPipelineTest31.VaryingLocationMismatch*
Test: GeometryShaderTest.RecompileSeparableVSWithVaryings*
Test: ProgramBinaryES31Test.SeparableProgramLinkedUniforms*
Change-Id: I93591431959c1c4c547ada92ec358369a3417723
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2909760
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Brandon Schade <b.schade@samsung.com>
|
|
d55d57ac
|
2021-08-17T14:16:07
|
|
GN: Disable unreachable code warnings in GLES 1 tests.
Bug: chromium:1240679
Change-Id: Ib140cbd32386a7836acf9a4f477693b14bf3c6d1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3100590
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
63bb0e53
|
2021-08-16T16:30:32
|
|
Add depth fix to convert from GL to Metal
Vertex shaders need to convert from GL's -1 to +1 z range
to Metal's 0 to +1 z range with:
z = (z + w) * 0.5
This code is being upstreamed from WebKit.
It fixes these end to end tests.
BlitFramebufferTest.MultisampleDepthClear/ES3_Metal
BlitFramebufferTest.MultisampleDepthClear/ES3_Metal_NoStencilOutput
BlitFramebufferTest.BlitDepthStencilPixelByPixel/ES3_Metal
BlitFramebufferTest.BlitDepthStencilPixelByPixel/ES3_Metal_NoStencilOutput
ClearTest.ClearStencilMask/ES2_Metal
ClearTest.ClearStencilMask/ES3_Metal
ClearTestES3.ClearMultipleAttachmentsIndividually/ES3_Metal
ClearTestES3.MaskedClearHeterogeneousAttachments/ES3_Metal
ClearTestES3.ScissoredClearHeterogeneousAttachments/ES3_Metal
ClearTestES3.ClearBufferivStencilMask/ES3_Metal
ClearTestES3.ClearBufferfiNoStencilAttachment/ES3_Metal
MaskedScissoredClearTest.Test/ES2_Metal__clear_s
MaskedScissoredClearTest.Test/ES2_Metal__clear_s_mask_s
MaskedScissoredClearTest.Test/ES2_Metal__scissored_clear_s_mask_s
MaskedScissoredClearTest.Test/ES2_Metal__clear_d
MaskedScissoredClearTest.Test/ES2_Metal__scissored_clear_d
MaskedScissoredClearTest.Test/ES2_Metal__clear_ds
MaskedScissoredClearTest.Test/ES2_Metal__scissored_clear_ds
MaskedScissoredClearTest.Test/ES2_Metal__clear_ds_mask_s
MaskedScissoredClearTest.Test/ES2_Metal__scissored_clear_ds_mask_s
MaskedScissoredClearTest.Test/ES2_Metal__clear_cs
MaskedScissoredClearTest.Test/ES2_Metal__clear_cs_mask_s
MaskedScissoredClearTest.Test/ES2_Metal__scissored_clear_cs_mask_s
MaskedScissoredClearTest.Test/ES2_Metal__clear_cd
MaskedScissoredClearTest.Test/ES2_Metal__scissored_clear_cd
MaskedScissoredClearTest.Test/ES2_Metal__clear_cds
MaskedScissoredClearTest.Test/ES2_Metal__scissored_clear_cds
MaskedScissoredClearTest.Test/ES2_Metal__clear_cds_mask_s
MaskedScissoredClearTest.Test/ES2_Metal__scissored_clear_cds_mask_s
MaskedScissoredClearTest.Test/ES2_Metal__clear_cs_mask_cs
MaskedScissoredClearTest.Test/ES2_Metal__scissored_clear_cs_mask_cs
MaskedScissoredClearTest.Test/ES2_Metal__clear_cd_mask_c
MaskedScissoredClearTest.Test/ES2_Metal__scissored_clear_cd_mask_c
MaskedScissoredClearTest.Test/ES2_Metal__clear_cds_mask_c
MaskedScissoredClearTest.Test/ES2_Metal__scissored_clear_cds_mask_c
MaskedScissoredClearTest.Test/ES2_Metal__clear_cds_mask_cs
MaskedScissoredClearTest.Test/ES2_Metal__scissored_clear_cds_mask_cs
MaskedScissoredClearTest.Test/ES3_Metal__clear_s
MaskedScissoredClearTest.Test/ES3_Metal__clear_s_mask_s
MaskedScissoredClearTest.Test/ES3_Metal__scissored_clear_s_mask_s
MaskedScissoredClearTest.Test/ES3_Metal__clear_d
MaskedScissoredClearTest.Test/ES3_Metal__scissored_clear_d
MaskedScissoredClearTest.Test/ES3_Metal__clear_ds
MaskedScissoredClearTest.Test/ES3_Metal__scissored_clear_ds
MaskedScissoredClearTest.Test/ES3_Metal__clear_ds_mask_s
MaskedScissoredClearTest.Test/ES3_Metal__scissored_clear_ds_mask_s
MaskedScissoredClearTest.Test/ES3_Metal__clear_cs
MaskedScissoredClearTest.Test/ES3_Metal__clear_cs_mask_s
MaskedScissoredClearTest.Test/ES3_Metal__scissored_clear_cs_mask_s
MaskedScissoredClearTest.Test/ES3_Metal__clear_cd
MaskedScissoredClearTest.Test/ES3_Metal__scissored_clear_cd
MaskedScissoredClearTest.Test/ES3_Metal__clear_cds
MaskedScissoredClearTest.Test/ES3_Metal__scissored_clear_cds
MaskedScissoredClearTest.Test/ES3_Metal__clear_cds_mask_s
MaskedScissoredClearTest.Test/ES3_Metal__scissored_clear_cds_mask_s
MaskedScissoredClearTest.Test/ES3_Metal__clear_cs_mask_cs
MaskedScissoredClearTest.Test/ES3_Metal__scissored_clear_cs_mask_cs
MaskedScissoredClearTest.Test/ES3_Metal__clear_cd_mask_c
MaskedScissoredClearTest.Test/ES3_Metal__scissored_clear_cd_mask_c
MaskedScissoredClearTest.Test/ES3_Metal__clear_cds_mask_c
MaskedScissoredClearTest.Test/ES3_Metal__scissored_clear_cds_mask_c
MaskedScissoredClearTest.Test/ES3_Metal__clear_cds_mask_cs
MaskedScissoredClearTest.Test/ES3_Metal__scissored_clear_cds_mask_cs
DepthStencilFormatsTest.DepthTextureRender/ES2_Metal
DepthStencilFormatsTest.DepthBuffer16/ES2_Metal
DepthStencilFormatsTest.DepthBuffer24/ES2_Metal
DepthStencilFormatsTest.VerifyDepth32UploadData/ES2_Metal
DepthStencilFormatsTest.VerifyDepth16UploadData/ES2_Metal
TinyDepthStencilWorkaroundTest.DepthTexturesStick/ES3_Metal
DiscardFramebufferEXTTest.ClearDepthThenDrawWithDepthTestThenDiscard/ES2_Metal
DiscardFramebufferEXTTest.ClearDepthThenDrawWithDepthTestThenDiscard/ES3_Metal
Bug: angleproject:5505
Change-Id: I9b52bb46569678636afc6a243bfa8779f101b6af
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3097161
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
17d41054
|
2021-08-17T13:22:46
|
|
Skip a flaky test on SwANGLE.
The test was already marked flaky on Windows. Mark it TIMEOUT everywhere
since likely the root causes are the same.
KHR-GLES31.core.arrays_of_arrays.SizedDeclarationsPrimitive
Bug: angleproject:5755
Change-Id: Ief208a5a2cb533e5ba4b88ef65e82a2a14dcf0b3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3100585
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
98e2410d
|
2021-08-17T07:52:03
|
|
dEQP: Remove Pixel 2/XL test expectations.
We no longer support Vulkan on the P2.
Bug: angleproject:2808
Bug: angleproject:3683
Bug: angleproject:3816
Bug: angleproject:4024
Bug: angleproject:4097
Bug: angleproject:4159
Bug: angleproject:4166
Bug: angleproject:4194
Bug: angleproject:4219
Bug: angleproject:4344
Bug: angleproject:4822
Bug: angleproject:5340
Bug: angleproject:5370
Bug: angleproject:5572
Bug: angleproject:6008
Bug: b/161540999
Change-Id: Ie2cb634201c2d604cb247eb0369d5e90d7600e8b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3098490
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
130a8b63
|
2021-08-16T17:09:10
|
|
Perf Runner: Properly merge histograms.
The prior method was emitting 5 histograms per test. The new script
method merges the 5 histogram samples together and recomputes the
running statistics.
Should improve reporting on the dashboard.
Bug: angleproject:6090
Change-Id: I58a5e020f3a3257a8545df2785bc3eaa811ee38e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3096550
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
0be285c6
|
2021-07-20T11:36:22
|
|
Vulkan: Flush read RT if color attachment is the read buffer
Prior to this change, the following sequence:
* eglMakeCurrent(..., draw=surface1, read=surface1, ...);
* glClear(...);
* eglMakeCurrent(..., draw=surface2, read=surface1, ...);
* glBlitFramebuffer(...);
* eglMakeCurrent(..., draw=surface1, read=surface1, ...);
* glReadPixels(...);
would end up with the `vkCmdClearColorImage()` on surface1
occuring after the `vkCmdBlitImage()`.
This CL updates flushColorAttachmentUpdates() to flush any staged
updates to both the read and draw attachments, since they can be
different if different read and draw surfaces are bound.
Adds a test which is a small repro of
android.opengl.cts.FramebufferTest#testBlitFramebuffer failure.
Bug: b/192327017
Test: EGLSurfaceTest.BlitBetweenSurfaces/*
Change-Id: Iabad26dfcd8633e9dcfcee2fb16ba352bc3931d5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3078980
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
4aedb71f
|
2021-08-11T17:00:41
|
|
Capture/Replay: Force count and length in CaptureShaderSource
The problem ist that there is a mix on how the captured shader
source is written out, in some cases one string is written, e.g.
with the test ZeroShaderLength, and in others case an array if
strings is written, a with MixedShaderLengths.
Be constistent about it and capture the shader source always as
one string and handle it like this, and override the count to be 1
to reflect this and set the length to {-1} to use the new
accumulated shader strings automatically.
Bug: angleproject:6268
Change-Id: Ide927db1a6e4facdbab4d35c023b9bce4b6c30d8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3087448
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
a835912f
|
2021-08-09T13:58:37
|
|
Texture: Mark initialized after syncState.
This fixes an issue with retracing where textures that are never
used or only used once may have different init states on re-tracing.
Bug: angleproject:5133
Change-Id: I29fdc477e3522582c8e2eece0b4b86384ecf6d9a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3081762
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
d20afde4
|
2021-08-05T23:06:44
|
|
Vulkan: Retain precision of uniform variables
When gathering in a uniform block, the precision of default uniforms was
dropped.
Bug: angleproject:4889
Bug: angleproject:6132
Change-Id: Ie6a8e2e7cef7cd3808cee08d20f886fc4e762cd5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3076124
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
1fb846cb
|
2021-08-03T01:57:49
|
|
Validate texStorage dimensions with compressed formats
Bug: angleproject:6230
Change-Id: I501ec1e6974bdc7e6731dcb88045edb0aa22b888
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3067329
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d8cb9967
|
2021-08-04T18:15:51
|
|
In WebGL, constrain base level of compressed textures.
Enforce that if a mipmap level > 0 is specified for a compressed
texture, that it implies that the size of the base level of the
texture is a multiple of the format's block size.
Makes the test changes in
https://github.com/KhronosGroup/WebGL/pull/3304 largely pass. There
are some needed follow-on fixes to that PR, and this CL changes a
sub-test result in the existing S3TC and S3TC-sRGB tests which will
need to be suppressed Chromium-side first.
Bug: angleproject:6245
Change-Id: I7723d7882091b78a353d8d273e80b819dd384021
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3072568
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
728baa50
|
2021-08-13T18:47:50
|
|
Revert "Skip UpdateRenderTargetCacheOnDestroyTexStorage on Metal"
This reverts commit bf4eb2636ebae19cfa8d3edb9828bdb464360df5.
Reason for revert: branch created before
angle_end2end_tests_expectations.txt existed,
need to use the old-fashioned suppression method.
Original change's description:
> Skip UpdateRenderTargetCacheOnDestroyTexStorage on Metal
>
> Fails in M92 branch, e.g.
> https://ci.chromium.org/ui/p/chromium-m92/builders/try/mac_optional_gpu_tests_rel/67/overview
>
> Bug: chromium:1234829
> Change-Id: I74b9694a16fccc4ba358db5dc1168cf9e21ecab0
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3094707
> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Bug: chromium:1234829
Change-Id: Ifd01947e0ae79619cec3290e4afe1489933a650e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3093248
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
bf4eb263
|
2021-08-13T14:09:14
|
|
Skip UpdateRenderTargetCacheOnDestroyTexStorage on Metal
Fails in M92 branch, e.g.
https://ci.chromium.org/ui/p/chromium-m92/builders/try/mac_optional_gpu_tests_rel/67/overview
Bug: chromium:1234829
Change-Id: I74b9694a16fccc4ba358db5dc1168cf9e21ecab0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3094707
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
26cf48c1
|
2021-08-13T11:27:36
|
|
Roll VK-GL-CTS from bf3d63599bad to 7103920041db (7 revisions)
https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/bf3d63599bad..7103920041db
2021-08-13 alexander.galazin@arm.com Merge pull request #276 from Ella-0/master
2021-08-12 ilkka.saarelainen@siru.fi Add missing items to android cts mustpass list
2021-08-12 soroush.kashani@imgtec.com Fix bug in compressed PixelStorageModes tests
2021-08-12 david.emett@broadcom.com Work around bogus GCC 9 warnings
2021-08-12 antto.makinen@siru.fi Fix a GraphicsFuzz coverage test
2021-08-06 ari.suonpaa@siru.fi Added layered AHB EGL tests
2021-08-06 rgarcia@igalia.com Improve buffer to buffer copy tests
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 file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
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/main/autoroll/README.md
Manually suppressing some newly added tests in
dEQP-EGL.functional.image.*android_native*
Bug: angleproject:6277
Tbr: ynovikov@google.com,angle-bots+autoroll-info@google.com
Change-Id: I8c942b49e5e8216695d449b8d1ef38d0f1198d0c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3093790
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
fa74421d
|
2021-08-06T18:30:57
|
|
Capture/Replay: Add LoadEGL()
Add LoadEGL() to gen_restricted_traces.py. This is a pre-requisite to
frame capture being able to generate EGL calls, which is required for
multi-context support.
Bug: angleproject:5878
Change-Id: I210035aecad42173626834588bae51019deaa076
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3078994
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
62cac8b5
|
2021-08-06T18:24:52
|
|
Capture/Replay: Add EGL support to generate_entry_points.py
Add EGL support to generate_entry_points.py. This is a pre-requisite to
frame capture being able to generate EGL calls, which is required for
multi-context support.
Bug: angleproject:5878
Bug: angleproject:4035
Change-Id: I3b8e9c91f9e2820b5207fc02d858e8109921f581
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3078993
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
ff64d2c7
|
2021-08-06T21:24:09
|
|
Choose direct-to-Metal translator through a feature.
Define directMetalGeneration in FeaturesMtl.h. If
ANGLE_ENABLE_METAL_SPIRV is defined to 1 (still the default),
directMetalGeneration defaults to false. It can be overridden via the
standard ANGLE mechanism:
ANGLE_FEATURE_OVERRIDES_ENABLED=directMetalGeneration
It can also be overridden by instantiating angle_end2end_tests with
the directives:
WithDirectMetalGeneration(ES2_METAL())
WithDirectMetalGeneration(ES3_METAL())
These directives aren't working properly yet though. The
direct-to-Metal compiler is instantiated, but the _DirectMetalGen
versions of the tests fail. They pass when switching the Metal
backend's default behavior using the above environment variable. This
will be debugged in follow-on CLs.
Thanks to syoussefi@ for the prototype of this CL:
https://chromium-review.googlesource.com/3076129
Bug: angleproject:5505
Change-Id: I188ab89abc75bf89c5ed2d90102af311feaa1960
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3079083
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
331be08f
|
2021-08-11T11:28:29
|
|
Tests: Add Sonic The Hedgehog trace.
Test: angle_perftests --gtest_filter="*sonic_the_hedgehog*"
Bug: angleproject:6181
Change-Id: I40a5affe804a747445ef620c4f78e842c1eed1ad
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3087444
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
d3031c65
|
2021-08-11T12:30:01
|
|
Capture/Replay: Update expectations with bug IDs
In addition, update two tests that are just failing and no longer
crashing.
Bug: angleproject:6166
Change-Id: I9f19bf411c79c39f4f1f3156a9f8682609d6b3d8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3087445
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
392ba63f
|
2021-08-10T19:20:47
|
|
Suppress 2 dEQP GLES3 tests on Win SwANGLE
functional.shaders.operator.unary_operator.minus.lowp_uvec3_vertex
functional.shaders.operator.unary_operator.minus.mediump_uvec3_vertex
Fails on x86 when llvmorg-13-init-15561-gf98ed74f Clang rolled.
Unfortunately, expectation file doesn't support architecture,
so suppressing on both x86 and x64 Windows, keeping the test running on
x64 Linux.
Bug: angleproject:6265
Change-Id: I15f8955eaf38c95d0d3036378d97afdb1871d44e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3088016
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
6136620b
|
2021-03-25T15:43:06
|
|
Reland "EGL: GLES: Implement GL_EXT_protected_textures"
This is a reland of 6210a9b34a721df2c84cf69170ad9bf7ba40e4aa
This removes changes in gl backend.
Original change's description:
> EGL: GLES: Implement GL_EXT_protected_textures
>
> Implement EGL_EXT_protected_content Images
> Add protected member to Images and Textures
> Add error when creating objects if not supported or
> does't match native buffer
> When creating siblings pass protected state
> Add extension caps
> Add Validation
> Add GetTexParameter and SetTextparameter
> Add protected to Texture and state
> Expand tests for images and textures
>
> Test: angle_end2end_test --gtest_filter=EGLProtectedContentTest
>
> Bug: angleproject:3965
> Change-Id: I35a89b4e80bba6d9b6831c68e71630eef304dacb
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2802852
> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Test: angle_end2end_test --gtest_filter=EGLProtectedContentTest
Bug: angleproject:3965
Change-Id: Id36d697c53afc0f0dadf92bda4565f9157f4fc2a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3076825
Commit-Queue: Brandon Schade <b.schade@samsung.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
0bd5cac2
|
2021-08-06T17:56:58
|
|
Allow BufferSubData with persistently mapped buffers
Per the GL_EXT_buffer_storage extension:
What commands are affected by the relaxed errors for persistently
mapped buffers?
RESOLVED: In GL 4.5 the following commands have the relaxed
language BufferSubData, ClearBufferSubData, CopyBufferSubData,
GetBufferSubData and InvalidateBufferSubData. Of these commands
the only ones that apply to ES 3.1 are BufferSubData and
CopyBufferSubData. However, if additional extensions add any of
the other commands and EXT_buffer_storage is supported, they
would have the same behavior in ES.
Therefore we need to allow BufferSubData and CopyBufferSubData on
persistently mapped buffers.
Current we fail these scenarios in validation. This was detected when
running Fortnite on Android using the game's GLES backend.
Also added two tests:
- StorageCopyBufferSubDataMapped to recreate the exact Fortnite
scenario using glCopyBufferSubData.
- StorageBufferSubDataMapped is a contrived case to cover
glBufferSubData
Test: BufferStorageTestES3.StorageCopyBufferSubDataMapped/*
Test: BufferStorageTestES3.StorageBufferSubDataMapped/*
Bug: b/180418810
Bug: angleproject:5658
Change-Id: Ib678e84f367934656ec10f0f4ad0d35ac687f0b0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3078316
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
8f214193
|
2021-08-10T20:40:36
|
|
Revert "Properly report xcb_connect failures in DisplayVkXcb"
This reverts commit 81bee2e7f6deeda15691dd0b7fca90626b66bfb8.
Reason for revert: fails on
https://ci.chromium.org/ui/p/chromium/builders/try/linux-ozone-rel/918054/overview
Original change's description:
> Properly report xcb_connect failures in DisplayVkXcb
>
> Bug: chromium:1223431
> Change-Id: Iaefddbda3fef283eed365fe010ee003a3b3beca8
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3083383
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Bug: chromium:1223431
Change-Id: I1da24861375a29f448e61771a609396e777c2e29
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3087555
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
0b651e42
|
2021-07-20T11:48:38
|
|
Vulkan/D3D11/Metal: Expose GL_NV_framebuffer_blit
GL_NV_framebuffer_blit is equivalent to ES3 blit which these backends
support.
Bug: chromium:1220246
Change-Id: I6ef0b80f9e9ba7828d6720cdbe19c83c4abdc4cf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3041878
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
81bee2e7
|
2021-08-04T19:31:54
|
|
Properly report xcb_connect failures in DisplayVkXcb
Bug: chromium:1223431
Change-Id: Iaefddbda3fef283eed365fe010ee003a3b3beca8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3083383
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
97c21277
|
2021-08-03T15:06:37
|
|
FrameCapture: Don't capture default drawbuffers state.
When capturing framebuffers during mid-execution-capture the
drawbuffers state is now compared with the default one and skipped
when equal.
This prevents capturing the unavailable glDrawBuffers call when using
OES_framebuffer_object on GLES 1 contexts.
Bug: angleproject:6181
Change-Id: Id2076223067dc5f89df88fe6a3a48b09fa9a3f5d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3068957
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
856228b0
|
2021-08-05T23:10:25
|
|
D3D9: Expose EXT_sRGB and EXT_texture_compression_s3tc_srgb
sRGB reads are supported on D3D9 via SetSamplerState.
sRGB writes are supported on D3D9 via SetRenderState.
Bug: angleproject:6258
Change-Id: I841c25ce66486e93ae2122b370e910f383fed774
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3076359
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
595ce2b8
|
2021-08-03T15:06:14
|
|
FrameCapture: Use OES suffixes for framebuffer functions on ES1.
Functions using the GL_OES_framebuffer_object extension on GLES 1.1
require the OES suffix or will otherwise crash on certain native OpenGL
drivers.
The framebuffer capture functions are stored in a struct.
This patch makes replay of Sonic The Hedgehog possible on Pixel 4 XL
native GL.
Bug: angleproject:6181
Change-Id: I689267b024824818bfcf28e652b835e075208415
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3068956
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
|
|
d25c9d7f
|
2021-07-07T12:15:12
|
|
Add perf tests runner script.
This script will be responsible for running the perf tests
multiple times to try and stabilize measurements. We'll use it on
the bots instead of just running the perf tests directly.
Because the script invokes the binary multiple times, this slows
down execution. Most significantly on Android, where we now need
to use 20 shards, up from 6.
Also marks one test as flaky on OpenGL.
Bug: angleproject:6090
Change-Id: I5280035cb0bdb290a68dc6961a384eaf4b40dd4b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3011422
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
b1b760e7
|
2021-08-09T13:37:10
|
|
Ignore VUID-vkCmdClearAttachments-baseArrayLayer-00018
New message added in
https://github.com/KhronosGroup/Vulkan-ValidationLayers/pull/3133
Blocks vulkan-deps rolls.
Bug: angleproject:6262
Change-Id: Iaaafe7539092cbe7eadd01e47b67071d60779929
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3081376
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
23a50a7c
|
2021-08-06T18:15:30
|
|
Serialization: Fix groups & ensure compile resolution.
This change has two fixes:
1) Some texture groups had multiple duplicate keys. Namely image
descs and image contents.
2) Programs and Shaders would serialize non-deterministically
because we would not ensure the compile/link was resolved. Fix
this by explicitly ensuring the shaders/programs are done.
Bug: angleproject:5133
Change-Id: I2f7f7768c76f90275f81e032ac08e3f2bc828ea2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3076134
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
06b19ed8
|
2021-08-06T17:02:36
|
|
Framecapture: Update file naming
Update the file naming to add "shared" and remove the unnecessary frame
numbering:
angle.angledata.gz
angle_capture_context1.cpp
angle_capture_context1.h
angle_capture_context1_files.txt
angle_capture_context1_frame001.cpp
angle_capture_shared.cpp
angle_capture_shared.h
Bug: angleproject:6256
Change-Id: I6454a3dc412896557f29faee1269dfa55146d43b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3078908
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
4686da27
|
2021-08-06T18:13:14
|
|
Add GetImage test with RGB.
This test covers a case in T-Rex with an unused RGB texture that
was tripping up serialization. It isn't currently possible to make
the test fail but it does cover some new code paths.
Bug: angleproject:5133
Change-Id: I87c066779f270752bed3c1c1882951c71f16d378
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3076133
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
6c415487
|
2021-07-26T13:08:46
|
|
Capture/Replay: Add option to override test disabling
In order to be able to easily run disabled tests, add a flag
--force-run-capture
that makes it possible to ignore the SKIP_FOR_CAPTURE designation.
Bug: angleproject:6166
Change-Id: I195248045d5c928d965f16b5ae17681d78686374
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3053363
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
af35fd22
|
2021-07-12T14:58:01
|
|
Capture/Replay: rework test runner to use expectations
This CL changes the test runner to use a expectation
file for all the tests including failing tests.
The expectation file is also used to disable running certain
tests. e.g. because they are known to crash or result in
compilation failures, which then take down all the test
in the corresponding batch.
The capture_replay_tests.py script will report failure if the
test result doesn't meet the expectation. In order to keep
the current behaviour to run subsets of tests in tact, the
test filter is also applied to the expectation.
In addition to the "normal" expectations, FLAKY was added to
tag tests that can be captured and compiled correctly but have
unstable results.
This CL also adds the expectation for ES2_Vulkan_SwiftShader
and ES2_Vulkan
Bug: angleproject:6166
Change-Id: Ica05303e6ae3b7c6d2b6749c2c9c6593b659cc1a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3024209
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
1654537d
|
2021-08-06T17:49:52
|
|
Fix default and driver uniforms' binding indices.
These abstractions were introduced in the SymbolTable during
upstreaming of the direct-to-Metal compiler and were accidentally
swapped, leading to widespread test failures.
Fix the comment reference in ContextMtl's DriverUniforms struct. Add
missing emulatedInstance field, and add a TODO about its missing
support in direct-to-Metal translator. Define it in SPIR-V Metal
translator; the driver uniforms for the two must match.
Bug: angleproject:6259
Change-Id: I0330ab4efca5b64a749b9cca90564fdbc84d7a80
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3078998
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e70a1444
|
2021-08-05T12:49:21
|
|
Vulkan: Fix draw FBO1 followed by resolve FBO2
When syncing the framebuffer for blit/resolve, the render pass was not
closed. This would be done later when necessary, except that
onFramebufferChange called from FramebufferVk::syncState attempted to
adjust the render area of the render pass (as it considered it open). If
FBO2 is larger than FBO1, this would cause the render area of the
previous render pass to become larger than the framebuffer size.
This change makes sure that onFramebufferChange considers the render
pass closed no matter what.
Test is based on patch from steven@valvesoftware.com
Bug: angleproject:6244
Change-Id: Iaec04232cfd2af04ba2564fd2de1dd5f08a40df6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3076620
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c664601d
|
2021-04-26T17:08:06
|
|
Allow drawing if a fragment shader isn't present
According to the OpenGL ES 3.1 spec:
7.3 PROGRAM OBJECTS
If there is no active program for the vertex or fragment shader
stages, the results of vertex and fragment shader execution will
respectively be undefined.
If there isn't an active program for only one of these shader
stages, the results of the other shader stage are still defined.
To handle this, we no longer no-op the draw call if one of these
is missing. We only no-op the draw if there's no vs.
This allows for transform feedback to be captured when there's only
a geometry and vertex shader.
Tests: KHR-GLES32.core.geometry_shader.api.program_pipeline_vs_gs_capture
Tests: KHR-GLES32.core.separable_programs_tf.geometry_active
Tests: ProgramPipelineTest31.PipelineWithoutVertexShader*
Tests: ProgramPipelineTest31.PipelineWithoutShaders*
Bug: angleproject:5579
Change-Id: If9849cc398c307232435b167ab12431fa4258201
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2906723
Commit-Queue: Brandon Schade <b.schade@samsung.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
cf090996
|
2021-08-05T16:20:39
|
|
Vulkan: Call onFramebufferChange from a single place
When sRGB control mode was dirty, onFramebufferChange was called which
may not have been necessary if the actualy state hadn't changed. This
removes a call to onFramebufferChange() in this path, and leaves it to
be naturally called if the framebuffer desc actually changes.
Bug: angleproject:5075
Change-Id: I177572a3cb819d7e1ecd589f46e03da4b967529e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3076619
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|