Log

Author Commit Date CI Message
Yuxin Hu 8aec7f35 2021-11-02T22:01:25 Add World Cricket Championship 2 Trace Test: angle_perftests --gtest_filter="*world_cricket_championship_2*" Bug: b/194508692 Change-Id: I0f36eba247b4726bc13b327634c429339ad1297c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3258343 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Tim Van Patten afaa1287 2021-10-26T19:29:44 Vulkan: Don't submit XFB queries when XFB is inactive Consider the following GL commands: glBeginQuery(GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN) glBeginTransformFeedback() glDrawArrays() glPauseTransformFeedback() glDrawArrays() glResumeTransformFeedback() glDrawArrays() glEndTransformFeedback() glEndQuery(GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN) The renderpass is broken for each of the draw calls, leading to pauseRenderPassQueriesIfActive() and resumeRenderPassQueriesIfActive() being called when the RP is stopped/started. This leads ANGLE to generate 3 TransformFeedbackPrimitivesWritten queries when looping through the "active" queries, since no consideration is made for XFB actually being active/unpaused. ARM doesn't support the TransformFeedbackPrimitivesWritten query when XFB is disabled. Instead, the query is never completed and the results are never available. It could probably be argued that this is an ARM bug, and they should just output '0' if XFB isn't active during the query. Regardless, ANGLE shouldn't be issuing the queries when XFB is no active, since it's wasteful. Bug: angleproject:6622 Test: dEQP.GLES3/functional_transform_feedback* Test: TransformFeedbackTest.TransformFeedbackQueryPausedDrawThenResume Change-Id: I380fb60405d7f538b802bb0df72bf609f0bc58e9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3246532 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Cody Northrop e50894a0 2021-11-03T08:54:04 DEPS: Update Android SDK source to android-31 Bug: angleproject:6650 Change-Id: I7fd3a6c23d47966d055dfaa4dfffed95a9f41240 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3259848 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
angle-autoroll 8df68fd4 2021-11-03T10:01:25 Roll SwiftShader from 542593f0e311 to 7a571328541a (2 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/542593f0e311..7a571328541a 2021-11-02 sugoi@google.com Perform all blend operations in floating-point 2021-11-02 swiftshader.regress@gmail.com Regres: Update test lists @ 542593f0 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 cnorthrop@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: cnorthrop@google.com Change-Id: I1cd36fbf0483351d4d9b30be3108dafc366364e1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3259062 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Kyle Piddington 0e9e321b 2021-11-01T17:04:05 Metal: Anonymous unused uniform structs not named. Due to some upstream changes, unused uniform structs are not being given a name. These structs cause compilation failures, which has completely caused shadertoy.com to fail to render. Skip the check when naming embedded structs to allow uniform struct types to still be named, even when no uniform exists. Unskip targeted tests on the Metal backend which were added previously in Issue 6641. These still need to be fixed more generically for the Vulkan backend. Also suppress flaky WebGLCompatibilityTest.RG32FTextures test on Mac Intel OpenGL, which affected this CL. Bug: angleproject:6642 Bug: angleproject:6641 Bug: angleproject:6570 Change-Id: I598fc212f4db3d3b7c5617bd8a87f8b7db60706c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3258341 Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: Gregg Tavares <gman@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Gregg Tavares 604610b4 2021-11-01T12:03:31 Metal: Use Depth32F for DEPTH_COMPONENT16 depth16unorm is broken on Metal. This is a workaround. Bug: angleproject:6597 Change-Id: I1748f9fab587b22980d13e8a141fa880eb6f9db0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3255666 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Gregg Tavares <gman@chromium.org>
Kyle Piddington 88ca3b18 2021-11-01T16:54:40 Expose translator issues with struct samplers. Struct samplers assert in the Vulkan and Metal backends during rewriting. Add a test - skipped for now on these backends - to highlight this issue. Bug: angleproject:6641 Change-Id: I95cbc9e5f4122f1ac7db926ac44c4cccc1b6f87a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3256235 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org>
Shahbaz Youssefi a517d4d9 2021-11-01T16:21:06 Vulkan: Regression test for xfb query before resume Bug: angleproject:6622 Change-Id: If15195437e656dc20aed10d02cf8429ad15ae3d2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3254432 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 38d5349a 2021-11-02T11:46:56 Fix out of range access in MemoryBarrierTest. Bug: angleproject:6646 Change-Id: Ia406e290d0a6d6bef6352ac5e46a591e980d33f3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3258006 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Tim Van Patten fce240c0 2021-10-29T12:35:48 AOSP: Use '-Os' rather than '-Oz' Cuttlefish recently hit a clang compiler issue related to -Oz: b/200617543 This is fixed by either disabling optimizations for ScopedExit or using -Os. This CL will switch ANGLE to using -Os. When building CF in AOSP, the binary size is reduced with -Os vs -Oz: -Oz: 16,383,489 bytes -Os: 16,152,509 bytes Bug: b/200617543 Change-Id: Ic920b0e0e4a61453d9657101a4560f74d90d5744 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3253128 Reviewed-by: Jason Macnak <natsu@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Stephen White 0b56267f 2021-11-02T12:25:40 Implement ANGLE_FALLTHROUGH macro. Use it instead of ABSL_FALLTHROUGH_INTENDED. (ANGLE shouldn't use absl unless angle_enable_absl is true. This is breaking the roll of ANGLE into Dawn.) Bug: angleproject:6647 Change-Id: I47f9a00841c4605fca52b17eeb68c0b1da5004c0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3258008 Commit-Queue: Stephen White <senorblanco@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Gert Wollny c4921cd8 2021-10-28T12:06:42 Capture/Replay: Capture name in GetProgramResourceIndex Bug: angleproject:6180 Change-Id: I1ee7e49dcfa5df23ff5d81d8ca43dd1843c9b2e6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3250880 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Gert Wollny 7952f84c 2021-10-21T15:47:21 Capture/Replay: Add ES3_1_Vulkan_SwiftShader expectations Bug: angleproject:6180 Bug: angleproject:6605 Bug: angleproject:6608 Bug: angleproject:6609 Bug: angleproject:6610 Bug: angleproject:6611 Change-Id: I340d1d9ead7e1f537ea447447e7d051b8725c534 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3236986 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Jamie Madill 548e7a2f 2021-11-02T08:50:30 infra: Expose ASAN configs in try. This will allow us to manually add ASAN tryjobs to test before landing. Bug: angleproject:5795 Change-Id: I1085b64f2dcf09e20f470aded0d57befbe4fb084 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3257025 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Gert Wollny 02cc418d 2021-11-02T08:12:49 Capture/Replay: Mark test to be flaky on Windows The test is passing quite often, but not always. Bug: angleproject:6180 Change-Id: I4bed6cd2907da61023ca91b20e20d8b0722302b7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3257321 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
angle-autoroll aaf82f38 2021-11-02T10:01:26 Roll SwiftShader from 9d8950e082d8 to 542593f0e311 (3 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/9d8950e082d8..542593f0e311 2021-11-01 capn@google.com Implement support for VK_FORMAT_R16*_UNORM attachment formats 2021-11-01 capn@google.com Clamp blend factors and color output 2021-11-01 capn@google.com Refactor blending 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 cnorthrop@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: cnorthrop@google.com Change-Id: If2c6d0503245d313c3101f98b2ee7321df4ff182 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3256524 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Amirali Abdolrashidi 6a749cda 2021-10-29T12:45:53 Complete validation of glGetAttribLocation() -Added more checks to glGetAttribLocation() similar to glBindAttribLocation(). -Added the corresponding unit tests. Using a reserved prefix in glGetAttribLocation() should return -1. Bug: angleproject:2419 Change-Id: I3f691f344c7003f855e53d35cd5f9578069acdae Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3252643 Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
YuxinHu a514df08 2021-10-27T01:25:11 Add detachShader capture calls in MEC This change adds a capture call to detach shader object before deleting the shader object in function GenerateLinkedProgram(), if that is also what the app does. GenerateLinkedProgram() is part of the Mid Execution Capture (MEC), and the purpose of the MEC is to setup a program that more closely mirrors the original app. The game World Cricket Championship2 detaches the shader object before deleting the shader object. With this change, we can follow the same behavior in GenerateLinkedProgram(). This ensures that the Shader Object refcount is decremented to 0 before the CaptureDeleteShader call is applied, and the ShaderProgramID handle assigned to the Shader Object will be released and can be reused for subsequent glCreateShader calls. The total number of ShaderProgramID we need will be consistent between SetupReplayContextShared() and the game uses. We are allocating memory slots for gUniformLocations2 array based on the total number of ShaderProgramID the game uses. Keeping the ShaderProgramID counts the same between trace replay and the game ensures we allocate the right amount of memory for the trace replay. Bug: angleproject:6621 Bug: b/194508692 Change-Id: Ib2810b486a6e9108db2a32f084d650a25f14bebd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3246533 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Steven Noonan ab514d4a 2021-10-22T20:51:08 d3d11: fix typo in pixel shader function signatures These two shaders used "TEXCORD0" instead of "TEXCOORD0" which made the Direct3D debug layers unhappy: D3D11 ERROR: ID3D11DeviceContext::Draw: Vertex Shader - Pixel Shader linkage error: Signatures between stages are incompatible. The input stage requires Semantic/Index (TEXCORD,0) as input, but it is not provided by the output stage. [ EXECUTION ERROR #342: DEVICE_SHADER_LINKAGE_SEMANTICNAME_NOT_FOUND] Fixing the typo makes that error go away. Bug: angleproject:6614 Change-Id: Ifa1c8c01fb4502398b3b4e13a411ef50bc3db483 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3239013 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
angle-autoroll 10356c00 2021-10-29T22:45:52 Roll VK-GL-CTS from 49afd2823061 to 06492d671a2d (6 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/49afd2823061..06492d671a2d 2021-10-29 rgarcia@igalia.com Add compute test with zero dispatch size 2021-10-29 rgarcia@igalia.com Test contradictory parameters on swapchain creation 2021-10-29 paulthomson@google.com Revert "Exclude cov-function-with-nested-loops-called-from-nested-loops" 2021-10-29 juha.heiskanen@siru.fi Add buffer feature check for depth/stencil formats 2021-10-29 quic_mnetsch@quicinc.com Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/master 2021-10-28 quic_mnetsch@quicinc.com Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master 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 timvp@google.com,angle-bots+autoroll-info@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: timvp@google.com,angle-bots+autoroll-info@google.com Change-Id: Ie032d02c4b759ebfe3f4dfe5cf61b9d5fed96b2f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3254001 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Jamie Madill 616dc268 2021-10-12T13:15:40 infra: Add ANGLE-side configuration for ASAN tests. The ASAN builders will start by running compile-only and only in CI. A follow-up change will enable sharded tests and CQ jobs. Bug: angleproject:5795 Change-Id: I2e761b7bdd2d7215db2210c4538b6cafc4d9069a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3254430 Reviewed-by: Jamie Madill <jmadill@chromium.org>
Gregg Tavares ab426735 2021-10-29T13:54:09 Template gl::Rectangle so it can be used for float Bug: angleproject:6598 Change-Id: I8cf5894f0e34c56a6ad856c978be93ea9d5ae113 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3253131 Commit-Queue: Gregg Tavares <gman@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll a7b3551e 2021-11-01T10:01:00 Roll vulkan-deps from a03d00bd2a78 to d388b3abde67 (16 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/a03d00bd2a78..d388b3abde67 Changed dependencies: * spirv-cross: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross.git/+log/29632959d2..66adba17a8 * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/d997c83b10..97d4495600 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/b9168891cb..6fca9899aa If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC timvp@google.com on the revert to ensure that a human is aware of the problem. To 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: timvp@google.com Change-Id: I19b0462854ae5eed5c49e1e38d79581e4de31018 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3254967 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi 5a0e6c1e 2021-10-29T21:57:42 Suppress failing test ProgramBinaryES3Test.SaveAndLoadDetachedShaders depends on VK_EXT_provoking_vertex, which is not supported on many of our bots. Bug: angleproject:6526 Bug: chromium:1264995 Change-Id: I9ea26c1a113068381b18a65c4b79448cf642d476 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3251224 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Tim Van Patten d2b4d9ae 2021-10-30T00:27:56 Revert "Vulkan: Don't expose MSRTT on SwiftShader" This reverts commit fb77afd3c76301e11f5c7397d9a63d283f86036c. Reason for revert: Breaks ANGLE roll into Chromium: https://chromium-review.googlesource.com/c/chromium/src/+/3253966/ Please follow the directions here to update the reference images: https://chromium.googlesource.com/chromium/src/+/HEAD/docs/testing/web_test_expectations.md Original change's description: > Vulkan: Don't expose MSRTT on SwiftShader > > Emulating this extension on SwiftShader is neither useful nor efficient > (on the contrary, it hurts performance (which is true for all non-tiling > architectures)). This extension was exposed purely to increase testing > coverage, but is being disabled now as OOMs resulting from allocating > the implict multisampled image is confusing Chrome. Note that > SwiftShader exposes only a limited amount of memory. > > Bug: chromium:1263046 > Change-Id: Ia69b7fc63804169431885352a8f637a95ab08bd0 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3251581 > Reviewed-by: Geoff Lang <geofflang@chromium.org> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Bug: chromium:1263046 Change-Id: I554df85109282db840ed6d2dbf0b153da5a7a98f No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3254007 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Kyle Piddington 50fc2909 2021-10-27T21:37:02 Merge Webkit up to Oct 27 2021 Merge the following commits from Webkit. This change merges webkit from the following git commits Previous: commit 703b234524e75109ca3e94febbf63098314022f5 Author: Alex Christensen <achristensen@webkit.org> Date: Tue Sep 28 16:22:30 2021 +0000 Mostly fix Mac CMake build https://bugs.webkit.org/show_bug.cgi?id=230868 Current: commit 43d2e637f84b1e6b75c139ac64c26ca108b4f12f Author: Kimmo Kinnunen <kkinnunen@apple.com> Date: Wed Oct 27 17:43:38 2021 +0000 REGRESSION (Safari 15): Poor WebGL performance on https://downloads.scirra.com/labs/particles Commits: commit 8238f462c96e515dabd3db0e26c143b18f47340c Author: Kyle Piddington <kpiddington@apple.com> Date: Wed Oct 6 21:45:18 2021 +0000 Shadertoy "truchet district" fails to compile with error: Internal error compiling shader with Metal backend" commit 2fcb9af290e4b6c804f11ad4359555507c1492f9 Author: Kyle Piddington <kpiddington@apple.com> Date: Thu Oct 14 21:14:26 2021 +0000 https://tankionline.com/play/ html5 engine not working: crashes. (Metal shader not working) https://bugs.webkit.org/show_bug.cgi?id=231490 commit e11955a258380a875115ded16ab8963142c4023b Author: Kyle Piddington <kpiddington@apple.com> Date: Fri Oct 15 23:57:12 2021 +0000 REGRESSION (r283667): webgl/2.0.0/deqp/functional/gles3/lifetime.html fails https://bugs.webkit.org/show_bug.cgi?id=231682 commit 43d2e637f84b1e6b75c139ac64c26ca108b4f12f Author: Kimmo Kinnunen <kkinnunen@apple.com> Date: Wed Oct 27 17:43:38 2021 +0000 REGRESSION (Safari 15): Poor WebGL performance on https://downloads.scirra.com/labs/particles https://bugs.webkit.org/show_bug.cgi?id=230749 Bug: angleproject:6630 Change-Id: Icca411dc429538f839f05834f1851fbc54ef8a1d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3248573 Commit-Queue: Kyle Piddington <kpiddington@apple.com> Reviewed-by: Gregg Tavares <gman@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tim Van Patten 683ab738 2021-10-28T14:02:49 Android: Add back third_party/ to AOSP The ANGLE autoroller into AOSP is currently stuck due to a merge conflict in third_party/glmark2. Specifically, this directory was deleted in AOSP, but modified in upstream ANGLE. The solution is to add back the third_party/ directories into AOSP, and the ANGLE-owned files. The full contents will not be added back if they are a git submodule. Some third_party/ directories will continue to be deleted due to how large they are: third_party/jdk third_party/llvm-build third_party/android_build_tools third_party/android_sdk We can look into adding these back in the future if it becomes necessary. Additionally, the license information in the Android.bp is being updated to reflect the newly added files. Bug: angleproject:6635 Change-Id: I793e5b0797218963a4d06a0399b3be80edd43b37 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3251685 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 4a2446c6 2021-10-19T11:55:17 Vulkan: Implement robust shader outputs. In this CL we change ANGLE to pass the mask of missing shader outputs down to pipeline creation. We then use the color mask bits to block SwiftShader writing to unused outputs. This fixes the undefined behaviour present in Genshin Impact. Note that the other GLES implementations we tested don't seem to modify outputs even if they're unused. It was easier to mask out the color attachments in initialize rather than set up the pipeline desc to mask out the attachments. This was because we manipulate the color mask in a fairly complex way before we initialize the pipeline desc. Bug: angleproject:6566 Change-Id: Ie659fcd511cd286fa573fd25e3e6a0b9e123ebd6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3232435 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Tim Van Patten 800c6885 2021-10-25T13:37:39 Vulkan: Only add samplable formats to outCompressedTextureFormats Only samplable texture formats should be added to outCompressedTextureFormats in FormatTable::initialize(), so move that to after the check of mActualSampleOnlyImageFormatID. Bug: angleproject:6277 Change-Id: Id91908a04d7e94f2d6dd1f0fa499ebea6a1f107e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3243068 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Gregg Tavares 20ddb802 2021-10-28T11:01:12 Fix Blitting in Metal backend. The Metal backend was clipping in integer space. If the src and dst are not the same size, say src is 3 wide and dst is 4 wide, and src starts at -1, then src will be clipped by one making the src 2 wide. It got 1/3 smaller so the dst get 1/3 smaller making it 2.666 pixels wide. The dst then needs to be expanded to pixels so 3 wide. But, that means the src also needs to be expanded 0.3333 * 3(originalSrcWidth) / 4(originalDstWidth) so its new left edge is -0.245 which is not an integer. Bug: angleproject:6598 Change-Id: I2faa966b18b457f474a3e7f6844ef64bfa66dbe8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3251683 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Kyle Piddington <kpiddington@apple.com> Commit-Queue: Gregg Tavares <gman@chromium.org>
Jamie Madill c31855ea 2021-10-28T13:29:17 translator: Always report gl_FragData array size. Previously we would report it as size 1 always if the extension was missing. This was breaking a dEQP. The test may have a bug, but we need to work around the issue until the upstream test is fixed. See https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/3259 Bug: angleproject:6566 Change-Id: I5ac654f472f0e227d63804896ecc388081bec5e8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3251586 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Lubosz Sarnecki 7bda9d73 2021-10-22T11:53:20 DisplayVkAndroid: Always expose EGL_RECORDABLE_ANDROID. Expose EGL_RECORDABLE_ANDROID in the config for all Vulkan drivers on Android to provide app compatiblity with "My Talking Tom 2" and "My Talking Tom Friends". Don't require config to be unavailable in EGLRecordableTest and request a config with EGL_RECORDABLE_ANDROID enabled, but do not check for results. Bug: angleproject:6612 Change-Id: I25113b7c7f9a4a3b13dc625f01d96ba91cb3c6d7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3237001 Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi fb77afd3 2021-10-28T11:07:53 Vulkan: Don't expose MSRTT on SwiftShader Emulating this extension on SwiftShader is neither useful nor efficient (on the contrary, it hurts performance (which is true for all non-tiling architectures)). This extension was exposed purely to increase testing coverage, but is being disabled now as OOMs resulting from allocating the implict multisampled image is confusing Chrome. Note that SwiftShader exposes only a limited amount of memory. Bug: chromium:1263046 Change-Id: Ia69b7fc63804169431885352a8f637a95ab08bd0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3251581 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Peng Huang 81d964a1 2021-10-28T10:50:51 vulkan: implement EGLDevice for vulkan backend It allows ANGLE clients to get and use VkDevice and VkQueue used by vulkan backend. Bug: chromium:1264439 Change-Id: I338ac08152cfec50bb34c5025730e5e6368efba9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3250964 Reviewed-by: Peng Huang <penghuang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Peng Huang <penghuang@chromium.org>
Shahbaz Youssefi 32b3c963 2021-10-28T11:00:03 Vulkan: Remove MSRTT assertion in the presence of OOM When the MSRTT transient multisampled image is created, the emulated clear staged update is removed (as it's also staged for the single sampled image). This was done after allocating memory for the image, which can fail, leaving the update staged and leading to an ASSERT failure when the texture is used. Technically, the texture should not be used, and that's a Chrome bug where the OOM result from ANGLE is being ignored. This change makes sure the staged update is removed before allocating memory so the multisampled image is in a more consistent state. Bug: chromium:1263046 Change-Id: Ida8923ccbc517f740d76b4c2880086a039fa8a1f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3251580 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Lubosz Sarnecki 694c5012 2021-10-14T11:16:29 capture_gles_3_2: Skip capturing debug calls This is analogous to capture_gles_ext. Bug: angleproject:6613 Change-Id: I8917a4cfa060f71ad616ece56038d02bfa12a952 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3237002 Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
angle-autoroll 9f0db4a4 2021-10-29T07:18:32 Roll Chromium from 367ea8143d4d to b8a060d71358 (521 revisions) https://chromium.googlesource.com/chromium/src.git/+log/367ea8143d4d..b8a060d71358 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC timvp@google.com on the revert to ensure that a human is aware of the problem. To 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/b726d24b66..40d725c711 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/850fe71738..80e4f838fa * buildtools/third_party/libunwind/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/05a4a0312e..99015718c3 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/0c771463fb..0f63f0d38b * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..819f08fc14 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/8daf2442e2..b3a1a797ba * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/279e9ceb48..f827083d00 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/c61ca72b5d..c063514f93 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/2cb82b1a6d..930ae734b0 No update to Clang. Bug: None Tbr: timvp@google.com Change-Id: I185edca8b556d5f9b4b30f6395bde35063d47d40 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3252787 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Charlie Lao bae19e06 2021-10-26T13:35:57 Vulkan: Avoid unnecessary wait if mapBufferRange indicates read only When we call BufferVk::mapRangeImpl(), both from internal code paths for data reads or due to glMapBufferRange call, we are not passing the access bit to the call. This CL passes the proper access bits to the call and only wait for GPU writes to finish if access is for read only. This CL also adds access bitfield to the BufferVk::mapImpl() API and have various callers pass in the proper access bits as well. Bug: b/203582620 Change-Id: Ica8493c902dbd7b15996266c81ce0fd4dbfc2520 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3245487 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Shahbaz Youssefi 5c914b57 2021-10-28T13:27:04 Vulkan: SPIR-V Gen: Fix float+matrix Found by a fuzzer, float+matrix was not handled correctly by the SPIR-V output. Bug: chromium:1264212 Change-Id: I09b13c3e48374621228f5fab4de68c33973ddfd4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3251585 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Tim Van Patten dacfa917 2021-10-28T12:49:33 Disable flaky multithreaded tests The following multithreaded tests are flaky in CQ and are being suppressed: VulkanMultithreadingTest.MultiContextDrawSmallDescriptorPools/ES3_Vulkan MultithreadingTestES3.MultithreadFenceDraw/ES3_Vulkan_SwiftShader Bug: angleproject:5418 Bug: angleproject:6633 Change-Id: I170085064597165972b7206d98130917bb46fcaf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3251684 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Jamie Madill 191c236a 2021-10-14T17:01:45 Vulkan: Remove "current queue serial". Queries, semaphores, and pipelines instead use the normal vk::Resource design to track their lifetimes. Removes the current serial APIs from all classes. Current serials are still tracked internally in the command queue classes. Bug: b/169788986 Change-Id: Idcd2c2a93bc8225c6f3f7c247eb8fcfb76be1030 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3223644 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Brandon Schade 5da062ba 2021-10-06T11:15:00 Translator: Fixed textureGatherOffsets validation The parser only considered the case where the input to the textureGatherOffsets() function is an aggregate constructor node, but not if it is a pre-initialized constant variable. Added code to handle the constant variable case. Tests:KHR-GLES32.core.gpu_shader5.texture_gather_offsets_color KHR-GLES32.core.gpu_shader5.texture_gather_offsets_depth Bug: angleproject:5362 Change-Id: Ib1dd3450071341082ea6f0f2a243c3bb3ef6b95a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3217852 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Brandon Schade <b.schade@samsung.com>
Jamie Madill 3a9f18f1 2021-10-18T10:44:38 Refactor program pipeline handling. In preparation for moving more code from gl::Program to gl::ProgramExecutable so it can be shared with ProgramPipeline. Bug: angleproject:6566 Change-Id: Icb7ecccb37ae8e0d7d5fef8968f0dd7ef6fe6150 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3226305 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 577cfeff 2021-10-27T12:08:25 GN: Remove unneeded version header visibility rule. These Chrome targets are now migrated to use the encapsulated API. Bug: angleproject:2551 Change-Id: I6970f7ad85af089fd41c79476a2bdd4e605949c3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3248143 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Hans Wennborg 6ce67886 2021-10-28T13:45:18 Drop -Wweak-template-vtables Clang is dropping suport for this flag, see bug. Bug: chromium:1264351 Change-Id: I09b3d42889eecb8e786c52c205f28507fc797c5a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3250885 Reviewed-by: Nico Weber <thakis@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 8019c4e5 2021-10-28T10:01:03 Roll vulkan-deps from e706a029a256 to a03d00bd2a78 (5 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/e706a029a256..a03d00bd2a78 Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/44b57597d8..d1608ab1ef * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/5a4c691700..830a0724aa * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/e200d91dc3..b9168891cb If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC timvp@google.com on the revert to ensure that a human is aware of the problem. To 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: timvp@google.com Change-Id: Iaf613182ff8cb36b241706c281cb8ea1f5ad6913 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3250031 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 404fbc6a 2021-10-28T10:01:01 Roll SwiftShader from d143249a93bc to 9d8950e082d8 (3 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/d143249a93bc..9d8950e082d8 2021-10-27 srisser@google.com Update git-hooks to HEAD revision 2021-10-27 srisser@google.com Revert "Make git-hooks track with origin/main" 2021-10-27 sugoi@google.com Refactor Queue::Submit to use internal structure If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC timvp@google.com on the revert to ensure that a human is aware of the problem. To 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: timvp@google.com Change-Id: I9cc40aff97fe50280cfc74ac97741296323eea3f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3250554 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 540118b1 2021-10-28T08:09:13 Roll Chromium from 6e4379b531a3 to 367ea8143d4d (450 revisions) https://chromium.googlesource.com/chromium/src.git/+log/6e4379b531a3..367ea8143d4d If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC timvp@google.com on the revert to ensure that a human is aware of the problem. To 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/4703a8520d..b726d24b66 * buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/26b101897f..1876d99930 * buildtools/third_party/libunwind/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/bbd954d05f..05a4a0312e * testing: https://chromium.googlesource.com/chromium/src/testing/+log/847533d764..0c771463fb * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/14a17ad53a..aaec1f1057 * third_party/android_build_tools/aapt2: oJ_fhfmT6sLorimH6Eo6hwWS2R2gU0c4ZUQfXvzae1UC..GlCdqxHxlg-8YkDGgj5cie-6COsEAZga9jyq-LAYxY4C * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/f59fdc4257..d1c5c4d011 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..60bc3270d5 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/480c91d40b..8daf2442e2 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/819fa9604c..279e9ceb48 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/b3ad7f71e0..c61ca72b5d * tools/memory: https://chromium.googlesource.com/chromium/src/tools/memory/+log/4dc64cab42..20319341da * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/2ff429a7b7..2cb82b1a6d Clang version changed llvmorg-14-init-6722-g0fbd3aad:llvmorg-14-init-7378-gaee49255 Details: https://chromium.googlesource.com/chromium/src/tools/clang/+/819fa9604c76dc685de966a209c5d3f51b1729d1..279e9ceb4872fd2070bb9c2cb2eb7094bd2a484b/scripts/update.py Bug: None Tbr: timvp@google.com Change-Id: Icf82072a10099ebe93baeb0dc9a57105028a6780 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3249871 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Tim Van Patten e514e159 2021-10-27T17:54:00 win-trace: Skip failing tests The following test is failing on win-trace: ProgramBinaryES3Test.SaveAndLoadDetachedShaders/ES3_Vulkan_SwiftShader MultithreadingTest.MultiContextCreateAndDeleteResources/ES3_Vulkan_SwiftShader MultithreadingTestES3.MultithreadFenceDraw/ES3_Vulkan_SwiftShader MultithreadingTestES3.MultithreadFenceTexImage/ES3_Vulkan_SwiftShader MultithreadingTest.MultiContextDrawWithSwapBuffers/ES3_Vulkan_SwiftShader This CL adds them to capture_replay_expectations.txt. Bug: angleproject:6631 Change-Id: Ibb74afc6ff4b799e15bb8ead4d7fae0ce81620bb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3248572 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Kyle Piddington db83279a 2021-10-27T10:45:23 Metal: Use 'fast' normalize to match DEQP expectations Normalize' has a fast math option that more conformantly deals with INF in normalize functions. Use metal::fast::normalize instead of metal::normalize This also matches SPIRV-Cross behavior for normalization Bug: angleproject:6629 Change-Id: I61392ecd6f61b612d21f2832e07a135e26b53ad6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3248145 Commit-Queue: Kyle Piddington <kpiddington@apple.com> Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Gregg Tavares <gman@chromium.org>
Kyle Piddington c1b42740 2021-10-25T17:45:19 Metal: Use ES3 validation for GL_R/RG8_EXT formats Fix 6 fboCompleteness tests by setting the Metal conformance version to ES3, rather than ES2. This causes ANGLE to select the backwards compatible ES3 validation rather than the ES2 validation. The FBO completeness test may have a bug related to extensions in it, as limiting the Vulkan backend to ES2 conformance causes it to fail in the same manner of Metal. Bug: angleproject:6618 Change-Id: I64d87ea7b9e1957baab05b6380fe09e8271393a9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3244023 Commit-Queue: Kyle Piddington <kpiddington@apple.com> Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Peng Huang 36eac05f 2021-10-25T15:45:36 VANGLE: change the default vulkan device choose logic To match the vulkan device choose logic in chrome, ANGLE will choose the default device based on the order of (discret GPU > integrated GPU > other GPU) TODO: for long term, ANGLE should provide a way to let chrome specify the physical device. Bug: chromium:1260869 Change-Id: Id023138485eb65fcc1d2758103d59a4e6cb2a51d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3242963 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Peng Huang <penghuang@chromium.org>
angle-autoroll f6878e88 2021-10-27T15:16:51 Roll VK-GL-CTS from e2aeccde416b to 49afd2823061 (34 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/e2aeccde416b..49afd2823061 2021-10-26 rgarcia@igalia.com Split multiple interpolation tests using the sample decoration 2021-10-22 ari.suonpaa@siru.fi Allow EGL tests to use ES3 with EGL_KHR_create_context 2021-10-22 michal.jakubek@mobica.com Cover vkGetBufferMemoryRequirements*() routines tests 2021-10-22 quic_mnetsch@quicinc.com Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/master 2021-10-22 quic_mnetsch@quicinc.com Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master 2021-10-22 quic_mnetsch@quicinc.com Merge vk-gl-cts/opengl-cts-4.6.1 into vk-gl-cts/master 2021-10-16 rgarcia@igalia.com Add tcu::Nothing to improve tcu::Maybe usability 2021-10-16 rgarcia@igalia.com Add basic signaled fence tests 2021-10-16 piotr.byszewski@mobica.com Attachment rate tests 2021-10-15 quic_mnetsch@quicinc.com Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/master 2021-10-12 antto.makinen@siru.fi Add a batch of GraphicsFuzz coverage tests 2021-10-12 antto.makinen@siru.fi Add a batch of GraphicsFuzz coverage tests 2021-10-11 vidar.lillebo@arm.com VK_EXT_rgba10x6_formats 2021-10-11 venni.ihanakangas@siru.fi Improve coverage of MSAA copies with different layouts 2021-10-11 antto.makinen@siru.fi Add a batch of GraphicsFuzz coverage tests 2021-10-11 anna.lesniewska@intel.com Change cache type to NO_CACHE in duplicate_batch_pipelines_no_cache test 2021-10-08 piotr.byszewski@mobica.com maintenance4: Add LocalSizeId tests 2021-10-08 gleese@broadcom.com Wire up support for maintenance4 validation 2021-10-08 piotr.byszewski@mobica.com maintenance4: Add push-constant test 2021-10-08 piotr.byszewski@mobica.com maintenance4: Add pipeline layout tests 2021-10-08 lduc@nvidia.com Add image query tests for VK_KHR_maintenance4 2021-10-08 piotr.byszewski@mobica.com maintenance4: Add requirements matching tests 2021-10-08 piotr.byszewski@mobica.com maintenance4: Add maxBufferSize limit tests 2021-10-08 piotr.byszewski@mobica.com Extend decoration mismatch tests 2021-10-08 piotr.byszewski@mobica.com Add tests for relaxed vector matching 2021-10-08 piotr.byszewski@mobica.com Add tests for vector matching 2021-10-08 piotr.byszewski@mobica.com Add decoration mismatch tests 2021-10-08 pdaniell@nvidia.com Updated framework for VK_KHR_maintenance4 2021-10-08 pdaniell@nvidia.com Framework for VK_KHR_maintenance4 2021-10-08 gleese@broadcom.com Change RobustnessExt tests to use format_features2 2021-10-08 michal.jakubek@mobica.com Tests for VK_KHR_format_feature_flags2 extension 2021-10-08 ari.suonpaa@siru.fi Add tests for VK_EXT_primitive_topology_list_restart 2021-10-08 venni.ihanakangas@siru.fi Move anisotropic filtering support check to a function 2021-10-08 quic_mnetsch@quicinc.com Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/master 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 timvp@google.com,angle-bots+autoroll-info@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: timvp@google.com,angle-bots+autoroll-info@google.com Change-Id: Ib2d4105f70a65b54c50dfebeaabe48b6693b1d25 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3248161 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Jamie Madill ca5e6f68 2021-10-27T11:28:08 Vulkan: Fix accessing stale FB cached variable. This would happen when we start a query after deleting a Framebuffer. Bug: chromium:1262091 Change-Id: I595360bf55fe1757779669f168c95be802b70da5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3248142 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi bbeba56a 2021-10-27T04:56:50 Switch to python3 in DEPS Bug: angleproject:6626 Change-Id: I1ee7649f445804d637acc2a593df06277d26f0fd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3244778 Commit-Queue: Nico Weber <thakis@chromium.org> Reviewed-by: Nico Weber <thakis@chromium.org>
angle-autoroll bc09d119 2021-10-27T10:01:01 Roll SwiftShader from 21810915c4f1 to d143249a93bc (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/21810915c4f1..d143249a93bc 2021-10-26 srisser@google.com Make git-hooks track with origin/main If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC timvp@google.com on the revert to ensure that a human is aware of the problem. To 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: timvp@google.com Change-Id: Id685fa7d80662122e0de5b4ad895ea3dfeb0b347 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3246406 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll ed1d809d 2021-10-27T10:01:04 Roll vulkan-deps from 06cd4429bf9e to e706a029a256 (10 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/06cd4429bf9e..e706a029a256 Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/3afa350331..44b57597d8 * spirv-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git/+log/92f21c9b21..1380cbbec1 * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/17a5bacfa7..d997c83b10 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/87b2e6b02e..e200d91dc3 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC timvp@google.com on the revert to ensure that a human is aware of the problem. To 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: timvp@google.com Change-Id: I2887a2bf3ce1423a454b3adbf69c0da84df4fc21 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3246539 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Nico Weber 10dee5b4 2021-10-26T21:42:11 Run clang update script under python3 in angle Bug: chromium:1261812 Change-Id: I01b0f6048ffa2273f6941ad3e6ca750cd61852f3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3246592 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Alex Gough 1d2752d8 2021-10-26T11:41:58 disable cfguards for all deqp tests Previous attempt[0] to fix this was too precise, this now disables cfguards for angle tests at the angle_deqp (source_set, shared_library, test) level. See crbug.com/1260874 - This works around a codegen bug for Windows x86 that is blocking us landing CFG. Following now all pass: PASS: .\out\swangle\angle_deqp_gles2_tests.exe --use-angle=swiftshader --gtest_filter=dEQP.GLES2/functional_multisample_common_edge_big_quad --bot-mode PASS: .\out\swangle\angle_deqp_egl_tests.exe --use-angle=swiftshader --gtest_filter=dEQP.EGL/functional_color_clears_multi_thread_gles1_other --bot-mode PASS: .\out\swangle\angle_deqp_gles31_tests.exe --use-angle=swiftshader --gtest_filter=dEQP.GLES31/functional_state_query_texture_texture_2d_multisample_texture_swizzle_g_pure_int --bot-mode [0] https://chromium-review.googlesource.com/c/angle/angle/+/3241703 Test: CQ plus above Bug: angleproject:6617 Change-Id: I6d2647340592d3b9b5f2430d4fd077835528ef0b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3244256 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 6e832bfe 2021-10-27T07:01:21 Roll Chromium from b7a27dd8face to 6e4379b531a3 (441 revisions) https://chromium.googlesource.com/chromium/src.git/+log/b7a27dd8face..6e4379b531a3 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC timvp@google.com on the revert to ensure that a human is aware of the problem. To 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/0afcdef8ce..4703a8520d * buildtools/linux64: git_revision:693f9fb87e4febdd4299db9f73d8d2c958e63148..git_revision:79c6c1b1a24c46df5a773cc61604bb5051ca6cf4 * buildtools/mac: git_revision:693f9fb87e4febdd4299db9f73d8d2c958e63148..git_revision:79c6c1b1a24c46df5a773cc61604bb5051ca6cf4 * buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/9b8228b4a9..26b101897f * buildtools/third_party/libunwind/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/21acd3f622..bbd954d05f * buildtools/win: git_revision:693f9fb87e4febdd4299db9f73d8d2c958e63148..git_revision:79c6c1b1a24c46df5a773cc61604bb5051ca6cf4 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/cf2207e083..847533d764 * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/3b235c7e7c..f59fdc4257 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..b10243766b * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/378395bfb5..480c91d40b * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/e193c0af0a..819fa9604c * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/3b242d6f87..b3ad7f71e0 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/3ac732d74b..2ff429a7b7 No update to Clang. Bug: angleproject:2551 Tbr: timvp@google.com Change-Id: I4a8cd6a0f37374313ef2fe559f8e1fb8f23a9673 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3246537 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Charlie Lao 421dbf20 2021-10-26T19:06:19 Revert "Vulkan: Use different strategy for buffer memory allocation" This reverts commit 0dbe308d91a3526e28fecd9014d873c649f4ef71. Reason for revert: crbug.com/1253325 Original change's description: > Vulkan: Use different strategy for buffer memory allocation > > This CL uses different memory allocation strategy based on the requested > size. If the requested size exceeds 1M, we use dedicated memory > allocation to avoid memory waste associated with the sub-allocator. > Otherwise we uses VMA's sub-allocator pool. This CL creates two sets of > customized pool so that we uses different allocation strategy for each > set of pool: the small pool uses buddy algorithm which favors speed over > memory and large pool uses default algorithm that favors memory saving > over speed. This CL also replaces vmaFindMemoryTypeIndexForBufferInfo > with vmaFindMemoryTypeIndex to avoid create and destroy VkBuffer object > just try to find memoryTypeIndex. > > Bug: b/195588159 > Change-Id: I2bddbfffd77ba2ce6b9389d83a31051c4b748c4d > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2939490 > Commit-Queue: Charlie Lao <cclao@google.com> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Tim Van Patten <timvp@google.com> Bug: b/195588159 Change-Id: I2c8fe8cb2930d16f5212570d32be68e7c6a6e5f3 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3244258 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Charlie Lao <cclao@google.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Charlie Lao 6b315a78 2021-10-26T19:04:06 Revert "Vulkan: Let BufferVk call into VMA for allocation when possible" This reverts commit 894ce75fb2f75e718ce76e466b8938524f65ac07. Reason for revert: crbug.com/1253325 Original change's description: > Vulkan: Let BufferVk call into VMA for allocation when possible > > Previously BufferVk class maintains a DynamicBuffer pool per BufferVk > object. This CL makes BufferVk skip DynamicBuffer pool in most cases and > do its own BufferHelper allocation directly. DynamicBuffer pool is only > used when desired, which is controled by a flag. With this CL, only > UBO/SSBO/AtomicBuffer will still use DynamicBuffer pool if the buffer > has to be allocated more than once. > > Bug: b/195588159 > Change-Id: I3aa08cef10ee9ee9f01f16403c6fbb99b37f4a8a > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2901241 > Commit-Queue: Charlie Lao <cclao@google.com> > Reviewed-by: Tim Van Patten <timvp@google.com> > Reviewed-by: Jamie Madill <jmadill@chromium.org> Bug: b/195588159 Change-Id: Iecda3baa6bc887fa0caa86ab076994cae7c10f93 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3244257 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Charlie Lao <cclao@google.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Shahbaz Youssefi 55bd8d8f 2021-10-26T10:38:28 Translator: Fix precision bug in HLSL generation Bug: chromium:1263487 Change-Id: I60bc3dc93867e4269756b6f54eb39cf29ad77d5f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3244887 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Tim Van Patten 9ac2409e 2021-10-26T00:55:06 Reland "Vulkan: Flush descriptor set updates during flush*Commands()" This reverts commit 420e77a64e890ad4c585d72789ca59501be3ac75. Reason for revert: The crash is in ProgramExecutableVk::getOrAllocateShaderResourcesDescriptorSet(), which is unrelated to this change. Creating a CL to reland this (the reland button is failing), to try and investigate further. Original change's description: > Revert "Vulkan: Flush descriptor set updates during flush*Commands()" > > This reverts commit 02b73c2fd738b237f1ab3ecd400feec222903a48. > > Reason for revert: Causes test to crash on Linux/Intel: anglebug.com/6591 > > Original change's description: > > Vulkan: Flush descriptor set updates during flush*Commands() > > > > The intent of this CL is to reduce the number of descriptor set updates > > by delaying the work until all of the GLES commands that could trigger a > > re-update have been performed and the command stream is being flushed. > > To achieve this, flushDescriptorSetUpdates() is being moved from > > setupDraw()/setupDispatch() to > > flushRenderPassCommands()/flushOutsideRPCommands(). > > > > This change also exposed an issue where the BufferView handles were not > > being preserved until flushDescriptorSetUpdates() was called. To resolve > > this, flushDescriptorSetUpdates() is also being called during > > BufferViewHelper::release() before the BufferView memory is released. > > > > Bug: angleproject:5706 > > Change-Id: I61e19af9c0fac891aa2115d72391459b80d22f19 > > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2939385 > > Reviewed-by: Charlie Lao <cclao@google.com> > > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > > Reviewed-by: Jamie Madill <jmadill@chromium.org> > > Commit-Queue: Tim Van Patten <timvp@google.com> > > Bug: angleproject:5706 > Bug: angleproject:6591 > Change-Id: I9d1ee3fcb3d1aebc86e60896e0065cab847a92b4 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3233901 > Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Bug: angleproject:5706 Bug: angleproject:6591 Change-Id: Ibc7e934b82e6cd90e766f43135583f7c45acfe39 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3244024 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
angle-autoroll 6950c637 2021-10-26T10:01:34 Roll vulkan-deps from 19d99befaa5f to 06cd4429bf9e (4 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/19d99befaa5f..06cd4429bf9e Changed dependencies: * spirv-cross: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross.git/+log/43eecb2360..29632959d2 * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/7326b494d0..17a5bacfa7 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/3e8a2188b5..87b2e6b02e If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC timvp@google.com on the revert to ensure that a human is aware of the problem. To 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: timvp@google.com Change-Id: I23b8018d7dbf277496e3c992eddcd60a24df8e99 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3245138 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 411e94f5 2021-10-26T10:01:55 Roll SwiftShader from c5e237273696 to 21810915c4f1 (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/c5e237273696..21810915c4f1 2021-10-25 capn@google.com Delay extension support check until instance/device creation If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC timvp@google.com on the revert to ensure that a human is aware of the problem. To 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: timvp@google.com Change-Id: Iab4ba1bde3fcdd8a3b9ffbbd380e91b87f8028ab Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3244220 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll d636ca1a 2021-10-26T09:23:13 Roll Chromium from 9d26607df45d to b7a27dd8face (437 revisions) https://chromium.googlesource.com/chromium/src.git/+log/9d26607df45d..b7a27dd8face If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC timvp@google.com on the revert to ensure that a human is aware of the problem. To 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/acad0f2115..0afcdef8ce * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/f5750f5bba..850fe71738 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/e7d33e11b8..cf2207e083 * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/e533cac788..3b235c7e7c * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..c45ff7f0bb * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/372190eb3d..378395bfb5 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/f4555781e5..3ac732d74b * tools/skia_goldctl/mac: rhRaADork6USXDGEk0fWwnbWVaKKc0YLzENNVBVsHkAC..Ee-Y58INmdIA4z_rfmJjvZ-ljrcn-L2tk9nMJVDkidkC No update to Clang. Bug: None Tbr: timvp@google.com Change-Id: I18a7db9d21bae5ce96514f87698bc4bbd18d7c05 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3245137 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Charlie Lao 894ce75f 2021-05-21T10:59:14 Vulkan: Let BufferVk call into VMA for allocation when possible Previously BufferVk class maintains a DynamicBuffer pool per BufferVk object. This CL makes BufferVk skip DynamicBuffer pool in most cases and do its own BufferHelper allocation directly. DynamicBuffer pool is only used when desired, which is controled by a flag. With this CL, only UBO/SSBO/AtomicBuffer will still use DynamicBuffer pool if the buffer has to be allocated more than once. Bug: b/195588159 Change-Id: I3aa08cef10ee9ee9f01f16403c6fbb99b37f4a8a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2901241 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Charlie Lao 0dbe308d 2021-07-16T14:26:20 Vulkan: Use different strategy for buffer memory allocation This CL uses different memory allocation strategy based on the requested size. If the requested size exceeds 1M, we use dedicated memory allocation to avoid memory waste associated with the sub-allocator. Otherwise we uses VMA's sub-allocator pool. This CL creates two sets of customized pool so that we uses different allocation strategy for each set of pool: the small pool uses buddy algorithm which favors speed over memory and large pool uses default algorithm that favors memory saving over speed. This CL also replaces vmaFindMemoryTypeIndexForBufferInfo with vmaFindMemoryTypeIndex to avoid create and destroy VkBuffer object just try to find memoryTypeIndex. Bug: b/195588159 Change-Id: I2bddbfffd77ba2ce6b9389d83a31051c4b748c4d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2939490 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Alex Gough 2ca35522 2021-10-25T10:20:17 Disable cfguard for tcu/depq test files These seem to be generated with bad unwinding and cause crashes when exceptions are unwound. Specifically tcu::TestStatus RandomOrderExecutor::executeInner(TestCase *testCase, const std::string &casePath) can be built with __declspec(guard(nocf). Test: CQ .\out\swangle\angle_deqp_gles2_tests.exe --use-angle=swiftshader --gtest_filter=dEQP.GLES2/functional_multisample_common_edge_big_quad --bot-mode Bug: angleproject:6617 Change-Id: Iae75dc0f911a3430276909f4a14944d0f805fdf2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3241703 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Kyle Piddington a02eb809 2021-10-19T20:09:43 Metal: Allow zero-sized scissors Fixes the following ES2 tests: dEQP-GLES2.functional.fragment_ops.scissor.outside_render_* A zero sized scissor is a valid scissor rectangle. Instead of ignoring this call, allow it. Bug: angleproject:6592 Change-Id: Ifc5c145b43deae4a031025b63691eb2b54c598fb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3233935 Commit-Queue: Kyle Piddington <kpiddington@apple.com> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Gregg Tavares <gman@chromium.org>
Geoff Lang a8000240 2021-10-05T13:12:22 Don't release EGLImage refs until backends are respecified orphanImages is called before impl methods to respecify textures and renderbuffers. This can cause the backend objects to reference deleted images. TextureVk::handleImmutableSamplerTransition is one such function that is called using "previousImage". Fix this by having orphanImages return a RAII object that deletes the image when the caller chooses. In this case, after the impl methods have been called to respecify the backend data. Bug: b/194432407 Change-Id: Ifb265b4409ba43478731a1701e2409f089976b1d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3206430 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Geoff Lang d2c01d2c 2021-09-17T12:57:14 GL: Allow selecting virtualization groups at context creation Rewrite EGL_ANGLE_platform_angle_context_virtualization to EGL_ANGLE_context_virtualization, changing the context virtualization parameter to an identifier for what virtualization group the frontend context should be added to. This allows ANGLE's GL backend to be used by multiple threads if the user creates contexts with different virtualization groups. Bug: angleproject:6406 Change-Id: I7414d4705ce10bdf63a9b824043d5dd040dad875 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3169193 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi 48b605d8 2021-10-25T09:46:16 Vulkan: Fix UBSAN error in CommandBatch CommandBatch doesn't initialize all fields, causing UBSAN errors in the move constructor. Bug: chromium:1261861 Change-Id: I46b963a415ccc08d3d9db40de98d1968eea311e8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3241544 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 7a8ad7cb 2021-10-25T10:01:34 Roll vulkan-deps from 4b6798af71b9 to 19d99befaa5f (6 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/4b6798af71b9..19d99befaa5f Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/38fd9221db..3afa350331 * spirv-cross: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross.git/+log/94dea2507e..43eecb2360 * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/a9bc611dad..5a4c691700 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/11813abcad..3e8a2188b5 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 ianelliott@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: ianelliott@google.com Change-Id: Ibcb316a7549ba1a15512b4aefcb763ea06b2bf89 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3241242 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll fc1fd31a 2021-10-25T07:44:12 Roll Chromium from 75578cc5e47d to 9d26607df45d (282 revisions) https://chromium.googlesource.com/chromium/src.git/+log/75578cc5e47d..9d26607df45d 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 ianelliott@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/4d4596dc66..acad0f2115 * buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/be63497336..9b8228b4a9 * buildtools/third_party/libunwind/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/6f77fbf9fa..21acd3f622 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/93811b76ab..e7d33e11b8 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..e9a87dc9e5 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/7a6ff9824d..372190eb3d No update to Clang. Bug: None Tbr: ianelliott@google.com Change-Id: I9f0448d33ec2423aab41380da4b8ff6621a7688b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3240482 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Steven Noonan b638d29d 2021-10-20T18:30:48 TransformFeedbackTest: fix buffer read overrun There were 5 floats there, but not 5 vertices (3x5 floats!). This tripped the AddressSanitizer. Bug: angleproject:6600 Change-Id: Ie3f96437b087b6ab897fdf451a90e9aac62c2403 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3235905 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi c6db6cb6 2021-10-22T15:11:08 Roll libunwind together with Chromium Bug: angleproject:6604 Change-Id: I1232014324ecf5d571cc6357e024995a9ebc2f18 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3237291 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Eric Boren <borenet@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Steven Noonan 584f1b78 2021-10-14T17:55:47 metal: fix crash when checking for flat attributes We can frontload the check of whether or not a shader program uses flat interpolation for its attributes. This prevents a crash where an application does: glAttachShader glLinkProgram glDetachShader glDeleteShader and the check tries to look at the shader attachments (which are no longer valid). Also add some tests to ensure that detaching shaders after program link doesn't cause crashes on indexed draws, and that the flat attribute detection works across program save/load. Bug: angleproject:6526 Signed-off-by: Steven Noonan <steven@valvesoftware.com> Change-Id: I70990808fdfd17608b4b720461cae1a0bdd064b8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3224663 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Kyle Piddington <kpiddington@apple.com> Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Steven Noonan fb82ec3c 2021-10-20T16:45:30 FramebufferTest: fix read overruns in glTexImage2D upload The dimensions specified in glTexImage2D did not match the size of the arrays of pixels. This was tripping AddressSanitizer, which noticed it was reading past the end of the arrays. Bug: angleproject:4737 Bug: angleproject:6600 Change-Id: Ie9e1705136a4b7f853b3a897e3c294c953c475f6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3235904 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Steven Noonan 715b95f5 2021-10-20T16:44:47 DrawBuffersTest: fix use-after-free bug The objects returned by toNormalizedVector() go out of scope after the clearColor assignments are finished, so .data() pointers are invalid. This tripped AddressSanitizer. Bug: angleproject:6600 Change-Id: I1534490b38ef52202cead8c57b9462a56d09bf65 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3235903 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Steven Noonan be947198 2021-10-20T17:33:34 avoid reading past end of stack array in GetEnvironmentVar I ran into a case where GetEnvironmentVariableA returned a nonzero value, but std::string() read past the end of the oldValue array when it tried to strlen() it. It seems it tried to read an environment variable that was already huge, because MSDN says: If lpBuffer is not large enough to hold the data, the return value is the buffer size, in characters, required to hold the string and its terminating null character and the contents of lpBuffer are undefined. So if the buffer isn't large enough, it doesn't just truncate the value (like GetModuleFilenameA would). It instead returns the size we would need to allocate to store the value. It also vaguely states that the contents of the buffer are undefined in this scenario, which means that the std::array used here could still be filled with uninitialized data without a null character in there. A better solution here is to use a FastVector, so we can resize it to fit whatever variable we're reading (MSDN states the maximum environment variable size is 32,767 characters, including the null terminator -- not MAX_PATH as this code seems to have assumed). Bug: angleproject:6600 Change-Id: I1582867578c5b879e71d58ab494a5134848b180f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3235902 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Lubosz Sarnecki ee672193 2021-10-06T16:51:42 SurfaceVk: Use vkGetPhysicalDeviceSurfaceFormats2KHR. Use VK_KHR_get_surface_capabilities2 to determine if the requested color space and surface format combination is supported. Create a DoesSurfaceSupportFormatAndColorspace helper function and use vkGetPhysicalDeviceSurfaceFormatsKHR as a fallback in a new DoesSurfaceSupportFormat helper function. Treat the surface format as not supported when a non-sRGB colorspace was requested and VK_KHR_get_surface_capabilities2 is not available. Move MapEglColorSpaceToVkColorSpace to anonymous namespace. Emit angle::Result::Incomplete if a suitable surface format is not found. Bug: angleproject:2514 Bug: b/201993125 Change-Id: I28baf904cf8846ca575eaf83c93b3f593c1b63a2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3208690 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
angle-autoroll b4186c17 2021-10-22T10:01:36 Roll vulkan-deps from f70ffc911963 to 4b6798af71b9 (11 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/f70ffc911963..4b6798af71b9 Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/9290474dcf..38fd9221db * spirv-cross: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross.git/+log/6d13c99273..94dea2507e * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/f3fbd98ff5..7326b494d0 * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/0162d1648f..a9bc611dad * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/cfe15faf1a..11813abcad 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 syoussefi@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: syoussefi@google.com Change-Id: I82348febc32151949d732180fd2e2a183a4a42f3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3238577 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 673ddaa0 2021-10-22T10:01:55 Roll SwiftShader from 6683bca5f94e to c5e237273696 (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/6683bca5f94e..c5e237273696 2021-10-21 srisser@google.com Update git-hooks to latest version 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 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: syoussefi@google.com Change-Id: I44c692f5846e3235f1685358eaeb8e59f6fa99a7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3237965 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll b823c720 2021-10-22T07:01:13 Roll Chromium from af7960f051e8 to 75578cc5e47d (193 revisions) https://chromium.googlesource.com/chromium/src.git/+log/af7960f051e8..75578cc5e47d 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 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/6e0530bf78..4d4596dc66 * buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/4c834abe6f..be63497336 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/7f1b560fc2..93811b76ab * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..e9a87dc9e5 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/e023d44820..7a6ff9824d * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/2b09788890..e193c0af0a * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/1ed010fa6e..3b242d6f87 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/75298278df..f4555781e5 * tools/skia_goldctl/mac: Ee-Y58INmdIA4z_rfmJjvZ-ljrcn-L2tk9nMJVDkidkC..rhRaADork6USXDGEk0fWwnbWVaKKc0YLzENNVBVsHkAC No update to Clang. Bug: None Tbr: syoussefi@google.com Change-Id: Id8c7f4bbb2e40209f754e09ab9d0e054244480b8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3238569 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Steven Noonan 9e8c929e 2021-10-20T17:19:02 FastVector: fix stack read overrun in ensure_capacity mSize should not be set until *after* calling ensure_capacity, otherwise we will read past the end of our statically allocated buffer when initializing the new array. This was caught by AddressSanitizer during one of the Vulkan BasicDraw tests, when compiling a shader to SPIR-V. Bug: angleproject:6600 Change-Id: I9ddb326d03ce5cda23973110e63d30b8829da2f6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3235901 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 53b96df9 2021-10-21T14:48:37 Roll vulkan-deps from 59f9313742fc to f70ffc911963 (16 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/59f9313742fc..f70ffc911963 Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/6351fcef28..9290474dcf * spirv-cross: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross.git/+log/e4243b898c..6d13c99273 * spirv-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git/+log/19e8350415..92f21c9b21 * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/001604bd4a..f3fbd98ff5 * vulkan-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/dd99e0f51f..d594f70127 * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/f524349518..0162d1648f * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/d3c917b9bf..cfe15faf1a 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 syoussefi@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 Change-Id: I365b37fa532dabf1ff1940188cef9340da0fd3ed Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3237828 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 52934a5d 2021-10-04T22:19:30 Vulkan: Use the UNDEFINED layout for ExternalPreInitialized According to the spec, the UNDEFINED layout does not invalidate the memory of external images. Bug: angleproject:6460 Change-Id: I682e8c3501cc52431268ff2c3a063467ba9d2a65 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3203796 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 7163d9e6 2021-10-21T18:45:56 Roll Chromium from 3601990474ad to af7960f051e8 (157 revisions) https://chromium.googlesource.com/chromium/src.git/+log/3601990474ad..af7960f051e8 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 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/ee9068db6a..6e0530bf78 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/b3b5060e52..7f1b560fc2 * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/93c5e2d335..e533cac788 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..2d036344bd * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/ed33756c68..e023d44820 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/51a305b265..75298278df * tools/skia_goldctl/mac: uNABaGj6En3IVtFLWvrw2nXvWtpM4JVX0Yynz3_7Yr0C..Ee-Y58INmdIA4z_rfmJjvZ-ljrcn-L2tk9nMJVDkidkC No update to Clang. Bug: angleproject:6037,angleproject:6527 Tbr: syoussefi@google.com Change-Id: Id9219ab9f20b21499e3233c4502d01b9b2889b50 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3237667 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 39f7e9b4 2021-10-20T21:51:27 Doc: Clarify purpose of listed build options in DevSetup.md This file lists a number of commonly overriden build options for development or special platforms, but was mistakenly taken as a set of "recommended" options. Bug: angleproject:1944 Change-Id: Ia50b45724797d5ab071936997b485f9f80a72704 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3234079 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Steven Noonan 4c2c6bd2 2021-10-20T16:43:51 vulkan: fix read overrun in commonDebugUtilsLabel The size of the incoming string should be the 3rd argument to storePointerParameter(), not the aligned string size value. If we use the latter, we read past the end of the incoming string. This tripped the AddressSanitizer during the object label tests. Bug: angleproject:6600 Change-Id: Idd72353803661684057753f5b01bb69af1d4a141 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3235900 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Sergey Ulanov 290d21eb 2021-10-21T00:11:02 Enable SwiftShader on Fuchsia SwiftShader is currently used on Fuchsia test bots. Enable SwiftShader in Angle on Fuchsia. Bug: chromium:1225002 Change-Id: I42beac94692d16987ce3bdf80abd629540a1b31f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3233273 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi a716d88a 2021-10-21T11:38:42 Roll Chromium from 0d66e54fc44e to 3601990474ad (437 revisions) https://chromium.googlesource.com/chromium/src.git/+log/0d66e54fc44e..3601990474ad 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 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/d50a437691..ee9068db6a * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/aa2fb0187c..f5750f5bba * buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/025086bfe7..4c834abe6f * testing: https://chromium.googlesource.com/chromium/src/testing/+log/1acfcd28c1..b3b5060e52 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/e7c7291277..14a17ad53a * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..2d036344bd * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/b6ce244503..ed33756c68 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/c990ea1afe..2b09788890 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/a2b665b90f..1ed010fa6e * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/df163762a1..51a305b265 * tools/skia_goldctl/linux: gBAjq66wEoX-xg7SYwdl9IwTb41P6_uogFXZWqmg42cC..odChSNaPr6zCeStFFbBuHC29-LH02C49Bm_9htJrpagC * tools/skia_goldctl/mac: s5FQ4at83HB6cms6U4yFCQ-DS8LAIk6BsYD0SYwtiyMC..uNABaGj6En3IVtFLWvrw2nXvWtpM4JVX0Yynz3_7Yr0C * tools/skia_goldctl/win: waM0kUtv5T9ysntYENPWn_NyN14lIcqEDgfIaITeL0gC..wgZW1xuI0RPDHDd63jpbn9w5KS6PRzkQrSqOp-Em3gQC No update to Clang. Bug: angleproject:6037,angleproject:6527 Bug: angleproject:6604 Change-Id: I50bf083ec87360b78ee34da8824338f361a2bd8b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3237387 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 7ef9ecf0 2021-10-15T14:38:03 Add GL_ANGLE_robust_fragment_shader_output. This extension codifies expected behaviour on Android, where some applications don't declare shader outputs that are active with the Framebuffer. Bug: angleproject:6566 Change-Id: I3538a0aca25b6567e4b11e40d4611f1b240579c7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3226724 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Steven Noonan 397a27bb 2021-10-20T20:33:20 VertexArray: on destroy, remove observer on element array buffer Otherwise there will be a null pointer dereference in gl::Buffer::onContentsChange(). Signed-off-by: Steven Noonan <steven@valvesoftware.com> Bug: angleproject:6599 Change-Id: I73388b6d0ccc357ca1944452a18ccf462dd8046c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3236206 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
angle-autoroll 85515acf 2021-10-21T10:01:55 Roll SwiftShader from 2a86d62642ce to 6683bca5f94e (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/2a86d62642ce..6683bca5f94e 2021-10-21 sergeyu@google.com [Fuchsia] Fix Vulkan compilation 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 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: syoussefi@google.com Change-Id: I490d36324f498577a2b014736e049bb99e651504 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3235704 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Jamie Madill 66e8faf7 2021-10-20T14:06:08 Remove ProgramExecutable's "isCompute" property. This consolidates the lists of uniforms, ssbos, etc into one. Requires a few checks to change from graphics shader stages into all shaders. Bug: angleproject:6596 Change-Id: Ic8f6bfc4fa295c3bea9f5f1ded11e8fbca1c3164 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3233361 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill aac5d678 2021-10-20T11:48:57 Make "isCompute" private to ProgramExecutable. This eliminates uses of "isCompute" is the Vulkan back-end. Instead of checking the state flag, we can use the context of the current command to determine if we're running a compute or a graphics command. This will eventually lead to us being able to compile the program pipeline objects before we run a draw or dispatch command. Changes the driver uniforms descriptor desc to bind to both graphics and compute shader stages to simplify the code. This could have theoretical but low-risk performance implications. Bug: angleproject:6595 Change-Id: Ie30d419b6ece5b33f5066a034d3805fe96519b36 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3233903 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill bdc633a8 2021-10-20T12:33:42 Pass command type down to ContextImpl::syncState. This mirrors the command type passed to the object sync functions. It will be useful to determine if we're syncing for a draw or a dispatch call. Bug: angleproject:6595 Change-Id: Ia04bd14a3c2dd2eb211c47a6e55f8ddcbfedfaaa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3233904 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>