Log

Author Commit Date CI Message
Shahbaz Youssefi c6e63da8 2020-12-24T21:32:42 Suppress IOBlocksSeparate xfb test on AMD/Linux/GL Bug: angleproject:5487 Bug: angleproject:5493 Change-Id: I6e15c35eacafef0ac4b7c7789619470501e31402 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2601345 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov 9f0748ea 2020-12-24T16:05:24 Skip TransformFeedbackTestES31.IOBlocks* on Linux AMD Vulkan Bug: angleproject:5493 Change-Id: I5e0b0ec478807ebfe7a0ec114adaba13ea103ea0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2601344 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
angle-autoroll 26c8aaad 2020-12-24T07:01:36 Roll Chromium from 75537d54458b to 8baa5d6f121f (63 revisions) https://chromium.googlesource.com/chromium/src.git/+log/75537d54458b..8baa5d6f121f 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 ynovikov@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: https://chromium.googlesource.com/chromium/src/build.git/+log/49a440c36a..fffb44c47e * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..3f5c581d3b No update to Clang. Bug: None Tbr: ynovikov@google.com Change-Id: Ifed577c2fa17724f4629352d68fc555fa7747fb5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2602788 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
James Darpinian cde0e3ab 2020-12-22T16:38:47 Don't use optional BGRA_EXT by default It's not currently exposed on iOS. Bug: angleproject:5417 Change-Id: I2564d3363f8f8bddad4da7d8a9d7dac9bea15897 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2600454 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: James Darpinian <jdarpinian@chromium.org>
James Darpinian 939195a0 2020-12-23T15:12:30 Skip tests using unimplemented features on iOS Bug: angleproject:5485 Change-Id: I3248126060b9957596f65221c60f42f213e9a9dc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2601377 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: James Darpinian <jdarpinian@chromium.org>
James Darpinian 7061af26 2020-12-22T10:43:45 Fix BlitFramebuffer issues with large rects on iOS Enable adjustSrcDstRegionBlitFramebuffer workaround on iOS and fix a conflict when it is enabled in combination with clipSrcRegionBlitFramebuffer. Bug: angleproject:5417 Change-Id: I1de0f9f392643fbcf6900bad86d83084cb6d4009 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2601106 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: James Darpinian <jdarpinian@chromium.org>
Jonah Ryan-Davis 88fec1e8 2020-12-23T11:53:55 Code generation for NV_framebuffer_blit Generate the entry points for NV_framebuffer_blit. Bug: angleproject:5474 Bug: chromium:1157057 Change-Id: Iadffa24ce7368d8ab6c4bf9d5b6c016276e762f5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2602242 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
angle-autoroll dd1ecbc9 2020-12-23T21:25:59 Roll Chromium from a5e4417becc2 to 75537d54458b (114 revisions) https://chromium.googlesource.com/chromium/src.git/+log/a5e4417becc2..75537d54458b 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 ynovikov@google.com,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/master/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/d4fcf57b4e..49a440c36a * testing: https://chromium.googlesource.com/chromium/src/testing/+log/36d8b4b883..f9f9a7c26e * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..be9a4317e5 No update to Clang. Bug: angleproject:5390 Tbr: ynovikov@google.com,jmadill@google.com Change-Id: I7ed34cac8bd0d669fdc05aaa5e6f82d177caa9f8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2602626 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Tim Van Patten e16ff968 2020-12-23T12:49:58 Android: Update adb install to include -r -d --force-queryable The adb install command is being updated to include the following options: -r: replace existing application -d: allow version code downgrade (debuggable packages only) --force-queryable: mark the ANGLE APK as visible to all other packages This will allow AngleLibraries.apk to install without errors and be loadable for apps targeting SDK >= 30. Bug: b/175800879 Change-Id: I61bb7218b407e54057adbfb5aa3098a96b903f5e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2602241 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
James Darpinian 0dbe7cdd 2020-12-08T12:24:35 iOS testing support angle_white_box_tests build and runs and passes on the iOS simulator with this change. angle_end2end_tests builds and runs but crashes. Bug: angleproject:4256 Bug: angleproject:5417 Change-Id: I8817e46415c4598cbfae49804727a2e9b21baff1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2600361 Commit-Queue: James Darpinian <jdarpinian@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Shahbaz Youssefi eeb14308 2020-12-23T01:45:35 Vulkan: Support xfb capture of I/O block fields In the emulation path, it's ensured that the generated code references the I/O block field correctly (using the instance name if provided, and without it otherwise). In the extension path, the info map is augmented with an array of xfb decorations for its fields. Then when `OpDecorate %IOBlockId Block` is encountered, the transform feedback decorations on the fields are inserted: OpMemberDecorate %IOBlockId MemberN XfbBuffer buffer OpMemberDecorate %IOBlockId MemberN XfbStride stride OpMemberDecorate %IOBlockId MemberN Offset offset Future work includes removing the duplicate varying added for gl_PointSize and use this mechanism to decorate gl_PerVertex directly. Bug: angleproject:3606 Change-Id: I6fed0b1ee7245fe695337043b40b281fb01a1fb0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2599953 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 8065aa82 2020-12-22T23:38:42 Front-end support for xfb capture of I/O block members Validation and generation of transform feedback varyings that specify an I/O block member are implemented in this change. The GL backend is able to pass the added tests. Bug: angleproject:3606 Change-Id: I66d02bed8ca9161555d0d1e7a32ae9ef4d9e813f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2599952 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Jamie Madill c500ee03 2020-12-23T16:46:14 Revert "Changes to build inside a Dawn checkout." This reverts commit 11c31e0a4a73d7d62e765dc7ec400560fbb16b5e. Reason for revert: Broke ANGLE -> Skia roll because of GN error. Bug: angleproject:5489 Original change's description: > Changes to build inside a Dawn checkout. > > Add an "angle_standalone" flag that can be disabled by Dawn. > Put test definitions behind angle_standalone || build_with_chromium. > > Bug: angleproject:5462 > Change-Id: I58c9b18723384334156e2a3dd86ed3f89afcaade > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2587451 > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Commit-Queue: Stephen White <senorblanco@chromium.org> TBR=senorblanco@chromium.org,jmadill@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: angleproject:5462 Change-Id: I4363d1d35b03e00d970e25ddd3d7eac51ad2da2d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2600078 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
angle-autoroll d447829c 2020-12-23T07:00:30 Roll Chromium from 78f4bbcd4cb1 to a5e4417becc2 (263 revisions) https://chromium.googlesource.com/chromium/src.git/+log/78f4bbcd4cb1..a5e4417becc2 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 ynovikov@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: https://chromium.googlesource.com/chromium/src/build.git/+log/b4b7adbdc2..d4fcf57b4e * testing: https://chromium.googlesource.com/chromium/src/testing/+log/9d83fdb696..36d8b4b883 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/3b78ceeade..ea63baff14 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..2752abe7e2 * third_party/libjpeg_turbo: https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git/+log/e9a659a09e..09efc26aff No update to Clang. Bug: None Tbr: ynovikov@google.com Change-Id: Ic57fe979eda136816aca4bcf9f38eb476e07cb56 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2601584 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Jamie Madill b91afcfd 2020-12-11T10:58:54 Bump implementation max textures/images limit to 96. We need the higher limit for tessellation shaders and ES 3.2. Unfortunately this means we are no longer using a packed 64-bit bitset for the active textures and images. We fallback to using std::bitset. Also keeps the 64 texture limit if tessellation is not available. The higher limits was causing timeouts in WebGL tests. Bug: angleproject:3572 Change-Id: I1953955600b56d7c66178bd610de53453151dc8f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2586996 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
James Darpinian c2a620b0 2020-12-22T11:44:32 Fix out of bounds indices in transform feedback test Type confusion on the index buffer. It should be unsigned shorts. Fixes a crash on iOS. Bug: angleproject:4992 Bug: angleproject:5417 Change-Id: I18179a89dd81fff2582636496ea9684e432f4400 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2601162 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 5c0ba543 2020-12-22T09:32:42 Roll VK-GL-CTS from 54509765b18d to b29bf0434c16 (15 revisions) Manually update deqp.gni to include new es3cNumberParsingTests files. https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/54509765b18d..b29bf0434c16 2020-12-19 alexander.galazin@arm.com Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master 2020-12-18 alexander.galazin@arm.com Raise min CMake version to 3.10.2 2020-12-18 jeremyg@lunarg.com Fix Renderpass storeOp synchronization hazards 2020-12-18 jeremyg@lunarg.com Fix back-to-back transfer command synchronization hazards 2020-12-18 gleese@broadcom.com Simplify code for subgroup builtin mask tests 2020-12-18 jeremyg@lunarg.com Fix end of Renderpass synchronization hazards 2020-12-18 jeremyg@lunarg.com Fix additional RenderPass loadOp/stencilLoadOp sync hazards. 2020-12-18 jeremyg@lunarg.com Fix RenderPass stencilLoadOp synchronization hazards. 2020-12-18 jeremyg@lunarg.com Fix RenderPass loadOp synchronization hazards. 2020-12-17 mikko.tiusanen@siru.fi Tests for GLES3 number parsing 2020-12-17 mikko.tiusanen@siru.fi Tests for multiple clears within render pass 2020-12-17 rgarcia@igalia.com Enable nullDescriptor for AS ray query tests 2020-12-15 piotr.byszewski@mobica.com Test dynamic indexing of AS 2020-12-15 rgarcia@igalia.com Test dynamic indexing of ray queries 2020-12-13 piotr.byszewski@mobica.com Test procedural geometry with complex BB sets 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 ynovikov@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: ynovikov@google.com,angle-bots+autoroll-info@google.com Change-Id: I59e4aabcfbf496d02e18ba7b7aa06391ba90f434 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2600639 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Shahbaz Youssefi 74788951 2020-12-22T13:11:17 Vulkan: Fix assertion in xfb of indirect calls An assertion was fired which was only valid when emulating transform feedback. The relevant block is conditioned to the respective feature. Bug: angleproject:3571 Change-Id: I287ef6d94c920ccda742e4032bfc389409a38e1f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2599951 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 9d45f527 2020-12-21T14:23:11 Vulkan: GS tests that demonstrate gl_Position bugs Bug: angleproject:5478 Bug: angleproject:5479 Change-Id: If7ae7b6e0960c66dde697726381bc68c6809b3c6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2599940 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 00643e7d 2020-07-22T20:58:49 Use Android API to get storage path. This pipes through to a system call via JNI. This will allow Chromium changes to land that were prevented because ANGLE hard-coded some parts of this path. This in turn will allow us to more easily override these paths for changes needed for Android R support. Bug: chromium:1094062 Change-Id: I20d75b8ee40d418ba5c057f618640ef896248299 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2315483 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Shahbaz Youssefi 85707f7f 2020-12-21T14:52:38 Vulkan: Pass in SPIR-V transform options in a struct Clean up change in preparation for changes that add more options. Bug: angleproject:5478 Change-Id: Id35825b337dba153a5c28dfcc311b344ce257f78 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2599941 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
angle-autoroll 41d78ae1 2020-12-22T07:00:34 Roll Chromium from 4545fb53923b to 78f4bbcd4cb1 (198 revisions) https://chromium.googlesource.com/chromium/src.git/+log/4545fb53923b..78f4bbcd4cb1 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 ynovikov@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: https://chromium.googlesource.com/chromium/src/build.git/+log/34da458aa2..b4b7adbdc2 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/c28f31863b..9d83fdb696 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..8d43e58994 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/d324a17c34..1283870fa3 No update to Clang. Bug: None Tbr: ynovikov@google.com Change-Id: I9782920f655b361fcf171cecd29f06f671fe5d8c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2600183 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Stephen White 11c31e0a 2020-12-21T09:57:58 Changes to build inside a Dawn checkout. Add an "angle_standalone" flag that can be disabled by Dawn. Put test definitions behind angle_standalone || build_with_chromium. Bug: angleproject:5462 Change-Id: I58c9b18723384334156e2a3dd86ed3f89afcaade Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2587451 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Stephen White <senorblanco@chromium.org>
Charlie Lao 0c5a55a5 2020-12-17T14:52:59 Vulkan: MapBufferRange should avoid wait if INVALIDATE_BUFFER is set If glMapBufferRange is called with GL_MAP_INVALIDATE_BUFFER_BIT bit set, caller indicates that it don't care about the previous content. If the buffer is busy, instead of wait for GPU to finish and then map the buffer, we should just allocate a new memory and return it. brawl_stars is hitting this case. With this CL, the frame time is cutting to half on the pixel device. Bug: b/175905404 Change-Id: If1220f07ebf53dd28fe6a4732eaba84e2e57598e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2597784 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Shahbaz Youssefi 4e2b6d6b 2020-12-21T10:48:12 Fix PackedVarying's move constructor The move constructor was calling the move assignment operator, which used std::swap on the members. However, `this` was not constructed, so std::swap was operating on uninitialized values. Caught by UBSAN. Bug: chromium:1159444 Change-Id: I65f2f0affd1461f880c59780f31a368779411f24 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2599936 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 4ebcee3e 2020-12-21T07:00:34 Roll Chromium from af73f1e9f8c8 to 4545fb53923b (180 revisions) https://chromium.googlesource.com/chromium/src.git/+log/af73f1e9f8c8..4545fb53923b 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: https://chromium.googlesource.com/chromium/src/build.git/+log/68fec68de7..34da458aa2 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/e5bbe1bc6f..c28f31863b * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..8d43e58994 No update to Clang. Bug: None Tbr: cwallez@google.com Change-Id: Ib5357a8c44f44245b5df8e583e8460b9ac84a70f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2597052 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Le Hoang Quyen ed9213bc 2020-12-18T12:12:10 Metal: explicitly convert XFB vertex shader to void function Previously, spirv-cross would automatically do this (converting to void function) if shader writes to XFB buffers, however this behavior is changed in latest spirv-cross version. So the rasterization disable must be explicitly specified via spirv-cross’s options now. Bug: chromium:1159974 Change-Id: I9f34e1cd9d2f1386e8a8d030a800fbd7341eb68f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2596914 Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
jchen10 0322fc1a 2020-12-16T11:02:13 Disable syncFramebufferBindingsOnTexImage on Intel/Win/GL The driver fix is available already. Bug: angleproject:2906 Change-Id: Id607fa5217360afd99e5de0d2e5f35f79615d160 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2594323 Commit-Queue: Jie A Chen <jie.a.chen@intel.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Kenneth Russell 011e0ad1 2020-12-16T17:34:50 Promote RGBA4444 and RGB565 to RGB[A]8 on macOS with AMD GPUs. There are bugs in Apple's OpenGL driver when uploading to textures of these formats via pixel buffer objects. Because automatic graphics switching might activate the AMD GPU at any time, use this workaround on dual-GPU MacBook Pros even if the Intel GPU is active. Fixes the following WebGL 2.0 conformance tests: deqp/functional/gles3/texturespecification/ teximage2d_pbo_2d_00.html teximage2d_pbo_2d_01.html texsubimage2d_pbo_2d_00.html texsubimage2d_pbo_2d_01.html texsubimage2d_pbo_cube_01.html Bug: angleproject:5469 Change-Id: I7d65dc5f664159b4b59d46400a8d9c492f67040b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2595245 Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 653f6196 2020-12-14T12:55:55 Import Vulkan DEPS from the new vulkan-deps repo. This will allow the entire set of Vulkan DEPS to be rolled as one. Bug: angleproject:5390 Change-Id: I10ca4f966f986baf3aab7250935802a3ed1065f1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2587671 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
angle-autoroll 0bb22ef2 2020-12-18T10:01:55 Roll SwiftShader from 1ca6504eb7bb to 1cc5b3357d2f (2 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/1ca6504eb7bb..1cc5b3357d2f 2020-12-17 amaiorano@google.com Optimize reciprocal sqrt operation 2020-12-17 amaiorano@google.com Optimize reciprocal operation 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: I138802959ca39114cf2d4373171b47b3a1911681 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2598359 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 165c345e 2020-12-18T07:02:04 Roll Chromium from 45e7154d4b07 to af73f1e9f8c8 (218 revisions) https://chromium.googlesource.com/chromium/src.git/+log/45e7154d4b07..af73f1e9f8c8 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: https://chromium.googlesource.com/chromium/src/build.git/+log/de4c58d749..68fec68de7 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/13342b6ee2..e5bbe1bc6f * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..8d43e58994 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/36810de981..d324a17c34 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/f9059111fd..bd7d73d146 No update to Clang. Bug: angleproject:5390 Tbr: cwallez@google.com Change-Id: I86fb4663eaf9eed3992dcc2721b489d5bbd6add2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2598280 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
jchen10 c0bbe6cf 2020-12-16T11:56:52 Unsuppress TextureCubeTest.CubeMapFBO on Intel/Win/Vulkan This disables forceCpuPathForCubeMapCopy as well Bug: angleproject:2822 Bug: angleproject:3055 Change-Id: Iecb37d0c2d109e319c67310dd64ad8d4bbc14fd8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2594707 Commit-Queue: Jie A Chen <jie.a.chen@intel.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tim Van Patten de703db5 2020-12-16T20:39:59 Fix ValidateBufferStorageEXT() ValidateBufferStorageEXT() has a copy/paste error where the flag GL_MAP_PERSISTENT_BIT_EXT is enabled twice while GL_MAP_COHERENT_BIT_EXT is not enabled at all during parameter checking, causing ANGLE to reject valid calls to glBufferStorageEXT(). Bug: angleproject:5473 Test: BufferStorageTestES3.BufferStorageFlagsPersistentCoherentWrite Change-Id: I05596f54d48118f609ef1c88ca222d9fcdb2dd3a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2596956 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
angle-autoroll 67170564 2020-12-17T20:40:49 Roll Chromium from 0592a5f8d414 to 45e7154d4b07 (750 revisions) https://chromium.googlesource.com/chromium/src.git/+log/0592a5f8d414..45e7154d4b07 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,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/master/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/deb698d48d..de4c58d749 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/6e6d8d1651..13342b6ee2 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/dfe5e0a3af..3b78ceeade * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..5039608d33 * third_party/protobuf: https://chromium.googlesource.com/chromium/src/third_party/protobuf/+log/9be8079c29..ec1e3f2e46 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/9cb7877086..f9059111fd * tools/skia_goldctl/linux: bTvIvWnbZxg0-7ukJDOeVphyUCuVIkxtui-gilfeBScC..Ac-h0vLh65FkA8CAYh5B6yg9X0l3cJFf5XCZkVByG1AC * tools/skia_goldctl/mac: 6s5TRj110nqaPlBS8YO4HN2dRmhheX7a-pp3YWURcnoC..NYEeKAWq6p8n1jHl0h3emCE3hdfWkaYbeoEPrnFO5dEC * tools/skia_goldctl/win: 4UEZlBTjAOzFCQchRqtALQwJDyYXa9Sj_52oUhXmNkoC..HHMFtoVyIQfQIhJgSOb5RkIHwzApVNZXRtDNjBCx3tEC No update to Clang. Bug: angleproject:5390 Tbr: cwallez@google.com,jmadill@google.com Change-Id: I8affb75cd7a06e38825d305ddbf043788cbe3721 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2597779 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Jonah Ryan-Davis 937bc82b 2020-12-17T17:57:50 Revert "GLX: Expose EGL_ANGLE_window_fixed_size" This reverts commit fa9b803e078fb833143df7a2b3f88c8694fa8f2f. Reason for revert: https://bugs.chromium.org/p/chromium/issues/detail?id=1157748 Original change's description: > GLX: Expose EGL_ANGLE_window_fixed_size > > Right now the GLX backend checks for resize on every SwapBuffers > call. If EGL_ANGLE_window_fixed_size is used, it will only resize > when signaled by Chrome. > > Bug: chromium:1132827 > Change-Id: Ia4ddbbbf6dcf13f46ad564208eccc517de8be33c > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2572886 > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> TBR=syoussefi@chromium.org,jonahr@google.com,jmadill@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: chromium:1132827 Change-Id: I1110c5dd5d806b3c6c59308d4865f0d3aa57fc3f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2595197 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
angle-autoroll 4a8a8470 2020-12-17T10:01:36 Roll glslang from a5be11bd8b3f to 6d5916d4a91e (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/a5be11bd8b3f..6d5916d4a91e 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: I46f0450f451d441565c70d292bc7d38fbf3711ed Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2596610 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 79f7012f 2020-12-16T10:01:55 Roll SwiftShader from fa44979d90aa to 1ca6504eb7bb (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/fa44979d90aa..1ca6504eb7bb 2020-12-15 amaiorano@google.com Fix ReactorBenchmarks build failure 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: I5b1c3a951a05843e44461ba9a30b7585d980864b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2594712 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Tim Van Patten 909ea88b 2020-11-20T13:07:53 Reland "Vulkan: Ignore glFlush to reduce vkQueueSubmits in Asphalt 9" This is a reland of 5cf7472dd161bbda329dfc5e4e65bb6ce0c06fbd The ShareGroupVk::mResourceUseLists was not being cleared each call to RendererVk::submitFrame(), so it was growing indefinitely. Each vk::ResourceUseList within it was cleared, so it was holding an essentially "infinite" list of empty lists, but that caused the loop in RendererVk::submitFrame() to take more and more time until the tests timed out. The fix is to do 'resourceUseLists.clear()' once the loop to release all resources has completed, like releaseResourceUsesAndUpdateSerials() does for each individual list. Additionally, ASSERTs are added to guarantee that the lists are empty when the ContextVk and ShareGroupVk are destroyed. Original change's description: > Vulkan: Ignore glFlush to reduce vkQueueSubmits in Asphalt 9 > > Multithreaded apps can use the following pattern: > > glDrawElements() > glFenceSync() > glFlush() > glWaitSync() > > This currently results in a vkQueueSubmit for every glFlush() to ensure > that the work has landed in the command queue in the correct order. > However, ANGLE can instead avoid the vkQueueSubmit during the glFlush() > in this situation by instead flushing the ContextVk's commands and > ending the render pass to ensure the commands are submitted in the > correct order to the renderer. This improves performance for Asphalt 9 > by reducing frame times from 150-200msec to 35-55msec. > > Specifically, ANGLE will call flushCommandsAndEndRenderPass() when > there is a sync object pending a flush or if the ContextVk is currently > shared. > > Additionally, on all devices except Qualcomm, ANGLE can ignore all other > glFlush() calls entirely and return immediately. For Qualcomm devices, > ANGLE is still required to perform a full flush (resulting in a > vkQueueSubmit), since ignoring the glFlush() reduces the Manhattan 3.0 > offscreen score by ~3%. > > Bug: angleproject:5306 > Bug: angleproject:5425 > Change-Id: I9d747caf5bf306166be0fec630a78caf41208c27 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2552718 > Commit-Queue: Tim Van Patten <timvp@google.com> > Reviewed-by: Charlie Lao <cclao@google.com> > Reviewed-by: Jamie Madill <jmadill@chromium.org> Bug: angleproject:5306 Bug: angleproject:5425 Bug: angleproject:5470 Change-Id: I14ee424d032f22e5285d67accbec078ad1955dd0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2595811 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Mohan Maiya 33fb6e38 2020-12-16T13:01:52 Vulkan: Unskip tests with passthrough GLSL function The 2 end2end tests added by a62ee4d1 no longer fail with latest Pixel ICDs. Enable those tests as regression checks. Tests: angle_end2end_tests --gtest_filter=*SamplerPassthrough*Vulkan* Bug: angleproject:5457 Change-Id: I53fb06fffa3fc76ef6f9a9e811ef5b833577ed67 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2595389 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Jamie Madill 34383894 2020-12-15T15:06:14 Roll third_party/spirv-cross/src/ f38cbeb81..be527632a (167 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross/+log/f38cbeb814c7..be527632a6c8 $ git log f38cbeb81..be527632a --date=short --no-merges --format='%ad %ae %s' 2020-11-25 comexk spirv_msl: Don't add fixup hooks for builtin variables if they're unused. 2020-11-23 cdavis MSL: Don't mask off inactive bits in ballot masks. 2020-11-20 cdavis MSL: Adjust FragCoord for sample-rate shading. 2020-11-23 post GLSL: Fix buffer_reference with aliased names. 2020-11-23 post GLSL: Emit storage qualifiers for buffer_reference. 2020-11-23 post HLSL: Fix validation with FXC for test. 2020-11-23 post Normalize all internal workaround methods to use spv prefix. 2020-11-21 scribam CMake: Set minimum required version to 3.0 2020-11-18 cdavis MSL: Expand subgroup support. 2020-11-12 git GLSL: Require GL_ARB_vertex_attrib_64bit for double input in pre-4.10 2020-11-14 cdavis MSL: Expose some more features on iOS. 2020-11-11 post MSL: Add missing reference file. 2020-11-11 post Fix switch fallthrough 2020-11-09 git GLSL: Legacy / extension fallbacks for textureSize and texelFetch 2020-10-29 jsikorski MSL: extract global variables from subgroup ballot operations 2020-11-08 post Run format_all.sh. 2020-11-08 post Update texture gather test result. 2020-11-07 git GLSL: Add error checking and extension fallback for textureGather 2020-11-07 git GLSL: Remove unused `lod` argument from legacy_tex_op() 2020-11-05 git GLSL: implement transpose() in GLSL 1.10 / ES 1.00 2020-11-06 git GLSL: Fix round/roundEven for legacy GLSL. 2020-11-05 git GLSL: Fix support for textureLod in legacy vertex shaders 2020-11-06 post MSL: Fix regression in image gather handling. 2020-11-02 cdavis MSL: Support pull-model interpolation on MSL 2.3+. 2020-11-03 git HLSL: Support roundEven() in HLSL SM 4.0 and above 2020-11-03 git HLSL: Add regression test for SM3.0 texture samplers 2020-10-31 git HLSL: Support depth comparison texture sampling in SM 2/3. 2020-11-03 post HLSL: Add option to flatten matrix vertex input semantics. 2020-11-03 post Parser: Don't assume OpTypePointer will always take a SPIRType. 2020-11-02 bill.hollings Syntax and format updates from code review. 2020-11-02 crisserpl2 Updated ref file for subgroups_basicvoteballot.vk.comp 2020-10-31 devsh.graphicsprogramming Fix some bad assumptions about emulating `subgroupBarrier` 2020-10-30 bill.hollings Minor format and typo updates from code review. 2020-10-27 cdavis MSL: Allow Bias and Grad arguments with comparison on Mac in MSL 2.3. 2020-10-30 post GLSL: Fix nonuniformEXT injection. 2020-10-30 atyuwen fixed compile error with -std=c++20 2020-10-30 atyuwen added metal keyworld: "level" (#1501) 2020-10-29 bill.hollings MSL: Support run-time sized image and sampler arrays (GL_EXT_nonuniform_qualifier/SPV_EXT_descriptor_indexing). 2020-10-27 cdavis MSL: Allow framebuffer fetch on Mac in MSL 2.3. 2020-10-27 cdavis MSL: Allow post-depth coverage on Mac in MSL 2.3. 2020-10-27 post Handle case where block is loop header, continue AND break block. 2020-10-14 post GLSL: Support a workaround for loading row-major matrices. 2020-10-20 cdavis MSL: For 2.1+, don't disable rasterization for vertex writes. 2020-10-26 post MSL: Do not use component::x gather for depth2d textures. 2020-10-26 post Update TravisCI python reference. 2020-10-21 cdavis MSL: Cast broadcast booleans to ushort. 2020-10-20 cdavis MSL: Mask ballots passed to Ballot bit ops. 2020-10-20 cdavis MSL: Support vectors with OpGroupNonUniformAllEqual. 2020-10-20 cdavis MSL: Correct definitions of subgroup ballot mask variables. 2020-10-20 cdavis MSL: Don't remove periods from swizzle buffer index exprs. (...) 2020-06-18 post MSL: Deal with loading non-value-type arrays. 2020-06-18 post MSL: Add tests for array copies in and out of buffers. 2020-06-18 post MSL: Improve handling of array types in buffer objects. 2020-06-18 post Clean up some deprecation warnings when building with Makefile. 2020-06-18 post Remove unused member in MSLShaderInput. 2020-06-13 cdavis MSL: Fix up input variables' vector lengths in all stages. 2020-06-16 post HLSL: Fix texProj in legacy HLSL. 2020-06-12 git GLSL: Require GL_ARB_draw_instanced for gl_InstanceID in GLSL < 1.40 2020-06-08 post GLSL: Handle the rest of GL_ARB_sparse_texture_clamp. 2020-06-08 post GLSL: Support uint code for sparse residency query. 2020-06-05 post Refactor texture fetch function generation. 2020-06-06 AlexanderMeissner Fix missing switch cases in Y'CbCr conversion 2020-06-04 post GLSL: Implement sparse feedback. 2020-06-04 post MSL: Remove obsolete MSLVertexAttr members. 2020-06-04 post HLSL: Add native support for 16-bit types. 2020-05-28 bryan.bernhart Prefer set/binding API 2020-05-28 post Document all CLI options. 2020-05-28 post Do not mask writes to remapped variables in all cases. 2020-05-27 bryan.bernhart HLSL: Add option to treat certain SSBO bindings as UAV, even with readonly. 2020-05-25 post Handle physical pointers in reflection API. 2020-05-22 post GLSL: Improve support for GL_ARB_shader_draw_parameters in desktop GLSL. 2020-05-21 dsinclair Roll SPIRV-Tools, SPIRV-Headers and GLSLang. 2020-05-20 dsinclair Roll dependencies 2020-05-20 post GLSL: Add more test shaders for hit attribute types. 2020-05-20 post GLSL: Support ray payloads and hit attributes declared as Block. 2020-05-20 post GLSL: Add some more focused RT test shaders. 2020-05-19 post HLSL: Implement image queries for UAV images. 2020-05-08 post Support gl_InstanceID in RT shaders. 2020-05-06 post MSL: Avoid packed arrays in more cases. 2020-05-06 post Add missing reference files from PR merge. 2020-05-06 lehoangq Fix #1359: MSL: If the packed type is scalar, don't emit "pack_" prefix. 2020-04-30 post MSL: Redirect member indices when buffer has been sorted by Offset. 2020-04-30 cwallez Fix -Wmicrosoft-enum-value 2020-04-28 rharrison Update SPIR-V Headers to 1.5 rev 3 2020-04-27 post Work around odd deadlock in test_shaders.py in --parallel mode. 2020-04-27 post Implement OpAtomicLoad/OpAtomicStore. 2020-04-27 post MSL: Fix case where subpassInput is passed to leaf functions. 2020-04-27 alexis.payen Fixed recursion in combined_decoration_for_member Members in nested structs were not properly iterated on, and as a result, flags like row major for matrices could be not propagated properly. 2020-04-23 dsinclair Roll GLSLang, SPIRV-Tools and SPIRV-Headers. 2020-04-21 post GLSL: Support f16x2 <-> f32 bitcast. 2020-04-21 post Be a bit more careful what nonuniform state is propagated. 2020-04-21 post Handle RayQueryKHR type. 2020-04-21 post Update SPIR-V headers. 2020-04-18 devsh.graphicsprogramming Fix issue #1327 2020-04-21 post HLSL: Add parens in unpackUint2x32 for clarity. 2020-04-21 post HLSL: Only allow 64-bit integers in SM 6.0. 2020-04-21 post Ensure unpack/pack2x32 tests are compatible with test suite. 2020-04-17 bingkan GLSL/HLSL: Support packUint2x32 and unpackUint2x32 2020-04-21 post MSL: Deal correctly with initializers on Private variables. 2020-04-20 post MSL: Support edge case with DX layout in scalar block layout. Created with: roll-dep third_party/spirv-cross/src Bug: angleproject:5390 Change-Id: If2ccfd70739a4377b929813cd819067c4c5aa3a7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2593554 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
jchen10 9bb06f37 2020-12-16T10:24:29 Unsuppress GLSLTest.PointCoordConsistency on Intel/Win/GL The test can pass on 26.20.100.8141 now. Bug: angleproject:2805 Change-Id: I8049c43ed7eca6c2001a8d8745aa6f9c2a2192a5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2594349 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Corentin Wallez a19bd601 2020-12-16T13:04:38 Revert "Vulkan: Ignore glFlush to reduce vkQueueSubmits in Asphalt 9" This reverts commit 5cf7472dd161bbda329dfc5e4e65bb6ce0c06fbd. Reason for revert: causes timeouts, see anglebug.com/5470 Original change's description: > Vulkan: Ignore glFlush to reduce vkQueueSubmits in Asphalt 9 > > Multithreaded apps can use the following pattern: > > glDrawElements() > glFenceSync() > glFlush() > glWaitSync() > > This currently results in a vkQueueSubmit for every glFlush() to ensure > that the work has landed in the command queue in the correct order. > However, ANGLE can instead avoid the vkQueueSubmit during the glFlush() > in this situation by instead flushing the ContextVk's commands and > ending the render pass to ensure the commands are submitted in the > correct order to the renderer. This improves performance for Asphalt 9 > by reducing frame times from 150-200msec to 35-55msec. > > Specifically, ANGLE will call flushCommandsAndEndRenderPass() when > there is a sync object pending a flush or if the ContextVk is currently > shared. > > Additionally, on all devices except Qualcomm, ANGLE can ignore all other > glFlush() calls entirely and return immediately. For Qualcomm devices, > ANGLE is still required to perform a full flush (resulting in a > vkQueueSubmit), since ignoring the glFlush() reduces the Manhattan 3.0 > offscreen score by ~3%. > > Bug: angleproject:5306 > Bug: angleproject:5425 > Change-Id: I9d747caf5bf306166be0fec630a78caf41208c27 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2552718 > Commit-Queue: Tim Van Patten <timvp@google.com> > Reviewed-by: Charlie Lao <cclao@google.com> > Reviewed-by: Jamie Madill <jmadill@chromium.org> TBR=timvp@google.com,jmadill@chromium.org,cclao@google.com Change-Id: I9886bf901a835d408b6a4b8be7ea408fa2121be0 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:5306 Bug: angleproject:5425 Bug: angleproject:5470 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2595032 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
angle-autoroll 0c87891f 2020-12-16T10:01:37 Roll glslang from c0bcfaf3bae9 to a5be11bd8b3f (2 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/c0bcfaf3bae9..a5be11bd8b3f 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: I639bd35c4d16e4e69acf60b70c6649c3dd441a73 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2594711 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll e335cc65 2020-12-16T07:00:27 Roll Chromium from 5a03bdd6e398 to 0592a5f8d414 (472 revisions) https://chromium.googlesource.com/chromium/src.git/+log/5a03bdd6e398..0592a5f8d414 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: https://chromium.googlesource.com/chromium/src/build.git/+log/3156ee0cf9..deb698d48d * testing: https://chromium.googlesource.com/chromium/src/testing/+log/715d9573da..6e6d8d1651 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..f600415e92 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/b93f034c30..9cb7877086 No update to Clang. Bug: angleproject:5390 Tbr: cwallez@google.com Change-Id: I8dc12fad910dbfcf737fe1f0589a41b065cd3d8f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2594635 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Jamie Madill 328f72ae 2020-12-15T19:25:50 Update VVL directories in Android build. This should fix the duplicate target definition for the layers. Bug: angleproject:5390 Bug: angleproject:5468 Change-Id: Iaafe9e059fee823b2e4b9145ea38dc61b6d767db Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2593565 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Mohan Maiya 98b56e60 2020-12-12T16:28:21 Vulkan: Accumulate internal cache stats in renderer The CacheStats of all internal caches are accumulated by the renderer. In order to see the hit ratios of all caches, the following GN args must be enabled: is_debug = true angle_enable_perf_counter_output = true Bug: angleproject:5447 Test: Manual verification with angle_end2end_tests Change-Id: Iaca3249192e9e4e130d8291b7759c459d79b06ee Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2588430 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tim Van Patten 5cf7472d 2020-11-20T13:07:53 Vulkan: Ignore glFlush to reduce vkQueueSubmits in Asphalt 9 Multithreaded apps can use the following pattern: glDrawElements() glFenceSync() glFlush() glWaitSync() This currently results in a vkQueueSubmit for every glFlush() to ensure that the work has landed in the command queue in the correct order. However, ANGLE can instead avoid the vkQueueSubmit during the glFlush() in this situation by instead flushing the ContextVk's commands and ending the render pass to ensure the commands are submitted in the correct order to the renderer. This improves performance for Asphalt 9 by reducing frame times from 150-200msec to 35-55msec. Specifically, ANGLE will call flushCommandsAndEndRenderPass() when there is a sync object pending a flush or if the ContextVk is currently shared. Additionally, on all devices except Qualcomm, ANGLE can ignore all other glFlush() calls entirely and return immediately. For Qualcomm devices, ANGLE is still required to perform a full flush (resulting in a vkQueueSubmit), since ignoring the glFlush() reduces the Manhattan 3.0 offscreen score by ~3%. Bug: angleproject:5306 Bug: angleproject:5425 Change-Id: I9d747caf5bf306166be0fec630a78caf41208c27 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2552718 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Paul Thomson 4abf3788 2020-12-15T13:44:53 Tests: update WhatsApp trace The WhatsApp trace was previously captured with the GL_NV_shader_noperspective_interpolation extension enabled. This re-capture was made with the extension disabled so the trace can replayed on devices that don't support the extension. Test: angle_perftests --gtest_filter="*whatsapp*" Bug: b/174256233 Change-Id: I9dbf580ed5849b919a72944879be35193632e34a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2593191 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Charlie Lao 64508f44 2020-12-12T18:00:10 Vulkan: Reduce driver uniform data to minimum if specConst is used If specialization constant is used, driver uniform data structure should be reduced to minimum to increase cache locality. Bug: b/175479076 Change-Id: I1fc50666542c6763c60bfe011cde5bc77ccc08e1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2588549 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Mohan Maiya 8f9e17d5 2020-12-14T14:11:11 Add EXT_clip_cull_distance extension autogen code Addition of shader autogen code for EXT_clip_cull_distance extension. Bug: angleproject:5458 Change-Id: I299528957c0e747fd84987c420588c314f54aae0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2590989 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Mohan Maiya 46eaba7f 2020-12-12T10:31:26 Vulkan: Add support for internal cache hit and miss counts Add a CacheStats class that provides cache hit and miss bookkeeping. All internal caches make use of this class to keep track of its stats. This provides a means to profile cache hit ratios a.k.a Vulkan object reuse for any application. Bug: angleproject:5447 Test: Manual verification with angle_end2end_tests Change-Id: I44eeb0c2b9b291ec1cdd156fb2be4a5fe80d2848 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2580111 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Mohan Maiya f32fbb51 2020-12-14T14:42:58 Add EXT_shader_framebuffer_fetch_non_coherent entry points Addition of the entry points for EXT_shader_framebuffer_fetch_non_coherent extension. Bug: angleproject:5454 Change-Id: I2b8ba5141eed61a0c3ba58aeb2eec12a2071e7f1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2590991 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Mohan Maiya 9229b805 2020-12-14T14:10:28 Vulkan: Add the tests for EXT_clip_cull_distance Before supporting EXT_clip_cull_distance extension, some tests are added to validate the implementation of EXT_clip_cull_distance extension. These tests are implemented based on the tests for APPLE_clip_distance Bug: angleproject:5458 Tests: angle_end2end_tests --gtest_filter=Clip*DistanceTest* angle_unittests --gtest_filter=*Clip*Distance* Change-Id: I018c72ae8f0aff616c9d2600e63246e9609cf3de Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2585986 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Tim Van Patten e8c5525c 2020-12-09T09:41:21 Vulkan: flushCommandsAndEndRenderPass during glFenceSync() The description for glFenceSync states: glFenceSync — create a new sync object and insert it into the GL command stream ANGLE needs to break the render pass and flush any prior commands to ensure that the newly created Fence object lands with the correct ordering. This will be done by calling ContextVk::flushCommandsAndEndRenderPass() before creating the Vulkan Event object. Bug: angleproject:5306 Change-Id: I3a460bb559acf8eb4b3041065ec743938d44d823 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2582199 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
angle-autoroll cbc1220e 2020-12-15T10:01:55 Roll SwiftShader from c16dc7107fd3 to fa44979d90aa (5 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/c16dc7107fd3..fa44979d90aa 2020-12-14 capn@google.com Regres: remove "risky" tests. 2020-12-14 natsu@google.com Handle suballocated AHB buffers 2020-12-14 srisser@google.com Implement VK_KHR_uniform_buffer_standard_layout 2020-12-14 capn@google.com Update README 2020-12-14 capn@google.com Check that MSan builds use Clang 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: I619ee1567031a775cc887760817233b3df1f9c39 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2593055 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Paul Thomson c47b951e 2020-12-15T13:17:28 Capture: Disable GL_NV_shader_noperspective_interpolation Skia uses the extension GL_NV_shader_noperspective_interpolation, which is implemented by ANGLE. This leads to traces with shaders that use the extension. Such traces do not replay on some native GLES drivers, as the extension is not available. The fix is to disable the GL_NV_shader_noperspective_interpolation extension when capturing, so that apps do not use this extension. Bug: b/174256233 Change-Id: I5265cab2a56be488669ed31aa2ea8ec7b7fad8fd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2593190 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Paul Thomson <paulthomson@google.com>
Jamie Madill 5b6d60f8 2020-12-15T09:32:07 Mac: Remove stderr output from lib preload. This was causing the debug bots to fail. Bug: angleproject:5467 Change-Id: Iea7fe0260e23c1c9770c431d52fea49335b3d0cf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2593568 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 4798c8cf 2020-12-14T16:35:27 Introduce GN variables for Vulkan repos. This will allow them to be seamlessly overrideen in other repos. Bug: angleproject:5390 Change-Id: I973cae48b5683e39ea3b07898b95956511260319 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2591107 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
angle-autoroll 1bfc1c90 2020-12-15T07:03:48 Roll Chromium from 0c234289aa72 to 5a03bdd6e398 (963 revisions) https://chromium.googlesource.com/chromium/src.git/+log/0c234289aa72..5a03bdd6e398 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: https://chromium.googlesource.com/chromium/src/build.git/+log/1f2c9c8502..3156ee0cf9 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/c51df537ee..715d9573da * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..f22b977bc4 * third_party/protobuf: https://chromium.googlesource.com/chromium/src/third_party/protobuf/+log/129acc201e..9be8079c29 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/2a0543f912..b93f034c30 No update to Clang. Bug: None Tbr: cwallez@google.com Change-Id: I4986b8ee00c6defc02bcf1efc1b36f929bd12ec0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2591896 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Le Hoang Quyen cb8903b1 2020-12-08T01:08:00 Metal: Ignore OS's internal shader cache when testing. Internal shader cache caused timeout in some dEQP tests. Work-around: ignore the cache by hooking fopen function and return null when the cache related files are accessed. Bug: angleproject:5354 Change-Id: I12ca228540925e67454bf24ce1ba83d703882c87 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2580918 Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Corentin Wallez fd7733e9 2020-12-14T19:04:28 GeometryTest: Expand suppressions to AMD Intel OpenGL TBR=syoussefi@chromium.org Bug: angleproject:5463 Change-Id: I3bdd17b5f9fd413e8fcbe734c6cb6f2110364e30 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2590185 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Mohan Maiya a62ee4d1 2020-12-11T14:28:42 Vulkan: Add test for Pixel bug with passthrough GLSL function Passing in a sampler2D's values using texture2D through a function generates unexpected results on a Pixel device with the Vulkan backend. 1. SamplerPassthroughFailedLink - program fails to link. 2. SamplerPassthroughIncorrectColor - output color is incorrect. These tests have no issues with SwiftShader ICD. Tests: angle_end2end_tests --gtest_filter=*SamplerPassthrough*Vulkan* Bug: angleproject:5457 Change-Id: I9c43062e98c7b3637bb8a2b00a957141da821f0a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2586059 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll a64e86c5 2020-12-14T10:01:55 Roll SwiftShader from 0a64a9747555 to c16dc7107fd3 (8 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/0a64a9747555..c16dc7107fd3 2020-12-12 capn@google.com Regres: Roll dEQP to version 1.2.5 merged into master 2020-12-11 capn@google.com Implement VK_EXT_scalar_block_layout support 2020-12-11 capn@google.com Fix typo in 'maxPos' constant vector 2020-12-11 capn@google.com Disable SPIR-V validation during pipeline compilation 2020-12-11 capn@google.com Remove support for R16G16B16 and R32G32B32 sampling 2020-12-11 capn@google.com Enable sampling and filtering of 16-bit SNORM formats 2020-12-11 nicolascapens@google.com Enable sampling and filtering of 16-bit UNORM formats 2020-12-11 capn@google.com Fix resolvable depth difference calculation for triangle near 0 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 syoussefi@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: syoussefi@google.com Change-Id: I416113a64bfc51fe487cd2b23b28e32ee38e7873 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2589396 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 3df29be2 2020-12-14T10:01:37 Roll glslang from c594de23cdd7 to c0bcfaf3bae9 (3 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/c594de23cdd7..c0bcfaf3bae9 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 syoussefi@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: syoussefi@google.com Change-Id: I1d8c0aceb7c2227a7bc277d36a640047cbb80eb3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2589395 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Xiaoxuan Liu d0f99d54 2020-12-03T11:06:56 Vulkan: Fix build issue in vulkan display/headless backend. In Linux + Vulkan display/headless backend, angle tests such as angle_unittests/angle_perftests/angle_white_box_perf_tests could not be compiled successfully, fix build issues on vulkan display/headless backend in angle tests. 1. Add EGL_NO_X11 flag into vulkan display/headless backend. 2. Disable angle_white_box_perf_tests on vulkan display/headless backend. Bug: angleproject:5260 Change-Id: I579aee8b0bfaa4c0d7fdf9a6df91c1b78ec4373e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2585256 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 282fb409 2020-12-11T16:09:10 Fix link validation of I/O block members Location and struct name matching for fields was missing as they only apply to I/O blocks and not varyings of struct type. Bug: angleproject:3580 Change-Id: I69083f39088458da72828b418be3068187a30fcc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2587456 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Mohan Maiya da8c2261 2020-12-12T16:39:55 Vulkan: Enable FramebufferVk cache on Apple This effectively reverts ff60aba. The crash no longer occurs on Apple. Bug: angleproject:4442 Change-Id: I4aa745c80a482eb99311f3810e34124afe950cfe Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2588429 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Shahbaz Youssefi 56330564 2020-12-10T00:46:04 Vulkan: Support layered framebuffers This feature is introduced by geometry shaders, where all the layers of a texture can be attached to a framebuffer. The geometry shader would use gl_Layer to decide which layer the primitive should be rendered to. Bug: angleproject:3571 Change-Id: Ib2ae8e227b226295f9e2f62f6b230839070bc95c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2582711 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
James Darpinian 4fb29e83 2020-12-08T12:26:12 Ignore mac .DS_Store files Bug: angleproject:5417 Change-Id: Idc058fe7b66f89bdbf8bcccc453ec15a3c5066e6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2579749 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 8326b26a 2020-12-11T13:59:40 Fix link validation with ambiguous instanceless interface blocks The following interface blocks should fail link: VS: layout(binding=0) buffer BufferBlockNameA { mediump float variable; }; FS: layout(binding=1) buffer BufferBlockNameB { mediump float variable; }; Because `variable` is ambiguous. Bug: angleproject:3580 Change-Id: I29576a6f152780819af0e9fb63249dbee7d9f2fc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2587450 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi d9318acc 2020-12-11T10:40:21 Roll VK-GL-CTS from 41331850eb21 to 54509765b18d (18 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/41331850eb21..54509765b18d 2020-12-10 boris.zanin@mobica.com Basic tests for VK_EXT_conservative_rasterization 2020-12-10 ari.suonpaa@siru.fi Add test for image copy special case 2020-12-10 mikko.tiusanen@siru.fi Add tests for GLES3 vector construction from other types 2020-12-10 alexander.galazin@arm.com Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/master 2020-12-09 alexander.galazin@arm.com Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master 2020-12-09 ari.suonpaa@siru.fi Add drawing tests for Android hardware buffer based color buffer 2020-12-09 rgarcia@igalia.com Test data spilling and unspilling around RT shader calls 2020-12-09 dominik.witczak@amd.com Add new tests that verify IgnoreIntersection/TerminateRay corner cases. 2020-12-09 rgarcia@igalia.com Test maxPipelineRayRecursionDepth can be zero 2020-12-09 gleese@broadcom.com Enable YCbCr filtering tests for non-separable chroma 2020-12-07 slawomir.cygan@intel.com Fix clang 10.0 build of ray tracing control flow tests 2020-12-07 slawomir.cygan@intel.com Remove merge conflict markers from mandatory_features.txt 2020-12-07 jan.mroczkowski@mobica.com Vulkan Portability support 2020-12-07 piotr.byszewski@mobica.com Disable conflicting fragment shading rate features 2020-12-07 alexander.galazin@arm.com Update Vulkan headers 2020-12-07 tzlatinski@nvidia.com Select SPIR-V for the robustness' compute shaders 2020-12-07 rgarcia@igalia.com Fix buffer offsets in push descriptor tests 2020-12-07 rgarcia@igalia.com Destroy deferred ops before destroying devices Bug: angleproject:5461 Change-Id: I86f70ea9b77c114ed9495215d83a6fee61adc76a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2586995 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll a77bc1f1 2020-12-11T10:01:55 Roll SwiftShader from d94a77b304f4 to 0a64a9747555 (3 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/d94a77b304f4..0a64a9747555 2020-12-10 swiftshader.regress@gmail.com Regres: Update test lists @ d94a77b3 2020-12-10 nicolascapens@google.com Update dEQP/Cherry setup documentation 2020-12-10 sugoi@google.com Context refactor: from OpenGL-like state to Vulkan-like state 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 syoussefi@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: syoussefi@google.com Change-Id: Ia5b74096de8b8c78e399bc97cbb39e4876fc2ef0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2586893 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 7d832edd 2020-12-11T07:01:25 Roll Chromium from 2db43e774b6e to 0c234289aa72 (451 revisions) https://chromium.googlesource.com/chromium/src.git/+log/2db43e774b6e..0c234289aa72 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 syoussefi@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: https://chromium.googlesource.com/chromium/src/build.git/+log/603673306a..1f2c9c8502 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/19df48277a..c51df537ee * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..d5e21940e0 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/b07b7cb6aa..2a0543f912 No update to Clang. Bug: angleproject:5174 Tbr: syoussefi@google.com Change-Id: I9385c8ed5bd7d7cb6448fac1509b9a24ad7a7f98 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2586566 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi ec1ff8f5 2020-12-09T14:25:56 Add a scissored MSRTT test Covers a bug Skia's implementation of unresolve uncovered. ANGLE's implementation is slightly different (in that the unresolve pass is full screen), so it's not affected by this bug. Bug: angleproject:4836 Change-Id: Ibc8010b0b5ef6912a45fd5f2612fb8b619e4407e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2582707 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao c75473c2 2020-11-23T14:26:32 Vulkan: Generalize FlipRotationSpecConst to SpecializationConstant Specialization constant are used not just for flip/rotation. It also used for other things. This CL merges all specialization constant usage (lineRasterEmulation, flip, rotation, halfRenderArea) into one class and rename FlipRotationSpecConst to SpecConst. Bug: b/173800146 Change-Id: I8dc3354b6caedbb183cec29855fc1c301ec8872a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2555812 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Courtney Goeltzenleuchter dcc0bebf 2020-12-10T13:43:03 Vulkan: clean up comments, rename per request Bug: b/170312581 Change-Id: Iefecb5776cac07477266e6a2e77af7d3c9f38ad6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2585745 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Cody Northrop 9912971c 2020-12-10T11:42:20 Docs: Add limitation for Android usage on all apps ANGLE cannot be enabled for all apps on Android unless the device has root access. Test: Inspect the resulting markdown doc Bug: angleproject:4347 Bug: b/175324620 Change-Id: Idc37d6062a12240cf038ef13f7d53d769fa824a4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2585074 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Courtney Goeltzenleuchter 6d94471b 2020-11-19T16:53:09 Vulkan: Eliminate fence wait from SyncVk Waiting on a fence is problematic if using threaded worker to submit work since code needs to know if the work has been submitted or not before doing the wait. Eliminate the wait by using a serial if available or if no serial check the file descriptor directly. If no serial it's because we are waiting on an imported file descriptor. Could call fence.wait in that case but can also wait on the file descriptor. Test: angle_end2end_tests --gtest_filter=EGLSyncTest.*/ES2_Vulkan Bug: b/170312581 Change-Id: I392a5e73ac8f851d0d5bc53f06063568c0c90d2c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2579042 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Jamie Madill f6df8692 2020-12-09T12:46:35 Vulkan: Support XFB in non-Vertex stages. This updates the code in several places to support Geometry and Tessellation Evaluation shaders to output transform feedback. Does not turn on any new tests but enables support for XFB when we turn on GS/TS. Bug: angleproject:3571 Bug: angleproject:3572 Change-Id: I6dcb768f2df4eeee81a4a500e999fcf16716f58f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2581941 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Kaiyi Li 8707811d 2020-12-01T11:50:56 Add an option to copy the artifact to vendor partition Add a --copy-to-vendor-partition optional argument to both roll_aosp.sh and generate_android_bp.py. When specified the root targets will be generated with vendor: true and a relative install path to egl folder, so that we can use ANGLE as the Android OpenGLES driver when the system starts up. Test: run roll_aosp.sh --copy-to-vendor-partion, build the Android image with m -j72, load the image with the Android emulator and find all ANGLE related *.so's are under the /vendor/lib/egl folder. Bug: angleproject:5456 Change-Id: I38c64e8ea3ad5f5d0cc0b8cd77856f49109b23c7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2568907 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
Jamie Madill 4d9157a5 2020-12-09T16:41:31 Increase internal max uniform blocks limit to 60. This will make space for the tessellation / ES 3.2 limit of 60 blocks. Bug: angleproject:3572 Change-Id: Ie6cc6b24bdce2f5f67f62d11cdeefb10f3bd01d0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2582708 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Xiaoxuan Liu 108b759e 2020-12-04T15:15:49 EGL: Update EGL headers/xml The new EGL headers introduced 'EGL_NO_X11' which we could use for ANGLE vulkan display/headless backend. Changes in CL: 1. Updated include/EGL/egl*.h and scripts/egl.xml based on latest EGL repo: https://github.com/KhronosGroup/EGL-Registry Note: local modifications to the file were preserved in eglext.h, search keyword 'eglext_angle.h' for detail 2. run scripts to update entry_points/loader scripts/generate_entry_points.py scripts/generate_loader.py scripts/run_code_generation.py 3. Update ANGLE code on API 'eglSwapBuffersWithDamage' 4. Format with 'git cl format' Bug: angleproject:5260 Change-Id: I70ed0dccecf0426929ef8b4775605554d66c5724 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2576314 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 32f1a8e8 2020-12-10T10:01:56 Roll SwiftShader from 84b9bb6621c7 to d94a77b304f4 (9 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/84b9bb6621c7..d94a77b304f4 2020-12-10 natsu@google.com Set prefersDedicatedAllocation for AHB 2020-12-09 natsu@google.com Treat AHB YUV as external format 2020-12-09 natsu@google.com Handle AHARDWAREBUFFER_FORMAT_YV12 2020-12-09 srisser@google.com Update SPIR-V version to VK_1_1_SPV_1_4 2020-12-09 natsu@google.com Handle VkExternalFormatANDROID in VkCreateImage 2020-12-09 srisser@google.com Add decorate operations new to SPIR-V 1.4 2020-12-09 natsu@google.com Handle more image properties from external device memory 2020-12-09 natsu@google.com Update AHB default YUV dataspace to YCBCR_709 2020-12-09 sugoi@google.com Make Constants a singleton instead of a global 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 syoussefi@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: syoussefi@google.com Change-Id: I31d0f7881c632d0402133b7bf26b7510066e49df Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2583417 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 55b7f38f 2020-12-10T07:00:47 Roll Chromium from 3fc522ff6579 to 2db43e774b6e (469 revisions) https://chromium.googlesource.com/chromium/src.git/+log/3fc522ff6579..2db43e774b6e 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 syoussefi@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: https://chromium.googlesource.com/chromium/src/build.git/+log/7c664f9cb5..603673306a * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/86a7f72ab1..ea9f1f7375 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/7534b563e9..19df48277a * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/29b47fedf0..dfe5e0a3af * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..d5e21940e0 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/1424e1194e..b07b7cb6aa * tools/skia_goldctl/linux: U9IAKman_wN6alsQfNAUzIasErQFGDvx3wn9o0AQBlEC..bTvIvWnbZxg0-7ukJDOeVphyUCuVIkxtui-gilfeBScC * tools/skia_goldctl/mac: xF94ClStkjWlYHAlxYXSOCFYEGhzEgxZEwB4zirJIjUC..6s5TRj110nqaPlBS8YO4HN2dRmhheX7a-pp3YWURcnoC * tools/skia_goldctl/win: HYgBDvuNpEKiDYuVIssmP2wgCGe0FS-XKCe18wxZWKwC..4UEZlBTjAOzFCQchRqtALQwJDyYXa9Sj_52oUhXmNkoC No update to Clang. Bug: None Tbr: syoussefi@google.com Change-Id: Ic8bd7ed7e2b78a2c3f5358a8ef70022532631ef6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2582428 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Charlie Lao 067a12f0 2020-11-19T16:47:25 Reland "Vulkan: Use specialization constant for halfRenderAreaWidth" This is a reland of ff38106d62fca2e36ec2db1cd580b546fd53ae43 Original change's description: > Vulkan: Use specialization constant for halfRenderAreaWidth > > halfRenderArea is used by fragment shader to adjust gl_FragCoord for > rotation and yflip compensation. This CL bakes halfRenderAreaWidth into > shader via specialization constant, thus allow compiler to consolidate > the calculation into one MAD instruction. > > Bug: b/173800146 > Change-Id: Id66301278e3389e2582369b695825e632bccecee > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2551541 > Commit-Queue: Charlie Lao <cclao@google.com> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Tim Van Patten <timvp@google.com> > Reviewed-by: Jamie Madill <jmadill@chromium.org> Bug: b/173800146 Change-Id: Ifc36086f4c5d6a44fb5456aa6e31bc8a783bba71 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2579648 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Charlie Lao 1788355b 2020-12-08T16:12:34 Vulkan: Add dirty bits instead of direct access FBO state The CL crrev/c/2551541 causes intermittent Bot failure. I believe the problem is that from ContextVk::onMakeCurrent call stack, the object state may not in sync or even not completely specified. So instead of accessing fbo state object here to update mGraphicsPipelineDesc, we should insert dirty bit and let state validation code to handle it. Bug: b/175157604 Change-Id: I5f6b9fd901cc4187068f6161bd12836c8bbf8e87 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2580914 Commit-Queue: Ian Elliott <ianelliott@google.com> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi f9f569e2 2020-12-09T11:37:10 Suppress test requiring VK_EXT_transform_feedback on Nvidia/win7 Bug: angleproject:5450 Bug: angleproject:5435 Change-Id: I1925a4f926d10c81e5c69cfc62fcb26da2cec81d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2581940 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Courtney Goeltzenleuchter 855c5f1c 2020-12-09T11:29:55 Add VK-GL-CTS autoroller link to wrangler doc Bug: angleproject:4760 Change-Id: Id69f917c27dd2e2b85f434cc19002e644f42a44c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2582465 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Shahbaz Youssefi 8789457d 2020-12-09T00:21:08 Fix varying packing of I/O block fields The sorting algorithm didn't keep the fields in order, which made them receive arbitrary locations. The SPIR-V transformer assigns the location on the whole block instead of individual members, which was incorrect in this situation. The SPIR-V transformer could have been modified to decorate each field of the I/O block with a location. This change instead sorts the fields in such a way that I/O block fields are allocated contiguously, which allows the SPIR-V transformer to function unchanged. Bug: angleproject:3580 Change-Id: I27df9e8122dd4207835bad448ffb8015692a1635 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2581076 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Xinghua Cao 378653f8 2020-11-20T12:24:41 D3D: throw a perf warning for uniform block We had translated an uniform block only containing a large array member into StructuredBuffer instead of cbuffer on D3D backend for slow fxc compile performance issue with dynamic uniform indexing. This patch throw a warning if a uniform block containing a large array member fails to hit the optimization. Bug: angleproject:3682 Change-Id: I33459b559923f16a8dfb70c6f46ec52f68d96e06 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2552365 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
angle-autoroll f0f79e08 2020-12-09T08:00:32 Roll Chromium from a3984b7ec4ae to 3fc522ff6579 (498 revisions) https://chromium.googlesource.com/chromium/src.git/+log/a3984b7ec4ae..3fc522ff6579 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 syoussefi@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: https://chromium.googlesource.com/chromium/src/build.git/+log/115823df49..7c664f9cb5 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/6302c11756..86a7f72ab1 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/baeb2e9897..7534b563e9 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..e43bd0925d * third_party/libjpeg_turbo: https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git/+log/bbb828223e..e9a659a09e * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/dddd39ba5a..1424e1194e No update to Clang. Bug: None Tbr: syoussefi@google.com Change-Id: I5e6c022f18dc7c65a354ecc92babe20cde75167f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2581380 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi 8b851562 2020-12-08T16:51:51 Don't output matrix qualifiers in I/O blocks row_major and column_major only apply to uniform and buffer interface blocks per GLSL ES 3.2 spec. Bug: angleproject:3580 Change-Id: Iad0afeffc7ddb7bff2ebaec0ea0ec4eda26171a7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2580191 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 36f74334 2020-12-03T21:26:28 Vulkan: Fix query pause on framebuffer binding change When a render pass is closed, render pass queries are paused. The code that pauses queries however is conditioned to the render pass being open. In ContextVk::syncState, when processing gl::State::DIRTY_BIT_DRAW_FRAMEBUFFER_BINDING, `onRenderPassFinished()` is called. Later on, when the render pass is actually finished, the queries are not paused. This change moves the logic to pause render pass queries to onRenderPassFinished(). Bug: angleproject:5427 Change-Id: I3a87db2e4543ff698803ac5e154a370e85ac7985 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2573581 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Jiawei Shao 54d95994 2020-12-09T09:36:00 Enable ComputeShaderTest/DrawDispatchDispatchDraw on Intel/Win/Vulkan This patch enables ComputeShaderTest/DrawDispatchDispatchDraw on Intel/Win/Vulkan after the upgrade of Chromium try bots. Bug: angleproject:3871 Change-Id: I3e8d36020cbb01304a7b024d5b74923640402b4e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2580112 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jiajia Qin <jiajia.qin@intel.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
James Darpinian 27e52ca0 2020-12-08T14:11:02 Fix build when angle_has_build == false Need to declare use_xcode_clang when building outside chromium. Bug: angleproject:5440 Change-Id: I4d622c1b6085d89b69c828b2c965d22c1f806f45 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2579750 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: James Darpinian <jdarpinian@chromium.org>
Shahbaz Youssefi f691b3b5 2020-12-02T13:11:54 Vulkan: Support PrimitivesGenerated query This query uses the Vulkan transform feedback extension. In GL, GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN and GL_PRIMITIVES_GENERATED queries can be independently begun/ended. However, Vulkan requires that queries from pools of the same type can only be active one at a time. This forbids the two GL queries from being handled by two VK queries when they are simultaneously begun. This change makes these queries share their QueryHelper objects. The Vulkan transform feedback queries unconditionally retrieve both results anyway, so this is just a matter of making sure the two GL queries are merged as one when they are simultaneously used. The change fixes a number of issues as collateral: - TransformFeedbackPrimitivesWritten queries when !emulated were not released - Stashed queries were never released - If no render pass is open when a query ends, then getResult(no_wait) ended up waiting Bug: angleproject:5404 Change-Id: I8ce13ea76ffd31b3152ded7c713c6466d0315504 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2573580 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis fa9b803e 2020-12-03T17:53:12 GLX: Expose EGL_ANGLE_window_fixed_size Right now the GLX backend checks for resize on every SwapBuffers call. If EGL_ANGLE_window_fixed_size is used, it will only resize when signaled by Chrome. Bug: chromium:1132827 Change-Id: Ia4ddbbbf6dcf13f46ad564208eccc517de8be33c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2572886 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Courtney Goeltzenleuchter aafcb504 2020-12-08T09:32:10 Vulkan: Add ensureSubmission to queueSubmitOneOff Some callers of queueSubmitOneOff require that the command being queued to have been sent to the GPU. The new ensureSubmission parameter indicates that behavior and when running with threaded worker will wait for the worker queue to empty before returning. Bug: b/170312581 Change-Id: Ib620fb37f4b9b4431451ccbd10807c0dff1842af Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2579041 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Kenneth Russell b1f094eb 2020-12-04T17:30:34 Log to stderr for warnings and more severe messages. This helps the WinCairo port of WebKit use ANGLE; warning messages sent to stdout are causing layout test failures. Bug: angleproject:5432 Change-Id: Idc6d3061a2dbf13d5f118285aa9b8438542966aa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2576038 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: James Darpinian <jdarpinian@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org>