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

13371 Коммитов

Автор SHA1 Сообщение Дата
Alexis Hétu e3db3d20d4 Revert "Make copyTexImage2D robust when source area is out of bounds"
This reverts commit e1e6f2940c.

Reason for revert: This fix is incorrect, it ends up being a noop. Reverting this first before landing a different fix.

Original change's description:
> Make copyTexImage2D robust when source area is out of bounds
> 
> Whenever the source area of the texture being copied is out of
> bounds and robust resource init is enabled, it is necessary to
> clear the invalid portion of the source area to 0 in the copy
> operation.
> 
> Bug: angleproject:3930
> Change-Id: If1605b917097006c37e7d59c66babbc32d0ba6d8
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2378004
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: back sept 10 - Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Alexis Hétu <sugoi@chromium.org>

TBR=sugoi@chromium.org,geofflang@chromium.org,jmadill@chromium.org,sugoi@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: angleproject:3930
Change-Id: I9e37a3f739eb7ce5d6d6ab5ca59d11ce9aae8483
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2388718
Reviewed-by: Alexis Hétu <sugoi@chromium.org>
Commit-Queue: Alexis Hétu <sugoi@chromium.org>
2020-09-02 13:40:02 +00:00
angle-autoroll 121d985642 Roll Chromium from 863342438ec1 to 09df13c25e1b (356 revisions)
863342438e..09df13c25e

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 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

Changed dependencies
* build: 25864a085f..c12a68d90b
* testing: 463368f793..c1a7e4af8e
* third_party/zlib: d53accfbd0..59187e10e9
* tools/clang: fcef86e30a..03bacc3235
No update to Clang.

Bug: None
Tbr: cwallez@google.com
Change-Id: I7bea3acf53d8e936191dd688031bd2160ded4f07
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2389417
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-09-02 08:23:30 +00:00
angle-autoroll f2cad891b5 Roll Vulkan-ValidationLayers from f1315472247d to b0337a548273 (2 revisions)
f131547224..b0337a5482

2020-09-01 locke@lunarg.com tests: Byte of push constants used in shader
2020-09-01 locke@lunarg.com layers: Check push constant used in shader

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 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: I027d2308692c10d18d7dc04587cc509fca66a675
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2389602
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-09-02 08:14:00 +00:00
angle-autoroll 3489de1d83 Roll SPIRV-Tools from 8a0ebd40f86d to c278dada96d9 (5 revisions)
8a0ebd40f8..c278dada96

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: If1fd7369e653478648b842dc630c886c8cb48e11
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2389604
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-09-02 08:12:20 +00:00
angle-autoroll bc53046b29 Roll SwiftShader from a2e6c1a149f4 to e1051cbaad46 (5 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/a2e6c1a149f4..e1051cbaad46

2020-09-01 capn@google.com Fix undefined behavior in minifloat conversion
2020-09-01 capn@google.com Add unit test for 11/10-bit minifloat denormal underflow
2020-09-01 capn@google.com Assert multisample resolve has equal input and output formats
2020-09-01 jaebaek@google.com Handle OpenCL.DebugInfo.100 DebugOperation
2020-09-01 jaebaek@google.com Handle DebugGlobalVariable using DebugInfoNone

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: I1c3888c362be44320adafa9bc0fec7f25c454cea
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2389603
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-09-02 08:10:00 +00:00
Geoff Lang 6eeb3d8bf6 Support DXT textures with non-block sized mip levels.
The block size requirement for each mip level meant that all
DXT textures had to be POT sized. Relax these restrictions for
non-zero mip levels to allow NPOT DXT textures.

Increase the size of the D3D11 staging textures to the nearest
block size to make sure allocation succeeds.

Bug: angleproject:4841
Change-Id: I42fa295a0965241d77f81e57b17454091fda9376
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2380237
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: back sept 10 - Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2020-09-01 20:25:34 +00:00
Geoff Lang 7e815c77a4 Implement EXT_shadow_samplers
Bug: angleproject:4863,b/161716126
Change-Id: I6beb45d91f59a851787c9f40b40266fb985198d5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2288330
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: back sept 10 - Jamie Madill <jmadill@chromium.org>
2020-09-01 19:30:14 +00:00
Jonah Ryan-Davis e5f188b237 Check for "Radeon" in renderer string.
AMD workarounds relied on the vendor string containing "AMD" or
"ATI". Some vendor strings only contain "Radeon", which lead to
workarounds not being enabled.

Bug: angleproject:5004
Change-Id: Ie32852212afd1df1f3f691c87a5459e1b53b74b6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2385932
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2020-09-01 15:07:21 +00:00
Tobin Ehlis 736c43a1bb Rename ANGLE apk package to org.chromium.angle
Bug: b/167223999
Change-Id: Iaa0b7c779bf744da17a0defba32c966225300a4c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2385915
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Tobin Ehlis <tobine@google.com>
2020-09-01 14:09:21 +00:00
angle-autoroll c21fdb07d6 Roll Chromium from 1ca2f943e522 to 863342438ec1 (403 revisions)
1ca2f943e5..863342438e

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 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

Changed dependencies
* build: 2dbf41fec1..25864a085f
* testing: 7f8ef3207a..463368f793
* tools/clang: 89d15db591..fcef86e30a
No update to Clang.

Bug: None
Tbr: cwallez@google.com
Change-Id: I1c0e4eb2e06e9f702dc0a6905fdd417217626875
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2387740
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-09-01 10:06:51 +00:00
angle-autoroll 65b6332d1b Roll SPIRV-Tools from f428aa39ca2b to 8a0ebd40f86d (1 revision)
f428aa39ca..8a0ebd40f8

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: Id9c2c30cb142fe4a4c20c5f63f90ac2896b7bac4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2387377
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-09-01 08:23:41 +00:00
angle-autoroll 917ce29270 Roll Vulkan-ValidationLayers from 0e98e894a84c to f1315472247d (2 revisions)
0e98e894a8..f131547224

2020-08-31 bob@lunarg.com android: NDK 21d
2020-08-31 jzulauf@lunarg.com syncval: Fix range computation for 3D images

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 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: Ib8cb088525c5cea2b7dd5edde57fdd8c64f111f3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2387378
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-09-01 08:15:41 +00:00
angle-autoroll afe7d990a4 Roll Vulkan-Tools from 1b0bbd1550ed to 25d277579d1e (1 revision)
1b0bbd1550..25d277579d

2020-08-31 bob@lunarg.com android: NDK 21d

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: I7807df296b6cd3a1be12b5e87da4dc7ea2efb529
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2387376
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-09-01 08:01:42 +00:00
Charlie Lao c0dda02196 Vulkan: release the ImageHelper's staging buffer after flush
For mutable textures, right now glTexImage call and some of other cases,
we are still using the ImageHelper's staging buffer. This will release
the staging buffer after flush to reduce memory footprint.

Bug: b/164511310
Change-Id: Ie1e52865a1c3a8f235c88331c4bb83c50d3f04da
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2378179
Reviewed-by: back sept 10 - Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
2020-09-01 00:47:56 +00:00
James Darpinian 59d28532a1 Fix GL_EXT_texture_compression_s3tc_srgb on macOS
GL_EXT_texture_compression_s3tc_srgb wasn't being exposed on macOS
because formatutilsgl.cpp was looking for GL_EXT_texture_sRGB, but
it was moved to core in 2.1 and the macOS driver doesn't report it
anymore.

Bug: angleproject:4997
Change-Id: Iae736fac6d315f567ff5d834a043134f91625e59
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2380516
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
2020-08-31 22:00:26 +00:00
Mohan Maiya f7b607c63c Vulkan: Optimize atomic counter buffer offset calculations
Call writeAtomicCounterBufferDriverUniformOffsets method
only if there are valid atomic counter buffers

Bug: angleproject:3566
Change-Id: I03c3fd2095e30381597bfc66acae0ccbf828d401
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2383787
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: back sept 10 - Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2020-08-31 20:04:02 +00:00
Alexis Hetu e1e6f2940c Make copyTexImage2D robust when source area is out of bounds
Whenever the source area of the texture being copied is out of
bounds and robust resource init is enabled, it is necessary to
clear the invalid portion of the source area to 0 in the copy
operation.

Bug: angleproject:3930
Change-Id: If1605b917097006c37e7d59c66babbc32d0ba6d8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2378004
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: back sept 10 - Jamie Madill <jmadill@chromium.org>
Commit-Queue: Alexis Hétu <sugoi@chromium.org>
2020-08-31 17:05:29 +00:00
Tobin Ehlis a25b165a22 Vulkan: Add transient flag to command pool
Add the VK_COMMAND_POOL_CREATE_TRANSIENT_BIT flag when creating the
PersistentCommandPool since the command buffers are only used once and
then reset. Update the tracking bugs.

Bug: b/166641492
Bug: b/166793850
Change-Id: I5827b5df7dd150756325421fc6ff0283bbd8b8e1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2381943
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: back sept 10 - Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Tobin Ehlis <tobine@google.com>
2020-08-31 16:12:05 +00:00
Corentin Wallez a1d5ebbf37 Suppress flaky failure on Win Intel OpenGL
TBR=syoussefi@chromium.org
Bug: angleproject:5003
Change-Id: I4bc2c963d69ba529d62e01c21080540e54b46796
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2385497
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2020-08-31 15:49:45 +00:00
Jamie Madill 7b5439987f Remove Vulkan repos from export targets ignore list.
These were all fixed upstream.

Bug: angleproject:4077
Change-Id: Id67cfdb62ec9949b0e8cb249d5bb1696ad205376
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2378924
Reviewed-by: back sept 10 - Jamie Madill <jmadill@chromium.org>
Commit-Queue: back sept 10 - Jamie Madill <jmadill@chromium.org>
2020-08-31 15:30:15 +00:00
angle-autoroll 6ec0b23923 Roll Vulkan-ValidationLayers from af56d31487bb to 0e98e894a84c (2 revisions)
af56d31487..0e98e894a8

2020-08-28 jmadill@chromium.org GN: Fix header dependencies.
2020-08-28 s.fricke@samsung.com layers: Label VUID 04145

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 courtneygo@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: courtneygo@google.com
Change-Id: I698370988403ad0a0b6081d65d6a633bddef9417
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2384522
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-31 08:17:43 +00:00
angle-autoroll a3255db4d1 Roll Chromium from 84714fcf811e to 1ca2f943e522 (3121 revisions)
84714fcf81..1ca2f943e5

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 courtneygo@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

Changed dependencies
* build: 7076d3be06..2dbf41fec1
* buildtools: b00ad0af63..ff93f3ea1a
* testing: 855f6eb5b6..7f8ef3207a
* third_party/abseil-cpp: 24b0f49452..18c972d967
* tools/clang: 299e8a2339..89d15db591
No update to Clang.

Bug: angleproject:4846
Tbr: courtneygo@google.com
Change-Id: I8dacd86570bc49943f99b5c92bfd7004632f4e04
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2384167
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-31 08:12:43 +00:00
angle-autoroll d55a6c9cd8 Roll SPIRV-Tools from 08291a3a9e22 to f428aa39ca2b (1 revision)
08291a3a9e..f428aa39ca

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 courtneygo@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: courtneygo@google.com
Change-Id: Ic2e61f80476639fbea4d4337397f7168a9e459cc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2384524
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-31 08:08:13 +00:00
angle-autoroll b4c90eee2f Roll SwiftShader from ec3650f56ca2 to a2e6c1a149f4 (4 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/ec3650f56ca2..a2e6c1a149f4

2020-08-28 capn@google.com Optimize multisample resolve with SSE2 instructions
2020-08-28 capn@google.com Add a fast multisample resolve code path
2020-08-28 capn@google.com Make multisample resolve a Blitter method
2020-08-28 capn@google.com Work around std::is_trivially_copyable issue with MSVC

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 courtneygo@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: courtneygo@google.com
Change-Id: I4aa727c76999ca92b921aa9aa70a5d4ef7974a4a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2384523
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-31 08:03:13 +00:00
Shahbaz Youssefi 2f291c0bd1 Vulkan: Re-enable fixed dEQP tests
The script that loads the entry point loaded
glRenderbufferStorageMultisampleEXT from
GL_EXT_multisampled_render_to_texture wrong.  This is fixed in
https://github.com/KhronosGroup/VK-GL-CTS/pull/221.

Bug: angleproject:4836
Change-Id: I843b359b12a042f08a63ba6723cf31bdb8509661
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2331740
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2020-08-31 02:42:18 +00:00
Shahbaz Youssefi a0d048a402 Vulkan: Fool-proof usage of GL and VK level indices
Using boxed types, this change allows the compiler to catch errors when
a level index in one space (e.g. GL) is mistakenly used in another space
(e.g. VK).

This change uncovered a number of bugs due to such mistakes which are
fixed.

Mistakes are still possible when the index is explicitly extracted, for
example to be given to a Vulkan command, or when it's created, for
example when retrieved from gl::ImageIndex::getLevelIndex.  Future work
can include using gl::LevelIndex in gl::ImageIndex directly to alleviate
the latter at least.

Bug: angleproject:4880
Change-Id: I6427c68c3bc096f771402f51c8554d8171758aa9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2380232
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
2020-08-30 03:16:18 +00:00
Jamie Madill 8d412db25c Revert "Convert unordered_map to absl::flat_hash_map for select files"
This reverts commit 1acaf4eced.

Reason for revert: Fails when is_component_build is not set:

lld-link: error: <root>: undefined symbol: public: __cdecl absl::Condition::Condition<struct std::__1::atomic<bool> const>(bool (__cdecl *)(struct std::__1::atomic<bool> const *), struct std::__1::atomic<bool> const *)
<snip>

Original change's description:
> Convert unordered_map to absl::flat_hash_map for select files
> 
> This is the initial CL to start migrating to abseil in various places:
> - formatutils.h
> - FramebufferVk.h
> - Program.h
> - ProgramExecutableVk.h
> - RewriteRowMajorMatrices.cpp
> 
> This intentionally hits a couple different places in the code to make
> sure the abseil dependencies are added to the required targets.
> 
> Bug: angleproject:4873
> Change-Id: I68c7d067b6912b0cc0ecde231501dbed92f0b189
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2321735
> Commit-Queue: Tim Van Patten <timvp@google.com>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Charlie Lao <cclao@google.com>

TBR=timvp@google.com,jmadill@chromium.org,cclao@google.com

Change-Id: I75041532fc5126b4c7cc5e0d4529883fb357e05b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:4873
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2383870
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2020-08-29 22:25:28 +00:00
Jamie Madill f71283c987 Fix EGLContextCompatibilityTest.
The check for "IsPlatformAvailable" was inverted. We were incorrectly
trying only to create a context on invalid configs.

Bug: angleproject:4449
Change-Id: I03fbdc7794a338a55b9dc64521915a8be247bf35
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2376045
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2020-08-29 15:58:26 +00:00
angle-autoroll 776538aab0 Roll VK-GL-CTS from 11fcbbf5d7cc to 3b3f93c206dc (13 revisions)
11fcbbf5d7..3b3f93c206

2020-08-28 alexander.galazin@arm.com Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/master
2020-08-28 paulthomson@google.com Add a batch of GraphicsFuzz tests
2020-08-28 jari@siru.fi Added test for reusing query handle
2020-08-28 alexander.galazin@arm.com Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/master
2020-08-28 alexander.galazin@arm.com Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
2020-08-28 alexander.galazin@arm.com Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/master
2020-08-28 alexander.galazin@arm.com Merge vk-gl-cts/github-master into vk-gl-cts/master
2020-08-27 karolina.palka@mobica.com Add tests for Read/Write ops on mismatched formats
2020-08-27 ari.suonpaa@siru.fi Add tests for shader reuse with differing layout
2020-08-27 mikko.tiusanen@siru.fi Move texel_offset into it's own test group
2020-08-27 rgarcia@igalia.com Enable random writes for dynamic storage buffers
2020-08-27 ashafer@nvidia.com Add support for FreeBSD
2020-08-27 alexander.galazin@arm.com Restore cubic filtering tests

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 courtneygo@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: courtneygo@google.com,angle-bots+autoroll-info@google.com
Change-Id: I4151c33b45d74c1db551750ad02e162e5679d133
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2383575
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-29 15:24:05 +00:00
Jamie Madill b4efc051da Enable -Wdeprecated-copy.
This is another warning turned on in Skia. It enforces an explicit
copy assignment operator in some implicitly-generated cases. It
caught one potential error in SubresourceUpdate.

Bug: skia:7647
Change-Id: Ia501f619cf7f3d2e8647cdbbda2936f51f9721ba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2381953
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2020-08-29 01:23:42 +00:00
Jamie Madill 5fde632c4b Force impicit fallthrough off in xxhash.
This silences a warning present in Skia. The warning is disabled
in ANGLE/Chrome by build's compiler.gni.

Bug: skia:7647
Change-Id: Ie6308b7f4395786564aa79db8eb35401f3d98048
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2382414
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2020-08-29 01:21:32 +00:00
Shahbaz Youssefi 331581e957 Make copy*Texture parameters consistent for level indices
They were passed as size_t, while GL level indices are GLint throughout
ANGLE.

Bug: angleproject:4880
Change-Id: I43bc9f01a607e457b55a061f473450d3360db808
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2380230
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
2020-08-29 01:02:12 +00:00
Charlie Lao fbafb46ce0 Vulkan: Use context staging buffer for CopyTexSubImage
This will avoid allocate staging buffer if there isn't one already.

Bug: b/164511310
Change-Id: Ieb5ef12fa58c52c0a62276cab6de135fdd62780c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2377121
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
2020-08-28 23:53:52 +00:00
Tim Van Patten 1acaf4eced Convert unordered_map to absl::flat_hash_map for select files
This is the initial CL to start migrating to abseil in various places:
- formatutils.h
- FramebufferVk.h
- Program.h
- ProgramExecutableVk.h
- RewriteRowMajorMatrices.cpp

This intentionally hits a couple different places in the code to make
sure the abseil dependencies are added to the required targets.

Bug: angleproject:4873
Change-Id: I68c7d067b6912b0cc0ecde231501dbed92f0b189
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2321735
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
2020-08-28 23:45:32 +00:00
Jamie Madill 330c867370 Enable MSVC warning 4312.
This is caught in the Skia build.

Bug: skia:7647
Change-Id: I9b164f6fcc55b7e13981659ee8a08766a99a2122
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2381084
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2020-08-28 23:26:42 +00:00
Le Hoang Quyen 966a62cb2d Metal: autogen for EXT_occlusion_query_boolean.
Bug: angleproject:2634
Change-Id: I4d6a6378a269ea9e38e9282d6dbfa45e4e3d4d5a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2336126
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2020-08-28 23:03:42 +00:00
Charlie Lao 5ac807b267 Vulkan: Let stageSubresourceUpdateAndGetData use ctx staging buffer
stageSubresourceUpdateAndGetData call are made and then flush the
commands out, so they could just switch to use context's staging buffer
instead of use per object's staging buffer.

Bug: b/164511310
Change-Id: Iff7944a37073bb3641498e334847f599903858b1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2376895
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2020-08-28 22:30:42 +00:00
Jamie Madill 1ab8b75a61 Enable -Wreturn-std-move-in-c++11.
Only one fix needed.

Bug: skia:7647
Change-Id: I048d54ed67fbb09f4dce6c918db26ea63e7127a8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2376719
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2020-08-28 21:43:56 +00:00
Jamie Madill c7217aaa8e Enable -Wbad-function-cast.
Fixes a small bug in xxhash.

Bug: skia:7647
Change-Id: Ibd0bd8dc4febfe585e257786d9683ea09c94ec6a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2376718
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2020-08-28 21:42:26 +00:00
Tim Van Patten ed33795bbe Add third_party/abseil-cpp to ANGLE
1. Add third_party/abseil-cpp to DEPS so it can be used in ANGLE.
2. Add abseil directory to ANGLE overrides.
3. Add third_party/abseil-cpp to .gitignore.
4. Add third_party/abseil-cpp to roll_chromium_deps.py so it's
auto-rolled periodically.

Bug: angleproject:4873
Change-Id: Ic158bba844e88ec90ac56a2f8c817168c4bea17f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2321734
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
2020-08-28 21:30:49 +00:00
Charlie Lao 9e544a84fa Vulkan: Fix alignment issue with context staging buffer
Context's staging buffer is shared for all kind of usages. We should
pass in alignment requirement for allocate call whenever it is different
from the default alignment. This adds allocateWithAlignment call to
DynamicBuffer call and switch ImgeHelper's usage of it to
allocateWithAlignment

Bug: b/164511310
Change-Id: Idcb6b6f95d6862ee6cb8fca9c164910b7e085a17
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2373590
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
2020-08-28 21:08:15 +00:00
Le Hoang Quyen 1c654d5496 Metal: Fix handling of vertex attrib offset not multiple of 4
Metal requires the vertex attribute offset to be multiples of 4, and its
stride must not be less than attribute's size.
This should fix the WebGL's test:
conformance/attribs/gl-vertexattribpointer-offsets.html

Bug: angleproject:4846
Bug: angleproject:2634
Change-Id: I0784a8ccaedd5e6c58a266243bfa94ba36e53e11
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2374829
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2020-08-28 20:12:55 +00:00
Jamie Madill 5c56f22864 Enable two override suggestion warnings.
-Wsuggest-destructor-override and -Wsuggest-override.

Bug: skia:7647
Change-Id: Iaac1baa8f34fdf210baf2fdbe811a582b3ac2d14
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2376717
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2020-08-28 19:47:05 +00:00
Cody Northrop 34120d075d Capture/Replay: Track groups of strings
When string counters were added, it accidentally broke
transform feedback varyings.

All the strings were combined, resulting in:

  const char *glTransformFeedbackVaryings_varyings_0[] = {
      R"(out_Posout_Aout_Bout_C)"
   };

Instead, generate the counter for the entire group.

This CL results in:

  const char *glTransformFeedbackVaryings_varyings_0[] = {
      R"(out_Pos)",
      R"(out_A)",
      R"(out_B)",
      R"(out_C)",
   };

Test: Manhattan MEC works again
Bug: angleproject:4941
Change-Id: Ie605395942c9105ba234009989f41a2a1cd8c53e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2381565
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
2020-08-28 19:21:45 +00:00
Le Hoang Quyen 9100465414 Metal: Implement ANGLE_robust_resource_initialization.
Bug: angleproject:4929
Bug: angleproject:2634
Change-Id: Ib99b810059420e69d939f1bbb644c2b95de62850
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2374826
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
2020-08-28 16:35:35 +00:00
David Reveman 9a19a996ec Vulkan: Use 4 MB as preferredLargeHeapBlockSize for allocator.
This reduces preferredLargeHeapBlockSize from the default
value of 256 MB to 4 MB, which reduces the initial block
size from 32 MB to 512 KB.

4 MB is the same size as used by Chromium and Skia. It seems
to be a good compromise of not wasting unused allocated space
and not making too many small allocations.

This change is limited to non-Qualcomm GPUs as a number of
tests are failing on Qualcomm after this change and the
initial investigation indicates a potential driver bug. See
http://anglebug.com/4995 for more details.

Bug: chromium:1122718
Bug: fuchsia:58959
Change-Id: Ifdaf863ef38e72098a04ee57dec46ee71cab6ac3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2376891
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: David Reveman <reveman@chromium.org>
2020-08-28 16:29:05 +00:00
Shahbaz Youssefi 167a0f22e2 Vulkan: Fixes to transform feedback emulation path
Two bugs were affecting the following scenario:

- Create program with xfb and no default uniforms
- Draw without xfb
- Begin xfb
- Draw with xfb
- End xfb
- map and validate

The first bug was that the descriptor set that contains the xfb buffers
and default uniforms was never allocated for the first draw call
resulting in VVL errors and crashes.

The second bug was that "Begin xfb" was not setting the xfb buffers
dirty bit, which meant that after the first draw call bound dummy
buffers to the descriptor set, they would not get updated.  This was
simultaneously fixed in 5d3a4ca4e, but the added test nevertheless tests
this.

Bug: angleproject:4660
Change-Id: I16eee315e39ec5a657481e54ecd0491581e886aa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2376172
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2020-08-28 15:24:51 +00:00
angle-autoroll 5c8601ed82 Roll Vulkan-ValidationLayers from cac2574c240a to af56d31487bb (5 revisions)
cac2574c24..af56d31487

2020-08-27 s.fricke@samsung.com layers: Better timeline semaphore error messages
2020-08-27 s.fricke@samsung.com layers: Label VUID 01413
2020-08-27 s.fricke@samsung.com layers: Label pipeline stype-stype VUs
2020-08-27 s.fricke@samsung.com layers: Label VUID 01260
2020-08-27 s.fricke@samsung.com layers: Label VUID 04121

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 courtneygo@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: courtneygo@google.com
Change-Id: I4965eda51ac41e8cf1106ee7056e1c696663997f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2381208
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-28 09:49:33 +00:00
angle-autoroll 20c9dd6263 Roll Vulkan-Loader from 0654095b63fb to d846ea5a2427 (4 revisions)
0654095b63..d846ea5a24

2020-08-28 charles@lunarg.com docs: Remove mention of old layers
2020-08-27 shannon@lunarg.com build: Update known-good files for 1.2.152 header
2020-08-27 lenny@lunarg.com tests: Change license to Apache 2.0
2020-08-27 jmadill@chromium.org GN: Add missing header dependencies.

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-loader-angle-autoroll
Please CC courtneygo@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: courtneygo@google.com
Change-Id: I837d6fa6e592d0d26b76d56d1420052269099b06
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2381296
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-28 09:41:23 +00:00
angle-autoroll 5828d7b6ec Roll Vulkan-Tools from c472fa2f0330 to 1b0bbd1550ed (1 revision)
c472fa2f03..1b0bbd1550

2020-08-27 jmadill@chromium.org Update GN to include header dependencies.

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 courtneygo@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: courtneygo@google.com
Change-Id: I77bb70778e9a5a7d30e2fe22cf8daafcdb6c1ae0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2381293
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-28 08:12:52 +00:00