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

16340 Коммитов

Автор SHA1 Сообщение Дата
Shahbaz Youssefi 22ae4ce0ea Revert "Disable RunAppAsync and RunAppAsyncRedirectStderrToStdout"
This reverts commit f4f866ce28.

Reason for revert: These tests should not be disabled. The culprit is
fixed per crbug.com/1233361

Original change's description:
> Disable RunAppAsync and RunAppAsyncRedirectStderrToStdout
>
> The tests are blocking the CQ due to flakiness.
>
> Bug: chromium:1233361
> Change-Id: Ib0283e201c271379364a177bea130d63322eee53
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3058233
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

Bug: chromium:1233361
Change-Id: I24682f74d790d40f58a9526aaaaa842c3df23ec0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3058502
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-07-30 15:17:18 +00:00
Shahbaz Youssefi 96ccf3f43e Translator: Consolidate EvqFragDepth and EvqFragDepthEXT
They were the same thing.  Fixes SPIR-V generation which only handled
EvqFragDepth.

Bug: angleproject:4889
Change-Id: Id2c35f4c5a26e43ad16a420cc0306756a1add082
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3059922
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-07-30 14:59:08 +00:00
Alexis Hetu 014460d8ad Rename WebSwapLayerCGL to WebSwapCGLLayer
Renaming WebSwapLayerCGL to fix the following MacOS warning:

Class WebSwapLayerCGL is implemented in both
/System/Library/Frameworks/WebKit.framework/Versions/A/
Frameworks/WebCore.framework/Versions/A/WebCore
and
.../chromium/src/out/.../Chromium.app/Contents/Frameworks/
Chromium Framework.framework/Versions/.../Libraries/
libGLESv2.dylib
One of the two will be used. Which one is undefined.

Bug: angleproject:5253
Change-Id: I016e7467994d3ecf7b22750af2606314593dd516
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3062212
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Alexis Hétu <sugoi@chromium.org>
2021-07-30 14:07:48 +00:00
Lubosz Sarnecki cad2bcb825 packed_egl_enums: Add ColorSpace.
Add EGL ColorSpace enum consisting of sRGB and Linear entries.

Bug: angleproject:5857
Change-Id: I1e30db6fca6ad65db17a6369a26eae886468a85d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3056370
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2021-07-30 12:19:06 +00:00
Shahbaz Youssefi 3036e0903c Vulkan: Direct SPIR-V Gen: Support the precise keyword
The precise keyword is different in GLSL in that it defines what
arithmetic operations _that have led to the value being assigned to a
variable_ should be done precisely (i.e. not "contracted").

A tree traverser is implemented that detects precise access chains and
applies precise-ness to the right hand side of assignment expressions to
said access chains.  This is only done if the shader uses the precise
keyword in the first place.  The algorithm for this is inspired by the
implementation in glslang.

This change additionally:

- Fixes parser to allow precise on function parameters
- Fixes GLSL code generation to output precise on struct members and
  function parameters.

Bug: angleproject:4889
Change-Id: Ie3808c3c8c08da308e88af20f5f90379d9d14d47
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3056369
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-07-29 21:55:23 +00:00
Shahbaz Youssefi 8f77e0bc6e Define angle::HashSet potentially using abseil
Split change from CL using it for simplicity.

Bug: angleproject:4889
Change-Id: Ie3e621dee624020581e9fd7679639332718948f6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3061439
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-07-29 21:29:42 +00:00
angle-autoroll 71fb0352c3 Roll vulkan-deps from ecc420b25566 to 55a0cb8b66ac (8 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/ecc420b25566..55a0cb8b66ac

Changed dependencies:
* glslang: 1978c7692f..d433cccb8a
* spirv-headers: cf653e4ca4..e7b49d7fb5
* spirv-tools: 11cd875ed8..983ee2313c
* vulkan-tools: a4ee3cacbb..ba8c411641

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 timvp@google.com on the revert to ensure that a human
is aware of the problem.

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: timvp@google.com
Change-Id: Ida81847ef1271bcdcac1485e40e6e848b6130ff4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3059844
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-29 12:11:14 +00:00
angle-autoroll b7eec5c632 Roll SwiftShader from b8bcc42a41e5 to 44660405ea6c (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/b8bcc42a41e5..44660405ea6c

2021-07-28 capn@google.com Initialize llvm::orc::ExecutionSession with default SelfExecutorProcessControl

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 timvp@google.com on the revert to ensure that a human
is aware of the problem.

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: timvp@google.com
Change-Id: Ieb2440c196b8544dcae8c0965fb8c351ac5dc4bc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3060439
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-29 12:02:28 +00:00
Kenneth Russell e74638fed7 Disable Metal shader cache again in angle_end2end_tests.
This hooking was removed in
https://chromium-review.googlesource.com/3010486 and sped up local
test runs, but seems to have reintroduced flakiness on the Mac AMD
Retina bots.

Bug: chromium:1233864
Bug: angleproject:5505
Change-Id: I46d95545fbbedc0e881e3a2832a5ac5d5384f405
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3057823
Commit-Queue: ccameron <ccameron@chromium.org>
Reviewed-by: ccameron <ccameron@chromium.org>
2021-07-29 08:25:28 +00:00
Aditya Kushwah ae24c9d387 Remove space from internal debug name strings.
This changes will reduce the amount of memory used by labels by
removing the in between spaces from internal debug name strings.

Bug: chromium:1164111
Change-Id: I0ec657789dade2c3c053966ffccfbd673186fdad
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3039119
Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
2021-07-29 02:09:21 +00:00
Brian Sheedy b8e8c8229c Suppress Mac 11.4 failures
Suppresses several Mac 11.4 AMD failures that were found after we
started testing the configuration.

Bug: angleproject:6222, angleproject:6223
Change-Id: I4f0f5ac0ab14d2645bb76def3e4ec55d999940fa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3056839
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Brian Sheedy <bsheedy@chromium.org>
2021-07-28 20:41:19 +00:00
Shahbaz Youssefi 8593e0a249 TestSuite tests: Don't validate stderr until fixed
Bug: chromium:1233361
Change-Id: Ibcd66520d7b842211eafb26f9188298c281cbe64
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3058503
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-07-28 18:18:14 +00:00
Shahbaz Youssefi b751b18595 infra: Enable gles3.2 deqp tests with direct SPIR-V generation
Enabled on Linux/Nvidia, Windows/Nvidia and Pixel4.

Bug: angleproject:4889
Change-Id: I3050ed53b48cc114c940486871910a3b9c5adea5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3047383
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2021-07-28 16:43:47 +00:00
Shahbaz Youssefi 630077c5f7 infra: Enable gles3.1 deqp tests with direct SPIR-V generation
Enabled on Linux/Nvidia, Windows/Nvidia and Pixel4.

Bug: angleproject:4889
Change-Id: Id82c909e368cdc189aea2e44f6371a27d8232e37
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3047382
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2021-07-28 16:14:18 +00:00
Anton Bikineev f4f866ce28 Disable RunAppAsync and RunAppAsyncRedirectStderrToStdout
The tests are blocking the CQ due to flakiness.

Bug: chromium:1233361
Change-Id: Ib0283e201c271379364a177bea130d63322eee53
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3058233
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-07-28 15:52:37 +00:00
angle-autoroll 111c9a1578 Roll vulkan-deps from 42c7e9bc00c2 to ecc420b25566 (2 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/42c7e9bc00c2..ecc420b25566

Changed dependencies:
* glslang: 9158061398..1978c7692f
* vulkan-validation-layers: 459cb6009e..8fb97f0282

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 timvp@google.com on the revert to ensure that a human
is aware of the problem.

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: timvp@google.com
Change-Id: I37235d3641b8c0d02bdd1cd1997c0765eeed861f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3057818
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-28 12:10:54 +00:00
angle-autoroll c72bb3616a Roll SwiftShader from 915947134128 to b8bcc42a41e5 (2 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/915947134128..b8bcc42a41e5

2021-07-27 capn@google.com Remove -Wno-unused-but-set-variable flag usage
2021-07-26 pkasting@chromium.org Fix some instances of -Wunused-but-set-variable.

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 timvp@google.com on the revert to ensure that a human
is aware of the problem.

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: timvp@google.com
Change-Id: Ib9f66aa6a4e1970b9115679d94678c5520e9deed
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3058731
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-28 11:22:44 +00:00
angle-autoroll 48a6188943 Roll Chromium from f18a56e21b43 to 7ad7eb435b84 (470 revisions)
f18a56e21b..7ad7eb435b

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 timvp@google.com on the revert to ensure that a human
is aware of the problem.

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: 2e6288eaef..96a4da9412
* buildtools/third_party/libc++abi/trunk: bfcda91989..24e92c2bee
* testing: ed11dbd7ea..88e2d8b080
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..10f6e4b89b
* tools/clang: 69fa5ec37a..2a8bb1ca80
* tools/luci-go: git_revision:04c7051e7a02d7000bf28b53a575fea10220b555..git_revision:75ff299b9adf969190cafebe902255856a346f0b
* tools/luci-go: git_revision:04c7051e7a02d7000bf28b53a575fea10220b555..git_revision:75ff299b9adf969190cafebe902255856a346f0b
* tools/luci-go: git_revision:04c7051e7a02d7000bf28b53a575fea10220b555..git_revision:75ff299b9adf969190cafebe902255856a346f0b
* tools/mb: a577fc1092..ef691997d9
* tools/perf: e39d397fb7..b210baf513
* tools/skia_goldctl/linux: kaeAzSau0swqM5_PxvyRfHSMDvXSjyDsqgPiP5rpoYEC..Pc3OHV2QqhJ1IA5WQWr_kZ72iUVitbAX-iQN7j8sfcQC
* tools/skia_goldctl/mac: sZ1aXBq0Ae2kaeyAtTGpMuEEGdcqMzga658pAaCAl0IC..KASmGKR0ayqtBOEyjhnO0Bt_YP_U602cxGcJOOjhAPoC
* tools/skia_goldctl/win: 67QQ3-xX3VTYrb9YrwUR0VedVqNq7sebZZeHS823QdcC..XfCGeDXrOWGLHwo_HFFlERuqKHW2zZGUGnF1DzCyCP0C
No update to Clang.

Bug: None
Tbr: timvp@google.com
Change-Id: Ie43056dba44cde445c38237c6e2aab6740a41922
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3058570
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-28 08:26:14 +00:00
Shahbaz Youssefi 7c6da49358 Translator: Make sure built-in variables are consistent
Some transformations left the tree in an inconsistent state, for example
if it used gl_SampleMask from ES3.1+OES_sample_variables and the
transformation added a usage of gl_SampleMask from ES3.2.  The offending
transformations are fixed and AST validation is improved to catch such
errors.

Bug: angleproject:4889
Change-Id: I9d9ea5bb43a9408dd4c6dc3e89ec20d60dfeff73
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3054613
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
2021-07-28 06:19:04 +00:00
Peter Kasting 0d06c3cf93 Fix some instances of -Wunused-but-set-variable.
Bug: chromium:1203071
Change-Id: I144165ae5ec47aba88658030a6ba3e371bf31ee7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3053616
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-07-28 01:54:03 +00:00
Shahbaz Youssefi c8c9e15b5c Translator: Fix sizing of tessellation shader arrays
If layout(vertices=N) is specified after implicitly sized array
declarations, the correct size was not being specified on them.

Bug: angleproject:4889
Change-Id: I86ccf45a7f264b493a137b87316eff744079ed6c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3054614
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
2021-07-28 01:13:23 +00:00
Yuly Novikov bd19620fcd Revert "VulkanExternalHelper: Use VK_KHR_image_format_list extension."
This reverts commit 4222d5e5a0.

Reason for revert: errors on multiple builders when rolling into Chromium
https://chromium-review.googlesource.com/c/chromium/src/+/3057227
e.g.
https://ci.chromium.org/ui/p/chromium/builders/try/linux_chromium_asan_rel_ng/924126/overview

Original change's description:
> VulkanExternalHelper: Use VK_KHR_image_format_list extension.
>
> To retrieve correct size requirements when the VK_KHR_image_format_list
> extension is enabled, it must be used to match VkImages created in
> vk_helpers.
>
> RendererVk: Fully enable VK_KHR_image_format_list.
> Enable the extension on non-AMD and non-ARM platforms.
>
> Bug: angleproject:5281
> Change-Id: I3ca60bf6efcf9d9c10d4d96a3fe91b999eb044f7
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3035047
> Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Cody Northrop <cnorthrop@google.com>
> Reviewed-by: Mohan Maiya <m.maiya@samsung.com>

Bug: angleproject:5281, chromium:1233561
Change-Id: I3b15bb2fc2fb779adac8bbf5d805727a25b5795c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3057071
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2021-07-27 23:47:45 +00:00
angle-autoroll 1dd33c0525 Roll vulkan-deps from d85297cbd31b to 42c7e9bc00c2 (37 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/d85297cbd31b..42c7e9bc00c2

Changed dependencies:
* spirv-cross: cd22336a38..1964799fba
* spirv-tools: d9f8925785..11cd875ed8
* vulkan-headers: 872fa25bb6..b8c57b0a09
* vulkan-loader: a0c69f0d3a..99a7440204
* vulkan-validation-layers: 893fc802e4..459cb6009e

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 timvp@google.com on the revert to ensure that a human
is aware of the problem.

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: timvp@google.com
Change-Id: Id2402348bcf414ce7bebb8e5c647f0db54537557
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3057520
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-27 22:57:43 +00:00
Peter Kasting 5bda5f91e6 Fix some instances of -Wunreachable-code-aggressive.
Bug: chromium:1066980
Change-Id: I1e769b78c51d939067e8855beab32ec7c006c00e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3055794
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
2021-07-27 16:40:05 +00:00
Lubosz Sarnecki 4222d5e5a0 VulkanExternalHelper: Use VK_KHR_image_format_list extension.
To retrieve correct size requirements when the VK_KHR_image_format_list
extension is enabled, it must be used to match VkImages created in
vk_helpers.

RendererVk: Fully enable VK_KHR_image_format_list.
Enable the extension on non-AMD and non-ARM platforms.

Bug: angleproject:5281
Change-Id: I3ca60bf6efcf9d9c10d4d96a3fe91b999eb044f7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3035047
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
2021-07-27 10:57:36 +00:00
Lubosz Sarnecki ef406f1b43 FrameCapture: Capture GLES1 matrix stack.
Capture the modelview and projection matrix stack. This is required for
GLES1 applications that do not reset the stack every frame.

Bug: angleproject:6181
Change-Id: I71befc15ca287cf91fcebf9d972c7badaeb23605
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3035050
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
2021-07-27 10:22:45 +00:00
Lubosz Sarnecki edb4a7a8da GLES1State: Add getMatrixStack function.
FrameCapture requires access to the whole matrix stack. This function
also exposes stacks that are not currently set.

Bug: angleproject:6181
Change-Id: I595feaa0cbd3e5a62e398aa7a0578ecf6425ffe6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3035049
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
2021-07-27 09:42:35 +00:00
angle-autoroll 9b95caf462 Roll Chromium from 779c0d440060 to f18a56e21b43 (464 revisions)
779c0d4400..f18a56e21b

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 timvp@google.com on the revert to ensure that a human
is aware of the problem.

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: 958a8ec2c1..2e6288eaef
* buildtools/linux64: git_revision:d565aa3e72dd9e81da9595ee8c9d7b24cb45c48b..git_revision:c0a2d23c21e87f27f5af3e5dc2a99f2ef3480b9e
* buildtools/mac: git_revision:d565aa3e72dd9e81da9595ee8c9d7b24cb45c48b..git_revision:c0a2d23c21e87f27f5af3e5dc2a99f2ef3480b9e
* buildtools/third_party/libc++abi/trunk: e8bf577fbf..bfcda91989
* buildtools/win: git_revision:d565aa3e72dd9e81da9595ee8c9d7b24cb45c48b..git_revision:c0a2d23c21e87f27f5af3e5dc2a99f2ef3480b9e
* testing: 412b2038bc..ed11dbd7ea
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..10f6e4b89b
* tools/clang: 94ebf0661e..69fa5ec37a
* tools/luci-go: git_revision:81e548572494391fa74559e816562d60c767bc69..git_revision:04c7051e7a02d7000bf28b53a575fea10220b555
* tools/luci-go: git_revision:81e548572494391fa74559e816562d60c767bc69..git_revision:04c7051e7a02d7000bf28b53a575fea10220b555
* tools/luci-go: git_revision:81e548572494391fa74559e816562d60c767bc69..git_revision:04c7051e7a02d7000bf28b53a575fea10220b555
* tools/mb: 159bcd47b2..a577fc1092
* tools/perf: 48df54f532..e39d397fb7
Clang version changed llvmorg-13-init-15561-gf98ed74f:llvmorg-13-init-16514-gb1777b04
Details: 94ebf0661e..69fa5ec37a/scripts/update.py

Bug: None
Tbr: timvp@google.com
Change-Id: Ia2424c4760473583dbf054535a9cc3b0bdb00a68
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3055648
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-27 08:24:05 +00:00
Shahbaz Youssefi b8d6f8aa93 Translator: Facilitate integration in FireFox
Instead of relying on is_apple to build workarounds applied on apple
hardware, a new build argument is added for this purpose.  This allows
FireFox to more easily include these files in their build system (which
builds every workaround on every platform).

The workarounds are reorganized too and moved from tree_ops/gl/mac to
tree_ops/apple.  RewriteRowMajorMatrices is moved there too as it's now
used by both gl and metal.  This workaround is large, and removing it
from non-apple builds improves binary size (~40KB on Linux).

Bug: angleproject:6188
Change-Id: I8e1dab44d0235bb6b8341d53721bdd0d157d46c6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3047385
Reviewed-by: Jeff Gilbert <jgilbert@mozilla.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-07-27 03:05:45 +00:00
Shahbaz Youssefi dbe986d710 Vulkan: SPIR-V Gen: Fixes to tessellation shader support
- TCS barrier() built-in is correctly looked up
- Patch decorations are fixed

Bug: angleproject:4889
Change-Id: I1befcaca85a965c9d46b1b41ec74597de44bf2b2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3052687
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
2021-07-27 02:04:51 +00:00
Shahbaz Youssefi acfd63a4cc Translator: Remove GLSL rules from the ESSL-only symbol table
Shaves ~36KB off of ANGLE's binary size on Android.

Bug: chromium:1084580
Change-Id: I4711c6bd28437a43b7dc63be4cfcdaed7ae11ba2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3052686
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-07-27 02:01:41 +00:00
Shahbaz Youssefi 63fa70809c Vulkan: SPIR-V Gen: Fix bugs with ES3.1 texture* builtins
- Add missing ImageCubeArray capability for image cube arrays
- Remove extra Lod image operand for sampler/image buffers

Bug: angleproject:4889
Change-Id: I96545092528b7dcecf902561e194b17636217ef4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3052683
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-07-27 01:58:51 +00:00
Shahbaz Youssefi 4ff80bb5f7 infra: Enable gles3 deqp tests with direct SPIR-V generation
Enabled on Linux/Nvidia, Windows/Nvidia and Pixel4.

Bug: angleproject:4889
Change-Id: I2462b7fa7801b766f4359103a5253209b7fded28
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3047381
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2021-07-27 01:21:51 +00:00
Shahbaz Youssefi 715bab1f17 Vulkan: SPIR-V Gen: Fixes to geometry shader support
- max_vertices=0 is invalid in SPIR-V and is fixed (similarly to
  anglebug.com/5411)
- gl_PrimitiveID used in fragment shaders requires the Geometry
  capability.

Bug: angleproject:4889
Change-Id: If8c6a9d455d0582d61c3c52b5f773bcb5ca64b53
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3052684
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
2021-07-27 01:20:21 +00:00
Shahbaz Youssefi ff7eafb56c Vulkan: SPIR-V Gen: Fix .length() vs ssbo arrays
Bug: angleproject:4889
Change-Id: Ib490a46fabf058064fc1b18d2c084a4bc5f9277d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3052682
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
2021-07-27 01:06:30 +00:00
Shahbaz Youssefi b19fbbdabe Vulkan: SPIR-V Gen: Support multiview
Bug: angleproject:4889
Change-Id: Ibe66f53357473dbb4435af58775b524d83ed250b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3052675
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-07-27 01:01:27 +00:00
Jamie Madill 3bd2273b4f Capture/Replay: Only perform call updates on valid calls.
Bug: angleproject:5133
Change-Id: Ib1a6ae1ca9ff9717c4e51f8908f5a4ee132d72ab
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3035443
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2021-07-26 12:24:43 +00:00
angle-autoroll 2ce8181788 Roll Chromium from 172cae01c41b to 779c0d440060 (322 revisions)
172cae01c4..779c0d4400

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 jmadill@google.com on the revert to ensure that a human
is aware of the problem.

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: 5e09be1ee6..958a8ec2c1
* testing: 47f98e89a3..412b2038bc
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..10f6e4b89b
* tools/clang: 131233f789..94ebf0661e
* tools/perf: 42bdc1223f..48df54f532
Clang version changed llvmorg-13-init-15163-g98033fdc:llvmorg-13-init-15561-gf98ed74f
Details: 131233f789..94ebf0661e/scripts/update.py

Bug: None
Tbr: jmadill@google.com
Change-Id: Id07aacc82c17d56790faec87e042b77db4f39d17
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3053611
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-26 08:15:23 +00:00
Gert Wollny d67cab2288 Capture/Replay: Handle missing context serialization
Some ContextLost* tests do weird things with the context
serialization which results in a mis-match of available context
serializations.

In this case check whether both serializations are missing, if so
consider this to be an equal contexts states, otherwise, if only
one serialization is available, report failure.

While touching this code, also remove an unused parameter from
the context serialization compare function.

Disable tests that still fail with this change.

Bug: angleproject:6157
Change-Id: Iee6cc7d65437112e38919cff59804e2b7f9467da
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3021061
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
2021-07-26 07:18:24 +00:00
Shahbaz Youssefi a5b7655cb2 Vulkan: Unsupress fixed test
Fix landed in glslang.

Bug: angleproject:6178
Change-Id: Ie3d2a9535b4ed0d484c97e08be069ff9e27cdde1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3051313
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-07-24 14:03:39 +00:00
Shahbaz Youssefi 939ea5f41e Vulkan: SPIR-V Gen: Fixes to tessellation builtins
On TCS, TES and FS, gl_PrimitiveID is actually an input.  Additionally,
`patch` variables (including gl_TessLevel* built-ins) need to be
decorated with Patch.

Bug: angleproject:4889
Change-Id: I326ec4b0c011fe8eaafbad4f8bcb0f537005f96f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3048320
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
2021-07-24 05:26:35 +00:00
Shahbaz Youssefi 9416e84e17 Vulkan: SPIR-V Gen: Add missing DepthReplacing execution mode
Shaders writing to gl_FragDepth need this execution mode specified.

Bug: angleproject:4889
Change-Id: I315c90f9161f4d3d51b1c856f1364fb26a4bd404
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3048317
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-07-24 05:26:15 +00:00
Shahbaz Youssefi de8dc2c931 Vulkan: SPIR-V Gen: Support OES_sample_variables
Built-ins from this extension are now decorated.

Bug: angleproject:4889
Change-Id: I12f80d67e3595f94fc64bdc8cb3031d36b98c279
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3048319
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
2021-07-24 04:34:45 +00:00
Shahbaz Youssefi 8bf2e5ec10 Vulkan: SPIR-V Gen: Fix switch with default at the end
A minor bug was making a switch with default at the end to jump to the
merge block instead of the default block.

Bug: angleproject:4889
Change-Id: Ied434fab949b10d45a0db1242c1b8535a5f4f773
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3048321
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
2021-07-24 04:29:55 +00:00
Shahbaz Youssefi 82d7d888f5 Vulkan: SPIR-V Gen: Fix bugs with texture* builtins
With this change, deqp ES3 tests pass.

Bug: angleproject:4889
Change-Id: Ica158d4e9012c7bb3e458da62b4a7f92aee5c6de
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3047380
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2021-07-24 04:29:05 +00:00
Shahbaz Youssefi 31bc922649 Vulkan: SPIR-V Gen: Fix unpack* built-ins
The parameter to these built-ins was getting extended to a vector.

Bug: angleproject:4889
Change-Id: Idddce008c9b4f6bf9205b1e20f6e89ef657ea3a1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3048318
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
2021-07-24 03:41:55 +00:00
Shahbaz Youssefi 24610ba60c Suppress failing SPIR-V gen tests
Bug: angleproject:4889
Change-Id: Ie5a5cb5c8f947e2d90861371893367b9ec341f19
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3051312
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-07-24 03:27:55 +00:00
Shahbaz Youssefi 6b5cec154a Vulkan: SPIR-V Gen: Fixes to scalar->vector promotion
With the ternary operator, the condition may be a bool-in-interface
block that needs to be cast.  This cast is now part of
createConstructorVectorFromScalar so it can't be missed.

Bug: angleproject:4889
Change-Id: I0e24cd4127301d33a3ac677ccaf560c4468e0799
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3047379
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2021-07-24 02:37:03 +00:00
Shahbaz Youssefi d0c03ff49e Vulkan: SPIR-V Gen: Fix lvalues passed to in/inout parameters
In GLSL, these values are semantically copied when passed to a function
as an in or inout parameter.  For example in:

    bool f(inout vec4 a, inout vec4 b)
    {
        a = vec4(0);
        return all(equal(a, b));
    }

    var = vec4(1);
    bool result = f(var, var);

result is expected to be false.  In SPIR-V, every parameter is
semantically passed by "reference".

glslang conservatively uses temporaries to pass to functions.  An
optimization in ANGLE didn't create temporaries for unindexed lvalues,
which did not take into account the above fact.  This optimization is
limited to out parameters now.

Bug: angleproject:4889
Change-Id: Ie1b4b1cecba847ba63d5810d01d0856823b89ddc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3046103
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-07-24 00:40:43 +00:00
Shahbaz Youssefi cc69d861ab Vulkan: SPIR-V Gen: Fix textureProj's coordinate adjustment
The OpCompositeInsert's parameters were given in the wrong order.
Additionally, some instructions were not having RelaxedPrecision applied
correctly; this is fixed by deriving the decorations from the type of
the argument that's passed in a function instead of the type of the
parameter itself.

Bug: angleproject:4889
Change-Id: I34a54fcc0ef1699e554f9e1abb94c93a5b34b6d3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3046102
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2021-07-23 23:00:13 +00:00