Граф коммитов

20195 Коммитов

Автор SHA1 Сообщение Дата
angle-autoroll 650394879d Roll Chromium from e376e31a56b1 to 97df6f551756 (274 revisions)
e376e31a56..97df6f5517

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 yuxinhu@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: 8284db8978..ff6be8b34d
* buildtools/third_party/libc++abi/trunk: df3cc8ecee..dc82f3042d
* testing: d29d7feee1..5b6d378fee
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..ebbb83f192
* third_party/depot_tools: cf31045b34..0b96058844
* third_party/fuchsia-sdk/sdk: version:11.20221222.0.1..version:11.20221222.1.1
* tools/perf: 804e376f5b..a3770c0663
No update to Clang.

Bug: None
Tbr: yuxinhu@google.com
Change-Id: Ice6099eb79d903edfade5b650ea6db5dc7c15848
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4122347
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2022-12-23 08:09:51 +00:00
Shahbaz Youssefi 6c41793f39 Vulkan: Use read/write depth/stencil layouts
This allows an application to have depth in read-only feedback loop
while stencil is being written to for example.

Bug: angleproject:7899
Bug: b/192477489
Change-Id: Ic2e11d32da7c7e3a7f3cd86dbafc5c56a0dbbfd7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4116730
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2022-12-23 05:00:32 +00:00
Alexey Knyazev 067ace47d0 Add ANGLE_clip_cull_distance extension
Added an extension spec.

Trivially exposed it on GL, Vulkan, and D3D11.

Adjusted tests and validation to allow no cull
distance support for this extension string.

Removed extra built-in variable definitions.

Bug: angleproject:7904
Change-Id: Ic60772dfe28132c316eaa29aadc1afd66e3b0fa7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4114290
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
2022-12-23 01:57:59 +00:00
Charlie Lao 295f683097 Vulkan: bufferRead should accommodate deferred endRenderPass
ContextVk::onSyncObjectInit() will request end of current renderPass but
deferred (in this case, mRenderPassCommandBuffer is nullptr but
mRenderPassCommands->started() still returns true). The next draw call
will actually end current renderPass and starts a new renderPass. But if
next call is glCopyBufferSubData, it will not actually trigger
endRenderPass.  This CL modifies
OutsideRenderPassCommandBufferHelper::bufferRead logic to accommodate
this deferred endRenderPass scenario by checking
mRenderPassCommands->started() instead of hasStartedRenderPass so that
the answer to "if this buffer been used by current renderPass or not"
will return correct result.

Bug: angleproject:7903
Change-Id: Ie5c9977ccf083e7d355a2cd8fd08e9077049ee9a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4119692
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
2022-12-23 00:51:20 +00:00
Charlie Lao 216cd10b79 Vulkan: Dsiable enableAsyncPipelineCacheCompression
There was intermittent failure on bots due to this. Re-disable it for
now.

Bug: b/246683126
Change-Id: Iba5c0bcacb87336d187b952b47804885ce569f6d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4120245
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
2022-12-23 00:14:12 +00:00
Yuly Novikov a0b0ec00ba Disable building Mesa by default
CQ build broken after crrev.com/c/4117820.

Bug: angleproject:7689
Change-Id: Ib40ec5736011c0ae3df2a79a865247168b7bd077
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4123249
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
2022-12-22 23:36:16 +00:00
Mohan Maiya cc34aa734c Move BinaryStream to common and expose ShaderState to compiler
This is a refactor change in preparation for adding support for
glShaderBinary.
Move BinaryStream to common so that it is accessible by both libANGLE
and the Compiler.
Extract members that hold the result of compilation from ShaderState
and move into new CompiledShaderState struct.
Move helper functions & classes relevant to ShaderVar serialization to
the CompiledShaderState header.

Tests: EGLBlobCacheTest*
Bug: angleproject:7833
Change-Id: I7ec575247eccb3afbc6ab6bfa24d36e69d4576f5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4080998
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
2022-12-22 19:57:53 +00:00
angle-autoroll edd9a9a8f2 Roll Chromium from fc4e0530422c to e376e31a56b1 (1084 revisions)
Manually update flatbuffers per crrev.com/c/4120438

fc4e053042..e376e31a56

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 yuxinhu@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: 8b3f1346a4..8284db8978
* buildtools: 600a61514a..134af4c91b
* buildtools/third_party/libc++/trunk: 7b20455cbd..7c5e4b4eb3
* buildtools/third_party/libc++abi/trunk: 123239cdb6..df3cc8ecee
* testing: 9f2ce02847..d29d7feee1
* third_party/abseil-cpp: e9f6c8927d..d12fb9a66f
* third_party/android_build_tools/manifest_merger: X4l8RIBEAF108FpSEWRF7UHqq-kY8T3ibSsObGU5u3UC..lUT6vCuXPnPR-G-V3k69iMWuFtVOzwED-IwaHqYT4AcC
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..2863c8e12d
* third_party/depot_tools: 5decb17543..cf31045b34
* third_party/flatbuffers/src: e301702964..b47ba1d5ff
* third_party/fuchsia-sdk/sdk: version:11.20221219.3.1..version:11.20221222.0.1
* third_party/protobuf: 73f40adc35..3fab077d8c
* third_party/r8: vM6tt73p9rPzADct47R7euffv0M9LNSWw6zTyrPtGYgC..C6CmrPsLUOOdYOn7_lvtxbjl3ubLoJ-SBVIM2Ig4ALYC
* tools/clang: cab032b11d..3b54a131a9
* tools/mb: 445fe7a42f..d1501ddb68
* tools/perf: b37c1e5869..804e376f5b
No update to Clang.

Bug: None
Tbr: yuxinhu@google.com,ynovikov@google.com
Change-Id: Ia1b6ccc06b81263f0f192547e8bfa5810f6914a3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4122636
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
2022-12-22 19:53:12 +00:00
Cody Northrop 9bcb8f7dfa Tests: Add Grimvalor trace
Test: angle_trace_tests --gtest_filter="*grimvalor*"
Bug: angleproject:7787
Change-Id: I87768d0ca0fd97bc1239841dacdf6f7ae62e588d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3976065
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Auto-Submit: Cody Northrop <cnorthrop@google.com>
2022-12-22 18:44:13 +00:00
Alexey Knyazev 7d8cbb600e Fix typo in EXTClipCullDistanceForFragmentShaderTest
Bug: angleproject:5747
Change-Id: I26baa29302472821706c0354ea855183608ebc5d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4116721
Auto-Submit: Alexey Knyazev <lexa.knyazev@gmail.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2022-12-22 16:54:30 +00:00
angle-autoroll 645a37537f Roll vulkan-deps from c4d6d0f52ce0 to 3a028e4c1f4a (4 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/c4d6d0f52ce0..3a028e4c1f4a

Changed dependencies:
* spirv-tools: c5d2316430..077b09c32a
* vulkan-validation-layers: c557a0035f..a0a07df689

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 yuxinhu@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: yuxinhu@google.com
Change-Id: I1364ad1573a1d16b0189462c34e77a682bf57f06
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4122393
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2022-12-22 12:18:40 +00:00
angle-autoroll bed8383ad1 Roll SwiftShader from 67f520305136 to bcbc10b1bed4 (5 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/67f520305136..bcbc10b1bed4

2022-12-21 sugoi@google.com Direct driver loading
2022-12-21 swiftshader.regress@gmail.com Regres: Update test lists @ 8c1e83a1
2022-12-21 swiftshader.regress@gmail.com Regres: Update test lists @ f7de9e06
2022-12-20 sugoi@google.com Update Vulkan headers to version 1.3.238
2022-12-19 sugoi@google.com Reland "Float only writeColor" only

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 yuxinhu@google.com,sugoi@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: yuxinhu@google.com,sugoi@google.com
Change-Id: I3a70c64cf453ae339df898b481fd13f136fa1b12
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4121510
Commit-Queue: Alexis Hétu <sugoi@chromium.org>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Reviewed-by: Alexis Hétu <sugoi@chromium.org>
2022-12-22 05:15:17 +00:00
Shahbaz Youssefi 626b10c143 Vulkan: Add read/write depth/stencil layouts
This CL only adds the layouts in the list, but does not use them.  The
layouts are renamed for consistency in this change.

Bug: angleproject:7899
Bug: b/192477489
Change-Id: I47986c7252d32626e9f26c6670c0a4e3496fe0c8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4116736
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2022-12-22 01:26:29 +00:00
Shahbaz Youssefi 301ed54556 Vulkan: Pass context to layout getters
In preparation for a change that optionally uses read/write
depth/stencil layouts.  Context is used to test for the
supportsMixedReadWriteDepthStencilLayouts feature to know whether those
layouts are supported or that a fallback must be chosen.

Bug: angleproject:7899
Bug: b/192477489
Change-Id: I1453dc9d060453a3806ad0f261b94368fe01fb29
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4116735
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
2022-12-21 23:06:42 +00:00
Charlie Lao d6dea33bd5 Vulkan: Remove CommandQueue::mGarbageQueue
With recent work of per active context queue serial, mGarbageQueue
behaves almost identical to normal mSharedGarbage now. This CL removed
mGarbageQueue and added garbage into Remove mSharedGarbage instead.

Bug: b/263166501
Change-Id: I6bce47b4535283e7bd0f0c8823b9629cc25f9d94
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4117712
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
2022-12-21 18:54:24 +00:00
Cody Northrop e493556393 Tests: Add Wayward Souls trace
Test: angle_trace_tests --gtest_filter="*wayward_souls*"
Bug: angleproject:7905
Change-Id: Ib7922df51411140f71481a0d5bdb4f54274b6f05
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4117139
Auto-Submit: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
2022-12-21 18:24:35 +00:00
Yuly Novikov 1e32988cc0 Revert "Metal: expose Metal backend only on supported GPUs."
This reverts commit 9364246f08.

Reason for revert: iOS build fails

Original change's description:
> Metal: expose Metal backend only on supported GPUs.
>
> Query all the GPUs on the system during ANGLE's initialization, and do
> not expose the EGL_ANGLE_platform_angle_metal client extension unless
> all of them support the required GPU families or feature sets.
>
> Tested locally on a 2015 MacBook Pro with dual Intel Iris Pro and AMD
> Radeon R9 M370X GPUs. The AMD GPU supports Metal GPU family macOS 2,
> but the Intel GPU, only family macOS 1. With this change, Chrome
> properly falls back to using ANGLE's OpenGL backend when
> --use-angle=metal is specified, and renders correctly.
>
> Bug: chromium:1365598
> Change-Id: I2c3533afe733e0d06d7755cae272bbd12aa9e676
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4117716
> Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com>
> Reviewed-by: Gregg Tavares <gman@chromium.org>
> Commit-Queue: Kenneth Russell <kbr@chromium.org>

Bug: chromium:1365598
Change-Id: Iedbe8978f2a2d39a33359fa236a1d305c284266e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4114291
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
2022-12-21 15:55:07 +00:00
angle-autoroll d4fd26b34d Roll vulkan-deps from 29e87c1e6ee6 to c4d6d0f52ce0 (15 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/29e87c1e6ee6..c4d6d0f52ce0

Changed dependencies:
* glslang: f9b760e6c7..dcae187376
* spirv-tools: cc81529f4b..c5d2316430
* vulkan-headers: 63637cb1c6..fc90b60663
* vulkan-loader: 96488e2b2e..bf28c824b8
* vulkan-validation-layers: 081dc9e60f..c557a0035f

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 yuxinhu@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: yuxinhu@google.com
Change-Id: I9242160991c9c0a28e5d9b7df801dbd49373f909
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4119328
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2022-12-21 11:11:21 +00:00
Yuxin Hu ebe97eb7dd Add new vulkan_core.h include headers to IGNORE list
This is to resolve the presubmit failure in
latest vulkan-deps roller: https://crrev.com/c/4115658.

The latest vulkan-deps change
https://github.com/KhronosGroup/Vulkan-Headers/commit/
00671c64ba5c488ade22ad572a0ef81d5e64c803
has moved the header inclusion of below files to
vulkan_core.h:
vk_video/vulkan_video_codec_h264std.h
vk_video/vulkan_video_codec_h264std_decode.h
vk_video/vulkan_video_codec_h265std.h
vk_video/vulkan_video_codec_h265std_decode.h

But did not add them to the BUILD.gn file.

The presubmit script export_targets.py is complaining
about "Included file must be listed in the GN target or its public
dependency."

Add the above files to the IGNORED_INCLUDES list.

Bug: b/263310519
Change-Id: I65cdb6f69fc95809232b9fd3b3ad77b716ad3329
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4119671
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
2022-12-21 04:25:17 +00:00
Choi Sungyong 9ded03b43f Revert "Vulkan: Make available GLInternalFormatToGbmFourCCFormat"
This reverts commit 402e7f7a63.

Reason for revert: Chromium android-binary-size build failed.

Original change's description:
> Vulkan: Make available GLInternalFormatToGbmFourCCFormat
>
> GLInternalFormatToGbmFourCCFormat() is not available on Linux
> because of the guard with the wrong definition, ANGLE_USES_GBM.
> This also fixes build errors that were occurred after enabling.
>
> Bug: angleproject:7829
> Change-Id: If7c7543270cc127945149927be0fc3ffdd49163b
> Signed-off-by: Sungyong Choi <sywow.choi@samsung.com>
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4022963
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Jeff Vigil <j.vigil@samsung.com>
> Commit-Queue: mohan maiya <m.maiya@samsung.com>
> Reviewed-by: mohan maiya <m.maiya@samsung.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

Bug: angleproject:7901
Bug: angleproject:7829
Change-Id: I256d51f78ff0d3ced9920c3ea1d2bfceba43a1ee
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4113577
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
2022-12-20 22:21:47 +00:00
angle-autoroll 9ddc366619 Roll VK-GL-CTS from 9f4465eccb37 to 5aa5b0809f05 (17 revisions)
9f4465eccb..5aa5b0809f

2022-12-20 marcin.zajac@mobica.com Video tests plan for VK_KHR_video_queue
2022-12-19 amber@igalia.com Add tests for interpolateAtSample with GPL and null MSAA state.
2022-12-19 amber@igalia.com Add tests for dynamic patch control points and multiple pipelines.
2022-12-19 zzoon@igalia.com Set each dyanmic state to proper stage on a pipeline with graphics pipleline library enabled.
2022-12-19 cturner@igalia.com Skip implicit PrimitiveID checks on devices without geometry shader support
2022-12-19 aitor@lunarg.com Fix atomic tests' texture size
2022-12-19 zzoon@igalia.com Fix to enable the robustness extension.
2022-12-19 rgarcia@igalia.com Rename CTS "build" Python module to "ctsbuild"
2022-12-19 rgarcia@igalia.com Fix Android release build due to unused variable
2022-12-19 rgarcia@igalia.com Fix primitive fragment shading rate mesh feature requirements
2022-12-19 amber@igalia.com Add some extra boilerplate handling functions.
2022-12-19 cturner@igalia.com Adds missing coverage of buffer markers with non-zero memory offset
2022-12-19 rgarcia@igalia.com Test unused shader stages with graphics pipeline libraries
2022-12-19 ewerness@nvidia.com Some refactorings to improve wildcard performance on debug CTS builds
2022-12-19 ziga@lunarg.com Fix enabling robustBufferAccess in robust buffer write tests
2022-12-19 ziga@lunarg.com Fix promoted feature structures tests
2022-12-19 piotr.byszewski@mobica.com Merge vk-gl-cts/vulkan-cts-1.3.4 into vk-gl-cts/main

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll
Please CC yuxinhu@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: yuxinhu@google.com
Change-Id: I8909a8550eb8a7288bb2e234870b10d98a9f16d9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4118563
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2022-12-20 20:43:49 +00:00
Choi Sungyong b20abb572b Revert "Fix defines redifintion in angle_common."
This reverts commit 9fb8ff63e1.

Reason for revert: Chromium android-binary-size build failed. 

Original change's description:
> Fix defines redifintion in angle_common.
>
> Breaks in android rolls where we have both
> angle_expose_non_conformant_extensions_and_versions
> and
> angle_enable_vulkan
>
> Bug: angleproject:7829
> Change-Id: Iaa163b34e01a31a6872f1158064f685ca6fec958
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4111968
> Reviewed-by: mohan maiya <m.maiya@samsung.com>
> Commit-Queue: Roman Lavrov <romanl@google.com>

Bug: angleproject:7901
Bug: angleproject:7829
Change-Id: Ic431a61403b57d195ace3cc07df756a277f6efdf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4113576
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: mohan maiya <m.maiya@samsung.com>
2022-12-20 18:59:52 +00:00
Kenneth Russell 9364246f08 Metal: expose Metal backend only on supported GPUs.
Query all the GPUs on the system during ANGLE's initialization, and do
not expose the EGL_ANGLE_platform_angle_metal client extension unless
all of them support the required GPU families or feature sets.

Tested locally on a 2015 MacBook Pro with dual Intel Iris Pro and AMD
Radeon R9 M370X GPUs. The AMD GPU supports Metal GPU family macOS 2,
but the Intel GPU, only family macOS 1. With this change, Chrome
properly falls back to using ANGLE's OpenGL backend when
--use-angle=metal is specified, and renders correctly.

Bug: chromium:1365598
Change-Id: I2c3533afe733e0d06d7755cae272bbd12aa9e676
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4117716
Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Gregg Tavares <gman@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
2022-12-20 18:50:29 +00:00
Choi Sungyong 7466be3cc5 Revert "Fix link error with dma_buf_util_sources"
This reverts commit e265b318d9.

Reason for revert: Chromium android-binary-size build failed.

Original change's description:
> Fix link error with dma_buf_util_sources
>
> Currently, dma_buf_util_sources is only accessible
> from the vulkan backend. Fixed this because gl backend
> also uses this.
>
> Bug: angleproject:7829
> Change-Id: I1bd71c191d1a8ae633083d1626d41c58fb6d269b
> Signed-off-by: Sungyong Choi <sywow.choi@samsung.com>
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4113745
> Reviewed-by: mohan maiya <m.maiya@samsung.com>
> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
> Commit-Queue: mohan maiya <m.maiya@samsung.com>

Bug: angleproject:7901
Bug: angleproject:7829
Change-Id: Ib48ffb0be876c5fe342d578fde1ee63d90e3b132
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4113575
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2022-12-20 17:15:27 +00:00
angle-autoroll 6bafc5ea1f Roll Chromium from a4da97db4f55 to fc4e0530422c (452 revisions)
a4da97db4f..fc4e053042

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 yuxinhu@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: 09b1b54928..8b3f1346a4
* testing: b24fadc5e5..9f2ce02847
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..1e43416292
* third_party/fuchsia-sdk/sdk: version:11.20221219.0.1..version:11.20221219.3.1
* third_party/protobuf: 2d76dcab7a..73f40adc35
* third_party/r8: tfZf7nJNxfwW0aOGBbX1eUmDfQCc4Mdg7XcfzQBiHS8C..vM6tt73p9rPzADct47R7euffv0M9LNSWw6zTyrPtGYgC
* third_party/turbine: R-Qp1tMBqIuETMfXNqQU9GB00ij6dsPjVmjDuvH_194C..6qP1McD5frsv2QklnzCMFruX8BO9asL49lv_ohhd2DkC
* tools/clang: 7356f69af6..cab032b11d
* tools/perf: 5490be1ce4..b37c1e5869
Clang version changed llvmorg-16-init-12251-g87d0ff91:llvmorg-16-init-14635-ga650f2ec
Details: 7356f69af6..cab032b11d/scripts/update.py

Bug: None
Tbr: yuxinhu@google.com
Change-Id: If6b26c8a145c1609a20c0364b736e57cc04f8602
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4117820
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2022-12-20 08:16:18 +00:00
Alexey Knyazev 91a5635a2e Support arbitrary clip and cull distance array sizes
Removed limitSimultaneousClipAndCullDistanceUsage cap.

Enhanced HLSL translator to support all valid combinations
of clip and cull distances.

Validate that these arrays are sized explicitly or by using
only constant indices; adjusted link program error message.

Enhanced tests to cover all possible combinations of
implicit and explicit array sizes for both built-ins.

Bug: angleproject:4452
Change-Id: I704db6dc3c8951e5ba482a3e4dad09e5b0182f9c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4111645
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
2022-12-20 06:04:32 +00:00
Alexey Knyazev 28e7adca96 GL: Implement clip distance state emulation
Pass the current set of enabled clip distances
to vertex shaders via an internal uniform and
dynamically set disabled elements to zero.

Bug: angleproject:7880
Change-Id: I709d31dc7ca0606decf49adf674460a941837683
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4094314
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2022-12-20 05:05:49 +00:00
Cody Northrop 8668cac1a9 Tests: Add My Friend Pedro trace
Test: angle_trace_tests --gtest_filter="*my_friend_pedro*"
Bug: angleproject:7898
Change-Id: Iae0427ac714704214dec292199cd1c5d2097b17f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4114830
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
2022-12-19 22:24:08 +00:00
Yuxin Hu 88e94b20c0 Skip Flaky Timeout InstancingTestES3.LargeDivisor on Windows Swangle
Bug: angleproject:7900
Change-Id: Ic5522b54b53e3e2eca664a0b7050de0e586e7a51
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4117133
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2022-12-19 22:14:54 +00:00
Shahbaz Youssefi b7ec9d030f Vulkan: Create RenderPass2 by default
Previously, ANGLE created core Vulkan 1.0 render passes by default and
converted them to render pass 2 objects if necessary.  However:

- More and more extensions used by ANGLE require this functionality,
- Upcoming use of VK_KHR_separate_depth_stencil_layouts makes this path
  almost always taken.

It's time for ANGLE to default to render pass 2 objects instead,
especially as support for it is becoming practically ubiquitous.

Bug: angleproject:7899
Bug: b/192477489
Change-Id: I6970a017040a2fdc001d4f2e53c1a0d5968a37cb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4116675
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2022-12-19 22:04:41 +00:00
Amirali Abdolrashidi b227cf2f33 Make pending memory allocation type atomic
* This is to prevent TSAN failures due to data race in
  setPendingMemoryAlloc().

Bug: b/262029018
Change-Id: I5f2f13ecbe762102692bb910a5baa5b25fa42abe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4115479
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
2022-12-19 21:55:59 +00:00
Cody Northrop d53ba51fea Tests: Add Disney Mirrorverse trace
Test: angle_trace_tests --gtest_filter="*disney_mirrorverse*"
Bug: angleproject:7897
Change-Id: I1b49c253e606f08c5af80f8f9b60b8948a0d5121
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4114829
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
2022-12-19 21:18:49 +00:00
Shahbaz Youssefi abcbd54c24 GLES1: Optimize texcoord varyings
Use vec3 instead of vec4.  Either 2 or 3 components are used based on 2D
or cube map textures.  On hardware that can pack the varyings, this can
reduce pressure on varyings.

Additionally, this is a minor optimization to texture coord calculation
(when !draw_texture) as one row of the 4x4 matrix multiplication doesn't
need calculation.

Bug: angleproject:6644
Change-Id: I2abac511a0ced575c089dfb3a3b506f51a111a54
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4116676
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2022-12-19 21:16:27 +00:00
Shahbaz Youssefi 91d6c3e613 GLES1: Reduce pressure on vertex input / varyings
Typically, not all texture units are used.  This change ensures no
vertex input / varying is consumed when fewer than maximum textures are
used.

Bug: angleproject:6644
Change-Id: Iea0e35dc12ec4fcb342818786f307286bf7fc5bb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4081116
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
2022-12-19 20:14:45 +00:00
Amirali Abdolrashidi cd5400952a Vulkan: Add memory log at allocation error
* Added logging memory allocation information in handleError() in the
  event of an error from ANGLE_VK_TRY.
  * Used for the handleError() in ContextVk.

* Updated the name and message of the function to log allocations.
  * checkForCurrentMemoryAllocations()

* Added logging memory heap stats, including budget and usage.
  * logMemoryHeapStats()
  * In the renderer, added the feature flag indicating whether the
    platform supports the memory budget extension.
    * Uses VK_EXT_memory_budget.
  * Added the enum class MemoryLogSeverity, which is used to select
    the severity level of the memory log.

* Added logging pending memory allocation information.
  * logPendingMemoryAllocation()
  * If the last unsuccessful memory allocation was unsuccessful, its
    information will be added to the log.

Bug: b/262029018
Change-Id: I97343c1553936aed23d763f3e0c00d495f9ee810
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4089531
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Kaiyi Li <kaiyili@google.com>
2022-12-19 19:59:41 +00:00
Mohan Maiya 6769ef2b11 Vulkan: Bug fix in setupIndexedDraw
Reset ContextVk::mCurrentIndexBufferOffset to 0 after a call to
ContextVk::convertIndexBufferCPU(...) irrespective of whether
the buffer binding is dirty.

Bug: angleproject:7896
Test: DrawElementsTest.DrawElementsWithDifferentIndexBufferOffsets*
Change-Id: I70a63b7e432aaa9f8c647e56bd162312143abd65
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4113446
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
2022-12-19 19:15:35 +00:00
Shahbaz Youssefi ea36cf1c9a Vulkan: Feature for VK_EXT_rasterization_order_attachment_access
This change just adds the feature.  A follow up change will actually
start using the extension.

Bug: angleproject:7899
Bug: b/192477489
Change-Id: I19c078ebe57a7819b3aa3e95d4436cefa34ba85b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4113912
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
2022-12-19 19:09:44 +00:00
Charlie Lao 5c8c0347a3 Vulkan: Remove ContextVk::retainResource and retainImage()
Clean up some retain* APIs. retainImge and retainReadOnlyResource and
retainResource are doing exact same thing, they are consolidated into
just retainResource.  ContextVk::retainResource is removed since mUse
can now safely copied from DescriptorSetHelperPool object which tracks
mUse.

Bug: b/262047600
Change-Id: I56ea08696e870826bd94ccb79dd621f35923bc6a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4114500
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
2022-12-19 19:03:18 +00:00
Sungyong Choi e265b318d9 Fix link error with dma_buf_util_sources
Currently, dma_buf_util_sources is only accessible
from the vulkan backend. Fixed this because gl backend
also uses this.

Bug: angleproject:7829
Change-Id: I1bd71c191d1a8ae633083d1626d41c58fb6d269b
Signed-off-by: Sungyong Choi <sywow.choi@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4113745
Reviewed-by: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
2022-12-19 18:55:43 +00:00
Shahbaz Youssefi 1a8bcbdae8 Vulkan: Re-enable async pipeline cache sync by default
This is a reland of c7414946b8

The change here is that the program, shader and blob caches are now
reset _after_ the backend is torn down.  Otherwise the pipeline cache
sync thread's use of the caches races with that.

Bug: b/246683126
Change-Id: Ifc3d67279de50a2ee2866476aa5df85d4c10d30d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4111972
Reviewed-by: Charlie Lao <cclao@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2022-12-19 18:51:35 +00:00
Charlie Lao 376d309c40 Vulkan: Remove unnecessary usesBuffer() check
There are places that we call setQueueSerial after usesBuffer() check.
This was useful when we had the ResourceList where it is more expensive
to set serial. But now setQueueSerial is cheap (actually is cheaper than
usesBuffer check), so there is no need to do this check any more. This
CL removes the check to further reduce the CPU overhead. Because of
this, mUsedBufferCount will not be accurate, so this CL also removes the
tracking of mUsedBufferCount (was only for informational purpose
anyway).

This CL also removes commandBufferQueueSerial.valid() check in
Resource::usedByCommandBuffer() and turns it into assertion. Some places
in contextVk will ensure we only call it on started renderpass so that
other places that calls usedByCommandBuffer will not need to eat the if
check.

Bug: b/262047600
Change-Id: I6b8004b6aa5b567fa94c0eb56801054f818838b1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4112145
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2022-12-19 18:18:41 +00:00
angle-autoroll 8a8637c92b Roll vulkan-deps from c943ccc4d398 to 29e87c1e6ee6 (3 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/c943ccc4d398..29e87c1e6ee6

Changed dependencies:
* spirv-tools: 5a78d798f7..cc81529f4b
* vulkan-headers: 75a6b83f21..63637cb1c6
* vulkan-validation-layers: 3784a0d8b8..081dc9e60f

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 romanl@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: romanl@google.com
Change-Id: I945f8b26c61c9dc52936d969f3e9f10bdc347d97
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4115619
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2022-12-19 11:10:09 +00:00
angle-autoroll ebccacbf3a Roll SwiftShader from c70b46423fc4 to 67f520305136 (2 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/c70b46423fc4..67f520305136

2022-12-16 msisov@igalia.com fixup! remove use_system_libwayland
2022-12-15 msisov@igalia.com remove use_system_libwayland

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 romanl@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: romanl@google.com
Change-Id: I577b718c87664f5a96b2079658c7254d3828a1eb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4115379
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2022-12-19 11:09:11 +00:00
angle-autoroll f18fc25a03 Roll Chromium from 276f2cb5e838 to a4da97db4f55 (1240 revisions)
276f2cb5e8..a4da97db4f

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 romanl@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: c91a4dbdb6..09b1b54928
* buildtools: dcbf73cdcb..600a61514a
* buildtools/third_party/libc++/trunk: 2fc3d70467..7b20455cbd
* testing: ccd26eebd4..b24fadc5e5
* third_party/android_build_tools/bundletool: eYz83zbG33sGLyNdc-a64qo1K6LRcS9GwW7GmSvyWisC..XIPSJgFHEHN1ogOJqWVktlbl8PTfLZdNf_G2h4GcnrYC
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..a29fcf72d3
* third_party/depot_tools: 41a2d0f1a0..5decb17543
* third_party/fuchsia-sdk/sdk: version:11.20221213.1.1..version:11.20221219.0.1
* third_party/protobuf: 0c241c298d..2d76dcab7a
* third_party/r8: pv_BIbpK8sxEFp63muv1gKsbyWJoyv4PDw342wc9H6AC..tfZf7nJNxfwW0aOGBbX1eUmDfQCc4Mdg7XcfzQBiHS8C
* tools/mb: 94ca0e8b0a..445fe7a42f
* tools/md_browser: de79b55b74..3180843cd2
* tools/perf: 6db9ff4559..5490be1ce4
No update to Clang.

Bug: None
Tbr: romanl@google.com
Change-Id: I831560dcbbb8fc8c84b286131916831c9721c468
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4115377
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2022-12-19 08:13:38 +00:00
Gregg Tavares be9e8e7b03 Add EGL_ANGLE_wait_until_work_scheduled extension
We're changing eglReleaseTexImage so it calls
flushCommandBuffer(mtl::NoWait) instead of
flushCommandBuffer(mtl::WaitUntilScheduled)
and then adding an extension to allow us to
WaitUntilScheduled.

This is because Chrome calls eglReleaseTexImage for
every canvas and having it WaitUntilScheduled per call
is very slow. So instead we'll call eglWaitUntilWorkScheduledANGLE
once which will effectively wait just once.

Bug: angleproject:7890
Change-Id: I87bc9f9a1a7f4a0f99d93736cc3083799e76afeb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4109311
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Gregg Tavares <gman@chromium.org>
2022-12-17 02:33:59 +00:00
Sungyong Choi 275ee1abe5 GBM: Remove GBM_FORMAT_R16
Remove GBM_FORMAT_R16 format because current minigbm doesn't
provide in gbm.h

Bug: angleproject:7830
Change-Id: I66e4fb5a4479112bbb166f9afd21f919c026dd14
Signed-off-by: Sungyong Choi <sywow.choi@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4025682
Reviewed-by: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jeff Vigil <j.vigil@samsung.com>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
2022-12-16 22:12:59 +00:00
Roman Lavrov 9fb8ff63e1 Fix defines redifintion in angle_common.
Breaks in android rolls where we have both
angle_expose_non_conformant_extensions_and_versions
and
angle_enable_vulkan

Bug: angleproject:7829
Change-Id: Iaa163b34e01a31a6872f1158064f685ca6fec958
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4111968
Reviewed-by: mohan maiya <m.maiya@samsung.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
2022-12-16 21:50:07 +00:00
Charlie Lao c47657322f Revert "D3D: Remove ResourceSerial"
This reverts commit 214742be91.

Reason for revert: Regression https://bugs.chromium.org/p/chromium/issues/detail?id=1401503

Original change's description:
> D3D: Remove ResourceSerial
>
> The only difference between ResourceSerial and UniqueueSerial (formerly
> Serial) appears to be ResourceSerial is wrapper of object pointer. This
> CL removes ResourceSerial class and switched it to UniqueSerial class
> instead. (We may need to see why it needs to use pointer to initialize
> the serial, that sounds like the exact thing serial try to avoid.)
>
> Bug: b/262047600
> Change-Id: Ic8e1b26d7da9304ff02fd9a7e1b584bb70efcb77
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4102107
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Charlie Lao <cclao@google.com>

Bug: b/262047600
Change-Id: I757451a487839db17390dde18f1e2bc5eda36d37
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4114273
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
2022-12-16 19:22:04 +00:00
Yuxin Hu 25ce2e23ce Revert "Make ANGLE program version only dependent on data that matters"
This reverts commit c303758fbc.

Reason for revert: This is causing the Android roller fail: https://crrev.com/c/4072215/comments/6918d7f6_8100d66b?tab=comments

Original change's description:
> Make ANGLE program version only dependent on data that matters
>
> This change introduces a new variable ANGLE_PROGRAM_VERSION
> to track the version of ANGLE source files that affect shader
> program serialization/deserialization. This change include more
> source files than necessary, to serve the purpose of a conservative
> jumping off point. We will narrow down the list of files for
> ANGLE_PROGRAM_VERSION hash generation in the future.
>
> Add a new script program_serialize_data_version.py that will
> be triggered during the build when the related source files changed.
> The script will generate a hash and the hash size from the related
> source files. In program serialization/deserialization and cache
> key generation, we will use this hash value instead of the entire
> ANGLE git hash. When the hash value changed, we know that the
> related source files changed, and we should invalidate the program
> cache and re-generate the blob cache / program binary.
>
> Bug: angleproject:4981
> Change-Id: I2fb609416738d459d3289190c232c2d797ba58e3
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4072215
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Cody Northrop <cnorthrop@google.com>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Yuxin Hu <yuxinhu@google.com>

Bug: angleproject:4981
Change-Id: Ib235d85c79ed54110696ac5413571934890fdc98
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4114274
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
2022-12-16 18:19:44 +00:00
Sungyong Choi 402e7f7a63 Vulkan: Make available GLInternalFormatToGbmFourCCFormat
GLInternalFormatToGbmFourCCFormat() is not available on Linux
because of the guard with the wrong definition, ANGLE_USES_GBM.
This also fixes build errors that were occurred after enabling.

Bug: angleproject:7829
Change-Id: If7c7543270cc127945149927be0fc3ffdd49163b
Signed-off-by: Sungyong Choi <sywow.choi@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4022963
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jeff Vigil <j.vigil@samsung.com>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
Reviewed-by: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2022-12-16 17:04:02 +00:00