|
9eab301c
|
2024-11-12T17:24:57
|
|
Enable GL_KHR_texture_compression_astc_sliced_3d
ARM supports GL_KHR_texture_compression_astc_sliced_3d,
so this extension can be enabled in Angle.
Bug: angleproject:378507964
Change-Id: I545ac57b4d6065a9ef99a7884555da47a1d50261
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6014004
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a5dec6fe
|
2024-11-22T15:58:02
|
|
Tests: ANGLETestBase subclasses non-zero initialize primitives
For example, a class member
GLuint mPipeline;
would get initialized to 0x7f7f7f7f, ~2e9, to avoid potential reliance
on the value being 0 which happens often, but not always, resulting in
hard-to-debug scenarios.
Large number to trigger checks such as https://crrev.com/c/6042185
ANGLE tests are generally subclasses of ANGLETest <- ANGLETestBase and
often use GL primitive class members, so this should apply broadly and
catch newly introduced cases.
This only sets the initial bytes of the allocated memory.
Non-primitives or explicitly initialized members overwrite these bytes
during their construction.
Bug: angleproject:380296979
Change-Id: I4df47a85580548f409a7c890853050cc127cbab1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6044560
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
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>
|
|
49a8d05c
|
2024-09-05T17:41:07
|
|
Tests: Add end2end test .so library to AOSP build
m[mm] external/angle:libangle_end2end_tests__library
produces libangle_end2end_tests__library.so
I tested that integration with Chromium wrappers works with some manual
patches; no integration is included in this CL.
googlest/gtest dependencies replaced with platform libgtest, libgmock
TestSuite heavily depends on rapidjson so it is currently excluded, only
the standard gtest implementation is included
(--gtest_list_tests, --gtest_filter, --gtest_output etc)
This also disables support for expectation files as it is piped through
TestSuite instance.
Bug: b/279980674
Change-Id: I35cb2328d74a3ac778e1d93bb4fe4ac044920b6a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5838526
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
85e2e6a9
|
2024-05-08T12:31:37
|
|
WebGPU: Add Window and Pbuffer surfaces.
Bug: angleproject:342213844
Change-Id: I58465bdf895b4bab63ec3c74e326c6be4827bf60
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5525974
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
f8bcfc3f
|
2024-04-04T16:03:32
|
|
Tests: avoid double logging to stderr from WARN()
LoggingAnnotator::logMessage calls both plat->logWarning()
(when plat is not nullptr)
and gl::Trace(), and both log the message to stderr
gl::Trace only logs when trace or asserts are enabled, so exclude that
case from TestPlatform_logWarning.
Bug: None
Change-Id: I1649fcc9046f59cbd8f4cfef6be809d3218eddc9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5426531
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f4d5644c
|
2024-02-16T18:13:18
|
|
Instantiate dawn backend in angle_end2end_tests
Bug: angleproject:8485
Change-Id: I07a5c5c221c6b50b839929a824753a662aa163f5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5286835
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Liza Burakova <liza@chromium.org>
|
|
71c90dfd
|
2023-08-18T21:50:22
|
|
gtest: disable legacy test case API
Remove APIs that upstream has deprecated so we make sure no one uses
them anymore in new tests.
Bug: chromium:1474588
Change-Id: Ic760439ec41131a5bb5a30a59e23b9166c7fd23d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4794112
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Mike Frysinger <vapier@chromium.org>
|
|
30bd0149
|
2023-08-02T08:06:47
|
|
ANGLETest: fix crashes when switching between GLESDriverTypes
The condition for mLastLoadedDriver was incorrect. We never initialized
it, so it never switched to the correct EGL implementation when
alternating between tests using different GLESDriverTypes.
This was reproducible with:
angle_end2end_tests.exe --gtest_filter="SimpleOperationTest.DrawSingleSampleWithAlphaToCoverage/ES3_D3D11:SimpleOperationTest.DrawSingleSampleWithAlphaToCoverage/ES3_ANGLE_Vulkan_Secondaries_SwiftShader:SimpleOperationTest.DrawSingleMultiSampleWithAlphaToCoverage/ES3_D3D11"
The above does three tests:
- D3D11 test (using GLESDriverType::AngleEGL)
- Vulkan test (using GLESDriverType::AngleVulkanSecondariesEGL)
- D3D11 test (using GLESDriverType::AngleEGL)
What would happen is this:
- the first test would initialize a D3D11 EGLDisplay
- the second test would switch the API entry points to use
AngleVulkanSecondariesEGL
- the third test begins reuses the first test's EGLDisplay, but
fails to notice the GLESDriverType change and uses the
AngleVulkanSecondariesEGL entry points
- when eglQueryString is called with the D3D11 EGLDisplay, the
VulkanSecondaries library has no knowledge of this display and
fails the call
Bug: angleproject:8286
Change-Id: I1f22060e2c5725dad5e410a76385e2802b627844
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4749296
Auto-Submit: Steven Noonan <steven@uplinklabs.net>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
fe704fb5
|
2022-12-27T18:34:43
|
|
Crash end2end tests when loading driver library fails
Switch from GTests's ASSERT_NE(),
which allowed to continue execution and hid the error from Swarming,
to ANGLE's ASSERT(), which makes bots to report this error.
Bug: angleproject:7885
Change-Id: I7937a9419f3fbfd9f6ab2d696e40771bde763a1e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4126355
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
aaee3c23
|
2022-11-30T14:24:13
|
|
Build and test ANGLE with Vulkan secondary CBs.
This will allow us to run tests with both permutations of
ANGLE (custom secondaries & Vulkan secondaries) in the same
build directory. It will also allow us to run these configs
as tests on our infra. This CL adds a few simple test to CI.
Bug: angleproject:6811
Change-Id: I053f8cc5bafc2a7ab7d0665da9301f0ba7f8417f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4067806
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
d8d85253
|
2022-11-15T12:38:05
|
|
Add gFixtures.clear() to ReleaseFixtures
Not necessary as we only call it on termination but if ReleaseFixtures
is called for e.g. eviction testing, it leaves bad state behind.
Bug: b/258723409
Change-Id: I345c9197742f78ec952cacecdc9ba55b518f9f53
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4024757
Auto-Submit: Roman Lavrov <romanl@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
f67d1224
|
2022-11-15T10:55:50
|
|
Delete osWindow and eglWindow in ReleaseFixtures
valgrind rightfully reports these as leaks
Bug: b/258723409
Change-Id: I02dbd771c6f7bd9e7df2269c77d8bd95af593044
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4025992
Auto-Submit: Roman Lavrov <romanl@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
d13c14d0
|
2022-11-11T10:32:13
|
|
Crash with a mesage when OSWindow::New returns nullptr
Happens when !IsX11WindowAvailable()
Bug: b/258723409
Change-Id: Ib16f7ffa9c9cd7ca75cb5659ae393b87d1e96326
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4023025
Auto-Submit: Roman Lavrov <romanl@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
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>
|
|
5b3781ec
|
2022-10-03T16:09:35
|
|
Remove namespacing from all ANGLE loaders.
This will make it easier to work with pure C files.
Bug: angleproject:7731
Change-Id: I2fe9af486af5f339d973c9149f082eb1f2efa8c4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3925426
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
2debd07d
|
2022-09-21T11:40:18
|
|
Automatically query status of features for tests
Now tests can skip based on what features exist, compared to what
features are explicitly asked for. For example, a test suite may
override-enable a (normally disabled) feature that depends on a hardware
capability. With this change, it can be skipped if said hardware
capability doesn't exist.
As a bonus, tests now correctly skip if the feature is overriden through
an environment variable. This change also cleans up
VulkanPerformanceCounterTest tests which did the same for a number of
specific features.
Bug: b/243398683
Change-Id: I84f026e3394eab56fd123e02bee72720c7ed94c6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3909789
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
955adb77
|
2022-08-12T10:14:48
|
|
Cache compiled shader
By storing the compiled shader in the blob cache, the time to
recompile the same shader is reduced.
Based on work by <hckim.kim@samsung.com>
Bug: angleproject:7036
Change-Id: I884ae40e715c49a9ccd12903012e8327811e3557
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3808235
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@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>
|
|
1ae9756e
|
2022-06-22T17:43:15
|
|
Textures: Centralize texture format emulation check
Refactor in order to use the check in multiple places.
Bug: b/236478448
Change-Id: I6df2e0d63c60fa3e8b2d65185fce164be0e7d961
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3719160
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
9a6ae13e
|
2022-06-17T23:42:15
|
|
Vulkan: Enable prerotation on multisample tests
Bug: b/235877059
Change-Id: I3a8b8483d7b478e36328ac402539df99e62c18b2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3708996
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
f1c21d68
|
2022-06-04T02:26:36
|
|
Add pixel local storage tests for all supported formats
Bug: angleproject:7279
Change-Id: I92728112f243cccf4e4ab2c5f4c096dcc0536fc2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3654266
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
0260255b
|
2022-06-06T15:10:04
|
|
Fix printing of non-standard renderers.
Bug: angleproject:7396
Change-Id: I18cfadbc58b71259efd414cd7ef90a45719f9b1e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3690736
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
7d31a47f
|
2022-04-23T00:19:15
|
|
Vulkan: Optimize away eglSwapBuffers for single buffer surfaces
For single buffer surfaces, eglSwapBuffers serves two purposes:
- Switch to/from single buffer mode
- Implicitly issue a glFlush
Simultaneously, for single buffer surfaces, glFlush serves three
purposes:
- Submit the commands
- Call queue present (if necessary)
- Throttle the CPU
In this mode, ContextVk::flush() already redirects to the surface,
calling WindowSurfaceVk::swapImpl() which calls back to
ContextVk::flushImpl() (to submit the commands), calls queue present and
throttles the CPU.
If the application calls eglSwapBuffers(), the exact same thing happens
(i.e. WindowSurfaceVk::swapImpl() is called to the same effect).
Calling swapImpl() leads to an addition of the corresponding submit
serial to the "swap history". The CPU throttling code always throttles
the CPU to the serial of two swaps ago.
Unnecessary calls to eglSwapBuffers() (when there is no command to be
flushed) in single buffer mode would thus lead to the CPU throttled to
the end of the last submission, effectively turning into a glFinish().
In this change, eglSwapBuffers() in single buffer mode, when not
switching to/from this mode, is redirected to glFlush() as it's
functionally equivalent. Simultaneously, ContextVk now tracks whether
it has any pending commands for submission at all, and skips glFlush()
altogether if there are none. Together, this results in the unnecessary
eglSwapBuffers() to become no-op.
Bug: b/229908040
Change-Id: I0e3b4a8b7eb4f6b0e0ed22260644825fc67dd330
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3603841
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
8074061d
|
2022-04-09T01:03:53
|
|
Remove feature override platform methods
Instead, the tests now use the enable() functions to override the
feature at platform level.
This fixes the forceFallbackFormat feature mistakenly not having been
tested.
Bug: angleproject:6435
Change-Id: I605e4133407282bd52232887b595af0d2c13575d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3577369
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@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>
|
|
4a65040b
|
2022-01-30T14:00:48
|
|
Add new Vulkan uniform update test.
This covers a specific case with multiple programs and descriptor
set caching. It could get tripped up by more complicated patterns
in the trace tests.
Bug: angleproject:6776
Change-Id: Ic8e42e55e60ef0fc01f0386712d3457abeea94e9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3426884
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
c4c73e82
|
2022-01-14T12:55:20
|
|
Fix RobustBufferAccessBehaviourTest.
Use "NoFixture" to enable the extension when available.
Bug: angleproject:6897
Change-Id: Ieb3383fbff4df664ad35dd034de3bdd7f8508ed6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3388115
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e28083ad
|
2021-11-09T18:00:17
|
|
Enable RenderDoc capture for debug builds
Enable RenderDoc capture in builds where Vulkan Validation Layers are
enabled. This essentially enables the '--renderdoc' flag for debug
builds when running end2end/deqp tests to make it easier to debug tests.
This CL also add the '--no-renderdoc' flag to force disabling RenderDoc
capture.
Bug: angleproject:6072
Change-Id: Iae7aae30aae9bdc58a7546118d156aef2047c210
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3270600
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
d2c01d2c
|
2021-09-17T12:57:14
|
|
GL: Allow selecting virtualization groups at context creation
Rewrite EGL_ANGLE_platform_angle_context_virtualization to
EGL_ANGLE_context_virtualization, changing the context virtualization
parameter to an identifier for what virtualization group the frontend
context should be added to.
This allows ANGLE's GL backend to be used by multiple threads if the
user creates contexts with different virtualization groups.
Bug: angleproject:6406
Change-Id: I7414d4705ce10bdf63a9b824043d5dd040dad875
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3169193
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
f3d5dac3
|
2021-08-23T17:25:15
|
|
Vulkan: SPIR-V Gen: Drop dependency to glslang
The SPIR-V gen path is now made default. Compilation through glslang is
still supported for debugging, and is enabled on the GLSL* end2end tests
for smoke testing. On release builds, glslang is not supported.
To test with glslang, add the following gn arg (only necessary if dcheck
is disabled):
angle_enable_spirv_gen_through_glslang = true
Then enable the generateSPIRVThroughGlslang feature. This can be done
by setting an environment variable:
ANGLE_FEATURE_OVERRIDES_ENABLED=generateSPIRVThroughGlslang ./angle_deqp_gles2_tests
Binary size saving:
- 1.3MB on Linux (SPIR-V gen itself: 240KB)
- 730KB on Android (SPIR-V gen itself: 140KB)
Perf tests:
- LinkProgramBenchmark.Run/vulkan_compile_single_thread
* Through glslang:
truncated mean: 1287033.36
* Direct SPIR-V Gen:
truncated mean: 244495.91 (~80% reduction)
- LinkProgramBenchmark.Run/vulkan_compile_multi_thread
* Through glslang:
truncated mean: 4565894.83
* Direct SPIR-V Gen:
truncated mean: 1158164.10 (~75% reduction)
Bug: angleproject:4889
Bug: angleproject:6210
Change-Id: I486342702977c8114e90073b97183aba115a8b2d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3115140
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
e024635d
|
2021-09-10T13:56:28
|
|
ANGLEPerfTest: Skip tests when missing color space support.
Make tests where a non-linear colorspace was requested on platforms
that do not support EGL_KHR_gl_colorspace non-fatal.
Add a initializeGLWithResult function to GLWindowBase, returning a
new GLWindowResult enum and wrap it in EGLWindow and WGLWindow.
Bug: angleproject:6366
Change-Id: Ib57327c4d988d82064272f229f8ad59287541623
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3151833
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
23b16743
|
2021-09-14T10:29:14
|
|
Fix compilation when disabling D3D back-ends.
Common code areas weren't compiling when disabling combinations
of the D3D9 and D3D11 back-ends. With manual testing this fixes
various combinations of angle_enable_d3d9/d3d11/gl.
Bug: angleproject:5925
Change-Id: Ie14f2b4c6169cf96c662e7ae6999751007d9adb0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3162836
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@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>
|
|
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>
|
|
62628799
|
2021-07-21T22:55:22
|
|
Vulkan: SPIR-V Gen: Support dEQP
A temporary condition for direct SPIR-V generation is added to test
expectations while this work is in progress, so test suites can be
partially enabled. 32 tests are currently failing.
Bug: angleproject:4889
Change-Id: Icf0f6ef80d30fdb7564d8ecf928e67ca58ace86f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3042556
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
48da1c35
|
2021-07-16T13:24:34
|
|
Vulkan: Prefer the local vulkan loader over the system one.
Load the Vulkan loader ourselves and give vkGetInstanceProcAddr to
volk. This allows us to always prefer loading from the current module
directory instead of using the platform-specific ordering.
Refactor angle::Library loading to use ModuleDir instead of
ApplicationDir.
CL originally authored by Geoff Lang.
Bug: chromium:1219969
Change-Id: I21d1926e90fd66e1c23cea7323991ae55f3d22d4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3035444
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
ac61386d
|
2021-07-15T11:08:48
|
|
Capture/Replay Tests: Swap before TearDown.
Swapping before TearDown lets the capture and serialization logic
see all the test resources that will be cleaned up by the fixture.
This will increase coverage quite a bit because many tests do
automatic cleanup which would previously skip serialization.
Bug: angleproject:6175
Change-Id: I85aa3f6d9bcf2fd66836523e55862a2d5f0d8e32
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3031702
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
4964513a
|
2021-06-28T20:07:46
|
|
ANGLETest: When on WebGL compatibility then use index buffers
WebGL actually requires the use of index buffers, otherwise the
call is invalid, therefore explicitely request index buffers in
the according VertexAttributeOORTest tests.
In addition, assert on the indices when the glDrawElements call is
captured.
With that we can enable VertexAttributeOORTest.*
Bug: angleproject:6125
Change-Id: Id3855c78d4c5fcab5599f19dd74ce745d059fb1c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2999523
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
51937ab3
|
2021-06-25T09:10:42
|
|
Re-land "Add SearchType to OpenSharedLibraryWithExtension."
This fixes a bug in SystemInfo_vulkan where we were using the
System search path for the Vulkan loader when we prefer using the
custom ANGLE loader.
Re-land fixes a bug where we would try to load the custom
libVulkan on Android and other platforms where we should be using
the system version.
Bug: chromium:1219969
Change-Id: I34b592fb87cbddfd02c837a17942cac54c85d9d1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3007265
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f8d5d5ed
|
2021-07-05T21:11:23
|
|
Revert "Add SearchType to OpenSharedLibraryWithExtension."
This reverts commit 18e99f4a2b37468b103da4a56c5b0fff25458062.
Reason for revert: breaks Mac, e.g.
https://ci.chromium.org/ui/p/chromium/builders/ci/mac-arm64-rel-tests/2197/overview
Original change's description:
> Add SearchType to OpenSharedLibraryWithExtension.
>
> This fixes a bug in SystemInfo_vulkan where we were using the
> System search path for the Vulkan loader when we prefer using the
> custom ANGLE loader.
>
> Bug: chromium:1219969
> Change-Id: Iedf0fd11fe9ed8cc020b445ea9e12a7936937361
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2988791
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Bug: chromium:1219969, chromium:1225040, chromium:1226675
Change-Id: I7a7e329181b69b0fb546e5245d8842723077126f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3006320
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
1bffabe8
|
2021-06-29T18:13:39
|
|
Fix -Wunreachable-code-aggressive.
Bug: chromium:1066980
Change-Id: I1fa08a40dbf223d60a10681af33ca8a29b12bf8b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2991094
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
18e99f4a
|
2021-06-25T09:10:42
|
|
Add SearchType to OpenSharedLibraryWithExtension.
This fixes a bug in SystemInfo_vulkan where we were using the
System search path for the Vulkan loader when we prefer using the
custom ANGLE loader.
Bug: chromium:1219969
Change-Id: Iedf0fd11fe9ed8cc020b445ea9e12a7936937361
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2988791
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
7df7fc7f
|
2021-06-20T00:05:28
|
|
Tests: Add support for --renderdoc
This change adds support for a new flag namely `--renderdoc` to end2end
and deqp tests. With this flag, each test automatically starts and ends
a frame capture in renderdoc, working around an issue where renderdoc
refuses to capture a test frame that doesn't start or end with a swap.
With end2end tests, the capture starts before test set up, and ends
after test tear down. With deqp tests, it starts before init, ends and
restarts after each test iteration and ends after deinit.
Bug: angleproject:6072
Change-Id: Ib41b816aff121bf922d9147044cc363c33a62181
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2971835
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
8bd3d7d5
|
2021-05-17T13:45:33
|
|
Vulkan: Fix a bug releasing DynamicBuffer-owned buffer
There was one instance of BufferVk releasing a buffer it had allocated
from a DynamicBuffer. This shouldn't have happened as the DynamicBuffer
owns the buffers.
Bug: angleproject:5720
Change-Id: I435512f4bb099130126bf3efb48a238fcd9f3ddb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2896168
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
49ad51fb
|
2021-05-17T16:39:17
|
|
ANGLETest: Skip test setup/teardown on major error.
If something goes wrong in ANGLETestSetup, we can skip the test-
specific setup and teardown code to prevent further errors and
crashes. This is necessary for the new test expectation skips.
Bug: angleproject:5951
Change-Id: Ica7b9fed18cec20e7d0e340c39dbbb44f1f8958e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2896173
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
dd686e48
|
2021-05-11T19:08:01
|
|
Test Runner: Add test expectations parser.
Moves the test expectations from dEQP into the test runner.
Also updates angle_end2end_tests to take an expectations file.
Includes some very simple angle_end2end_tests expectations.
Note that the expectations in the file are less expressive than the
skips we use in the cpp.
Bug: angleproject:5951
Change-Id: Ib92235575bc3ea5f3a977ce416b0e78fe806e39b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2892274
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
c8ee13c7
|
2021-04-02T12:19:33
|
|
Vulkan: Fix a validation bug in glBeginTransformFeedback
Add logic to check the program or the pipeline before erroring out when
validating glBeginTransformFeedeback.
Bug: angleproject:5557
Test: ProgramPipelineXFBTest31.VaryingIOBlockSeparableProgramWithXFB*
Change-Id: I0df8a8d87b3632745bc91dc2673f2fac31c6cdb1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2743440
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
fc189386
|
2021-04-08T21:51:46
|
|
Revert "Fix multithreaded crash on draw commands on D3D11 backend."
This reverts commit 8b9889bf62272fea2495331b622bde1f7c781bd0.
Reason for revert: Breaks CI
Original change's description:
> Fix multithreaded crash on draw commands on D3D11 backend.
>
> A crash can occur if thread A is executing eglDestroyContext while
> thread B issues a draw call, if the threads are interleaved in such a
> manner that a makeCurrent occurs without triggering a change to the
> global context and a dirtyAllState call. We handle that case by
> explicitly making current the proper contexts in the eglDestroyContext
> call.
>
> A test has been added that triggers a crash without this fix when
> running on the D3D11 backend. In addition, all of MultithreadingTest
> is enabled for the D3D11 backend.
>
> Test: Ran MultithreadingTest. Test exhibits a crash before this
> change, and does not after this change. Also ran:
> dEQP-EGL.functional.sharing.gles2.multithread.*
> dEQP-EGL.functional.multithread.*
>
> Bug: b/183756357
> Change-Id: Ic6f76a062868b2f3b4e60d29dc087ec180bfb7cd
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2798591
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Doug Horn <doughorn@google.com>
Bug: b/183756357
Change-Id: I2e9d6385576330f84623d7dafbf690642fcb441f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2815242
Commit-Queue: Doug Horn <doughorn@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
8b9889bf
|
2021-03-31T12:52:00
|
|
Fix multithreaded crash on draw commands on D3D11 backend.
A crash can occur if thread A is executing eglDestroyContext while
thread B issues a draw call, if the threads are interleaved in such a
manner that a makeCurrent occurs without triggering a change to the
global context and a dirtyAllState call. We handle that case by
explicitly making current the proper contexts in the eglDestroyContext
call.
A test has been added that triggers a crash without this fix when
running on the D3D11 backend. In addition, all of MultithreadingTest
is enabled for the D3D11 backend.
Test: Ran MultithreadingTest. Test exhibits a crash before this
change, and does not after this change. Also ran:
dEQP-EGL.functional.sharing.gles2.multithread.*
dEQP-EGL.functional.multithread.*
Bug: b/183756357
Change-Id: Ic6f76a062868b2f3b4e60d29dc087ec180bfb7cd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2798591
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Doug Horn <doughorn@google.com>
|
|
dd5705e7
|
2021-03-24T08:18:24
|
|
Add missing qualifier type handling in translator
Translator checks tessellation shader unsized array type qualifier.
sample in/sample out were missing in handling qualifier type.
Bug: angleproject:5557
Test: GLSLTest_ES31.VaryingTessellationSampleInAndOut*
Change-Id: I8a2f2c4c4fcc9cc88000d3b2d448ab51fb9e5d38
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2776263
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
3e33db95
|
2020-12-30T17:17:17
|
|
Merge Program/ProgramPipeline::getMergedVaryings().
This merges two very similar pieces of code into one simpler function.
The function doesn't use any maps or indirection to build the merged
varyings list. It also fixes a potential bug with IO blocks and name
matching due to the code bifurcation.
Bug: angleproject:5496
Change-Id: Ibf54faeeb01d1940570b366ed153fff7c9135c52
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2606533
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@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>
|
|
3435503b
|
2020-11-05T17:53:02
|
|
Add test running flag: --delay-test-start
Add the following flag to the test runner to aid debugging:
--delay-test-start=<number of seconds>
This delays the start of each test by <number of seconds>. This is
useful when using debuggers, like RenderDoc, that need some extra time
to attach to the process before capturing data.
Bug: angleproject:5312
Change-Id: Ie1aab155e780dfae7311e046af0a7702904cd9eb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2522504
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
39adaeb0
|
2020-11-03T13:15:41
|
|
Don't print reuse warning when forcing new displays.
Bug: angleproject:5274
Change-Id: I2c21a0f097398c508cc116217e3cb97d78a795b1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2518241
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
53aef103
|
2020-11-01T08:52:58
|
|
Tests: Print warning when we hit display reuse limit.
This helps devs reduce test cases that are hit from test ordering.
Bug: angleproject:5274
Change-Id: Ia4d2b5f3adffc73a2d4582e3a738fc194729a6ee
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2513286
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b0db7cca
|
2020-10-23T17:37:41
|
|
Vulkan: Initial emulated prerotation support
This is currently only supported for end2end tests (those which use
ANGLETestBase, excluding those that use WithNoFixture) and Vulkan. Use
WithEmulatedPreoration(*_VULKAN(), degree) where degree is either 90,
180 or 270.
With emulated prerotation, the window dimensions are physically swapped
if 90 and 270 degrees, while the width and height is still reported as
requested by the test. In the Vulkan backend, the width and height are
swapped after getting queried from the surface, and prerotation is
assumed.
Bug: angleproject:4901
Change-Id: I294436be4c7015d2a63463c4d61de7b67f38c95d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2495544
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
2f7fc0f3
|
2020-10-23T09:58:56
|
|
Tests: Remove standalone duplication.
Also cleans up some compiler warnings that crept in because of how
we structured the test sources in GN. We also no longer need special
handling for the test "main" files.
Must land after http://crrev.com/c/2495003 rolls into ANGLE.
Bug: angleproject:5124
Change-Id: I43ff91b5c8f00214886cd8ac2403702e5026a840
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2495281
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
336202d7
|
2020-10-09T16:43:32
|
|
Test Runner: Pass batch ID to child processes.
This will let both the ANGLETest and dEQP test runners handle child
processes correctly. The existing ANGLETest runner will reuse displays,
and the dEQP test runner will write to a batch-unique filename.
This solves the problem of the multi-process --bot-mode writing to the
same file from multiple children simultaneously.
Long-term it will be good to include the dEQP QPA files into the test
artifacts.
Also disables flushing after every log write when running as a child
process. This hugely improves performance on machines with no SSD.
Test: https://chromium-swarm.appspot.com/task?id=4f2b87c4f8234910
Bug: angleproject:5157
Change-Id: I226d24adf55e0f8b98e5a8e7947862e6906b4c40
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2464424
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
76e90947
|
2020-09-19T10:48:55
|
|
Test Runner: Really reuse displays with --bot-mode.
The prior design didn't pass the correct flag to the subprocess.
Instead add a new --reuse-displays flag that forces display reuse
on in ANGLE tests. Pass the new flag to the child processes when
running with --bot-mode.
Bug: angleproject:3162
Change-Id: I5f62125d83d339b5e8b2506b4ca4656976f7398e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2419638
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
512059a9
|
2020-09-16T21:33:32
|
|
Tests: Allow tests to function without VVLs.
This is necessary to run angle_end2end_tests with sanitizers. We
don't currently support building the VVL in sanitized configs.
Bug: b/168744561
Change-Id: If16a25ac5786f5f5aeb8ae50d9f7fa22c6c87995
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2415513
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@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>
|
|
fdb7874d
|
2020-08-26T22:04:19
|
|
Gracefully fail end2end tests if no window support
EGL_WINDOW_BIT is now specifically requested for tests that open a
window (those that aren't WithNoFixture). This makes sure pbuffer-only
configs are not selected for the window.
Additionally, a few WithNoFixture tests are made more robust in the
presence of no-window configs.
In the context of crbug.com/1034840, this means that a subset of end2end
tests would be able to run in a remote desktop environment. Tested on
Linux/X11 by turning a subset of configs PBUFFER-only.
Bug: chromium:1034840
Change-Id: I09fd149d43d3b865856fe6b9491c5f333f4a2efc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2378922
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: back sept 10 - Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
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>
|
|
e5c18475
|
2020-07-06T09:50:49
|
|
Multi-frames serialization + comparision for capture replay test
Changes how context states are serialized during capture run. Now,
context states are serialized after each frame until the end frame
is reached, or context is destroyed.
Adds an api to the trace files to query serialization results of
multiple frames. Makes change to CaptureReplayTest to serialize
multiple frames then compares the serialization results with the ones
retrieved from said api.
Adds to capture replay the ability to produce working, compilable trace
files even when end frame is not reached.
Adds to the generated trace files config information and makes
CaptureReplayTest utilize said config information to reproduce the exact
environment of the captured application.
Bug: angleproject:4817
Change-Id: Ie3d487af2bacf349dc3ff6f6b1b5f89e1169dc84
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2282885
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
930b2641
|
2020-03-23T14:47:03
|
|
Allow tests to run on native EGL.
Adds support for Linux and Android native EGL testing.
This can be useful for doing performance comparisons of ANGLE vs
a native GL driver. Only enabled for the trace perf tests due to
limitations in the test harness.
Bug: angleproject:4596
Change-Id: Iba6d3ccd7c1275cf095893fab824a0ea33dc3a79
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2116254
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
d657e1d7
|
2020-04-24T13:13:18
|
|
Vulkan: Defer framebuffer clears.
This works by storing the deferred clears in the ImageHelper's staging
buffers. We apply the deferred clears onto the RenderPass right before
we begin to draw. Storing the clears in the ImageHelper solves problems
where we clear GL Textures in a Framebuffer and then unbind the
Textures and sample from them. Or do other commands like CopyTexImage.
Note that because the staging buffer clears only handle full-image
clears we need to immediately apply some scissored clears where before
we would use the RP. This should be a pretty rare occurrence and it is
possible to optimize that in the future.
Reduces the RenderPass count in the Manhattan "frame 10" trace from max
22 to max 20. May improve perf slightly on Android or may have effects
too small to measure. Should not regress performance.
Bug: angleproject:4517
Change-Id: I02150d531022afb903f1058f070937ec6337bd88
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2142711
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
7d8c2f2e
|
2020-03-26T22:44:15
|
|
Hide SwiftShader OS Window in dEQP and end2end tests
This prevents a race between starting Xvfb on test bots
and X11 calls in X11Window::setVisible(),
which used to cause flaky hangs on Linux SwANGLE bots.
Unfortunately, in order to hide SwiftShader OS window,
it must be a separate window from other backends,
so it is no longer possible to have a single window for all backends,
even if we don't reuse EGL Display.
The only platform that still uses a single OS Window is Android,
since there is only one system window per test application.
In addition, all the tests that make OS Window visible explicitly,
no longer do this for SwiftShader device.
Bug: angleproject:4434
Change-Id: I1a067c22bfeee9288046b9d9566740731c0d627c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2125945
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
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>
|
|
4fb29948
|
2020-02-12T13:48:43
|
|
Split up EGLContextCompatibilityTest.
Instead of attempting to run numConfigs^2 test permutations in a single
test we now split up each config into its own test. Each permutation
also gets a unique name based on the configs it is testing. Because
there were so many tests on some back-ends (e.g. D3D11) this CL adds
a way to hard limit the number of test permutations by discarding
random tests to reach a specified maximum per back-end.
Uses the GoogleTest "RegisterTests" API instead of using the GTEST
macros. See online GTest docs for more info.
This will allow more easily supporting test timeouts when running
batches of tests multi-process.
As a side effect we no longer need to restrict this test to Release
builds or ignore some renderers.
Bug: angleproject:4449
Change-Id: Ia7991e2a3906175413b77a876432061da527d03b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2050812
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
806ba566
|
2019-12-12T13:02:01
|
|
Extend ANGLE_iosurface_client_buffer to Vulkan backend for Swangle
Implement an IOSurface-backed pBuffer surface for the Vulkan backend
on Mac, through SwANGLE. ANGLE will pass a raw pointer to Swiftshader
and handle locking/unlocking the IOSurface.
Bug: chromium:1015454
Change-Id: Ia3ead55334736003d405b54ba8dcc7701706fbb2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1965434
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
4ffc254e
|
2020-01-08T09:58:24
|
|
Only initialize the timestamp query pools if the extension is available.
Also added a few assertions to ensure that timestamp queries aren't attempted
when support is missing.
Bug: angleproject:4114
Change-Id: Ie6d7d5face59f9bc137aebd86c9d0e965773e6e6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1992184
Commit-Queue: Eric Binet <ericbinet@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
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>
|
|
8f31872c
|
2019-12-03T18:34:52
|
|
Revert "Add new test runner harness."
This reverts commit fb40d231c3e2ee7c38f8445ef5defc0ab0f5f15d.
Reason for revert: Has a bug with the ASan build and also has a few
bugs with ANGLE standalone test expectations an filter.
Bug: chromium:1030192
Bug: angleproject:4193
Original change's description:
> Add new test runner harness.
>
> 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: Idb15f113de8eb32db12bc93542de93b08d7c1447
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1478016
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
TBR=ynovikov@chromium.org,jonahr@google.com,jmadill@chromium.org
Change-Id: I647e747571784b1ca7c1d0687193c70a63eb08d1
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:3162
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1947456
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
fb40d231
|
2019-12-02T16:39:18
|
|
Add new test runner harness.
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: Idb15f113de8eb32db12bc93542de93b08d7c1447
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1478016
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
745999a9
|
2019-11-19T12:59:02
|
|
Add test for multithreaded shared-context resource
The test does this:
1. Context 1: Read Texture 1 and draw into Framebuffer 1
2. Context 2: Read Texture 1 and draw into Framebuffer 2
3. Context 1: Delete Framebuffer 1
4. Context 1: Flush
5. Context 2: Modify Texture 1
Issue is Texture 1's mCurrentReadingNodes contains one node from each
context's command graph, one of which is deleted at step 4. At step 5, a
dependency is added from both nodes (one already deleted) to a new node,
causing use-after-free.
Bug: angleproject:4130
Change-Id: I06720aec20d0b49114937f1cd9b193a4f1df9d8d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1924790
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6fcc0bb8
|
2019-11-21T01:19:40
|
|
Metal: Re-add end2end test configs (running test is still disabled)
angle_test_instantiate.cpp & angle_test_instantiate_apple.mm:
- Disabled metal platform selection on pre-10.13 mac devices for
Bug: angleproject:4153
Explicitly disabled tests on metal:
- DifferentStencilMasksTest.DrawWithDifferentMask
- PointSpritesTest.PointSizeAboveMaxIsClamped
- WebGL2ReadOutsideFramebufferTest.CopyTexSubImage3D
This requires the crash fix in http://crrev.com/c/1924101
Bug: angleproject:4153
Bug: angleproject:2634
Change-Id: I95046d731a8ba7414cf1a1f4b6f2940282725872
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1926389
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
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>
|
|
95a736bd
|
2019-10-09T10:26:25
|
|
Reland "Add more test_utils functions."
This is a reland of 5fcfcea4a9379633a83a67fc1d94938cb31f2a9c
Re-land uses static linking with angle_util. The root cause
of the CFI error wasn't solved. Static linking works around
the problem by not using any export rules.
Second re-land fixes missing imports for libEGL and libGLESv2
static varieties.
Original change's description:
> Add more test_utils functions.
>
> Includes methods for creating temporary files, deleting files, and
> reading files into a string. Also renames GetPathSeparator to mention
> it's only used for environment variables. Includes a new virtual type
> angle::Process that will be used to implement cross-platform async
> Process launching for tests. Also includes a way to specify a custom
> crash handler callback.
>
> Also adds a few unit tests for the new functionality. They are disabled
> on Android because the functions are not needed by the new test runner.
>
> Bug: angleproject:3162
> Change-Id: I3e2c2e9837608884c98379fa0f78c9ffbe158d73
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1821940
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Bug: chromium:1015810
Bug: angleproject:3162
Change-Id: I2a18b819b0f91df610ad12ffedea2b38349fe7cf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1879859
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
f939cb63
|
2019-10-20T21:44:36
|
|
Revert "Reland "Add more test_utils functions.""
This reverts commit 7923e234bc458eda5936b8cb4f09fa19e28c0452.
Reason for revert: Fails compilation on rollers:
[2097/6048] SOLINK ./lib_angle_unittests__library.cr.so
FAILED: lib_angle_unittests__library.cr.so lib_angle_unittests__library.cr.so.TOC lib.unstripped/lib_angle_unittests__library.cr.so
python "../../build/toolchain/gcc_solink_wrapper.py" --readelf="../../third_party/android_ndk/toolch...(too long)
ld.lld: error: undefined symbol: glCreateShader
>>> referenced by shader_utils.cpp
>>> angle_util_static/shader_utils.o:(CompileShader(unsigned int, char const*)) in archive obj/third_party/angle/libangle_util_static.a
ld.lld: error: undefined symbol: glShaderSource
Original change's description:
> Reland "Add more test_utils functions."
>
> This is a reland of 5fcfcea4a9379633a83a67fc1d94938cb31f2a9c
>
> Re-land uses static linking with angle_util. The root cause
> of the CFI error wasn't solved. Static linking works around
> the problem by not using any export rules.
>
> Original change's description:
> > Add more test_utils functions.
> >
> > Includes methods for creating temporary files, deleting files, and
> > reading files into a string. Also renames GetPathSeparator to mention
> > it's only used for environment variables. Includes a new virtual type
> > angle::Process that will be used to implement cross-platform async
> > Process launching for tests. Also includes a way to specify a custom
> > crash handler callback.
> >
> > Also adds a few unit tests for the new functionality. They are disabled
> > on Android because the functions are not needed by the new test runner.
> >
> > Bug: angleproject:3162
> > Change-Id: I3e2c2e9837608884c98379fa0f78c9ffbe158d73
> > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1821940
> > Commit-Queue: Jamie Madill <jmadill@chromium.org>
> > Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
>
> Bug: chromium:1015810
> Bug: angleproject:3162
> Change-Id: I6a2c1e7b585a13ca846759f32da0777c00d7f7e6
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1869541
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
TBR=ynovikov@chromium.org,jonahr@google.com,jmadill@chromium.org
Change-Id: I975b2214411906cb981bffa04fa50e0a65ff8b4e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:1015810, angleproject:3162
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1870811
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
7923e234
|
2019-10-09T10:26:25
|
|
Reland "Add more test_utils functions."
This is a reland of 5fcfcea4a9379633a83a67fc1d94938cb31f2a9c
Re-land uses static linking with angle_util. The root cause
of the CFI error wasn't solved. Static linking works around
the problem by not using any export rules.
Original change's description:
> Add more test_utils functions.
>
> Includes methods for creating temporary files, deleting files, and
> reading files into a string. Also renames GetPathSeparator to mention
> it's only used for environment variables. Includes a new virtual type
> angle::Process that will be used to implement cross-platform async
> Process launching for tests. Also includes a way to specify a custom
> crash handler callback.
>
> Also adds a few unit tests for the new functionality. They are disabled
> on Android because the functions are not needed by the new test runner.
>
> Bug: angleproject:3162
> Change-Id: I3e2c2e9837608884c98379fa0f78c9ffbe158d73
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1821940
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Bug: chromium:1015810
Bug: angleproject:3162
Change-Id: I6a2c1e7b585a13ca846759f32da0777c00d7f7e6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1869541
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
0cb09633
|
2019-10-18T15:50:10
|
|
Revert "Add more test_utils functions."
This reverts commit 5fcfcea4a9379633a83a67fc1d94938cb31f2a9c.
Reason for revert:
1 Test Suite(s) failed. angle_unittests failed because of:
TestUtils.RunApp on Linux CFI
https://ci.chromium.org/p/chromium/builders/ci/Linux%20CFI
Original change's description:
> Add more test_utils functions.
>
> Includes methods for creating temporary files, deleting files, and
> reading files into a string. Also renames GetPathSeparator to mention
> it's only used for environment variables. Includes a new virtual type
> angle::Process that will be used to implement cross-platform async
> Process launching for tests. Also includes a way to specify a custom
> crash handler callback.
>
> Also adds a few unit tests for the new functionality. They are disabled
> on Android because the functions are not needed by the new test runner.
>
> Bug: angleproject:3162
> Change-Id: I3e2c2e9837608884c98379fa0f78c9ffbe158d73
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1821940
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
TBR=ynovikov@chromium.org,jonahr@google.com,jmadill@chromium.org
Change-Id: I1441bfbae31712f72b4aebeeea9cd711c3975a5d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:3162
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1869254
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
5fcfcea4
|
2019-10-09T10:26:25
|
|
Add more test_utils functions.
Includes methods for creating temporary files, deleting files, and
reading files into a string. Also renames GetPathSeparator to mention
it's only used for environment variables. Includes a new virtual type
angle::Process that will be used to implement cross-platform async
Process launching for tests. Also includes a way to specify a custom
crash handler callback.
Also adds a few unit tests for the new functionality. They are disabled
on Android because the functions are not needed by the new test runner.
Bug: angleproject:3162
Change-Id: I3e2c2e9837608884c98379fa0f78c9ffbe158d73
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1821940
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
57b37b6b
|
2019-09-25T18:29:28
|
|
Rename util/system_utils to util/test_utils.
This removes a GN naming conflict between util/system_utils and
common/system_utils. This conflict was preventing us from adding
unit tests to utils' version of system_utils. Since these functions are
only useful to tests and samples rename them test_utils for simplicity.
Will enable further development of ANGLE's standalone testing harness.
Bug: angleproject:3162
Change-Id: I9e34fb69f96c5de6dc2453fce4148a0f285e15ed
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1825268
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
03f93cf0
|
2019-08-30T08:53:30
|
|
ANGLE test fixture leaking.
Adding code in ANGLETestEnvironment::TearDown() to release fixtures if exists.
Bug: angleproject:3875
Change-Id: I0d6ad9b8c72937b20a4c3033b86eb667b546e0c3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1778841
Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
|
|
5d27a696
|
2019-08-13T11:29:07
|
|
Support separable shader programs
The spec states:
Shader stages including vertex shaders, fragment shaders, and compute
shaders...A single program object can contain all of these shaders, or
any subset thereof.
This change allows shader programs without a fragment shader. The
biggest driver of this change is dEQP since a large number of tests
create shader programs without a fragment shader.
Bug: angleproject:3803
Test: dEQP-GLES31.functional.program_interface_query
Change-Id: Id6cb098c62a1489a14b9ec1b31bd4cd59f655e49
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1752010
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
780bdace
|
2019-08-28T09:56:19
|
|
Suppress error messages in ANGLE end2end tests on Nexus6P.
GL errors are generated during initialization on this device. Suppress
them until enough logging is in place to debug.
BUG=998503
BUG=angleproject:3020
Change-Id: I74a51a661a930ea89b0234dcb3e6213288e75c86
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1774468
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
188b679b
|
2019-08-15T09:02:43
|
|
Remove GL/EGL function pointers from tests.
The auto-gen loader code should be able to handle all these cases.
Bug: angleproject:3393
Change-Id: If0a90fb29d79f2892fdf76fe0cb91ed0036ee1e3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1756083
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
93560ef5
|
2019-07-25T16:13:02
|
|
Vulkan: Seamful cube map emulation
In GLSL, a cube texture is sampled with one of textureCube* functions.
This function takes a 3D coordinate which is a vector from the center of
the cube and identifies a direction to sample from. GLES2.0 has the
following table that translates this 3D coordinate (Rx, Ry, Rz) to a
face and ST coordinates within that face. This table can be found in
Section 3.7.5 (Cube Map Texture Selection).
A compiler pass is implemented in ANGLE that replaces samplerCube
declarations with a sampler2DArray. The textureCube* functions are
replaced with the corresponding texture* functions with the translated
coordinates according to that table.
Gradients provided to textureCubeGrad are translated using the same
formulae, which is not precise but the spec specifies this projection to
be implementation dependent.
Helper invocations enabled through WQM (whole quad mode) cause a
nuisance in that the extrapolated varyings used as coordinates in a
textureCube call could have a different major axis (and therefore face)
from the non-helper invocations that lie within the geometry.
subgroupQuadSwap* operations are used in conjunction with
gl_HelperInvocation to make sure the helper threads calculate texture
UVs in the same face as the non-helper invocations.
Bug: angleproject:3300
Bug: angleproject:3240
Bug: angleproject:3243
Bug: angleproject:3732
Change-Id: I0cb6a9b1f2e1e6a392b5baca1c7118ed1c502ccf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1715977
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
bd4ff479
|
2019-07-19T22:08:17
|
|
Revert "Reland "Temporarily disable creating D3D debug device.""
This reverts commit 6064e6ab6bc7355b410543301a578d22d2f6e477.
Reason for revert: flakiness should be fixed by https://chromium-review.googlesource.com/c/angle/angle/+/1709726
Original change's description:
> Reland "Temporarily disable creating D3D debug device."
>
> This reverts commit 28394c2295335929c17bbfe0ab74f923cd234ff2.
>
> Reason for revert: may be the cause of flakiness on Win10 Debug (NVIDIA) per http://crbug.com/972914 .
>
> Original change's description:
> > Revert "Temporarily disable creating D3D debug device."
> >
> > This reverts commit 3d544fffe7ff9284b21e3a15f638297c827bbc21.
> >
> > Reason for revert: Seems like flakiness is not related.
> >
> > Suppress D3D11 test failures uncovered by re-enabling D3D debug device:
> > ComputeShaderTest.DispatchCompute
> > Texture2DTestES3.TextureImplPropogatesDirtyBits
> > D3DTextureTestMS.*
> >
> > Also a small fix to ANGLETestBase::checkD3D11SDKLayersMessages
> > to clear reported messages, otherwise the failures are also reported
> > for tests following the one with the actual failure.
> >
> > Original change's description:
> > > Temporarily disable creating D3D debug device.
> > >
> > > To diagnose whether Windows Intel end2end tests flakiness
> > > is related to creating debug device and new version of Windows SDK.
> > >
> > > Bug: angleproject:3153
> > > Change-Id: Ica7eae3fe875e22203b6dfd98b83604d66a97737
> > > Reviewed-on: https://chromium-review.googlesource.com/c/1476954
> > > Reviewed-by: Geoff Lang <geofflang@chromium.org>
> > > Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
> >
> > Bug: angleproject:3153, angleproject:3493
> > Bug: angleproject:3501, angleproject:3512, angleproject:3513
> >
> > Change-Id: I232da72aa09c2b9230cf179dd54e1731f8365f8e
> > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1480854
> > Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
> > Reviewed-by: Jamie Madill <jmadill@chromium.org>
> > Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
>
> TBR=ynovikov@chromium.org,geofflang@chromium.org,jmadill@chromium.org
>
> Change-Id: I38a5cc9bb6ebcd50e97e40cc972a82679e73732a
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: angleproject:3153, angleproject:3493, angleproject:3501, angleproject:3512, angleproject:3513
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1652784
> Reviewed-by: Kenneth Russell <kbr@chromium.org>
> Commit-Queue: Kenneth Russell <kbr@chromium.org>
TBR=ynovikov@chromium.org,geofflang@chromium.org,kbr@chromium.org,jmadill@chromium.org
Bug: angleproject:3153, angleproject:3493, angleproject:3501, angleproject:3513
Change-Id: I16eff79172dcfa2dd6d4f6445a74c9c65c1bd27c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1710861
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
a71a8c66
|
2019-07-04T09:42:31
|
|
ANGLE tests loading wrong opengl32.dll
ANGLE tests try to load opengl32.dll from ANGLE directory instead of system
Bug: angleproject:3645
Change-Id: I3a8cea37252d13e915ff54ae6bbac920db16e4c4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688544
Commit-Queue: Clemen Deng <clemendeng@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
eee67c6e
|
2019-06-18T13:00:43
|
|
Fix Platform.h integration with ANGLE
A function was renamed which broke the platformMethods table strings.
This CL reverts the rename (originally from crrev/c/1660952)
Bug: angleproject:1621
Change-Id: I8121a4956ba1d3e3c5036f72f6f1fdf5509dc491
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1664792
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
3f8975e1
|
2019-06-12T13:11:57
|
|
Debug: suppress INFO log level in tests
Disables INFO level log messages in tests, including GL errors.
Bug: angleproject:3525
Change-Id: Ib16871b9faaff54964dd2770e1791372b1b79361
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1656293
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: James Dong <dongja@google.com>
|
|
beb0eb2d
|
2019-06-14T15:10:33
|
|
Clean up workarounds/features to single location.
Rename all workarounds structs to features, and move the lists to a
shared location in include/platform (to help with documentation,
see:
https://cs.chromium.org/chromium/src/ui/gl/gl_switches.cc?sq=package:chromium&g=0&l=69)
Bug: angleproject:1621
Change-Id: I4069f08131db5e886047a007efb5d7764dfee5f2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1660952
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@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>
|
|
6064e6ab
|
2019-06-11T04:01:12
|
|
Reland "Temporarily disable creating D3D debug device."
This reverts commit 28394c2295335929c17bbfe0ab74f923cd234ff2.
Reason for revert: may be the cause of flakiness on Win10 Debug (NVIDIA) per http://crbug.com/972914 .
Original change's description:
> Revert "Temporarily disable creating D3D debug device."
>
> This reverts commit 3d544fffe7ff9284b21e3a15f638297c827bbc21.
>
> Reason for revert: Seems like flakiness is not related.
>
> Suppress D3D11 test failures uncovered by re-enabling D3D debug device:
> ComputeShaderTest.DispatchCompute
> Texture2DTestES3.TextureImplPropogatesDirtyBits
> D3DTextureTestMS.*
>
> Also a small fix to ANGLETestBase::checkD3D11SDKLayersMessages
> to clear reported messages, otherwise the failures are also reported
> for tests following the one with the actual failure.
>
> Original change's description:
> > Temporarily disable creating D3D debug device.
> >
> > To diagnose whether Windows Intel end2end tests flakiness
> > is related to creating debug device and new version of Windows SDK.
> >
> > Bug: angleproject:3153
> > Change-Id: Ica7eae3fe875e22203b6dfd98b83604d66a97737
> > Reviewed-on: https://chromium-review.googlesource.com/c/1476954
> > Reviewed-by: Geoff Lang <geofflang@chromium.org>
> > Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
>
> Bug: angleproject:3153, angleproject:3493
> Bug: angleproject:3501, angleproject:3512, angleproject:3513
>
> Change-Id: I232da72aa09c2b9230cf179dd54e1731f8365f8e
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1480854
> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
TBR=ynovikov@chromium.org,geofflang@chromium.org,jmadill@chromium.org
Change-Id: I38a5cc9bb6ebcd50e97e40cc972a82679e73732a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:3153, angleproject:3493, angleproject:3501, angleproject:3512, angleproject:3513
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1652784
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|