Log

Author Commit Date CI Message
Gregg Tavares 985d4293 2022-04-08T11:47:34 Metal:Speed up BGRA8 to RGBA8 copy for readPixels On a 2048x2048 texture on Intel this goes from 26-27ms to 17-18ms Bug: angleproject:7117 Change-Id: I4f48521b64e54669d180f0d2d8fdda78f83f89b5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3579510 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Gregg Tavares <gman@chromium.org>
Shahbaz Youssefi 8074061d 2022-04-09T01:03:53 Remove feature override platform methods Instead, the tests now use the enable() functions to override the feature at platform level. This fixes the forceFallbackFormat feature mistakenly not having been tested. Bug: angleproject:6435 Change-Id: I605e4133407282bd52232887b595af0d2c13575d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3577369 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi a0b5299b 2022-04-12T00:38:50 Vulkan: Fix resolve with subpass into smaller framebuffer The condition to optimize resolve with subpass did not take into account that the resolve area must match the render pass are, neither did it disallow flipping and rotation. Bug: angleproject:7196 Bug: chromium:1314383 Change-Id: I57e50da4d6e04dfebcce3c0a5061015e5ee8773b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3581055 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Yuxin Hu 6768aff7 2022-04-07T23:25:08 Fix Geometry Shader Conformance Test Failure on Pixel6 Add code in shader linker stage to check the number of AtomicCounterBuffers against these values: GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_EXT GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS Bug: angleproject:6918 Change-Id: If1c1d0dc2452f5aafc72d81f4f5523608810bba9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3576629 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Peng Huang 445bf9bd 2022-04-09T08:42:12 Use the real max vertex attrib index instead of MAX_VERTEX_ATTRIBS Bug: chromium:1258869 Change-Id: I7de23353fc6922be9b3201c87d33e0cfdc427569 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3580578 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Peng Huang <penghuang@chromium.org>
Sunny Sachanandani d4cbd9bf 2022-04-11T16:55:39 vulkan: Mark external memory textures as preinitialized Textures initialized from external memory objects should be considered preinitialized so that they're not cleared on first access with robust resource init. This is essential for Vulkan-GL (WebGPU-WebGL) interop on Linux where Skia or Dawn could be first used to render into a VkImage backed by an external memory object, and a GL texture is created lazily on first GL access. This CL also includes an end-to-end test for such interop, and changes to support that test: 1) Add writePixels() to VulkanHelper to upload pixels to a VkImage 2) Detect external memory / semaphore extensions when VulkanHelper is initialized from ANGLE. 3) Allow importing external memory object that's larger than VkImage size requirements. Bug: angleproject:7188 Change-Id: I60c250b64df1766a179edd1cc67c3f0765e8aa0f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3582954 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org>
Yuly Novikov 291be0b7 2022-04-12T14:31:35 Suppress multisample_interpolation dEQP failures on Pixel 6 Vulkan 16 tests started failing after upgrading phones to Android 13 DP2 Bug: angleproject:6876 Change-Id: I9b965bf6a835cda7fad82c27110cdf38b88c6cb9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3584386 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Stephen White 9442b7a8 2022-04-12T12:07:47 D3D: Remove a pass-through function. Bug: angleproject:7199 Change-Id: I6d10cb74640eb3be301209f510a52111ce88d5da Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3583608 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Stephen White <senorblanco@chromium.org>
Charlie Lao 957f8297 2022-04-08T15:44:55 Vulkan: Change ContextVk to Context for BufferPool APIs These APIs only needs information from Context, not ContextVk. This CL changes to Context for better encapsulation. Bug: b/223428306 Change-Id: I4f50aaa4065eff62ca32e9049f5a891d8814e511 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3578587 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Lingfeng Yang <lfy@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Antonio Caggiano 510351f2 2021-12-09T16:52:35 Vulkan: Support Wayland Implement DisplayVkWayland and WindowSurfaceVkWayland. Get window size from native window and check egl config is just empty. Then add an EGL wayland test for testing rendering and buffers swapping. Bug: angleproject:6902 Change-Id: I8204a5cc99f26330b74caba241bebf14c5650c2d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3395898 Reviewed-by: mohan maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Antonio Caggiano <antonio.caggiano@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Yuly Novikov ea86cfd2 2022-04-12T09:06:17 Roll chromium_revision f89964bd5b..f961a0d473 (990903:991486) Switch Pixel 6 from Android 12 (S) to Android 13 (T). Change log: https://chromium.googlesource.com/chromium/src/+log/f89964bd5b..f961a0d473 Full diff: https://chromium.googlesource.com/chromium/src/+/f89964bd5b..f961a0d473 Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/2c3758a417..8ad9c1c830 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/75cd8f7f15..936a348f0a * third_party/android_ndk: https://chromium.googlesource.com/android_ndk.git/+log/9644104c8c..8388a2be54 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..0e3c38595b * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/e222245128..3b97fa826e * third_party/turbine: CJm6IViplElcjFYLJc0XtAjZ97BOVjQIwigcJN6C9gsC..y4x80kUnDOxC5QyG48MlVoiRIEn09eaHcIJQFavlqgMC * third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/c61f267866..a6d209ab93 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/3eacd6cee1..b5e2f7c16b * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/6de0b20e70..78263e3102 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/6abc0266d4..b92a448a92 DEPS diff: https://chromium.googlesource.com/chromium/src/+/f89964bd5b..f961a0d473/DEPS No update to Clang. Bug: angleproject:6819 Change-Id: I93514068385887ad2bfc63184474fa9bc7a0d060 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3583150 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Steven Noonan fb093278 2022-04-11T14:48:17 egl_angle_ext: add more missing extension enum values I was going to do this bit-by-bit, but there are just too many of them, so I'm lumping as many of these enums into one commit as I can. I basically went through all the extensions/EGL_* files and found all the enum definitions there and added them to the xml. Bug: angleproject:7193 Change-Id: Idaffd283e9118abf84bdff9c4e140334a1f8ee06 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3582939 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Yuly Novikov 93ccde91 2022-04-06T19:55:23 Update ANGLE's docs regarding Windows 10 SDK version to use Bug: chromium:1292528 Change-Id: I5ccfcc477a96f1e84814106c47e2a359b312633d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3573391 Reviewed-by: Stephen White <senorblanco@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Steven Noonan 19582d12 2022-04-11T14:28:35 gl_angle_ext.xml: treat glProvokingVertexANGLE as alias This allows an OpenGL loader to alias glProvokingVertex and glProvokingVertexANGLE function pointers. In my case, it helps with the GLAD loader when using the --alias option. Bug: angleproject:7193 Change-Id: Id7e6318a5ee1f1b172f0499fc01dd080442471b6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3582519 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
angle-autoroll fec9c918 2022-04-12T10:01:19 Roll SwiftShader from d15c42482560 to 620982155d55 (2 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/d15c42482560..620982155d55 2022-04-11 capn@google.com Work around MSan false positives for Reactor routine parameters 2022-04-11 capn@google.com Pass RoutineT::operator() parameters by value If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC jonahr@google.com on the revert to ensure that a human is aware of the problem. To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: jonahr@google.com Change-Id: Id52509651ebbf8a04cca5f27cf22a01395ae1f4f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3579460 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi aed5951e 2022-03-29T16:29:58 Reland "Vulkan: Fix texture-after-framebuffer sync issues" This is a reland of commit 535cd538f3585b44855647339f04bae1c1acf63a Original change's description: > Vulkan: Fix texture-after-framebuffer sync issues > > In TextureVk::syncState, for various reasons, the underlying image may > need to be respecified. For example because base/max level changed, > usage/create flags have changed, the format needs modification to become > renderable, generate mipmap is adding levels, etc. > > Currently, ANGLE syncs FramebufferVk before TextureVk for the sake of > the deferred clear optimization. This means that if the texture needs > to recreate its underlying image, it needs to do so earlier than its own > syncState, and do so in FramebufferVk::syncState through the > TextureVk::getAttachmentRenderTarget function. > > Over time, TextureVk::getAttachmentRenderTarget was modified to do parts > of what TextureVk::syncState did for this matter as bugs were > discovered, and more continue to be discovered. The bug that prompted > this change is missing image recreation when usage/create flags change. > > In this change, the relevant code in TextureVk::syncState is refactored > in a helper that's called by TextureVk::getAttachmentRenderTarget. This > way, the two functions should always be in agreement, avoiding > TextureVk::syncState recreating the image after > FramebufferVk::syncState, leading to use-after-free bugs. > > Bug: angleproject:4418 > Bug: angleproject:6909 > Bug: chromium:1266094 > Bug: chromium:1296866 > Change-Id: I856a34ca5cf573578c771f5adbeb9208420a3f62 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3557817 > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Charlie Lao <cclao@google.com> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Bug: angleproject:4418 Bug: angleproject:6909 Bug: chromium:1266094 Bug: chromium:1296866 Change-Id: I0110eab88eb9d8f77e204b84a6e90308e2384fd7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3572715 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 797e627e 2022-04-08T22:49:51 Autogenerate list of features as enum The WithX() and WithNoX() helpers are removed and replaced with enable() and disable() member functions that take the name of the feature (as a Feature::X enum constant). This has two benefits: - Adding tests that override a feature no longer requires additional helper functions to be written. - There's no mistaking the feature name. This change doesn't yet fix the main issue in anglebug.com/6435, but does fix the following helpers using an old feature name (so they were ineffective): - WithMetalForcedBufferGPUStorage - WithNoVulkanViewportFlip A follow up would remove the old way of overriding features in tests and replaces them with the new way. Bug: angleproject:6435 Change-Id: Ida02b26ec72bc40d7a8938c76a93815bb903ca05 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3580982 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi eeb39653 2022-04-08T16:09:48 Autogenerate features Features are now specified in a json file and autogenerated. This is in preparation for more autogeneration to support feature override in tests. This change doesn't yet fix the issues in anglebug.com/6435 and should be a no-op. Bug: angleproject:6435 Change-Id: Icdb63a94dc37b5fef0a356e0fc0b49937e083c8a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3579941 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Gregg Tavares 9237272f 2022-03-31T14:15:43 Metal:remove TextureMtl::mIsPow2 Bug: angleproject:7147 Change-Id: I60876d719989311de07ad97f1be5daecb83c3801 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3564276 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Kyle Piddington <kpiddington@apple.com> Commit-Queue: Gregg Tavares <gman@chromium.org>
Kimmo Kinnunen e08476cf 2022-04-05T14:48:52 Metal: Avoid leaking MTLDevice lists in DisplayMtl Hold the lists via ObjCObj<>. Patch by David Kilzer <ddkilzer@apple.com> Bug: angleproject:6920 Change-Id: Ia25cd59b0dd2e81367d8bf5ca50a22ca02547940 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3568381 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org>
Kimmo Kinnunen 1b2adb40 2022-04-05T15:14:55 Metal: Avoid leaking MTLFunctionConstantValues in ProgramMtl Hold with ObjCObj<>. Patch by David Kilzer <ddkilzer@apple.com> Bug: angleproject:6920 Change-Id: I635097100b1e004e9276490ff8574870e1c5f33f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3568379 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org>
Steven Noonan a201bbc9 2022-04-11T13:59:36 egl_angle_ext.xml: add missing enums and typedefs This is necessary for a loader like GLAD to generate a correct egl.h header with ANGLE extensions. Bug: angleproject:7193 Change-Id: Id3f07ffee216890418b202520fccff7ccfcaa6dd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3582273 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 5c85fd4e 2022-04-11T12:29:00 Add error check on resuming XFB with deleted buffer. Bug: chromium:1305190 Change-Id: I22c6f6400b05ca32c922fba9a3b9d4b5841ca8b8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3578378 Auto-Submit: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis a947c5f5 2022-04-11T14:19:08 Skip BlitFramebufferTest.ScissoredMultisampleStencil This test started flaking recently on Mac/NVIDIA. Suppress the failures for now. Also update existing suppression to be in the main test expectations file. Bug: angleproject:7191 Bug: angleproject:3496 Change-Id: I54c4def7382bee4784dcfe8ffdc3c51db1cc91d5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3582638 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Steven Noonan fb91e27c 2022-04-03T17:18:44 add GL_ANGLE_robust_resource_initialization extension to xml Bug: angleproject:7165 Change-Id: I17a566714bc3e1a0e19dee4bdea10c7360050172 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3567539 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Stephen White 6803a2d0 2022-04-01T16:52:49 D3D11: implement SSBOs in pixel and vertex shaders. Since the 'u' register space for UAVs in pixel shaders is shared with render targets, and the number of render targets may vary depending on GL state, this required deferring register allocation until draw-time output in DynamicHLSL. Since non-compute shaders aren't able to immediately output the SSBO declaration, initial register allocation was broken out from ResourcesHLSL::shaderStorageBlocksHeader() into ResourcesHLSL::allocateShaderStorageBlockRegisters() with the former only called for compute shaders. These initial allocations are offset by the number of RTs at draw time. Since Raw UAVs may now be created at draw time for non-compute shaders, call markRawBufferUsage() from the Renderer11::draw*() entry points as it is from dispatchCompute*(). Bug: angleproject:7156 Change-Id: I6ab65af1ff36df0313e3c1f8f79661b1547ab9a2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3565562 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Stephen White <senorblanco@chromium.org>
Geoff Lang c458b5ad 2022-04-01T11:38:17 Fix CheckedNumeric using the wrong type. Validation for glBufferSubData checks that the buffer is large enough for size+offset but verifies they fit in a size_t which is a different type than the deduced type for size+offset on 32-bit systems. Use decltype to ensure that we always verify there is no overflow on the correct type. Bug: chromium:1298867 Change-Id: I82f534b2d227d3273a763e626ebeae068dc918dc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3563515 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Peng Huang 04782d86 2022-04-09T08:26:52 Validate vertex attrib index against caps.maxVertexAttributes Bug: chromium:1258869 Change-Id: I2d2c45b11177b0f6f4785a894c15357515b33e9e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3580577 Auto-Submit: Peng Huang <penghuang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 767b6593 2022-04-11T14:51:21 Roll VK-GL-CTS from 6f8a7182bd26 to 20a474e64382 (14 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/6f8a7182bd26..20a474e64382 2022-04-08 ari.suonpaa@siru.fi Add a batch of GraphicsFuzz coverage tests 2022-04-08 ari.suonpaa@siru.fi Add a batch of GraphicsFuzz coverage tests 2022-04-08 ari.suonpaa@siru.fi Add a batch of GraphicsFuzz coverage tests 2022-04-08 ari.suonpaa@siru.fi Add a batch of GraphicsFuzz coverage tests 2022-04-08 ari.suonpaa@siru.fi Add a batch of GraphicsFuzz coverage tests 2022-04-08 r.potter@samsung.com Add vkGetDeviceQueue2 tests for Protected memory feature 2022-04-08 rgarcia@igalia.com Check conditional rendering with non-zero memory offset 2022-04-08 juha.heiskanen@siru.fi Add coverage for IsHelperInvocationEXT 2022-04-08 quic_mnetsch@quicinc.com Add notice of withdrawal for 1.2.6.x 2022-04-08 juha.heiskanen@siru.fi InterpolateAt{Offset, Sample} with linear interpolation tests 2022-04-08 martin.freebody@arm.com Image extended usage should include VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT 2022-04-08 ari.suonpaa@siru.fi Add a batch of GraphicsFuzz coverage tests 2022-04-08 rgarcia@igalia.com Fix freeing custom device in dynamic state tests 2022-04-08 quic_mnetsch@quicinc.com Merge vk-gl-cts/vulkan-cts-1.3.1 into vk-gl-cts/main 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 angle-bots+autoroll-info@google.com,jonahr@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: angle-bots+autoroll-info@google.com,jonahr@google.com Change-Id: I7e4b8db46e6c6e13605244db339fc9abb4fb57d8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3582259 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll b120ab6d 2022-04-11T07:28:35 Roll Chromium from a01c0c749d0a to f89964bd5b42 (617 revisions) https://chromium.googlesource.com/chromium/src.git/+log/a01c0c749d0a..f89964bd5b42 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/5fcf2fff1d..2c3758a417 * buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/ed21e7f5cc..e025ba5dc8 * buildtools/third_party/libunwind/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/cb96c63d05..c39fea8873 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/88a842a58b..75cd8f7f15 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..4326c47b24 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/e121d14b12..e222245128 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/4cc1d5fe48..3eacd6cee1 * tools/memory: https://chromium.googlesource.com/chromium/src/tools/memory/+log/d8c2279558..6efd4ff844 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/eb5f7b55cf..6abc0266d4 Clang version changed llvmorg-15-init-6778-g3e8c4366:llvmorg-15-init-7040-g50de659a Details: https://chromium.googlesource.com/chromium/src/tools/clang/+/4cc1d5fe48c190668e377c123c2066f3a9ea95ba..3eacd6cee13a8e9a86a74fcaa5532eeb3aec676c/scripts/update.py Bug: None Tbr: ynovikov@google.com Change-Id: Ic0e084bac64f0dad718e4ae8991d32990a45a6ee Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3579998 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Jamie Madill 1b94c585 2022-04-10T15:09:38 Revert "Vulkan: Switch loader to new driver files env var." This reverts commit 1f6123d55467c2af7c67405c0101a6f327b76225. Reason for revert: Seems to break ANGLE on fuchsia loader: https://ci.chromium.org/ui/p/chromium/builders/try/fuchsia_arm64/1123629/overview Original change's description: > Vulkan: Switch loader to new driver files env var. > > VK_DRIVER_FILES replaces VK_ICD_FILENAMES. > > Bug: angleproject:7095 > Change-Id: I949ac9a8f375240b6c6068825eccc645f81b0185 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3522821 > Reviewed-by: Ian Elliott <ianelliott@google.com> > Reviewed-by: Yuxin Hu <yuxinhu@google.com> > Commit-Queue: Jamie Madill <jmadill@chromium.org> Bug: angleproject:7095 Change-Id: I5b7e094b08d76b9c14adb4acb3b59e4cfb7a28fa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3580980 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Brian Sheedy 727cd8ef 2022-04-08T16:36:22 Fix pointer sscanf for ChromeOS Fixes several sscanf calls in crash_handler_posix.cpp failing to compile when compiling for ChromeOS kevin (arm-based) devices due to trying to format an unsigned int as an unsigned long. This is fixed by switching to SCNxPTR/PRIXPTR for the format strings instead of hard coding %lX. Bug: chromium:1314515 Change-Id: I012a1a74312ba653e34145883955f2d0e1ef031f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3579867 Commit-Queue: Brian Sheedy <bsheedy@chromium.org> Auto-Submit: Brian Sheedy <bsheedy@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Peng Huang 92e99653 2022-04-08T16:33:42 Fix crashes in gl::VertexArray::detachBuffer() and onDestory() The crashes is because gl::MAX_VERTEX_ATTRIB_BINDINGS(16) is used for iterating mState.mVertexBindings. However it's size is not always 16. It can be 8 for some PowerVR GPU with GLES 2 driver. Bug: chromium:1258869 Change-Id: I3b572d153cb16fb46920483612e3cdbc6ee57577 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3577813 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Peng Huang <penghuang@chromium.org>
Jamie Madill 4b381f41 2022-04-08T09:20:45 Vulkan: Fix descriptorSet perf counter values. Some counters were getting reset in multiple places, which could result in queries returning zero counts. Fix this by consolidating per-frame counter resets. Also updates how we compute cache hit/miss counters. This results in correct and consistent counts for cache accesses. Also includes a fix to not update the overlay when there are no enabled widgets. Also does away with some of the object- specific perf counters that were made to track descriptor set allocations. Bug: angleproject:6776 Change-Id: I769c715986defc50f0cfd0d997c338d34174e9f0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3573389 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
angle-autoroll 09a24f3d 2022-04-08T10:01:20 Roll SwiftShader from d09282e5c609 to d15c42482560 (2 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/d09282e5c609..d15c42482560 2022-04-07 cwallez@google.com VkImage::copy remove the isEntireRow/Slice optimizations 2022-04-07 swiftshader.regress@gmail.com Regres: Update test lists @ d09282e5 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 jmadill@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: jmadill@google.com Change-Id: I0a1809ab05fcb394be0869a5c223ca1669472d6c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3578623 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 5a16a1f9 2022-04-08T07:01:48 Roll Chromium from 64472fba3112 to a01c0c749d0a (448 revisions) https://chromium.googlesource.com/chromium/src.git/+log/64472fba3112..a01c0c749d0a 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 jmadill@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/e3c8941627..5fcf2fff1d * buildtools/linux64: git_revision:04a2891d554d2325f04631bac356c29ffcdebf2a..git_revision:ae110f8b525009255ba1f9ae96982176d3bfad3d * buildtools/mac: git_revision:04a2891d554d2325f04631bac356c29ffcdebf2a..git_revision:ae110f8b525009255ba1f9ae96982176d3bfad3d * buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/ac492da4a7..ed21e7f5cc * buildtools/win: git_revision:04a2891d554d2325f04631bac356c29ffcdebf2a..git_revision:ae110f8b525009255ba1f9ae96982176d3bfad3d * testing: https://chromium.googlesource.com/chromium/src/testing/+log/f62b3f1eef..88a842a58b * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/be0731f39e..a41aab7742 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..5af479bbf8 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/0a6b544e20..e121d14b12 * third_party/protobuf: https://chromium.googlesource.com/chromium/src/third_party/protobuf/+log/1d207dc895..b3054f7a3a * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/3436376526..4cc1d5fe48 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/70c55c2905..6de0b20e70 * tools/memory: https://chromium.googlesource.com/chromium/src/tools/memory/+log/7b0a74688f..d8c2279558 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/4bab7689e8..eb5f7b55cf Clang version changed llvmorg-15-init-5937-g23b3df56:llvmorg-15-init-6778-g3e8c4366 Details: https://chromium.googlesource.com/chromium/src/tools/clang/+/3436376526a513d23861b1bf0c3c0c07f68ff2c5..4cc1d5fe48c190668e377c123c2066f3a9ea95ba/scripts/update.py Bug: None Tbr: jmadill@google.com Change-Id: I94fe31e2a06ef2080ac0c9aa0050dd1c3f4f7c35 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3578572 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Amirali Abdolrashidi 3cea7fcc 2022-03-16T16:33:43 Split Context ResourceUseList to RP Commandbuffers * Added mResourceUseList to each command buffer helper in an effort to move mResourceUseList away from ContextVk. * submitFrameImpl() renamed to submitCommands() * Moved the functions acquireResourceUseList() and onRenderPassFinished() in submitCommands() to the submitFrame functions calling it. Bug: angleproject:7103 Change-Id: I2487d5b86ea0a4d504f283aa7128501651317fe0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3531368 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Gregg Tavares ac130106 2022-04-04T13:46:01 Metal: Remove Unused IOSurface code Bug: angleproject:7171 Change-Id: I6eaf9c1194a26c96f4566f5bcc386330df66b870 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3569588 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Gregg Tavares <gman@chromium.org>
Jamie Madill 1f6123d5 2022-03-14T11:40:05 Vulkan: Switch loader to new driver files env var. VK_DRIVER_FILES replaces VK_ICD_FILENAMES. Bug: angleproject:7095 Change-Id: I949ac9a8f375240b6c6068825eccc645f81b0185 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3522821 Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi a16491d9 2022-04-05T16:47:32 Vulkan: Fix invalidation of non-existing aspects If the app uses a stencil-only attachment but invalidates depth, UNREACHABLE was hit. If the app uses a depth-only attachment but invalidates stencil, ANGLE was proceeding with an attempt to invalidate it (with no side effect). Bug: angleproject:7178 Change-Id: Idc177bdb66b2d0b3b3c2d36f5cadc7b9126a42c4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3573383 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll d6ff967e 2022-04-07T10:01:20 Roll SwiftShader from d3cc7d7ac0c3 to d09282e5c609 (6 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/d3cc7d7ac0c3..d09282e5c609 2022-04-07 sugoi@google.com Temporarily fix failing dEQP tests 2022-04-06 sugoi@google.com Update Vulkan headers to version 1.3.211 2022-04-06 sugoi@google.com Fix reading 0 sized scissor array 2022-04-06 capn@google.com Only build WSI support for XCB surfaces when xcb.h is found 2022-04-06 capn@google.com Use 'discard' to denote terminated or demoted invocations 2022-04-06 swiftshader.regress@gmail.com Regres: Update test lists @ d3cc7d7a 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 jmadill@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: jmadill@google.com Change-Id: I875d468f81014b27a8f0428e2275448fb331d13a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3575851 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll b7e8ab48 2022-04-07T08:57:36 Roll Chromium from 6f6eb80eab19 to 64472fba3112 (509 revisions) https://chromium.googlesource.com/chromium/src.git/+log/6f6eb80eab19..64472fba3112 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 jmadill@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/8565c54a97..e3c8941627 * buildtools/linux64: git_revision:5eb3845ec2d8296b4f41da4eca85302eb111fe69..git_revision:04a2891d554d2325f04631bac356c29ffcdebf2a * buildtools/mac: git_revision:5eb3845ec2d8296b4f41da4eca85302eb111fe69..git_revision:04a2891d554d2325f04631bac356c29ffcdebf2a * buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/185051038f..ac492da4a7 * buildtools/win: git_revision:5eb3845ec2d8296b4f41da4eca85302eb111fe69..git_revision:04a2891d554d2325f04631bac356c29ffcdebf2a * testing: https://chromium.googlesource.com/chromium/src/testing/+log/770c3c28e6..f62b3f1eef * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/02654402b1..ef6cda3463 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..5ff11ff500 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/ffeef9001e..0a6b544e20 * third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/3b1df9d41c..c61f267866 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/bd06a4fb2e..3436376526 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/475858f8ee..70c55c2905 * tools/memory: https://chromium.googlesource.com/chromium/src/tools/memory/+log/821dbcc2a3..7b0a74688f * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/b6753091d7..4bab7689e8 No update to Clang. Bug: angleproject:6430 Tbr: jmadill@google.com Change-Id: Ifb3cca2a56301126b180a08de35e7c7c5a0340d4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3575599 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Kimmo Kinnunen ba04fcfd 2022-03-11T13:58:52 Support ANGLE_PREFERRED_DEVICE on CGL Add the possibility to test both integrated and discrete GPU with ANGLE tests. Previously it was using only discrete. The binaries need the NSSupportsAutomaticGraphicsSwitching bundle property. This is needed to test ANGLE_power_preference. Changes the behavior of test apps: Previously, ./angle_end2end_tests would use discrete GPU. After, ./angle_end2end_tests or ANGLE_PREFERRED_DEVICE=intel ./angle_end2end_tests will use integrated GPU. ANGLE_PREFERRED_DEVICE=amd ./angle_end2end_tests will use discrete GPU. Bug: angleproject:7093 Change-Id: Ia64f6024e3215e69c2a1bde3ba4f67c3ca595476 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3516114 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill 23558369 2022-04-06T15:41:59 Update perf tests arguments. Bug: angleproject:6776 Change-Id: I3cf51cdf9ad05dc792126354c84e717574638408 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3566219 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Stephen White f36dde31 2022-03-31T10:33:41 D3D: remove NV GetDimensions() workaround for image load/store. RWTexture2D only has the 2-param version of GetDimensions(), since it already refers to a single mip and layer. So this workaround just causes compile failures. Bug: angleproject:7121 Change-Id: I675eaf9ffadd75e186423a55bc9822e00432f89e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3566218 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Yuly Novikov 7a9856f6 2022-04-05T19:25:26 Report durations of all flaky retries in JSON test output Bug: angleproject:7184 Change-Id: I19295daed7b13919a2b528a43ebe8d9cbac9d0a1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3572713 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Nathan Zabriskie 9d486a85 2022-04-01T11:48:58 GL: Unbind textures from FBO after calls to frameBufferTexture2D OOPR canvas uncovered an Nvidia driver bug in which binding a texture level > 0 to a framebuffer and then later binding a renderbuffer to the same FBO causes the FBO to be marked as having an incomplete attachment. This CL expands UnbindResources() in BlitGL.cpp to unbind textures in addition to RBOs and adds new calls to unbind in functions that call framebufferTexture2D. Also adds a GL workaround--alwaysUnbindFramebufferTexture2D-- that forces FramebufferGL to first unbind any existing attachments using framebufferTexture2D before attaching a new render buffer. Bug: angleproject:5536 Change-Id: I46c115b3895f8fccb251dbf4531d5c1bd4705ebc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3527465 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Vasiliy Telezhnikov <vasilyt@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Cody Northrop a1c9ba70 2022-04-04T11:29:13 Update validation of glFramebufferTextureLayer for cube maps The ES 3.2 spec explicitly mentions cube map parameters for the call: For cube map textures, layer is translated into a cube map face as described in table 8.24. For cube map array textures, layer is translated into an array layer and a cube map face as described for layer-face numbers in section 8.5.3 but does not list it when enumerating errors: An INVALID_OPERATION error is generated if texture is non-zero and is not the name of a three-dimensional, two-dimensional array, two-dimensional multisample array or cube map array texture. There is a bug filed about this: https://gitlab.khronos.org/opengl/API/-/issues/134 Per discussion, it should not be an error to use a cube map with glFramebufferTextureLayer. It will be fixed in the spec. Test: DrawBuffersTestES3.CubeMapTextures Test: DrawBuffersTestES3.CubeMapArrayTextures Bug: angleproject:7168 Bug: angleproject:7169 Change-Id: I6ef9af4b2bf05dc2dee841c68fb4f896c30c8c03 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3569337 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 152616ee 2022-04-04T19:34:53 Tests: Add Aztec Ruins High trace Test: angle_perftests --gtest_filter="*aztec_ruins_high*" Bug: angleproject:7169 Change-Id: I3d30348f663a4b1c54df1179d471363ca4c244c1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3570244 Auto-Submit: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
angle-autoroll 06c201f8 2022-04-06T10:01:20 Roll SwiftShader from 1b159f6cdecb to d3cc7d7ac0c3 (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/1b159f6cdecb..d3cc7d7ac0c3 2022-04-05 capn@google.com Remove unsupported extension feature enums 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 jmadill@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: jmadill@google.com Change-Id: Ib85c74de05130bb8e95177f5934d7b0eaaea85fb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3574087 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll b4eaa3a2 2022-04-06T08:18:36 Roll Chromium from 3c01a5c3bc2f to 6f6eb80eab19 (52 revisions) https://chromium.googlesource.com/chromium/src.git/+log/3c01a5c3bc2f..6f6eb80eab19 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 jmadill@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/e5b74ea1b0..8565c54a97 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/82dc0f8608..770c3c28e6 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..ec5b008938 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/22ea4f7b4c..475858f8ee * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/ecc79735cb..b6753091d7 No update to Clang. Bug: None Tbr: jmadill@google.com Change-Id: I4ef8413bc4931c45c3ff1c4af978b20f5139ebca Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3574249 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll ff9bd35d 2022-04-06T04:49:54 Roll Chromium from c32f123be7eb to 3c01a5c3bc2f (107 revisions) https://chromium.googlesource.com/chromium/src.git/+log/c32f123be7eb..3c01a5c3bc2f 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 jmadill@google.com,ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/e9d82df111..e5b74ea1b0 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/e14b3c2330..82dc0f8608 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..ec5b008938 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/2ca0f52443..ffeef9001e No update to Clang. Bug: None Tbr: jmadill@google.com,ynovikov@google.com Change-Id: I1da447ea3d78ceef7ea7c599dd0c47be6333a732 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3572978 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll bac8915c 2022-04-05T22:08:55 Roll Chromium from f39b4372b8a8 to c32f123be7eb (777 revisions) https://chromium.googlesource.com/chromium/src.git/+log/f39b4372b8a8..c32f123be7eb 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 jmadill@google.com,ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/d162691495..e9d82df111 * buildtools/linux64: git_revision:859dde4a7f34a4383179522f8e1061dcffac8691..git_revision:5eb3845ec2d8296b4f41da4eca85302eb111fe69 * buildtools/mac: git_revision:859dde4a7f34a4383179522f8e1061dcffac8691..git_revision:5eb3845ec2d8296b4f41da4eca85302eb111fe69 * buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/e9c9bdf975..185051038f * buildtools/win: git_revision:859dde4a7f34a4383179522f8e1061dcffac8691..git_revision:5eb3845ec2d8296b4f41da4eca85302eb111fe69 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/2575976cb8..e14b3c2330 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..3d369206ad * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/a9c548efd6..2ca0f52443 * third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/d1aa7af3b0..3b1df9d41c * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/c8e9f238ae..bd06a4fb2e * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/8e9cb9f939..22ea4f7b4c * tools/memory: https://chromium.googlesource.com/chromium/src/tools/memory/+log/ff56ec6dea..821dbcc2a3 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/5445d7abdf..ecc79735cb Clang version changed llvmorg-15-init-3677-g8133778d:llvmorg-15-init-5937-g23b3df56 Details: https://chromium.googlesource.com/chromium/src/tools/clang/+/c8e9f238ae062be7183109c794791150597847d3..bd06a4fb2e86c181ed0506c32293fb0459e72bb0/scripts/update.py Bug: None Tbr: jmadill@google.com,ynovikov@google.com Change-Id: Ib5d718e9cdfa65b499c891fe4401443cd7698859 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3572972 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
angle-autoroll 366f6011 2022-04-05T22:35:26 Roll vulkan-deps from 6d732e01d9ea to 345e2a278e69 (3 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/6d732e01d9ea..345e2a278e69 Changed dependencies: * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/bd325d2984..b0ce31fd2d * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/fbc48cff34..41eacec7dd 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 jmadill@google.com,ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: jmadill@google.com,ynovikov@google.com Change-Id: I134e412208a7a9dcdcda1af3aece33a5abc94ce9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3572974 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Amirali Abdolrashidi 607d398e 2022-03-14T16:32:21 Vulkan: Optimize resolve of multisample swapchains * Resolves the multisampled image if the last render pass draws into the default framebuffer. * Added test to check the number of resolves in the optimization subpass (credit: Xinyi He) * Added test to check the number of resolves outside the subpass. * Added disabled test to see if the subpass resolve works. Bug: angleproject:6762 Change-Id: I86a8db3387851ab97d5f7a3d8a0ff26961254c14 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3523062 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Shahbaz Youssefi 0ffff9ed 2022-04-05T15:56:23 Vulkan: Perf counters test for glInvalidateSubFramebuffer Bug: angleproject:7183 Change-Id: Id07c6467c746de312d6ba9695bdc98c9460144ca Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3573182 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Yuxin Hu ca3b7d35 2022-04-05T18:56:46 Vulkan: Roll volk Roll volk from 5e23ac9b980aa906f2de187419d35e48278a9dd8 to 92ba7c9f112a82cecf452ebf4b7c46f149a5799e (55 revisions) Bug: angleproject:7182 Change-Id: Ib626b4ac04fc6a7e0342949f6e8e8657199ea8a7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3573102 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: mohan maiya <m.maiya@samsung.com> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Cody Northrop 3258477a 2022-04-05T16:08:09 Skip car_chase on all Intel Windows platforms The trace did not get its gold image assigned correctly due to some Intel platforms not running the trace on submission. Bug: angleproject:7173 Change-Id: I7891204ccba86bff1ee1cb5e16aa870a2122beb1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3572973 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
angle-autoroll 78f5ef92 2022-04-05T19:10:20 Roll SwiftShader from 7d100c556081 to 1b159f6cdecb (2 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/7d100c556081..1b159f6cdecb 2022-04-05 capn@google.com Update SPIR-V Tools to eed5c76a5 2022-04-05 swiftshader.regress@gmail.com Regres: Update test lists @ 7d100c55 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 jmadill@google.com,ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: jmadill@google.com,ynovikov@google.com Change-Id: I6fa3cddd84ca740c8e085f6d8a55c89d5125e819 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3573031 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Antonio Caggiano 7b0f6318 2022-03-30T14:16:02 Vulkan: Wayland include directories Add wayland include directories from vulkan headers build overrides to those vulkan dependent targets. Bug: angleproject:6902 Change-Id: I8699fdf18e9b44b04a580b6ea31493d740756cf0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3568377 Auto-Submit: Antonio Caggiano <antonio.caggiano@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Cody Northrop 8b84cf15 2022-03-30T13:42:38 Tests: Add GFXBench Car Chase trace Test: angle_perftests --gtest_filter="*car_chase*" Bug: angleproject:7125 Bug: angleproject:7173 Change-Id: I07069d46351718743e545fc056f41de2b6fe3820 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3561484 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi 256bbb8a 2022-04-04T22:24:55 Vulkan: Don't invalidate resolve attachment except with MSRTT Previously, resolve attachments were only used with MSRTT emulation. As such, when an attachment was invalidated, its corresponding resolve attachment was also invalidated implicitly. This changed when glBlitFramebuffer was optimized to resolve attachments, though the render pass is immediately closed and no chance is currently given to invalidation. An upcoming change needs to invalidate the multisampled attachment independently from the resolve attachment. That is fixed in this change so that the implicit invalidation is done only for MSRTT emulation. Bug: angleproject:6762 Change-Id: Ia730d4bea1f4229c8068a41b151a7af95649b606 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3569483 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Lubosz Sarnecki b3fff1aa 2022-03-31T16:03:11 retrace_restricted_traces: Check for json file. Validate trace upgrades by looking for existing json file instead context header, which was incorrect when traces did not contain a context == 1. Introduce get_trace_json_path function. Use python fstrings. Bug: angleproject:7107 Change-Id: Ib83acb646fb2d9c38d8ca99766170e6c9c7eeb06 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3571884 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Yuxin Hu a11bf0ed 2022-03-31T17:28:18 Fix Max Atomic Counter Conformance Test Failure on Pixel6 ARM does not support the VkPhysicalDeviceFeature vertexPipelineStoresAndAtomics. According to vulkan specs: we should disable the usage of atomic buffers in vertex, tessellation, and geomotry shader stages. Set maxShaderAtomicCounters to zero for all these shader stages if vertexPipelineStoresAndAtomics is not supported. Create two angle_end2end_test to check atomic buffer usage in tessellation control shader and tessellation evaluation shader. Bug: angleproject:6918 Change-Id: I566562f99672d50cfb3d75def81a18a613b26ca0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3563501 Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Cody Northrop a555be4a 2022-04-02T19:46:22 Tests: Add Scary Teacher 3D trace Test: angle_perftests --gtest_filter="*scary_teacher_3d*" Bug: angleproject:7163 Change-Id: I305146c403288f9409637c0847af6c38b0cefa89 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3567125 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Lubosz Sarnecki e933df51 2022-03-31T15:12:43 retrace_restricted_traces: Remove unused code. Remove unused load_json_metadata, get_trace_metadata and replace_metadata functions. Remove unused re import and trace_path parameter from get_context. Bug: angleproject:7107 Change-Id: I203609ca45145cdced8295d5edf7faa0c8606ae6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3571883 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Cody Northrop 808f754c 2022-04-04T17:53:48 Capture/Replay: Use glFramebufferTexture2D for cubes In GLES 3.2, you can use glFramebufferTexture2D or glFramebufferTextureLayer to bind a cube face as an attachment. Not all drivers support glFramebufferTextureLayer because the wording of the spec is confusing. Instead use the more portable glFramebufferTexture2D. Test: Aztec Ruins High MEC Bug: angleproject:7168 Bug: angleproject:7169 Change-Id: Ie1a7d06f817750ddf8e6e707814380e306f5ee29 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3570242 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Roman Lavrov 1a3411c7 2022-04-01T18:42:51 Set SKIPPED status on skipped tests, rely on it in Gold tests. Gold tests check for '[ SKIPPED ] {test_name}' notice in test output instead of assuming that missing screenshot means SKIP. Now missing screenshot raises an exception. Also log the reason why the test was skipped. Example: [ RUN ] TracePerfTest.Run/native_asphalt_8 ../../src/tests/perf_tests/ANGLEPerfTest.cpp:837: Skipped Test skipped due to missing extension: GL_KHR_texture_compression_astc_ldr [ SKIPPED ] TracePerfTest.Run/native_asphalt_8 (182 ms) Bug: angleproject:6854 Change-Id: I2d88e2063a68ae95399a7932700f74032737ec91 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3565561 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
Jamie Madill 34471fed 2022-04-05T09:14:37 Vulkan: Skip failing intel blend test. Bug: angleproject:7177 Change-Id: I2aafc681fac1329be5691498d5128e9306b62dd3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3569487 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Nicolas Capens 4f7efb51 2022-04-04T15:48:03 Remove swiftshader_spirv_tools_dir SwiftShader now uses an independent build of SPIRV-Tools dependencies, like in other environments. Bug: b/158002593 Change-Id: I06df3d9be0f5aa8b253c0544a51dbc78d293d9b4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3569623 Auto-Submit: Nicolas Capens <nicolascapens@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
angle-autoroll 2cb264b5 2022-04-05T10:01:19 Roll SwiftShader from a190ceed7293 to 7d100c556081 (9 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/a190ceed7293..7d100c556081 2022-04-05 sugoi@google.com Added missing feature structure for VK_KHR_maintenance4 2022-04-04 capn@google.com Validate SPIR-V instruction word array accesses 2022-04-04 dvet@google.com Add documentation for the configuration file mechanism 2022-04-04 capn@google.com Support VK_IMAGE_CREATE_EXTENDED_USAGE_BIT 2022-04-04 rebecca.chang@starfivetech.com Reactor: riscv64 is not supported in subzero 2022-04-04 rebecca.chang@starfivetech.com llvm-10.0: add configs/common and configs/linux for riscv64 2022-04-04 rebecca.chang@starfivetech.com llvm-10.0: update script to include riscv64 target 2022-04-04 rebecca.chang@starfivetech.com marl: add new source file for riscv64 2022-04-04 sugoi@google.com Add missing imageView compatible formats for YCbCr 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 jmadill@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: jmadill@google.com Change-Id: I7436927f2ed5e367243f2b9867f70a84b7be1ac3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3570277 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Roman Lavrov 83d3a98c 2022-04-04T16:03:06 Remove commented out mSkipTest. mSkipTest = true was commented out in https://crrev.com/c/1456482 back in 2019 so presumably this is no longer needed. Bug: angleproject:3137 Change-Id: Ic2c4ca5e2bea939aee8cfb4e5386c7d526c39064 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3569586 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
angle-autoroll 74eac5e5 2022-04-04T16:11:26 Roll VK-GL-CTS from fbc38865227d to 6f8a7182bd26 (14 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/fbc38865227d..6f8a7182bd26 2022-04-04 quic_mnetsch@quicinc.com Fixes pipeline library merge 2022-04-01 quic_mnetsch@quicinc.com Merge changes I12ee2542,Ic8530cb6 into main 2022-04-01 Charles.Johnston@amd.com Add more video exclusions to gen_framework.py 2022-04-01 1511060543@qq.com Remove a wrong qualityWarning for fbo completeness test 2022-04-01 quic_mnetsch@quicinc.com Fixes Conditional Rendering local memory tests 2022-04-01 gleese@broadcom.com Reduce framebuffer size on some graphicsfuzz tests 2022-04-01 gleese@broadcom.com Simplify isDeviceFunctionalitySupported 2022-04-01 illia.abernikhin@globallogic.com Extend conditional rendering tests to use buffer with device local memory 2022-04-01 jason.ekstrand@collabora.com Actually test compatible depth/stencil attachment formats 2022-04-01 antto.makinen@siru.fi Add a GraphicsFuzz coverage test 2022-04-01 juha.heiskanen@siru.fi Add coverage for depth bias with polygon topologies and fill modes 2022-04-01 rgarcia@igalia.com Fix feature checks in rasterization order attachment tests 2022-04-01 ari.suonpaa@siru.fi Add a batch of GraphicsFuzz coverage tests 2022-04-01 quic_mnetsch@quicinc.com Merge vk-gl-cts/vulkan-cts-1.3.1 into vk-gl-cts/main 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 angle-bots+autoroll-info@google.com,jmadill@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: angle-bots+autoroll-info@google.com,jmadill@google.com Change-Id: Ia3e2880dc038663055edbfc59c92510f7acf757b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3569323 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Roman Lavrov e7d44541 2022-04-01T16:48:55 Use GTEST_SKIP to set gTest status of skipped tests to SKIPPED. Example from: angle_end2end_tests_on_Android_device_Pixel_4 Before: [----------] 1 test from BlendMinMaxTest [ RUN ] BlendMinMaxTest.RGBA16F/ES3_Vulkan Test skipped: (IsAndroid() && IsVulkan()) || isSwiftshader(). [ OK ] BlendMinMaxTest.RGBA16F/ES3_Vulkan (116 ms) "num_failures_by_type": { "CRASH": 0, "FAIL": 1, "PASS": 16966, "SKIP": 313, "TIMEOUT": 0 }, After: [ RUN ] BlendMinMaxTest.RGBA16F/ES3_Vulkan ../../src/tests/gl_tests/BlendMinMaxTest.cpp:191: Skipped Test skipped: (IsAndroid() && IsVulkan()) || isSwiftshader(). [ SKIPPED ] BlendMinMaxTest.RGBA16F/ES3_Vulkan (117 ms) "num_failures_by_type": { "CRASH": 0, "FAIL": 1, "PASS": 12067, "SKIP": 5212, "TIMEOUT": 0 }, Bug: angleproject:6854 Change-Id: I3335e4e2ae941d43d6a974d9611252e0849bc2c7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3566225 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill b33767ec 2022-04-04T15:26:29 Revert "Vulkan: Fix texture-after-framebuffer sync issues" This reverts commit 535cd538f3585b44855647339f04bae1c1acf63a. Reason for revert: May fix Win/Intel blockman_go flakiness. Bug: angleproject:7167 Original change's description: > Vulkan: Fix texture-after-framebuffer sync issues > > In TextureVk::syncState, for various reasons, the underlying image may > need to be respecified. For example because base/max level changed, > usage/create flags have changed, the format needs modification to become > renderable, generate mipmap is adding levels, etc. > > Currently, ANGLE syncs FramebufferVk before TextureVk for the sake of > the deferred clear optimization. This means that if the texture needs > to recreate its underlying image, it needs to do so earlier than its own > syncState, and do so in FramebufferVk::syncState through the > TextureVk::getAttachmentRenderTarget function. > > Over time, TextureVk::getAttachmentRenderTarget was modified to do parts > of what TextureVk::syncState did for this matter as bugs were > discovered, and more continue to be discovered. The bug that prompted > this change is missing image recreation when usage/create flags change. > > In this change, the relevant code in TextureVk::syncState is refactored > in a helper that's called by TextureVk::getAttachmentRenderTarget. This > way, the two functions should always be in agreement, avoiding > TextureVk::syncState recreating the image after > FramebufferVk::syncState, leading to use-after-free bugs. > > Bug: angleproject:4418 > Bug: angleproject:6909 > Bug: chromium:1266094 > Bug: chromium:1296866 > Change-Id: I856a34ca5cf573578c771f5adbeb9208420a3f62 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3557817 > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Charlie Lao <cclao@google.com> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Bug: angleproject:4418 Bug: angleproject:6909 Bug: chromium:1266094 Bug: chromium:1296866 Change-Id: I26b6f644442e2875aba954d6417543b1d5121376 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3569801 Auto-Submit: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Peng Huang bd7915fd 2022-04-04T10:02:29 Use provided format as intended format for EGLImage from VkImage The problem is because VkImage is created with R8G8B8A8 format, and then imported into ANGLE as EGLImage with GL_RGB format, however ANGLE doesn't set intended format correctly (ANGLE uses R8G8B8A8 instead of R8G8B8X8). So when clients use glReadPixels() to get pixels, the alpha channel is filled with incorrect value. Bug: chromium:1312490 Change-Id: Ief5b87ec5eb03c9cb37f10b2c20b5caf3013262d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3569481 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Peng Huang <penghuang@chromium.org>
angle-autoroll 4655ef15 2022-04-04T10:01:20 Roll SwiftShader from 649d6e46aeae to a190ceed7293 (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/649d6e46aeae..a190ceed7293 2022-04-04 capn@google.com Correct border clamp and depth comparison order 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 jmadill@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: jmadill@google.com Change-Id: Ic672f1ed216556d3bac9147e30437d961cec94d0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3567292 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 4b260225 2022-04-04T07:27:36 Roll Chromium from 804d5a91d49d to f39b4372b8a8 (124 revisions) https://chromium.googlesource.com/chromium/src.git/+log/804d5a91d49d..f39b4372b8a8 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 jmadill@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/1b3e19e7d9..d162691495 * buildtools/linux64: git_revision:bb8f66fdb5990ae5c0eb05152d51aca9a263b10d..git_revision:859dde4a7f34a4383179522f8e1061dcffac8691 * buildtools/mac: git_revision:bb8f66fdb5990ae5c0eb05152d51aca9a263b10d..git_revision:859dde4a7f34a4383179522f8e1061dcffac8691 * buildtools/third_party/libunwind/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/31359e0574..cb96c63d05 * buildtools/win: git_revision:bb8f66fdb5990ae5c0eb05152d51aca9a263b10d..git_revision:859dde4a7f34a4383179522f8e1061dcffac8691 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/5a80dbc44d..2575976cb8 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..a9d86a4042 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/017544dc14..a9c548efd6 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/b0b65970bb..5445d7abdf No update to Clang. Bug: None Tbr: jmadill@google.com Change-Id: I129b523c0eafcc4db3ff4edb0f3ef16095433da7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3567417 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 4b232a9a 2022-04-02T22:32:07 Roll Chromium from 384f873e0970 to 804d5a91d49d (4365 revisions) Use per-arch clang-format binaries on Mac. https://chromium.googlesource.com/chromium/src.git/+log/384f873e0970..804d5a91d49d 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,ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/8f75e7de55..1b3e19e7d9 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/d8c375426d..c2e4795660 * buildtools/linux64: git_revision:bd99dbf98cbdefe18a4128189665c5761263bcfb..git_revision:bb8f66fdb5990ae5c0eb05152d51aca9a263b10d * buildtools/mac: git_revision:bd99dbf98cbdefe18a4128189665c5761263bcfb..git_revision:bb8f66fdb5990ae5c0eb05152d51aca9a263b10d * buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/93b8dcd57b..e9c9bdf975 * buildtools/third_party/libunwind/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/d1c7f92b8b..31359e0574 * buildtools/win: git_revision:bd99dbf98cbdefe18a4128189665c5761263bcfb..git_revision:bb8f66fdb5990ae5c0eb05152d51aca9a263b10d * testing: https://chromium.googlesource.com/chromium/src/testing/+log/55f1dc2d27..5a80dbc44d * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/a4297493d8..02654402b1 * third_party/android_build_tools/bundletool: LoldiQDpZ0uTdAm5EPgZ8hBJ3La2KlTWLuaRxE7eDigC..zQILIUnCaQ93HTtR07m4ahlE9mrkkwks52L5vFaUaUUC * third_party/android_platform: https://chromium.googlesource.com/chromium/src/third_party/android_platform/+log/87b4b48de3..2760db43ff * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..a9d86a4042 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/76979dae56..017544dc14 * third_party/protobuf: https://chromium.googlesource.com/chromium/src/third_party/protobuf/+log/71d78db8de..1d207dc895 * third_party/turbine: Go9J3Mz5ankZAgxmn5GxeXKdEDV73zaZp2ojNfGC1RQC..CJm6IViplElcjFYLJc0XtAjZ97BOVjQIwigcJN6C9gsC * third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/923f5eb4bf..d1aa7af3b0 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/a15c2dfa35..c8e9f238ae * tools/luci-go: git_revision:cb424e70e75136736a86359ef070aa96425fe7a3..git_revision:6da0608e4fa8a3c6d1fa4f855485c0038b05bf72 * tools/luci-go: git_revision:cb424e70e75136736a86359ef070aa96425fe7a3..git_revision:6da0608e4fa8a3c6d1fa4f855485c0038b05bf72 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/e6f159df60..8e9cb9f939 * tools/memory: https://chromium.googlesource.com/chromium/src/tools/memory/+log/8a340b64dc..ff56ec6dea * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/46fa9b4765..b0b65970bb No update to Clang. Bug: angleproject:6947, chromium:1286289 Change-Id: I08ee20fcbc79bb977e37b010c93aeccda02d5e45 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3567182 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Yuly Novikov f41303cd 2022-04-02T19:23:11 Skip end2end tests timing out on TSAN and ASAN TSAN InstancingTestES3.LargeDivisor WIN ASAN GeometryShaderTest.LayeredFramebufferMidRenderClear3DColor Bug: angleproject:7159, angleproject:7160 Change-Id: I619669a70e3dbf215ebc8f43fb704ac284cd6a40 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3563547 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Shahbaz Youssefi 535cd538 2022-03-29T16:29:58 Vulkan: Fix texture-after-framebuffer sync issues In TextureVk::syncState, for various reasons, the underlying image may need to be respecified. For example because base/max level changed, usage/create flags have changed, the format needs modification to become renderable, generate mipmap is adding levels, etc. Currently, ANGLE syncs FramebufferVk before TextureVk for the sake of the deferred clear optimization. This means that if the texture needs to recreate its underlying image, it needs to do so earlier than its own syncState, and do so in FramebufferVk::syncState through the TextureVk::getAttachmentRenderTarget function. Over time, TextureVk::getAttachmentRenderTarget was modified to do parts of what TextureVk::syncState did for this matter as bugs were discovered, and more continue to be discovered. The bug that prompted this change is missing image recreation when usage/create flags change. In this change, the relevant code in TextureVk::syncState is refactored in a helper that's called by TextureVk::getAttachmentRenderTarget. This way, the two functions should always be in agreement, avoiding TextureVk::syncState recreating the image after FramebufferVk::syncState, leading to use-after-free bugs. Bug: angleproject:4418 Bug: angleproject:6909 Bug: chromium:1266094 Bug: chromium:1296866 Change-Id: I856a34ca5cf573578c771f5adbeb9208420a3f62 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3557817 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 4615a035 2022-04-01T21:57:28 Skip failing tests on Pixel 6 Bug: angleproject:7158 Change-Id: I863a20c1a5b5b055bfad1f1060a21281222e4668 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3565564 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 6b94a71c 2022-04-01T10:12:07 Vulkan: Lift SwS suppressions. Bug: angleproject:4092 Change-Id: I0e72b95ba5ba2b60420d5b685349c405864c2e6e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3563513 Auto-Submit: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@google.com>
Amirali Abdolrashidi ba0eba20 2022-04-01T17:39:58 Remove the TODOs regarding multisample buffer age * Removed the TODOs regarding the buffer age for multisample images. Bug: angleproject:7149 Change-Id: I25100eaef774613e71c5f7afdaed5833c63b6343 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3566228 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Amirali Abdolrashidi cd9e887a 2022-03-31T15:43:17 Vulkan: Add multisample buffer age tests * Added variations of VerifyContent for multisample images. * getBufferAge() now sets age to 0 when the image is multisampled. Bug: angleproject:7149 Change-Id: I11f6fc92f383fba180f118b29c799072ed0eb51c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3563510 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Charlie Lao 8f904363 2022-03-31T12:30:19 Vulkan: Move memory allocation initialization code into function No functional change expected. This CL wraps all initialization code for VMA allocator and memory suballocation memoryType and alignment calculation into its own function. Bug: b/223428306 Change-Id: Id630bbae035912ad41c51c2bb1cd02c2e438b442 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3563506 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Shahbaz Youssefi b169f6f9 2022-04-01T14:41:12 Vulkan: Fix no location decoration vs framebuffer fetch The input attachment index is identical to the location qualifier. If there's only one output, GLSL is allowed to not specify the location qualifier, in which case it would implicitly be at location 0. Bug: angleproject:6947 Change-Id: Ib8e31ab524f6f4d4fe1d3e49386a374724da06a1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3566221 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Lingfeng Yang <lfy@google.com>
Cody Northrop 5cffbe96 2022-03-08T14:51:11 Android: Track peak GPU memory in restricted_trace_perf We've noticed that the script reports higher memory usage than recorded with local runs with similar steps. We isolated this to ANGLE using much higher peak memory when the trace loads, but then evens out after some time, nearing parity with native. To track this for optimization, we are going to split the memory tracking into: - peak GPU memory usage - sustained GPU memory usage This CL changes the script to: * Measure peak GPU memory usage by tracking total GPU memory used throughout the trace, returning the highest. * Measure sustained GPU memory usage by tracking usage from the middle of the trace (based on run time), returning the average. * Update the frequency of memory sampling by reducing sleep to 0.25 seconds instead of 1.0 second. As a data point, here is what angry_birds_2_1500 reports on Pixel 6: Before: 602599651 bytes After: 672231424 bytes (peak) 360621537 bytes (sustained) Bug: angleproject:6970 Change-Id: I227e30abeb6a5f28fe7230a2979441c3693234f1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3511314 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Jamie Madill cc19587e 2022-04-01T10:58:43 infra: Use logarithmic batching in LUCI config. This ensures we get more atomic testing and can more easily spot which CL regressed for perf tests or experimental bots. Bug: angleproject:7152 Change-Id: I402cf71be66c365ab509bd9e8d2a5f8c338ab1e3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3563514 Auto-Submit: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Cody Northrop e10803f7 2022-01-20T09:03:55 Compiler: Allow deferred array sizing in geometry shaders Based on work by Brandon Schade <b.schade@samsung.com>. When a shader sets an array input size in a GS after declaring input variables, compilation would fail. Example shader - in vec3 normal[]; in vec3 view_dir[]; in float patch_dist[]; in float e_patch_wire_scale[]; ... layout(triangles) in; layout(triangle_strip, max_vertices=3) out; void main() { ... Update translator to handle such cases. Also add a new check that there are no remaining unsized arrays when compilation has completed. Test: GeometryShaderTest.DeferredSetOfArrayInputSize Bug: angleproject:3571 Bug: angleproject:7125 Change-Id: I4853832c27f9551284bcca92b98cbf5f3a63aaf5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3564259 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Jamie Madill dd86dd15 2022-03-25T14:55:05 Cache outer array offset in linked uniforms. Our current tracking would only track one array dimension. For nested arrays the flattened parent index would be incorrect. Update this tracking so we can use it in the Vulkan descriptor set caching. Store this value as a separate integer member to avoid conflicting with other back-ends. Bug: angleproject:6776 Change-Id: Ie1a5dc3d64ccac23dffcc73684d619336cb0f0da Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3550824 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
angle-autoroll 0754b1f7 2022-04-01T12:40:40 Roll SwiftShader from bc5bec05c369 to 649d6e46aeae (3 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/bc5bec05c369..649d6e46aeae 2022-04-01 swiftshader.regress@gmail.com Regres: Update test lists @ afcbbd0a 2022-04-01 sugoi@google.com Fix inline uniform block update 2022-03-31 swiftshader.regress@gmail.com Regres: Update test lists @ bc5bec05 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: I61de0b6acdfc25b8999c9f99f2e02d322eb61d20 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3565830 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 57a081c7 2022-04-01T10:01:49 Roll vulkan-deps from e37ba68c0fde to 6d732e01d9ea (4 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/e37ba68c0fde..6d732e01d9ea Changed dependencies: * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/a59027c96d..f8c97eea2f * vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/431f3b53ae..e494de740e * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/80de10c77b..fbc48cff34 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: I076701c6f67724af8a52f15b6fa8eed992c623bb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3565029 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Mohan Maiya d3492eef 2022-03-31T09:06:07 Vulkan: Handle border color for stencil component For a texture with D/S format we need to handle border color based on GL_DEPTH_STENCIL_TEXTURE_MODE. Test: dEQP.GLES31/functional_texture_border_clamp_range_clamp_nearest_unorm_depth_uint_stencil_sample_stencil Bug: angleproject:3577 Change-Id: Ib1c5dfe35c1713101ed83395d3c0ad70a043764f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3564198 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao fe28a429 2022-03-30T15:34:49 Vulkan: Create buffer for vertex array if robust enabled If robust access is enabled (i.e., chrome), we want to ensure vulkan driver never access beyond that OpenGL buffer boundary. But with suballocation from BufferPool, we are using the same VkBuffer for all suballocations from the same BufferBlock. this combined with the fact that there is no size information in the vkCmdBindVertexBuffers, it means vulkan driver can not properly ensure vertex access not go beyond the subrange. It can only guarantee not access beyond the entire VkBuffer size. This CL creates a dedicated vkBuffer object and bind it to the suballocation of the vkDeviceMemory so that vulkan driver will see the exact range of the subrange instead of entire buffer. Since we may allocated more memory than actual requested size and the extra paddings are not zero filled , user size is used to create this vkBuffer. This is only enabled when robust access is enabled. This CL also ported webgl conformance test out-of-bounds-index-buffers.html and out-of-bounds-array-buffers.html to end2end test. Bug: chromium:1310038 Change-Id: I3499ae600028149b1039082e5011232b3e4e5e80 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3553940 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Alexey Knyazev d2a7db9d 2022-03-31T22:22:40 Metal: Remove DrawBaseVertexVariantsTest suppressions The issue was fixed in https://crrev.com/c/3472691 Bug: angleproject:6963 Bug: angleproject:7122 Change-Id: Iabdcf6fd9b538c19ad291fb7713186e314332f71 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3564558 Reviewed-by: Kyle Piddington <kpiddington@apple.com> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Mohan Maiya 5aaa402c 2022-03-30T06:13:02 Fix Surface use-after-free bug In Display::destroyContext we would incorrectly destroy current surfaces while trying to makeCurrent the context to be destroyed. Introduce ScopedSurfaceRef, mirroring ScopedContextRef, to keep the surfaces alive while destroying the context. Bug: angleproject:7141 Test: EGLSurfaceTest.SurfaceUseAfterFreeBug* Change-Id: Ie9b3d7841e5ee561d96c13bfee9c7c87b40cc39d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3561354 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Kyle Piddington 1670c6dd 2022-02-17T14:15:08 Metal: Buffer data is not correctly updated When using a dynamic draw buffer, Metal creates more buffers to avoid in-flight synchronization issues. However, without correctly rebinding the buffers from the VAO, we get missing data. This patch adds a fix and a test to reproduce the issue. Upstream of https://bugs.webkit.org/show_bug.cgi?id=236427 and https://bugs.webkit.org/show_bug.cgi?id=236733 Bug: angleproject:7122 Change-Id: I879ff688af04a8215df6134400d0aab582b92842 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3472691 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Kyle Piddington <kpiddington@apple.com>
Mohan Maiya 078da78f 2022-03-17T13:06:58 Vulkan: Support GL_EXT_EGL_image_storage extension This extension provides a mechanism for creating texture objects that are both EGLImage targets and immutable and removes the possibility of implicit orphaning. EGL images created from external sources now support types other than 2D. Tests covering the new feature were added to ImageTest.cpp. Bug: angleproject:6346 Change-Id: Id3e328f352deb1af47062be232384229a8b1c341 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3530489 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Shahbaz Youssefi 36e142c1 2022-03-25T12:10:17 Vulkan: Fix deadlock in device loss When the device is lost, the commands queue is cleaned up. This shouldn't be done immediately if the device loss is generated from the command queue itself (due to mutual exclusion requirements). For example, CommandQueue::checkCompletedCommands() loops over mInFlightCommands, whose body contains ANGLE_VK_TRY. On device loss, that macro invokes CommandQueue::handleDeviceLost which clears mInFlightCommands. In this change, handleDeviceLost() defers device loss handling if the mutex is already taken. A new class is added, ScopedCommandQueueLock, that handles device loss at the end of the scope (i.e. when the command queue operation is finished) by calling handleDeviceLostNoLock() before releasing the lock. Bug: chromium:1304907 Bug: angleproject:7129 Change-Id: Ifb67cfdad9595cec51a6a58b69f629aede489725 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3552088 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Peng Huang <penghuang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>