aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-12-13 00:07:01 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-12-13 00:07:01 +0000
commitd3eb409207e115913ca857370ec3f57b0176bcc0 (patch)
tree16765b6280082dc0b023adec56c46e6ebb418999
parent613d0296f2046c72066f26bb60fc8fda2addd45f (diff)
parent5d6766f0e0e4382d8cd4d0376232d344e40970b6 (diff)
downloadangle-android14-qpr2-s1-release.tar.gz
Change-Id: Id5855d5fd079a29ecbd0c367f5bf73f6e0f16ee7
-rw-r--r--.gitignore2
-rw-r--r--Android.bp236
-rw-r--r--DEPS60
-rw-r--r--build/android/pylib/local/device/local_device_test_run.py14
-rw-r--r--build/config/android/BUILD.gn14
-rw-r--r--build/config/android/config.gni7
-rw-r--r--build/config/c++/BUILD.gn9
-rw-r--r--build/config/coverage/BUILD.gn13
-rw-r--r--build/config/siso/clang_code_coverage_wrapper.star2
-rw-r--r--build/config/siso/config.star3
-rw-r--r--build/config/siso/main.star16
-rw-r--r--build/config/siso/reproxy.star17
-rwxr-xr-xbuild/fuchsia/test/flash_device.py43
-rwxr-xr-xbuild/fuchsia/test/serial_boot_device.py25
-rwxr-xr-xbuild/toolchain/clang_code_coverage_wrapper.py2
-rw-r--r--build/toolchain/concurrent_links.gni14
-rw-r--r--build/util/LASTCHANGE2
-rw-r--r--build/util/LASTCHANGE.committime2
-rw-r--r--scripts/code_generation_hashes/GL_CTS_(dEQP)_build_files.json2
-rw-r--r--scripts/code_generation_hashes/restricted_traces.json2
-rw-r--r--src/compiler/translator/VariablePacker.cpp19
-rw-r--r--src/libANGLE/Display.cpp56
-rw-r--r--src/libANGLE/Display.h9
-rw-r--r--src/libANGLE/EGLSync.cpp8
-rw-r--r--src/libANGLE/EGLSync.h7
-rw-r--r--src/libANGLE/capture/FrameCapture.cpp6
-rw-r--r--src/libANGLE/renderer/d3d/d3d11/TextureStorage11.cpp6
-rw-r--r--src/libANGLE/renderer/metal/SyncMtl.mm6
-rw-r--r--src/libANGLE/renderer/vulkan/BufferVk.cpp11
-rw-r--r--src/libANGLE/renderer/vulkan/RendererVk.cpp37
-rw-r--r--src/libANGLE/renderer/vulkan/RendererVk.h9
-rw-r--r--src/libANGLE/renderer/vulkan/Suballocation.h11
-rw-r--r--src/libANGLE/renderer/vulkan/SyncVk.cpp9
-rw-r--r--src/libANGLE/renderer/vulkan/SyncVk.h2
-rw-r--r--src/libANGLE/renderer/vulkan/vk_helpers.cpp48
-rw-r--r--src/libANGLE/renderer/vulkan/vk_helpers.h24
-rw-r--r--src/tests/angle_end2end_tests_expectations.txt9
-rw-r--r--src/tests/deqp_support/deqp_gles3_test_expectations.txt14
-rw-r--r--src/tests/gl_tests/DrawBaseVertexBaseInstanceTest.cpp35
-rw-r--r--src/tests/gl_tests/ExternalBufferTest.cpp30
-rw-r--r--src/tests/gl_tests/GLSLTest.cpp39
-rw-r--r--src/tests/gl_tests/MultiDrawTest.cpp71
-rw-r--r--src/tests/gl_tests/PackUnpackTest.cpp3
-rw-r--r--src/tests/gl_tests/VertexAttributeTest.cpp7
-rw-r--r--src/tests/gl_tests/WebGLReadOutsideFramebufferTest.cpp47
-rw-r--r--src/tests/restricted_traces/restricted_traces.json1
-rw-r--r--src/tests/test_utils/angle_test_instantiate.h8
-rw-r--r--third_party/r8/lib/r8.jarbin20495739 -> 20547435 bytes
-rw-r--r--third_party/vulkan-deps/DEPS8
49 files changed, 611 insertions, 414 deletions
diff --git a/.gitignore b/.gitignore
index a8fe4f8f49..b5c0781054 100644
--- a/.gitignore
+++ b/.gitignore
@@ -43,7 +43,7 @@
/third_party/catapult
/third_party/cherry
/third_party/clang-format/script
-/third_party/clspv
+/third_party/clspv/src
/third_party/colorama/src
/third_party/cpu_features/src
/third_party/depot_tools
diff --git a/Android.bp b/Android.bp
index 6f3b44e941..b1a35b4eec 100644
--- a/Android.bp
+++ b/Android.bp
@@ -64,7 +64,7 @@ cc_defaults {
],
cflags: [
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DANGLE_ENABLE_CONTEXT_MUTEX=1",
"-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
"-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
@@ -165,7 +165,7 @@ cc_library_shared {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DANGLE_DISPATCH_LIBRARY=\"libGLESv2_angle\"",
"-DANGLE_EGL_LIBRARY_NAME=\"libEGL_angle\"",
"-DANGLE_ENABLE_CONTEXT_MUTEX=1",
@@ -269,7 +269,7 @@ cc_library_shared {
],
cflags: [
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DANGLE_ENABLE_CONTEXT_MUTEX=1",
"-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
"-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
@@ -326,7 +326,7 @@ cc_defaults {
],
cflags: [
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -386,7 +386,7 @@ cc_defaults {
],
cflags: [
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DANGLE_ENABLE_CONTEXT_MUTEX=1",
"-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
"-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
@@ -472,7 +472,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DANGLE_ENABLE_CONTEXT_MUTEX=1",
"-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
"-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
@@ -549,7 +549,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DANGLE_ENABLE_CONTEXT_MUTEX=1",
"-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
"-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
@@ -689,7 +689,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DANGLE_ENABLE_CONTEXT_MUTEX=1",
"-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
"-DANGLE_ENABLE_CRC_FOR_PIPELINE_CACHE",
@@ -1032,7 +1032,7 @@ cc_library_static {
],
cflags: [
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -1145,7 +1145,7 @@ cc_library_static {
],
cflags: [
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -1206,7 +1206,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DANGLE_ENABLE_CONTEXT_MUTEX=1",
"-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
"-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
@@ -1253,7 +1253,7 @@ cc_defaults {
],
cflags: [
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -1292,7 +1292,7 @@ cc_defaults {
],
cflags: [
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -1342,7 +1342,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DANGLE_ENABLE_CONTEXT_MUTEX=1",
"-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
"-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
@@ -1408,7 +1408,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DANGLE_ENABLE_CONTEXT_MUTEX=1",
"-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
"-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
@@ -1480,7 +1480,7 @@ cc_library_static {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DANGLE_ENABLE_CONTEXT_MUTEX=1",
"-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
"-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
@@ -1688,7 +1688,7 @@ cc_library_static {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DANGLE_ENABLE_CONTEXT_MUTEX=1",
"-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
"-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
@@ -2871,7 +2871,7 @@ cc_defaults {
],
cflags: [
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DANGLE_ENABLE_CONTEXT_MUTEX=1",
"-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
"-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
@@ -2927,7 +2927,7 @@ cc_defaults {
],
cflags: [
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DANGLE_ENABLE_CONTEXT_MUTEX=1",
"-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
"-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
@@ -2984,7 +2984,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DANGLE_ENABLE_CONTEXT_MUTEX=1",
"-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
"-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
@@ -3053,7 +3053,7 @@ cc_library_static {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DANGLE_ENABLE_CONTEXT_MUTEX=1",
"-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
"-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
@@ -3100,7 +3100,7 @@ cc_defaults {
],
cflags: [
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -3146,7 +3146,7 @@ cc_defaults {
],
cflags: [
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -3190,7 +3190,7 @@ cc_defaults {
],
cflags: [
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DANGLE_ENABLE_CONTEXT_MUTEX=1",
"-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
"-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
@@ -3256,7 +3256,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DANGLE_ENABLE_CONTEXT_MUTEX=1",
"-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
"-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
@@ -3322,7 +3322,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DANGLE_ENABLE_CONTEXT_MUTEX=1",
"-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
"-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
@@ -3390,7 +3390,7 @@ cc_library_static {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DANGLE_ENABLE_CONTEXT_MUTEX=1",
"-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
"-DANGLE_ENABLE_CRC_FOR_PIPELINE_CACHE",
@@ -3471,7 +3471,7 @@ cc_library_static {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DANGLE_ENABLE_CONTEXT_MUTEX=1",
"-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
"-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
@@ -3660,7 +3660,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DANGLE_ENABLE_CONTEXT_MUTEX=1",
"-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
"-DANGLE_ENABLE_CRC_FOR_PIPELINE_CACHE",
@@ -3713,7 +3713,7 @@ cc_defaults {
],
cflags: [
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DANGLE_ENABLE_CONTEXT_MUTEX=1",
"-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
"-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
@@ -3762,7 +3762,7 @@ cc_defaults {
],
cflags: [
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DANGLE_ENABLE_CONTEXT_MUTEX=1",
"-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
"-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
@@ -3816,7 +3816,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -3861,7 +3861,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -3917,7 +3917,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -3959,7 +3959,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -4001,7 +4001,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -4044,7 +4044,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -4087,7 +4087,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -4148,7 +4148,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -4194,7 +4194,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -4240,7 +4240,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -4282,7 +4282,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -4325,7 +4325,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -4379,7 +4379,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -4424,7 +4424,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -4482,7 +4482,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -4531,7 +4531,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -4581,7 +4581,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -4635,7 +4635,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -4685,7 +4685,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -4753,7 +4753,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -4801,7 +4801,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -4852,7 +4852,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -4901,7 +4901,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -4959,7 +4959,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -5005,7 +5005,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -5053,7 +5053,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -5100,7 +5100,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -5148,7 +5148,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -5213,7 +5213,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -5261,7 +5261,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -5312,7 +5312,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -5355,7 +5355,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -5425,7 +5425,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -5467,7 +5467,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -5529,7 +5529,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -5571,7 +5571,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -5613,7 +5613,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -5657,7 +5657,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -5710,7 +5710,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -5756,7 +5756,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -5812,7 +5812,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -5857,7 +5857,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -5903,7 +5903,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -5950,7 +5950,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -6018,7 +6018,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -6064,7 +6064,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -6111,7 +6111,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -6157,7 +6157,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -6205,7 +6205,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -6253,7 +6253,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -6296,7 +6296,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -6343,7 +6343,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -6386,7 +6386,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -6434,7 +6434,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -6481,7 +6481,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -6527,7 +6527,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -6572,7 +6572,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -6614,7 +6614,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -6660,7 +6660,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -6708,7 +6708,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -6755,7 +6755,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -6797,7 +6797,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -6846,7 +6846,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -6892,7 +6892,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -6935,7 +6935,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -6978,7 +6978,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -7021,7 +7021,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -7079,7 +7079,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -7123,7 +7123,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -7181,7 +7181,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -7227,7 +7227,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -7270,7 +7270,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -7314,7 +7314,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -7357,7 +7357,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -7402,7 +7402,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -7445,7 +7445,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -7487,7 +7487,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -7528,7 +7528,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -7570,7 +7570,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -7614,7 +7614,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -7661,7 +7661,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DCR_CLANG_REVISION=\"llvmorg-18-init-12938-geb1d5065-1\"",
"-DDYNAMIC_ANNOTATIONS_ENABLED=0",
"-DHAVE_SYS_UIO_H",
@@ -7750,7 +7750,7 @@ cc_library_static {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DANGLE_ENABLE_CONTEXT_MUTEX=1",
"-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
"-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
@@ -7813,7 +7813,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DANGLE_ENABLE_CONTEXT_MUTEX=1",
"-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
"-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
@@ -7877,7 +7877,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DANGLE_CAPTURE_ENABLED=0",
"-DANGLE_ENABLE_CONTEXT_MUTEX=1",
"-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
@@ -7972,7 +7972,7 @@ cc_defaults {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DANGLE_CAPTURE_ENABLED=0",
"-DANGLE_ENABLE_CONTEXT_MUTEX=1",
"-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
@@ -8030,7 +8030,7 @@ cc_defaults {
],
cflags: [
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DANGLE_ENABLE_CONTEXT_MUTEX=1",
"-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
"-DANGLE_ENABLE_GLOBAL_MUTEX_LOAD_TIME_ALLOCATE=1",
@@ -8139,7 +8139,7 @@ cc_library_shared {
cflags: [
"-DABSL_ALLOCATOR_NOTHROW=1",
"-DANDROID",
- "-DANDROID_NDK_VERSION_ROLL=r26b_1",
+ "-DANDROID_NDK_VERSION_ROLL=r25c_1",
"-DANGLE_CAPTURE_ENABLED=0",
"-DANGLE_ENABLE_CONTEXT_MUTEX=1",
"-DANGLE_ENABLE_CONTEXT_MUTEX_RECURSION=1",
diff --git a/DEPS b/DEPS
index 32b912d52d..f32f3f2333 100644
--- a/DEPS
+++ b/DEPS
@@ -45,13 +45,13 @@ vars = {
'checkout_angle_mesa': False,
# Version of Chromium our Chromium-based DEPS are mirrored from.
- 'chromium_revision': '27249fedce4b0c4800bb08eda18835d7b0509d23',
+ 'chromium_revision': 'fd8978318166f096a12c45ebb30829bfbd432d75',
# We never want to checkout chromium,
# but need a dummy DEPS entry for the autoroller
'dummy_checkout_chromium': False,
# Current revision of VK-GL-CTS (a.k.a dEQP).
- 'vk_gl_cts_revision': 'af594bc856e58f133cc942b611f59bd1afd70300',
+ 'vk_gl_cts_revision': 'ecdec25ff753b9b9a48bed694ee9e83cf76b81bb',
# Current revision of googletest.
# Note: this dep cannot be auto-rolled b/c of nesting.
@@ -90,16 +90,16 @@ vars = {
# Three lines of non-changing comments so that
# the commit queue can handle CLs rolling catapult
# and whatever else without interference from each other.
- 'catapult_revision': '69bde63990232fa4c5f4ffaf61e95596c25f03f3',
+ 'catapult_revision': 'd3f7f448d3d29d95a01a54b8fd6873da3608f596',
# the commit queue can handle CLs rolling Fuchsia sdk
# and whatever else without interference from each other.
- 'fuchsia_version': 'version:16.20231129.1.1',
+ 'fuchsia_version': 'version:17.20231211.2.1',
# Three lines of non-changing comments so that
# the commit queue can handle CLs rolling luci-go
# and whatever else without interference from each other.
- 'luci_go': 'git_revision:1ea45c1829514ff20c476f083462e7b8fdfaf9ae',
+ 'luci_go': 'git_revision:0ffd60c8bd4fa542fb8d7c6a60ead9b96dc4387a',
# Three lines of non-changing comments so that
# the commit queue can handle CLs rolling android_sdk_build-tools_version
@@ -135,7 +135,7 @@ vars = {
'reclient_version': 're_client_version:0.124.1.13f78cc-gomaip',
# siso CIPD package version.
- 'siso_version': 'git_revision:acf6e472017229d73c507e50c8660c2d3a2021e0',
+ 'siso_version': 'git_revision:d8744c99a9e175e6c4569de0717bd8c53981ce0c',
# 'magic' text to tell depot_tools that git submodules should be accepted but
# but parity with DEPS file is expected.
@@ -145,12 +145,12 @@ vars = {
deps = {
'build': {
- 'url': Var('chromium_git') + '/chromium/src/build.git@6fdac9cc5eac1d59c208601c03c183007310bca2',
+ 'url': Var('chromium_git') + '/chromium/src/build.git@2711b553c360c071757a04029049bf6319fc658f',
'condition': 'not build_with_chromium',
},
'buildtools': {
- 'url': Var('chromium_git') + '/chromium/src/buildtools.git@9a7b2358106026b412e3233c280b58a98280a024',
+ 'url': Var('chromium_git') + '/chromium/src/buildtools.git@d7e0ec130696bf72ecf03ce0cd1c372f19214ce3',
'condition': 'not build_with_chromium',
},
@@ -204,12 +204,12 @@ deps = {
},
'testing': {
- 'url': '{chromium_git}/chromium/src/testing@1633d23fc7b6ea79319a60a9e65a75ecc9d00771',
+ 'url': '{chromium_git}/chromium/src/testing@a5c15ce1b69c4f37b0eac636f3306b5c23c92232',
'condition': 'not build_with_chromium',
},
'third_party/abseil-cpp': {
- 'url': Var('chromium_git') + '/chromium/src/third_party/abseil-cpp@025aa883df36d96e43b551dab5e96042e11b50d3',
+ 'url': Var('chromium_git') + '/chromium/src/third_party/abseil-cpp@15a737bc5caae78b8568a886a7b18bd7adf5bd8a',
'condition': 'not build_with_chromium',
},
@@ -266,7 +266,7 @@ deps = {
'packages': [
{
'package': 'chromium/third_party/android_build_tools/manifest_merger',
- 'version': 'SdNR04V227YL22FMmKoS4AdLYwv6MJe8HBAZKNhXoCsC',
+ 'version': '_2qAeWRS5XnDom8pAt4e7GuEof_KB86zQO0Lnr5uQBQC',
},
],
'condition': 'checkout_android and not build_with_chromium',
@@ -282,7 +282,7 @@ deps = {
'packages': [
{
'package': 'chromium/third_party/android_toolchain/android_toolchain',
- 'version': 'XSjN84pHxBPX13CrUj3fQjEroncvFGGeJY9wDVEDswoC',
+ 'version': 'NSOM616pOQCfRfDAhC72ltgjyUQp9lAWCMzlmgB18dAC',
},
],
'condition': 'checkout_android and not build_with_chromium',
@@ -369,7 +369,7 @@ deps = {
'condition': 'checkout_android and not build_with_chromium',
},
- 'third_party/clspv': {
+ 'third_party/clspv/src': {
'url': Var('chromium_git') + '/external/github.com/google/clspv@a173c052455434a422bcfe5c12ffe44d574fd6e1',
'condition': 'not build_with_chromium',
},
@@ -380,7 +380,7 @@ deps = {
},
'third_party/depot_tools': {
- 'url': Var('chromium_git') + '/chromium/tools/depot_tools.git@05a55efaa9d4bda7247efac74c4cda68527d8eec',
+ 'url': Var('chromium_git') + '/chromium/tools/depot_tools.git@aa65be9856206448e066d630fe26e50109766649',
'condition': 'not build_with_chromium',
},
@@ -499,7 +499,7 @@ deps = {
},
'third_party/libc++/src': {
- 'url': Var('chromium_git') + '/external/github.com/llvm/llvm-project/libcxx.git@4ab8957af3274befed723defd5333873478ca7c6',
+ 'url': Var('chromium_git') + '/external/github.com/llvm/llvm-project/libcxx.git@a88e6d6daa3e091f662c8a198b5d3a0d3a723705',
'condition': 'not build_with_chromium',
},
@@ -586,7 +586,7 @@ deps = {
'packages': [
{
'package': 'chromium/third_party/r8',
- 'version': 'NyEPLS024hp8BUV5gx7DSIZzgCEWY-tevgRF8F1RWYgC',
+ 'version': 'w4FEa7Y-q3MIsKwjR0LC_-fPnANe8DlIIAWD_pMF5z0C',
},
],
'condition': 'checkout_android and not build_with_chromium',
@@ -653,7 +653,7 @@ deps = {
},
'third_party/vulkan-deps': {
- 'url': Var('chromium_git') + '/vulkan-deps@fb2389e52832250e05c0a5f08a624e31e6401106',
+ 'url': Var('chromium_git') + '/vulkan-deps@510bed662233e6097415afe5f0050a714952014a',
'condition': 'not build_with_chromium',
},
@@ -673,12 +673,12 @@ deps = {
},
'tools/android': {
- 'url': Var('chromium_git') + '/chromium/src/tools/android@143660d1865d5b3ed735ec11611b80ef261d791a',
+ 'url': Var('chromium_git') + '/chromium/src/tools/android@b66828a72cc3ff12ae366c03e735fe4a3942c6f3',
'condition': 'checkout_android and not build_with_chromium',
},
'tools/clang': {
- 'url': Var('chromium_git') + '/chromium/src/tools/clang.git@28cba3ec325c9ff378264198cef20fda89519c5d',
+ 'url': Var('chromium_git') + '/chromium/src/tools/clang.git@3ccfff74a0d0cda8ddf2612cc09217278fb018bc',
'condition': 'not build_with_chromium',
},
@@ -709,7 +709,7 @@ deps = {
},
'tools/mb': {
- 'url': Var('chromium_git') + '/chromium/src/tools/mb@2206f69ffdbbae9e171a2012445d3d04664ad943',
+ 'url': Var('chromium_git') + '/chromium/src/tools/mb@0da27905d2c640b7a7ddb8b7d823efc543d07296',
'condition': 'not build_with_chromium',
},
@@ -724,7 +724,7 @@ deps = {
},
'tools/perf': {
- 'url': Var('chromium_git') + '/chromium/src/tools/perf@e582bc0452b2c11ed4afcee54bb7dd341c8c9d90',
+ 'url': Var('chromium_git') + '/chromium/src/tools/perf@d689bae2fa351f89924938a7d5d580b076d03f6e',
'condition': 'not build_with_chromium',
},
@@ -742,7 +742,7 @@ deps = {
'packages': [
{
'package': 'skia/tools/goldctl/linux-amd64',
- 'version': 'Zoe29KUyqS2oKisSjN23NSWAF2ABY3oXtvnMcmNgFf8C',
+ 'version': 'gF8-tllaG53TS_NMzDyBBEon5i-UMVdhPADIv_39ZpsC',
},
],
'dep_type': 'cipd',
@@ -753,7 +753,7 @@ deps = {
'packages': [
{
'package': 'skia/tools/goldctl/windows-amd64',
- 'version': 'zEvgRWYnnTxGYfan6MIEqFyxyBfzgryl755RHBP98wYC',
+ 'version': 'wCfWvHnVA6RiLbvH5NL3Pc51a6uladkFepTSj06s370C',
},
],
'dep_type': 'cipd',
@@ -764,7 +764,7 @@ deps = {
'packages': [
{
'package': 'skia/tools/goldctl/mac-amd64',
- 'version': 'JqbiGnBxG8TPvCgKA3OOreiQ59Tn_xZoQOrWCP7rzOUC',
+ 'version': '5z5sg3DatlGfhGSg6wO3JTMyBofd0Dr9_bCBVDBfuJYC',
},
],
'dep_type': 'cipd',
@@ -775,7 +775,7 @@ deps = {
'packages': [
{
'package': 'skia/tools/goldctl/mac-arm64',
- 'version': '6U5_zURvPx2a03ZdJP9q_CPrUrIp3nU7x9u9a7ZWvFsC',
+ 'version': 'tJys4TOPo-asafdTKs677RtNMEWct4WvJ4-SDmdqoYkC',
},
],
'dep_type': 'cipd',
@@ -3068,6 +3068,16 @@ deps = {
'dep_type': 'cipd',
'condition': 'checkout_angle_restricted_traces',
},
+ 'src/tests/restricted_traces/thimbleweed_park': {
+ 'packages': [
+ {
+ 'package': 'angle/traces/thimbleweed_park',
+ 'version': 'version:1',
+ },
+ ],
+ 'dep_type': 'cipd',
+ 'condition': 'checkout_angle_restricted_traces',
+ },
'src/tests/restricted_traces/tmnt_shredders_revenge': {
'packages': [
{
diff --git a/build/android/pylib/local/device/local_device_test_run.py b/build/android/pylib/local/device/local_device_test_run.py
index d5add832e9..2cff3e6082 100644
--- a/build/android/pylib/local/device/local_device_test_run.py
+++ b/build/android/pylib/local/device/local_device_test_run.py
@@ -100,10 +100,22 @@ class LocalDeviceTestRun(test_run.TestRun):
consecutive_device_errors = 0
if isinstance(test, list):
+ result_log = ''
+ if len(test) > 1:
+ result_log = ('The test command timed out when running multiple '
+ 'tests including this test. It does not '
+ 'necessarily mean this specific test timed out.')
+ # Ensure instrumentation tests not batched at env level retries.
+ for t in test:
+ # |dict| type infers it's an instrumentation test.
+ if isinstance(t, dict) and t['annotations']:
+ t['annotations'].pop('Batch', None)
+
results.AddResults(
base_test_result.BaseTestResult(
self._GetUniqueTestName(t),
- base_test_result.ResultType.TIMEOUT) for t in test)
+ base_test_result.ResultType.TIMEOUT,
+ log=result_log) for t in test)
else:
results.AddResult(
base_test_result.BaseTestResult(
diff --git a/build/config/android/BUILD.gn b/build/config/android/BUILD.gn
index 697d598f0b..6705999966 100644
--- a/build/config/android/BUILD.gn
+++ b/build/config/android/BUILD.gn
@@ -82,6 +82,20 @@ config("compiler") {
# that is Android-only. Please see that target for advice on what should go in
# :runtime_library vs. :compiler.
config("runtime_library") {
+ libs = []
+ ldflags = []
+
+ # On 64-bit platforms, the only symbols provided by libandroid_support.a are
+ # strto{d,f,l,ul}_l. These symbols are not used by our libc++, and newer NDKs
+ # don't provide a libandroid_support.a on 64-bit platforms, so we only depend
+ # on this library on 32-bit platforms.
+ if (current_cpu == "arm" || current_cpu == "x86") {
+ libs += [ "android_support" ]
+ }
+
+ if (current_cpu == "arm" && arm_version == 6) {
+ libs += [ "atomic" ]
+ }
}
config("hide_all_but_jni_onload") {
diff --git a/build/config/android/config.gni b/build/config/android/config.gni
index 1b8352cdef..37398140f7 100644
--- a/build/config/android/config.gni
+++ b/build/config/android/config.gni
@@ -118,9 +118,11 @@ if (is_android || is_chromeos) {
# Today (2023-08-30) only the canary Android NDK supports RISC-V64.
default_android_ndk_root = "//third_party/android_toolchain_canary/ndk"
}
- default_android_ndk_version = "r26b"
+ default_android_ndk_version = "r25c"
+ default_android_ndk_major_version = 25
} else {
assert(defined(default_android_ndk_version))
+ assert(defined(default_android_ndk_major_version))
}
public_android_sdk_root = "//third_party/android_sdk/public"
@@ -181,6 +183,7 @@ if (is_android || is_chromeos) {
declare_args() {
android_ndk_root = default_android_ndk_root
android_ndk_version = default_android_ndk_version
+ android_ndk_major_version = default_android_ndk_major_version
# Android API level for 32 bits platforms
android32_ndk_api_level = default_min_sdk_version
@@ -389,6 +392,8 @@ if (is_android || is_chromeos) {
android_tool_prefix = "$clang_base_path/bin/llvm-"
android_readelf = "${android_tool_prefix}readobj"
android_objcopy = "${android_tool_prefix}objcopy"
+ android_gdbserver =
+ "$android_ndk_root/prebuilt/$android_prebuilt_arch/gdbserver/gdbserver"
android_sdk_tools_bundle_aapt2 = "${android_sdk_tools_bundle_aapt2_dir}/aapt2"
diff --git a/build/config/c++/BUILD.gn b/build/config/c++/BUILD.gn
index f8372d24dc..abe15b4aa7 100644
--- a/build/config/c++/BUILD.gn
+++ b/build/config/c++/BUILD.gn
@@ -44,15 +44,6 @@ config("runtime_library") {
defines += [ "CR_LIBCXX_REVISION=$libcxx_revision" ]
- # Temporarily add a define to force a rebuild when changing
- # buildtools/third_party/libc++/__config_site which isn't picked up by
- # dependency tracking (because it's an #include of headers included via
- # -isysroot).
- # TODO(thakis): Remove this after a few days.
- if (is_android) {
- defines += [ "TEMP_REBUILD_HACK" ]
- }
-
if (is_win) {
# Intentionally not using libc++abi on Windows because libc++abi only
# implements the Itanium C++ ABI, and not the Microsoft ABI which we use on
diff --git a/build/config/coverage/BUILD.gn b/build/config/coverage/BUILD.gn
index 6c3fca91bc..2939e37f48 100644
--- a/build/config/coverage/BUILD.gn
+++ b/build/config/coverage/BUILD.gn
@@ -27,8 +27,11 @@ config("default_coverage") {
}
cflags = [
+ # LINT.IfChange
"-fprofile-instr-generate",
"-fcoverage-mapping",
+ "-mllvm",
+ "-runtime-counter-relocation=true",
# Following experimental flags removes unused header functions from the
# coverage mapping data embedded in the test binaries, and the reduction
@@ -36,6 +39,11 @@ config("default_coverage") {
# MacOS. Please refer to crbug.com/796290 for more details.
"-mllvm",
"-limited-coverage-experimental=true",
+
+ # LINT.ThenChange(
+ # /build/config/siso/clang_code_coverage_wrapper.star,
+ # /build/toolchain/clang_code_coverage_wrapper.py,
+ # )
]
# Rust coverage is gated on using the Chromium-built Rust toolchain as it
@@ -43,7 +51,10 @@ config("default_coverage") {
# tools that will be used to process the coverage output. This is because
# the coverage file format is not stable.
if (use_chromium_rust_toolchain) {
- rustflags += [ "-Cinstrument-coverage" ]
+ rustflags += [
+ "-Cinstrument-coverage",
+ "-Cllvm-args=-runtime-counter-relocation",
+ ]
}
if (is_linux || is_chromeos) {
diff --git a/build/config/siso/clang_code_coverage_wrapper.star b/build/config/siso/clang_code_coverage_wrapper.star
index be0f5f4fe8..70f18d44e7 100644
--- a/build/config/siso/clang_code_coverage_wrapper.star
+++ b/build/config/siso/clang_code_coverage_wrapper.star
@@ -17,6 +17,8 @@ load("@builtin//struct.star", "module")
_COVERAGE_FLAGS = [
"-fprofile-instr-generate",
"-fcoverage-mapping",
+ "-mllvm",
+ "-runtime-counter-relocation=true",
# Following experimental flags remove unused header functions from the
# coverage mapping data embedded in the test binaries, and the reduction
# of binary size enables building Chrome's large unit test targets on
diff --git a/build/config/siso/config.star b/build/config/siso/config.star
index 81da4ab110..562cec7f4d 100644
--- a/build/config/siso/config.star
+++ b/build/config/siso/config.star
@@ -12,9 +12,6 @@ __KNOWN_CONFIG_OPTIONS = [
# TODO: b/308405411 - Enable this config for all builders.
"remote-devtools-frontend-typescript",
-
- # TODO: b/314693395 - Enable reproxy mode for cros by default.
- "reproxy-cros",
]
def __check(ctx):
diff --git a/build/config/siso/main.star b/build/config/siso/main.star
index 690c51e84d..41307b6b7f 100644
--- a/build/config/siso/main.star
+++ b/build/config/siso/main.star
@@ -27,16 +27,32 @@ def __use_large_b289968566(ctx, step_config):
"./ash_clang_x64/obj/chrome/browser/browser/chrome_browser_interface_binders.o",
"./obj/chrome/browser/ash/ash/autotest_private_api.o",
"./obj/chrome/browser/ash/ash/chrome_browser_main_parts_ash.o",
+ "./obj/chrome/browser/ash/system_web_apps/apps/browser_tests/personalization_app_wallpaper_daily_refresh_browsertest.o",
"./obj/chrome/browser/ash/system_web_apps/browser_tests/system_web_app_manager_browsertest.o",
+ "./obj/chrome/browser/ash/unit_tests/wizard_controller_unittest.o",
+ "./obj/chrome/browser/autofill/interactive_ui_tests/autofill_interactive_uitest.o",
"./obj/chrome/browser/browser/browser_prefs.o",
"./obj/chrome/browser/browser/chrome_browser_interface_binders.o",
+ "./obj/chrome/browser/browser/chrome_content_browser_client.o",
"./obj/chrome/browser/ui/ash/holding_space/browser_tests/holding_space_ui_browsertest.o",
+ "./obj/chrome/test/browser_tests/app_list_client_impl_browsertest.o",
+ "./obj/chrome/test/browser_tests/browser_non_client_frame_view_browsertest.o",
"./obj/chrome/test/browser_tests/browser_non_client_frame_view_chromeos_browsertest.o",
"./obj/chrome/test/browser_tests/chrome_shelf_controller_browsertest.o",
"./obj/chrome/test/browser_tests/device_local_account_browsertest.o",
"./obj/chrome/test/browser_tests/file_manager_browsertest_base.o",
+ "./obj/chrome/test/browser_tests/full_restore_app_launch_handler_browsertest.o",
+ "./obj/chrome/test/browser_tests/login_browsertest.o",
+ "./obj/chrome/test/browser_tests/pwa_install_view_browsertest.o",
"./obj/chrome/test/browser_tests/remote_apps_manager_browsertest.o",
+ "./obj/chrome/test/browser_tests/safe_browsing_blocking_page_test.o",
+ "./obj/chrome/test/browser_tests/save_card_bubble_views_browsertest.o",
+ "./obj/chrome/test/browser_tests/scalable_iph_browsertest.o",
"./obj/chrome/test/browser_tests/spoken_feedback_browsertest.o",
+ "./obj/chrome/test/interactive_ui_tests/iban_bubble_view_uitest.o",
+ "./obj/chrome/test/interactive_ui_tests/local_card_migration_uitest.o",
+ "./obj/chrome/test/interactive_ui_tests/system_web_app_interactive_uitest.o",
+ "./obj/chrome/test/test_support_ui/offer_notification_bubble_views_test_base.o",
"./obj/chrome/test/unit_tests/chrome_browsing_data_remover_delegate_unittest.o",
"./obj/chrome/test/unit_tests/site_settings_handler_unittest.o",
"./obj/content/browser/browser/browser_interface_binders.o",
diff --git a/build/config/siso/reproxy.star b/build/config/siso/reproxy.star
index 8215c72941..4aacae009c 100644
--- a/build/config/siso/reproxy.star
+++ b/build/config/siso/reproxy.star
@@ -76,7 +76,12 @@ def __parse_cros_rewrapper_cmdline(ctx, cmd):
fail("couldn't find rewrapper cfg file in %s" % str(cmd.args))
rwcfg = rewrapper_cfg.parse(ctx, cfg_file)
inputs = rwcfg.get("inputs", [])
- inputs.append(toolchainpath)
+ inputs.extend([
+ path.join(toolchainpath, "bin"),
+ path.join(toolchainpath, "lib"),
+ path.join(toolchainpath, "usr/bin"),
+ path.join(toolchainpath, "usr/lib64"),
+ ])
rwcfg["inputs"] = inputs
rwcfg["preserve_symlinks"] = True
return args, rwcfg
@@ -285,16 +290,6 @@ def __step_config(ctx, step_config):
if not rule.get("action"):
fail("clang rule %s found without action" % rule["name"])
- if not config.get(ctx, "reproxy-cros"):
- # TODO: b/314698010 - use reproxy mode once performance issue is fixed.
- cros_rule = {
- "name": rule["name"] + "/cros",
- "action": rule["action"],
- "command_prefix": "../../build/cros_cache/",
- "use_remote_exec_wrapper": True,
- }
- new_rules.append(cros_rule)
-
new_rule = {
"name": rule["name"],
"action": rule["action"],
diff --git a/build/fuchsia/test/flash_device.py b/build/fuchsia/test/flash_device.py
index 23d6fa30e1..829a592d4a 100755
--- a/build/fuchsia/test/flash_device.py
+++ b/build/fuchsia/test/flash_device.py
@@ -79,6 +79,7 @@ def update_required(
def _run_flash_command(system_image_dir: str, target_id: Optional[str]):
"""Helper function for running `ffx target flash`."""
+ logging.info('Flashing %s to %s', system_image_dir, target_id)
manifest = os.path.join(system_image_dir, 'flash-manifest.manifest')
configs = [
'fastboot.usb.disabled=true',
@@ -96,10 +97,13 @@ def _run_flash_command(system_image_dir: str, target_id: Optional[str]):
# This prevents multiple fastboot binaries from flashing concurrently,
# which should increase the odds of flashing success.
with lock(_FF_LOCK, timeout=_FF_LOCK_ACQ_TIMEOUT):
- common.run_ffx_command(cmd=('target', 'flash', manifest,
- '--no-bootloader-reboot'),
- target_id=target_id,
- configs=configs)
+ logging.info(
+ 'Flash result %s',
+ common.run_ffx_command(cmd=('target', 'flash', manifest,
+ '--no-bootloader-reboot'),
+ target_id=target_id,
+ capture_output=True,
+ configs=configs).stdout)
def flash(system_image_dir: str,
@@ -133,21 +137,22 @@ def update(system_image_dir: str,
needs_update, actual_image_dir = update_required(os_check,
system_image_dir, target,
serial_num)
-
- system_image_dir = actual_image_dir
- if needs_update:
- flash(system_image_dir, target, serial_num)
- # Always reboot the device since the ffx may ignore the device state
- # after the flash. See
- # https://cs.opensource.google/fuchsia/fuchsia/+/main:src/developer/ffx/lib/fastboot/src/common/fastboot.rs;drc=cfba0bdd4f8857adb6409f8ae9e35af52c0da93e;l=454
- # TODO(crbug.com/1490434): May consider is_in_fuchsia and
- # test_connection before the reboot.
- try:
- boot_device(target, BootMode.REGULAR, serial_num, must_boot=True)
- except: # pylint: disable=bare-except
- # If unfortunately, the reboot failed, it's still worth continuing
- # the test rather than failing here.
- pass
+ logging.info('update_required %s, actual_image_dir %s', needs_update,
+ actual_image_dir)
+ if not needs_update:
+ return
+ flash(actual_image_dir, target, serial_num)
+ # Always reboot the device since the ffx may ignore the device state
+ # after the flash. See
+ # https://cs.opensource.google/fuchsia/fuchsia/+/main:src/developer/ffx/lib/fastboot/src/common/fastboot.rs;drc=cfba0bdd4f8857adb6409f8ae9e35af52c0da93e;l=454
+ # TODO(crbug.com/1490434): May consider is_in_fuchsia and
+ # test_connection before the reboot.
+ try:
+ boot_device(target, BootMode.REGULAR, serial_num, must_boot=True)
+ except: # pylint: disable=bare-except
+ # If unfortunately, the reboot failed, it's still worth continuing
+ # the test rather than failing here.
+ pass
def register_update_args(arg_parser: argparse.ArgumentParser,
diff --git a/build/fuchsia/test/serial_boot_device.py b/build/fuchsia/test/serial_boot_device.py
index bfc7606935..5de9bb59ec 100755
--- a/build/fuchsia/test/serial_boot_device.py
+++ b/build/fuchsia/test/serial_boot_device.py
@@ -13,12 +13,14 @@ import json
import logging
import os
import shutil
+import signal
import subprocess
import sys
import time
from typing import List
from boot_device import BootMode
+from compatible_utils import running_unattended
# pylint: disable=too-many-return-statements, too-many-branches
@@ -196,6 +198,18 @@ def _run_fastboot(args: List[str], serial_num: str) -> bool:
return False
+def _shutdown_if_serial_is_unavailable(node_id: str) -> None:
+ if not running_unattended():
+ return
+ # pylint: disable=subprocess-run-check
+ if subprocess.run(['serialio', node_id, 'poll']).returncode != 0:
+ logging.warning('shutting down the docker by killing the pid 1')
+ # In docker instance, killing root process will cause the instance to be
+ # shut down and restarted by swarm_docker. So the updated tty can be
+ # attached to the new docker instance.
+ os.kill(1, signal.SIGTERM)
+
+
def main(action: str) -> int:
"""Main entry of serial_boot_device."""
node_id = os.getenv('FUCHSIA_NODENAME')
@@ -208,10 +222,13 @@ def main(action: str) -> int:
handlers.append(
logging.FileHandler('/home/swarming/dmc.%s.log' % node_id))
logging.basicConfig(format='%(levelname)s %(asctime)s %(message)s',
- handlers=handlers)
- logging.info('running command %s', sys.argv)
+ handlers=handlers,
+ level=logging.INFO)
+ logging.info('Running command %s against %s %s', sys.argv, node_id,
+ serial_num)
if action == 'health-check':
+ _shutdown_if_serial_is_unavailable(node_id)
if is_in_fuchsia(node_id) or is_in_fastboot(serial_num):
# Print out the json result without using logging to avoid any
# potential formatting issue.
@@ -227,6 +244,8 @@ def main(action: str) -> int:
node_id, serial_num)
return 1
if action in ['reboot', 'after-task']:
+ if action == 'after-task':
+ _shutdown_if_serial_is_unavailable(node_id)
if boot_device(node_id, serial_num, BootMode.REGULAR, must_boot=True):
return 0
logging.error(
@@ -258,7 +277,7 @@ def main(action: str) -> int:
print('chromium')
return 0
if action == 'before-task':
- # Do nothing
+ _shutdown_if_serial_is_unavailable(node_id)
return 0
if action == 'set-power-state':
# Do nothing
diff --git a/build/toolchain/clang_code_coverage_wrapper.py b/build/toolchain/clang_code_coverage_wrapper.py
index a1cf900026..28b9539662 100755
--- a/build/toolchain/clang_code_coverage_wrapper.py
+++ b/build/toolchain/clang_code_coverage_wrapper.py
@@ -63,6 +63,8 @@ import sys
_COVERAGE_FLAGS = [
'-fprofile-instr-generate',
'-fcoverage-mapping',
+ '-mllvm',
+ '-runtime-counter-relocation=true',
# Following experimental flags remove unused header functions from the
# coverage mapping data embedded in the test binaries, and the reduction
# of binary size enables building Chrome's large unit test targets on
diff --git a/build/toolchain/concurrent_links.gni b/build/toolchain/concurrent_links.gni
index c3275b42fa..a842f0bd28 100644
--- a/build/toolchain/concurrent_links.gni
+++ b/build/toolchain/concurrent_links.gni
@@ -67,6 +67,13 @@ if (concurrent_links == -1) {
} else {
_args = [ "--mem_per_link_gb=4" ]
}
+ } else if (is_chromeos && is_msan) {
+ # crbug.com/1505350 - CrOS MSan builder consumes more memory and crushes.
+ # Max 25.2GB, Avg: 9.4GB, Median: 7.9GB
+ _args = [ "--mem_per_link_gb=12" ]
+ } else if (is_chromeos && is_debug) {
+ # b/315102033, b/312072730: Large links use 9GB-13.5GB.
+ _args = [ "--mem_per_link_gb=10" ]
} else if ((is_linux || is_chromeos_lacros) && symbol_level == 0) {
# Memory consumption on link without debug symbols is low on linux.
_args = [ "--mem_per_link_gb=3" ]
@@ -82,13 +89,6 @@ if (concurrent_links == -1) {
# could be optimized (maybe to 12GB or for different configs like
# component build).
_args = [ "--mem_per_link_gb=16" ]
- } else if (is_chromeos && is_msan) {
- # crbug.com/1505350 - CrOS MSan builder consumes more memory and crushes.
- # Max 25.2GB, Avg: 9.4GB, Median: 7.9GB
- _args = [ "--mem_per_link_gb=12" ]
- } else if (is_chromeos && is_debug) {
- # b/315102033, b/312072730: Large links use 9GB-13.5GB.
- _args = [ "--mem_per_link_gb=10" ]
} else {
_args = []
}
diff --git a/build/util/LASTCHANGE b/build/util/LASTCHANGE
index 2485fbbfe1..2723c1f6f8 100644
--- a/build/util/LASTCHANGE
+++ b/build/util/LASTCHANGE
@@ -1,2 +1,2 @@
-LASTCHANGE=6fdac9cc5eac1d59c208601c03c183007310bca2-refs/heads/main@{#1234845}
+LASTCHANGE=2711b553c360c071757a04029049bf6319fc658f-refs/heads/main@{#1236077}
LASTCHANGE_YEAR=2023
diff --git a/build/util/LASTCHANGE.committime b/build/util/LASTCHANGE.committime
index 8cc9eaafa4..d8f188351b 100644
--- a/build/util/LASTCHANGE.committime
+++ b/build/util/LASTCHANGE.committime
@@ -1 +1 @@
-1702009805 \ No newline at end of file
+1702345200 \ No newline at end of file
diff --git a/scripts/code_generation_hashes/GL_CTS_(dEQP)_build_files.json b/scripts/code_generation_hashes/GL_CTS_(dEQP)_build_files.json
index 170a7cdf9d..66563e0ff2 100644
--- a/scripts/code_generation_hashes/GL_CTS_(dEQP)_build_files.json
+++ b/scripts/code_generation_hashes/GL_CTS_(dEQP)_build_files.json
@@ -68,7 +68,7 @@
"third_party/VK-GL-CTS/src/external/vulkancts/modules/vulkan/device_group/CMakeLists.txt":
"451a6c35fd38aec3212d02f14f201cf9",
"third_party/VK-GL-CTS/src/external/vulkancts/modules/vulkan/draw/CMakeLists.txt":
- "22c7019abae23b5ecf76619f9af9284f",
+ "a4c10157d51b25408740a76a899ca95f",
"third_party/VK-GL-CTS/src/external/vulkancts/modules/vulkan/dynamic_state/CMakeLists.txt":
"3db8818671533ace06b9b7710aeda461",
"third_party/VK-GL-CTS/src/external/vulkancts/modules/vulkan/fragment_ops/CMakeLists.txt":
diff --git a/scripts/code_generation_hashes/restricted_traces.json b/scripts/code_generation_hashes/restricted_traces.json
index 99e951e723..0f9625c2ea 100644
--- a/scripts/code_generation_hashes/restricted_traces.json
+++ b/scripts/code_generation_hashes/restricted_traces.json
@@ -4,5 +4,5 @@
"src/tests/restricted_traces/gen_restricted_traces.py":
"e2fdeb9840527e3d0dc959a67bafdd0e",
"src/tests/restricted_traces/restricted_traces.json":
- "01f21a3b2dbeeee47f026544f6263d14"
+ "fa4401c7ee119ababb38887e4d175963"
}
diff --git a/src/compiler/translator/VariablePacker.cpp b/src/compiler/translator/VariablePacker.cpp
index 0da61c8237..347395d382 100644
--- a/src/compiler/translator/VariablePacker.cpp
+++ b/src/compiler/translator/VariablePacker.cpp
@@ -239,11 +239,10 @@ bool VariablePacker::checkExpandedVariablesWithinPackingLimits(
break;
}
topNonFullRow_ += GetVariablePackingRows(variable);
- }
-
- if (topNonFullRow_ > maxRows_)
- {
- return false;
+ if (topNonFullRow_ > maxRows_)
+ {
+ return false;
+ }
}
// Packs the 3 column variables.
@@ -255,12 +254,12 @@ bool VariablePacker::checkExpandedVariablesWithinPackingLimits(
{
break;
}
- num3ColumnRows += GetVariablePackingRows(variable);
- }
- if (topNonFullRow_ + num3ColumnRows > maxRows_)
- {
- return false;
+ num3ColumnRows += GetVariablePackingRows(variable);
+ if (topNonFullRow_ + num3ColumnRows > maxRows_)
+ {
+ return false;
+ }
}
fillColumns(topNonFullRow_, num3ColumnRows, 0, 3);
diff --git a/src/libANGLE/Display.cpp b/src/libANGLE/Display.cpp
index 9a4a73b63a..b2dc054476 100644
--- a/src/libANGLE/Display.cpp
+++ b/src/libANGLE/Display.cpp
@@ -1166,7 +1166,7 @@ Error Display::destroyInvalidEglObjects()
while (!mInvalidSyncMap.empty())
{
- destroySyncImpl(mInvalidSyncMap.begin()->second, &mInvalidSyncMap);
+ destroySyncImpl(mInvalidSyncMap.begin()->second->id(), &mInvalidSyncMap);
}
return NoError();
@@ -1206,7 +1206,8 @@ Error Display::terminate(Thread *thread, TerminateReason terminateReason)
mInvalidSurfaceMap.insert(mState.surfaceMap.begin(), mState.surfaceMap.end());
mState.surfaceMap.clear();
- mInvalidSyncMap.insert(mSyncMap.begin(), mSyncMap.end());
+ mInvalidSyncMap.insert(std::make_move_iterator(mSyncMap.begin()),
+ std::make_move_iterator(mSyncMap.end()));
mSyncMap.clear();
// Cache total number of contexts before invalidation. This is used as a check to verify that
@@ -1261,6 +1262,8 @@ Error Display::terminate(Thread *thread, TerminateReason terminateReason)
// Clean up all invalid objects
ANGLE_TRY(destroyInvalidEglObjects());
+ mSyncPools.clear();
+
mConfigSet.clear();
if (mDevice != nullptr && mDevice->getOwningDisplay() != nullptr)
@@ -1641,17 +1644,29 @@ Error Display::createSync(const gl::Context *currentContext,
ANGLE_TRY(restoreLostDevice());
}
- angle::UniqueObjectPointer<egl::Sync, Display> syncPtr(new Sync(mImplementation, id, type),
- this);
+ std::unique_ptr<Sync> sync;
- ANGLE_TRY(syncPtr->initialize(this, currentContext, attribs));
+ SyncPool &pool = mSyncPools[type];
+ if (!pool.empty())
+ {
+ sync = std::move(pool.back());
+ pool.pop_back();
+ }
+ else
+ {
+ sync.reset(new Sync(mImplementation, type));
+ }
- Sync *sync = syncPtr.release();
+ Error err = sync->initialize(this, currentContext, id, attribs);
+ if (err.isError())
+ {
+ sync->onDestroy(this);
+ return err;
+ }
- sync->addRef();
- mSyncMap.insert(std::pair(sync->id().value, sync));
+ *outSync = sync.get();
+ mSyncMap.insert(std::pair(id.value, std::move(sync)));
- *outSync = sync;
return NoError();
}
@@ -1890,12 +1905,21 @@ Error Display::destroyContext(Thread *thread, gl::Context *context)
return NoError();
}
-void Display::destroySyncImpl(Sync *sync, SyncMap *syncs)
+void Display::destroySyncImpl(SyncID syncId, SyncMap *syncs)
{
- auto iter = syncs->find(sync->id().value);
+ auto iter = syncs->find(syncId.value);
ASSERT(iter != syncs->end());
- mSyncHandleAllocator.release(sync->id().value);
- iter->second->release(this);
+ mSyncHandleAllocator.release(syncId.value);
+
+ auto &sync = iter->second;
+ sync->onDestroy(this);
+
+ SyncPool &pool = mSyncPools[sync->getType()];
+ if (pool.size() < kMaxSyncPoolSizePerType)
+ {
+ pool.push_back(std::move(sync));
+ }
+
syncs->erase(iter);
}
@@ -1916,7 +1940,7 @@ Error Display::destroySurface(Surface *surface)
void Display::destroySync(Sync *sync)
{
- return destroySyncImpl(sync, &mSyncMap);
+ return destroySyncImpl(sync->id(), &mSyncMap);
}
bool Display::isDeviceLost() const
@@ -2628,7 +2652,7 @@ const egl::Image *Display::getImage(egl::ImageID imageID) const
const egl::Sync *Display::getSync(egl::SyncID syncID) const
{
auto iter = mSyncMap.find(syncID.value);
- return iter != mSyncMap.end() ? iter->second : nullptr;
+ return iter != mSyncMap.end() ? iter->second.get() : nullptr;
}
gl::Context *Display::getContext(gl::ContextID contextID)
@@ -2652,7 +2676,7 @@ egl::Image *Display::getImage(egl::ImageID imageID)
egl::Sync *Display::getSync(egl::SyncID syncID)
{
auto iter = mSyncMap.find(syncID.value);
- return iter != mSyncMap.end() ? iter->second : nullptr;
+ return iter != mSyncMap.end() ? iter->second.get() : nullptr;
}
// static
diff --git a/src/libANGLE/Display.h b/src/libANGLE/Display.h
index 4079be8834..536347df54 100644
--- a/src/libANGLE/Display.h
+++ b/src/libANGLE/Display.h
@@ -80,7 +80,7 @@ constexpr EGLAttrib kProgramCacheSizeAbsoluteMax = 0x4000000;
using ImageMap = angle::HashMap<GLuint, Image *>;
using StreamSet = angle::HashSet<Stream *>;
-using SyncMap = angle::HashMap<GLuint, Sync *>;
+using SyncMap = angle::HashMap<GLuint, std::unique_ptr<Sync>>;
class Display final : public LabeledObject,
public angle::ObserverInterface,
@@ -353,12 +353,17 @@ class Display final : public LabeledObject,
ImageMap mImageMap;
StreamSet mStreamSet;
+
SyncMap mSyncMap;
+ static constexpr size_t kMaxSyncPoolSizePerType = 32;
+ using SyncPool = angle::FixedVector<std::unique_ptr<Sync>, kMaxSyncPoolSizePerType>;
+ std::map<EGLenum, SyncPool> mSyncPools;
+
void destroyImageImpl(Image *image, ImageMap *images);
void destroyStreamImpl(Stream *stream, StreamSet *streams);
Error destroySurfaceImpl(Surface *surface, SurfaceMap *surfaces);
- void destroySyncImpl(Sync *sync, SyncMap *syncs);
+ void destroySyncImpl(SyncID syncId, SyncMap *syncs);
ContextMap mInvalidContextMap;
ImageMap mInvalidImageMap;
diff --git a/src/libANGLE/EGLSync.cpp b/src/libANGLE/EGLSync.cpp
index 1800b33131..491a2b0ab5 100644
--- a/src/libANGLE/EGLSync.cpp
+++ b/src/libANGLE/EGLSync.cpp
@@ -18,8 +18,8 @@
namespace egl
{
-Sync::Sync(rx::EGLImplFactory *factory, const egl::SyncID &id, EGLenum type)
- : mLabel(nullptr), mId(id), mType(type), mCondition(0), mNativeFenceFD(0)
+Sync::Sync(rx::EGLImplFactory *factory, EGLenum type)
+ : mLabel(nullptr), mId({0}), mType(type), mCondition(0), mNativeFenceFD(0)
{
switch (mType)
{
@@ -42,17 +42,17 @@ void Sync::onDestroy(const Display *display)
{
ASSERT(mFence);
mFence->onDestroy(display);
- mFence.reset();
}
Sync::~Sync() {}
Error Sync::initialize(const Display *display,
const gl::Context *context,
+ const SyncID &id,
const AttributeMap &attribs)
{
+ mId = id;
mAttributeMap = attribs;
-
mNativeFenceFD =
attribs.getAsInt(EGL_SYNC_NATIVE_FENCE_FD_ANDROID, EGL_NO_NATIVE_FENCE_FD_ANDROID);
mCondition = EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR;
diff --git a/src/libANGLE/EGLSync.h b/src/libANGLE/EGLSync.h
index 7fa32c9837..3082c702ab 100644
--- a/src/libANGLE/EGLSync.h
+++ b/src/libANGLE/EGLSync.h
@@ -29,10 +29,10 @@ class Context;
namespace egl
{
-class Sync final : public angle::RefCountObject<Display, angle::Result>, public LabeledObject
+class Sync final : public LabeledObject
{
public:
- Sync(rx::EGLImplFactory *factory, const SyncID &id, EGLenum type);
+ Sync(rx::EGLImplFactory *factory, EGLenum type);
~Sync() override;
void setLabel(EGLLabelKHR label) override;
@@ -40,10 +40,11 @@ class Sync final : public angle::RefCountObject<Display, angle::Result>, public
const SyncID &id() const { return mId; }
- void onDestroy(const Display *display) override;
+ void onDestroy(const Display *display);
Error initialize(const Display *display,
const gl::Context *context,
+ const SyncID &id,
const AttributeMap &attribs);
Error clientWait(const Display *display,
const gl::Context *context,
diff --git a/src/libANGLE/capture/FrameCapture.cpp b/src/libANGLE/capture/FrameCapture.cpp
index 0026393ce1..6eba660714 100644
--- a/src/libANGLE/capture/FrameCapture.cpp
+++ b/src/libANGLE/capture/FrameCapture.cpp
@@ -516,6 +516,8 @@ void WriteGLFloatValue(std::ostream &out, GLfloat value)
}
else
{
+ // Write a decimal point to preserve the zero sign on replay
+ out << (value == 0.0 ? std::showpoint : std::noshowpoint);
out << std::setprecision(16);
out << value;
}
@@ -4633,11 +4635,11 @@ void CaptureShareGroupMidExecutionSetup(
}
// Capture EGL Sync Objects
- const egl::SyncMap eglSyncMap = context->getDisplay()->getSyncsForCapture();
+ const egl::SyncMap &eglSyncMap = context->getDisplay()->getSyncsForCapture();
for (const auto &eglSyncIter : eglSyncMap)
{
egl::SyncID eglSyncID = {eglSyncIter.first};
- const egl::Sync *eglSync = eglSyncIter.second;
+ const egl::Sync *eglSync = eglSyncIter.second.get();
EGLSync eglSyncObject = gl::unsafe_int_to_pointer_cast<EGLSync>(eglSyncID.value);
if (!eglSync)
diff --git a/src/libANGLE/renderer/d3d/d3d11/TextureStorage11.cpp b/src/libANGLE/renderer/d3d/d3d11/TextureStorage11.cpp
index a8eb10310f..773dbc396e 100644
--- a/src/libANGLE/renderer/d3d/d3d11/TextureStorage11.cpp
+++ b/src/libANGLE/renderer/d3d/d3d11/TextureStorage11.cpp
@@ -211,8 +211,10 @@ angle::Result TextureStorage11::getSubresourceIndex(const gl::Context *context,
const gl::ImageIndex &index,
UINT *outSubresourceIndex) const
{
- UINT mipSlice = static_cast<UINT>(index.getLevelIndex() + mTopLevel);
- UINT arraySlice = static_cast<UINT>(index.hasLayer() ? index.getLayerIndex() : 0);
+ UINT mipSlice = static_cast<UINT>(index.getLevelIndex() + mTopLevel);
+ // D3D11CalcSubresource reference: always use 0 for volume (3D) textures
+ UINT arraySlice = static_cast<UINT>(
+ (index.hasLayer() && index.getType() != gl::TextureType::_3D) ? index.getLayerIndex() : 0);
UINT subresource = D3D11CalcSubresource(mipSlice, arraySlice, mMipLevels);
ASSERT(subresource != std::numeric_limits<UINT>::max());
*outSubresourceIndex = subresource;
diff --git a/src/libANGLE/renderer/metal/SyncMtl.mm b/src/libANGLE/renderer/metal/SyncMtl.mm
index 24961a80be..ccd3734c11 100644
--- a/src/libANGLE/renderer/metal/SyncMtl.mm
+++ b/src/libANGLE/renderer/metal/SyncMtl.mm
@@ -30,14 +30,12 @@ static uint64_t makeSignalValue(EGLAttrib highPart, EGLAttrib lowPart)
// SharedEvent is only available on iOS 12.0+ or mac 10.14+
#if ANGLE_MTL_EVENT_AVAILABLE
-Sync::Sync() {}
+Sync::Sync() : mCv(new std::condition_variable()), mLock(new std::mutex()) {}
Sync::~Sync() {}
void Sync::onDestroy()
{
mMetalSharedEvent = nil;
- mCv = nullptr;
- mLock = nullptr;
}
angle::Result Sync::initialize(ContextMtl *contextMtl,
@@ -59,8 +57,6 @@ angle::Result Sync::initialize(ContextMtl *contextMtl,
auto signaledValue = mMetalSharedEvent.get().signaledValue;
mSignalValue = signalValue.valid() ? signalValue.value() : signaledValue + 1;
- mCv.reset(new std::condition_variable());
- mLock.reset(new std::mutex());
return angle::Result::Continue;
}
diff --git a/src/libANGLE/renderer/vulkan/BufferVk.cpp b/src/libANGLE/renderer/vulkan/BufferVk.cpp
index 7d786ccae3..200cd2bac2 100644
--- a/src/libANGLE/renderer/vulkan/BufferVk.cpp
+++ b/src/libANGLE/renderer/vulkan/BufferVk.cpp
@@ -512,7 +512,8 @@ angle::Result BufferVk::allocStagingBuffer(ContextVk *contextVk,
if (mStagingBuffer.valid())
{
if (size <= mStagingBuffer.getSize() &&
- (coherency == vk::MemoryCoherency::Coherent) == mStagingBuffer.isCoherent() &&
+ IsCoherent(coherency) == mStagingBuffer.isCoherent() &&
+ IsCached(coherency) == mStagingBuffer.isCached() &&
contextVk->getRenderer()->hasResourceUseFinished(mStagingBuffer.getResourceUse()))
{
// If size is big enough and it is idle, then just reuse the existing staging buffer
@@ -557,7 +558,7 @@ angle::Result BufferVk::handleDeviceLocalBufferMap(ContextVk *contextVk,
VkDeviceSize size,
uint8_t **mapPtr)
{
- ANGLE_TRY(allocStagingBuffer(contextVk, vk::MemoryCoherency::Coherent, size, mapPtr));
+ ANGLE_TRY(allocStagingBuffer(contextVk, vk::MemoryCoherency::CachedCoherent, size, mapPtr));
// Copy data from device local buffer to host visible staging buffer.
VkBufferCopy copyRegion = {mBuffer.getOffset() + offset, mStagingBuffer.getOffset(), size};
@@ -733,7 +734,7 @@ angle::Result BufferVk::mapRangeImpl(ContextVk *contextVk,
if (smallMapRange && rangeInvalidate)
{
- ANGLE_TRY(allocStagingBuffer(contextVk, vk::MemoryCoherency::NonCoherent,
+ ANGLE_TRY(allocStagingBuffer(contextVk, vk::MemoryCoherency::CachedNonCoherent,
static_cast<size_t>(length), mapPtrBytes));
return angle::Result::Continue;
}
@@ -921,8 +922,8 @@ angle::Result BufferVk::stagedUpdate(ContextVk *contextVk,
if (dataSource.data != nullptr)
{
uint8_t *mapPointer = nullptr;
- ANGLE_TRY(
- allocStagingBuffer(contextVk, vk::MemoryCoherency::NonCoherent, size, &mapPointer));
+ ANGLE_TRY(allocStagingBuffer(contextVk, vk::MemoryCoherency::CachedNonCoherent, size,
+ &mapPointer));
memcpy(mapPointer, dataSource.data, size);
ANGLE_TRY(flushStagingBuffer(contextVk, offset, size));
mIsStagingBufferMapped = false;
diff --git a/src/libANGLE/renderer/vulkan/RendererVk.cpp b/src/libANGLE/renderer/vulkan/RendererVk.cpp
index ce4dde5a9a..0302ccc2ba 100644
--- a/src/libANGLE/renderer/vulkan/RendererVk.cpp
+++ b/src/libANGLE/renderer/vulkan/RendererVk.cpp
@@ -1408,8 +1408,6 @@ RendererVk::RendererVk()
mDefaultUniformBufferSize(kPreferredDefaultUniformBufferSize),
mDevice(VK_NULL_HANDLE),
mDeviceLost(false),
- mCoherentStagingBufferMemoryTypeIndex(kInvalidMemoryTypeIndex),
- mNonCoherentStagingBufferMemoryTypeIndex(kInvalidMemoryTypeIndex),
mStagingBufferAlignment(1),
mHostVisibleVertexConversionBufferMemoryTypeIndex(kInvalidMemoryTypeIndex),
mDeviceLocalVertexConversionBufferMemoryTypeIndex(kInvalidMemoryTypeIndex),
@@ -1425,6 +1423,7 @@ RendererVk::RendererVk()
{
VkFormatProperties invalid = {0, 0, kInvalidFormatFeatureFlags};
mFormatProperties.fill(invalid);
+ mStagingBufferMemoryTypeIndex.fill(kInvalidMemoryTypeIndex);
// We currently don't have any big-endian devices in the list of supported platforms. There are
// a number of places in the Vulkan backend that make this assumption. This assertion is made
@@ -2000,17 +1999,30 @@ angle::Result RendererVk::initializeMemoryAllocator(DisplayVk *displayVk)
// Uncached coherent staging buffer
VkMemoryPropertyFlags preferredFlags = VK_MEMORY_PROPERTY_HOST_COHERENT_BIT;
- ANGLE_VK_TRY(displayVk, mAllocator.findMemoryTypeIndexForBufferInfo(
- createInfo, requiredFlags, preferredFlags, persistentlyMapped,
- &mCoherentStagingBufferMemoryTypeIndex));
- ASSERT(mCoherentStagingBufferMemoryTypeIndex != kInvalidMemoryTypeIndex);
+ ANGLE_VK_TRY(displayVk,
+ mAllocator.findMemoryTypeIndexForBufferInfo(
+ createInfo, requiredFlags, preferredFlags, persistentlyMapped,
+ &mStagingBufferMemoryTypeIndex[vk::MemoryCoherency::UnCachedCoherent]));
+ ASSERT(mStagingBufferMemoryTypeIndex[vk::MemoryCoherency::UnCachedCoherent] !=
+ kInvalidMemoryTypeIndex);
+
+ // Cached coherent staging buffer
+ preferredFlags = VK_MEMORY_PROPERTY_HOST_CACHED_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT;
+ ANGLE_VK_TRY(displayVk,
+ mAllocator.findMemoryTypeIndexForBufferInfo(
+ createInfo, requiredFlags, preferredFlags, persistentlyMapped,
+ &mStagingBufferMemoryTypeIndex[vk::MemoryCoherency::CachedCoherent]));
+ ASSERT(mStagingBufferMemoryTypeIndex[vk::MemoryCoherency::CachedCoherent] !=
+ kInvalidMemoryTypeIndex);
- // Cached (b/219974369) Non-coherent staging buffer
+ // Cached Non-coherent staging buffer
preferredFlags = VK_MEMORY_PROPERTY_HOST_CACHED_BIT;
- ANGLE_VK_TRY(displayVk, mAllocator.findMemoryTypeIndexForBufferInfo(
- createInfo, requiredFlags, preferredFlags, persistentlyMapped,
- &mNonCoherentStagingBufferMemoryTypeIndex));
- ASSERT(mNonCoherentStagingBufferMemoryTypeIndex != kInvalidMemoryTypeIndex);
+ ANGLE_VK_TRY(displayVk,
+ mAllocator.findMemoryTypeIndexForBufferInfo(
+ createInfo, requiredFlags, preferredFlags, persistentlyMapped,
+ &mStagingBufferMemoryTypeIndex[vk::MemoryCoherency::CachedNonCoherent]));
+ ASSERT(mStagingBufferMemoryTypeIndex[vk::MemoryCoherency::CachedNonCoherent] !=
+ kInvalidMemoryTypeIndex);
// Alignment
mStagingBufferAlignment =
@@ -2037,7 +2049,8 @@ angle::Result RendererVk::initializeMemoryAllocator(DisplayVk *displayVk)
// Host visible and non-coherent vertex conversion buffer, which is the same as non-coherent
// staging buffer
- mHostVisibleVertexConversionBufferMemoryTypeIndex = mNonCoherentStagingBufferMemoryTypeIndex;
+ mHostVisibleVertexConversionBufferMemoryTypeIndex =
+ mStagingBufferMemoryTypeIndex[vk::MemoryCoherency::CachedNonCoherent];
// We may use compute shader to do conversion, so we must meet
// minStorageBufferOffsetAlignment requirement as well. Also take into account non-coherent
diff --git a/src/libANGLE/renderer/vulkan/RendererVk.h b/src/libANGLE/renderer/vulkan/RendererVk.h
index e2b5d460cf..074e96aa3d 100644
--- a/src/libANGLE/renderer/vulkan/RendererVk.h
+++ b/src/libANGLE/renderer/vulkan/RendererVk.h
@@ -533,9 +533,7 @@ class RendererVk : angle::NonCopyable
uint32_t getStagingBufferMemoryTypeIndex(vk::MemoryCoherency coherency) const
{
- return coherency == vk::MemoryCoherency::Coherent
- ? mCoherentStagingBufferMemoryTypeIndex
- : mNonCoherentStagingBufferMemoryTypeIndex;
+ return mStagingBufferMemoryTypeIndex[coherency];
}
size_t getStagingBufferAlignment() const { return mStagingBufferAlignment; }
@@ -917,9 +915,8 @@ class RendererVk : angle::NonCopyable
// The default alignment for BufferVk object
size_t mDefaultBufferAlignment;
- // The cached memory type index for staging buffer that is host visible.
- uint32_t mCoherentStagingBufferMemoryTypeIndex;
- uint32_t mNonCoherentStagingBufferMemoryTypeIndex;
+ // The memory type index for staging buffer that is host visible.
+ angle::PackedEnumMap<vk::MemoryCoherency, uint32_t> mStagingBufferMemoryTypeIndex;
size_t mStagingBufferAlignment;
// For vertex conversion buffers
uint32_t mHostVisibleVertexConversionBufferMemoryTypeIndex;
diff --git a/src/libANGLE/renderer/vulkan/Suballocation.h b/src/libANGLE/renderer/vulkan/Suballocation.h
index 004cbffccb..6f010b58d7 100644
--- a/src/libANGLE/renderer/vulkan/Suballocation.h
+++ b/src/libANGLE/renderer/vulkan/Suballocation.h
@@ -72,6 +72,7 @@ class BufferBlock final : angle::NonCopyable
bool hasVirtualBlock() const { return mVirtualBlock.valid(); }
bool isHostVisible() const;
bool isCoherent() const;
+ bool isCached() const;
bool isMapped() const;
VkResult map(const VkDevice device);
void unmap(const VkDevice device);
@@ -200,6 +201,7 @@ class BufferSuballocation final : angle::NonCopyable
VkMemoryMapFlags getMemoryPropertyFlags() const;
bool isHostVisible() const;
bool isCoherent() const;
+ bool isCached() const;
bool isMapped() const;
uint8_t *getMappedMemory() const;
void flush(const VkDevice &device);
@@ -288,6 +290,11 @@ ANGLE_INLINE bool BufferBlock::isCoherent() const
return (mMemoryPropertyFlags & VK_MEMORY_PROPERTY_HOST_COHERENT_BIT) != 0;
}
+ANGLE_INLINE bool BufferBlock::isCached() const
+{
+ return (mMemoryPropertyFlags & VK_MEMORY_PROPERTY_HOST_CACHED_BIT) != 0;
+}
+
ANGLE_INLINE bool BufferBlock::isMapped() const
{
return mMappedMemory != nullptr;
@@ -415,6 +422,10 @@ ANGLE_INLINE bool BufferSuballocation::isCoherent() const
{
return mBufferBlock->isCoherent();
}
+ANGLE_INLINE bool BufferSuballocation::isCached() const
+{
+ return mBufferBlock->isCached();
+}
ANGLE_INLINE bool BufferSuballocation::isMapped() const
{
return mBufferBlock->isMapped();
diff --git a/src/libANGLE/renderer/vulkan/SyncVk.cpp b/src/libANGLE/renderer/vulkan/SyncVk.cpp
index 243a0d67f8..286e61e153 100644
--- a/src/libANGLE/renderer/vulkan/SyncVk.cpp
+++ b/src/libANGLE/renderer/vulkan/SyncVk.cpp
@@ -613,10 +613,7 @@ angle::Result SyncVk::getStatus(const gl::Context *context, GLint *outResult)
EGLSyncVk::EGLSyncVk() : EGLSyncImpl(), mSyncHelper(nullptr) {}
-EGLSyncVk::~EGLSyncVk()
-{
- SafeDelete(mSyncHelper);
-}
+EGLSyncVk::~EGLSyncVk() {}
void EGLSyncVk::onDestroy(const egl::Display *display)
{
@@ -635,7 +632,7 @@ egl::Error EGLSyncVk::initialize(const egl::Display *display,
case EGL_SYNC_FENCE_KHR:
{
vk::SyncHelper *syncHelper = new vk::SyncHelper();
- mSyncHelper = syncHelper;
+ mSyncHelper.reset(syncHelper);
if (syncHelper->initialize(vk::GetImpl(context), true) == angle::Result::Stop)
{
return egl::Error(EGL_BAD_ALLOC, "eglCreateSyncKHR failed to create sync object");
@@ -645,7 +642,7 @@ egl::Error EGLSyncVk::initialize(const egl::Display *display,
case EGL_SYNC_NATIVE_FENCE_ANDROID:
{
vk::SyncHelperNativeFence *syncHelper = new vk::SyncHelperNativeFence();
- mSyncHelper = syncHelper;
+ mSyncHelper.reset(syncHelper);
EGLint nativeFenceFd =
attribs.getAsInt(EGL_SYNC_NATIVE_FENCE_FD_ANDROID, EGL_NO_NATIVE_FENCE_FD_ANDROID);
return angle::ToEGL(syncHelper->initializeWithFd(vk::GetImpl(context), nativeFenceFd),
diff --git a/src/libANGLE/renderer/vulkan/SyncVk.h b/src/libANGLE/renderer/vulkan/SyncVk.h
index a9c37bf871..0c71a61c5f 100644
--- a/src/libANGLE/renderer/vulkan/SyncVk.h
+++ b/src/libANGLE/renderer/vulkan/SyncVk.h
@@ -198,7 +198,7 @@ class EGLSyncVk final : public EGLSyncImpl
private:
// SyncHelper or SyncHelperNativeFence decided at run-time.
- vk::SyncHelperInterface *mSyncHelper;
+ std::unique_ptr<vk::SyncHelperInterface> mSyncHelper;
};
} // namespace rx
diff --git a/src/libANGLE/renderer/vulkan/vk_helpers.cpp b/src/libANGLE/renderer/vulkan/vk_helpers.cpp
index 419800416e..b95d41386f 100644
--- a/src/libANGLE/renderer/vulkan/vk_helpers.cpp
+++ b/src/libANGLE/renderer/vulkan/vk_helpers.cpp
@@ -4789,10 +4789,15 @@ BufferHelper::BufferHelper()
mCurrentReadAccess(0),
mCurrentWriteStages(0),
mCurrentReadStages(0),
- mSerial()
+ mSerial(),
+ mClientBuffer(nullptr)
{}
-BufferHelper::~BufferHelper() = default;
+BufferHelper::~BufferHelper()
+{
+ // We must have released external buffer properly
+ ASSERT(mClientBuffer == nullptr);
+}
BufferHelper::BufferHelper(BufferHelper &&other)
{
@@ -4812,6 +4817,7 @@ BufferHelper &BufferHelper::operator=(BufferHelper &&other)
mCurrentWriteStages = other.mCurrentWriteStages;
mCurrentReadStages = other.mCurrentReadStages;
mSerial = other.mSerial;
+ mClientBuffer = std::move(other.mClientBuffer);
return *this;
}
@@ -4916,6 +4922,7 @@ angle::Result BufferHelper::initExternal(ContextVk *contextVk,
ANGLE_TRY(InitAndroidExternalMemory(contextVk, clientBuffer, memoryProperties, &buffer.get(),
&memoryPropertyFlagsOut, &memoryTypeIndex,
&deviceMemory.get(), &allocatedSize));
+ mClientBuffer = clientBuffer;
mSuballocation.initWithEntireBuffer(
contextVk, buffer.get(), MemoryAllocationType::BufferExternal, memoryTypeIndex,
@@ -4925,7 +4932,6 @@ angle::Result BufferHelper::initExternal(ContextVk *contextVk,
uint8_t *ptrOut;
ANGLE_TRY(map(contextVk, &ptrOut));
}
-
return angle::Result::Continue;
}
@@ -5090,6 +5096,11 @@ void BufferHelper::destroy(RendererVk *renderer)
unmap(renderer);
mBufferWithUserSize.destroy(renderer->getDevice());
mSuballocation.destroy(renderer);
+ if (mClientBuffer != nullptr)
+ {
+ ReleaseAndroidExternalMemory(renderer, mClientBuffer);
+ mClientBuffer = nullptr;
+ }
}
void BufferHelper::release(RendererVk *renderer)
@@ -5111,6 +5122,12 @@ void BufferHelper::release(RendererVk *renderer)
mUse.reset();
mWriteUse.reset();
ASSERT(!mBufferWithUserSize.valid());
+
+ if (mClientBuffer != nullptr)
+ {
+ ReleaseAndroidExternalMemory(renderer, mClientBuffer);
+ mClientBuffer = nullptr;
+ }
}
void BufferHelper::releaseBufferAndDescriptorSetCache(RendererVk *renderer)
@@ -7526,8 +7543,8 @@ angle::Result ImageHelper::stageSubresourceUpdateImpl(ContextVk *contextVk,
uint8_t *stagingPointer;
VkDeviceSize stagingOffset;
ANGLE_TRY(contextVk->initBufferForImageCopy(currentBuffer, allocationSize,
- MemoryCoherency::NonCoherent, storageFormat.id,
- &stagingOffset, &stagingPointer));
+ MemoryCoherency::CachedNonCoherent,
+ storageFormat.id, &stagingOffset, &stagingPointer));
loadFunctionInfo.loadFunction(
contextVk->getImageLoadContext(), glExtents.width, glExtents.height, glExtents.depth,
@@ -7847,7 +7864,7 @@ angle::Result ImageHelper::reformatStagedBufferUpdates(ContextVk *contextVk,
VkDeviceSize dstBufferOffset;
size_t dstBufferSize = dstDataDepthPitch * copy.imageExtent.depth;
ANGLE_TRY(contextVk->initBufferForImageCopy(
- dstBuffer, dstBufferSize, MemoryCoherency::NonCoherent, dstFormatID,
+ dstBuffer, dstBufferSize, MemoryCoherency::CachedNonCoherent, dstFormatID,
&dstBufferOffset, &dstData));
rx::PixelReadFunction pixelReadFunction = srcFormat.pixelReadFunction;
@@ -8189,7 +8206,7 @@ angle::Result ImageHelper::stageSubresourceUpdateAndGetData(ContextVk *contextVk
VkDeviceSize stagingOffset;
ANGLE_TRY(contextVk->initBufferForImageCopy(currentBuffer, allocationSize,
- MemoryCoherency::NonCoherent, formatID,
+ MemoryCoherency::CachedNonCoherent, formatID,
&stagingOffset, dstData));
gl::LevelIndex updateLevelGL(imageIndex.getLevelIndex());
@@ -8263,8 +8280,8 @@ angle::Result ImageHelper::stageSubresourceUpdateFromFramebuffer(
// The destination is only one layer deep.
size_t allocationSize = outputDepthPitch;
ANGLE_TRY(contextVk->initBufferForImageCopy(currentBuffer, allocationSize,
- MemoryCoherency::NonCoherent, storageFormat.id,
- &stagingOffset, &stagingPointer));
+ MemoryCoherency::CachedNonCoherent,
+ storageFormat.id, &stagingOffset, &stagingPointer));
const angle::Format &copyFormat =
GetFormatFromFormatType(formatInfo.internalFormat, formatInfo.type);
@@ -8432,9 +8449,9 @@ angle::Result ImageHelper::stageResourceClearWithFormat(ContextVk *contextVk,
uint8_t *stagingPointer;
VkDeviceSize stagingOffset;
- ANGLE_TRY(contextVk->initBufferForImageCopy(currentBuffer, totalSize,
- MemoryCoherency::NonCoherent, imageFormat.id,
- &stagingOffset, &stagingPointer));
+ ANGLE_TRY(contextVk->initBufferForImageCopy(
+ currentBuffer, totalSize, MemoryCoherency::CachedNonCoherent, imageFormat.id,
+ &stagingOffset, &stagingPointer));
memset(stagingPointer, 0, totalSize);
VkBufferImageCopy copyRegion = {};
@@ -9381,8 +9398,9 @@ angle::Result ImageHelper::copyImageDataToBuffer(ContextVk *contextVk,
// Allocate coherent staging buffer
ASSERT(dstBuffer != nullptr && !dstBuffer->valid());
VkDeviceSize dstOffset;
- ANGLE_TRY(contextVk->initBufferForImageCopy(dstBuffer, bufferSize, MemoryCoherency::Coherent,
- imageFormat.id, &dstOffset, outDataPtr));
+ ANGLE_TRY(contextVk->initBufferForImageCopy(dstBuffer, bufferSize,
+ MemoryCoherency::CachedCoherent, imageFormat.id,
+ &dstOffset, outDataPtr));
VkBuffer bufferHandle = dstBuffer->getBuffer().getHandle();
LevelIndex sourceLevelVk = toVkLevel(sourceLevelGL);
@@ -10050,7 +10068,7 @@ angle::Result ImageHelper::readPixelsImpl(ContextVk *contextVk,
size_t allocationSize = readFormat->pixelBytes * area.width * area.height;
ANGLE_TRY(contextVk->initBufferForImageCopy(stagingBuffer, allocationSize,
- MemoryCoherency::Coherent, readFormat->id,
+ MemoryCoherency::CachedCoherent, readFormat->id,
&stagingOffset, &readPixelBuffer));
VkBuffer bufferHandle = stagingBuffer->getBuffer().getHandle();
diff --git a/src/libANGLE/renderer/vulkan/vk_helpers.h b/src/libANGLE/renderer/vulkan/vk_helpers.h
index bad0c94bd2..fb954cb477 100644
--- a/src/libANGLE/renderer/vulkan/vk_helpers.h
+++ b/src/libANGLE/renderer/vulkan/vk_helpers.h
@@ -725,11 +725,25 @@ class PipelineBarrier : angle::NonCopyable
};
using PipelineBarrierArray = angle::PackedEnumMap<PipelineStage, PipelineBarrier>;
-enum class MemoryCoherency
+enum class MemoryCoherency : uint8_t
{
- NonCoherent,
- Coherent
+ CachedNonCoherent,
+ CachedCoherent,
+ UnCachedCoherent,
+
+ InvalidEnum = 3,
+ EnumCount = 3,
};
+ANGLE_INLINE bool IsCached(MemoryCoherency coherency)
+{
+ return coherency == MemoryCoherency::CachedNonCoherent ||
+ coherency == MemoryCoherency::CachedCoherent;
+}
+ANGLE_INLINE bool IsCoherent(MemoryCoherency coherency)
+{
+ return coherency == MemoryCoherency::UnCachedCoherent ||
+ coherency == MemoryCoherency::CachedCoherent;
+}
enum class MemoryHostVisibility
{
@@ -788,7 +802,7 @@ class BufferHelper : public ReadWriteResource
VkDeviceSize getBlockMemorySize() const { return mSuballocation.getBlockMemorySize(); }
bool isHostVisible() const { return mSuballocation.isHostVisible(); }
bool isCoherent() const { return mSuballocation.isCoherent(); }
-
+ bool isCached() const { return mSuballocation.isCached(); }
bool isMapped() const { return mSuballocation.isMapped(); }
// Also implicitly sets up the correct barriers.
@@ -885,6 +899,8 @@ class BufferHelper : public ReadWriteResource
BufferSerial mSerial;
// Manages the descriptorSet cache that created with this BufferHelper object.
DescriptorSetCacheManager mDescriptorSetCacheManager;
+ // For external buffer
+ GLeglClientBufferEXT mClientBuffer;
};
class BufferPool : angle::NonCopyable
diff --git a/src/tests/angle_end2end_tests_expectations.txt b/src/tests/angle_end2end_tests_expectations.txt
index e4a30369f8..d55b874ffe 100644
--- a/src/tests/angle_end2end_tests_expectations.txt
+++ b/src/tests/angle_end2end_tests_expectations.txt
@@ -338,9 +338,6 @@ b/273271471 WIN INTEL VULKAN : ShaderAlgorithmTest.rgb_to_hsl_vertex_shader/* =
6458 MAC METAL : TriangleFanDrawTest.DrawTriangleFanPrimitiveRestartAtBegin/* = SKIP
-// Metal doesn't implement 3D texture yet.
-4136 MAC METAL : WebGL2ReadOutsideFramebufferTest.CopyTexSubImage3D/* = SKIP
-
5233 MAC METAL : WebGL2ValidationStateChangeTest.MultiAttachmentDrawFramebufferNegativeAPI/* = SKIP
7451 MAC METAL INTEL : PointSpritesTest.PointSizeAboveMaxIsClamped/ES2_Metal = SKIP
@@ -907,10 +904,6 @@ b/308668391 PIXEL4ORXL VULKAN : ImageTest.SourceYUVAHBTargetExternalRGBSampleNoD
7994 IOS METAL : VertexAttributeTest.AliasingVectorAttribLocationsDifferingPrecisions/ES3_Metal = SKIP
7994 IOS METAL : VertexAttributeTest.AliasingVectorAttribLocationsDifferingPrecisions/ES3_Metal_HasCheapRenderPass_NoHasExplicitMemBarrier = SKIP
7994 IOS METAL : VertexAttributeTest.AliasingVectorAttribLocationsDifferingPrecisions/ES3_Metal_NoHasExplicitMemBarrier_NoHasCheapRenderPass = SKIP
-7994 IOS METAL : VertexAttributeTestES3.DrawWithUnalignedData/ES3_Metal = SKIP
-7994 IOS METAL : VertexAttributeTestES3.DrawWithUnalignedData/ES3_Metal_HasCheapRenderPass_NoHasExplicitMemBarrier = SKIP
-7994 IOS METAL : VertexAttributeTestES3.DrawWithUnalignedData/ES3_Metal_NoHasExplicitMemBarrier_NoHasCheapRenderPass = SKIP
-7994 IOS METAL : WebGL2ReadOutsideFramebufferTest.CopyTexSubImage3D/ES2_Metal = SKIP
7994 IOS METAL : WebGL2ValidationStateChangeTest.MultiAttachmentDrawFramebufferNegativeAPI/ES3_Metal = SKIP
8043 IOS METAL : FramebufferTest_ES3.RenderSharedExponent/ES3_Metal = SKIP
8051 IOS METAL : Texture2DDepthStencilTestES3.TexSampleModes*Swizzled/ES3_Metal = SKIP
@@ -954,8 +947,6 @@ b/308668391 PIXEL4ORXL VULKAN : ImageTest.SourceYUVAHBTargetExternalRGBSampleNoD
7445 METAL : IOSurfaceClientBufferTest.RenderToR16IOSurface/* = SKIP
-7068 METAL : VertexAttributeTestES3.DrawWithUnalignedData/* = SKIP
-
// ASAN flakes with Vulkan / SwiftShader / AsyncCommandQueue
6875 ASAN VULKAN SWIFTSHADER : ComputeShaderTest.*/ES3_1_Vulkan_SwiftShader_AsyncCommandQueue = SKIP
6875 SWIFTSHADER : TransformFeedbackTest.SpanMultipleRenderPasses/*AsyncCommandQueue* = SKIP
diff --git a/src/tests/deqp_support/deqp_gles3_test_expectations.txt b/src/tests/deqp_support/deqp_gles3_test_expectations.txt
index 65b0d7e75e..38f2b9ec06 100644
--- a/src/tests/deqp_support/deqp_gles3_test_expectations.txt
+++ b/src/tests/deqp_support/deqp_gles3_test_expectations.txt
@@ -773,20 +773,6 @@
6678 UBSAN : dEQP-GLES3.functional.fragment_out.* = SKIP
6678 UBSAN : dEQP-GLES3.functional.vertex_arrays.single_attribute.* = SKIP
-// https://gitlab.khronos.org/opengl/API/-/issues/179
-8048 NVIDIA : dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0.r8_snorm = SKIP
-8048 NVIDIA : dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0.rg8_snorm = SKIP
-8048 NVIDIA : dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0.rgba8_snorm = SKIP
-8048 NVIDIA : dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0.r8_snorm = SKIP
-8048 NVIDIA : dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0.rg8_snorm = SKIP
-8048 NVIDIA : dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0.rgba8_snorm = SKIP
-8048 MAC : dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0.r8_snorm = SKIP
-8048 MAC : dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0.rg8_snorm = SKIP
-8048 MAC : dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0.rgba8_snorm = SKIP
-8048 MAC : dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0.r8_snorm = SKIP
-8048 MAC : dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0.rg8_snorm = SKIP
-8048 MAC : dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0.rgba8_snorm = SKIP
-
// Samsung Galaxy S23
8157 GALAXYS23 VULKAN : dEQP-GLES3.functional.fbo.blit.depth_stencil.* = SKIP
8157 GALAXYS23 VULKAN : dEQP-GLES3.functional.fbo.invalidate.format.stencil_index8 = SKIP
diff --git a/src/tests/gl_tests/DrawBaseVertexBaseInstanceTest.cpp b/src/tests/gl_tests/DrawBaseVertexBaseInstanceTest.cpp
index 63a9bddcf8..ea26fcc09a 100644
--- a/src/tests/gl_tests/DrawBaseVertexBaseInstanceTest.cpp
+++ b/src/tests/gl_tests/DrawBaseVertexBaseInstanceTest.cpp
@@ -1181,29 +1181,22 @@ TEST_P(DrawBaseInstanceTest, DrawElementsInstancedBaseVertexBaseInstance)
checkDrawResult(true, true);
}
-const angle::PlatformParameters platforms[] = {
- ES3_D3D11(), ES3_METAL(), ES3_OPENGL(), ES3_OPENGLES(), ES3_VULKAN(),
-};
-
GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(DrawBaseVertexBaseInstanceTest);
-INSTANTIATE_TEST_SUITE_P(
- ,
+
+ANGLE_INSTANTIATE_TEST_COMBINE_3(
DrawBaseVertexBaseInstanceTest,
- testing::Combine(
- testing::ValuesIn(::angle::FilterTestParams(platforms, ArraySize(platforms))),
- testing::Values(BaseVertexOption::NoBaseVertex, BaseVertexOption::UseBaseVertex),
- testing::Values(BaseInstanceOption::NoBaseInstance, BaseInstanceOption::UseBaseInstance),
- testing::Values(BufferDataUsageOption::StaticDraw, BufferDataUsageOption::DynamicDraw)),
- PrintToStringParamName());
-
-INSTANTIATE_TEST_SUITE_P(
- ,
+ PrintToStringParamName(),
+ testing::Values(BaseVertexOption::NoBaseVertex, BaseVertexOption::UseBaseVertex),
+ testing::Values(BaseInstanceOption::NoBaseInstance, BaseInstanceOption::UseBaseInstance),
+ testing::Values(BufferDataUsageOption::StaticDraw, BufferDataUsageOption::DynamicDraw),
+ ANGLE_ALL_TEST_PLATFORMS_ES3);
+
+ANGLE_INSTANTIATE_TEST_COMBINE_3(
DrawBaseInstanceTest,
- testing::Combine(
- testing::ValuesIn(::angle::FilterTestParams(platforms, ArraySize(platforms))),
- testing::Values(BaseVertexOption::NoBaseVertex, BaseVertexOption::UseBaseVertex),
- testing::Values(BaseInstanceOption::NoBaseInstance, BaseInstanceOption::UseBaseInstance),
- testing::Values(BufferDataUsageOption::StaticDraw, BufferDataUsageOption::DynamicDraw)),
- PrintToStringParamName());
+ PrintToStringParamName(),
+ testing::Values(BaseVertexOption::NoBaseVertex, BaseVertexOption::UseBaseVertex),
+ testing::Values(BaseInstanceOption::NoBaseInstance, BaseInstanceOption::UseBaseInstance),
+ testing::Values(BufferDataUsageOption::StaticDraw, BufferDataUsageOption::DynamicDraw),
+ ANGLE_ALL_TEST_PLATFORMS_ES3);
} // namespace
diff --git a/src/tests/gl_tests/ExternalBufferTest.cpp b/src/tests/gl_tests/ExternalBufferTest.cpp
index 465f7d66ae..59720c9cb9 100644
--- a/src/tests/gl_tests/ExternalBufferTest.cpp
+++ b/src/tests/gl_tests/ExternalBufferTest.cpp
@@ -60,7 +60,10 @@ class ExternalBufferTestES31 : public ANGLETest<>
// Need to grab the stride the implementation might have enforced
AHardwareBuffer_describe(aHardwareBuffer, &aHardwareBufferDescription);
- memcpy(mappedMemory, data, size);
+ if (data)
+ {
+ memcpy(mappedMemory, data, size);
+ }
EXPECT_EQ(0, AHardwareBuffer_unlock(aHardwareBuffer, nullptr));
return aHardwareBuffer;
@@ -345,6 +348,31 @@ TEST_P(ExternalBufferTestES31, MapBufferDoesNotCauseOrphaning)
destroyAndroidHardwareBuffer(aHardwareBuffer);
}
+// Verify that create and destroy external buffer backed by an AHB doesn't leak AHB
+TEST_P(ExternalBufferTestES31, BufferDoesNotLeakAHB)
+{
+ ANGLE_SKIP_TEST_IF(!IsGLExtensionEnabled("GL_EXT_external_buffer") ||
+ !IsGLExtensionEnabled("GL_EXT_buffer_storage"));
+
+ // Create and destroy 128M AHB backed buffer in a loop. If we leak AHB, it will fail due to AHB
+ // allocation failure before loop ends.
+ constexpr size_t kBufferSize = 128 * 1024 * 1024;
+ for (int loop = 0; loop < 1000; loop++)
+ {
+ // Create the AHB
+ AHardwareBuffer *aHardwareBuffer;
+ constexpr GLbitfield kFlags = GL_DYNAMIC_STORAGE_BIT_EXT;
+ aHardwareBuffer = createAndroidHardwareBuffer(kBufferSize, nullptr);
+ GLBuffer buffer;
+ glBindBuffer(GL_SHADER_STORAGE_BUFFER, buffer);
+ glBufferStorageExternalEXT(GL_SHADER_STORAGE_BUFFER, 0, kBufferSize,
+ eglGetNativeClientBufferANDROID(aHardwareBuffer), kFlags);
+ ASSERT_GL_NO_ERROR();
+ // Delete the source AHB
+ destroyAndroidHardwareBuffer(aHardwareBuffer);
+ }
+}
+
GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(ExternalBufferTestES31);
ANGLE_INSTANTIATE_TEST_ES31(ExternalBufferTestES31);
} // namespace angle
diff --git a/src/tests/gl_tests/GLSLTest.cpp b/src/tests/gl_tests/GLSLTest.cpp
index 7b6e70d168..b34db39c4a 100644
--- a/src/tests/gl_tests/GLSLTest.cpp
+++ b/src/tests/gl_tests/GLSLTest.cpp
@@ -9094,6 +9094,45 @@ void main()
EXPECT_NE(compileResult, 0);
}
+// Test that packing of excessive 3-column variables does not overflow the count of 3-column
+// variables in VariablePacker
+TEST_P(WebGL2GLSLTest, ExcessiveMat3UniformPacking)
+{
+ std::ostringstream srcStream;
+
+ srcStream << "#version 300 es\n";
+ srcStream << "precision mediump float;\n";
+ srcStream << "out vec4 finalColor;\n";
+ srcStream << "in vec4 color;\n";
+ srcStream << "uniform mat4 r[254];\n";
+
+ srcStream << "uniform mat3 ";
+ constexpr size_t kNumUniforms = 10000;
+ for (size_t i = 0; i < kNumUniforms; ++i)
+ {
+ if (i > 0)
+ {
+ srcStream << ", ";
+ }
+ srcStream << "m3a_" << i << "[256]";
+ }
+ srcStream << ";\n";
+
+ srcStream << "void main(void) { finalColor = color; }\n";
+ std::string src = std::move(srcStream).str();
+
+ GLuint shader = glCreateShader(GL_VERTEX_SHADER);
+
+ const char *sourceArray[1] = {src.c_str()};
+ GLint lengths[1] = {static_cast<GLint>(src.length())};
+ glShaderSource(shader, 1, sourceArray, lengths);
+ glCompileShader(shader);
+
+ GLint compileResult;
+ glGetShaderiv(shader, GL_COMPILE_STATUS, &compileResult);
+ EXPECT_EQ(compileResult, 0);
+}
+
// Test that a varying with a flat qualifier that is used as an operand of a folded ternary operator
// is handled correctly.
TEST_P(GLSLTest_ES3, FlatVaryingUsedInFoldedTernary)
diff --git a/src/tests/gl_tests/MultiDrawTest.cpp b/src/tests/gl_tests/MultiDrawTest.cpp
index b827b9f539..b11d3e5357 100644
--- a/src/tests/gl_tests/MultiDrawTest.cpp
+++ b/src/tests/gl_tests/MultiDrawTest.cpp
@@ -178,8 +178,7 @@ varying vec4 color;
void main()
{
int id = )" << (IsDrawIDTest() ? "gl_DrawID" : "0")
- << ";"
- << R"(
+ << ";" << R"(
float quad_id = float(id / 2);
float color_id = quad_id - (3.0 * floor(quad_id / 3.0));
if (color_id == 0.0) {
@@ -1247,48 +1246,32 @@ TEST_P(MultiDrawNoInstancingSupportTest, InvalidOperation)
EXPECT_GL_ERROR(GL_INVALID_OPERATION);
}
-const angle::PlatformParameters platforms[] = {
- ES2_D3D9(), ES2_OPENGL(), ES2_OPENGLES(), ES2_VULKAN(), ES3_D3D11(), ES3_OPENGL(),
- ES3_OPENGLES(), ES3_VULKAN(), ES3_VULKAN_SWIFTSHADER(),
-};
-
-const angle::PlatformParameters es2_platforms[] = {
- ES2_D3D9(), ES2_OPENGL(), ES2_OPENGLES(), ES2_VULKAN(), ES2_VULKAN_SWIFTSHADER(),
-};
-
-const angle::PlatformParameters es3_platforms[] = {
- ES3_D3D11(), ES3_OPENGL(), ES3_OPENGLES(), ES3_VULKAN(), ES3_VULKAN_SWIFTSHADER(),
-};
-
-INSTANTIATE_TEST_SUITE_P(
- ,
- MultiDrawTest,
- testing::Combine(
- testing::ValuesIn(::angle::FilterTestParams(platforms, ArraySize(platforms))),
- testing::Values(DrawIDOption::NoDrawID, DrawIDOption::UseDrawID),
- testing::Values(InstancingOption::NoInstancing, InstancingOption::UseInstancing),
- testing::Values(BufferDataUsageOption::StaticDraw, BufferDataUsageOption::DynamicDraw)),
- PrintToStringParamName());
-
-INSTANTIATE_TEST_SUITE_P(
- ,
- MultiDrawNoInstancingSupportTest,
- testing::Combine(
- testing::ValuesIn(::angle::FilterTestParams(es2_platforms, ArraySize(es2_platforms))),
- testing::Values(DrawIDOption::NoDrawID, DrawIDOption::UseDrawID),
- testing::Values(InstancingOption::UseInstancing),
- testing::Values(BufferDataUsageOption::StaticDraw, BufferDataUsageOption::DynamicDraw)),
- PrintToStringParamName());
-
-INSTANTIATE_TEST_SUITE_P(
- ,
- MultiDrawTestES3,
- testing::Combine(
- testing::ValuesIn(::angle::FilterTestParams(es3_platforms, ArraySize(es3_platforms))),
- testing::Values(DrawIDOption::NoDrawID, DrawIDOption::UseDrawID),
- testing::Values(InstancingOption::NoInstancing, InstancingOption::UseInstancing),
- testing::Values(BufferDataUsageOption::StaticDraw, BufferDataUsageOption::DynamicDraw)),
- PrintToStringParamName());
+ANGLE_INSTANTIATE_TEST_COMBINE_3(MultiDrawTest,
+ PrintToStringParamName(),
+ testing::Values(DrawIDOption::NoDrawID, DrawIDOption::UseDrawID),
+ testing::Values(InstancingOption::NoInstancing,
+ InstancingOption::UseInstancing),
+ testing::Values(BufferDataUsageOption::StaticDraw,
+ BufferDataUsageOption::DynamicDraw),
+ ANGLE_ALL_TEST_PLATFORMS_ES2,
+ ANGLE_ALL_TEST_PLATFORMS_ES3);
+
+ANGLE_INSTANTIATE_TEST_COMBINE_3(MultiDrawNoInstancingSupportTest,
+ PrintToStringParamName(),
+ testing::Values(DrawIDOption::NoDrawID, DrawIDOption::UseDrawID),
+ testing::Values(InstancingOption::UseInstancing),
+ testing::Values(BufferDataUsageOption::StaticDraw,
+ BufferDataUsageOption::DynamicDraw),
+ ANGLE_ALL_TEST_PLATFORMS_ES2);
+
+ANGLE_INSTANTIATE_TEST_COMBINE_3(MultiDrawTestES3,
+ PrintToStringParamName(),
+ testing::Values(DrawIDOption::NoDrawID, DrawIDOption::UseDrawID),
+ testing::Values(InstancingOption::NoInstancing,
+ InstancingOption::UseInstancing),
+ testing::Values(BufferDataUsageOption::StaticDraw,
+ BufferDataUsageOption::DynamicDraw),
+ ANGLE_ALL_TEST_PLATFORMS_ES3);
GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(MultiDrawIndirectTest);
ANGLE_INSTANTIATE_TEST_ES31_AND(MultiDrawIndirectTest,
diff --git a/src/tests/gl_tests/PackUnpackTest.cpp b/src/tests/gl_tests/PackUnpackTest.cpp
index 853a9661b9..a4189ab20d 100644
--- a/src/tests/gl_tests/PackUnpackTest.cpp
+++ b/src/tests/gl_tests/PackUnpackTest.cpp
@@ -237,7 +237,6 @@ TEST_P(PackUnpackTest, PackUnpackSnormOverflow)
compareBeforeAfter(mSNormProgram, 67000.0f, -67000.0f, 1.0f, -1.0f);
}
-// http://anglebug.com/4092 Not instantiating on other backends currently
GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(PackUnpackTest);
-ANGLE_INSTANTIATE_TEST(PackUnpackTest, ES3_OPENGL(), ES3_OPENGLES());
+ANGLE_INSTANTIATE_TEST_ES3(PackUnpackTest);
} // namespace
diff --git a/src/tests/gl_tests/VertexAttributeTest.cpp b/src/tests/gl_tests/VertexAttributeTest.cpp
index 2443ac8395..a11d77d40c 100644
--- a/src/tests/gl_tests/VertexAttributeTest.cpp
+++ b/src/tests/gl_tests/VertexAttributeTest.cpp
@@ -1832,11 +1832,11 @@ TEST_P(VertexAttributeTestES3, DrawWithUnalignedData)
constexpr char kVS[] = R"(#version 300 es
precision highp float;
in highp vec4 a_position;
-in highp ivec2 a_ColorTest;
+in highp vec2 a_ColorTest;
out highp vec2 v_colorTest;
void main() {
- v_colorTest = vec2(a_ColorTest);
+ v_colorTest = a_ColorTest;
gl_Position = a_position;
})";
@@ -1846,7 +1846,8 @@ in highp vec2 v_colorTest;
out vec4 fragColor;
void main() {
- if(v_colorTest.x > 0.5) {
+ // The input value is 0x01000000 / 0x7FFFFFFF
+ if(abs(v_colorTest.x - 0.0078125) < 0.001) {
fragColor = vec4(0.0, 1.0, 0.0, 1.0);
} else {
fragColor = vec4(1.0, 0.0, 0.0, 1.0);
diff --git a/src/tests/gl_tests/WebGLReadOutsideFramebufferTest.cpp b/src/tests/gl_tests/WebGLReadOutsideFramebufferTest.cpp
index 16d710f8e3..5b6edd8b74 100644
--- a/src/tests/gl_tests/WebGLReadOutsideFramebufferTest.cpp
+++ b/src/tests/gl_tests/WebGLReadOutsideFramebufferTest.cpp
@@ -63,22 +63,22 @@ class PixelRect
glTexParameteri(target, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
}
- void toTexture3D(GLuint texid, GLint depth) const
+ void toTexture3D(GLuint target, GLuint texid, GLint depth) const
{
- glBindTexture(GL_TEXTURE_3D, texid);
+ glBindTexture(target, texid);
- glTexImage3D(GL_TEXTURE_3D, 0, GL_RGBA, mWidth, mHeight, depth, 0, GL_RGBA,
- GL_UNSIGNED_BYTE, nullptr);
+ glTexImage3D(target, 0, GL_RGBA, mWidth, mHeight, depth, 0, GL_RGBA, GL_UNSIGNED_BYTE,
+ nullptr);
for (GLint z = 0; z < depth; z++)
{
- glTexSubImage3D(GL_TEXTURE_3D, 0, 0, 0, z, mWidth, mHeight, 1, GL_RGBA,
- GL_UNSIGNED_BYTE, mData.data());
+ glTexSubImage3D(target, 0, 0, 0, z, mWidth, mHeight, 1, GL_RGBA, GL_UNSIGNED_BYTE,
+ mData.data());
}
- glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
- glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
- glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
- glTexParameteri(GL_TEXTURE_3D, GL_TEXTURE_WRAP_R, GL_CLAMP_TO_EDGE);
+ glTexParameteri(target, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
+ glTexParameteri(target, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
+ glTexParameteri(target, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
+ glTexParameteri(target, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
+ glTexParameteri(target, GL_TEXTURE_WRAP_R, GL_CLAMP_TO_EDGE);
}
void readFB(int x, int y)
@@ -169,12 +169,24 @@ class WebGLReadOutsideFramebufferTest : public ANGLETest<>
pixelsOut);
}
+ // Read framebuffer to 'pixelsOut' via glCopyTexSubImage3D and a 2D array texture.
+ void TestCopyTexSubImage2DArray(int x, int y, int z, PixelRect *pixelsOut)
+ {
+ // Init texture with given pixels.
+ GLTexture destTexture;
+ pixelsOut->toTexture3D(GL_TEXTURE_2D_ARRAY, destTexture.get(), kTextureDepth);
+
+ // Read framebuffer -> texture -> 'pixelsOut'
+ glCopyTexSubImage3D(GL_TEXTURE_2D_ARRAY, 0, 0, 0, z, x, y, kReadWidth, kReadHeight);
+ readTexture3D(destTexture, kReadWidth, kReadHeight, z, pixelsOut);
+ }
+
// Read framebuffer to 'pixelsOut' via glCopyTexSubImage3D.
void TestCopyTexSubImage3D(int x, int y, int z, PixelRect *pixelsOut)
{
// Init texture with given pixels.
GLTexture destTexture;
- pixelsOut->toTexture3D(destTexture.get(), kTextureDepth);
+ pixelsOut->toTexture3D(GL_TEXTURE_3D, destTexture.get(), kTextureDepth);
// Read framebuffer -> texture -> 'pixelsOut'
glCopyTexSubImage3D(GL_TEXTURE_3D, 0, 0, 0, z, x, y, kReadWidth, kReadHeight);
@@ -228,6 +240,7 @@ class WebGLReadOutsideFramebufferTest : public ANGLETest<>
setConfigGreenBits(8);
setConfigBlueBits(8);
setConfigAlphaBits(8);
+ setRobustResourceInit(true);
setWebGLCompatibilityEnabled(true);
}
@@ -357,8 +370,6 @@ TEST_P(WebGLReadOutsideFramebufferTest, CopyTexSubImage2D)
// Check that copyTexImage2D sets (0,0,0,0) for pixels outside the framebuffer.
TEST_P(WebGLReadOutsideFramebufferTest, CopyTexImage2D)
{
- // http://anglebug.com/4092
- ANGLE_SKIP_TEST_IF(IsVulkan() || IsD3D9() || IsD3D11());
Main2D(&WebGLReadOutsideFramebufferTest::TestCopyTexImage2D, true);
Main2D(&WebGLReadOutsideFramebufferTest::TestCopyTexImageCube, true);
}
@@ -367,16 +378,12 @@ TEST_P(WebGLReadOutsideFramebufferTest, CopyTexImage2D)
// the corresponding source pixel is outside the framebuffer.
TEST_P(WebGL2ReadOutsideFramebufferTest, CopyTexSubImage3D)
{
- // http://anglebug.com/4092
- ANGLE_SKIP_TEST_IF(IsVulkan() || IsD3D9() || IsD3D11());
- // Robust CopyTexSubImage3D behaviour is not implemented on OpenGL.
- ANGLE_SKIP_TEST_IF(IsDesktopOpenGL() || IsOpenGLES());
-
+ Main3D(&WebGLReadOutsideFramebufferTest::TestCopyTexSubImage2DArray, false);
Main3D(&WebGLReadOutsideFramebufferTest::TestCopyTexSubImage3D, false);
}
ANGLE_INSTANTIATE_TEST_ES2_AND_ES3(WebGLReadOutsideFramebufferTest);
-ANGLE_INSTANTIATE_TEST_ES2_AND_ES3(WebGL2ReadOutsideFramebufferTest);
+ANGLE_INSTANTIATE_TEST_ES3(WebGL2ReadOutsideFramebufferTest);
} // namespace angle
diff --git a/src/tests/restricted_traces/restricted_traces.json b/src/tests/restricted_traces/restricted_traces.json
index 81518c52e6..2a1e57b6e5 100644
--- a/src/tests/restricted_traces/restricted_traces.json
+++ b/src/tests/restricted_traces/restricted_traces.json
@@ -236,6 +236,7 @@
"the_gardens_between 1",
"the_sims_mobile 1",
"the_witcher_monster_slayer 1",
+ "thimbleweed_park 1",
"tmnt_shredders_revenge 1",
"toon_blast 5",
"top_war 1",
diff --git a/src/tests/test_utils/angle_test_instantiate.h b/src/tests/test_utils/angle_test_instantiate.h
index 684bc4640b..7e2a0fd27f 100644
--- a/src/tests/test_utils/angle_test_instantiate.h
+++ b/src/tests/test_utils/angle_test_instantiate.h
@@ -296,6 +296,14 @@ struct CombinedPrintToStringParamName
##__VA_ARGS__}; \
INSTANTIATE_TEST_SUITE_P( \
, testName, testing::Combine(ANGLE_INSTANTIATE_TEST_PLATFORMS(testName), combine1), print)
+#define ANGLE_INSTANTIATE_TEST_COMBINE_3(testName, print, combine1, combine2, combine3, first, \
+ ...) \
+ const std::remove_reference<decltype(first)>::type testName##params[] = {first, \
+ ##__VA_ARGS__}; \
+ INSTANTIATE_TEST_SUITE_P(, testName, \
+ testing::Combine(ANGLE_INSTANTIATE_TEST_PLATFORMS(testName), \
+ combine1, combine2, combine3), \
+ print)
#define ANGLE_INSTANTIATE_TEST_COMBINE_4(testName, print, combine1, combine2, combine3, combine4, \
first, ...) \
const std::remove_reference<decltype(first)>::type testName##params[] = {first, \
diff --git a/third_party/r8/lib/r8.jar b/third_party/r8/lib/r8.jar
index a3b60cfd91..78fd3b559b 100644
--- a/third_party/r8/lib/r8.jar
+++ b/third_party/r8/lib/r8.jar
Binary files differ
diff --git a/third_party/vulkan-deps/DEPS b/third_party/vulkan-deps/DEPS
index fb2c3f9ae9..aff6f9b988 100644
--- a/third_party/vulkan-deps/DEPS
+++ b/third_party/vulkan-deps/DEPS
@@ -13,7 +13,7 @@ vars = {
'glslang_revision': '9a35abff55440655dda5326c1d07ae23450ae64f',
# Current revision of spirv-cross, the Khronos SPIRV cross compiler.
- 'spirv_cross_revision': 'e6b013a492d55e2f9d981eaa961f4168303524ef',
+ 'spirv_cross_revision': 'f349c91274b91c1a7c173f2df70ec53080076191',
# Current revision fo the SPIRV-Headers Vulkan support library.
'spirv_headers_revision': '1c6bb2743599e6eb6f37b2969acc0aef812e32e3',
@@ -25,16 +25,16 @@ vars = {
'vulkan_headers_revision': '19a863ccce773ff393b186329478b1eb1a519fd3',
# Current revision of Khronos Vulkan-Loader.
- 'vulkan_loader_revision': 'a0308b56d851bea6496ed36b088e2d24afd3cb6d',
+ 'vulkan_loader_revision': '0133778cb1c4493a9d580700b8a6e0fe493c601c',
# Current revision of Khronos Vulkan-Tools.
'vulkan_tools_revision': '1ee9eea9f1f58fe0677703eb121ae445e6513b9a',
# Current revision of Khronos Vulkan-Utility-Libraries.
- 'vulkan_utility_libraries_revision': '2feac587338c7e1b631b2ef9bd6e894d7ad7f56d',
+ 'vulkan_utility_libraries_revision': '4a89051018cef521243b0bc5c7d13ca362e328d7',
# Current revision of Khronos Vulkan-ValidationLayers.
- 'vulkan_validation_revision': '847a8a1f8ac49fb9b7523953dadfff3c960b103d',
+ 'vulkan_validation_revision': '3d6bdd9dc7214c38d1965e0bf1a7c1e0c2089044',
}
deps = {