Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| 63c91a3b | 2020-08-04 20:09:05 | Metal: autogen for PBO related shaders. Bug: angleproject:2634 Change-Id: I36e5a6a4cb11d82f666c410b33fdb39ad35a5e80 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2336557 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| ba7f8913 | 2020-09-12 23:23:01 | Samples: Enable Debug callback. This moves the debug callback code into a common location. For ease of access it's in shader_utils since that file has access to the GL API. Bug: angleproject:5040 Change-Id: Iab9de47c2d520a5618ea6825852f8afa63565c8a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2408715 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> | ||
| b3c7d39a | 2020-09-03 15:51:02 | Align the sample position in blitResolveStencil compute shader The input coordinates of blitResolveStencil compute shader start from 0,we need to align the sample position to start from 0 if x/y is flipped. Test: dEQP-GLES3.functional.fbo.invalidate.*.unbind_blit_msaa_* Bug: b/159995959 Change-Id: If0c9f5b7cacddbe1a2d7062469a757a63bcc1378 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2392162 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| ed518d15 | 2020-09-11 12:47:52 | EGL: Refcount external AHB when backing an image When an image is backed by an external source like an AHB we need to refcount the buffer appropriately to prevent deletion of the buffer while in use. Bug: angleproject:5018 Tests: angle_end2end_tests --gtest_filter=ImageTest.SourceAHBTarget2DEarlyDelete* Change-Id: Ib6318fc3dc442460d1a2bdd6d75a4458895667bb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2406615 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| 2879eb55 | 2020-09-12 09:04:16 | TestRunner: Fix missing "=" on swarming args. These were missing from debe4683095450940883164ca6. Also fixes a misnamed "perf" parameter. Bug: angleproject:3162 Change-Id: Iad4c4d8d35cc8a08d0e30d50dd9bbf159a4a7ab9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2407833 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 6830eb60 | 2020-09-11 12:37:31 | EGL: Fix a bug in ImageTest During cleanup, we were incorrectly calling glDeleteRenderbuffers on a texture object. Also update comments to correctly reflect intent. Bug: angleproject:5018 Change-Id: I28eaf6a23056f3b09eebb7331620e6a27cb14302 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2406614 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Mohan Maiya <m.maiya@samsung.com> | ||
| bca88739 | 2020-08-16 11:32:40 | Add a perf test that cycles through many VBOs. Stresses the RenderPass buffer tracking in the Vulkan back-end. Bug: angleproject:4950 Change-Id: I33d38d8703d0e333d0092195d34228d90f1af52a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2358522 Reviewed-by: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 7870cf3f | 2020-09-10 17:30:13 | Vulkan: Fix RAW hazard with storage images Semantic revert of 78304b470 and 7bce5194d. 7bce5194d assumed that a read transition between same layouts is a noop, but that's not true if said layout is GENERAL. This is only possible if an image is simultaneously bound as storage and sampled image. This bug was discovered by the new syncval VVL warning. Bug: b/156661359 Change-Id: I05f94160ca1b05b715701564e27fccee31a8aa45 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2404742 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> | ||
| 2999ad4e | 2020-09-09 09:16:27 | Flush less frequently in QueryGL. StandardQueryGL flushes with every pause/resume/end operation to make sure the list of pending queries does not grow too large. This ended up trying to flush the queries as soon as they were ended and unlikely to have results ready. Add a threshold of pending queries before flushing, hopefully delaying the flush calls until the queries are ready. This is a speculative fix for a GPU hang in query flushing. Bug: chromium:1078754 Change-Id: I38300995ee6576dee8c8c26fa9ccad26e269337a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2401178 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| ef315fdc | 2020-09-10 14:56:35 | Vulkan: Use current commandBuffer pointer We were using a passed in commandBuffer in ImageHelper::flushStagedUpdates which became invalid during the process of handling the flush upon which subsequent uses could cause problems when threading is enabled (and maybe when it's not as well, just harder to see.) Have ImageHelper::flushStagedUpdates use the current OutsideRenderPassCommandBuffer and the code will use the proper one. Bug: b/168144059 Change-Id: Ib9849efe9366cf61df5e68fd25d17df165dbd3a0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2402354 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> | ||
| 19b4dfc6 | 2020-08-11 15:53:49 | Enable precision qualifiers. This enables precision qualifiers to be included in the translated GLSL and the generated SPIR-V. We do not enable precision qualifiers on Pixel 2 with Android Q due to bugs in the Vulkan driver. Issues appear to be fixed with later Android releases and later devices. Bug: angleproject:3078 Change-Id: Ia5f40befc7ec80fbb63fb6bbe88600301967f9c9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2350583 Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 0c8f66c7 | 2020-09-04 11:01:55 | OpenGL: Get VendorID and DeviceID with angle::GetSystemInfo() Previously on the OpenGL backend we get the device ID with funtion GetDeviceID() which just supports a few types of devices. This patch fixes this issue by using angle::GetSystemInfo() instead. Bug: angleproject:5011 Change-Id: Ief0e1228bb1871a73755f05f2debd3a8e5c75597 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2392634 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jiajia Qin <jiajia.qin@intel.com> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jiawei Shao <jiawei.shao@intel.com> | ||
| 3486ec96 | 2020-09-10 17:55:28 | Enable -Wweak-template-vtables. Needs one suppression due to Clang warning about multiple vtables in a cpp file. Bug: skia:7647 Change-Id: If7f318b7539d23f783b0ef6d6478ce24a0b72bc7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2404746 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> | ||
| ae09e889 | 2020-09-10 17:00:13 | Fix mismatch issue with precision qualifiers. GLSL allows varyings passed from one stage to another to not match in precision (e.g. float & half-float). Vulkan doesn't allow that so adjust those mismatches to use the higher precision. To fix we keep track of the precision of varyings and in the Vulkan backend if we see they are different patch up the SPIR-V to make them match. Bug: angleproject:3078 Change-Id: I385d31e082da46ccdd4817b6612f5f9d9cbce17c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2337755 Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> | ||
| c5b5cf6c | 2020-09-10 16:58:18 | Refactor to pass ProgramMergedVaryings to link impl Follow-on CL needs the ProgramMergedVaryings in the Vulkan backend to generate valid SPIRV. Bug: angleproject:3078 Change-Id: Ic442a3e0bd713fec36bd6b9420f67f3b1118e5ad Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2404336 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> | ||
| a4ef812c | 2020-09-10 17:06:53 | De-templatize ResourceManagerBase. Bug: skia:7647 Change-Id: I568cb63118c944c7eca7efcd2445718dc7fda350 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2404745 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 1ab73f0f | 2020-09-10 14:32:58 | Cleanup disable_program_binary workaround This workaround should also clear the shader binary formats. Also, we can use this workaround when disabling program binaries for capture/replay. Bug: angleproject:5007 Change-Id: I57c78e2cc95e7148cb8a1e7fb9bf3ed958fa69c8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2404383 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 90a9cf96 | 2020-09-11 02:40:34 | Expand is_linux to is_linux || is_chromeos. Currently is_linux is set to true on Chrome OS build, but it is planned to set to false. This CL is the preparation to keep the current behavior. Bug: chromium:1110266 Test: Built locally. Tryjob. Change-Id: I4124dfb251d68a519fed3e08555d1aa5a694c77c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2404500 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| e99a9df2 | 2020-09-10 13:21:39 | Added integer overflow detection to ClipRectangle Used angle::CheckedNumeric to make sure none of the additions in ClipRectangle produces an integer overflow. Bug: chromium:1091364 Change-Id: I23b7943259010bb6bfde3d8ebc41e87a04f5b4f6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2404441 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexis Hétu <sugoi@chromium.org> | ||
| 1bd71b48 | 2020-09-08 13:54:33 | Make gl::DrawBufferMask a BitSet8 This shrinks the size of the mask for use in cache key classes. Bug: angleproject:4881 Change-Id: I87c234832c61e6a663c609b7f6da5d69977b21c7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2399182 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| fe822457 | 2020-09-10 03:33:26 | Fix useless move() in SizedMRUCache_unittest.cpp Drop std::move() calls in places where there's no actual moving happing, and only the "bugprone-use-after-move" clang-tidy warning is triggered. Bug: chromium:1122844 Change-Id: I692da5af4f96305f09008d1c7fd18f9be7f6273f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2401241 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| d29d4c6b | 2020-08-25 12:40:06 | Vulkan: Avoid linking to SPIR-V validation if possible We unconditionally link to $angle_spirv_tools_dir:spvtools_val, but we only use SPIR-V validation with ASSERTs. This CL removes this dependency when ASSERTs are disabled. Bug: angleproject:4887 Test: CQ Change-Id: Ic403b78196ecd895e4a0cdefb54ab4497651ccac Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2375872 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> | ||
| 29b1f07f | 2020-09-08 13:52:49 | Vulkan: Boilerplate for vkCmdNextSubpass Bug: angleproject:4881 Change-Id: I5c46c07e8c7865ef2bfd8aff0d3f8b5ba3ecd750 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2399181 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| cbbf9587 | 2020-09-09 17:01:00 | Fix ASAN issue with accessing application name ASAN caught reference outside scope issue regarding RendererVk::initialize. Need to have a local copy of the string so that it stays alive for the Vulkan call. Bug: b/168145220 Change-Id: I13d751a48fe86a5a3d603d892c86c5a7186f2606 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2402353 Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| 9a7b0a2d | 2020-09-01 15:46:02 | Workaround bogus MscRate reported by some XWayland drivers. XWayland defaults to a 1hz refresh rate when the surface is not visible, but this can sometimes cause issues in Chrome. If we see a bogus rate like that, ANGLE can just report 30hz. Bug: chromium:1042393 Change-Id: I554b05b4107cea528525ced6e95a5ce529eec3b1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2388700 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| a3bf9092 | 2020-09-09 12:16:54 | Suppress AtomicCounterBufferRangeRead failure on Nexus6P TBR=syoussefi@chromium.org Bug: angleproject:3726 Change-Id: I8e4eb420ef43ee50b7e4df563148ed296f260adb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2401545 Commit-Queue: Shrek Shao <shrekshao@google.com> Reviewed-by: Shrek Shao <shrekshao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| cee57483 | 2020-09-09 18:18:07 | GCC: init kImageMemoryBarrierData with initializer constructor GCC fails to automatically map the initializer assignment for initializing the angle::PackedEnumMap. So this change adds the type hint ImageMemoryBarrierData to the second part of the pairs passed to construct the PackedEnumMap. GCC error: ./../third_party/angle/src/libANGLE/renderer/vulkan/vk_helpers.cpp:387:1: error: could not convert ‘{{rx::vk::ImageLayout::Undefined, {"Undefined", ...}}}’ from ‘<brace-enclosed initializer list>’ to ‘const angle::PackedEnumMap<rx::vk::ImageLayout, rx::vk::{anonymous}::ImageMemoryBarrierData>’ 387 | }; | ^ | | | <brace-enclosed initializer list> Bug: chromium:819294 Change-Id: I314c43c0795e54cabd891205ee935c6354d11658 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2401778 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| 957079aa | 2020-09-03 16:20:55 | Vulkan: Free 8 bits in RenderPassDesc These bits will be used in a follow up change to determine which color attachments need to take their value from a corresponding resolve attachment in an initial subpass. Bug: angleproject:4881 Change-Id: I76b6b3339fe209f93dd259ca087d84ecaa3004b6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2397205 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| 41c93c55 | 2020-09-01 11:34:32 | Vulkan: Bug fix in atomic counter buffer count calculation When binding a new atomic counter buffer to a slot it is necessary to take into account the previous binding of that slot. This rectifies a bug introduced in f7b607c63c Bug: angleproject:3566 Test: angle_unittests.exe --gtest_filter=AtomicCounterBufferTest31.AtomicCounterBuffer* Change-Id: If78954d27c3345e8620294a84e839058d7dd7b9a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2388431 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| d4b029e3 | 2020-09-08 11:00:56 | Vulkan: Suppress VVL PushConstantOutOfRange errors VVL Error: UNASSIGNED-CoreValidation-Shader-PushConstantOutOfRange Bug: angleproject:5027 Change-Id: I60eef046df5569f4d76bf065ea6df7565793a6b9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2399178 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com> | ||
| e5882825 | 2020-09-07 10:55:35 | Texture::copyImage: Correctly compare against FBAttachment There is no functional changes, but avoids an incorrect static_cast of pointers when looking to skip the clear in a copyImage of an image onto itself. Change-Id: I35949005016dab5df01e58d27de53dccf38d50c7 Bug: chromium:1125354 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2395617 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| f184cb61 | 2020-09-06 22:29:29 | Add perf test for multisampled render to texture Bug: angleproject:4881 Change-Id: I4733e2868a3e056ec61463fec88d17aaa564234f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2394955 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| 50704dc3 | 2020-08-04 12:08:00 | Metal: Implement EXT_occlusion_query_boolean. - Metal's occlusion(called visibility) query operates per render pass. Implementation details are in src/libANGLE/renderer/metal/doc/OcclusionQueries.md. - New tests: - OcclusionQueriesTest.ClearNotCounted. - OcclusionQueriesTest.MultiQueries (failure on OpenGL/D3D11 back-end). Bug: angleproject:2634 Change-Id: Idd1327b5472d0e8c2b69307a7f04a1da4a847a40 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2336121 Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com> Reviewed-by: back sept 10 - Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> | ||
| 4a41204d | 2020-09-02 05:04:33 | Vulkan: Improve invalidate for depth/stencil Improve state tracking when the depth and/or stencil attachments are invalidated. Since no draw-time tracking is done, we use the number of command-buffer commands to determine when an attachment is drawn to. That allows all cases to be handled for store ops. Still need to handle mContentDefined at endRP time (we have the data, just not the plumbing). Test: angle_white_box_tests --gtest_filter=VulkanPerformanceCounterTest.*Invalidate*/* Test: angle_deqp_gles3_tests --gtest_filter=dEQP.GLES3/functional_fbo_invalidate_* --use-angle=vulkan Bug: b/167276207 Change-Id: Iae10857dbb4d43b934c51ad7e400b71ae0db4f55 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2378670 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com> | ||
| 36b884e6 | 2020-09-02 19:21:21 | Fix undefined behavior in minifloat conversion This cl applies the same fix already applied in SwiftShader here: https://swiftshader-review.googlesource.com/c/SwiftShader/+/48069 Original description: Shifting a 32-bit value by 32 or more is undefined behavior in C++. This previously happened in this code when converting a 32-bit float value to an 11- or 10-bit minifloat which is too small to be represented as a denormal, and should produce 0 instead. Instead of going through this arithmetic for denormals, just test whether the input value is too small to produce a valid denormal, and return 0 instead. Bug: chromium:1117433 Change-Id: I227c0e4c53000df6d9260fee364351a300b113a2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2391764 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexis Hétu <sugoi@chromium.org> | ||
| 999c85ee | 2020-09-02 10:26:47 | Correct PCI Device ID for Pixel1 & Pixel2 Testing on my Pixel 1XL and Pixel 2XL indicate that the IDs were swapped. Bug: b/167573470 Change-Id: Ie6881bf06acd77d3349f7a4b879fda8f18b1dfe0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2390824 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Tobin Ehlis <tobine@google.com> Commit-Queue: Tobin Ehlis <tobine@google.com> | ||
| cba9bbbe | 2020-09-02 09:55:31 | Vulkan: Fix resolve-with-subpass retaining resolve attachment The temporary resolve attachment used to optimize blit was not removed from the framebuffer and render pass descriptions, resulting in subsequent draws to be resolved again. Bug: b/159903491 Change-Id: I9a9c90d25cb07ba9a25999f808b164f9085387d0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2390441 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Charlie Lao <cclao@google.com> | ||
| 0c25fbe3 | 2020-09-02 17:17:57 | Vulkan: Remove accidental padding in push constants Bug: chromium:1124379 Change-Id: I45f4511c836858c70d4dae23c7b3954e0bc65ab4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2391616 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| 84bd9dad | 2020-08-26 22:01:44 | Vulkan: Allow pbuffer usage if no window support Vulkan allows rendering to non-swapchain images, so pbuffers can always be supported on every config. With this change, if the window system does not support a configuration, EGL_WINDOW_BIT is removed from the config instead of dropping the config entirely. Bug: chromium:1034840 Change-Id: Ib972ed8ddf7660c327123fa83ae0674456cf2a35 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2378921 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: back sept 10 - Jamie Madill <jmadill@chromium.org> | ||
| a568b7e3 | 2020-06-30 17:03:56 | Add a frontend feature to disable anisotropic filtering. This allows us to disable support for GL_EXT_texture_filter_anisotropic at runtime and make performance comparisons. Bug: b/167404532 Change-Id: Id80458e7f116e195366432fe73e8e776e9a3047b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2278024 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> | ||
| b2944fcf | 2020-09-02 11:10:00 | Vulkan: Don't break the RP on masked/scissored clears Bug: b/166809097 Change-Id: Iedd10a6528808e859c5693a2d30c98aca1a1159c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2390862 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> | ||
| d0d523f4 | 2020-09-02 14:47:27 | Make copyTexImage2D robust when source area is out of bounds Whenever the source area of the texture being copied is out of bounds and robust resource init is enabled, it is necessary to clear the invalid portion of the source area to 0 in the copy operation, EXCEPT if the source and the destination are the same, in which case clearing the destination would also clear the source. Bug: angleproject:3930 Change-Id: Ie9e0c52fff86b5626c82a511319688392b7b073b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2391281 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexis Hétu <sugoi@chromium.org> | ||
| d701eae2 | 2020-09-02 12:23:21 | Vulkan: Fix resolve with different formats vkCmdResolveImage and subpass resolve attachments cannot be used if the source and destination formats aren't identical per Vulkan spec: vkCmdResolveImage: > srcImage and dstImage must have been created with the same image > format VkSubpassDescription: > each resolve attachment that is not VK_ATTACHMENT_UNUSED must have the > same VkFormat as its corresponding color attachment Bug: chromium:1123524 Change-Id: Iaf7182dbcad0420483ac2c23d0acf8c109688565 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2390781 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Nicolas Capens <capn@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| 543a3962 | 2020-09-02 09:40:10 | Vulkan: Fix resolve-with-subpass with non-zero read attachment The draw framebuffer's color index was used to get the read buffer of the source framebuffer. Bug: b/159903491 Change-Id: I7a1626e6732367c14d46f1e1be4057998fdbf011 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2390440 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| 6b2639b0 | 2020-08-31 16:00:29 | Workaround to disable OES_get_program_binary This is a useful workaround for testing/diagnostics. Disabled by default. Bug: angleproject:5007 Change-Id: If459f60ae7f8a2cd4ea934fe3e54d890387d57db Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2385933 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| fdb7874d | 2020-08-26 22:04:19 | Gracefully fail end2end tests if no window support EGL_WINDOW_BIT is now specifically requested for tests that open a window (those that aren't WithNoFixture). This makes sure pbuffer-only configs are not selected for the window. Additionally, a few WithNoFixture tests are made more robust in the presence of no-window configs. In the context of crbug.com/1034840, this means that a subset of end2end tests would be able to run in a remote desktop environment. Tested on Linux/X11 by turning a subset of configs PBUFFER-only. Bug: chromium:1034840 Change-Id: I09fd149d43d3b865856fe6b9491c5f333f4a2efc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2378922 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: back sept 10 - Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| e3db3d20 | 2020-09-02 12:29:28 | Revert "Make copyTexImage2D robust when source area is out of bounds" This reverts commit e1e6f2940c25b3899a13f9f76815ddbb2d00e245. Reason for revert: This fix is incorrect, it ends up being a noop. Reverting this first before landing a different fix. Original change's description: > Make copyTexImage2D robust when source area is out of bounds > > Whenever the source area of the texture being copied is out of > bounds and robust resource init is enabled, it is necessary to > clear the invalid portion of the source area to 0 in the copy > operation. > > Bug: angleproject:3930 > Change-Id: If1605b917097006c37e7d59c66babbc32d0ba6d8 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2378004 > Reviewed-by: Geoff Lang <geofflang@chromium.org> > Reviewed-by: back sept 10 - Jamie Madill <jmadill@chromium.org> > Commit-Queue: Alexis Hétu <sugoi@chromium.org> TBR=sugoi@chromium.org,geofflang@chromium.org,jmadill@chromium.org,sugoi@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Bug: angleproject:3930 Change-Id: I9e37a3f739eb7ce5d6d6ab5ca59d11ce9aae8483 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2388718 Reviewed-by: Alexis Hétu <sugoi@chromium.org> Commit-Queue: Alexis Hétu <sugoi@chromium.org> | ||
| 6eeb3d8b | 2020-08-07 16:09:53 | Support DXT textures with non-block sized mip levels. The block size requirement for each mip level meant that all DXT textures had to be POT sized. Relax these restrictions for non-zero mip levels to allow NPOT DXT textures. Increase the size of the D3D11 staging textures to the nearest block size to make sure allocation succeeds. Bug: angleproject:4841 Change-Id: I42fa295a0965241d77f81e57b17454091fda9376 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2380237 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: back sept 10 - Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| 7e815c77 | 2020-07-08 13:43:40 | Implement EXT_shadow_samplers Bug: angleproject:4863,b/161716126 Change-Id: I6beb45d91f59a851787c9f40b40266fb985198d5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2288330 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: back sept 10 - Jamie Madill <jmadill@chromium.org> | ||
| e5f188b2 | 2020-08-31 15:36:31 | Check for "Radeon" in renderer string. AMD workarounds relied on the vendor string containing "AMD" or "ATI". Some vendor strings only contain "Radeon", which lead to workarounds not being enabled. Bug: angleproject:5004 Change-Id: Ie32852212afd1df1f3f691c87a5459e1b53b74b6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2385932 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 736c43a1 | 2020-08-31 10:23:27 | Rename ANGLE apk package to org.chromium.angle Bug: b/167223999 Change-Id: Iaa0b7c779bf744da17a0defba32c966225300a4c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2385915 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Tobin Ehlis <tobine@google.com> | ||
| c0dda021 | 2020-08-26 11:20:06 | Vulkan: release the ImageHelper's staging buffer after flush For mutable textures, right now glTexImage call and some of other cases, we are still using the ImageHelper's staging buffer. This will release the staging buffer after flush to reduce memory footprint. Bug: b/164511310 Change-Id: Ie1e52865a1c3a8f235c88331c4bb83c50d3f04da Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2378179 Reviewed-by: back sept 10 - Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com> | ||
| 59d28532 | 2020-08-27 17:04:32 | Fix GL_EXT_texture_compression_s3tc_srgb on macOS GL_EXT_texture_compression_s3tc_srgb wasn't being exposed on macOS because formatutilsgl.cpp was looking for GL_EXT_texture_sRGB, but it was moved to core in 2.1 and the macOS driver doesn't report it anymore. Bug: angleproject:4997 Change-Id: Iae736fac6d315f567ff5d834a043134f91625e59 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2380516 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: James Darpinian <jdarpinian@chromium.org> | ||
| f7b607c6 | 2020-08-29 16:34:30 | Vulkan: Optimize atomic counter buffer offset calculations Call writeAtomicCounterBufferDriverUniformOffsets method only if there are valid atomic counter buffers Bug: angleproject:3566 Change-Id: I03c3fd2095e30381597bfc66acae0ccbf828d401 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2383787 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: back sept 10 - Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| e1e6f294 | 2020-08-26 15:06:25 | Make copyTexImage2D robust when source area is out of bounds Whenever the source area of the texture being copied is out of bounds and robust resource init is enabled, it is necessary to clear the invalid portion of the source area to 0 in the copy operation. Bug: angleproject:3930 Change-Id: If1605b917097006c37e7d59c66babbc32d0ba6d8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2378004 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: back sept 10 - Jamie Madill <jmadill@chromium.org> Commit-Queue: Alexis Hétu <sugoi@chromium.org> | ||
| a25b165a | 2020-08-28 12:01:44 | Vulkan: Add transient flag to command pool Add the VK_COMMAND_POOL_CREATE_TRANSIENT_BIT flag when creating the PersistentCommandPool since the command buffers are only used once and then reset. Update the tracking bugs. Bug: b/166641492 Bug: b/166793850 Change-Id: I5827b5df7dd150756325421fc6ff0283bbd8b8e1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2381943 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: back sept 10 - Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Tobin Ehlis <tobine@google.com> | ||
| a1d5ebbf | 2020-08-31 17:29:49 | Suppress flaky failure on Win Intel OpenGL TBR=syoussefi@chromium.org Bug: angleproject:5003 Change-Id: I4bc2c963d69ba529d62e01c21080540e54b46796 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2385497 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> | ||
| 2f291c0b | 2020-07-31 10:50:31 | Vulkan: Re-enable fixed dEQP tests The script that loads the entry point loaded glRenderbufferStorageMultisampleEXT from GL_EXT_multisampled_render_to_texture wrong. This is fixed in https://github.com/KhronosGroup/VK-GL-CTS/pull/221. Bug: angleproject:4836 Change-Id: I843b359b12a042f08a63ba6723cf31bdb8509661 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2331740 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| a0d048a4 | 2020-08-27 12:03:02 | Vulkan: Fool-proof usage of GL and VK level indices Using boxed types, this change allows the compiler to catch errors when a level index in one space (e.g. GL) is mistakenly used in another space (e.g. VK). This change uncovered a number of bugs due to such mistakes which are fixed. Mistakes are still possible when the index is explicitly extracted, for example to be given to a Vulkan command, or when it's created, for example when retrieved from gl::ImageIndex::getLevelIndex. Future work can include using gl::LevelIndex in gl::ImageIndex directly to alleviate the latter at least. Bug: angleproject:4880 Change-Id: I6427c68c3bc096f771402f51c8554d8171758aa9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2380232 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> | ||
| 8d412db2 | 2020-08-29 22:25:18 | Revert "Convert unordered_map to absl::flat_hash_map for select files" This reverts commit 1acaf4eced42a26f09b4d9180a9e5db0f37bc9a4. Reason for revert: Fails when is_component_build is not set: lld-link: error: <root>: undefined symbol: public: __cdecl absl::Condition::Condition<struct std::__1::atomic<bool> const>(bool (__cdecl *)(struct std::__1::atomic<bool> const *), struct std::__1::atomic<bool> const *) <snip> Original change's description: > Convert unordered_map to absl::flat_hash_map for select files > > This is the initial CL to start migrating to abseil in various places: > - formatutils.h > - FramebufferVk.h > - Program.h > - ProgramExecutableVk.h > - RewriteRowMajorMatrices.cpp > > This intentionally hits a couple different places in the code to make > sure the abseil dependencies are added to the required targets. > > Bug: angleproject:4873 > Change-Id: I68c7d067b6912b0cc0ecde231501dbed92f0b189 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2321735 > Commit-Queue: Tim Van Patten <timvp@google.com> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Charlie Lao <cclao@google.com> TBR=timvp@google.com,jmadill@chromium.org,cclao@google.com Change-Id: I75041532fc5126b4c7cc5e0d4529883fb357e05b No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:4873 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2383870 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| f71283c9 | 2020-08-25 23:35:06 | Fix EGLContextCompatibilityTest. The check for "IsPlatformAvailable" was inverted. We were incorrectly trying only to create a context on invalid configs. Bug: angleproject:4449 Change-Id: I03fbdc7794a338a55b9dc64521915a8be247bf35 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2376045 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| b4efc051 | 2020-08-28 14:45:18 | Enable -Wdeprecated-copy. This is another warning turned on in Skia. It enforces an explicit copy assignment operator in some implicitly-generated cases. It caught one potential error in SubresourceUpdate. Bug: skia:7647 Change-Id: Ia501f619cf7f3d2e8647cdbbda2936f51f9721ba Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2381953 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 331581e9 | 2020-08-27 11:55:16 | Make copy*Texture parameters consistent for level indices They were passed as size_t, while GL level indices are GLint throughout ANGLE. Bug: angleproject:4880 Change-Id: I43bc9f01a607e457b55a061f473450d3360db808 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2380230 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> | ||
| fbafb46c | 2020-08-26 10:56:33 | Vulkan: Use context staging buffer for CopyTexSubImage This will avoid allocate staging buffer if there isn't one already. Bug: b/164511310 Change-Id: Ieb5ef12fa58c52c0a62276cab6de135fdd62780c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2377121 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> | ||
| 1acaf4ec | 2020-07-24 11:58:45 | Convert unordered_map to absl::flat_hash_map for select files This is the initial CL to start migrating to abseil in various places: - formatutils.h - FramebufferVk.h - Program.h - ProgramExecutableVk.h - RewriteRowMajorMatrices.cpp This intentionally hits a couple different places in the code to make sure the abseil dependencies are added to the required targets. Bug: angleproject:4873 Change-Id: I68c7d067b6912b0cc0ecde231501dbed92f0b189 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2321735 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> | ||
| 330c8673 | 2020-08-28 17:44:13 | Enable MSVC warning 4312. This is caught in the Skia build. Bug: skia:7647 Change-Id: I9b164f6fcc55b7e13981659ee8a08766a99a2122 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2381084 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 966a62cb | 2020-08-04 12:08:00 | Metal: autogen for EXT_occlusion_query_boolean. Bug: angleproject:2634 Change-Id: I4d6a6378a269ea9e38e9282d6dbfa45e4e3d4d5a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2336126 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 5ac807b2 | 2020-08-26 10:18:00 | Vulkan: Let stageSubresourceUpdateAndGetData use ctx staging buffer stageSubresourceUpdateAndGetData call are made and then flush the commands out, so they could just switch to use context's staging buffer instead of use per object's staging buffer. Bug: b/164511310 Change-Id: Iff7944a37073bb3641498e334847f599903858b1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2376895 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 1ab8b75a | 2020-08-28 14:45:15 | Enable -Wreturn-std-move-in-c++11. Only one fix needed. Bug: skia:7647 Change-Id: I048d54ed67fbb09f4dce6c918db26ea63e7127a8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2376719 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| c7217aaa | 2020-08-28 14:45:14 | Enable -Wbad-function-cast. Fixes a small bug in xxhash. Bug: skia:7647 Change-Id: Ibd0bd8dc4febfe585e257786d9683ea09c94ec6a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2376718 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 9e544a84 | 2020-08-24 18:37:59 | Vulkan: Fix alignment issue with context staging buffer Context's staging buffer is shared for all kind of usages. We should pass in alignment requirement for allocate call whenever it is different from the default alignment. This adds allocateWithAlignment call to DynamicBuffer call and switch ImgeHelper's usage of it to allocateWithAlignment Bug: b/164511310 Change-Id: Idcb6b6f95d6862ee6cb8fca9c164910b7e085a17 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2373590 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> | ||
| 1c654d54 | 2020-08-26 00:16:52 | Metal: Fix handling of vertex attrib offset not multiple of 4 Metal requires the vertex attribute offset to be multiples of 4, and its stride must not be less than attribute's size. This should fix the WebGL's test: conformance/attribs/gl-vertexattribpointer-offsets.html Bug: angleproject:4846 Bug: angleproject:2634 Change-Id: I0784a8ccaedd5e6c58a266243bfa94ba36e53e11 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2374829 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 5c56f228 | 2020-08-28 14:45:14 | Enable two override suggestion warnings. -Wsuggest-destructor-override and -Wsuggest-override. Bug: skia:7647 Change-Id: Iaac1baa8f34fdf210baf2fdbe811a582b3ac2d14 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2376717 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 34120d07 | 2020-08-27 15:29:04 | Capture/Replay: Track groups of strings When string counters were added, it accidentally broke transform feedback varyings. All the strings were combined, resulting in: const char *glTransformFeedbackVaryings_varyings_0[] = { R"(out_Posout_Aout_Bout_C)" }; Instead, generate the counter for the entire group. This CL results in: const char *glTransformFeedbackVaryings_varyings_0[] = { R"(out_Pos)", R"(out_A)", R"(out_B)", R"(out_C)", }; Test: Manhattan MEC works again Bug: angleproject:4941 Change-Id: Ie605395942c9105ba234009989f41a2a1cd8c53e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2381565 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com> | ||
| 91004654 | 2020-08-25 01:08:00 | Metal: Implement ANGLE_robust_resource_initialization. Bug: angleproject:4929 Bug: angleproject:2634 Change-Id: Ib99b810059420e69d939f1bbb644c2b95de62850 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2374826 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> | ||
| 9a19a996 | 2020-08-26 09:00:50 | Vulkan: Use 4 MB as preferredLargeHeapBlockSize for allocator. This reduces preferredLargeHeapBlockSize from the default value of 256 MB to 4 MB, which reduces the initial block size from 32 MB to 512 KB. 4 MB is the same size as used by Chromium and Skia. It seems to be a good compromise of not wasting unused allocated space and not making too many small allocations. This change is limited to non-Qualcomm GPUs as a number of tests are failing on Qualcomm after this change and the initial investigation indicates a potential driver bug. See http://anglebug.com/4995 for more details. Bug: chromium:1122718 Bug: fuchsia:58959 Change-Id: Ifdaf863ef38e72098a04ee57dec46ee71cab6ac3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2376891 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: David Reveman <reveman@chromium.org> | ||
| 167a0f22 | 2020-08-25 17:11:54 | Vulkan: Fixes to transform feedback emulation path Two bugs were affecting the following scenario: - Create program with xfb and no default uniforms - Draw without xfb - Begin xfb - Draw with xfb - End xfb - map and validate The first bug was that the descriptor set that contains the xfb buffers and default uniforms was never allocated for the first draw call resulting in VVL errors and crashes. The second bug was that "Begin xfb" was not setting the xfb buffers dirty bit, which meant that after the first draw call bound dummy buffers to the descriptor set, they would not get updated. This was simultaneously fixed in 5d3a4ca4e, but the added test nevertheless tests this. Bug: angleproject:4660 Change-Id: I16eee315e39ec5a657481e54ecd0491581e886aa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2376172 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| fde4d2f7 | 2020-08-28 04:19:25 | Revert "Vulkan:Clean up best practices exceptions" This reverts commit 15438d3f906f4dffbd445ef01a934ffe1b8ccfbe. Reason for revert: Running end2end tests on Linux, this validation error pops a lot. Original change's description: > Vulkan:Clean up best practices exceptions > > Assign new bug ID for clean-up work. It appears that the > UNASSIGNED-BestPractices-vkCreateCommandPool-command-buffer-reset > error was already fixed. > > Bug: b/166641492 > Change-Id: I536017e0386cf5f57bb53bcba32d5df048050343 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2380510 > Reviewed-by: Tim Van Patten <timvp@google.com> > Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> > Commit-Queue: Tobin Ehlis <tobine@google.com> TBR=tobine@google.com,courtneygo@google.com,timvp@google.com,syoussefi@chromium.org,jmadill@chromium.org Change-Id: I90ee856b8bcac3e3f2b8104fb8642185a26f3e63 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: b/166641492 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2381077 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| d3eba1db | 2020-08-27 09:15:48 | Fix ASAN error with test Test was not creating large enough vertex attributes for the DrawQuad call and thus hitting ASAN error when trying to copy the 6 vertices worth of data from an array of 3. Bug: b/166617516 Change-Id: Ia05909ada12cafa48e70c6b4ecdbbf729bbb71be Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2380234 Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tobin Ehlis <tobine@google.com> | ||
| dfddb983 | 2020-08-27 17:14:08 | Fix warnings that show up in Skia with MSVC. Bug: skia:7647 Change-Id: I6951dcfc1eacd0426dfa7f8142780a5065fae1b0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2380715 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| bb33c7cb | 2020-08-27 16:22:20 | Fix badly formatted dEQP test expectation Bug: angleproject:4996 Change-Id: Ib96c8fe05e715df32390378443e1394b8df74833 TBR=jmadill@chromium.org Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2380247 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> | ||
| a08495d9 | 2020-08-27 13:47:19 | Revert "Vulkan: restore mContentDefined at endRP()" This reverts commit 53ee431e3d36692cbe50a96ebbf0ff898ec4d523. Bug: chromium:1122621 Change-Id: Ifd63aa0694e00ed6ef74b385466b874604355e79 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2380610 Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com> | ||
| 44df3fa9 | 2020-08-27 14:26:49 | Vulkan: Fix whitebox test to end render pass Since the RAII-based GLRenderbuffer goes away at the end of the test function, we should end the render pass before ending the test. Bug: chromium:1122621 Change-Id: I5aaf2a0b4fd63a38fc5018830ee4e9d7d93f0c81 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2380248 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com> | ||
| 15438d3f | 2020-08-27 12:36:10 | Vulkan:Clean up best practices exceptions Assign new bug ID for clean-up work. It appears that the UNASSIGNED-BestPractices-vkCreateCommandPool-command-buffer-reset error was already fixed. Bug: b/166641492 Change-Id: I536017e0386cf5f57bb53bcba32d5df048050343 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2380510 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Tobin Ehlis <tobine@google.com> | ||
| 1e068e1d | 2020-08-27 15:03:10 | Suppress functional_shaders_indexing_tmp_array_*_const_* on Metal These tests were recently added, and fail on the Metal backend. Bug: angleproject:4996 Change-Id: Iadffa25ab5b6c1372874c82f8356f7f19c76d1e0 TBR=jmadill@chromium.org Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2380244 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> | ||
| d7276586 | 2020-08-26 11:27:13 | Vulkan:Use roundUpPow2 where possible Utility function roundUpPow2 is more optimal than roundUp so use it. Bug: b/166462979 Change-Id: I616fa9f487b818137b1b496d93e292c3bd1f428c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2377119 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Tobin Ehlis <tobine@google.com> | ||
| 7bb75ff6 | 2020-08-26 15:10:59 | Disable forceOldRewriteStructSamplers on Mali. The nested_array.*sampler2D_* tests can pass on Mali with disabled forceOldRewriteStructSamplers. Test: dEQP-GLES31.functional.uniform_location.nested_array.*sampler2D_* Bug: angleproject:2703 Change-Id: I34368d6ce14b81e873e2a3d60a73da4a8a866884 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2377627 Commit-Queue: Amy Liu <Amy.Liu@arm.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 97013e85 | 2020-08-27 03:35:42 | Revert "Vulkan: Only count descriptor set resources once" This reverts commit 3c2454b82c050193b8552000f1a9e208928d07e6. Reason for revert: Causes rendering issues in Manhattan 3.1. Original change's description: > Vulkan: Only count descriptor set resources once > > The descriptor set resource counts for monolithic programs already have > all of the counts combined for all shader stages, rather than needing to > loop through and combine them all like program pipeline objects. > > Bug: angleproject:3570 > Test: CQ > Change-Id: Ib8a2fe7af991a8d9d5edcef346352c7bac0703fd > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2375869 > Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Commit-Queue: Tim Van Patten <timvp@google.com> TBR=courtneygo@google.com,timvp@google.com,jmadill@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: angleproject:3570 Change-Id: I4150d5adf65ace293cb08876e4a62ae3216096b6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2378564 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Tim Van Patten <timvp@google.com> | ||
| 68c8ed7a | 2020-08-25 22:16:17 | Vulkan: More perf warnings Perf warnings added in the CPU path for unpack buffers, as well as CPU readback of images. Bug: angleproject:3461 Bug: angleproject:4900 Change-Id: I0f716a1ea6110ba8e779903a7d5913d5f6df0ce9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2376905 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| 710e408e | 2020-08-25 18:00:39 | Add support for P010 IOSurfaces Add test coverage of multi-plane IOSurfaces. Bug: chromium:1115621 Change-Id: Ib2150c4221a3e49f01ab016cebba4830194ab2b5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2376174 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| 8970ad3f | 2020-08-26 12:59:19 | Fix Linux build with Skia. Bug: skia:7647 Change-Id: I6bb33a98d69400c9d95fb9d028d29a3e470067e3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2377291 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| b89e9611 | 2020-08-19 11:19:35 | Fix SwANGLE suppressions of EGLIOSurfaceClientBufferTest Suppressions were missing for several texture formats. This slipped through because angle_end2end_tests are not run on SwANGLE on Mac. Bug: angleproject:4369 Change-Id: I0cbafe5daab591da15f86f2658c4edc724ae2561 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2364190 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> | ||
| 1ea22c31 | 2020-08-25 20:55:54 | Vulkan: Fix TRex performance regression TRex invalidates depth but doesn't disable depth before the render pass ends. The render pass isn't ended, but a storeOp of STORE was used instead of DONT_CARE, which causes a performance regression. Bug: b/163854287 Change-Id: Iebd9999ef66c11ff334db3eef2943f58eb2d5053 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2377105 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com> | ||
| c5b9c49c | 2020-08-25 18:01:29 | Vulkan: Fix optimizeRenderPassForPresent regression. gfxbench clears the depth buffer right before the swap. Even though the last draw call that presents the frame didn't ever read or write to depth, the tracking we added thought this depth write meant we had to keep the LOAD_OP as CLEAR. Instead we can refine our check to treat clears specially when enabling the depth-stencil read-only mode instead of changing how the tracking works for clears. This way the tracking can not affect other apps that don't use depth-stencil read-only loops. Also adds a regression test that counts the clears after a swap. Bug: angleproject:4959 Bug: angleproject:4979 Change-Id: I12ece6474019f7519a467f827110ad817f7d4df7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2370364 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> | ||
| 3c2454b8 | 2020-08-25 12:01:12 | Vulkan: Only count descriptor set resources once The descriptor set resource counts for monolithic programs already have all of the counts combined for all shader stages, rather than needing to loop through and combine them all like program pipeline objects. Bug: angleproject:3570 Test: CQ Change-Id: Ib8a2fe7af991a8d9d5edcef346352c7bac0703fd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2375869 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com> | ||
| 9a64f307 | 2020-08-25 14:06:40 | Vulkan: Reserve memory for ResourceUseList::mResourceUses ResourceUseList::add is called repeatedly when we need to track a resource's usage in a context. Instead of a potential memory operation on each add we reserve memory upfront for about 4k SharedResourceUse objects. If the vector grows larger, it will be automatically handled by std::vector's allocator. Bug: angleproject:4950 Change-Id: Ic85ed44a6662819621ee9a47f43dd2542b73114d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2375801 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Mohan Maiya <m.maiya@samsung.com> | ||
| a4f706b2 | 2020-08-04 12:08:00 | Metal: Use compute to generate 3D texture's mipmap. - Metal's built-in blit based mipmap generator doesn't use box filtering. Hence manual generation using compute is needed. - Compute based mipmap gen can generate up to 4 mips per pass if the base level is power of 2. - This approach can be extended to 2D/cube texture's mipmap generation in future. Bug: angleproject:4921 Bug: angleproject:2634 Change-Id: I7f997669fe39afef075b2bca2406e9424cbb3016 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2336120 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com> | ||
| 5d3a4ca4 | 2020-08-21 13:09:56 | Vulkan: Fix dirty state in XFB emulation on EndXFB. This regressed in "Vulkan: Preserve RPs on XFB changes when possible." The bug manifested as incorrect fire rendering in Manhattan. The fix is to ensure we dirty the correct buffer state when we call endXFB. Also adds a regression test. Bug: b/161744596 Bug: angleproject:4622 Change-Id: If16cc22b149526950f300e74c0cc82c0fefae5bc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2368016 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Tobin Ehlis <tobine@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 18cd3cea | 2020-08-25 12:51:19 | Revert "Work around dEQP KHR-GLES31 bug with tess/geom support." Fix is now upstreamed, we can remove the workaround. This reverts commit 2ba626dc121339a995a1ffd16a32299bf023cb21. Original CL message: > dEQP was inadvertendly requiring the presence of these extensions to > even run the tests. There's a WIP fix to the dEQP tests and this CL > implements that fix as a temporary workaround until we can update dEQP. > Fixes several tests in KHR-GLES31.core.constant_expressions and > KHR-GLES31.core.shader_macros. They now correctly return unsupported. Bug: angleproject:4143 Change-Id: I4001b30ab609ac4c9be2ce06c2d3c0dca75b64e6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2375965 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> | ||
| 85ddcc93 | 2020-08-24 14:22:22 | Vulkan: Convert ProgramExecutableVk::mDescriptorSets to std::array Currently ProgramExecutableVk::mDescriptorSets is a vector, but it's size is bound so it can be a std::array (DescriptorSetLayoutArray). To ensure the size grows correctly in the future, the various descriptor set indexes are also being converted from independent constexpr uint32_ts into the enum DescriptorSetIndex. Bug: angleproject:4898 Test: CQ Change-Id: I7ae8ff3455bcfb61e24b73bd16cc3f8cf9873087 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2372664 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com> |