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

12822 Коммитов

Автор SHA1 Сообщение Дата
Shahbaz Youssefi 5fec8ecf9c Fix CopyTexture3D test to remove Nvidia workaround
Bug: angleproject:4748
Change-Id: I8e66fda3c9fd234451ad765c8777cd75b4fc44fc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2279136
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2020-07-02 18:01:10 +00:00
Shahbaz Youssefi 65f7ab795e Vulkan: Cleanup extension properties and features
Bug: angleproject:4551
Change-Id: Iae6b94027cfaca6c72318203a286865c2e3b19a9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2279133
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2020-07-02 18:00:19 +00:00
Mohan Maiya 62ff54ebb3 Vulkan: Featurize shadow buffers
Shadow buffers help reduce the latency of glMap* operations
at the cost of CPU overhead. It might not be desirable to
incur such an overhead for all usecases. Featurize it but
enable it by default.

Bug: angleproject:4339
Change-Id: I6374618bf99677eef55fd50a139fb86f5ea70791
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2278102
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
2020-07-02 17:47:30 +00:00
Shahbaz Youssefi cf63d8725a Vulkan: Use mipmap hint when generating mipmaps
If the application asks for GL_FASTEST, this uses VK_FILTER_NEAREST
instead of VK_FILTER_LINEAR.

Bug: angleproject:4551
Change-Id: I6c10758104bd63dd477ea853a3b0464665f371ed
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2279132
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2020-07-02 17:13:09 +00:00
angle-autoroll 45c2272230 Roll Vulkan-ValidationLayers from 7ff733fd65d7 to bda422c594d4 (5 revisions)
7ff733fd65..bda422c594

2020-07-01 s.fricke@samsung.com tests: Fix AHB Test not covering 02251
2020-07-01 s.fricke@samsung.com layers: Fix YCbCr Format VUIDs
2020-07-01 tony@lunarg.com gpu: Remove incorrect descriptor set requirement
2020-07-01 tony@lunarg.com layers: Add more custom border color checks
2020-07-01 tony@lunarg.com gpu: Handle destroyed pipeline layout

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll
Please CC ianelliott@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/master/autoroll/README.md

Bug: None
Tbr: ianelliott@google.com
Change-Id: Ib75dad0044e758e221687da3e88fca4f9d3e09e1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2278879
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-07-02 10:20:00 +00:00
angle-autoroll cf107ade0f Roll glslang from dca47063ccd2 to 57002d0447df (8 revisions)
dca47063cc..57002d0447

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/glslang-angle-autoroll
Please CC ianelliott@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/master/autoroll/README.md

Bug: None
Tbr: ianelliott@google.com
Change-Id: Ifce7b8aa2c0ebdcf51b10cebc8aa5d09c8647792
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2278881
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-07-02 10:19:59 +00:00
Corentin Wallez cbcc500fa4 Broaden EGLFeatureControlTest Linux AMD suppression
After the initial suppression the bot started failing on the next test.
Use GTEST_SKIP in testSetUp to make all tests using the fixture skipped.

Bug: chromium:1097750
Change-Id: Ic993d7cd274e1328684571c5ba1a1520b9cb80d5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2270020
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-07-01 20:28:39 +00:00
angle-autoroll 2cc63feff1 Roll SwiftShader from b3240d0c355a to 2d6b37bbda59 (2 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/b3240d0c355a..2d6b37bbda59

2020-07-01 pcc@google.com Start reserving x18 by default on Android targets.
2020-06-30 srisser@google.com Fix debug assert from happening in release build

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 ianelliott@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/master/autoroll/README.md

Bug: None
Tbr: ianelliott@google.com
Change-Id: I5c881031b6b3d80dba723cf1d8894b53cc268b65
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2277609
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-07-01 18:32:29 +00:00
Jordan Bayles 1265dbe6f4 Update JsonCpp usage
This patch updates usages of the JsonCpp library, including the
following changes:

1. Removed unused version variable from the DEPS file.
2. Removed deprecated writer and reader usages, in favor of the new
   builder pattern inside JsonCpp.
3. Modernized usage of the Json::Value types, including some rewrites to
   avoid unnecessary heap allocations, and using the new foreach
   iterators.

Bug: chromium:983223
Change-Id: If26abc8be677d905183a23498fbb81256854525c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2265093
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2020-07-01 18:03:19 +00:00
angle-autoroll 8804d35c9a Roll Vulkan-ValidationLayers from 7c1434b8ea35 to 7ff733fd65d7 (6 revisions)
7c1434b8ea..7ff733fd65

2020-06-30 s.fricke@samsung.com tests: Add VUID 00995
2020-06-30 s.fricke@samsung.com layers: Add VUID 00995
2020-06-30 s.fricke@samsung.com tests: Add External Import handleType VUIDs
2020-06-30 s.fricke@samsung.com layers: Add External Import handleType VUIDs
2020-06-30 s.fricke@samsung.com tests: Add maxExtent VUIDs
2020-06-30 s.fricke@samsung.com layers: Add maxExtent VUIDs

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll
Please CC ianelliott@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/master/autoroll/README.md

Bug: None
Tbr: ianelliott@google.com
Change-Id: I33b0595c9df6d768071232dca19cf995d706c902
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2277610
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-07-01 15:13:16 +00:00
angle-autoroll 518a1e33df Roll SPIRV-Tools from fc0dc3a9c734 to fba90d6b0a23 (2 revisions)
fc0dc3a9c7..fba90d6b0a

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/spirv-tools-angle-autoroll
Please CC ianelliott@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/master/autoroll/README.md

Bug: None
Tbr: ianelliott@google.com
Change-Id: I7f1698096e261c70e9a2fa7680416a4ebf77d517
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2277611
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-07-01 15:06:56 +00:00
Ian Elliott d2ca995f88 Vulkan: Update "fragment_ops" failures on Android
A Qualcomm driver bug causes certain
"dEQP-GLES3.functional.fragment_ops*" tests to fail.  On Pixel 4 XL,
this only occurs when the device is rotated 90 or 270 degrees.

Bug: angleproject:4344
Bug: b/157933198
Change-Id: Iedb7e8c76fbe55795537cab3e821a410899fdea3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2277103
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
2020-07-01 05:12:36 +00:00
Etienne Bergeron 2761f01d68 Disable the use of chromium worker threads
The use of worker thread is chromium is triggering CFI error.

This CL disables the use of chromium worker pool to avoid
blocking the roll-deps:
  https://chromium.googlesource.com/angle/
      angle.git/+log/1be395fe1250..a935c65a0488

The intend is to avoid the effects of the fix from that CL:
  https://chromium-review.googlesource.com/c/angle/angle/+/2262573
Instead of reverting the CL (with is an obvious mistake) we disable
the feature.

Bug: chromium:1091259
Change-Id: I4e473ec42be2a82e47e2e4c882f75ba33bcd9476
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2275730
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Etienne Bergeron <etienneb@chromium.org>
2020-06-30 21:58:15 +00:00
Alexey Knyazev 1ae8d2dd64 Fix blendable FP32 texture caps on ES2 contexts
Although the EXT_float_blend extension is defined only for ES 3.0+,
ANGLE exposes it on ES 2.0 client contexts.

Bug: angleproject:4595
Change-Id: I7451062ed8b1ab4eb18a8c7c1d37ee7383c8ea4b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2172738
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2020-06-30 21:35:45 +00:00
Ian Elliott 28300e6f8d Vulkan: Fix off-by-1 180/270-rotated CopyTexImage
The rotation calculations are a little different for this code (that
uses a special shader) than for other pre-rotation cases.  I also
modified the CopyTexImageTestES3.2DArraySubImage test to make future
bugs a little easier to diagnose.

Test: Test: angle_end2end_tests --gtest_filter=*CopyTexImageTestES3.2DArraySubImage*Vulkan*
Test: Test: angle_end2end_tests --gtest_filter=*WebGLReadOutsideFramebufferTest.CopyTexSubImage2D*Vulkan*
Bug: b/158245571
Change-Id: I497ec541cae5cd4085c3e9d596ee20943f5510f9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2275733
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Ian Elliott <ianelliott@google.com>
2020-06-30 19:54:05 +00:00
Tim Van Patten 68e60a92ae Vulkan: Don't store transformed SPIR-V
Since the original SPIR-V is never store after being modified, we don't
need to keep the transformed SPIR-V either.

Bug: angleproject:4513
Test: CQ
Change-Id: I4b70cfa355a08107e6a27377f6258cbf9e4072be
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2270718
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2020-06-30 19:09:55 +00:00
Jamie Madill 4f2fb80b50 Tests: Add scripts/common.py to standalone data.
This file is needed by the bots to run as an isolated script.

Bug: angleproject:3162
Change-Id: I1bb87b3622613334b379896a3c124a6007676346
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2275729
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2020-06-30 16:11:19 +00:00
Charlie Lao 34eb401ba5 Vulkan: Skip repeated VkCmdClear call with the same value
Some apps actually do this. One of them is gfxbench. This helps
performance by dropping the redundant clear calls.

Bug: b/159489614
Change-Id: Ib7958042f081b8fd58c5bc912fbb45bb223aec0f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2255643
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
2020-06-30 16:01:15 +00:00
angle-autoroll a52834d818 Roll Vulkan-ValidationLayers from d8b1aa1c3830 to 7c1434b8ea35 (19 revisions)
d8b1aa1c38..7c1434b8ea

2020-06-29 szilard.papp@arm.com practices: Adding test for robustBufferAccess
2020-06-29 szilard.papp@arm.com practices: Adding check for robustBufferAccess
2020-06-29 s.fricke@samsung.com layers: Label VUID 02251
2020-06-29 s.fricke@samsung.com tests: Add VK_EXT_astc_decode_mode
2020-06-29 s.fricke@samsung.com layers: Add VK_EXT_astc_decode_mode
2020-06-29 s.fricke@samsung.com layers: Add HDR ASTC formats
2020-06-29 tony@lunarg.com tests: Fix unexpected custom border color error
2020-06-29 mark@lunarg.com chassis: Fix inadvertant StateTracker VO state-sharing
2020-06-29 rgarcia@igalia.com corechecks: Use all locations for samplerYcbcrConversion
2020-06-29 dev@kikijiki.com docs Add reference to the --dir option
2020-06-29 dev@kikijiki.com docs: Fix CMake update_deps/build instructions
2020-06-29 rgarcia@igalia.com Use conversion format in some Ycbcr conversion VUs
2020-06-29 jeremyk@lunarg.com layers: Fix vkCmdTraceRaysKHR VUID Mixup
2020-06-29 mark@lunarg.com docs: Update CONTRIBUTING.md with some new details
2020-06-29 mark@lunarg.com docs: Added message limit to layer settings file
2020-06-29 mark@lunarg.com tests: Add duplicate message limit test
2020-06-29 mark@lunarg.com chassis: Add config steps for reading dup msg limits
2020-06-29 mark@lunarg.com layers: Add duplicate message limit infrastructure
2020-06-29 mark@lunarg.com corechecks: Prevent null ptr access for GetSwapchainImages

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll
Please CC ianelliott@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/master/autoroll/README.md

Bug: None
Tbr: ianelliott@google.com
Change-Id: I26203dd98b05ed2a6ee3462951cb66990faac121
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2274687
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-06-30 10:52:45 +00:00
angle-autoroll 98a51fde05 Roll SPIRV-Tools from 91c50e3fc993 to fc0dc3a9c734 (1 revision)
91c50e3fc9..fc0dc3a9c7

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/spirv-tools-angle-autoroll
Please CC ianelliott@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/master/autoroll/README.md

Bug: None
Tbr: ianelliott@google.com
Change-Id: I6d7b48346be2b9323631b74b558f2d3fc5b675ab
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2275630
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-06-30 10:14:25 +00:00
Xinghua Cao d1bf23d76e Restrict member types for StructuredBuffer
Std140 storage layout has some rules for uniform block, must
pad StructuredBuffer element type explicitly to match std140
layout rules when translating std140 uniform block to
StructuredBuffer. In this CL, restrict member types which are
not needed to add paddings according std140 layout rules.

Bug: angleproject:4783
Change-Id: I50130da64ad6865083849bf55b76525f3d2835a8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2259226
Commit-Queue: Xinghua Cao <xinghua.cao@intel.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
2020-06-30 09:43:15 +00:00
angle-autoroll 1f71f41cb9 Roll Vulkan-Tools from ff825d988fe8 to abc9dff824c3 (1 revision)
ff825d988f..abc9dff824

2020-06-29 jeremyk@lunarg.com build: Update MoltenVK version in known-good.json

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-tools-angle-autoroll
Please CC ianelliott@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/master/autoroll/README.md

Bug: None
Tbr: ianelliott@google.com
Change-Id: Ie846df10da5613342d65cbc17b2ebccca6c8ddc1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2274688
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-06-30 09:04:45 +00:00
angle-autoroll d7d187d17d Roll glslang from 27e915ed4f20 to dca47063ccd2 (2 revisions)
27e915ed4f..dca47063cc

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/glslang-angle-autoroll
Please CC ianelliott@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/master/autoroll/README.md

Bug: None
Tbr: ianelliott@google.com
Change-Id: I86e12ab8e9ef5220362635b5f078cdffe02a2850
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2274689
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-06-30 08:20:45 +00:00
Tim Van Patten 774cd1b212 Vulkan: Only transform SPIR-V once
Prior to this change, the SPIR-V would be transformed as part of
GlslangGetShaderSpirvCode() and then possibly another time afterward to
disable the early fragment test optmization (for monolithic programs) or
to update the descriptor set/binding values (for PPOs). By storing the
original SPIR-V in the ProgramVk and the transformed SPIR-V in the
ProgramExecutableVk, we can now remove the SPIR-V transformation from
GlslangGetShaderSpirvCode() and only perform it once in
ProgramInfo::initProgram() for monolithic programs and PPOs.

Bug: angleproject:4513
Test: CQ
Change-Id: I4e7240b2abe7c796c46cf531948dad0e37c1419a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2267537
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2020-06-30 05:41:28 +00:00
Shahbaz Youssefi 8ea72e8650 Skip failing test on NVIDIA Shield
Bug: chromium:1100613
Change-Id: I1e05b2b7829ee790f878bf99976310c8a697faa2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2274520
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2020-06-30 04:04:29 +00:00
Shahbaz Youssefi 06462adde6 Add a test for copying from one mip to another
Bug: angleproject:2914
Change-Id: Ib39f8599a613cbb85688c230cf8a72e23d8e1c1c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2231618
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
2020-06-30 03:56:48 +00:00
Tim Van Patten 7993f34db4 Vulkan: Store transformed SPIR-V in ProgramExecutableVk
The original SPIR-V is specific to a ProgramVk while the transformed
SPIR-V is specific to a ProgramExecutableVk. This CL keeps the original
SPIR-V in the ProgramVk::mOriginalShaderInfo and the transformed SPIR-V
in ProgramExecutableVk::mTransformedShaderInfo. This allows us to skip
an extra copy that was occurring during PPO link().

Bug: angleproject:4513
Test: CQ
Change-Id: I796dcd6bcfb2df08d9b8f1a5295b2821a4096f16
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2265484
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2020-06-30 03:36:18 +00:00
Jonah Ryan-Davis e2de2c1c54 Fix disable_native_parallel_compile workaround condition.
This workaround should only be enabled when ANGLE is built with TSAN
on.

Bug: chromium:1094869
Change-Id: If527457c11ce744b543ac69761cc64235d2f1dd8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2267420
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
2020-06-29 23:11:15 +00:00
Manh Nguyen bdf91e5fb9 Refactor frame_capture_utils.h to frame_capture_test_utils.h
frame_capture_utils.h is only used in tests so changing the name to be
frame_capture_test_utils.h is more appropriate. Also
frame_capture_utils.h will now be a file in libANGLE_with_capture
library where serialization code is stored.

Bug: angleproject:4806
Change-Id: I7482693a75b2d0edda7e84ae9b777fd3f46f1855
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2273917
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2020-06-29 19:58:59 +00:00
Mohan Maiya 58ff77a835 Vulkan: Set new layout based on VkImageUsageFlags
When transferring vkImages between queues, the new layout
needs to be set based on the usage flags of the vkImage
instead of hardcoding it to AllGraphicsShadersReadWrite

Bug: angleproject:4791
Change-Id: I3b543a6280e6c2317cc11bf65dc4c337bc5f90b1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2271563
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2020-06-29 18:40:28 +00:00
Courtney Goeltzenleuchter b31a19394e Vulkan: Implement invalidate for color buffers
This will set the color buffer load_op to DONT_CARE if the application
has invalidated the color buffers prior to drawing.
Will also set load_op to DONT_CARE for depth & stencil, though this
isn't likely a common use case.

Tests:
    angle_deqp_gles3_tests --gtest_filter=dEQP.GLES3/functional_fbo_invalidate_* --use-angle=vulkan
    angle_end2end_tests --use-angle=vulkan --gtest_filter=StateChangeRenderTestES3.InvalidateNonCurrentFramebuffer/ES3_Vulkan

Bug: b/150458520
Bug: angleproject:4444
Change-Id: I6ce3d20fc1e9f4ab7ba3af9755c5ddc544f58ddd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2267057
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
2020-06-29 17:54:47 +00:00
Shahbaz Youssefi b0245f68f3 Vulkan: Remove superseded updates when flushing to image
Especially with emulated formats and robust resource init, a clear is
staged that's often superseded by a data upload to the same subresource.
This change ensures that superseded updates are dropped to avoid
unnecessary GPU work.

Bug: angleproject:4691
Change-Id: I697ccd438b92fd2fff17a5800550694658c95c54
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2262574
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
2020-06-29 17:45:16 +00:00
Ian Elliott 7538f91e3b Vulkan: Skip *functional.attribute_location.bind* tests
Bug: angleproject:4249
Change-Id: I980054c374f43596050a3387d1d6c3e71b5efed9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2273697
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
2020-06-29 16:23:57 +00:00
Shahbaz Youssefi e583967812 Vulkan: Remove suppression of fixed dEQP tests
Bug: angleproject:4675
Change-Id: I543f1d3872c89a78c377a309048d1f5df8c67395
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2272863
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2020-06-29 16:14:06 +00:00
Etienne Bergeron a935c65a04 Fix delegate Worker Thread Pool creation
This error was introduced while fixing nits in the
previous CL.

The Delegate Pool was not created at all and always
fallback to the Async thread pool instead.

Bug: chromium:1091259
Change-Id: I5036836b5d792372636f21e936a03906eb587f67
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2262573
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Etienne Bergeron <etienneb@chromium.org>
2020-06-29 15:50:53 +00:00
angle-autoroll 1be395fe12 Roll SwiftShader from eb0a25a189b7 to b3240d0c355a (2 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/eb0a25a189b7..b3240d0c355a

2020-06-28 capn@google.com Optimize clearing of depth and stencil images
2020-06-26 thakis@chromium.org mac: Add ARM64 support to swiftshader.

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 cwallez@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/master/autoroll/README.md

Bug: None
Tbr: cwallez@google.com
Change-Id: I93d6587b113f48a48505c8b63b5e95b97a11d3e2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2272380
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-06-29 08:17:51 +00:00
angle-autoroll c5020af6f8 Roll glslang from fbb9dc2cf1af to 27e915ed4f20 (2 revisions)
fbb9dc2cf1..27e915ed4f

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/glslang-angle-autoroll
Please CC cwallez@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/master/autoroll/README.md

Bug: None
Tbr: cwallez@google.com
Change-Id: I90496e7c40f687445937d10f3b17b9249b9369eb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2272382
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-06-29 08:10:21 +00:00
angle-autoroll 419d701d80 Roll SPIRV-Tools from efaae24d0006 to 91c50e3fc993 (2 revisions)
efaae24d00..91c50e3fc9

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/spirv-tools-angle-autoroll
Please CC cwallez@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/master/autoroll/README.md

Bug: None
Tbr: cwallez@google.com
Change-Id: Id56272d47103e0df701dfc997927806851099369
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2272381
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-06-29 08:00:23 +00:00
Shahbaz Youssefi 69c011ef35 Assert no undefined behavior with left shift in angle::Bit
(uintN_t)1 << M has undefined behavior when M >= N.  For example, the
following:

    shift = 64;
    value = 1 << shift;

Gives a value of 1 (instead of the arithmetically expected 0) on (some?)
Intel CPUs.

Bug: None
Change-Id: I5fbb01eff812a62eb778474cec25a25b80052bac
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2269857
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2020-06-26 20:07:22 +00:00
Mohan Maiya e69298d1b3 Vulkan: External image layout needs to be ReadWrite
Textures specified through external images need to
transition to a ReadWrite layout and not ReadOnly.

Bug: angleproject:4791
Change-Id: I8c0d5999d65499de6a36725ed1cc9c390c479c8c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2270513
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2020-06-26 19:14:52 +00:00
Ian Elliott da3e6451c1 Vulkan: Fix fbo_invalidate tests for pre-rotation
The BlitFramebuffer path wasn't properly supporting stencil and MSAA
paths for pre-rotation:

1) The stencil path on Android isn't going through
   UtilsVk::blitResolveImpl, but requires changing
   UtilsVk::stencilBlitResolveNoShaderExport for rotation.

2) MSAA resolves requires rotating clippedSourceArea.

Test: angle_deqp_gles3_tests --gtest_filter=dEQP.GLES3/functional_fbo_invalidate_\*
Bug: b/158337857
Change-Id: I092cab302c247ff9b2e262b12de3d1a56a257f8e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2269499
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
2020-06-26 18:58:22 +00:00
Manh Nguyen d4874cb3b3 Reformat Framebuffer::readPixels
Reformat Framebuffer::readPixels and its overriding methods
to the following method signature

angle::Result readPixels(const Context *context,
                         const Rectangle &area,
                         GLenum format,
                         GLenum type,
                         const PixelPackState &pack,
                         Buffer *packBuffer
                         void *pixels);

This will allow capture replay tool to use its own PixelPackState
to read pixels from framebuffer without having to set the global states

Bug: angleproject:4787
Change-Id: Idc64179d8e8f6b5163ef0747f239cd5172a2491b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2267417
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2020-06-26 17:47:59 +00:00
Ian Elliott b067db752d Vulkan: Fix copySubImageImplWithDraw() for pre-rotation
This involves cases of copying from a rotated default framebuffer.
Various adjustments are needed for where the source is and its
relationship to gl_FragCoord in the custom ImageCopy fragment
shaders.  Various tests are affected, including the following:

Test: angle_deqp_gles2_tests --gtest_filter=dEQP.GLES2/functional_texture_specification_basic_copy*teximage2d_*
Test: angle_deqp_gles3_tests --gtest_filter=dEQP.GLES3/functional_texture_specification_basic_copy*teximage2d_*
Bug: b/158245571
Bug: b/157933235
Change-Id: Id9ec56d849cd2268954dd82623a7632a10fb8e8f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2248204
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
2020-06-26 16:47:45 +00:00
Shahbaz Youssefi 6b49449d7d Vulkan: Fix mipmap generation and level redefinition
When generating mipmaps, the non-base levels are redefined to be
compatible.  mRedefinedLevels was not updated to take this into account,
resulting in invalid copies to the image.

Additionally, noted a few spots where ImageDesc is used to respecify the
image, but those are not up-to-date when the backend functions are
called.  Changed those to directly get the necessary information from
the allocated image.

Bug: chromium:1094644
Bug: chromium:1094599
Change-Id: I2afc9e5a53f24ef56836c5d7eec2e3e11df0ef61
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2267423
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2020-06-26 16:22:39 +00:00
Shahbaz Youssefi 77c062aa02 Vulkan: Remove emulated clears before mipmap generation
If the image is recreated for mipmap generation, and if the format used
is emulated, clears are automatically staged for all levels of the
image.  Since non-base levels will be completely rendered to (using
blit, so not through the staging buffer), there is no point in
performing these clears for non-base levels.  This change drops those
clears.

Note that another change will drop the clear for base level if detecting
that a future update will supersede it, for example because the base
level is being copied from the old image.

Bug: angleproject:4551
Change-Id: If2f10cf67e24b44243b29d22bfcf1cb933895cd7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2262575
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2020-06-26 15:47:28 +00:00
Corentin Wallez 5046324e5f Skip MultithreadingTest.MultiCreateContext on Ozone
On Linux this test is supported with GLX but not EGL, so Ozone (which
uses EGL) fails. Update the test suppression to avoid Linux Ozone.

TBR=geofflang@chromium.org
Bug: angleproject:4725
Change-Id: I9e85b51a01ab5b25c6cbbdbcdbbfb4b21b7a6152
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2270021
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2020-06-26 12:48:44 +00:00
angle-autoroll 42c65d5481 Roll VK-GL-CTS from 23498d296498 to 2e189d3854db (1 revision)
23498d2964..2e189d3854

2020-06-26 alexander.galazin@arm.com Merge pull request #213 from sigexp/fix/signed_formats

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 cwallez@google.com,angle-bots+autoroll-info@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/master/autoroll/README.md

Bug: None
Tbr: cwallez@google.com,angle-bots+autoroll-info@google.com
Change-Id: I01d9de8d42c92b0f62bb87ce61aa22d0e933a3b3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2269840
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-06-26 12:47:54 +00:00
Corentin Wallez 769b5eace7 Suppress dEQP GLES3 attribute aliasing on Vulkan
Newly added spirv-val validation is triggered by these test cases.
Suppress failing tests to let the roll go through and investigate later.

TBR=jmadill@chromium.org
Bug: angleproject:4790
Change-Id: I3cbb2fb13889e83caea9ff69272b615cec47041f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2270019
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-06-26 12:37:04 +00:00
angle-autoroll c9f311e462 Roll SPIRV-Tools from 7a1af5878594 to efaae24d0006 (2 revisions)
7a1af58785..efaae24d00

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/spirv-tools-angle-autoroll
Please CC cwallez@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/master/autoroll/README.md

Bug: None
Tbr: cwallez@google.com
Change-Id: Id2001e1a748178327ff6955465202a57a5ee650a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2270097
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-06-26 08:14:05 +00:00
angle-autoroll 3330d56fbe Roll Vulkan-Tools from 0f4d5f74f199 to ff825d988fe8 (1 revision)
0f4d5f74f1..ff825d988f

2020-06-24 shannon@lunarg.com build: Update known-good files for 1.2.145 header

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-tools-angle-autoroll
Please CC cwallez@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/master/autoroll/README.md

Bug: None
Tbr: cwallez@google.com
Change-Id: Ic6df4285fbdc1d8934403db1d3fa26f1a69dcae0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2270098
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-06-26 08:03:55 +00:00