Log

Author Commit Date CI Message
Cody Northrop 1acfe659 2022-02-06T21:18:44 Test: Add Last Shelter: Survival trace Test: angle_perftests --gtest_filter="*last_shelter_survival*" Bug: angleproject:6987 Change-Id: Ia565a0b75aff74fc9cd136763a7063890072225c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3442766 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Jamie Madill 8b81742d 2022-02-03T07:41:16 Vulkan: Move shader resources descriptor set update. This is in preparation for adding shader serial information to the desc, to work around a bug with incorrect descriptor set cache hits. It could have some perf impact if we restart command buffers constantly while using UBOs/SSBOs. Bug: angleproject:6776 Change-Id: I24f5cefd329a1c36f7f60cb2a520cfdf5f127051 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3436765 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 02ad19e3 2022-02-07T13:46:46 Vulkan: Fix vkCmdResolveImage offsets glBlitFramebuffer takes identical regions for src and dst when resolving. vkCmdResolveImage should use the clipped area instead of using the actual offsets passed to this function. Bug: chromium:1292537 Change-Id: I13b91a4e14bdb3fcbf8f01edb36d7fb4110429ea Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3444340 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi d9fcebb8 2022-02-07T14:11:58 Vulkan: Make framebuffer fetch syncval errors more specific The errors are very generic, so now they are only suppressed if framebuffer fetch is used by the application. This change partially relands 2eeb87488. Bug: angleproject:6951 Change-Id: I55f444d19360d3066f1d4b0959d25e676dbb1a38 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3444341 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop 939da294 2022-02-05T17:12:31 Tests: Add Magic Rush: Heroes trace Test: angle_perftests --gtest_filter="*magic_rush_heroes*" Bug: angleproject:6985 Change-Id: I29ea1746202345cb09d994336ad4c01719bae70e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3440686 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Ian Elliott 9208dcc6 2022-02-07T18:23:12 Revert "Vulkan: Enable framebuffer fetch on SwiftShader" This reverts commit 2eeb8748867c529474200d302f21f20ab461b9b4. Reason for revert: Breaks tests for ANGLE-to-Chromium autoroller Original change's description: > Vulkan: Enable framebuffer fetch on SwiftShader > > Bug: angleproject:6951 > Change-Id: I10eeb58be9e8639c0519fc47f327a0894155b755 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3437409 > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Bug: angleproject:6951 Change-Id: I35eaf2b7411d1bf055484bbb32f7e681286edd42 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3442370 Reviewed-by: Ian Elliott <ianelliott@google.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Ian Elliott <ianelliott@google.com>
Cody Northrop 44deda4c 2022-02-05T15:43:51 Tests: Add Dragon Mania Legends trace Test: angle_perftests --gtest_filter="*dragon_mania_legends*" Bug: angleproject:6984 Change-Id: Ia9242ec9850f4f9418617829314c381451f98dc1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3442140 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Jamie Madill 959d4be5 2022-02-03T08:03:14 Vulkan: Remove buffer get method from descriptors desc. This will make a future refactor to use a common desc class easier to implement. We have the necessary buffer already in the call context so we can instead pass this buffer down to where it gets used. Bug: angleproject:6776 Change-Id: Ia9782cba9f91c9604b1e937252bb293a346d025c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3436766 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
angle-autoroll b2006a22 2022-02-07T10:01:09 Roll SwiftShader from 2b76a13c38ae to ad6d7f84f2a1 (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/2b76a13c38ae..ad6d7f84f2a1 2022-02-06 sugoi@google.com VK_KHR_synchronization2 support 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 jonahr@google.com on the revert to ensure that a human is aware of the problem. To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: jonahr@google.com Change-Id: I40819818c63cd67df90c6d741e1b771831f137ec Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3443199 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 06150ab2 2022-02-07T08:45:23 Roll Chromium from 55ed02951fa2 to 26dacbf4b527 (583 revisions) https://chromium.googlesource.com/chromium/src.git/+log/55ed02951fa2..26dacbf4b527 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 jonahr@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/3a9b7ad1c9..f85248b050 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/8ccda4f4eb..2a745cc87d * buildtools/third_party/libunwind/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/659c7d91af..f2ef96ecb8 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/70ae162605..122e089027 * third_party/android_platform: https://chromium.googlesource.com/chromium/src/third_party/android_platform/+log/f0d4a3b4c8..87b4b48de3 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..b4974c8f85 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/df01c5ad5b..a6ea731ab2 * third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/fc5cfd78a3..3fc79233fe * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/f246ca2830..a8ca822230 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/e41bae7747..40222e9dab * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/2b39a24cb7..eb37312a1e No update to Clang. Bug: None Tbr: jonahr@google.com Change-Id: Ia616f4d2f51bcaf1cfc30e50b90fea0e9ea496ab Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3442772 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Mohan Maiya f65e7c3c 2022-02-02T14:23:31 Vulkan: Take base level into account in image views Similarly to how max level changes are handled, this change also handles base level changes. In either case, the old views are retained and new views are created for the [base, max] level range. Test provided by m.maiya@samsung.com Bug: angleproject:6967 Test: MipmapTestES31.UpdateBaseLevel/* Change-Id: Iee8b2f035c1cc0fa916b987a91939b8ae65d27c5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3441074 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: mohan maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@google.com>
Alexey Knyazev 6d30de10 2022-02-05T02:25:36 Metal: Fix ANGLEUniformBlock alignment To pass Metal validation, the length of ANGLEUniformBlock structure must be aligned to 16 bytes. Bug: angleproject:5505 Change-Id: I1e2becaac48739966afb44e087fc4a70f7b21d02 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3440067 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org>
Antonio Caggiano ac20272f 2022-01-19T17:13:50 Vulkan: Fix present region rectangles EGL rectangles are specified relative to the bottom-left of the surface, while Vulkan framebuffer space puts the origin on the top-left corner. Bug: angleproject:6933 Change-Id: Ia57eea8601ee724c0a82eb718d831de6b7566472 Reviewed-by: Constantine Shablya <constantine.shablya@collabora.com> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3423770 Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 2eeb8748 2022-02-03T13:10:54 Vulkan: Enable framebuffer fetch on SwiftShader Bug: angleproject:6951 Change-Id: I10eeb58be9e8639c0519fc47f327a0894155b755 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3437409 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Sergey Ulanov 2ab8f48f 2022-02-04T08:23:09 Allow glCopyTexImage2D from BGRX and RGBX to GL_LUMINANCE glCopyTexImage2D was failing with GL_INVALID_OPERATION when copying from GL_RGBX8_ANGLE buffer to GL_LUMINANCE texture, while it should be supported. Also updated validator to allow copying from RGBX & BGRX to GL_RED_EXT, GL_RG_EXT. Bug: chromium:1269826 Change-Id: I865dcdd46921730968995822d71ba34b39e49262 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3439129 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Peng Huang c48e35b9 2022-02-04T01:44:36 Add more info in BlitFramebuffer error message Bug: chromium:1290638 Change-Id: Id1faab26df2f19b90ec85aff6852334e8fda03ce Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3436326 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jeff Vigil 2b00f4f5 2022-02-01T13:59:50 Fix bug in protected content validation 1. It is valid for a protected context to sample from an unprotected texture 2. It is necessary to match protected state of framebuffer attachment and the context Bug: angleproject:6602 Change-Id: Ia3138c1a6dc46ff6b85fc5948c6a04ef48fba8a8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3430241 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Peng Huang 706f8a31 2022-02-04T04:22:10 Support gl internal format for creating EGLImage from VkImage Bug: chromium:1290638 Change-Id: I5c9815b727497f63b9f04ecbd8c27deef4b929c8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3438666 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Peng Huang <penghuang@chromium.org>
Yuly Novikov da87b1db 2022-02-03T21:07:59 Fix GLES Display creation on ChromeOS when Vulkan is enabled GetPlatformTypeFromEnvironment() returns EGL_PLATFORM_VULKAN_DISPLAY_MODE_HEADLESS_ANGLE on ChromeOS when Vulkan backend is enabled in build. Previously it returned 0, which caused DisplayGbm to be created on ChromeOS. Restore the previous state of GLES backend by creating DisplayGbm even for EGL_PLATFORM_VULKAN_DISPLAY_MODE_HEADLESS_ANGLE platform. Note that this is a hack, and a proper solution would be to always use DisplayEGL on ChromeOS. Bug: chromium:1293420, chromium:1225003 Change-Id: Iab0324a56f0d426310d7db19fec3fc69e9bb5525 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3437779 Reviewed-by: Alexis Hétu <sugoi@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill 7820ca23 2022-02-02T09:34:07 Vulkan: Binding available buffer range to descriptor. This is fully conformant with GLES including robustness, where robustness specifically allows returning any values in the buffer. The goal is to eventually remove all shader-variable-specific info out of the descriptor set update. This will let us fix cache bugs that pop up when we move the descriptor set cache to the share group. Bug: angleproject:6776 Change-Id: Iccef33ca6174a68e359a07dc957a276b2484f97f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3431725 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
angle-autoroll 8710d7fe 2022-02-04T10:01:08 Roll SwiftShader from 6014f10de554 to 2b76a13c38ae (3 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/6014f10de554..2b76a13c38ae 2022-02-03 srisser@google.com Turn all uses of ChangeID into CL Number 2022-02-03 capn@google.com Fix broken SwANGLE documentation link 2022-02-03 capn@google.com Document our LLVM dependency and steps to upgrade 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 jonahr@google.com on the revert to ensure that a human is aware of the problem. To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: jonahr@google.com Change-Id: I19b633d0ee688145a5a89afdaa6ec7f7888b09f3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3440165 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 0aca45c1 2022-02-04T07:29:23 Roll Chromium from 8894f7c632dd to 55ed02951fa2 (509 revisions) https://chromium.googlesource.com/chromium/src.git/+log/8894f7c632dd..55ed02951fa2 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 jonahr@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/979ee2bb07..3a9b7ad1c9 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/f78b4b9f33..8ccda4f4eb * testing: https://chromium.googlesource.com/chromium/src/testing/+log/3998ba40ef..70ae162605 * third_party/android_build_tools: https://chromium.googlesource.com/chromium/src/third_party/android_build_tools/+log/1b1e9a3bef..6f9d0386be * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/e935cea6e2..8e8a9001da * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..87e60660bd * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/f537138fb7..df01c5ad5b * tools/android/errorprone_plugin: https://chromium.googlesource.com/chromium/src/tools/android/errorprone_plugin/+log/16a66294ae..bd76c90eac * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/53e6f91fdc..f246ca2830 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/3891d28419..e41bae7747 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/cf43343c49..2b39a24cb7 No update to Clang. Bug: angleproject:2424,angleproject:3686,angleproject:4242,angleproject:5222,angleproject:6430 Tbr: jonahr@google.com Change-Id: Iaffe24706d5fda0f3e028d523484e8585f330d41 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3439128 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Charlie Lao 1608a956 2022-02-02T13:54:53 Vulkan: Revert client vertex data streaming to use DynamicBuffer In early CL crrev.com/c/3352489, I switched client vertex data streaming from using DynamicBuffer to sub-allocating from the buffer pool. That caused CPU overhead regression due to extra cost of handling the suballocation object creating and garbage collection etc. Even after all other optimizations I did since then that significantly improved garbage collection performance, there is still 6% CPU time regression as measured with gardenscape. This CL moves StreamVertexData() back to use DynamicBuffer. In order to do that, I have cleaned up DynamicBuffer interface to be consistent with suballocation interface by storing the current allocated offset/size in the suballocation object. With that, the BufferHelper object that returned from DynamicBuffer will be able to pass around and referenced exactly like it comes from suballocation code path, and you can retrieve offset/size from that BufferHelper object instead of having to pass offset around between various function calls. Given that streaming vertex data from client memory is only possible for default vertex array and there is only one default vertex array for each context, this stream vertex data dynamic buffer is essentially a per context object. So the other change I made here is that I have merged mDynamicVertexData with default attribute (which uses per context dynamic buffers) code to use the same sets of dynamic buffers, since you will only use one or the other but not both. Bug: b/205337962 Change-Id: I0ceca5b854069f00afdb9544ee86953b9b773821 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3434645 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Cody Northrop 9e323299 2022-02-02T18:09:36 FrameCapture: Regen framebuffers on Reset Regenerate framebuffers that have been deleted and recreated during the run. This required changing the order of how resources are updated during Reset. Textures need to come before framebuffers so they can be regenerated before being bound. Test: MEC of genshin_impact trace frames 2-100 Bug: angleproject:6893 Change-Id: I0d14e09a5e378e7553dec54f4608eefe1bf397dd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3435112 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi e897bf9a 2022-02-03T13:53:11 Remove gl_PerVertex-related suppression Bug: angleproject:5579 Change-Id: I532bc2628f8d69aa429c73dc5613ccb5375109a5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3437411 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 3dbba51d 2022-01-28T16:47:19 Reland "Vulkan: Enable ANGLE_texture_multisample" This is a reland of fe56532f503c9a6acde95f7573d705468102faff Fixed to include suppression of trace tests that were failing. Original change's description: > Vulkan: Enable ANGLE_texture_multisample > > Bug: angleproject:3565 > Change-Id: Ic9556d25608a67540f7eee8841e54dc11773ca22 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3424664 > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Bug: angleproject:3565 Change-Id: I9b95ce0823b0ee8cd82c8933f0d4c68bb044dda9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3437525 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi 83a3f654 2022-02-03T18:00:26 Revert "Suppress GLSLTest.FramebufferFetch... on Pixel6 / Vk / Glslang" This reverts commit 600ffa6ec6729e82cf76694c2039c05af13dfbaa. Reason for revert: Bug is fixed in https://chromium-review.googlesource.com/c/angle/angle/+/3434898 Original change's description: > Suppress GLSLTest.FramebufferFetch... on Pixel6 / Vk / Glslang > > GLSLTest.FramebufferFetchWithLastFragData was recently added and > fails on Pixel6 Vulkan Glslang. > > Bug: angleproject:6969 > Change-Id: I249feacd9949528275d6c077a73241c97d1ca24a > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3433273 > Reviewed-by: Yuly Novikov <ynovikov@chromium.org> > Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Bug: angleproject:6969 Change-Id: Ie3272fd3362960112fe4df85c71ba31c57f4b3e3 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3437408 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 4ac0f143 2022-02-02T16:28:01 Vulkan: Fix gl_LastFragData transformation This transformation was only called if gl_LastFragData was redeclared. Otherwise the ES3 version of the transformation (for inout variables) was being used which did not handle gl_LastFragData correctly. Bug: angleproject:6951 Bug: angleproject:6969 Change-Id: I188235bb9710a81c4010c9a170bce40cea8f414b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3434898 Reviewed-by: mohan maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis f1159253 2022-02-03T10:38:58 Expand suppression of Mimap tests to any Win/Swiftshader config. These tests are still flaking on Win/Swiftshader/AsyncQueue. Bug: angleproject:6965 Change-Id: Ieeaff96a320ac8839aa0ad238ed3f2f02aa845f4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3437405 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Cody Northrop e56f0e29 2022-01-26T19:46:01 Vulkan: Check program fetch status when switching framebuffers Before this patch, we only checked whether to update the framebuffer fetch status when the program changes. We also need to check when the framebuffer itself changes. Test: FramebufferFetchES31.FramebufferMixedFetchTest Bug: angleproject:6893 Change-Id: I92ff1f30dfb3f17aee362e5931fc4c94d18142ba Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3418842 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Jonah Ryan-Davis 600ffa6e 2022-02-02T16:58:33 Suppress GLSLTest.FramebufferFetch... on Pixel6 / Vk / Glslang GLSLTest.FramebufferFetchWithLastFragData was recently added and fails on Pixel6 Vulkan Glslang. Bug: angleproject:6969 Change-Id: I249feacd9949528275d6c077a73241c97d1ca24a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3433273 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Jamie Madill 4a65040b 2022-01-30T14:00:48 Add new Vulkan uniform update test. This covers a specific case with multiple programs and descriptor set caching. It could get tripped up by more complicated patterns in the trace tests. Bug: angleproject:6776 Change-Id: Ic8e42e55e60ef0fc01f0386712d3457abeea94e9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3426884 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
angle-autoroll 464396c7 2022-02-03T10:01:03 Roll vulkan-deps from fe093f4789c2 to 3a6f074dbd38 (8 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/fe093f4789c2..3a6f074dbd38 Changed dependencies: * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/b846f8f1dc..7fa9e746ef * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/fbea18e178..cdebcc4ee0 * vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/b69bea3446..bb32aa13d4 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/da4b151aad..54c295b067 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC jonahr@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: jonahr@google.com Change-Id: I4f2c07c741837833ee305b47dbfbdf50c2b9549f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3435773 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 4c9f4519 2022-02-03T10:01:08 Roll SwiftShader from 4998c7b3a2b8 to 6014f10de554 (6 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/4998c7b3a2b8..6014f10de554 2022-02-02 capn@google.com Fix building Reactor with the latest LLVM revision 2022-02-02 capn@google.com Implement FMA() which always returns a fused multiply-add result 2022-02-02 capn@google.com Add a query for fast FMA support 2022-02-02 capn@google.com Add AVX2 and FMA support detection 2022-02-02 capn@google.com Support issuing extended CPUID instructions 2022-02-02 capn@google.com Remove legacy vector extension detection 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 jonahr@google.com on the revert to ensure that a human is aware of the problem. To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: jonahr@google.com Change-Id: I695431b304806732de62fa1bf4c197c12d375d1b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3436145 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 6e7a7a03 2022-02-03T07:02:25 Roll Chromium from a210f891a450 to 8894f7c632dd (1053 revisions) https://chromium.googlesource.com/chromium/src.git/+log/a210f891a450..8894f7c632dd 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 jonahr@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/6b20164497..979ee2bb07 * buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/df43e1b039..5b0a8cf88e * buildtools/third_party/libunwind/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/d0ad43c5e1..659c7d91af * testing: https://chromium.googlesource.com/chromium/src/testing/+log/b17e15aa1a..3998ba40ef * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/fd8e6f276e..9ffdb58347 * third_party/android_sdk: https://chromium.googlesource.com/chromium/src/third_party/android_sdk/+log/eb60318d64..4a6d53b8f7 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..1e084a5277 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/98cf932814..f537138fb7 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/cb91247d81..53e6f91fdc * tools/luci-go: git_revision:d46a9c7ad4e38935bbacb01602fc1d09a162884b..git_revision:462d0a9cdbe947cd652fcd0c54f64ebc712858a5 * tools/luci-go: git_revision:d46a9c7ad4e38935bbacb01602fc1d09a162884b..git_revision:462d0a9cdbe947cd652fcd0c54f64ebc712858a5 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/619214929f..3891d28419 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/0182d6f78c..cf43343c49 * tools/skia_goldctl/linux: EOs8AExsqXFWldVpuKUhohthnzRRSh8f1iOAv5ZTMaMC..x5DuM_cFqeCFMlXDtBAVjbyWLSGKdFH2UEf-w1ZKrJAC * tools/skia_goldctl/mac_amd64: eq2tMMf-q6AOpCv5MS-RFvueRyU6T_uvZrMA_EsM_cAC..D9f-ltgviMq1P9HlpfREM3YKpCL6XVLKFuBQw9qO7SIC * tools/skia_goldctl/mac_arm64: -AnHHiBmUZNDkYjj6DIHVHg8N2LuttcBm9gUQx5Yrt8C..XlO5MLseLPLIFzjP_ZqyzC_mL0jxKtTHw6hSvu2ZfqMC * tools/skia_goldctl/win: YNpvcNJRmWf1tWoS-tcsyhjqBG_mHDeGeur5IZYx0hEC..rL1WCW55dVVbB31YPyHoH7cdor3y_GdjUbUiAGRpScgC * tools/valgrind: https://chromium.googlesource.com/chromium/src/tools/valgrind/+log/92807057e1..0e5920bffa No update to Clang. Bug: None Tbr: jonahr@google.com Change-Id: I2c2ecbec3bedf0f28a3207e0933fa9dc1c44fd55 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3435768 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Jonah Ryan-Davis b756b2c2 2022-02-02T16:16:14 Suppress flaky Mipmap/Multithreading tests on Win/SwS/ASAN Tests started flaking a while ago, but the problem may be getting worse Bug: angleproject:6968 Bug: angleproject:6965 Change-Id: I82e4be369e78ad96f93047c01c09914ccb6d481e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3433271 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Kenneth Russell 812d5fff 2022-01-31T17:32:47 Metal: End the current render pass at glInvalidateFramebuffer. Prior to this, glInvalidateFramebuffer calls were discarding the effects of draw calls made afterward, in the same render pass. Add StateChangeTestWebGL2.InvalidateThenDrawFBO reproducing the basic problem reported, and document the variations attempted. Minimal code was changed to fix this issue because other changes hypothesized as necessary weren't testable. Drive-by cleanup of FragDepthTest, after which StateChangeTestWebGL2 was patterned. Bug: angleproject:6923 Change-Id: If79805dbf62fae76b7b9147940b5d9d301142baa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3426828 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Gregg Tavares <gman@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org>
Cody Northrop 7d7cca47 2022-01-17T18:00:25 Vulkan: Update default FBO when fetch in use If the fetch mode of the default framebuffer changes, lazily create and use a new set of framebuffers (one per swapchain image) that are setup for fetch (i.e. have a matching renderpass). Test: FramebufferFetchES31.DefaultFramebufferTest Test: FramebufferFetchES31.DefaultFramebufferMixedProgramsTest Bug: angleproject:6893 Change-Id: Iff2b73d7c34b9b8ca9429c3f24aa700c2746cc81 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3401933 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Kenneth Russell 25120c56 2022-02-02T14:28:25 Mac: Try to diagnose crashes inside Core Animation. Attempt to diagnose the high flake rate on the mac-test bot. Override [NSApplication _crashOnException], which is being called from an internal Core Animation method NS_setFlushesWithDisplayLink, and print the source exception's stack trace, which is being lost. Bug: angleproject:6570 Change-Id: I6a1653b42f5f024a4532243180a8edc2b7514244 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3433274 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Yuly Novikov 139f4bd4 2022-02-02T23:17:04 Revert "Vulkan: Enable ANGLE_texture_multisample" This reverts commit fe56532f503c9a6acde95f7573d705468102faff. Reason for revert: breaks win-trace trybot https://ci.chromium.org/ui/p/angle/builders/ci/win-trace/764/overview Original change's description: > Vulkan: Enable ANGLE_texture_multisample > > Bug: angleproject:3565 > Change-Id: Ic9556d25608a67540f7eee8841e54dc11773ca22 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3424664 > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Bug: angleproject:3565 Change-Id: Ia278894260b9e714542a8944cb132005c3700ddb No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3434285 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Alexey Knyazev 49488710 2022-02-02T14:57:04 Metal: Remove emulatedInstanceID The uniform variable is no longer referenced. Bug: angleproject:5505 Change-Id: I8de518592e045707d024eaa1c07999caf4b5da66 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3431079 Reviewed-by: Kyle Piddington <kpiddington@apple.com> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
angle-autoroll 57933493 2022-02-02T10:01:03 Roll vulkan-deps from 9ee740d2e9ef to fe093f4789c2 (5 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/9ee740d2e9ef..fe093f4789c2 Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/c34bb3b6c5..16e3b403aa * spirv-cross: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross.git/+log/53d94a982e..1a36968e5d * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/be7c48c0e9..fbea18e178 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/9d0dda35c2..da4b151aad If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC jonahr@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: jonahr@google.com Change-Id: I36bc29f54bbbfbd4fb1fb94bf5d66bd4b620d311 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3430598 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi 72529c19 2022-01-31T14:37:42 Vulkan: Fix a few framebuffer fetch bugs A few fixes to framebuffer fetch: - The built-in symbol for coherent and non-coherent are now the same for gl_LastFragData, so extension check can choose one or the other. - The temporary variable used in a transformation is renamed to not be gl_LastFragData. - inout usage is now validated correctly for shader type and version. Bug: angleproject:6951 Bug: angleproject:6905 Bug: angleproject:6907 Change-Id: I9af341a3e8e01ed375a8230618184494813d3ece Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3427577 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi fe56532f 2022-01-28T16:47:19 Vulkan: Enable ANGLE_texture_multisample Bug: angleproject:3565 Change-Id: Ic9556d25608a67540f7eee8841e54dc11773ca22 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3424664 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao bc3be5a8 2022-01-27T12:12:58 Vulkan: Add a dedicated suballocation garbage list Suballocations are the most common garbage objects in most usage cases. The current garbage collection code will construct a garbage object from suballocation and then construct a SharedGarbage object with a std::vector that holds only one element. And then it adds this SharedGarbage to the garbage list. This CL tries to avoid create std::vector with just one element and avoid the cost of switch statement for each garbage object by adding a new dedicated garbage list that only holds the suballocation garbages, which is the most common garbages in the system. With gardenscapes running offscreen with --minimum-gpu-work, it reduces CPU overhead from 2.55ms to 2.20ms on Pixel6. Bug: b/215768827 Change-Id: Ia2872442462917c0caadb263769a1cbf3dd7366f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3414356 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Jamie Madill be2da234 2022-01-30T13:59:21 Vulkan: Initialize exectuable with invalid uniform serial. Instead of reserving valid serials from the range of device serials, we can instead use an invalid serial. We can remove the extra check for valid this adds if it becomes a hotspot later. Bug: angleproject:6776 Change-Id: I81a36be503d6464ddc5dbb0e9df907f09dda9182 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3426883 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 33427a4b 2022-01-31T12:07:43 Vulkan: Fix vkCmdResolveImage extents The source framebuffer's extents were accidentally used instead of the blit area extents. Bug: chromium:1288020 Change-Id: Ib723db50d9687fee0453d027141a94ea26d8a4b8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3427561 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao 293c0b51 2022-01-21T15:53:38 Vulkan: Cache commonly used 6 ushorts stream index array data Looking at all app traces that we currently have, 16 out of 100 apps are making glDrawElements calls without element buffer. And among these usages, most of them are calling glDrawElements with 6 unsigned shorts, which makes sense for drawing a quad. This CL caches first four BufferHelper objects with 6 uint16_t indices in a buffer and reuse them if the data matches. With this we avoid create/destroy suballocations, we even save the time of data copy and set DIRTY_BIT_INDEX_BUFFER when called with same set of indices, which is the case for almost all apps that uses glDrawElements based on app traces research. In order to test the effect, I modified the `--minimize-gpu-work` to keep glDrawElements calls with (count=6, tye=ushort) to pass down count/type into angle, and only change the mode to point. That way this new optimization will gets activated with `--minimze-gpu-work` command line option (see crrev.com/c/3421377). With that, this CL sees cpu overhead reduced from 2.54ms to 2.37ms on Pixel6 with vulkan_offscreen_gardenscape. Bug: b/215768827 Change-Id: I9b682868978e3bef7b5b9d1a596500ead2738d3e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3404677 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Brandon Schade 38fada35 2022-01-27T18:16:18 Vulkan: Add support for OES_primitive_bounding_box Add OES version of the primitive bound box extension Bug: angleproject:3576 Test: dEQP-GLES31.functional.primitive_bounding_box.* Change-Id: Ie44d952992a68dfffd5c124dda8dd11069f0c1e1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3425086 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Brandon Schade <b.schade@samsung.com>
Brandon Schade 91b383e8 2022-01-27T10:22:17 Translator: Emit warning when identifier has double underscores OpenGL ES Shader Language 3.2 specification states that two consecutive underscores (__) are reserved. It doesn't result in an error if used but could result in unintended behavior. Update the translator accordingly. Bug: angleproject:6577 Tests: ShaderVariableTest.DoubleUnderscores* Change-Id: Ice7e0eca4f770400061f4b8f7f65106cb1926f1a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3421411 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Brandon Schade <b.schade@samsung.com>
Jamie Madill 945a09d1 2022-01-30T13:57:32 Vulkan: Fix off-by-one in DynamicBuffer. allocateFromCurrentBuffer was using >= when it should have been using >. This prevented filling a buffer to the exact maximum. Bug: angleproject:6776 Change-Id: I9656e398080381f97d06912ff10fe62e7e7333ac Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3426882 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Wez d6fb76a6 2022-01-31T16:14:17 [fuchsia] Don't try to use calling executable path to load .so's Bug: angleproject:6964 Change-Id: I856bdbcb83826c6af88ffa79c2a97b97ca827c85 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3427639 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 868c0739 2022-01-29T13:59:30 Vulkan: Fix image base/max level respecification case. Bug: angleproject:6776 Change-Id: I3e7774c20bae6d7ad7b1775d46797104e2429b81 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3426208 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Brandon Schade 0a6c4310 2022-01-27T10:26:43 Vulkan: Fix incorrect gl_SamplePosition on ES3.2 gl_SamplePosition was not being replaced with angle's variable that takes into account surface rotation in ES3.2 shaders. This change fixes the translator to search for the ES3.2 variant of the builtin when the shader is an ES3.2 shader Test: dEQP-GLES31.functional.shaders.sample_variables.sample_pos.correctness.default_framebuffer --deqp-gl-config-name=rgba8888d24s8ms4 Test: dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.at_sample_position.default_framebuffer --deqp-gl-config-name=rgba8888d24s8ms4 Bug: angleproject:5637 Change-Id: I2b56ee4d2196fa717748c7205745169de562cb22 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3421526 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
angle-autoroll 693b48a0 2022-02-01T12:59:08 Roll SwiftShader from 4db20a80409b to 4998c7b3a2b8 (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/4db20a80409b..4998c7b3a2b8 2022-02-01 kjlubick@google.com Add explicit copy assignment operators 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 jonahr@google.com on the revert to ensure that a human is aware of the problem. To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: jonahr@google.com Change-Id: I1b8173432562cf260f920e93cb9fabbee71193a7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3429315 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll d1b1ef9a 2022-02-01T10:01:03 Roll vulkan-deps from 69f4b9c09e48 to 9ee740d2e9ef (3 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/69f4b9c09e48..9ee740d2e9ef Changed dependencies: * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/20b122b2e0..b846f8f1dc * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/f4aeed4464..be7c48c0e9 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/af13a29d6f..9d0dda35c2 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC jonahr@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: jonahr@google.com Change-Id: If9003fea29b9acffe1764981e333c6ba24a92377 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3429085 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Sergey Ulanov 3c727e44 2022-01-31T22:18:22 Allow GL_RGBX8_ANGLE for texture copy destination Updated IsValidCopyTextureDestinationInternalFormatEnum() to allow GL_RGBX8_ANGLE. Bug: chromium:1269826 Change-Id: I07533560d8f0d6f9d114e7c05927f670c6f96891 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3426820 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 06926954 2022-02-01T08:02:23 Roll Chromium from 97a33ab1a078 to a210f891a450 (477 revisions) https://chromium.googlesource.com/chromium/src.git/+log/97a33ab1a078..a210f891a450 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 jonahr@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/251d3d7d45..6b20164497 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/91b483090a..b17e15aa1a * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/ce12c7a75a..fd8e6f276e * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/3d6486f686..e935cea6e2 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..1c33cd6890 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/8dd74d4f85..98cf932814 * third_party/protobuf: https://chromium.googlesource.com/chromium/src/third_party/protobuf/+log/2dc9e853e1..d29d689c1d * third_party/turbine: RkSl7-UvBXltU55m5zi387oPTAJqTj3Oz6nIpQkOI4wC..g7lRRNWdEQAksTvScmHd-o0PUx4ts7kioIdeDtQ-ifMC * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/00a9400ecf..cb91247d81 * tools/luci-go: git_revision:9c88febc5ab63469baf5aae05a74f8e419970ef3..git_revision:d46a9c7ad4e38935bbacb01602fc1d09a162884b * tools/luci-go: git_revision:9c88febc5ab63469baf5aae05a74f8e419970ef3..git_revision:d46a9c7ad4e38935bbacb01602fc1d09a162884b * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/4ccc066727..0182d6f78c * tools/skia_goldctl/linux: a94AbgYafC6yjxWNmJJ4cHUWWXNhjFUQLcU79HycYjkC..EOs8AExsqXFWldVpuKUhohthnzRRSh8f1iOAv5ZTMaMC * tools/skia_goldctl/mac_amd64: IEdOBXQmFOksbZa16aKIWU6uYVYJlgvPwyX3wktMkkIC..eq2tMMf-q6AOpCv5MS-RFvueRyU6T_uvZrMA_EsM_cAC * tools/skia_goldctl/mac_arm64: XtI7k09JHcA8aaaRNlOF92uDqOXfr8HMmepwH0q9uk0C..-AnHHiBmUZNDkYjj6DIHVHg8N2LuttcBm9gUQx5Yrt8C * tools/skia_goldctl/win: 3uvz7bDTL-QoL5KPX-caB_HxcvVE7JamyMibu71hqHAC..YNpvcNJRmWf1tWoS-tcsyhjqBG_mHDeGeur5IZYx0hEC No update to Clang. Bug: angleproject:6358 Tbr: jonahr@google.com Change-Id: Iea28347b9dabc57716e73d380bfe8f853a9fb865 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3429080 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Jamie Madill f810e998 2022-01-31T11:39:37 Use a temporary timeout multipler for trace tests. The trace tests upload is frequently timing out on our test infra because of the size of the test suite. Until we can find a better solution we can increase the timeout non-invasively using an environment variable. Bug: angleproject:6854 Change-Id: Ifbe43c4d9dc8928cf35df8a26b844f884c90eb9d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3427560 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Yuly Novikov 508a8a02 2022-01-31T15:12:55 Remove old spellings for SYNC-HAZARD-WRITE_AFTER_READ skips Obsoleted by VVL roll crrev.com/c/3426000 Bug: chromium:1292106 Change-Id: I360dea6f97e75a25245597e96553aa86d655c340 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3428099 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill 2d3ce72d 2022-01-20T10:13:06 Refactor shared library load to avoid allocations. Fixes a leak of an angle::Library detected in the EGL loader. Bug: angleproject:6937 Change-Id: I623aa6172b98a35465e1d2641b92f67bdc5d24e7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3403060 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 665ddccd 2021-12-09T23:06:39 Vulkan: Emulate dithering Dithering in OpenGL is vaguely defined, to the extent that no dithering is also a valid dithering algorithm. Dithering is enabled by default, but emulating it has a non-negligible cost. Similarly to some other GLES drivers, ANGLE enables dithering only on low-bit formats where visual banding is particularly common; namely RGBA4444, RGBA5551 and RGB565. Dithering is emulated in the fragment shader and is controlled by a spec constant. Every 2 bits of the spec constant correspond to one attachment, with the value indicating: - 00: No dithering - 01: Dither for RGBA4444 - 10: Dither for RGBA5551 - 11: Dither for RGB565 The translator appends code to the shader that, based on the format specified by the specialization constant, adds dithering to each color attachment output. A 2x2 Bayer matrix is used for dithering, indexed by gl_FragCoord.xy % 2. Bug: angleproject:6755 Change-Id: Ib45da5938e299b6626bff921119d63e7357dd353 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3374261 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 29d087df 2022-01-28T16:44:14 Fix ANGLE_rgbx_internal_format's extension file name Bug: angleproject:6690 Change-Id: I67abec8a58d216e97ecaed82126005dc3deae214 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3424663 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Jamie Madill 471f1852 2022-01-31T11:22:49 D3D11: Fix underflow with computing small strides. When an attribute stride was less than the size of a vertex element, and the D3D11 back-end emulates this vertex format, our vertex streaming logic could decide that an unsigned int underflow means our element count in a buffer is not computable and return zero. Fix this bug by using signed integers in the element conversion. Bug: angleproject:6958 Change-Id: Ibd9a3599d780e953d492db739c7443662c7e6b82 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3427559 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
angle-autoroll 84470eb3 2022-01-31T10:01:08 Roll SwiftShader from 518c5780ac4f to 4db20a80409b (3 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/518c5780ac4f..4db20a80409b 2022-01-28 srisser@google.com Regres queries gerrit with a CL's numeric ID 2022-01-28 tho.laroche@gmail.com Check shm extension is supported before using it 2022-01-28 capn@google.com Suggest only active owners as code reviewers 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 ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: I7c7bb60d94f2e24ae4267b485234cb01523cb52c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3427046 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll b934fad9 2022-01-31T07:02:28 Roll Chromium from 4d71de73b37d to 97a33ab1a078 (625 revisions) https://chromium.googlesource.com/chromium/src.git/+log/4d71de73b37d..97a33ab1a078 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 file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/c033fc477f..251d3d7d45 * buildtools/third_party/libunwind/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/7246413309..d0ad43c5e1 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/df87133fcb..91b483090a * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/09aa08e993..3d6486f686 * third_party/android_ndk: https://chromium.googlesource.com/android_ndk.git/+log/401019bf85..9644104c8c * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..6b30850934 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/289dedd36b..8dd74d4f85 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/e9331be2f4..4ccc066727 * tools/valgrind: https://chromium.googlesource.com/chromium/src/tools/valgrind/+log/ff9c7dc63d..92807057e1 No update to Clang. Bug: None Tbr: ynovikov@google.com Change-Id: I3620eb6bb4d8bbf2ead0dabd518cb03cea21b7ae Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3426821 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll a4a4fec8 2022-01-29T14:47:02 Roll vulkan-deps from f703f3cc0975 to 69f4b9c09e48 (10 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/f703f3cc0975..69f4b9c09e48 Changed dependencies: * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/a73e724359..20b122b2e0 * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/8aad559a09..f4aeed4464 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/cf9f239a93..af13a29d6f If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: I34755b5d6be63df32c3f6e9ca34637337935060c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3426005 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 69263b38 2022-01-29T06:38:02 Roll vulkan-deps from 746e518a0b0e to f703f3cc0975 (1 revision) https://chromium.googlesource.com/vulkan-deps.git/+log/746e518a0b0e..f703f3cc0975 Changed dependencies: * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/4c043dd599..cf9f239a93 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: Ia90988280d25ee2a7f333e0dfb4b040bce187827 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3426000 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Yuly Novikov 55ef2b4f 2022-01-28T23:24:49 Update one more SYNC-HAZARD-WRITE_AFTER_READ skip vkCmdCopyImageToBuffer() was changed to vkCmdCopyImageToBuffer in https://github.com/KhronosGroup/Vulkan-ValidationLayers/pull/3705 Skip both variants for now, the old one to be removed after a VVL roll. Bug: chromium:1292106 Change-Id: I8c1a6be7bcf829c9a8b848c5ef2362462a965a11 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3424667 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 168e0ae5 2022-01-27T16:50:00 Vulkan: Refactor descriptor pool code. This uses vk::Context to init DynamicDescriptorPool, and removes some accesses to ProgramExecutableVk member variables so the methods can more easily be moved into another class. The changes should have no effective behaviour difference. Note that the immutable sampler descriptor count is entirely set by the format of the immutable samplers. However we can't determine this count by looking at the descriptor set layout desc with the current implementation. Bug: angleproject:6776 Change-Id: I0a323d19fa3720b5afd8300401ed9c30b105c0ef Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3424657 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov a994ea99 2022-01-28T17:52:16 Update SYNC-HAZARD-WRITE_AFTER_READ skip VK_PIPELINE_STAGE_2_NONE_KHR was renamed to VK_PIPELINE_STAGE_2_NONE in https://github.com/KhronosGroup/Vulkan-ValidationLayers/pull/3705 Skip both variants for now, KHR to be removed after a VVL roll. Bug: chromium:1292106 Change-Id: Ie8d095eccedc526880edf7d3601fa0aca23c1498 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3424665 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Jeff Vigil e03f1753 2022-01-06T09:48:12 EGL: mutable_render_buffer deferredFlush fix When in SINGLE_BUFFER mode, need to get around deferredFlush and call Swapbuffers to force update This must do status check for OUT_OF_DATE. Bug: angleproject:6878 Change-Id: I34b7381f6799879bf6f6d490aba02feffc5c3748 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3373739 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Brandon Schade <b.schade@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll e27bb397 2022-01-28T19:31:02 Roll vulkan-deps from a19b5047ffca to 746e518a0b0e (5 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/a19b5047ffca..746e518a0b0e Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/81cc10a498..c34bb3b6c5 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/a6c1ddca49..4c043dd599 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: I916fedcae5acc54e9195f96a52d98b06fc9bb338 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3425081 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
sugoi1 8a1f8af4 2022-01-28T10:51:47 Turn on the Vulkan backend on ChromeOS ChromeOS needs to switch from testing on legacy SwiftShader GL to testing on SwANGLE instead. This CL allows ANGLE's Vulkan backend to exist on ChromeOS. Bug: chromium:1225003 Change-Id: I7bf702ce18857707226461152b560a570797fce0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3424658 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexis Hétu <sugoi@chromium.org>
Lubosz Sarnecki 9bf5716c 2022-01-26T16:39:11 Tests: Add War Planet Online trace. Add GL_KHR_texture_compression_astc_ldr prerequisite. Test: angle_perftests --gtest_filter="*war_planet_online*" Bug: angleproject:6774 Change-Id: I3d595453a0a570a1af4b1e6673cfc77e4ff9210b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3420296 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Lubosz Sarnecki 287057b3 2022-01-25T17:01:43 FrameCapture: Don't track coherent buffers before capture starts. Even though coherent buffer storages were only captured after capture was activated, the buffer tracker was incorrectly initialized with the first call to glMapBufferRange, even though capture was not active. This fixes corrupted rendering in War Planet Online due to all coherent buffer storages being tracked at initialization of the app, when FrameCapture was enabled but not active. Introduce mMidExecutionCaptureActive, which exposes if MEC is currently executed. Bug: angleproject:5857 Bug: angleproject:6774 Change-Id: I4849d6497e8e08aefc60e68bae027915e9b2912f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3416227 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Lubosz Sarnecki 42c8b29d 2022-01-05T13:35:23 Tests: Add Dead By Daylight trace. Add GL_EXT_shader_framebuffer_fetch prerequisite. Ignore SYNC-HAZARD-READ_AFTER_WRITE validation error in RendererVk. Test: angle_perftests --gtest_filter="*dead_by_daylight*" Bug: angleproject:6870 Change-Id: I01f53ff8d26b704b75afe8c02ac12777b51fd5de Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3372793 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
angle-autoroll 46b420f6 2022-01-28T10:01:09 Roll SwiftShader from bca23447ad46 to 518c5780ac4f (7 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/bca23447ad46..518c5780ac4f 2022-01-27 sugoi@google.com Vulkan 1.3 API 2022-01-27 capn@google.com Add benchmarks for trigonometry and transcendental functions 2022-01-27 dvet@google.com Add affinity options to the configuration. 2022-01-27 capn@google.com Clarify the need to log into Gerrit 2022-01-27 sugoi@google.com Fix compilation error in new Vulkan headers 2022-01-27 capn@google.com Use rr::MulAdd() to implement GLSL.std.450's Fma instruction 2022-01-27 capn@google.com Implement MulAdd() which may perform FMA 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 ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: Id4f43c6ad4283c9b5d248c6ad7e62699a7f8a495 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3423813 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 078f7ea0 2022-01-28T07:00:47 Roll Chromium from 8ff0cb4f71d8 to 4d71de73b37d (550 revisions) https://chromium.googlesource.com/chromium/src.git/+log/8ff0cb4f71d8..4d71de73b37d 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 file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/45926bacc9..c033fc477f * buildtools/third_party/libunwind/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/c8a5d430f2..7246413309 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/0928533770..df87133fcb * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/cfdfe8d145..ce12c7a75a * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/f7460e1e05..09aa08e993 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..d90eeee993 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/d5862557d6..289dedd36b * third_party/r8: KOlWWUU4CAY1EqgiZ6iljOP7ycIjceTEFcwWxL14HFoC..tamyW0-567_CaEZt2m7Pwy2NSUKeocbxdkoGsf-z3F0C * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/b93ee79874..00a9400ecf * tools/luci-go: git_revision:7528d700b89db0b6feb32be098d40597f738d3c7..git_revision:9c88febc5ab63469baf5aae05a74f8e419970ef3 * tools/luci-go: git_revision:7528d700b89db0b6feb32be098d40597f738d3c7..git_revision:9c88febc5ab63469baf5aae05a74f8e419970ef3 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/cae500a685..619214929f * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/7c555d7184..e9331be2f4 No update to Clang. Bug: None Tbr: ynovikov@google.com Change-Id: I798fc14c60b8c46a607daf4f582fd9aff7385bed Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3423507 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Kyle Piddington c4a9d416 2022-01-05T15:28:11 Metal: Refactor to build without SPIR-V Refactor ShaderInterfaceInfoMap and constant names to thier own files, allowing Webkit to build without needing to compile SPIRV code via mtl_glslang_utils.cpp. Bug: angleproject:6782 Change-Id: I7a9c7e387145c95807f780e24bd2764e0efb5709 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3364970 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Kyle Piddington <kpiddington@apple.com>
Charlie Lao 701d51b1 2022-01-25T15:44:39 Vulkan: Add SmallBufferPool for small allocations The small pool uses buddy algorithm that is much faster. The only downside is that it rounds size to power of two. For small allocations that rounding does not generate much waste and avoid fragmentation as well. This CL adds a small pool for host visible non-coherent pool. My testing with gardenscape shows that on top of other CLs, this reduces CPU overhead from 1.77ms to 1.55ms as measured with --minimize-gpu-work with offscreen. Bug: b/215768827 Change-Id: I68434931f238c4e980b77d3df46d762260ef1db5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3415211 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Robert Phillips 66e01ae5 2022-01-26T15:57:26 Expand error message on BindTexture validation failure Bug: chromium:1288391 Change-Id: I34098a64162c78c20a485ece1cd98178242c6864 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3417919 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Tim Van Patten 706e44b0 2021-12-23T19:36:44 Tests: Add PUBG Mobile launch trace Note: This isn't full representative of the shader compilation phase, since the glGetProgramBinary() calls are excluded from the trace due to missing functionality. The goal of this trace is to benchmark the compile/link/use program steps, so this trace is still useful from that perspective. Test: TracePerfTest.Run/*pubg_mobile_launch Bug: angleproject:6848 Bug: angleproject:6850 Change-Id: Ic0572b9fd1d0d26a53571c64446e577c7af7fa3a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3355556 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Charlie Lao df19e35a 2022-01-24T17:47:58 Vulkan: Use queue for mGarbageQueue This variable is also acting exactly like queue as the name implies. This CL changes from vector to queue so that the very last erase() call will not actually move anything. Bug: b/215768827 Change-Id: Ieb39c3a1b3acb25f93bcda2a46737a6d009d71f0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3414355 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Jamie Madill 4e644b33 2022-01-22T16:17:46 Vulkan: Remove ProgramExecutableVk back-pointers. This removes the mProgram and mProgramPipeline back-pointers from ProgramExecutableVk. In order to fix this, we needed to refactor the VkPipeline init functions to call through ProgramExecutableVk only instead of passing through ProgramVk. We also needed to move the early fragment shader optimization boolean out from Program. This CL also fixes a few places where the early fragment test optimization boolean wasn't properly updated. Bug: angleproject:3570 Change-Id: Ie4c48087f6eb022e6f0a4dacc2710085165d49e1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3408267 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Patrick To b3ed4780 2021-12-21T17:20:19 Change Windows display initialization from ANSI to wide version Bug: angleproject:6846 Change-Id: I2aee8f4b5b7546fc707705e435251fa9861e27d0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3352866 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Roman Lavrov 602b957b 2022-01-26T15:01:21 Enable robustnessEXT for SwiftShader. This is a reland of commit b803b60df1806f189c1b29ca77da47896241e0f1. The issue with webgl-oversized-printing.html crashes is supposed to be resolved by commit b1216bf1759ab23ffe2d6b6727f9ec10ddfa4d0f Failing test angle-instanced-arrays-out-of-bounds.html disabled by commit d235e032000d611d31e6fd8a8190e4425b4c0ecb I don't think we need to change the test expectations any more as that swiftshader issue is supposed to be already fixed http://anglebug.com/6906#c4 Bug: chromium:1287631 Bug: angleproject:6922 Change-Id: I0fdf806cac51d000088a029bbb3070906453dfb9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3415875 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
angle-autoroll 8b966cfc 2022-01-27T10:01:03 Roll vulkan-deps from ae6a4b829252 to a19b5047ffca (9 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/ae6a4b829252..a19b5047ffca Changed dependencies: * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/5003644f55..a73e724359 * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/db4c3177aa..8aad559a09 * vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/2ee12e8ba3..b69bea3446 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: Ie7e44ffd59a4f7e92a6269e372363e18490a4574 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3418845 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 322d118f 2022-01-27T10:01:08 Roll SwiftShader from 711968667748 to bca23447ad46 (4 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/711968667748..bca23447ad46 2022-01-26 sugoi@google.com Update Vulkan headers to version 1.3.204 2022-01-26 capn@google.com Make MemoryMapper a JITRoutine member 2022-01-26 swiftshader.regress@gmail.com Regres: Update test lists @ 71196866 2022-01-26 nicolascapens@google.com Revert "Regres: Build dEQP with asserts enabled" 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 ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: I306a8a1740484fe1a6088959306f6dd3d9047d2c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3420148 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 47d63b4e 2022-01-27T07:00:06 Roll Chromium from 7b890e4b915b to 8ff0cb4f71d8 (485 revisions) https://chromium.googlesource.com/chromium/src.git/+log/7b890e4b915b..8ff0cb4f71d8 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 file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/37cced769f..45926bacc9 * buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/e4cc353cbf..df43e1b039 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/a53609bdb8..0928533770 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/e79b8ea964..cfdfe8d145 * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/941c8c5b02..f7460e1e05 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..d90eeee993 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/d05a2e0395..d5862557d6 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/5518918903..b93ee79874 * tools/luci-go: git_revision:09f8b3edbbf18dc63d0d5aa7722ae7acc20b11b4..git_revision:7528d700b89db0b6feb32be098d40597f738d3c7 * tools/luci-go: git_revision:09f8b3edbbf18dc63d0d5aa7722ae7acc20b11b4..git_revision:7528d700b89db0b6feb32be098d40597f738d3c7 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/cb2a01ac98..cae500a685 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/b53db1cd9f..7c555d7184 Clang version changed llvmorg-14-init-12719-gc4b45eeb:llvmorg-14-init-17086-g38e16e1c Details: https://chromium.googlesource.com/chromium/src/tools/clang/+/55189189038d366b821a45d0cd153be7e8b7cf9a..b93ee79874a76bf9c74264ef736f05a760c5dea3/scripts/update.py Bug: angleproject:2192,angleproject:3111,angleproject:4846,angleproject:5505,angleproject:6922 Tbr: ynovikov@google.com Change-Id: Ic33dba8c9a764d2eeb299092cca9807939c4f81e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3418843 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi 2ad5f350 2022-01-25T12:15:16 Vulkan: Fix texture array level redefinition When a level of a texture is redefined, all staged updates to that level should be removed, not the ones specific to the new layers. The bug fixed was that if the texture was redefined to have its number of layers changed, the staged higher-layer-count update to the image was not removed. Bug: chromium:1289383 Change-Id: I9b90025f78af80ab19a280f90b58510716da31d2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3413004 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
John Cunningham 45237a04 2022-01-11T00:14:01 Metal: Fix undefined behavior of depth write Writing to an unbound depth attachment is undefined behavior in Metal. Fix this by emitting a function constant to guard depth buffer use in fragment shaders. Bug: angleproject:6865 Change-Id: Id7c10d0aeb349aacfe09c397bc292a71199ab50a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3380304 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org>
Brandon Schade aadc6434 2022-01-24T18:28:19 Vulkan: Fix to correctly redefine gl_PerVertex in GS Angle translator structures were inconsistent of data lookup of gl_PerVertex data when it is user defined. Bug: angleproject:5579 Test: KHR-GLES32.core.geometry_shader.api.getProgramiv3 Test: GLSLTest_ES31.PerVertex* Change-Id: Ied9ea25ce86ade29261f4f75ce0b48af15061760 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2962352 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Brandon Schade <b.schade@samsung.com>
Garrett Beaty 25e8f02b 2022-01-26T13:23:26 [infra] Use python3 for run_presubmit recipe. Bug: chromium:1256437 Change-Id: I6ef3d7de6818d13d3e53b0ad5c5a905a8ee62664 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3418137 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Charlie Lao a7970889 2022-01-24T11:50:27 Vulkan: Use queue instead of vector for mSharedGarbageList The garbage collector code is iterating the mSharedGarbageList from begin to end and if the garbage object is completed, we destroy it and erase it from the vector. This is done one by one. The problem with that is each erase call end up moving the remaining vector to ahead by one, and this process is repeated for each completed element. This is O(N^2) problem and really magnifies when you have many garbage objects. Since we only add garbage when it is GPU pending, so most of these garbages are in sort of fifo order anyway. This CL changes the garbage list from vector to queue so that erase becomes pop and this becomes a O(N) problem. This reduces CPU overhead as measured with minimize-gpu-work for gardenscapes from 10ms to 2ms due to suballocation generates lots of garbages. But this CL is a general improvement for the garbage collection performance. Bug: b/215768827 Change-Id: I002aadf75f958d8b79eb6281a2608597776e908d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3414354 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Shahbaz Youssefi 39f66a9c 2021-12-16T23:26:00 Vulkan: Support different SCBs for outside and inside RP The render pass command buffers are generally much larger than outside render pass command buffers, and their allocation sizes and frequencies differ. This change allows choosing between ANGLE and Vulkan secondary CBs independently for outside and inside render pass commands, as part of an investigation to understand which implementation performs best for each. Switching to Vulkan secondary command buffers is still slower. In the ball park, switching outside render pass SCBs doesn't seem to make much difference, while switching render pass SCBs duplicates the frame's CPU time. Bug: angleproject:6811 Change-Id: Ia8455fd19897a0eaeadf3d6db29286ea53df1f5e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3346341 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill cb96c236 2022-01-26T18:53:55 Revert "Vulkan: Enable framebuffer fetch on SwiftShader." This reverts commit 5107231939b5e04d3d5e4376176db42c3ae60193. Reason for revert: Fails new code paths in Chrome+Skia. Bug: angleproject:6947 Original change's description: > Vulkan: Enable framebuffer fetch on SwiftShader. > > This also fixes a bug with non-coherent fetch in the symbol table. > > Bug: angleproject:6947 > Bug: angleproject:6948 > Change-Id: I190b2e0cddf1bc1b53a79079d3e2f79ccbb40d15 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3412998 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Cody Northrop <cnorthrop@google.com> > Commit-Queue: Jamie Madill <jmadill@chromium.org> Bug: angleproject:6947 Bug: angleproject:6948 Change-Id: I8bd6c55598552b733547e45c854f6d55768d2b65 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3417503 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 7c1346bd 2022-01-21T11:35:45 Vulkan: Consolidate uniforms code in ProgramExecutableVk. De-duplicates several methods. Refactoring change only. Bug: angleproject:3570 Change-Id: Ib68bc30b3e9b1087871bb268ea292677e0c9fe2e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3408061 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill b2d55742 2022-01-21T12:28:32 Program: Add generic uniform update methods. This will make it easier to make central changes to all the update methods. Otherwise we'd have to replicate changes in each separate member. Bug: angleproject:3570 Change-Id: Ia765720507642338d6e9777b7e38fb323800359b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3407734 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 374e0c43 2022-01-20T14:04:27 ProgramPipeline: Remove mHas members. These are no longer needed now that the excutable mirrors uniforms/ samplers/sahder buffers/etc.. Refactoring change only. Bug: angleproject:3570 Change-Id: I768381ac64a750f04180ab824302e3550030911c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3403047 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>