|
27561f04
|
2022-10-30T09:38:00
|
|
Capture/Replay: Emit always gContextMap2 when capturing traces
Bug: angleproject:7800
Change-Id: I12fc39d709527865a9b248a00c95d281c4e4d743
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3993317
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
adcda453
|
2022-11-01T00:00:00
|
|
Suppress new clip distance tests on iOS
Bug: angleproject:7768
Change-Id: Ib61efbb97dd9d6b238d4a59fc50983515f9d89fa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3996442
Auto-Submit: Alexey Knyazev <lexa.knyazev@gmail.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
67ee4976
|
2022-10-31T15:34:19
|
|
Vulkan: Skip BestPractices-ImageBarrierAccessLayout
Bug: angleproject:7795
Change-Id: I98f6840f9cd2956f7e73d0496a26f504516c48e2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3993364
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
805e00b8
|
2022-10-27T00:00:00
|
|
D3D11: Add clip and cull distance support
Added gl_ClipDistance and gl_CullDistance
support to HLSL translator.
Added enabled clip distance GL state emulation.
Added limitSimultaneousClipAndCullDistanceUsage
limitation.
Expanded and optimized related end2end tests.
Bug: angleproject:4452
Change-Id: Id66312505254ceff43d5258d486ddcdb0462db47
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3990944
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
7b102c18
|
2022-10-31T10:29:45
|
|
Vulkan: Disable logicOp dynamic state on Intel/Mesa
Hits a stack overflow inside the driver.
Bug: chromium:1379201
Change-Id: I52e5254b37688a027cbcf5ee5752de36b9b2a3aa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3993360
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
9d9b8b07
|
2022-10-24T15:56:42
|
|
Docs: Fix up trace replay options
The restricted_traces README was missed in prior update.
Bug: angleproject:7755
Change-Id: I65380ef902d3b8a39cec16829c3e0e8170e2667b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3975599
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
32fb3be6
|
2022-10-27T16:05:30
|
|
Vulkan: disable rasterization order feature if isQualcomm
It is simpler to just disable it for Qualcomm.
Bug: b/255837430
Change-Id: I884a9635ed2c6049fa4f79e10613f87f3f40f199
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3989644
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Chia-I Wu <olv@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
5fc46a22
|
2022-10-27T16:02:31
|
|
Vulkan: Specify rasterization order only when there is fb fetch
The original change had a performance impact on Qualcomm open source
driver on some traces
trex_200 22ms -> 39ms
car_chase 80ms -> 190ms
because it is expensive to make fb fetch coherent on Qualcomm
hardware. This fixes the regression by making sure we specify the
rasterization order only when there are indeed fb fetches.
But we believe other workloads can still be hit by the issue even
after this fix. We will disable rasterization order for Qualcomm
driver in the next commit.
Bug: b/255837430
Change-Id: If240dcbfd73112a72dc1e537821636ca16290eaf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3989166
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Auto-Submit: Chia-I Wu <olv@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Chris Dalton <chris@rive.app>
|
|
ce62d52f
|
2022-10-27T18:41:11
|
|
Fix Mid Execution Capture for External Texture
How we capture eglCreateImage and eglCreateImageKHR
have changed recently. Fix the code that recreate
eglCreateImageKHR calls for external texture type
in Mid Execution Capture.
Bug: angleproject:7758
Change-Id: I2bd35ec3349f1d4f1aef1bf7f76ac50d4abca53d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3989645
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
4abae6f9
|
2022-10-28T11:09:15
|
|
Metal: Fix 8-bit type name
This fixes a probable typo for the 8-bit unsigned integer value type.
Test: build ANGLE with Metal renderer enabled on iOS.
Bug: None
Change-Id: I2a332d996633fd81d01eece75817efb5683a5b31
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3989426
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
ac5a9c53
|
2022-10-26T00:00:00
|
|
Metal: Optimize ReplaceClipCullDistanceVariable
The intermediate ANGLEClipDistance variable is
not needed when generating MSL output directly.
Bug: angleproject:6291
Change-Id: Ie3d32a903645be002f21c44a6233f9cd0155605a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3981716
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Kyle Piddington <kpiddington@apple.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>
|
|
2bc9f1f4
|
2022-10-26T10:38:02
|
|
Lazily create threads in the thread pool
The Vulkan backend doesn't use thread pools normally, so creating
threads is a waste of CPU time. Additionally, creating threads early
causes issues with some sandboxing strategies.
Bug: b/250688943
Change-Id: I33f1b73bdc62f6a0c0b2277ce99ba78a87464486
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3982174
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9b9d8032
|
2022-10-19T14:57:03
|
|
Avoid mExtensions for initializing
mExtensions tracks the currently enabled extensions, while
nativeExtensions tracks which extensions are available on a platform.
This makes nativeExtensions more suitable for initializing data, as
extensions may be disabled at initialization and enabled later.
Bug: angleproject:7769
Change-Id: I9ee821a931045fc89091473f35e2b306ee653613
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3965610
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Sean Risser <srisser@google.com>
|
|
a77a80a1
|
2022-10-25T13:54:33
|
|
Wait for DestroyNotify and ConfigureNotify events.
There appears to be a race condition where
XDestroyWindow+XCreateWindow ignores the new size
(the same window normally gets reused but this only happens
sometimes on some X11 versions).
Wait until we get the destroy notification which should avoid races
between termination and initialization.
However, it turns out just doing that breaks things because tests get to
termination before even giving the window a chance to set up fully
(e.g. ConfigureNotify) which only happens after making the window
visible.. so additionally block in setVisible until we get
ConfigureNotify.
aaand turns out RobustBufferAccessBehaviorTest requires
setVisible(true) - tests fail when running on my local Linux and pass
now that I added setWindowVisible!
Bug: angleproject:7620
Change-Id: I93f2f05cb9d1c62776636bec976d94ead4cf0fd1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3979168
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
53abcf15
|
2022-10-25T15:26:44
|
|
Vulkan: Bug fix in supportsTimestampSurfaceAttribute
Move the initialization of "vkGetPastPresentationTimingGOOGLE"
and the assert check to after vkDevice creation.
Bug: angleproject:7489
Change-Id: I1ef50d64af3bea44a182be95dd182532b2c60d36
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3979994
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
81a244de
|
2022-10-10T15:32:25
|
|
Adding a class to perform ASTC texture decompression on the CPU
This significantly improves performance by caching and re-using the ASTC
decoder context, and using multi-threaded decompression.
This code was originally written for gfxstream.
Bug: b/250688943
Change-Id: I1727447907f2e25cf9b854ffcc9ccfc04db2fb91
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3929008
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
1c197e06
|
2022-10-24T16:53:01
|
|
Remove dEQP suppression for tests that already passed
Bug: b/224537784
Bug: angleproject:6898
Bug: angleproject:6910
Bug: angleproject:6918
Change-Id: I25f1d0d6fb3147d11cdf352290a683beed5082f6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3976789
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
ef8350a6
|
2022-10-21T06:30:51
|
|
GLES1Renderer: Handle GL_BGRA the same way we handle GL_RGBA
Fixes minetest
Bug: angleproject:7774
Change-Id: Iacbe8cb9aa434ec624bfaf056092b77bda468b3f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3970417
Commit-Queue: Constantine Shablya <constantine.shablya@collabora.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Constantine Shablya <constantine.shablya@collabora.com>
|
|
c97edf51
|
2022-10-24T00:00:00
|
|
Metal: Enable APPLE_clip_distance
Adjusted direct-to-Metal shader translator to support
gl_ClipDistance built-in.
Bug: angleproject:6291
Change-Id: Ice4cc3e4d7c131cbaac9726e845a5c1e59787e69
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3976428
Reviewed-by: Kyle Piddington <kpiddington@apple.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
30439960
|
2022-10-24T17:30:18
|
|
Unbreak run_angle_android_test.
Broken by ListTests removed in https://crrev.com/c/3963651
Move helper to angle_test_util.
Bug: angleproject:7755
Change-Id: I1eec442cf3e2bf6c24335d4c294a68e7e868b814
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3975353
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
11a3e06b
|
2022-10-24T11:26:05
|
|
Android: Fix restricted_trace_perf.py
Test: restricted_trace_perf.py --fixedtime 10 --power --loop-count 5
Bug: angleproject:7755
Change-Id: Idbd2ccc73bd7409e2538346897b254403c1fd5d6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3975592
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
6c53a562
|
2022-10-24T10:24:10
|
|
Add missing cstring include in gl_enum_utils.
Bug: angleproject:7752
Change-Id: I44ac0996673065b9633b35e4b07c5150a1ae3dcd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3970767
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
dc62b3ee
|
2022-10-10T21:00:16
|
|
Capture/Replay: Add trace interpreter.
Also adds a self-test using the retrace script.
Bug: angleproject:7752
Change-Id: I1985b47250bef99726d2ca2d90bef859208e357e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3965128
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
bc2e9eea
|
2022-10-15T14:38:15
|
|
Refine sampling of trace perf tests.
- The warmup algorithm now computes an accurate steps estimate.
- Bump up the trials, samples, and trial time in the runner.
Bug: angleproject:7671
Change-Id: I89a73472fd72af73f695c9107119cbc559d2d6e1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3956946
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
|
|
97beb2f7
|
2022-10-21T18:21:16
|
|
disable pixel6 for VertexAttributeTestES31 tests
Bug: angleproject:7770
Change-Id: Icc5d750ab222d2757e9551cbe3c2e7816b77a040
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3971009
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Solti Ho <solti@google.com>
|
|
f9c58274
|
2022-10-21T18:00:06
|
|
Disable test: FramebufferTest_ES3.DrawWithDifferentPreRotations
Bug: angleproject:7778
Change-Id: I02d71e031bb0c8455599014bcae975a1e5f5200f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3971006
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Solti Ho <solti@google.com>
|
|
a41c6173
|
2022-10-16T08:28:53
|
|
Simplify trace test names.
Originally we had a lot of conditionally enabled test configs
in angle_perftests, that we enabled behind a flag because the
total runtime would be too large if we left everything enabled.
This CL switches to using a single test set, one for each
trace, and using a the same command-line API we use in dEQP
and the ANGLE samples to pick a single configuration. This
makes it easier to pick exactly what configurations you want
from the command line.
Because we only run one configuration each time, we don't need
to specialize the test name to include the configuration info.
We can also simplify TracePerfTest -> TraceTest since these
tests are run for both perf and correctness.
Old name: TracePerfTest.Run/vulkan_trex_200
New name: TraceTest.trex_200
Example for tests that don't use default arguments:
Old args: --enable-all-trace-tests
Old name: TracePerfTest.Run/native_offscreen_trex_200
New args: --use-gl=native --offscreen
New name: TraceTest.trex_200
Bug: angleproject:7755
Change-Id: Id93cf5725eff2e2c6b3b14804bc2902f38306e7e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3966535
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
|
|
0c3b4fe8
|
2022-10-21T10:17:31
|
|
Reduce --use-angle spam in TracePerfTest.
Instead of recalculating the back-end for every trace, we can do
it once in the test instantiation and pass the results around.
Bug: angleproject:7755
Change-Id: I492c639d91ee6ad6a325cff090813aaeb900b2d8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3971080
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
0d635faf
|
2022-10-21T09:43:13
|
|
Enable capture by default on release non-Android bots.
This will enable running the trace interpreter tests with ANGLE.
Also this cleans up a case where we now default turning off the
trace tests when we're building with non-clang.
Bug: angleproject:7752
Change-Id: I7019bb969d859e06fafc7621e8620b8a2375261e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3971079
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Auto-Submit: Jamie Madill <jmadill@chromium.org>
|
|
cc35022f
|
2022-10-21T08:42:31
|
|
Only allow missing output file when listing tests.
Avoids potentially swallowing an error in non-list-test mode
Bug: angleproject:7755
Change-Id: I4e7fba6a5d110d568d71c31585fffdb189ec12a1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3971078
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
06ecc918
|
2022-10-10T20:59:38
|
|
Capture/Replay: Optionally emit C sources.
This adds an option that controls if we can write out simplified C
replays. Once the work is finished we can remove the option and
only allow emitting C instead of both C and CPP.
Required emitting multi-line strings differently, as well as
conditionalizing a few other language differences.
Bug: angleproject:7713
Change-Id: I3303134316ed3fc1b4286bcd32961e8f7ecfbb06
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3953339
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
bba47588
|
2022-10-19T11:59:10
|
|
Update ANGLE API loaders to avoid C++ syntax.
This replaces "using" with "typedef" in the various loaders.
This will allow C traces to use the loaders, which in turn will
allow us to implement a C interpreter.
Bug: angleproject:7731
Change-Id: I37838bcafc290502fca0038d1b50554b6a301e65
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3966533
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
596c2acf
|
2022-10-20T18:59:04
|
|
FrameCapture: Fix FenceSync for MEC
Follow up to:
https://chromium-review.googlesource.com/c/angle/angle/+/3957164
Test: MEC for Grimvalor
Bug: angleproject:7758
Change-Id: Ia0895e923d9bee41bcfbff48d15bf9aa86e29d17
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3969519
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
adde4265
|
2022-10-19T23:33:48
|
|
Vulkan: Separate pipeline cache query and insertion
In preparation for VK_EXT_graphics_pipeline_library usage, the query and
insertion functions of the graphics pipeline cache are separated. This
will allow the implementation using VK_EXT_graphics_pipeline_library to
query the monolithic pipeline cache, and if a pipeline is not found,
create it through the pipeline library caches.
Bug: angleproject:7369
Change-Id: Iebf7669ae3ea95e180646198c4861cc59d67e580
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3963854
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
5c0b329e
|
2022-10-19T16:59:58
|
|
Vulkan: Clean up rotation spec const update
Update during makeCurrent was done by invalidating the program, and then
at pipeline creation time the spec const was updated. This is changed
so that makeCurrent updates the spec const directly, and avoid
invalidating the pipeline.
Also removes spec const usage calculation, as it's unused.
Bug: angleproject:7369
Change-Id: I79444ce4173c4db9c6800fb02afd9e8447a25f82
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3963853
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
6193274a
|
2022-10-10T21:00:12
|
|
Capture/Replay: Redesign in-memory call capture replay.
This will allow the replay to use the call captures returned
by the interpreter's parser.
Bug: angleproject:7752
Change-Id: If1b281d9ce7ccfbdc23bea615e1e2258c8a029f9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3963367
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
cd10b6d2
|
2022-10-10T21:00:07
|
|
Enum Utils: Add method to return enum value from string.
We'll use this in the trace interpreter to parse enum values.
Bug: angleproject:7752
Change-Id: I232a00baac2f74c9618029929bbb3e5822654046
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3963366
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
fd45cec3
|
2022-10-10T20:59:58
|
|
Entry Points: Move enum helper to registry_xml.
This will make it accessible to other generators.
Bug: angleproject:7752
Change-Id: I91bc9a4d6c919266ea329f66d271bf881d99d17a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3963364
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
873650f4
|
2022-10-19T16:51:53
|
|
run_perf_tests.py: Fix test list unexpected error.
The tests were failing because of a failure to pull the test
json output from the device after --list-tests. This failure
was benign because the test lists still came through to the
test runner and it was able to proceed, but it was causing
an error message.
Also changes the runner to fail early if there's any error
during --list-tests.
Bug: angleproject:7755
Change-Id: I67bceec6b69fd2856136313d5e456e3c1f1caccf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3964753
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Auto-Submit: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
|
|
01e6be3c
|
2022-10-19T20:42:30
|
|
Actually use EXT_shader_framebuffer_fetch_non_coherent for PLS
Bug: angleproject:7279
Change-Id: I37099a917303ab41d86dbe1203183ac55229942f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3966074
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d25911de
|
2022-10-10T20:59:53
|
|
Capture/Replay: Move trace fixture into util/
This will allow us to cleanly import the fixture headers
outside of libANGLE. We'll need to call into the trace fixture
in the trace interpreter, which will be in util/.
Bug: angleproject:7752
Change-Id: I3438989db8482924272c69e78d7ac5702e510648
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3963363
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
5b7113b6
|
2022-09-21T10:05:42
|
|
EGL: Implement EGL_EXT_device_drm and EXT_device_drm_render_node
These extensions are needed by Exo for zwp_linux_dmabuf v4 support.
Add the needed infrastructure to the EGL backend to support device
queries and expose the extensions there.
In the future we will want to support the extensions on Vulkan as well,
however unfortunately this is not trivial, so leave it out for now.
Bug: angleproject:7686
Change-Id: I0a54bf58dbaa9e87c8baac760cb9ac9027fea4c2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3964272
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
4bfb749f
|
2022-10-10T20:59:48
|
|
Capture/Replay: Move shared trace code into src/common.
This will let them be accessible to the test harnesses. The
trace tests interpreter will need direct access to the classes
that we move in this CL.
This CL also moves the GLenum utils into the common folder,
where they were already used by some other tests.
Bug: angleproject:7752
Change-Id: I97ad607938ef29bc316f6d40098478e002ea8128
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3963362
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
5ec6f8dd
|
2022-10-10T20:59:42
|
|
Capture/Replay: Only inline strings.
This will simplify the trace code and the parsing logic.
Previously we wrote some integer data in the cpp file, e.g.:
const GLenum glDiscardFramebufferEXT_attachments_0[] = {...};
glDiscardFramebufferEXT(..., glDiscardFramebufferEXT_attachments_0);
Bug: angleproject:7731
Change-Id: If7924b1bf231f584f4677a438232bedc7ea9bd69
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3953338
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
8403e4c5
|
2022-10-10T20:59:29
|
|
EGL: Resource IDs for Surface, Context and EGL Image.
This will make these classes play nicely with resource maps. As these
objects are used in a lot of places, and simplified C can't handle
unordered_map, it's necessary to index the maps by simple packed IDs
in capture/replay code. This indirection will also have increased
safety as we validate EGL resource ID handle values before accessing
the memory directly.
Also hides some of the other EGL capture methods behind helper methods
to simplify the C code and hide assignments and other complex maps.
Bug: angleproject:7758
Change-Id: Ibc7bb56430d3068bd38877c9dfb011979d4ea234
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3957164
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
c6390143
|
2022-10-12T09:57:55
|
|
Vulkan: Make compatible with GCC
Resolves below warnings occurred with GCC build.
1) deperecated-copy
Overriding an assignment operator without a copy constructor
caused the deprecated-copy warnings.
2) unused-function
3) parenthesis
Warnings occurred due to missing parenthesis around
some logical expressions, add them to quiet the warnings.
4) unused variable
5) 'maybe-unused' attribute ignored
Introduces 'ANGLE_MAYBE_UNUSED_PRIVATE_FIELD' macro to avoid
'attribute ignored' warning which is only occurred
with GCC because GCC doesn't warn about 'unused non
static data member' whereas Clang has Wno-unused-private-field.
Signed-off-by: Sungyong Choi <sywow.choi@samsung.com>
Bug: angleproject:7764
Change-Id: I8e7410a5ed8cb9b8f8b3202073d779fea63d6b75
Reviewed-by: Jeff Vigil <j.vigil@samsung.com>
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3963830
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
315b07b2
|
2022-10-19T22:06:44
|
|
FrameCapture: Fix UniformBlockBinding
Follow up to:
https://chromium-review.googlesource.com/c/angle/angle/+/3953334
Test: MEC for Grimvalor and Wild Arena Survivors
Bug: angleproject:7731
Change-Id: I2a246c5701aaf42d77fd45487804f0f21562342e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3967870
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
7b4b56f0
|
2022-10-19T00:05:22
|
|
Vulkan: Missing output mask in GraphicsPipelineDesc
Currently, there's some program state used in creating pipelines
alongside what's in GraphicsPipelineDesc. This works because the
pipeline cache lives in the program executable.
With VK_EXT_graphics_pipeline_library however, we could create vertex
input and fragment output partial pipelines that are independent from
and are shared between multiple programs. To support this, any program
state that's necessary for pipeline creation should be part of the
GraphicsPipelineDesc structure.
This change places the state affecting fragment output in
GraphicsPipelineDesc.
Bug: angleproject:7369
Change-Id: I2e48fc9da220475e1b2ed376fc947ce13489610e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3963652
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
f0e3d8f9
|
2022-10-18T13:51:31
|
|
Vulkan: Shader component type in GraphicsPipelineDesc
Currently, there's some program state used in creating pipelines
alongside what's in GraphicsPipelineDesc. This works because the
pipeline cache lives in the program executable.
With VK_EXT_graphics_pipeline_library however, we could create vertex
input and fragment output partial pipelines that are independent from
and are shared between multiple programs. To support this, any program
state that's necessary for pipeline creation should be part of the
GraphicsPipelineDesc structure.
This change places the state affecting vertex input in
GraphicsPipelineDesc. A follow up change will do the same for state
affecting fragment output.
Bug: angleproject:7369
Change-Id: Iccf691a1597d786efa1625f7b1c22f906201f2e5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3964751
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
d8fe28dd
|
2022-10-19T00:00:00
|
|
Suppress clip distance tests on iOS
Bug: angleproject:4452
Bug: angleproject:7768
Change-Id: Iabea037ded6ee3cfa0c325c59099772ac6adbbc6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3963134
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
025504b9
|
2022-10-17T17:03:03
|
|
Pass worker pools to image load functions
In preparation for the ASTC decoder using threaded decoding.
Bug: b/250688943
Change-Id: I70d669bcb57b900dbb633304182e174aec362203
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3961339
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Greg Schlomoff <gregschlom@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b5929ac6
|
2022-10-17T18:06:32
|
|
Move worker pools to Display
It doesn't make sense for each context to have its own set of CPU-count
workers. This change also facilitates access to the thread pools where
gl::Context is not available (but egl::Display is).
Bug: b/250688943
Change-Id: I240353abba26c15338d59631b4179a58dfd662f5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3961334
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
fbd7d5fa
|
2022-10-17T17:20:09
|
|
Move thread pool classes to common/
In preparation for access by image_util files.
Bug: b/250688943
Change-Id: I24777269a5071eae9a60f939635d01ed7246461f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3961454
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e495e7fd
|
2022-10-14T13:52:47
|
|
Redo perf and trace test parameters.
- Moves common argument parsing code into test_util.
- Changes the perf test arg parsing to use the common functions.
- Adds new --use-angle and --use-gl parameters to the trace tests.
- Also adds new --offscreen and --vsync parameters to the traces.
- Removes the now unneeded --enable-all-trace-tests argument.
- Both --arg=value and --arg value work in test suites now.
Now, instead of using --enable-all-trace-tests you can specify the
backend with --use-angle=swiftshader, --offscreen, or combinations
of those parameters. The test names are the same as they were
before, but only the configured tests will run in a session. We
could opt to simplify the test names in later CLs if we want to
simplify the test running. Ideally we'd keep the perf reporting
the same because then we'd keep the time series the same on the
test infra.
This also allows us to split up the trace tests into separate
targets on the bots, which will better allow us to control the
workloads and sampling of the tests. For example:
- angle_perftests becomes
- angle_perftests (microbenchmarks)
- angle_trace_perf_vulkan_tests (traces with vulkan back-end)
- angle_trace_perf_native_tests (traces with system GL)
Bug: angleproject:7755
Change-Id: I537168f3a6de96425dfda05ed98220eff9b19b76
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3956937
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
03eccad2
|
2022-10-18T10:39:53
|
|
Tests: Add reduced crashing shader test
Reduced case of a shader that crashes an app during SPIR-V compile.
Test: GLSLTest_ES3.NestedPowFromUniform
Bug: b/217922015
Change-Id: I8d0ccd8b2c4f4e8e51ac39c9dbfaafbf48423157
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3965051
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d6ca85bd
|
2022-10-18T17:10:41
|
|
run_perf_tests.py: Remove unneeded Android args.
These only apply to the Chromium Android test runner, which we
no longer use for this script.
Bug: angleproject:7755
Change-Id: I311ac204e1999a77872a76f6d0b9d149f7ac409e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3963651
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
Auto-Submit: Jamie Madill <jmadill@chromium.org>
|
|
60592f3c
|
2022-10-13T17:58:18
|
|
Reland "Make ANGLE's Worker Pool actually pool the threads."
This is a reland of commit 0a4a7ea77661703e467293bc0f6d79c95061fa76
Original change's description:
> Make ANGLE's Worker Pool actually pool the threads.
>
> When starting a lot of short-lived tasks, this increases performance by
> over 70 times on my machine.
>
> Old code, decoding a 16x16 ASTC texture with 8 threads:
> *RESULT AstcDecoderPerfTest.cpu_time: run= 2,847,708 ns
> *RESULT AstcDecoderPerfTest.wall_time: run= 1,841,014 ns
>
> New code:
> *RESULT AstcDecoderPerfTest.cpu_time: run= 81,602 ns
> *RESULT AstcDecoderPerfTest.wall_time: run= 27,088 ns
>
> Bug: angleproject:7757
> Change-Id: Ib643405675c50b2ed8ccd24d6caa7e57335130e1
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3953905
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Greg Schlomoff <gregschlom@google.com>
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: angleproject:7757
Change-Id: Ib06b37c8776dac5a2b1ea67921a9cd8687485ee2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3963370
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
fec93f40
|
2022-10-14T00:00:00
|
|
GL: Support clip and cull distance extensions
Use EXT_clip_cull_distance on OpenGL ES to expose
APPLE_clip_distance; use ARB_cull_distance on OpenGL
to expose EXT_clip_cull_distance.
Added disableClipCullDistance OpenGL workaround.
Bug: angleproject:4452
Change-Id: I458cad29c10b9d9193c5233e24bac53361ba104e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3956075
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
11f8f537
|
2022-10-17T16:59:50
|
|
Capture/Replay: Improvements to self-test.
- print errors in the replay test
- catch missing serialization
- clean stale json output files before each replay
- add flag to show replay stdout
- fix help message
Bug: angleproject:7731
Change-Id: Ibeb780f417bdbed4b249038920963dd1bd68f4aa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3962248
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e0d2c7f2
|
2022-10-18T15:07:25
|
|
retrace script: Update trace test suite name.
Bug: angleproject:7755
Change-Id: I1322543b199aacb4f083b67f0bc4f8bf93ea65b3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3963359
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
d22edf57
|
2022-10-18T14:57:55
|
|
Perf Tests: fail test on GL_CONTEXT_LOST after glFinish().
Interrupts the test in the case I ran into:
../../src/tests/perf_tests/ANGLEPerfTest.cpp:383: Failure
Failed
Context lost
Warm-up trial took 1.11 seconds.
[ FAILED ] TracePerfTest.Run/vulkan_dr_driving, where GetParam() = vulkan_dr_driving (1476 ms)
[----------] 1 test from TracePerfTest (1476 ms total)
Bug: angleproject:7762
Change-Id: Iaf416dbdaa0eb846b744bdb4d1eb596f0c2bb1a6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3963360
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
0d203aef
|
2022-10-16T10:08:01
|
|
EGL: Add ID types for egl::Surface and egl::Image.
This is in preparation for using resource maps for Context, Surface
and EGLImage. The map change will make it much easier to work with
the trace fixture. It will also have a small benefit in safety as
we will longer be casting raw pointers for these types.
As these objects are used in a lot of places, and simplified C
can't handle unordered_map, it's necessary to index the maps by
simple packed IDs in capture/replay code.
Bug: angleproject:7758
Change-Id: Ib1d19622a4f2a6f0458cc28f5bbe30bb9f349b98
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3957163
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
4be8294c
|
2022-10-06T09:50:28
|
|
Tests: Enable EGL_ANGLE_iosurface_client_buffer tests on iOS
This enables EGL_ANGLE_iosurface_client_buffer extension tests on iOS
platform. A few OpenGLES related tests had to be suppressed though. I'm
getting the following:
[==========] 96 tests from 1 test suite ran. (960 ms total)
[ PASSED ] 66 tests.
[ SKIPPED ] 30 tests, listed below:
[ SKIPPED ] IOSurfaceClientBufferTest.RenderToBGRX8888IOSurface/ES2_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.RenderToBGRX8888IOSurface/ES3_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.RenderToRG88IOSurface/ES2_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.RenderToRG88IOSurface/ES3_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.RenderToR8IOSurface/ES2_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.RenderToR8IOSurface/ES3_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.RenderToR16IOSurface/ES2_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.RenderToR16IOSurface/ES3_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.RenderToR16IOSurface/ES2_Metal
[ SKIPPED ] IOSurfaceClientBufferTest.RenderToR16IOSurface/ES3_Metal
[ SKIPPED ] IOSurfaceClientBufferTest.RenderToBGRA1010102IOSurface/ES2_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.RenderToBGRA1010102IOSurface/ES3_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.ReadFromBGRA1010102IOSurface/ES2_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.ReadFromBGRA1010102IOSurface/ES3_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.RenderToRGBA16FIOSurface/ES2_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.RenderToRGBA16FIOSurface/ES3_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.ReadFromToRGBA16FIOSurface/ES2_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.ReadFromToRGBA16FIOSurface/ES3_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.RenderToYUV420IOSurface/ES2_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.RenderToYUV420IOSurface/ES3_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.ReadFromToYUV420IOSurface/ES2_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.ReadFromToYUV420IOSurface/ES3_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.RenderToP010IOSurface/ES2_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.RenderToP010IOSurface/ES3_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.ReadFromToP010IOSurface/ES2_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.ReadFromToP010IOSurface/ES3_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.MakeCurrent/ES2_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.MakeCurrent/ES3_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.ReadFromBGRX8888IOSurfaceWithTexBaseMaxLevelSetToZero/ES2_OpenGL
[ SKIPPED ] IOSurfaceClientBufferTest.ReadFromBGRX8888IOSurfaceWithTexBaseMaxLevelSetToZero/ES2_Metal
Test: iPhone 13 and ./iossim -d 'iPhone 13' -c \
'--gtest_filter=\*IOSurfaceClientBufferTest\*' angle_end2end_tests.app
Bug: angleproject:5491
Change-Id: Id7c489ae41b11442a2dd06174b2c279894e83401
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3957539
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
67915fb4
|
2022-09-19T15:08:54
|
|
Reland "Reland "EGL: Implement EGL_EXT_image_dma_buf_import_modifiers""
This is a reland of commit f53eac299fb2e0083fa386af1f04038b32faebe4
New changes:
- Disable the extension on old proprietary Mali drivers
Original change's description:
> Reland "EGL: Implement EGL_EXT_image_dma_buf_import_modifiers"
>
> This is a reland of commit 1d8dce2587a23b59f911c801856372996bdb2f64
>
> New changes:
> - fail softly on buggy drivers (which are part of the CI)
>
> Original change's description:
> > EGL: Implement EGL_EXT_image_dma_buf_import_modifiers
> >
> > This reverts Ifbb0a182171646df8161f6f42eafe2a476fea6b2 and implements
> > the previously missing bits. Inspired by the corresponding Vulkan
> > implementation.
> >
> > The extension is used by an upcoming Exo feature which was successfully
> > tested with this patch, see
> > https://chromium-review.googlesource.com/c/chromium/src/+/3857556
> >
> > Bug: angleproject:7664
> > Change-Id: I951d1a787e1db3a77b19fcea6186b7aa0a29872f
> > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3904345
> > Reviewed-by: Geoff Lang <geofflang@chromium.org>
> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
>
> Bug: angleproject:7664
> Change-Id: I732fc9dad54366553987104fa035bde2afe08ecd
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3924350
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: angleproject:7664
Change-Id: I1f4cf04eb725d789d3dadb35fb6e59b0d3e470a6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3949029
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
bb420af7
|
2022-10-10T20:59:24
|
|
Capture/Replay: Rewrite map buffer calls.
This wraps the map calls into simple helper functions that
hide the return value assignment, which in turn will simplify
C parsing.
Allows us to remove storing the mapped buffer ID in the params.
Bug: angleproject:7731
Change-Id: I756574cc0fa3d63cce4e0103b8f2861d093de186
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3953335
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
fba70715
|
2022-10-18T12:53:53
|
|
Revert "Make ANGLE's Worker Pool actually pool the threads."
This reverts commit 0a4a7ea77661703e467293bc0f6d79c95061fa76.
Reason for revert: Suspected to cause flakiness in angle_unittests on https://ci.chromium.org/p/chromium/builders/ci/Linux%20CFI?limit=200
Original change's description:
> Make ANGLE's Worker Pool actually pool the threads.
>
> When starting a lot of short-lived tasks, this increases performance by
> over 70 times on my machine.
>
> Old code, decoding a 16x16 ASTC texture with 8 threads:
> *RESULT AstcDecoderPerfTest.cpu_time: run= 2,847,708 ns
> *RESULT AstcDecoderPerfTest.wall_time: run= 1,841,014 ns
>
> New code:
> *RESULT AstcDecoderPerfTest.cpu_time: run= 81,602 ns
> *RESULT AstcDecoderPerfTest.wall_time: run= 27,088 ns
>
> Bug: angleproject:7757
> Change-Id: Ib643405675c50b2ed8ccd24d6caa7e57335130e1
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3953905
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Greg Schlomoff <gregschlom@google.com>
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: angleproject:7757
Change-Id: I35c721ca770b4a62aa135fd2f80ae597d7ea14fa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3963528
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Christian Dullweber <dullweber@chromium.org>
|
|
4f85f862
|
2022-10-10T20:59:19
|
|
Capture/Replay: Remove references to uniform block indexes.
This removes the references in captured traces to the uniform
block index map. Because uniform block indexes use a double
indirection, we store them in an unordered map. Moving to plain
C precludes all uses for templated types, so we need to funnel
the calls through a custom function.
Bug: angleproject:7731
Change-Id: I35ae010b880ee669df09d750d5fb26d3baf907cd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3953334
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b521be4c
|
2022-10-14T23:09:26
|
|
Vulkan: Decouple shader-set from pipeline caches
In preparation for VK_EXT_graphics_pipeline_library, where different
pipeline caches (for the complete pipelines and the shaders subset
partial pipelines) may create pipelines from the same shader set, the
pipeline caches are pulled out of ShaderProgramHelper. In an upcoming
change, ProgramExecutableVk will have more than one
GraphicsPipelineCache instance, both creating pipelines through the same
ShaderProgramHelper.
The pipeline creation methods in ShaderProgramHelper are now const.
This means a thread would be able to create pipelines using an object of
this class while the main thread creates other pipelines using the same
object, but in a different pipeline cache.
Bug: angleproject:7369
Change-Id: Ib8a76dedf1105ba9dfcad9e972157c92ba18e349
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3956944
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e1da4916
|
2022-10-18T15:29:53
|
|
Remove unused enum CacheResult
Bug: angleproject:2516
Change-Id: Ib2f4f66279ebb54e05b26559cf5759ca78020f03
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3960887
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
|
|
968041b5
|
2022-08-19T12:11:23
|
|
Metal: Optimized BufferSubData per device
Adds a staging buffer path which means there are 4 paths
for bufferSubData.
1. direct copy
* get a pointer to the buffer
* copy the new data to the buffer
* if the buffer is managed, tell metal which part was updated
2. use a shadow copy
* copy the data to a shadow copy
* copy the entire shadow to a new buffer
* start using the new buffer
3. use a new buffer
* get a new buffer (or unused)
* put the new data in the new buffer
* blit any unchanged data from the old buffer to the new buffer
* start using the new buffer
4. use a staging buffer
* get a staging buffer
* put the new data in the staging buffer
* blit from the staging buffer to the existing buffer.
Further, there are 3 types of memory storage modes.
Managed, Staged, Private.
Based on the GPU type different storage modes and different
paths in different sitatutions are more performant.
So, add feature flags to select paths by GPU.
Bug: angleproject:7544
Change-Id: I741dd1874201043416374194bd2001ded8dbd9b4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3842641
Reviewed-by: Kyle Piddington <kpiddington@apple.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Quyen Le <lehoangquyen@chromium.org>
Commit-Queue: Gregg Tavares <gman@chromium.org>
|
|
0e0ea026
|
2022-10-13T18:29:33
|
|
Split trace tests out into angle_trace_tests.
This makes angle_perftests strictly for microbenchmarks.
The trace tests are a better separated target because they
are for both gold correctness tests and performance.
You can now use the GN arg "build_angle_trace_tests" to control
building the trace tests. "build_angle_trace_perf_tests" is
still supported for compatibility.
Updates the infra scripts to use this new trace tests target.
Also updates the build so by default we'll build the trace
tests if you check them out, without needing a custom arg.
Also updates docs.
Bug: angleproject:7755
Change-Id: I2b1ae67799234cc1aefe7cda5f3af945c3f867fd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3953340
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
09b079bb
|
2022-10-14T14:28:10
|
|
Vulkan: Move pipeline subset out of pipeline desc
This way, the same pipeline desc can be used to query multiple caches
with different subsets. This design requires the pipeline cache to be
templated, while the previous design required the desc to be copied (so
the subset bits would be different).
Bug: angleproject:7369
Change-Id: Id3fd92e6f9b059069952ff092a5c867e79287604
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3956940
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
b354aa4d
|
2022-10-17T13:18:17
|
|
Skip some end2end tests failing on iOS
Bug: angleproject:7756
Change-Id: Ia9a7d9260feb97d094b2e58104d7cdb4a866e5b2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3960968
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
eaa71709
|
2022-10-14T11:47:07
|
|
Vulkan: s/ContextVk/Context in pipeline creation
With VK_EXT_graphics_pipeline_library, pipeline creation may happen on a
thread. This change prepares the interface such that only a vk::Context
is needed, instead of ContextVk.
Bug: angleproject:7369
Change-Id: Ib7e9e7e140e27a4af71bffee069c88e3d7f47dfa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3956935
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2265e37b
|
2022-10-12T09:27:16
|
|
Capture/Replay: Auto-generate EGL capture code.
Replaces the custom code in the EGL stubs. Skips a few "Get"
entry points because this CL doesn't implement pointer capture
like we do for all the GL entry points.
Includes a new state in the AttributeMap that indicates which
type of attribute values we used when initializing the map.
Bug: angleproject:4035
Change-Id: I272eac5e4068602ce710ef66c9a1dce5387943a5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3949911
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
7c4dc253
|
2022-10-12T08:38:46
|
|
Capture/Replay: Clean up EGL capture.
This switches the EGL capture types to ANGLE-casted pointers since
that's what we receive in the capture layer. Note that even if the
capture layer were used as a pure layer, not an EGL implementation,
we'd still have these types for state tracking.
This also prefixes each EGL class in the entry points with the egl
namespace for consistency and for simplifying the ParamType code.
Required changing to non-const gl::Context * in a few places. Also
changes the gSurfaceMap to be indexed by the raw pointer value,
which cleans up the code somewhat.
Bug: angleproject:4035
Change-Id: Id800c1ba25e5819ac7ea1df8aab806bc393fe192
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3949910
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
0a4a7ea7
|
2022-10-13T17:58:18
|
|
Make ANGLE's Worker Pool actually pool the threads.
When starting a lot of short-lived tasks, this increases performance by
over 70 times on my machine.
Old code, decoding a 16x16 ASTC texture with 8 threads:
*RESULT AstcDecoderPerfTest.cpu_time: run= 2,847,708 ns
*RESULT AstcDecoderPerfTest.wall_time: run= 1,841,014 ns
New code:
*RESULT AstcDecoderPerfTest.cpu_time: run= 81,602 ns
*RESULT AstcDecoderPerfTest.wall_time: run= 27,088 ns
Bug: angleproject:7757
Change-Id: Ib643405675c50b2ed8ccd24d6caa7e57335130e1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3953905
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Greg Schlomoff <gregschlom@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e8f9355c
|
2022-10-13T16:51:32
|
|
Vulkan: Add forceWaitForSubmissionToCompleteForQueryResult flag
Add forceWaitForSubmissionToCompleteForQueryResult feature flag and
enable it for ARM.
Also force host wait if async submission is enabled.
Bug: b/253522366
Change-Id: Ie2d7373930f1a2b3fc761d2f8d2df8fa84983c54
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3954044
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
19fb11b6
|
2022-10-14T11:12:20
|
|
Vulkan: Merge warmed up compute cache into renderer
It was done for graphics, but was accidentally missing for compute.
Bug: angleproject:5881
Bug: angleproject:7629
Change-Id: I28a4c2e38b07b08e1636b443f2c0963130965ebb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3956496
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
09a1aec4
|
2022-10-14T08:59:07
|
|
Expand suppression for async timer tests.
Flaking on SwiftShader as well.
Bug: angleproject:7548
Change-Id: I419c602184c03141c75b21bf3a0b66d8b2a34303
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3956494
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Auto-Submit: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
8e644365
|
2022-10-11T11:47:55
|
|
Vulkan: Rearrange state specification for pipeline libraries
This change splits pipeline state setup based on whether the complete
pipeline is being created or only a subset of it. However, no partial
pipelines are yet created, that will be done in a following CL.
Bug: angleproject:7369
Change-Id: Ife34c4bc39641ab8f06e7c78502f95a6bc16d15d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3949917
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
94b45181
|
2022-10-12T14:54:14
|
|
Vulkan: Rearrange graphics pipeline desc bits
In preparation for use of VK_EXT_graphics_pipeline_library, the pipeline
state is split in three contiguous regions:
- Vertex input
- Pre-rasterization and fragment stages ("Shaders" for short)
- Fragment output
There is some state that affects both Shaders and Fragment output, which
is split and placed in between the two. This will allow the hash and
compare functions to eventually access each of those pipeline subsets as
a contiguous piece of memory.
Bug: angleproject:7369
Change-Id: Iedc4cf15ed6c7fed6ba93039889fbf5dd191e041
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3949914
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
0b7f3f5e
|
2022-10-12T17:47:06
|
|
More robustness tests
Similar test to what was introduced in
https://chromium-review.googlesource.com/c/angle/angle/+/3943534, but
for vertex and compute shaders.
Bug: angleproject:7629
Change-Id: I743233136125358edb6a15760b1ece63c36d3f85
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3949915
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
c22f091d
|
2022-09-29T18:58:33
|
|
Replace Hard-Coded egl image attribs
This change is adapted from https://crrev.com/c/3838866
Added two hash maps to track below information:
EGLImage* --> EGLint* attrib
TextureID --> EGLImage*
During the CaptureShareGroupMidExecutionSetup,
when we iterate through all the textures the app created,
if the texture is bound to External target,
we will refer to the hash map TextureID --> EGLImage*
to find the EGLImage* pointer, and then use the result
as the key to refer to the other hash map
EGLImage* --> EGLint* attrib to find the attributes used
to create that EGLImage object. We can then use the
attributes to populate eglCreateImage or eglCreateImageKHR
calls in the trace calls.
Bug: angleproject:7570
Change-Id: I729de4ddea59242ccbe6243e036451f290545185
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3928212
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
1119dfbd
|
2022-10-03T16:47:29
|
|
Vulkan: disable supportsHostQueryReset feature if func is null
This is try to clean up a old fix for chromium security bug
chromium:1273344 that in some bots we are seeing supportsHostQueryReset
feature enabled but vkResetQueryPoolEXT pointer is null. We fixed that
in crrev.com/c/3313382 that added a check of vkResetQueryPoolEXT AND
supportsHostQueryReset feature flag. This CL disables the feature flag
if vkResetQueryPoolEXT pointer is null so that other places we only need
to check feature flag.
Bug: b/250706693
Change-Id: I2d9f9726f081e21a37bbb0bb205003c390f2d32c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3929236
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|
|
135022e4
|
2022-10-11T00:03:11
|
|
Vulkan: Create robust pipelines based on context state
Previously, pipelines were made robust based on whether any context in
the share group has so far been made robust. This means that pipelines
created on non-robust contexts would still be compiled as robust.
Inefficiency aside, this was buggy because robustness was not part of
the pipeline cache key, so if a pipeline was created as non-robust
first, then recreated in a robust context, it would reuse the non-robust
variant.
With VK_EXT_pipeline_protected_access, a similar situation arises for
context protected-ness. However, it is incorrect in that case to create
pipelines as protected unnecessarily.
This change makes pipeline robustness a part of the pipeline cache key,
in preparation for protectedness to be added similarly. Compute
programs may now generate multiple pipelines as a result too.
Bug: angleproject:7629
Change-Id: Ie95f10eff878f8c8b221c1018da44385c7aad15e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3943534
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
9b5fff82
|
2022-10-05T21:56:00
|
|
Vulkan: Emulate shader stencil export for MSRTT
The MSRTT emulation code had one corner case issue that could lead to
performance and memory inefficiencies. That is when stencil needs to be
unresolved and VK_EXT_shader_stencil_export is not supported.
This change adds a path to emulate VK_EXT_shader_stencil_export and
removes this inefficiency.
This should help Chromium on older Android devices that lack both this
and the recent VK_EXT_multisampled_render_to_single_sampled extensions.
Chromium frequently breaks the render pass (crbug.com/1336981), which
easily leads to this situation.
Bug: angleproject:4836
Change-Id: Ifceec43f7f3807b7e32f4b379edcd4351ae76414
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3935892
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
b1d699da
|
2022-10-04T15:27:51
|
|
Vulkan: Don't wait QueueSerial if supportsHostQueryReset enabled
In QueryVk::getResult() we are waiting for query's queueSerial to
complete, even though QueryHelper::getUint64Result() we are also using
VK_QUERY_RESULT_WAIT_BIT to ask vulkan driver to wait for result. Based
on the comment, the reason for that queueSerial wait is because "its
reset command may not have been performed by the GPU yet.". But if
mFeatures.supportsHostQueryReset is enabled, we use vkResetQueryPoolEXT
to reset the query, and this host reset is immediate, so there is no
need to wait for queueSerial in this case. This CL disables the wait
when host reset is enabled and relies on
vkGetQueryPoolResults(VK_QUERY_RESULT_WAIT_BIT) to do actual wait. This
should help performance on immediate renderer where the query result
might be available before renderpass completion.
Bug: angleproject:3965
Change-Id: Ibe61c289f1f3d1312e79ac80a2b5de23b90ef87c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3935444
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|
|
76f377c5
|
2022-06-17T16:05:16
|
|
Vulkan: Break renderpass when switch from query to non-query
getQueryResult will wait for query result to be available, which means a
potential CPU bubble if the result is not yet available. On tiler GPUs
it will at least wait for renderpass to complete. Usually query enabled
draws are very tiny (usually just draw a point to see if it is occluded
or not), and query disabled draws are expensive. Some apps do issue a
glFlush when switch from query draw to non-query draw, but app like
dead_by_daylight does not issue such flush. In order to reduce the
bubble, this CL ends renderpass and issue a flush when we switch from
query enabled draws to non-query enabled draw so that the result will be
available much earlier, this reduce the CPU bubble. This result in
dead_by_daylight frame time improves from 5.45ms to 3.5ms (35%
improvement).
Bug: b/250706693
Change-Id: Ia3a32a9fb336e6f256809b3cad83f61a45415fb1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3931739
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Charlie Lao <cclao@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
219af5de
|
2022-10-11T18:05:47
|
|
Revert "Reland "EGL: Implement EGL_EXT_image_dma_buf_import_modifiers""
This reverts commit f53eac299fb2e0083fa386af1f04038b32faebe4.
Reason for revert: Suspected of causing problems on kevin
devices again.
Original change's description:
> Reland "EGL: Implement EGL_EXT_image_dma_buf_import_modifiers"
>
> This is a reland of commit 1d8dce2587a23b59f911c801856372996bdb2f64
>
> New changes:
> - fail softly on buggy drivers (which are part of the CI)
>
> Original change's description:
> > EGL: Implement EGL_EXT_image_dma_buf_import_modifiers
> >
> > This reverts Ifbb0a182171646df8161f6f42eafe2a476fea6b2 and implements
> > the previously missing bits. Inspired by the corresponding Vulkan
> > implementation.
> >
> > The extension is used by an upcoming Exo feature which was successfully
> > tested with this patch, see
> > https://chromium-review.googlesource.com/c/chromium/src/+/3857556
> >
> > Bug: angleproject:7664
> > Change-Id: I951d1a787e1db3a77b19fcea6186b7aa0a29872f
> > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3904345
> > Reviewed-by: Geoff Lang <geofflang@chromium.org>
> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
>
> Bug: angleproject:7664
> Change-Id: I732fc9dad54366553987104fa035bde2afe08ecd
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3924350
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: angleproject:7664
Change-Id: I2ffc508ea4cc9e95055084fed4f63a52d9afdbd2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3946903
Auto-Submit: Brian Sheedy <bsheedy@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
a217dd56
|
2022-10-06T11:25:31
|
|
Tests: Add The Witcher: Monster Slayer trace.
Test: angle_perftests --gtest_filter="*the_witcher_monster_slayer*"
Bug: angleproject:7747
Change-Id: I1851fc00cb665485b6111b4e01b0075d2440e62a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3942649
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
|
|
6eff905c
|
2022-10-11T10:08:12
|
|
Make Android gold tests populate os and os_version correctly.
os = Android
os_version = {ro.build.fingerprint}
These show up in Skia gold. Currently set to Linux info.
Bug: None
Change-Id: If2ffe5e8a6620fde9bd0a983f9c0d11ffe6a75c4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3946179
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
f2785e41
|
2022-10-10T08:21:36
|
|
capture/replay: validate after resetting unpack alignment
Otherwise validation will fail, because we try to validate
the temporary set alignment against the alignment that
would be active without MEC.
Bug: angleproject:7564
Bug: angleproject:7180
Change-Id: I40cac84be122c779b9beba39f155567f9edbee75
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3936631
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
5bafe449
|
2022-10-05T20:09:23
|
|
FrameCapture: Create default context reset calls
Add support for emitting default reset calls for some entrypoints
when recording a capture from the beginning.
Test: Lineage 2 Revolution MEC
Bug: angleproject:7741
Change-Id: I8e4e1184f3e3b68527a65283c459a43d135e95b4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3938442
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
d0a024f9
|
2022-10-09T16:47:33
|
|
Lower perf tests resource usage further.
This reduces the warmup trials from 2->1 and the trial time
from 5s -> 4s.
Old: (2 warmup + 3 trials) * 5s / trial ~= 25s per sample
New: (1 warmup + 3 trials) * 4s / trial ~= 16s per sample
The tests should run in about 2/3 the time as it took prior.
A future change will likely have to split up the tests so we
can run shorter shards in sequential groupings between tests.
Bug: angleproject:7738
Change-Id: Ic6c744be838174b61f4eb832189ccad14f89103d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3939917
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Auto-Submit: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
54d094fe
|
2022-05-23T13:05:46
|
|
angle: fix potential nullptr dereference
`checkIsScalarBool` immediately deref's `typedCond`, which may be NULL.
Prevent that.
Caught by the static analyzer:
>
device/generic/vulkan-cereal/third-party/angle/src/compiler/translator/ParseContext.cpp:893:9:
warning: Called C++ object pointer is null
[clang-analyzer-core.CallAndMessage]
Bug: b/206470603
Test: None
Change-Id: I2c055d637fb3ef254c0cebfae32bfbe17bf850ea
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3935460
Auto-Submit: Greg Schlomoff <gregschlom@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
85631d24
|
2022-10-06T10:13:31
|
|
Tests: Add 3D Pool Ball trace.
Test: angle_perftests --gtest_filter="*3d_pool_ball*"
Bug: angleproject:7742
Change-Id: I92870b928ee66af3eae903d91512b6943b893599
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3932171
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
1b5cf9f0
|
2022-10-07T19:02:16
|
|
run_perf_tests: Reduce warmup trials from 3 to 2.
This is an attempt to reduce utilization on the bots, which
are now taking too long and causing errors.
Bug: angleproject:7738
Change-Id: I1c576b2d0989240482d332712f7d93841e933902
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3937051
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Auto-Submit: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f8d393da
|
2022-10-05T10:09:34
|
|
Capture/Replay: Make retrace restore touch output files.
This should force a recompile of modified files.
Bug: angleproject:7731
Change-Id: I52c607fdda97c09e557a9ac3144fa67de3a17ee7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3937048
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|