| 
              
a02670d6
               | 
              
2025-08-26T20:41:16
               | 
              
               | 
              
Move unsafe buffers inside header guard macros
While this is exactly opposite of what Chromium has chosen to do,
there is an issue with clang-format trying to indent preprocessor
directives four spaces relative to include guard. This is because
Angle's .clang-format file specifies IndentPPDirectives: AfterHash
but Chromium's does not. The current placement is sufficient to
throw off clang-format's guard detection since the guard macro no
longer covers the entire file.
Bug: b/436880895
Change-Id: Ic6b99c8cef6213939cdf9b42af8730e1eb423065
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6885892
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Auto-Submit: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
               | 
            
            
              
   
               | 
              
25390156
               | 
              
2025-08-21T00:13:19
               | 
              
               | 
              
Suppress unsafe buffers on a file-by-file basis in src/ [1 of N]
In this CL, we suppress many files but stop short of actually
enabling the warning by not removing the line from the
unsafe_buffers_paths.txt file. That will happen in a follow-on
CL, along with resolving any stragglers missed here.
This is mostly a manual change so as to familiarize myself with
the kinds of issues faced by the Angle codebase when applying buffer
safety warnings.
-- Re-generate affected hashes.
-- Clang-format applied to all changed files.
-- Add a few missing .reserve() calls to vectors as noticed.
-- Fix some mismatches between file names and header comments.
-- Be more consistent with header comment format (blank lines and
   trailing //-only lines when a filename comment adjoins license
   boilerplate).
Bug: b/436880895
Change-Id: I3bde5cc2059acbe8345057289214f1a26f1c34aa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6869022
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
               | 
            
            
              
   
               | 
              
aa533732
               | 
              
2025-07-28T15:56:13
               | 
              
               | 
              
CreateGeometryShaderInES3: Skip on ES3.1+
When testing the system EGL (angle_test_enable_system_egl = true), the
context returned is the maximally conformant version, which can be
OpenGL ES 3.2. The test GeometryShaderTestES3.CreateGeometryShaderInES3
verifies that geometry shaders cannot be created, assuming it will only
ever be testing ES 3.0 contexts.
1. Add ANGLE_INSTANTIATE_TEST_ES3_AND_ES31_AND_ES32() to instantiate a
   test for ES 3.0, 3.1, and 3.2.
2. Update GeometryShaderTestES3.CreateGeometryShaderInES3 to skip when
   testing ES 3.1+ contexts.
3. Instantiate GeometryShaderTestES3 for ES 3.0, 3.1, and 3.2.
Bug: b/409384875
Test: GeometryShaderTestES3
Change-Id: Ic5b4dbb167b8de7f24da285b4620f5257ed7df54
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6794766
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
               | 
            
            
              
   
               | 
              
3b7528e1
               | 
              
2025-05-20T12:31:28
               | 
              
               | 
              
Support running the full end2end suite against the System EGL
Update the end2end test instantiation to either fully target the
packaged ANGLE libraries or the system EGL, but not a combination of
both simultaneously.
The GN argument |angle_test_enable_system_egl| controls which driver
is being tested by all the instantiated tests. It's default value is
"false", which means the tests target the ANGLE libraries by default:
  kDefaultGLESDriver = GLESDriverType::AngleEGL
When |angle_test_enable_system_egl = true|:
  kDefaultGLESDriver = GLESDriverType::SystemEGL
This allows for testing the system EGL with the full end2end test suite,
which is useful on devices where ANGLE is the system EGL (e.g.,
Android). It also allows for specifying which backend to use (or all)
during system EGL testing, when ANGLE is the EGL driver.
This also includes removing the various ESx_EGL() functions, because the
end2end tests must now fully commit to testing either the ANGLE driver
or system driver, rather than a combination of both. This is similar to
many other test suites, such as the Khronos CTS (dEQP), which only test
validate a single driver per invocation.
Bug: b/279980674
Test: angle_end2end_tests
Change-Id: I4f7dc2ccb4f26b3bd02767d0a0d2876f8612f2ae
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6580876
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
               | 
            
            
              
   
               | 
              
c0d806b4
               | 
              
2025-02-10T23:01:33
               | 
              
               | 
              
CL: OpenCL support for ANGLE Capture/Replay
Implementation of OpenCL Capture/Replay tool in ANGLE.
Brief notes about the change:
- Most meaningful changes for the capture process are
  made in src/libANGLE/capture/
- Most meaningful changes for replay are made in
  util/capture/ and src/tests/perf_tests/
- Many autogenerated files are changed/added to allow
  the capture of OpenCL objects & calls
- The following applications were captured/replayed:
  benchmark_model, GeekBench Compute, GeekBench ML,
  AI-Benchmark, various OCL CTS tests
- End2end test added to capture_tests.
  CapturedTestCL.MultiFrameCL/ES3_Vulkan
Bug: angleproject:383841335
Change-Id: I55fdaa6cd6c7ba740aaa2351e4d29050059d6d1d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6102105
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
               | 
            
            
              
   
               | 
              
93e99da3
               | 
              
2025-02-05T11:23:50
               | 
              
               | 
              
Vulkan: Fix bugs with varying precision fixer
This transformation creates new variables and turns the original ones
Private.  There were a few bugs where some transformations referred to
the replaced id (larger than the original index bound) and had wrong
look up (where e.g. they would cache something based on the original id,
then try to look it up with the replaced id).
This change makes it such that where needed, both the old and new ids
are given to the various transformations, so they can look up with the
old id, but output instructions with the replaced id.
Bug: angleproject:386749841
Bug: b/394299327
Change-Id: Ie6b3c3445c440417cbbffdd849a036abfc504fe2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6235664
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: mohan maiya <m.maiya@samsung.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
               | 
            
            
              
   
               | 
              
c75bd915
               | 
              
2024-12-10T23:01:44
               | 
              
               | 
              
Vulkan: Remove asyncCommandQueue
It's been years and it never showed an advantage.  In the meantime,
performance without this feature seems close to native drivers (i.e. the
feature has lost its appeal) and it's frequently a source of
complication and bugs.
Bug: angleproject:42262955
Bug: angleproject:42265241
Bug: angleproject:42265934
Bug: angleproject:42265368
Bug: angleproject:42265738
Bug: angleproject:42266015
Bug: angleproject:377503738
Bug: angleproject:42265678
Bug: angleproject:173004081
Change-Id: Id8d7588fdbc397c28c1dd18aafa1f64cbe77806f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6084760
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
               | 
            
            
              
   
               | 
              
7a1da65f
               | 
              
2024-11-25T00:00:00
               | 
              
               | 
              
Fix GetTexLevelParameter validation
* Adjusted ValidTextureTarget and ValidTexLevelDestinationTarget
  helpers to allow multisample 2D array target on unextended
  OpenGL ES 3.2 contexts.
* Adjusted ValidTexLevelDestinationTarget helper to disallow
  2D array, 2D multisample, and 3D texture targets when the
  corresponding functionality is not available.
* Removed redundant texture object validation from
  ValidateGetTexLevelParameterBase.
* Adjusted ValidateGetTexLevelParameterBase to disallow
  parameters not available in the current context.
Fixed: angleproject:380291920
Change-Id: Id2fcd1e2c81be25f1d545d213bd2508185592f20
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6049081
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
               | 
            
            
              
   
               | 
              
9e8b104e
               | 
              
2024-10-14T00:00:00
               | 
              
               | 
              
Do not test OpenGL backend on iOS
Added Metal platform to tests
that require instantiation.
Bug: angleproject:40050022
Bug: angleproject:42264029
Bug: angleproject:42266119
Bug: angleproject:42266226
Bug: angleproject:42266239
Bug: angleproject:42266249
Bug: angleproject:359136169
Fixed: angleproject:373478551
Change-Id: I915f09c7f24acce27bf0d489932645338ac3fbe8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5932659
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
               | 
            
            
              
   
               | 
              
b16d105f
               | 
              
2024-10-03T10:25:32
               | 
              
               | 
              
Remove Desktop GL front-end support
For Desktop GL applications, please use Zink!
Bug: angleproject:370937467
Change-Id: Ie734634bb62a2e98c80e1b32d8b3d34624da3c04
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5905428
Reviewed-by: Geoff Lang <geofflang@chromium.org>
               | 
            
            
              
   
               | 
              
e90de4b2
               | 
              
2024-09-05T00:00:00
               | 
              
               | 
              
Add shadow sampler LOD tests
Added tests for GLSL 3.00 shadow
samplers in fragment shaders
with TEXTURE_2D target.
Bug: angleproject:365066518
Change-Id: I5b93d030cd14a388541acaff9f7a707ad599dba3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5845491
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
               | 
            
            
              
   
               | 
              
be4532be
               | 
              
2024-08-20T00:00:00
               | 
              
               | 
              
Metal: Update availability macros in tests
IsMetalTextureSwizzleAvailable
is always false on Simulator.
IsMetalCompressedTexture3DAvailable is
always true on the supported platforms.
Bug: angleproject:360147119
Change-Id: I297f7649071143b0cf3c20d5adc8fc3deca88910
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5816830
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
               | 
            
            
              
   
               | 
              
1db80b88
               | 
              
2024-07-10T12:47:42
               | 
              
               | 
              
Reland "Vulkan: Use VK_KHR_dynamic_rendering[_local_read]"
This is a reland of commit c379ff48043a47e444c388c45270db40d3172d50
Original change's description:
> Vulkan: Use VK_KHR_dynamic_rendering[_local_read]
>
> Bug: angleproject:42267038
> Change-Id: I1f4eb0f309992a9c1c287a69520dadf5eff23b26
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5637155
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
> Reviewed-by: Charlie Lao <cclao@google.com>
Bug: angleproject:42267038
Change-Id: I083e6963b5421386695e49a9872edbb2016c9763
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5691342
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
               | 
            
            
              
   
               | 
              
7d461b21
               | 
              
2024-07-10T14:11:53
               | 
              
               | 
              
Revert "Vulkan: Use VK_KHR_dynamic_rendering[_local_read]"
This reverts commit c379ff48043a47e444c388c45270db40d3172d50.
Reason for revert: Regresses CPU perf and memory when _not_ using DR
Original change's description:
> Vulkan: Use VK_KHR_dynamic_rendering[_local_read]
>
> Bug: angleproject:42267038
> Change-Id: I1f4eb0f309992a9c1c287a69520dadf5eff23b26
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5637155
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
> Reviewed-by: Charlie Lao <cclao@google.com>
Bug: angleproject:42267038
Change-Id: I3865f0d86813f0eeb9085a92875a33bd449b907f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5691337
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
               | 
            
            
              
   
               | 
              
c379ff48
               | 
              
2024-06-10T22:01:57
               | 
              
               | 
              
Vulkan: Use VK_KHR_dynamic_rendering[_local_read]
Bug: angleproject:42267038
Change-Id: I1f4eb0f309992a9c1c287a69520dadf5eff23b26
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5637155
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
               | 
            
            
              
   
               | 
              
3a3b55f7
               | 
              
2024-06-07T16:26:05
               | 
              
               | 
              
Tests: Disable modern_combat_5 on Pixel 6 + Android 13
Test uses an engine we haven't tested before and is triggering
thermal throttling crashes only on Pixel 6 with Android 13(T).
Throttling code improved by the Android 14(U) release.
Test: angle_trace_tests --gtest_filter="*modern_combat_5*"
Bug: b/42267261
Change-Id: Iffaf5c4d25e928c4914c2d7ec3223141929a961a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5609832
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
               | 
            
            
              
   
               | 
              
71e0038c
               | 
              
2024-05-27T14:50:09
               | 
              
               | 
              
Vulkan: Remove SwiftShader+AsyncCommandQueue tests
The AsyncCommandQueue feature is not shipping anywhere, especially not
with SwiftShader.  Besides, the tests already run
Vulkan+AsyncCommandQueue tests.  Additionally, SwiftShader still gets
exposure to this feature together with the EnableParallelCompileAndLink
feature.
Bug: angleproject:40644897
Change-Id: I34f0f76ef598f757d3af365777ebb91149b95be3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5574007
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
               | 
            
            
              
   
               | 
              
95294b24
               | 
              
2024-02-28T16:11:45
               | 
              
               | 
              
Android: Add Galaxy S22 support (Xclipse)
Test: angle_tests
Bug: b/267953710
Change-Id: I53ac424bce23a93fe980539f0946c04aeae6e91e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5333957
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
               | 
            
            
              
   
               | 
              
ede15b85
               | 
              
2023-12-07T00:00:00
               | 
              
               | 
              
Metal: Run multi draw tests
Added ANGLE_INSTANTIATE_TEST_COMBINE_3.
Used the new macro for multi draw and BVBI tests.
Bug: angleproject:6963
Change-Id: If05800f92f670bf21b7ff889a2fb8bb30f62a488
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5106508
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
               | 
            
            
              
   
               | 
              
571b4cdb
               | 
              
2023-08-14T16:55:28
               | 
              
               | 
              
Vulkan: Move pipeline/desc-set layout creation to link job
The pipeline and desc-set layout caches are consequently made
thread-safe.  The reference counter on the layouts are also made atomic.
With this change, practically all of the link in the Vulkan backend is
moved to the link job.
Bug: angleproject:8297
Change-Id: Iba694ece5fc5510d34cce2c34441ae08ca5bb646
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4774787
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
               | 
            
            
              
   
               | 
              
16cfa28e
               | 
              
2023-08-08T22:08:24
               | 
              
               | 
              
Vulkan: Basic infra for parallel link
This change moves pipeline warm up to a parallelizable task, mostly as
an exercise to put in the infrastructure for parallel link in the Vulkan
backend.  Follow up changes will move more of the link step to this
task.
The end goal is to be able to make the link task independent of
ContextVk, which would allow it to be run as an UnlockedTailCall, even
if not using a worker thread.
Bug: angleproject:8297
Change-Id: I17047162b2a41f0d681d9e3ee33f2e0239b4280d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4764231
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
               | 
            
            
              
   
               | 
              
f4e901b4
               | 
              
2023-08-07T10:52:09
               | 
              
               | 
              
Validate program binaries are the same CPU bit-ness.
ANGLE's program binary serialize/deserialize logic uses size_t and
other non-fixed sized integer types. This can cause crashes if the
CPU architecture changes between saving and loading of binaries.
Bug: chromium:1470074
Bug: angleproject:8223
Change-Id: Ib2529e0e6e66e28a184aa1ec94075e343e1f1d5e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4752265
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
               | 
            
            
              
   
               | 
              
113f847b
               | 
              
2023-06-26T12:07:52
               | 
              
               | 
              
centralize basic OS/platform detection functions
We had multiple different places that defined these, and with varying
naming schemes. Centralize them to be defined in platform_helpers.h.
Also renaming the IsApple(uint32_t) functions to IsAppleGPU(uint32_t) to
avoid ambiguous meaning: "IsApple" should mean "is Apple-vended OS"
while "IsAppleGPU" should mean "is Apple GPU vendor ID".
Bug: angleproject:8229
Change-Id: If4e3fc5ac1b5b8ad416663950a1b2ee912ccad99
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4647291
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Steven Noonan <steven@uplinklabs.net>
Auto-Submit: Steven Noonan <steven@uplinklabs.net>
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
               | 
            
            
              
   
               | 
              
b526112d
               | 
              
2023-05-12T11:31:06
               | 
              
               | 
              
Tests: include system EGL configs for ES3.1 and ES3.2 tests
These are enabled with angle_test_enable_system_egl=true
Example:
    [       OK ] ProgramPipelineTest32.CreateProgramWithTransformFeedbackVarying/ES3_2_EGL (280 ms)
Bug: b/278585075
Change-Id: Ic991b3bc6fa36a6856b28fcfc7a433ac183a2c4d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4526358
Commit-Queue: Roman Lavrov <romanl@google.com>
Auto-Submit: Roman Lavrov <romanl@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
               | 
            
            
              
   
               | 
              
4a8bc146
               | 
              
2022-12-29T17:26:05
               | 
              
               | 
              
Skip angle_restricted_trace_gold_tests.car_chase asserts on Pixel 6
Assert failed in setSerial
Bug: angleproject:7916
Change-Id: I05a91cfd29194e29e6c512c9001c064951dcf466
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4127959
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
               | 
            
            
              
   
               | 
              
a9868110
               | 
              
2022-09-15T17:29:04
               | 
              
               | 
              
Add support for testing with Mesa + Zink.
To run a trace test with zink, use --use-gl=zink.
Bug: angleproject:7689
Change-Id: I70073756f903db1c224fe6175d55be4cad637aca
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3899382
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
               | 
            
            
              
   
               | 
              
b9df95ff
               | 
              
2022-09-06T18:19:32
               | 
              
               | 
              
Add option to enable System EGL on all test configs
Introduce angle_test_enable_system_egl build option
to enable ES1_EGL, ESL2_EGL and ES3_EGL on all test
instantiation macros. This allows GLES 1.x tests to
run on native drivers.
Test: angle_end2end_tests --gtest_filter="*/ES1_EGL"
Bug: angleproject:6201
Change-Id: I6981eb9e99f0cdbd030319f014a7b371ced7e1e7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3812046
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Constantine Shablya <constantine.shablya@collabora.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
               | 
            
            
              
   
               | 
              
115d8361
               | 
              
2022-07-21T13:59:48
               | 
              
               | 
              
Switch Linux Intel testing to UHD 630 GPU
Replacing 0x5912 HD 630 with 0x9bc5 UHD 630.
Also updating Mesa from 19.0.2 to 20.0.8.
Since no problems were observed on the new configuration during the
experiment, removing max-processes and flaky-retries workarounds.
Bug: chromium:1342945
Change-Id: I51150092c67802ffd54796dd3b067cd6473dfb86
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3780922
Reviewed-by: Roman Lavrov <romanl@google.com>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
               | 
            
            
              
   
               | 
              
785353fd
               | 
              
2022-05-24T12:40:16
               | 
              
               | 
              
Support Desktop OpenGL context creation in end2end tests
Validation of Desktop GL versions and profile masks is unimplemented.
Bug: angleproject:7360
Change-Id: Ifae94215b6aada895c2b02318a1d05c9515e9b96
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3664916
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
               | 
            
            
              
   
               | 
              
66dcca5e
               | 
              
2022-05-12T11:14:27
               | 
              
               | 
              
Vulkan: Dynamic state for depth test/write/op
Bug: angleproject:5906
Change-Id: Ie48a0780406c6dbbdd47639f2e185dc854879140
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3646429
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
               | 
            
            
              
   
               | 
              
797e627e
               | 
              
2022-04-08T22:49:51
               | 
              
               | 
              
Autogenerate list of features as enum
The WithX() and WithNoX() helpers are removed and replaced with enable()
and disable() member functions that take the name of the feature (as a
Feature::X enum constant).  This has two benefits:
- Adding tests that override a feature no longer requires additional
  helper functions to be written.
- There's no mistaking the feature name.
This change doesn't yet fix the main issue in anglebug.com/6435, but
does fix the following helpers using an old feature name (so they were
ineffective):
- WithMetalForcedBufferGPUStorage
- WithNoVulkanViewportFlip
A follow up would remove the old way of overriding features in tests and
replaces them with the new way.
Bug: angleproject:6435
Change-Id: Ida02b26ec72bc40d7a8938c76a93815bb903ca05
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3580982
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
               | 
            
            
              
   
               | 
              
8b84cf15
               | 
              
2022-03-30T13:42:38
               | 
              
               | 
              
Tests: Add GFXBench Car Chase trace
Test: angle_perftests --gtest_filter="*car_chase*"
Bug: angleproject:7125
Bug: angleproject:7173
Change-Id: I07069d46351718743e545fc056f41de2b6fe3820
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3561484
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
               | 
            
            
              
   
               | 
              
e7d44541
               | 
              
2022-04-01T16:48:55
               | 
              
               | 
              
Use GTEST_SKIP to set gTest status of skipped tests to SKIPPED.
Example from: angle_end2end_tests_on_Android_device_Pixel_4
Before:
[----------] 1 test from BlendMinMaxTest
[ RUN      ] BlendMinMaxTest.RGBA16F/ES3_Vulkan
Test skipped: (IsAndroid() && IsVulkan()) || isSwiftshader().
[       OK ] BlendMinMaxTest.RGBA16F/ES3_Vulkan (116 ms)
  "num_failures_by_type": {
    "CRASH": 0,
    "FAIL": 1,
    "PASS": 16966,
    "SKIP": 313,
    "TIMEOUT": 0
  },
After:
[ RUN      ] BlendMinMaxTest.RGBA16F/ES3_Vulkan
../../src/tests/gl_tests/BlendMinMaxTest.cpp:191: Skipped
Test skipped: (IsAndroid() && IsVulkan()) || isSwiftshader().
[  SKIPPED ] BlendMinMaxTest.RGBA16F/ES3_Vulkan (117 ms)
  "num_failures_by_type": {
    "CRASH": 0,
    "FAIL": 1,
    "PASS": 12067,
    "SKIP": 5212,
    "TIMEOUT": 0
  },
Bug: angleproject:6854
Change-Id: I3335e4e2ae941d43d6a974d9611252e0849bc2c7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3566225
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
               | 
            
            
              
   
               | 
              
4572a176
               | 
              
2022-01-03T13:29:59
               | 
              
               | 
              
Add support for GL_MESA_framebuffer_flip_y 3/*
This is a third CL that adds tests that exercise
the extension in various use cases.
Bug: chromium:1231934
Change-Id: Iae3192cd0985150b6844a2855a9a048a54353655
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3365195
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Maksim Sisov <msisov@igalia.com>
               | 
            
            
              
   
               | 
              
d6b9a259
               | 
              
2021-12-14T16:32:14
               | 
              
               | 
              
end2end_tests: Add SwS + AsyncQueue testing.
This covers a hole in sanitizer testing.
Bug: angleproject:6746
Change-Id: I3c9569f94f0d51f771c57d1d72743849a1cbba33
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3337984
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
               | 
            
            
              
   
               | 
              
9d49d843
               | 
              
2021-12-15T00:36:54
               | 
              
               | 
              
Add WebGLCompressedTextureAvailabilityTest
Acts as a regression test for https://crrev.com/c/3338624
Has been verified to catch the earlier error in the include guards.
Bug: angleproject:6809
Bug: chromium:1279908
Change-Id: I248aca46db26eea304044835ea35fc2400ed459d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3338748
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
               | 
            
            
              
   
               | 
              
316dcb56
               | 
              
2021-10-06T09:31:49
               | 
              
               | 
              
Add SwANGLE Skia Gold testing.
Required updating our system info helper to be able to retrieve
SwiftShader device information.
Bug: angleproject:6496
Change-Id: Ib38ea4da65d199433e17b87df2630c3fd77cb619
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3208646
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
               | 
            
            
              
   
               | 
              
2a9e6e48
               | 
              
2021-11-01T15:56:54
               | 
              
               | 
              
infra: Add tests to ASAN configs.
These add basic ANGLE tests with SwiftShader + ASAN.
Bug: angleproject:5795
Change-Id: I92a51a44214ff0f442d4a1b2a0bc6ac2b8d3f4eb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3254431
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
               | 
            
            
              
   
               | 
              
212f4592
               | 
              
2021-09-22T12:02:47
               | 
              
               | 
              
Enable direct-to-metal backend by default
We are switching over to Apple's direct-to-metal backend instead
of generating SPIRV in the metal backend. This CL enables the
direct-to-metal generation by default, but the SPIRV backend is
still accessible by overriding the feature directMetalGeneration.
This CL comes with a change in test expectations to catch new
failures and clean up newly passing tests.
Bug: angleproject:6080
Change-Id: I4b10ad93c641b88857079a08fb45d3dc575d71f1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3175664
Reviewed-by: Gregg Tavares <gman@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
               | 
            
            
              
   
               | 
              
a44197b5
               | 
              
2021-09-30T17:21:21
               | 
              
               | 
              
Tests: Add Mini World Creata Trace
Vulkan test failed on Pixel4XL due to a
vulkan validation layer error
VUID-vkDestroyBuffer-buffer-00922.
As a temp work around,
I add a condition in TracePerfTest.cpp
to skip the vulkan test on Qualcomm GPU
Test: angle_perftests --gtest_filter="*mini_world*"
Bug: b/194508684
Bug: angleproject:6443
Change-Id: I382b9dfc9aafeed92b89223214d8a4aeb75425a7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3195194
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
               | 
            
            
              
   
               | 
              
085ab6e8
               | 
              
2021-09-09T10:22:04
               | 
              
               | 
              
Turn on Direct Metal tests
Bug: angleproject:5505
Change-Id: I8de95f28698785e5467dd82d04cbc7636d6df042
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3152156
Commit-Queue: Gregg Tavares <gman@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
               | 
            
            
              
   
               | 
              
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>
               | 
            
            
              
   
               | 
              
3b0fcf6a
               | 
              
2021-06-30T15:14:48
               | 
              
               | 
              
Vulkan: SPIR-V Gen: Support type casts in constructors
GLSL basic, vector and matrix constructors can convert between types.
This was already done for constants used in constructors.  This change
implements the cast for non-constant expressions.
Bug: angleproject:4889
Change-Id: I0a8c1a6e97ffced0d1652032a41fb87c70be16ca
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2999022
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
               | 
            
            
              
   
               | 
              
328a5c89
               | 
              
2021-05-18T12:13:23
               | 
              
               | 
              
infra: Add tests to Android Pixel 4 bot.
Only angle_end2end_tests and angle_unittests to start.
Also adds test expectations for the Pixel 4 end2end_tests.
Patch Series:
1. http://crrev.com/c/2885381
2. http://crrev.com/c/2885346
3. http://crrev.com/c/2885383
4. This CL
Bug: angleproject:5941
Bug: angleproject:5946
Bug: angleproject:5947
Bug: angleproject:5981
Change-Id: Iaaea0b427513804575d0ad7773a81379ea932eb5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2885384
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
               | 
            
            
              
   
               | 
              
939195a0
               | 
              
2020-12-23T15:12:30
               | 
              
               | 
              
Skip tests using unimplemented features on iOS
Bug: angleproject:5485
Change-Id: I3248126060b9957596f65221c60f42f213e9a9dc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2601377
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
               | 
            
            
              
   
               | 
              
8065aa82
               | 
              
2020-12-22T23:38:42
               | 
              
               | 
              
Front-end support for xfb capture of I/O block members
Validation and generation of transform feedback varyings that specify an
I/O block member are implemented in this change.  The GL backend is able
to pass the added tests.
Bug: angleproject:3606
Change-Id: I66d02bed8ca9161555d0d1e7a32ae9ef4d9e813f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2599952
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
               | 
            
            
              
   
               | 
              
f691b3b5
               | 
              
2020-12-02T13:11:54
               | 
              
               | 
              
Vulkan: Support PrimitivesGenerated query
This query uses the Vulkan transform feedback extension.  In GL,
GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN and GL_PRIMITIVES_GENERATED
queries can be independently begun/ended.  However, Vulkan requires that
queries from pools of the same type can only be active one at a time.
This forbids the two GL queries from being handled by two VK queries
when they are simultaneously begun.
This change makes these queries share their QueryHelper objects.  The
Vulkan transform feedback queries unconditionally retrieve both results
anyway, so this is just a matter of making sure the two GL queries are
merged as one when they are simultaneously used.
The change fixes a number of issues as collateral:
- TransformFeedbackPrimitivesWritten queries when !emulated were not
  released
- Stashed queries were never released
- If no render pass is open when a query ends, then getResult(no_wait)
  ended up waiting
Bug: angleproject:5404
Change-Id: I8ce13ea76ffd31b3152ded7c713c6466d0315504
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2573580
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
               | 
            
            
              
   
               | 
              
9041ca0c
               | 
              
2020-11-20T16:27:48
               | 
              
               | 
              
Limit testing of in-progress work to ANGLE's build of dEQP
A new feature is added, exposeNonConformantExtensionsAndVersions, which
is set by ANGLE's build of dEQP to allow exposing ES3.2 or extensions
that are not yet entirely conformant.  This would allow ANGLE to expose
WIP extensions for regression testing without affecting partners that
test ANGLE with dEQP's standalone build.
Bug: angleproject:3647
Change-Id: Id1e6219f26b41d3f8cdc9763131b8052227761c5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2552926
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Sunny Sun <sunny.sun@arm.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
               | 
            
            
              
   
               | 
              
f98f18f6
               | 
              
2020-11-17T18:42:35
               | 
              
               | 
              
Remove Nexus 6P expectations
Bot decommissioned in crrev.com/c/2541579
Bug: chromium:1148989, angleproject:5280, angleproject:3726
Bug: angleproject:2641, angleproject:3264, angleproject:2114
Bug: angleproject:3464, angleproject:4991, angleproject:1415
Bug: angleproject:2407, angleproject:1427, angleproject:4215
Bug: angleproject:1429, angleproject:5069, chromium:998503
Change-Id: I1b268fdbcf6465aef447e90e470c1a011c7b3747
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2545892
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
               | 
            
            
              
   
               | 
              
38016632
               | 
              
2020-11-11T08:04:45
               | 
              
               | 
              
Vulkan: Enable async feature in end2end_tests.
This adds a new async-command-queue-enabled config that we run against
most of the GLES tests in angle_end2end_tests. The tests now test
both with and without the threaded command queue.
Bug: b/172704839
Change-Id: Ife75f8328f23ac150cddf8ad8a6c4b8fc2d83986
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2532655
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
               | 
            
            
              
   
               | 
              
8a275449
               | 
              
2020-10-25T03:22:10
               | 
              
               | 
              
Metal: Add ES3_METAL to ANGLE_ALL_TEST_PLATFORMS_ES3
Bug: angleproject:2634
Change-Id: Iacc3aaf17565c7b16879897db4b9dac16826d829
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2494526
Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
               | 
            
            
              
   
               | 
              
83539557
               | 
              
2020-09-27T16:27:16
               | 
              
               | 
              
Metal: Implement texture swizzle
Only enabled on macOS 10.15 and iOS 13.0 for now.
Bug: angleproject:2634
Change-Id: Ic44a245198e32f076e429312cae844c510e864d1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2433333
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
               | 
            
            
              
   
               | 
              
1070802c
               | 
              
2020-10-29T17:02:45
               | 
              
               | 
              
Skip Instanced MultiDrawTest.MultiDrawArrays on Mac Mini 8.1
Bug: angleproject:5265
Change-Id: I1d3f1802398472c0da2d00526bd7eb52f6596bea
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2508532
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@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>
               | 
            
            
              
   
               | 
              
e0780931
               | 
              
2020-10-08T17:57:47
               | 
              
               | 
              
Suppress gl_test failures on Mac ARM64 (Apple DTK)
BuiltinVariableFragDepthClampingFloatRBOTest.Below1/ES3_OpenGL
CopyTexImageTest.DeleteAfterCopyingToTextures/ES2_OpenGL
GLSLTest.MaxVaryingVec2Arrays/ES2_Metal
GLSLTest.MaxVaryingVec3ArrayAndOneFloatArray/ES2_Metal
GLSLTest.MoreNestedCompoundStructsWithSamplersAsFunctionArg/ES2_OpenGL
GLSLTest.NestedCompoundStructsWithSamplersAsFunctionArg/ES2_OpenGL
GLSLTest.NestedStructsWithSamplersAsFunctionArg/ES2_OpenGL
GLSLTest.NestedStructsWithSamplersAsFunctionArg/ES3_OpenGL
MipmapTestES3.BaseLevelTextureBug/ES3_OpenGL
MipmapTestES3.GenerateMipmapBaseLevel/ES3_OpenGL
MipmapTestES3.GenerateMipmapCubeBaseLevel/ES3_OpenGL
MipmapTestES3.GenerateMipmapMaxLevel/ES3_OpenGL
MipmapTestES3.GenerateMipmapPreservesOutOfRangeMips/ES3_OpenGL
OcclusionQueriesTest.MultiQueries/ES2_Metal
Texture2DBaseMaxTestES3.GenerateMipmapAfterRedefineAndRebase/ES3_OpenGL
Texture2DFloatTestES2.TextureFloatLinearLegacyTest/ES2_Metal
Texture2DFloatTestES2.TextureFloatLinearLegacyTest/ES2_OpenGL
Texture2DFloatTestES2.TextureFloatLinearTest/ES2_Metal
Texture2DFloatTestES2.TextureFloatLinearTest/ES2_OpenGL
Texture2DFloatTestES3.TextureFloatLinearLegacyTest/ES3_OpenGL
Texture2DFloatTestES3.TextureFloatLinearTest/ES3_OpenGL
TimerQueriesTest.TimeElapsed/ES3_OpenGL
TimerQueriesTest.TimeElapsedMulticontextTest/ES3_OpenGL
WebGLCompatibilityTest.TextureCopyingFeedbackLoops/ES2_OpenGL
WebGLCompatibilityTest.TextureCopyingFeedbackLoops/ES3_OpenGL
Bug: chromium:1132295
Change-Id: If64dc67275063c8046dbc941d92de273fbc226e5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2461674
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
               | 
            
            
              
   
               | 
              
e815afbf
               | 
              
2020-09-07T22:09:22
               | 
              
               | 
              
First pass at increasing inclusivity
Link to the inclusivity rules
https://source.android.com/setup/contribute/respectful-code
Bug: b/162834212
Bug: chromium:1097198
Change-Id: Ied5a9e3879d72bff3f77ea6fcda9b82f30c32c2f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2396737
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Trevor Black <vantablack@google.com>
               | 
            
            
              
   
               | 
              
6e36029d
               | 
              
2020-09-28T21:57:08
               | 
              
               | 
              
Disable Mock ICD perf tests on Android.
Bug: angleproject:5084
Change-Id: Iafff2adbd8bfc2844c43ca31329f3f8be1250631
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2438193
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
               | 
            
            
              
   
               | 
              
7bd8bd9f
               | 
              
2020-09-24T17:11:56
               | 
              
               | 
              
Skip PBO test on TSAN.
Texture2DTest.TexStorageWithPBO/ES2_OpenGL is flaky.
Bug: b/168744561
Bug: angleproject:5097
Change-Id: Ide9b5a7d22e86c6eccd83ebc3bce6797b90150a6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2430163
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
               | 
            
            
              
   
               | 
              
39185acc
               | 
              
2020-09-12T13:47:16
               | 
              
               | 
              
Test Runner: Re-use displays when using "bot mode".
This will allow us to speed up test execution by using multiple
processes on non-Windows platforms. Because of the process isolation
of "bot mode" we don't run into display re-use bugs like we do when
running in a single process.
Bug: angleproject:3162
Change-Id: I25370d4a07236e34f87e1c1efef8684f9891ecf8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2407835
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
               | 
            
            
              
   
               | 
              
6aed2832
               | 
              
2020-07-31T10:52:21
               | 
              
               | 
              
Batch capture run + change how results are logged
Before, the run stages of tests in a batch were run separately by
multiple subprocesses. Now the run stages of tests in a batch are
batched together and run by a single subprocess.
Changes how results are logged. Tests in a batch are logged together.
Within a batch, tests that fail at the same stage are also logged
together.
Bug: angleproject:4817
Change-Id: Ie3f992c081de914f1f1f521bec2d72f06ccca238
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2331738
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
               | 
            
            
              
   
               | 
              
39ce0f67
               | 
              
2020-05-08T20:27:03
               | 
              
               | 
              
Skip swiftshader tests based on active GPU
Currently Swiftshader tests are skipped only if a swiftshader device is
requested. We should also skip swiftshader tests if the default GPU on
the system is swiftshader, as is the case in certain emulated systems.
Bug: angleproject:4626
Change-Id: I3ee83c43d35eb4f94b516e80689b241d53bbfb62
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2192090
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
               | 
            
            
              
   
               | 
              
d9268889
               | 
              
2020-04-22T20:24:16
               | 
              
               | 
              
Take into account baseVertex for drawElementsImpl D3D11
Also add test for GL_DYNAMIC_DRAW and GL_STREAM_DRAW with vertex
color data updating before each draw call to make sure index range
is retrieved correctly.
Bug: angleproject:3402, angleproject:3911
Change-Id: I5f209292b6e316e4b50505a98b361eb8761a7d6b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2162132
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shrek Shao <shrekshao@google.com>
Commit-Queue: Shrek Shao <shrekshao@google.com>
               | 
            
            
              
   
               | 
              
5df2c9ea
               | 
              
2020-03-15T17:28:43
               | 
              
               | 
              
Refactor ANGLE common test utils.
This reduces code duplication by including a common set of sources in a
single place. New test sets will be a bit easier to add. It also
encapsulates the dependencies a bit better when we pull the test utils
out of the test targets.
Unblocks a follow-up CL that moves the trace perf test sources into
their own file so we can re-enable optimizations in the main perf test
target.
New warnings popped up in a few of the files because of the new source
set enabling more warnings. This CL also fixes all of those.
Bug: angleproject:3630
Change-Id: Ic30cb30fb4288c4dbbbd29f9bdf04be51e8a6b30
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2103083
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
               | 
            
            
              
   
               | 
              
39087f4a
               | 
              
2020-02-16T11:53:23
               | 
              
               | 
              
Refactor DrawCallPerf test parameters.
Use the new combiners functions added in an earlier CL. Makes it easy
to maintain bigger lists of test combinations.
Also a few other changes:
 - removes some D3D9 perf testing since we don't maintain this config
 - removes the "validation only" tests. these were mostly redundant
 - makes the tests permutation combinations more consistent
Bug: angleproject:3630
Change-Id: I175d887a01b21123f83f9fa4f64dacaa2644147a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2059468
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
               | 
            
            
              
   
               | 
              
ce4918f1
               | 
              
2020-02-19T09:39:44
               | 
              
               | 
              
Vulkan: Sanitize Images & Buffers with non-zero values.
Only enabled for specific tests at the moment. This CL allows our tests
to sanitizes memory for the robust resource access extension. It is
quite slow so should not be enabled by default.
Only works for 1 level 2D color textures and buffers. Makes several
flaky robust resource initialization tests consistently fail.
Controlled via an angle::Feature in FeaturesVk.
It works by initializing memory to an abitrary non-zero value:
 - if newly allocated memory is mappable, we map it in init and set it
 - if a buffer or texture can be a transfer destination, we use a
   staging resource
 - otherwise we don't attempt to initialize the resource.
Bug: angleproject:4384
Change-Id: I9b4f347bfcddf3096f491ed0243bef86837feaa0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2043271
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
               | 
            
            
              
   
               | 
              
49010904
               | 
              
2020-02-15T12:21:17
               | 
              
               | 
              
Refactor test parameters to TracePerfTest.
Reduces much of the code duplication by adding some new helper methods.
The helpers allow combining test parameters similarly to how the
GoogleTest Combine() and Values() generators work. They are more
general and work by returning collections of test parameters instead
of combining generator functions.
Also updates the GLMark2 benchmark runner to use the new methods.
Bug: angleproject:3630
Change-Id: Ibc10f9afb401e119d67a7119974a1a8d9b5abb60
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2057353
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
               | 
            
            
              
   
               | 
              
74ab0bff
               | 
              
2020-02-12T17:29:27
               | 
              
               | 
              
Vulkan: Disable command graph by default.
Also removes the angle_end2end_tests feature override.
Bug: angleproject:4029
Change-Id: I0d0bd087fc2143360185592d9fa1238a9bafc55d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2046054
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
               | 
            
            
              
   
               | 
              
3b82506a
               | 
              
2020-02-11T09:35:38
               | 
              
               | 
              
Vulkan: Command graph linearization (Step 5).
Implements ES 3.1 support.
Bug: angleproject:4029
Change-Id: I3c08602cf4ec64621bfdb40cd40d142b666e6edf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2046052
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
               | 
            
            
              
   
               | 
              
3c066404
               | 
              
2020-02-05T12:43:12
               | 
              
               | 
              
Vulkan: Command graph linearization (Step 4).
Implements GLES 3.0 functionality for the new command recording style.
Tested with angle_end2end_tests. dEQP/CTS testing will come later.
Bug: angleproject:4029
Change-Id: Ibdc4f1355a7b880946699ec227fd9807f4a27af9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2040197
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
               | 
            
            
              
   
               | 
              
20b1259a
               | 
              
2020-02-05T17:08:05
               | 
              
               | 
              
Vulkan: Command graph linearization (Step 2).
ES 2.0 is feature complete.
Passes all of the angle_end2end_tests with the new linear command
recording method. Also runs the T-Rex benchmark without any obvious
glitches. Likely has issues with creating too many RenderPasses. ES3
is mostly untouched.
Bug: angleproject:4029
Change-Id: Ic5acf3d768495fbffd07b07bf0a6f2b5787c51f8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2012900
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
               | 
            
            
              
   
               | 
              
4546c5ce
               | 
              
2020-01-31T15:05:35
               | 
              
               | 
              
Skip failing end2end tests on Windows on ARM
There are multiple failing tests on Windows on ARM which are related to drawing differences.
They seem to be similar to an already reported issue (anglebug.com/3748).
Bug: angleproject:4356
Bug: angleproject:4357
Change-Id: Ide5cc2e6f42d4c4b6fb88352833d20e517005c14
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2033067
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
               | 
            
            
              
   
               | 
              
44c75073
               | 
              
2020-01-20T19:59:55
               | 
              
               | 
              
Fuchsia: Disable GLES3 testing on Fuchsia ARM
The vulkan driver is missing required extensions so these tests are all
failing.
Bug: angleproject:4352
Change-Id: Id1af7c40798d8844fbf832c6066260fe3a8bfeda
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2023911
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
               | 
            
            
              
   
               | 
              
3712b2e4
               | 
              
2020-01-24T17:08:30
               | 
              
               | 
              
Vulkan: Command graph linearization (Step 1).
This initial prototype introduces a new feature to the Vulkan back-end
that disables the deferred command recording. The intent is to have a
lower CPU overhead during submission calls which currently walk a DAG.
The feature is not complete. Currently it only passes the ANGLE
SimpleOperationTests. Moreover it is extremely simple and only allows
use of one command buffer at a time. In the future we'll allow open
command buffers for recording outside and inside render pass commands
at the same time. We'll also support collapsing RenderPasses together
for some use cases.
Currently the prototype only passes "SimpleOperationTest". There are
quite a few unimplemented features like queries, XFB, etc.
Bug: angleproject:4029
Change-Id: I82760986683f55e37ac4ea559de6f4cffb6ef84e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1953485
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
               | 
            
            
              
   
               | 
              
5407aaa0
               | 
              
2019-12-16T15:50:12
               | 
              
               | 
              
Re-land "Add new test runner harness." (#2)
Re-land #2 changes:
 * export labels are fixed for the CFI build
 * crash test disabled because of flakiness and issues with asan
Re-land changes:
 * Unit test is suppressed in ASAN
 * --deqp-case is fixed
 * Debug layer errors should correctly work with failure expectations
Original message:
The ANGLE test harness is a harness around GoogleTest that provides
functionality similar to the Chromium test harness. It supports:
 * splitting a test set into shards
 * catching and reporting crashes and timeouts
 * outputting to the Chromium JSON test results format
 * multi-process execution
Unit tests are added in test_utils_unittest.cpp.
Bug: angleproject:3162
Bug: chromium:1030192
Change-Id: I71d66a407ea0e53d73cbe75b5b4bfb9e73791534
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1965091
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
               | 
            
            
              
   
               | 
              
b92ec244
               | 
              
2019-12-06T15:08:54
               | 
              
               | 
              
Revert "Re-land "Add new test runner harness.""
This reverts commit e20560faf1de86c01198143ef7733a12a098a90b.
Reason for revert: Now fails on Linux CFI and also is a bit flaky.
Original change's description:
> Re-land "Add new test runner harness."
> 
> Re-land changes:
> 
>  * Unit test is suppressed in ASAN
>  * --deqp-case is fixed
>  * Debug layer errors should correctly work with failure expectations
> 
> Original message:
> 
> The ANGLE test harness is a harness around GoogleTest that provides
> functionality similar to the Chromium test harness. It supports:
> 
>  * splitting a test set into shards
>  * catching and reporting crashes and timeouts
>  * outputting to the Chromium JSON test results format
>  * multi-process execution
> 
> Unit tests are added in test_utils_unittest.cpp.
> 
> Bug: angleproject:3162
> Change-Id: I841f2b5dfe51f7f44dac68324bdf6afd418b8bfb
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1948240
> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
TBR=ynovikov@chromium.org,ianelliott@google.com,jonahr@google.com,jmadill@chromium.org
Change-Id: Ibfd65b8b18ead3a232abb6cb75fd6489b0ff5f38
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:3162
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1954570
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
               | 
            
            
              
   
               | 
              
e20560fa
               | 
              
2019-12-04T13:18:36
               | 
              
               | 
              
Re-land "Add new test runner harness."
Re-land changes:
 * Unit test is suppressed in ASAN
 * --deqp-case is fixed
 * Debug layer errors should correctly work with failure expectations
Original message:
The ANGLE test harness is a harness around GoogleTest that provides
functionality similar to the Chromium test harness. It supports:
 * splitting a test set into shards
 * catching and reporting crashes and timeouts
 * outputting to the Chromium JSON test results format
 * multi-process execution
Unit tests are added in test_utils_unittest.cpp.
Bug: angleproject:3162
Change-Id: I841f2b5dfe51f7f44dac68324bdf6afd418b8bfb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1948240
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
               | 
            
            
              
   
               | 
              
b6148c3a
               | 
              
2019-11-21T10:13:44
               | 
              
               | 
              
Metal: re-enable end2end tests
Bug: angleproject:4157
Change-Id: Ia7e29c32696c84556e9ea527fc48b086b1bc4766
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1940007
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
               | 
            
            
              
   
               | 
              
c1776c61
               | 
              
2019-11-13T11:36:35
               | 
              
               | 
              
Vulkan:Add Swiftshader configs
Add Swiftshader configs to existing test instantiation macros for all ESX
variants. This causes Swiftshader to be used to run end2end tests.
Added detection code to know when tests are running on Swiftshader and skipping
a number of fails initially.
Note that when running ANGLE end2end tests within Chromium build on Win32 bots
there were crashes with Swiftshader config for tests that should have been skipped.
Due to this, just skipping Swiftshader configs on Win32 for now.
Bug: angleproject:4081
Bug: angleproject:4092
Change-Id: I32527a62304c5fad90f645b372edf9411ca2b212
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1914126
Commit-Queue: Tobin Ehlis <tobine@google.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
               | 
            
            
              
   
               | 
              
8392b118
               | 
              
2019-11-20T16:57:08
               | 
              
               | 
              
Revert "Metal: Enable end2end tests."
This reverts commit 0bb42e091b77f174632434a05789b2ce632bd902.
Reason for revert: https://bugs.chromium.org/p/chromium/issues/detail?id=1026633
Causing failures on Mac bots.
Original change's description:
> Metal: Enable end2end tests.
> 
> Explicitly disabled tests:
> - DifferentStencilMasksTest.DrawWithDifferentMask
> - PointSpritesTest.PointSizeAboveMaxIsClamped
> - WebGL2ReadOutsideFramebufferTest.CopyTexSubImage3D
> 
> Bug: angleproject:2634
> Change-Id: I76ab450c06d0e1be1e7469a8b9c6497684c3ca54
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1906607
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
TBR=geofflang@chromium.org,jonahr@google.com,jmadill@chromium.org,le.hoang.q@gmail.com
Change-Id: Iaa4264834170a49c274f186d3d74f57714c84b32
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:2634
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1926378
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
               | 
            
            
              
   
               | 
              
0bb42e09
               | 
              
2019-11-19T23:04:00
               | 
              
               | 
              
Metal: Enable end2end tests.
Explicitly disabled tests:
- DifferentStencilMasksTest.DrawWithDifferentMask
- PointSpritesTest.PointSizeAboveMaxIsClamped
- WebGL2ReadOutsideFramebufferTest.CopyTexSubImage3D
Bug: angleproject:2634
Change-Id: I76ab450c06d0e1be1e7469a8b9c6497684c3ca54
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1906607
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
               | 
            
            
              
   
               | 
              
1a01b4b3
               | 
              
2019-11-11T16:41:07
               | 
              
               | 
              
Refactor end2end test macros
This is a foundational CL to enabling the end2end tests on swiftshader.
Refactored infrastructure with new ANGLE_INSTANTIATE_TEST_ES*
macros that will run tests over all various combinations of all
platforms for different ES versions.
Just skipping failing tests initially to get the refactor landed.
Bug: angleproject:4081
Bug: angleproject:4092
Change-Id: I017f6c3267179e49b6ae08cc7488096b423dcdb5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1904635
Commit-Queue: Tobin Ehlis <tobine@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
               | 
            
            
              
   
               | 
              
f228038d
               | 
              
2019-10-17T11:18:47
               | 
              
               | 
              
Treat Pixel 2 XL and Pixel 2 the same
When running on a Pixel 2 XL PIXEL2 expecations were not being
applied. Both devices use the same chipset and have same capabilities
so treat them the same for expectations.
Bug: angleproject:4025
Change-Id: I5287e80c21b681765af540ed6dfbd053aa838c1c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1866076
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
               | 
            
            
              
   
               | 
              
ecd3ebe9
               | 
              
2019-09-23T09:53:22
               | 
              
               | 
              
Temporarily disable SwiftShader on Windows 7.
A necesssary change in SwiftShader introduced a bug that was causing
test timeouts. Disable SwiftShader so they can revert the change
without breaking ANGLE.
Bug: angleproject:3876
Change-Id: I4b841a4a28fa13947c24b72d856db38c9e0135cb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1815908
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
               | 
            
            
              
   
               | 
              
e34564ba
               | 
              
2019-09-18T15:21:51
               | 
              
               | 
              
Revert "Suppress crashing perftests on Win Intel Exp Rel"
This reverts commit f8e8fcf8828f42005b4410cc4500c63d8e9112ce.
Reason for revert: ANGLE_SKIP_TEST_IF doesn't work in perftests
and this skip is not needed since the whole suite is disabled now
Original change's description:
> Suppress crashing perftests on Win Intel Exp Rel
> 
> Also moves ANGLE_SKIP_TEST_IF to a header shared between end2end and
> perf tests.
> 
> BUG=chromium:997674
> 
> Change-Id: I7c5968e6d861c4bff703ddc6ae0e4e021e47061f
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1768374
> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
TBR=geofflang@chromium.org,cwallez@chromium.org,jmadill@chromium.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: chromium:997674
Change-Id: I0a2124c93d1abd6c7efd2b29e942ee966982eed2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1810763
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
               | 
            
            
              
   
               | 
              
f8e8fcf8
               | 
              
2019-08-26T15:28:32
               | 
              
               | 
              
Suppress crashing perftests on Win Intel Exp Rel
Also moves ANGLE_SKIP_TEST_IF to a header shared between end2end and
perf tests.
BUG=chromium:997674
Change-Id: I7c5968e6d861c4bff703ddc6ae0e4e021e47061f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1768374
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
               | 
            
            
              
   
               | 
              
9d737966
               | 
              
2019-08-14T12:25:12
               | 
              
               | 
              
Standardize copyright notices to project style
For all "ANGLE Project" copyrights, standardize to the format specified
by the style guide. Changes:
- "Copyright (c)" and "Copyright(c)" changed to just "Copyright".
- Removed the second half of date ranges ("Y1Y1-Y2Y2"->"Y1Y1").
- Fixed a small number of files that had no copyright date using the
  initial commit year from the version control history.
- Fixed one instance of copyright being "The ANGLE Project" rather than
  "The ANGLE Project Authors"
These changes are applied both to the copyright of source file, and
where applicable to copyright statements that are generated by
templates.
BUG=angleproject:3811
Change-Id: I973dd65e4ef9deeba232d5be74c768256a0eb2e5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1754397
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
               | 
            
            
              
   
               | 
              
32d718f3
               | 
              
2019-06-18T11:25:23
               | 
              
               | 
              
NVIDIA Shield workaround for IsNVIDIA() detection
NVIDIA Shield do not implement Vulkan, which is used to populate
vendor IDs in SystemInfo. The vendorIDs are used to check IsNVIDIA().
This CL adds a workaround so IsNVIDIA() returns true for NVIDIA
Shield.
Bug: angleproject:3541
Change-Id: Ib36dd376207163acfc8d3a0e341f07a7d6aa3122
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1663080
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
               | 
            
            
              
   
               | 
              
2c49d0b0
               | 
              
2019-06-14T15:17:37
               | 
              
               | 
              
Suppress Bindings perf test on Win/Intel/GL.
BindingsBenchmark.Run/gl_100_objects_allocated_every_iteration
This test was timing out on the bots. Conservatively skip the benchmark
on Intel/GL/Windows.
Bug: chromium:974083
Change-Id: I4a254bff8b43e5a47b5905ee6b9bc1a659129684
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1660951
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
               | 
            
            
              
   
               | 
              
58957f3d
               | 
              
2019-05-03T12:52:22
               | 
              
               | 
              
Add option to run each test config in a separate process.
This CL adds a command line option to angle_end2end_tests that will
iterate over all test configs. For each config it'll fork a new child
process that will run only a single config. This will allow us to
isolate each config to a specific child process. Hopefully this will
reduce test flakiness due to driver issues with multiple configs.
The command line option is "--separate-process-per-config".
Note that there are about 25 configs right now.
Bug: angleproject:3393
Change-Id: Ia117b371bbe159c1b0d28d82befffeb0f40467a9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1591428
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
               | 
            
            
              
   
               | 
              
97f0affb
               | 
              
2019-05-03T12:52:21
               | 
              
               | 
              
Add command line option to filter by test config.
This allows us to run angle_end2end_tests with a single config without
using gtest_filter. It will also allow us to run each test config in
a separate process.
Bug: angleproject:3393
Change-Id: I09aaf9cfe55a117b0af8d79ecfd129f3d0f1d7c8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1591427
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
               | 
            
            
              
   
               | 
              
efec568b
               | 
              
2019-04-03T15:19:26
               | 
              
               | 
              
Expand clear tests for more mask combinations
The test was previously either masking every three aspect (color, depth
and stencil) or none.  This was not exercising every clear path in the
Vulkan backend.
Bug: angleproject:3241
Change-Id: Ief4085ea302ec17bffe30b1f8510ae357fd01290
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1551523
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
               | 
            
            
              
   
               | 
              
9078c6a7
               | 
              
2019-03-19T11:10:15
               | 
              
               | 
              
Update necessary angle_end2end_tests to check the Android device name
Some tests fail only on specific devices, so the tests should be updated
to reflect that, and allow more tests to run on more devices.
Bug: angleproject:3275
Change-Id: I8e3183c1769c0bb8ed6d2605afcaf399cb1d9ed0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1534463
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
               | 
            
            
              
   
               | 
              
a683628b
               | 
              
2019-03-20T11:23:12
               | 
              
               | 
              
Use common SystemInfo in tests.
We were using a static SystemInfo in two places. Consolidate the
SystemInfo collection to a single location. Also renames Nvidia to
NVIDIA to be consistent with the company naming. And adds a few helpers
to SystemInfo for GPU detection.
Will lead to test changes to reduce flakiness on Intel Windows.
Bug: angleproject:3261
Change-Id: I4e0addf19d6fe26b4d31a1289efce72092a0a1dd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1531533
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
               | 
            
            
              
   
               | 
              
4bcba62a
               | 
              
2019-03-18T14:31:12
               | 
              
               | 
              
Add Android device name, version, manufacturer to gpu_info_util
The model name, model version, and model manufacturer are easy to expose for
Android via <sys/system_properties.h>. This should be exposed and added to the
angle test framework for easy management of test expectations on different
devices.
Bug: angleproject:3274
Change-Id: I8ee6b8fa66ff7f4d6ee4688b335f2e6ef03baed6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1529207
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
               | 
            
            
              
   
               | 
              
f576a708
               | 
              
2019-02-04T16:52:12
               | 
              
               | 
              
Add glmark2 to angle_perftests
Bug: angleproject:3125
Change-Id: I9242743c6b5c6e18d0a23ff853ef6b9b370865a6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1452956
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
               | 
            
            
              
   
               | 
              
b6eb3412
               | 
              
2019-03-06T15:10:56
               | 
              
               | 
              
Allow testing::Combine in ANGLE_INSTANTIATE_TEST
In most tests, ANGLE_INSTANTIATE_TEST is sufficient.  This macro takes a
a variable number of angle::PlatformParameters and instantiates that
many tests.  angle::PlatformParameters already aggregates multiple
configurations.
In a number of cases, however, it would be useful to have even more
configurations in conjunction with angle::PlatformParameters.
gl_tests/MultiviewDrawTest.cpp solves this by creating a custom class
that combines angle::PlatformParameters with test-specific
configurations.  gl_tests/CopyTextureTest.cpp included numerous tests
with hardcoded values for its configurations.
This change introduces ANGLE_INSTANTIATE_TEST_COMBINE_N.  These macros
take N testing::* parameter generators followed by the list of
angle::PlatformParameters as per ANGLE_INSTANTIATE_TEST.  They then
testing::Combine these generators, placing the angle::PlatformParameters
list first.
Tests that use this functionality would inherit from
ANGLETestWithParams<std::tuple<angle::PlatformParameters, ...>> instead
of ANGLETest, and instantiate their tests as such:
ANGLE_INSTANTIATE_TEST_COMBINE_3(TestName,
                                 PrettyPrintFunction,
                                 testing::ValuesIn(listOfParameters),
                                 testing::Values(some, other, parameters),
                                 testing::Bool(),
                                 ES2_D3D9(),
                                 ES2_D3D11(),
                                 ES2_OPENGL(),
                                 ES2_OPENGLES(),
                                 ES2_VULKAN());
The name of the test, as used by --gtest_filter, will be suffixed with
the output of the PrettyPrintFunction.  Assuming the tuple type given to
ANGLETestWithParams is Params, this function takes a
::testing::TestParamInfo<Params> input to pretty-print the name of the
test variation.  It is recommended to output the platform first for
consistency with other tests.
gl_tests/CopyTextureTest.cpp is modified to use this macro.
Bug: angleproject:3125
Change-Id: I0311b84659578bf3c7b5e9673b41cc3a3adfc50d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1506236
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
               | 
            
            
              
   
               | 
              
ffd39978
               | 
              
2019-02-20T10:45:24
               | 
              
               | 
              
test: Replace _TEST_CASE_ with _TEST_SUITE_.
Googletest is (at last) converging with industry-standard terminology
[1]. We previously called test suites "test cases", which was rather
confusing for folks coming from any other testing framework.
Chrome now has a googletest version that supports _TEST_SUITE_ macros
instead of _TEST_CASE_, so this CL cleans up some of the outdated usage.
[1] https://github.com/google/googletest/blob/master/googletest/docs/primer.md#beware-of-the-nomenclature
Bug: chromium:925652
Change-Id: Ia0deec0bc4216ef1adabc33985a7cbda89682608
Reviewed-on: https://chromium-review.googlesource.com/c/1477418
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Victor Costan <pwnall@chromium.org>
               | 
            
            
              
   
               | 
              
229fc83d
               | 
              
2019-01-21T18:09:15
               | 
              
               | 
              
Vulkan: Port renderer to Fuchsia (reland)
Add DisplayVk and WindowSurfaceVk subclasses for Fuchsia to the vulkan
renderer, as well as an implementation of OSWindow that renders
fullscreen for the test suite.
Disallow use of the vulkan loader from third_party as Fuchsia uses a fork
of the loader and has not sent those changes upstream yet.
Add a small wayland-inspired library libfuchsia-egl to provide a type
"struct fuchsia_egl_window" to use as EGLNativeWindowType. This type
combines a zx_handle_t to an image pipe channel and a surface size.
Image pipes can only be used once to create a VkSurfaceKHR. This means we
have to recreate the pipe in tests that call eglCreateWindowSurface more
than once with a single OSWindow, or the second call will fail. Add a
resetNativeWindow() method to accomplish this.
Reland disabling -Wextra-semi.
BUG=angleproject:2475
TEST=angle_end2end_tests on Fuchsia
Change-Id: Ie91715bcd760c6c04d4b8a02a91daa71e32ee30c
Reviewed-on: https://chromium-review.googlesource.com/c/1467603
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
               | 
            
            
              
   
               | 
              
3f0ff409
               | 
              
2019-02-12T03:08:51
               | 
              
               | 
              
Revert "Vulkan: Port renderer to Fuchsia"
This reverts commit 991d1cfb5e5a2f20a46961da3ad85b95da30b88a.
Reason for revert: Failing compile on the fuchsia bots on the ANGLE
auto-roller.
https://ci.chromium.org/p/chromium/builders/luci.chromium.try/fuchsia_x64/209198
In file included from ../../third_party/angle/util/fuchsia/ScenicWindow.cpp:10:
In file included from ../../third_party/angle/util/fuchsia/ScenicWindow.h:13:
In file included from gen/third_party/fuchsia-sdk/sdk/fidl/fuchsia/ui/policy/cpp/fidl.h:5:
In file included from ../../third_party/fuchsia-sdk/sdk/pkg/fidl_cpp/include/lib/fidl/cpp/internal/header.h:12:
../../third_party/fuchsia-sdk/sdk/pkg/fit/include/lib/fit/function.h:135:6: error: extra ';' after member function definition [-Werror,-Wextra-semi]
    };
     ^
1 error generated.
Original change's description:
> Vulkan: Port renderer to Fuchsia
> 
> Add DisplayVk and WindowSurfaceVk subclasses for Fuchsia to the vulkan
> renderer, as well as an implementation of OSWindow that renders
> fullscreen for the test suite.
> 
> Disallow use of the vulkan loader from third_party as Fuchsia uses a fork
> of the loader and has not sent those changes upstream yet.
> 
> Add a small wayland-inspired library libfuchsia-egl to provide a type
> "struct fuchsia_egl_window" to use as EGLNativeWindowType. This type
> combines a zx_handle_t to an image pipe channel and a surface size.
> 
> Image pipes can only be used once to create a VkSurfaceKHR. This means we
> have to recreate the pipe in tests that call eglCreateWindowSurface more
> than once with a single OSWindow, or the second call will fail. Add a
> resetNativeWindow() method to accomplish this.
> 
> BUG=angleproject:2475
> TEST=angle_end2end_tests on Fuchsia
> 
> Change-Id: I71a613a362dd1c8aada49a3c02ae461e064457bf
> Reviewed-on: https://chromium-review.googlesource.com/c/1446496
> Commit-Queue: Michael Spang <spang@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
TBR=spang@chromium.org,geofflang@chromium.org,jmadill@chromium.org,syoussefi@chromium.org
Change-Id: I2d9abefa9db5363ba63a17c1773d0e147040d055
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:2475
Reviewed-on: https://chromium-review.googlesource.com/c/1465761
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
               | 
            
            
              
   
               | 
              
991d1cfb
               | 
              
2019-01-21T18:09:15
               | 
              
               | 
              
Vulkan: Port renderer to Fuchsia
Add DisplayVk and WindowSurfaceVk subclasses for Fuchsia to the vulkan
renderer, as well as an implementation of OSWindow that renders
fullscreen for the test suite.
Disallow use of the vulkan loader from third_party as Fuchsia uses a fork
of the loader and has not sent those changes upstream yet.
Add a small wayland-inspired library libfuchsia-egl to provide a type
"struct fuchsia_egl_window" to use as EGLNativeWindowType. This type
combines a zx_handle_t to an image pipe channel and a surface size.
Image pipes can only be used once to create a VkSurfaceKHR. This means we
have to recreate the pipe in tests that call eglCreateWindowSurface more
than once with a single OSWindow, or the second call will fail. Add a
resetNativeWindow() method to accomplish this.
BUG=angleproject:2475
TEST=angle_end2end_tests on Fuchsia
Change-Id: I71a613a362dd1c8aada49a3c02ae461e064457bf
Reviewed-on: https://chromium-review.googlesource.com/c/1446496
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
               |