Commit Graph

21565 Commits

Author SHA1 Message Date
bruvzg
6e8038ec3f Cleanup 2024-07-18 11:43:38 +03:00
Rémi Verschelde
43c0ee8a73 Merge pull request #6 from bruvzg/llvm-mingw-win
Fix LLVM/MinGW build on Windows.
2024-07-18 10:42:35 +02:00
bruvzg
f91c4a9b59 Fix LLVM/MinGW build on Windows. 2024-07-18 10:42:23 +02:00
Rémi Verschelde
fb769d3c67 Merge pull request #4 from RandomShaper/asan
Add `use_asan` build option
2024-07-02 14:30:26 +02:00
Rémi Verschelde
0843d80b31 Merge pull request #5 from bruvzg/fix_clang_mingw
Fix LLVM/MinGW and ARM64/MingW build.
2024-06-19 20:46:10 +02:00
bruvzg
f633dac519 Fix LLVM/MinGW and ARM64/MingW build. 2024-06-19 20:58:11 +03:00
Pedro J. Estébanez
92a393166a Add use_asan build option 2024-06-14 14:02:54 +02:00
Rémi Verschelde
9e33007a2e Merge pull request #2 from bruvzg/mac_angle_over_gl
[macOS] Enable ANGLE over GL.
chromium/6029.1
2023-11-09 19:00:36 +01:00
bruvzg
a32c26072f [macOS] Enable ANGLE over GL. 2023-11-06 21:54:21 +02:00
Rémi Verschelde
eaa3385c3c Merge pull request #1 from bruvzg/fix_pref
Fix macOS build with older Xcode and performance issues.
2023-09-25 13:02:41 +02:00
bruvzg
b0997bce23 Fix macOS build with older Xcode and performance issues. 2023-09-25 11:27:55 +03:00
bruvzg
8539c2d74a [Godot] Custom static library config. 2023-07-26 16:17:42 +03:00
Geoff Lang
430a4f559c Fix read size validation for RGBX formats.
GL_RGBX8_ANGLE is the only format where the upload format is 3-channel
RGB, whilethe download format is 4-channel RGBX.  As such, the internal
format corresponding to format+type expects 3-byte input/output.  The
format is fixed here for readPixels to output 4 bytes per pixel.

Bug: chromium:1458046
Change-Id: Iec737ed64bade003cfab50dc5f595eb4875e81e4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4706957
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
chromium/5908
2023-07-23 01:36:14 +00:00
Roman Lavrov
938ee1e80f Vulkan: legacy_dithering disallow reactivate when breaking RP
Hitting the assert in dEQP GLES2.functional.fragment_ops.random.0:
https://crsrc.org/c/third_party/angle/src/libANGLE/renderer/vulkan/ContextVk.cpp;drc=52fe3116ead9a5de51ddad17fcb14bf8ecb3a69d;l=2347

Bug: b/292259684
Change-Id: Ib40b90dde3b271c714b6181e4ba4d70f3e1b5e86
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4706174
Reviewed-by: Charlie Lao <cclao@google.com>
Auto-Submit: Roman Lavrov <romanl@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
2023-07-21 21:31:28 +00:00
Geoff Lang
f586ec98d9 Metal: Validate max render target size without an allocation
We would allocate a MTLRenderPassDescriptor for validating an internal
error case only to throw it away immediately afterwards. This happened
on every new render pass.

This allocation/release amounts to about 10% of ANGLE's CPU time when
running Chrome.

Bug: chromium:1466696
Change-Id: I0bbe086c0b8006d2ff15ae57f25b591f791acb60
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4706925
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2023-07-21 20:20:24 +00:00
Geoff Lang
085f25bbb1 GL: Protect against drivers returning 0 max clip distances.
Some Android devices in the wild were hitting the assert that
maxClipDistances must be greater than 0 if ANGLE_clip_cull_distance
is exposed.

Protect against this by disabling various clip/cull extensions if
they don't meet the requirements for number of distances.

Bug: angleproject:7904
Change-Id: Ic6a5e959437fa7aad5302a12cf8c92d1d18024b2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4706684
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2023-07-21 19:18:04 +00:00
angle-autoroll
82d68c577b Manual roll Chromium from e3bcada48f45 to 986ed21b8935 (1346 revisions)
Manual roll requested by ynovikov@google.com

e3bcada48f..986ed21b89

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-angle-autoroll
Please CC
abdolrashidi@google.com,angle-team@google.com,ynovikov@google.com on the
revert to ensure that a human
is aware of the problem.

To file a bug in Chromium:
https://bugs.chromium.org/p/chromium/issues/entry
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Changed dependencies
* build: 00557a04e4..76d3034c73
* buildtools: 1cc82962cb..ca163845c7
* buildtools/third_party/libunwind/trunk: f1c687e0aa..6c0013015b
* testing: 454f446791..1f5c4581ad
* third_party/abseil-cpp: f317d51223..9544eb36c9
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..a02c178207
* third_party/depot_tools: 60b21dd193..82e4859614
* third_party/fuchsia-sdk/sdk: version:13.20230714.0.1..version:13.20230721.1.1
* third_party/jdk: 9-e8GxXJduErc9j3s5VUmbAWTorSHxvcn23GNjYtCNwC..IivIDwNBf73mf7UwCOBceRUuDdtizMCgSOQDfUGHArsC
* third_party/zlib: 61dc0bd13f..d3b3d64f7d
* tools/mb: b559f90fa3..0a7e1f1b7a
No update to Clang.

Bug: None
Tbr: abdolrashidi@google.com,ynovikov@google.com
Change-Id: If602e6f8163e7dd81420ebd20fc1677b68b539f6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4707721
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2023-07-21 18:23:21 +00:00
Geoff Lang
2e190280f5 GL: Extend disable of EXT_clip_control to Mali-G51.
The G51 appears to be the only other device with this issue.

Bug: chromium:1434317
Change-Id: Iffbc95a7f612c1862e9d129649a6211f488df6c9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4706564
Commit-Queue: Colin Blundell <blundell@chromium.org>
Reviewed-by: Colin Blundell <blundell@chromium.org>
2023-07-21 12:54:00 +00:00
angle-autoroll
e1887773b1 Roll vulkan-deps from e1c3b16d5aa5 to 7db08a9e0a29 (12 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/e1c3b16d5aa5..7db08a9e0a29

Changed dependencies:
* glslang: 77417d5c9e..65397339c5
* spirv-tools: 883417544b..17d9669d51
* vulkan-validation-layers: 3c3d04d219..34a5dd9aec

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-angle-autoroll
Please CC abdolrashidi@google.com,angle-team@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Bug: None
Tbr: abdolrashidi@google.com
Change-Id: I661522c96e889ce5ab93f56e3e5d68170da571e2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4706476
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2023-07-21 11:00:44 +00:00
angle-autoroll
b60068009d Roll SwiftShader from 4e401427f8dd to 4a260c12b8c1 (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/4e401427f8dd..4a260c12b8c1

2023-07-20 avi@google.com Don't allow Swiftshader to be compiled as ARC

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-angle-autoroll
Please CC abdolrashidi@google.com,angle-team@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in SwiftShader:
https://bugs.chromium.org/p/swiftshader/issues/entry
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Bug: None
Tbr: abdolrashidi@google.com
Use-Permissive-Angle-Pixel-Comparison: True
Change-Id: I4c41c19fb0354a67c3258f0bbb44fa8b2685bfc0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4707174
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2023-07-21 10:58:54 +00:00
Avi Drissman
f2e0f8a0b2 Don't allow ANGLE to be compiled as ARC
Chromium is switching to compilation with ARC. While there are
remnants of ARC dual-compilation, ANGLE isn't ready for that, so don't
allow it to be compiled with ARC.

Bug: chromium:733237, angleproject:8267
Change-Id: If5c8d5ab039fb44e10102df616e72dbcfd55ac70
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4698494
Auto-Submit: Avi Drissman <avi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2023-07-20 18:35:39 +00:00
Jason Macnak
8138ae9b1f Vulkan: EGL's DISPLAY_P3_PASSTHROUGH -> VK's DISPLAY_P3_NONLINEAR
From
https://registry.khronos.org/EGL/extensions/EXT/EGL_EXT_gl_colorspace_display_p3_passthrough.txt

  If its value is EGL_GL_COLORSPACE_DISPLAY_P3_PASSTHROUGH_EXT, then a
  non-linear, sRGB encoded Display-P3 color space is assumed

Bug: b/289125521
Test: cvd start
Test: cts -m CtsViewTestCases
          -t android.view.cts.TextureViewTest#testGetBitmap_8888_PassthroughP3
Change-Id: I07c77c86bbc0d82923ad7435cd2a5558770cd2e3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4673910
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Chris Forbes <chrisforbes@google.com>
Commit-Queue: Jason Macnak <natsu@google.com>
2023-07-20 18:25:16 +00:00
angle-autoroll
a4c283be74 Roll vulkan-deps from 7f74d379edd8 to e1c3b16d5aa5 (7 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/7f74d379edd8..e1c3b16d5aa5

Changed dependencies:
* glslang: 9b1a0f4d3e..77417d5c9e
* spirv-headers: 66e5000344..14914db17a
* spirv-tools: 6c7e1acc5f..883417544b
* vulkan-validation-layers: 971615e6d8..3c3d04d219

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-angle-autoroll
Please CC abdolrashidi@google.com,angle-team@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Bug: None
Tbr: abdolrashidi@google.com
Change-Id: I1ce7bea364a94bc9e522ecafa25014ef24494b0b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4704406
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2023-07-20 10:58:48 +00:00
angle-autoroll
5e38a31bd7 Manual roll vulkan-deps from 831910dbe1f3 to 7f74d379edd8 (38 revisions)
Manual roll requested by abdolrashidi@google.com

https://chromium.googlesource.com/vulkan-deps.git/+log/831910dbe1f3..7f74d379edd8

Changed dependencies:
* glslang: f47028995c..9b1a0f4d3e
* spirv-headers: f1ba373ef0..66e5000344
* spirv-tools: 29431859f5..6c7e1acc5f
* vulkan-headers: bc14fdad60..6eee20744f
* vulkan-loader: 6837a92c34..fdae336d4f
* vulkan-tools: 6e7fa4d975..c5ac1413f0
* vulkan-validation-layers: 32a2af3fd6..971615e6d8

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-angle-autoroll
Please CC abdolrashidi@google.com,angle-team@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Bug: None
Tbr: abdolrashidi@google.com
Change-Id: If341ed03d859dc8abaeb9caa3f8d1dcb56cfae2a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4703106
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2023-07-19 22:27:07 +00:00
Mohan Maiya
4515b27077 Account for implementations that support large gl_PointSize values
The PointSizeAboveMaxIsClamped end2end test intends to render a point
with gl_PointSize that is 2x the implementation's max value to test if
this value is clamped correctly. However, when the max gl_PointSize is
large enough, like with AMD drivers, it results in the center of the
point being outside of the viewport which according to the spec can be
discarded.

Update the test to render to a framebuffer, instead of the default
window surface, one large enough to contain a point of implementation
defined max point size.

Bug: angleproject:2113
Test: PointSpritesTest.PointSizeAboveMaxIsClamped*
Change-Id: I724440495bf5a3c93c76cc28109937a56c45f274
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4697681
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2023-07-19 16:54:48 +00:00
Phan Quang Minh
ef4327f6aa Vulkan: Make UtilsVk::copyImage copy YCbCr images properly
This changes the descriptor binding for the image from
VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE to
VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER for YCbCr source textures and
ensures that the copy pipelines and descriptor sets for YCbCr source
textures are created with the appropriate YCbCr samplers, and use the
`texture()` function instead of `texelFetch()` for YCbCr images.

Bug: angleproject:8252
Change-Id: Ife3e230d3669b275f4e0fab1922d75b6b6c4f8bd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4675806
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
2023-07-19 14:44:41 +00:00
angle-autoroll
4dcaad2a89 Roll SwiftShader from 151fa797ee3e to 4e401427f8dd (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/151fa797ee3e..4e401427f8dd

2023-07-18 tiszka@chromium.org [subzero] Fix integer overflows during
alloca coalescing

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-angle-autoroll
Please CC abdolrashidi@google.com,angle-team@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in SwiftShader:
https://bugs.chromium.org/p/swiftshader/issues/entry
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Bug: None
Tbr: abdolrashidi@google.com
Use-Permissive-Angle-Pixel-Comparison: True
Change-Id: I47f72bcc6cdeb1901ea16e7f2039c04a6d2f1fdb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4700723
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2023-07-19 10:56:47 +00:00
angle-autoroll
255dec8864 Roll Chromium from 8806dade91f0 to e3bcada48f45 (580 revisions)
8806dade91..e3bcada48f

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-angle-autoroll
Please CC abdolrashidi@google.com,angle-team@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in Chromium:
https://bugs.chromium.org/p/chromium/issues/entry
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Changed dependencies
* build: ed8697168d..00557a04e4
* testing: a2c493455a..454f446791
* third_party/abseil-cpp: ae5ee2a38f..f317d51223
* third_party/android_build_tools: e197e4c396..02f9cdf1a9
* third_party/android_build_tools/lint: OPMAEfzTB1WPytaO0pMOPg9GHVByubIOUvOsCwKS1oQC..cLtgSrpk1a4zUb-XNIAaxmKn2OAZ-fnG9kZBqI3n9XEC
* third_party/android_build_tools/manifest_merger: kxzD7gkXhEJiL_u2jVkpX0Npl2MLoSvbnBezhq29dAgC..UwtCH6usmvLSrqbzGSTrjqJ1AJnNh-Vkq4hCEKvDM5oC
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..707e9093f7
* third_party/depot_tools: 94f76acc94..60b21dd193
* third_party/libjpeg_turbo: aa4075f116..30bdb85e30
* tools/android: f1f08a05ad..43f8a41f8f
* tools/clang: a7a6e86ea5..9e679731de
* tools/mb: a8b8553345..b559f90fa3
No update to Clang.

Bug: None
Tbr: abdolrashidi@google.com
Change-Id: Iad1a7d705668ce848aa8442e89cc3d73d983b894
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4699572
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2023-07-19 07:56:47 +00:00
angle-autoroll
b32d661389 Manual roll vulkan-deps from aa35b58fce7d to 831910dbe1f3 (8 revisions)
Manual roll requested by abdolrashidi@google.com

https://chromium.googlesource.com/vulkan-deps.git/+log/aa35b58fce7d..831910dbe1f3

Changed dependencies:
* spirv-cross: b8e742c91b..b43c1a1e63
* vulkan-headers: 2565ffa31e..bc14fdad60
* vulkan-validation-layers: 80679543ad..32a2af3fd6

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-angle-autoroll
Please CC abdolrashidi@google.com,angle-team@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Bug: None
Tbr: abdolrashidi@google.com
Change-Id: I5e24d509cf13b3a110f84ffeecc228ac7e83ba54
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4697917
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2023-07-19 01:43:00 +00:00
Hailin Zhang
6eea5ff4db Vulkan: fix default MSAA framebuffer clear issue.
Bug: b/290813597
Change-Id: I134c5a99382ca30dbd885a17dfa3c7ac227480ff
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4698113
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Hailin Zhang <hailinzhang@google.com>
2023-07-18 21:27:36 +00:00
Shahbaz Youssefi
52fe3116ea Vulkan: Deduplicate share group's context set tracking
Bug: angleproject:8224
Change-Id: I7a59a37229682fb91ff777f31e02e05d7ab2b80f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4690345
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2023-07-18 16:31:53 +00:00
Phan Quang Minh
5eb30562b0 Reland "Vulkan: Remove platform restriction of EGL_ANDROID_native_fence_sync"
Instead of enabling it on all non-Mac platforms, this time enable it
only on Linux-kernel based platforms (Linux, ChromeOS, Android). This
should avoid interfering with Fuchsia.

Original change description:
> Remove platform restriction of EGL_ANDROID_native_fence_sync
> extension except for Mac OS.
>
> Bug: angleproject:7834
> Change-Id: I116f44d8baca9cdcdd90013ca173b04461d06ae1
> Signed-off-by: Sungyong Choi <sywow.choi@samsung.com>
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4027707
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: mohan maiya <m.maiya@samsung.com>
> Commit-Queue: mohan maiya <m.maiya@samsung.com>

Bug: angleproject:7834
Change-Id: Ida89100e8c30c3a2df5a0a8d6d0c9b7e7ce3e412
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4687427
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2023-07-18 16:30:57 +00:00
Cody Northrop
85095480da Android: Update script with sync progress
When running lots of traces, there can be a long pause
when syncing traces to the device.

Add a small update so it is clear that work is happening.

Example output:

I12:21:51.806619Z Syncing 1945_air_force trace (1/238)
I12:21:52.178401Z Syncing 20_minutes_till_dawn trace (2/238)
I12:21:52.463608Z Syncing 2_3_4_player_mini_games trace (3/238)
...

Test: angle_trace_tests
Bug: b/276742336
Change-Id: Id81d69b3fc678cb94c2e683a907c44950ead2117
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4690745
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
2023-07-18 14:25:51 +00:00
Saifuddin Hitawala
a64537f946 Angle: Copy multiplanar d3d11 texture for readPixels
This change performs a copy to an intermediate texture for multiplanar
d3d11 textures before reading from the source texture. This is needed
as we cannot read a plane directly from a multiplanar d3d11 texture.

It also passes the correct format for the plane for multiplanar formats
when initializing the texture instead of getting the format using the
internal format.

We also add a unittest performing glReadPixels for NV12/P010/P016
formats.

Bug: angleproject:7998, chromium:1463924
Change-Id: I9a1708f5a846ace28ac3b6593ea80f1863348333
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4688118
Commit-Queue: Vasiliy Telezhnikov <vasilyt@chromium.org>
Auto-Submit: Saifuddin Hitawala <hitawala@chromium.org>
Reviewed-by: Vasiliy Telezhnikov <vasilyt@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2023-07-18 13:17:13 +00:00
angle-autoroll
fe541ddbc4 Roll Chromium from 48a8f73f303f to 8806dade91f0 (572 revisions)
48a8f73f30..8806dade91

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-angle-autoroll
Please CC abdolrashidi@google.com,angle-team@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in Chromium:
https://bugs.chromium.org/p/chromium/issues/entry
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Changed dependencies
* build: a158d61f27..ed8697168d
* buildtools/third_party/libc++abi/trunk: d6ce172e32..d4760c0af9
* testing: b98bc2989c..a2c493455a
* third_party/android_build_tools/bundletool: LbB0aRQ3VKjRJZmc_PD0VTZ1O34_zD92rh71aOEOEcEC..2PJKytTLILAjCO3G7sCO27FO48XB9qrRTHp420zr5G0C
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..7a8318124d
* third_party/depot_tools: b389d031a2..94f76acc94
* tools/android: 80da587681..f1f08a05ad
* tools/clang: c05e52187e..a7a6e86ea5
* tools/mb: 5ce938841d..a8b8553345
* tools/perf: a2303f1c72..ac82fc7dd9
No update to Clang.

Bug: None
Tbr: abdolrashidi@google.com
Change-Id: I72354d9bc7c667d070a68544dcc17cb9ae9f38dc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4693482
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2023-07-18 09:04:33 +00:00
Brian Sheedy
ec2948c5ed Start Mac Intel 13.4.1 experiment
Bug: chromium:1464635
Change-Id: Ie7cf5d68fff54b0b58ca1a4c102ab8c8368bd3ea
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4684014
Commit-Queue: Brian Sheedy <bsheedy@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
2023-07-17 22:24:05 +00:00
Shahbaz Youssefi
9f9284b7de Move ShareGroup to its own files
Bug: angleproject:8224
Change-Id: Id6d272018bb5ee8c3e35488f641efa4d99fa836d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4690003
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2023-07-17 22:21:48 +00:00
Geoff Lang
9aadc7aacd Metal: Require MSL 2.1.
We had previously shipped both MSL 2.0 and 2.1 shaders to support
MacOS 10.13 (MSL 2.0 only) while also supporting the stencil blit
fast path that MSL 2.1 provides with the has_shader_stencil_output
feature.

Each configuration of precompiled shaders is ~300kb so we will drop
support for MacOS 10.13 and only ship the MSL 2.1 shaders.

Rework of the disablement for NVIDIA and GPU family 1 to be more
readable. The features themselves are always true because "disable on
NVIDIA" is always true and the check for "is NVIDIA" is moved to the
code which fails the initialization.

Bug: angleproject:8258
Change-Id: Icc8c69540e43fd2b0b237fffbfe170bb3422903f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4681130
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2023-07-17 22:00:36 +00:00
Geoff Lang
d40669bb4b Android: Use ALooper_pollOnce instead of ALooper_pollAll
ALooper_pollAll can cause potential deadlocks.

These calls are only made by our test suites.

Bug: chromium:1464077
Change-Id: Id56c0db67e10d6df00c3e6b9126952ffa1d40d48
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4690382
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
2023-07-17 20:42:37 +00:00
Roman Lavrov
0518a3ff4d Android: Simplify power metrics collection
Also check for missing values and dupes

Bug: b/291604008
Change-Id: I909ca2bf53d3aa0bf5ba66f7168e9925cfd7da3c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4685323
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
2023-07-17 18:22:33 +00:00
Shahbaz Youssefi
bebb83d918 Translator: Limit variable sizes vs uint overflow
Bug: chromium:1464680
Change-Id: I90e204db1ce57c87ed5fe19912e4c157cee18a90
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4685236
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2023-07-17 17:29:36 +00:00
Mohan Maiya
05ea114724 Vulkan: Bugfix in gl_FragData array redeclaration
Both OpenGL ES and Vulkan spec allows implementations to limit
the number of output attachments when dual-source blending is enabled.
Account for this limit when setting gl_FragData array length by
re-declaring the gl_FragData array size to match
maxFragmentDualSrcAttachments value.

Bug: angleproject:5537
Test: EXTBlendFuncExtendedDrawTest.FragData/ES2_Vulkan
Change-Id: I5a462344f4c4faf850f56e9c5d4c392370d3d010
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4688396
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
2023-07-17 17:16:02 +00:00
Shahbaz Youssefi
bd8001e581 Fix deadlock on device loss
Some backends generate a device loss (propagated to all contexts) while
querying the device status.  The latter is held under a lock, and the
former would attempt to hold the lock when marking the calling context
with device loss.

Bug: chromium:1465262
Change-Id: I55fd96f3573732953daf2a305b0120dbcae6ea30
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4690063
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2023-07-17 17:10:37 +00:00
Yuly Novikov
e8e17211e2 Retry angle_deqp_gles2_metal_tests
Flaky crashes in OSXWindow::messageLoop(), like the other GTest based
tests on Mac, which already have retries enabled.

Bug: angleproject:6570
Change-Id: I65ffc4b09a6ece68dcfe404055fcfe50d013c000
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4685573
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
2023-07-17 16:14:42 +00:00
Cody Northrop
a04d544301 Docs: Add a couple of Android pointers
Hit some rough edges while setting up a clean install.

Bug: angleproject:4347
Change-Id: I241cddac0c86d0eb00195e42304f50e2c7bba5e4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4688533
Auto-Submit: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
2023-07-17 16:07:05 +00:00
Roman Lavrov
c0f2f71eba Use VK_EXT_legacy_dithering when available instead of emulation
Yields improvement in gpu power: http://b/284462263#comment45

Bug: b/284462263
Change-Id: I5bfd115557b6baac17c05639118feaebf19c5cd4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4652590
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
2023-07-17 15:24:21 +00:00
Yuly Novikov
d04dda1505 Skip WebGL2CompatibilityTest.DrawWithZeroSizedBuffer on iOS GL
Bug: angleproject:8264
Change-Id: Icac83200b8e9aa35ba3e85be8b34bd45e616a8bb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4685572
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2023-07-17 15:16:11 +00:00
angle-autoroll
a18246ac1a Roll Chromium from 68d783529187 to 48a8f73f303f (690 revisions)
68d7835291..48a8f73f30

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-angle-autoroll
Please CC angle-team@google.com,cnorthrop@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in Chromium:
https://bugs.chromium.org/p/chromium/issues/entry
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Changed dependencies
* build: 7565823755..a158d61f27
* testing: 2bac855313..b98bc2989c
* third_party/android_deps: 6514de5457..9ce3e620bd
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..394c179782
* third_party/depot_tools: abbd5858fa..b389d031a2
* third_party/fuchsia-sdk/sdk: version:13.20230711.2.1..version:13.20230714.0.1
* tools/clang: 4786f206b4..c05e52187e
* tools/mb: f8f7cb6141..5ce938841d
* tools/perf: 86375f9e21..a2303f1c72
* tools/valgrind: 27e9a92f3b..e10259da24
No update to Clang.

Bug: None
Tbr: cnorthrop@google.com
Change-Id: I3f305f69842c73569aad368fb3fb7d222c91d231
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4688527
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2023-07-17 08:13:47 +00:00
Dave Tapuska
507f67ccff Fix cfi issue with Angle invoking worker pool
Mark the function as ignoring cfi-icall because
of broken upstream builds.

https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20CFI/25615/overview

Bug: angleproject:8256
Change-Id: I63b5fee27bc0565dc6881bd83fd284abc7a9f1f0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4685324
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Dave Tapuska <dtapuska@chromium.org>
2023-07-14 21:39:58 +00:00
Roman Lavrov
c5b7fc3655 Ensure settings get cleaned up on exceptions
Before this change, Ctrl-C or another exception leaves settings behind

Bug: b/284462263
Change-Id: I5694cbb2ca7d43a4173099d126e6695e07ec9d2a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4685238
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
2023-07-14 20:11:16 +00:00