src


Log

Author Commit Date CI Message
Liza Burakova ca2e588b 2024-09-12T14:20:33 WebGPU: Add support for depth/stencil clears This CL also adds helper methods to create webgpu depth/stencil attachments for a render pass descriptor, as well as depth/stencil attachment images. Bug: angleproject:42267012 Change-Id: Iebef99ba34db2e50f56449d0737b3dbb03b90f2e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5750001 Commit-Queue: Liza Burakova <liza@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Alexey Knyazev b5280aa3 2024-09-12T00:00:00 Add shadow sampler LOD tests for cubemaps Added tests for GLSL 3.00 shadow samplers in fragment shaders with TEXTURE_CUBE_MAP target. Bug: angleproject:365066518 Change-Id: I2b8577310ea5c258d4d13611607f5c4d9be57e04 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5865112 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop 5e45d53f 2024-09-15T11:12:01 Tests: Add Downwell trace Test: angle_trace_tests --gtest_filter="*downwell*" Bug: b/367019385 Change-Id: Iad12378a0d770e24b5a74db9eee78b0d8cbaa094 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5863490 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Yuly Novikov 005345d4 2024-09-16T11:02:37 Suppress flaky dEQP GLES2 test dEQP-GLES2.functional.texture.filtering.cube.linear_mipmap_linear_nearest_clamp_etc1 on Linux NVIDIA 535.183.01 driver. Bug: angleproject:362486580 Change-Id: Icdf6add6fe4c1f27c8903df12eb42e8b91bffa57 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5865110 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Gowtham Tammana 937c5dc8 2024-09-09T12:18:55 Vulkan: Make image{Read,Write} helper interface api agnostic Removing ContextVk dependency on the imageRead/imageWrite helper utility functions. Bug: angleproject:42266971 Change-Id: I493e1fb11e8ae192f766c822cbee278c49c23bfe Signed-off-by: Gowtham Tammana <g.tammana@samsung.com> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5845197 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 9decad75 2024-09-12T00:00:00 Add shadow sampler LOD tests for 2D arrays Added tests for GLSL 3.00 shadow samplers in fragment shaders with TEXTURE_2D_ARRAY target. Bug: angleproject:365066518 Change-Id: Iab68d7de6709e470ae6a4cd7d94682b454ed2880 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5861427 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 0cce8fd3 2024-09-12T00:00:00 Add EXT_texture_shadow_lod stubs Bug: angleproject:365108862 Change-Id: Ib879c2994871a41ad680bfe487593ea8ccbba7cc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5860118 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Yuxin Hu 6ee07959 2024-09-13T17:12:26 Remove the suppressed VVL error https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/8523 is fixed. Remove the VVL error from the suppressed list. Bug: b/365580001 Change-Id: Ib7a3819e740393306995df1eabec14e1b9878d7a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5860811 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Mark Lobodzinski 27738fe4 2024-09-04T19:53:01 Fix retracer script error due to blank argument Traces fail when running the retracer script if the --request-extensions argument is passed with a blank value. Bug: b/42266279 Change-Id: I1e465caaaa7a5f8d8048c09890b5d01eeb2d0df1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5860298 Commit-Queue: Mark Łobodziński <mark@lunarg.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Hailin Zhang bf29f7bd 2024-09-13T11:36:23 vulkan: fix eagl compile issue. fix https://chromium-review.googlesource.com/c/angle/angle/+/5858255 build issue for eagl. Bug: b/311022968 Change-Id: Icc6f3276338572f0303e49bede256c1a7239d3ce Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5862027 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Hailin Zhang <hailinzhang@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Hailin Zhang 8c12874c 2024-09-12T11:26:29 vulkan: add double buffer swapchain for fifo mode. Double buffer swapchain usually drop the performance. But at B* the default fps cap for silver device still at 30fps. This change is for reduce latency. Bug: b/311022968 Change-Id: Ida4044f439bbe3f235d53f5d1d2f945533cbb094 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5858255 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev e90de4b2 2024-09-05T00:00:00 Add shadow sampler LOD tests Added tests for GLSL 3.00 shadow samplers in fragment shaders with TEXTURE_2D target. Bug: angleproject:365066518 Change-Id: I5b93d030cd14a388541acaff9f7a707ad599dba3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5845491 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Yuly Novikov 7dcfc32b 2024-09-12T16:25:28 Remove renamed VUID VUID-VkVertexInputBindingDivisorDescriptionEXT-divisor-01870 was renamed to VUID-VkVertexInputBindingDivisorDescriptionKHR-divisor-01870 in https://github.com/KhronosGroup/Vulkan-ValidationLayers/commit/6adb436617e6c66fbc8b2a24996659f5c5bbb63f Bug: angleproject:42266877, angleproject:42266639 Change-Id: I382625d33ef6728835d8e9db307d32b7910ac9b7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5855187 Commit-Queue: Solti Ho <solti@google.com> Reviewed-by: Solti Ho <solti@google.com> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Yuly Novikov 1205d218 2024-09-12T11:46:48 Suppress flaky failures on new Linux Intel and NVIDIA drivers Intel Mesa 23.2.1: Texture2DTest.NegativeAPISubImage/ES2_WebGPU NVIDIA 535.183.01: KHR-GLES32.core.texture_cube_map_array.image_op_compute_sh KHR-GLES31.core.texture_cube_map_array.image_op_fragment_sh Bug: angleproject:362486580, angleproject:360083331 Change-Id: I5038f867ccda43331def4b6ee4253b580a1a6f1f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5854328 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Alexey Knyazev f0919be3 2024-09-05T00:00:00 GL: Reset color mask before clearing textures Some OpenGL drivers may apply last used color mask state to ClearTexImage operations. Bug: angleproject:347047859 Change-Id: I0bbf103793857b96e50fae8d6dfafc96b8dfe224 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5854319 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Matthew Denton 1a5fee10 2024-09-11T17:37:54 Fix missing include Bug: angleproject:42267100 Change-Id: Iafa56c8bfcfd898ca58bfe0cc0bb67ca253813e0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5854007 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Auto-Submit: Matthew Denton <mpdenton@chromium.org>
Charlie Lao c9d55051 2024-09-06T10:56:07 Vulkan: Consolidate dirtyRanges before vertex conversion Detect two ranges overlap or are continuous and merge them. This reduces number of dispatch calls as well as avoids redundant conversion. Bug: b/357622380 Change-Id: I06b73a1e9fd573d79af985b247f4d66bf97f756e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5851642 Auto-Submit: Charlie Lao <cclao@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov 9f002018 2024-09-11T16:31:50 Suppress flaky test on Linux NVIDIA Vulkan KHR-GLES31.core.draw_buffers_indexed.color_masks Bug: angleproject:365974429 Change-Id: Ib7d1a38aa0d4af999975957791d88b90c770f4a9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5854322 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Cody Northrop 3c93f29b 2024-09-10T20:27:16 Test: Add Chrono Trigger trace Test: angle_trace_tests --gtest_filter="*chrono_trigger*" Bug: b/365875548 Change-Id: Ifd9f2c09f93716341fb36b79e7c7ae5291fa9ed2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5852912 Auto-Submit: Cody Northrop <cnorthrop@google.com> Reviewed-by: Mark Łobodziński <mark@lunarg.com> Commit-Queue: Mark Łobodziński <mark@lunarg.com>
Dan Glastonbury c335ddfa 2024-07-19T11:48:54 Check only important stencil bits in partialClearNeedsInit When determining if a partial clear is taking place, instead of checking all bits of the stencil masks, only check the lowest bits corresponding to the bit depth of the active drawing stencil attachment. This results in combinations of masks, such as 0xFFFFFFFF and 0x7FFFFFFF as 0xFF and 0xFF, which are equal and not different. Change-Id: Id94082b6f689af92b00fb6d9a6cf65a1e3b4396a Bug: chromium:354025373 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5721289 Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 958b657f 2024-09-10T20:34:57 Manual roll vulkan-deps from 725499142cb6 to 3b92cef97feb (32 revisions) Manual roll requested by yuxinhu@google.com Manual roll changes: suppress VUID-vkCmdDrawIndexed-Input-08734 until VVL issue angleproject:365580001 is addressed. https://chromium.googlesource.com/vulkan-deps.git/+log/725499142cb6..3b92cef97feb Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/a496a34b439022750d41d2ba04fbbe416ef81c9a..12a17b7ce41436427e358608183100b1103274da https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers/+log/efb6b4099ddb8fa60f62956dee592c4b94ec6a49..2a9b6f951c7d6b04b6c21fe1bf3f475b68b84801 https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/e1782d6675b88225225e331a6318554d473c54db..d160e170d74ff45cb2a88dfb365bdfd896016f7c https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader/+log/c758bac8bf1580b5018adafd3a2ec709237b0134..1108bba6c97174d172d45470a7470a3d6a564647 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries/+log/fbb4db92c6b2ac09003b2b8e5ceb978f4f2dda71..ea5774a13e3017b6d5d79af6fba9f0d72ca5c61a https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/af7b0a35d009b5ad6e0b280a5b81388608ebfe39..99de3c17fbc2db6b6da0347916c9e01a383c2758 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 angle-team@google.com,yuxinhu@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://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: angleproject:365580001 Tbr: yuxinhu@google.com Change-Id: Iac9c8b6310d3ebb955dd09fd26b71d373e13b479 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5849280 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Cody Northrop 8a8ca298 2024-09-10T14:34:11 Tests: Add Brawlhalla trace Test: angle_trace_tests --gtest_filter="*brawlhalla*" Bug: b/365824633 Change-Id: If3a5213661ffb041903a84a12713e04588b516e6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5851640 Reviewed-by: Mark Łobodziński <mark@lunarg.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Charlie Lao 10d56e63 2024-09-06T10:56:07 Vulkan: use mEntireBufferDirty if range covers entire buffer Detect the dirtyRange covers entire buffer and set mEntireBufferDirty instead of add range into mDirtyRanges. This will get into a much simpler code path that will not have any redundant conversion. This also removes quite big portion of overlapped ranges cases without much of overhead. Bug: b/357622380 Change-Id: Iedaa3662a6fc52257e71d39ab75baddf6ad3e41b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5840476 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Auto-Submit: Charlie Lao <cclao@google.com>
Matthew Denton c2a9300c 2024-09-10T19:33:33 WGSL: Rewrite input/output variables GLSL builtin variables and in/out variables correspond to WGSL's main function params and return value, so rewrite them accordingly. This is done by generating structs to use as main function params and return values, generating similar global structs, and copying the former into the latter so the rest of the program can just use the variables stored in the global structs. Bug: angleproject:42267100 Change-Id: Ic3e1196f6fb95b963ce03845096a59ea7599d608 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5835347 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Matthew Denton <mpdenton@chromium.org>
Yuxin Hu 61a255cb 2024-09-10T10:56:58 Skip the critical_ops trace on S22 This trace crashes on S22: https://chromium-swarm.appspot.com/task?id=6bf09c55e48e1710. Skip it to keep the bot green and investigate the crash offline. Bug: b/267953710 Change-Id: Id8fc9f4b014ed3d97ca7cce2f56bc49cd9ef380f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5851574 Reviewed-by: Cody Northrop <cnorthrop@google.com> Auto-Submit: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Shahbaz Youssefi 6afcbd3e 2024-09-10T10:31:42 Vulkan: Disable dynamic rendering on ARM Due to driver bugs. Bug: b/356051947 Change-Id: Ic345496010b051ad054811a8c34bb3f816bbf258 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5851632 Commit-Queue: Yuxin Hu <yuxinhu@google.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Rafael Cintron 6655e94f 2024-09-09T15:41:09 Remove Feature Level 9_3, part 2 Remove all of the remaining feature level 9_3 code. Bug: angleproject:355462523 Change-Id: Ifd15d8f5486d3e7f8f2e134f23872abf4a8ea51c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5847452 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
Liza Burakova 84492ff3 2024-09-10T13:11:07 Sync vertex attributs in VertexArrayWgpu. This change only sets vertex attributes within VertexArrayWgpu and sets them in the render pipeline description owned by the context. It does not yet set attributes in the output pipeline created in CreatePipeline, as vertex buffers are also not set yet. Bug: angleproject:359823692 Change-Id: I1c3848e15d790026d53d4ab5614b1125f773e06a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5781788 Commit-Queue: Liza Burakova <liza@chromium.org> Reviewed-by: Matthew Denton <mpdenton@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Dan Glastonbury d40d1a67 2024-09-05T14:56:46 Metal: Fix OverrideMTLClearColor handling of no texture It's possible for OverrideMTLClearColor to be called with no texture. This can happen with multiple draw buffers where the bound program executable and framebuffer has incompatible component types. When the render pass is prepared by a drawing command, these incompatible attachments are skipped. As demonstated by the new test case, when switching to the framebuffer that has previously been prepared by such a draw, if the state is clean, the render pass attachments are not updated and |texture| is unavailable for use in determining any emulated clear color. Fixed: angleproject:364687937 Change-Id: I1ec9b564dc8cdb5faf7a1ed0f935d38502ca5514 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5836314 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Amirali Abdolrashidi 941b3df3 2024-08-21T17:23:16 Vulkan: Add new threshold for CPU buffer subdata Currently, with preferCPUForBufferSubData enabled, when the GPU is busy, we use the CPU to copy subdata, which includes duplicating the buffer. If the buffer is large, this can cause performance regression. To avoid this, we should avoid using the CPU in cases that can lead to such regressions. * Enabled preferCPUForBufferSubData for all ARM devices. * This feature is only used in the following cases: * If the buffer is smaller than than 32K; or * If the copy size is greater than 1/8 of the total buffer size. * Significant performance improvement observed in several traces. Bug: b/360118138 Change-Id: Ibc8e3de9b4e081c69457c85facba893283c8fb38 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5824347 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Charlie Lao 53476d6f 2024-09-04T14:34:11 Vulkan: Do vertex conversion with fine grain dirtyRange Right now when we do vertex conversion with multiple dirty ranges, we are merging dirty ranges into single range and then UtilsVk::convertVertexBuffer() is called for the merged dirty range. If there is big gap between two ranges, the merged range could be very big. This means we end up doing many unnecessary conversion. This CL tracks individual dirty ranges and issues dispatchCompute for each dirty range, thus minimize the unnecessary conversions. On S24, this change further reduces TraceTest.gangstar_vegas frame time from ~6.0ms to ~3.8ms, almost parity to native GLES's ~3.6ms. Bug: b/357622380 Change-Id: Ia103f3963bdb5996ff3f95164c955a3e4f33f311 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5787633 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Dan Glastonbury a0126d55 2024-09-06T11:58:58 Metal: Clear mRenderPassesSinceFlush to avoid infinite recursion When there is more than kMaxRenderPassesPerCommandBuffer render passes with active occlusion query, it's possible for the Metal backend to end up in infinite recursion of the following call sequence: `ensureCommandBufferReady` -> `flushCommandBufferIfNeeded` -> `flushCommandBuffer` -> `endEncoding` -> `endRenderEncoding` -> `prepareRenderPassVisibilityPoolBuffer` -> `getBlitCommandEncoderWithoutEndingRenderEncoder` -> `ensureCommandBufferReady` This recursion is caused by the checks in flushCommandBufferIfNeeded not being disarmed once the flush has started and is most likely caused by |mRenderPassesSinceFlush| exceeding |kMaxRenderPassesPerCommandBuffer|. This change moves the clearing of |mRenderPassesSinceFlush| to the top of of `flushCommandBuffer`, before any calls to `endEncoding`, breaking the need to call `flushCommandBuffer` via `getBlitCommandEncoderWithoutEndingRenderEncoder`. Additionally, |OcclusionQueryPool::mUsed| is set to false before the results are cleared. This will also break the recursion and is added for the `mCmdBuffer.needsFlushForDrawCallLimits` case in `flushCommandBufferIfNeeded`. Change-Id: Ib54c0a87ae9c5365ae56d487b6bef99b681d9f59 Fixed: chromium:362791944 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5839224 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Cody Northrop bda33598 2024-09-08T16:08:04 Test: Add Critical Ops trace Test: angle_trace_tests --gtest_filter="*critical_ops*" Bug: b/365417418 Bug: b/365524876 Change-Id: I3e6f3278a9c6ea819d61a0136986631b19170018 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5843583 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Austin Annestrand fc65058c 2024-05-03T14:47:29 CL/Vulkan: Rework spec constant handling Specialization constants can be combined into a single hash map that's later iterated on when we create the compute pipeline. Bug: angleproject:364396920 Change-Id: I161356808ff0bd6a589f01854264210011bec512 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5834664 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Austin Annestrand <a.annestrand@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop e19377af 2024-08-21T14:52:09 Tests: Support multiple users on Android On most Android platforms, the userId is '0' and many of our defaults just work. But on some, the default is non-zero, and that complicates things. To support this, we have to specify which user is correct, which can be determined with: adb shell am get-current-user Update everywhere we were using sdcard directly and use: Before: /sdcard After: /storage/emulated/<userId> Incorporate the userId to find the application's home directory: Before: /data/data/com.android.angle.test After: /data/user/<userId>/com.android.angle.test This CL: - Starts using a user flag in our Android scripts - Updates where tests look for test data and binaries - Updates where scripts use temp and external storage - Updates script to not use sdcard at all when root - Disables run-as when user is not default Bug: b/361388557 Change-Id: I0fb556ecb2d0f6bc6569a858c290b127217d4638 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5825122 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Roman Lavrov <romanl@google.com>
Mike Schuchardt 45ea2094 2024-09-06T10:36:07 Don't build api_dump for secondary abi on Android 32-bit builds of VK_LAYER_LUNARG_api_dump are extremely slow so skip them when building for arm64. Bug: b/42267058 Change-Id: I8c2d959d86a58537dafa518fb58267b38cda21f4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5842279 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Roman Lavrov <romanl@google.com> Reviewed-by: Mark Łobodziński <mark@lunarg.com>
Charlie Lao 20511d0b 2024-09-05T17:35:33 Vulkan: Remove unnecessary perfetto trace in BufferVk::mapRange There is not much usefulness to know there is mapRange call. The more meaningful place is where we end up waiting for GPU to finish which we already have the perfetto trace in SharedFence::wait. The exitsing of this trace made a lot of noise in trace since app tends to call this a lot and there are many tiny lines on the trace. Bug: None Change-Id: I83fbbba827361d068b521bdfb2bc187865d11012 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5841067 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Roman Lavrov 49a8d05c 2024-09-05T17:41:07 Tests: Add end2end test .so library to AOSP build m[mm] external/angle:libangle_end2end_tests__library produces libangle_end2end_tests__library.so I tested that integration with Chromium wrappers works with some manual patches; no integration is included in this CL. googlest/gtest dependencies replaced with platform libgtest, libgmock TestSuite heavily depends on rapidjson so it is currently excluded, only the standard gtest implementation is included (--gtest_list_tests, --gtest_filter, --gtest_output etc) This also disables support for expectation files as it is piped through TestSuite instance. Bug: b/279980674 Change-Id: I35cb2328d74a3ac778e1d93bb4fe4ac044920b6a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5838526 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Mark Lobodzinski 61c26fd6 2024-08-29T10:11:00 Tests: Add Passmark benchmark Unity trace Add trace of the 'OpenGL ES using Unity ' benchmark case of the Passmark performance test suite. Test: angle_trace_tests --gtest_filter=*passmark_unity* Bug: b/362801313 Change-Id: I15a57fefdb4959e60196646aa5053b6fa5960bcb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5825785 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi 0a04cb90 2024-09-04T11:30:36 Translator: Limit shader size check to WebGL and Chromium shaders This is because std430 is not taken into account in the check. That can be fixed with https://chromium-review.googlesource.com/c/angle/angle/+/5835580 if ever necessary. Bug: angleproject:361369308 Change-Id: Id5eacc9bab6d959c8f9f8d09ebd87504dcfa25af Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5836785 Commit-Queue: Geoff Lang <geofflang@chromium.org> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Austin Annestrand 59eff366 2024-05-03T11:33:25 CL/Vulkan: Enable global offset support There is a "--global-offset" clspv flag that enables OpenCL global offsets. This feature is disabled by default otherwise. Bug: angleproject:364396921 Change-Id: I89179228d2ff9e0b6750d9d0d062261dfaddec6c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5834663 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 621bba6c 2024-09-04T09:58:09 Vulkan: Fix device entry points loaded as instance Bug: angleproject:359420106 Change-Id: I970ac7b924013a3c8ea5dd73f90bbe1649969753 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5836783 Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Rafael Cintron d1a4b0ff 2019-05-04T17:15:42 Remove Feature Level 9_3 code Feature Level 9_3 was originally added for developers creating apps for devices which did not have the DirectX 9 API and are no longer supported. Hence, we can remove the corresponding code in the 11 backend. Bug: angleproject:355462523 Change-Id: I22db15640b435c61db4d82a815edbc65cecc4e12 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5824661 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
Alexey Knyazev e13cc7df 2024-08-30T00:00:00 Metal: Add shadow sampler overloads for textureProj[Offset] Added compile guards because sample_compare with bias is not defined for older MSL versions. Fixed: angleproject:354101888 Change-Id: I3972fabc9ebe7b7475343438272e57dcfed007f4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5828944 Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Igor Nazarov 177d15b3 2024-08-23T19:34:34 Vulkan: Simplify WindowSurfaceVk::prepareSwap() method In case of swapchain recreate inside `prepareSwap()`, perform unlocked ANI call as usual. ANI processing will be done late in `swap()` or `getBufferAge()`. This is possible, because surface `getWidth/Height()` is no longer require valid `mColorRenderTarget`. Because of the above, `swapchainRecreatedOut` parameter was removed. Additionally, `getBufferAge()` now uses `doDeferredAcquireNextImageWithUsableSwapchain()` in order to process possible VK_ERROR_OUT_OF_DATE_KHR error and recreate the swapchain, instead of failing. Test: angle_end2end_tests --gtest-filter=EGLSingleBufferTest.AcquireImageFromSwapImpl* Bug: angleproject:6851 Bug: angleproject:8133 Change-Id: Ieb375781da2b1108d0a5e11dbb012885a946688e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5806335 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Kimmo Kinnunen edc6d2fc 2024-09-02T19:02:11 Metal: Fix watchOS supports32BitFloatFiltering use Avoid using supports32BitFloatFiltering on watchOS, turns out it is not available. Bug: angleproject:360147119 Change-Id: I9ac7101b72d05e06807ba2d18e0fabe7579f62a5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5830352 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Kimmo Kinnunen 8b8b3d4d 2024-09-02T21:04:11 Metal: Flush with NoWait on iOS when hitting renderpass count limits Avoid deviating between iOS and macOS in this regard. The behavior should be the same for the caller as well as the implementation. Bug: chromium:1466696 Bug: angleproject:363984104 Change-Id: I39160bcc0a54ea9c767e1109d80cb4d71ecdf207 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5830799 Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Kimmo Kinnunen e5532e6c 2024-09-02T20:55:58 Metal: Avoid using Display::prepareForCall The call can be disabled if CGL and EAGL are not in use. Bug: angleproject:363916154 Change-Id: I4aafddec37daae4470316e2ea70a48e4489573b4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5830798 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Shahbaz Youssefi 377f7b68 2024-08-30T11:59:41 Vulkan: Remove redundant needs-flush check in glClientWaitSync `SyncHelper::prepareForClientWait` calls `SyncHelper::getStatus`, which already causes pending flushes in the share context to be performed. The second call in `SyncHelper::prepareForClientWait` was redundant and a no-op. Bug: b/362604439 Change-Id: I125e3e5773d29976fe916c3e2f78733f12c72ed0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5823558 Commit-Queue: Igor Nazarov <i.nazarov@samsung.com> Reviewed-by: Igor Nazarov <i.nazarov@samsung.com> Reviewed-by: Charlie Lao <cclao@google.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Igor Nazarov 636d838e 2024-08-27T16:30:04 Vulkan: Decouple Window Surface width/height from color RT `mColorRenderTarget` is invalidated in `releaseSwapchainImages()` method, when swapchain is recreated. It remains invalid until ANI result is processed in the `postProcessUnlockedTryAcquire()` method. In case if swapchain recreate and processing of the results are done in different API calls (prepareSwap and swap), other thread way query invalid render target size using `eglQuerySurface()` API. Currently this should not be possible, but may change in the future. Another way to have invalid render target, is if ANI fails after swapchain recreate. To avoid above problems, surface size is cached after swapchain is recreated. Implementation is moved to the `SurfaceVk` base class. The `WindowSurfaceVk::getRotatedWidth/Height()` methods were unused. `mColorRenderTarget` is now only acessed after ANI result is processed. Bug: angleproject:1319 Change-Id: Ibc007f1e8d30b6281be93c4561e05dd2f14f44d3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5816834 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com> Reviewed-by: Charlie Lao <cclao@google.com>
Igor Nazarov 74816e9e 2024-08-29T15:58:22 Vulkan: Cleanup RenderTargetVk release/destroy methods Current implementation of `release()` and `destroy()` methods does not actually invalidate state of the object. All they do is manage the Framebuffer cache. The `release()` method renamed to `releaseFramebuffers()` to match its behavior. Added new `releaseImageAndViews()` method that calls `releaseFramebuffers()` and also null the pointers in order to catch invalid usage in ASSSERTs (for example: usage of `SurfaceVk::mColorRenderTarget` after swapchain recreation but before ANI processing). `destroy()` is updated to also call `reset()`. `releaseFramebuffers()` is only used in `TextureVk` class. In case of `releaseImageViews()`, arrays are cleared, so there is no point calling `releaseImageAndViews()`. In case of `refreshImageViews()`, render targets may be reused, since all pointers remain valid. `RenderbufferVk` and `WindowSurfaceVk` are using new `releaseImageAndViews()` and updated `destroy()` methods. Other changes: - Replace clearing of RT arrays in `TextureVk::setImageHelper()` with ASSERTs. - Fix ASSERT in `TextureVk::releaseImageViews()`, but it seems that this code path is impossible. Bug: b/234769934 Change-Id: I431d25b81dd4dd343149c12e680e5c997aa18436 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5822575 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Charlie Lao 8b6b1113 2024-08-30T16:06:17 Vulkan: Fallback to host unCached if no cached memory available Android studio may not have any host cached memory. This CL will make it use unCached memory in this case. User of this memory will still treat it like cached and try to flush/invalidate cache, but these flush/invalidate call will early out, so they should still work. Performance wont be good, but that is the best we can do to make it work instead of crash. Bug: b/363347052 Change-Id: I68ac917585f6f5672a75085c397858bdc28687e9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5828132 Reviewed-by: Lars Harrison <slumpwuffle@google.com> Auto-Submit: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Cody Northrop 21b286a1 2024-08-28T15:06:10 Trace replay: Call glFinish before screenshots On some platforms we're getting partial or no results in the screenshot, even though it ends up displaying correctly on screen. Adding a glFinish before glReadPixels clears up the issue. Bug: b/42263221 Change-Id: Id5d2384c01fece1f7cd4d79b7cc599d082fb2864 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5824180 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com> Auto-Submit: Cody Northrop <cnorthrop@google.com>
Charlie Lao 20e0b83a 2024-08-30T11:05:09 Vulkan: Expand preferSubmitAtFBOBoundary from ARM to all tiler GPUs On S24, enable preferSubmitAtFBOBoundary flag boost black_clover_m frame time significantly. The app uses occlusion query which was blocking the CPU to encode next frame until one of the previous frame's render pass is completed. Enable preferSubmitAtFBOBoundary makes the render pass being submitted early which reduces the query wait time, which in turn boost GPU utilization and bumps GPU clock. This reduces frame time of black_clover_m from 23.8ms to 6.4ms, even much better than native's 16ms. It could impact power usage as well, a little bit harder to tell without data that it will be better or worse. For now, I am enabling this for all tiler based GPUs and we can re-evaluate if any problems comes up. This would potentially also benefit other desktop GPU as well, but I am not touching these until we have data showing the benefit before enabling it. Bug: b/362555815 Change-Id: Ie7a5231350389c49091bb2771c542b4439c9c227 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5829781 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop 56ea2edc 2024-08-30T11:01:48 Traces: Update regex for power rails Bug: b/354006406 Change-Id: If014c49ccdbb6e0a57c0dc88833511049c3578ea Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5828131 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Charlie Lao e4be31ca 2024-08-29T14:30:11 Test: Add VertexAttribPointer test with different offset The first test draw with VertexAttribPointer with smaller offset and then followed by draw with VertexAttribPointer with larger offset. The second test draw with larger offset and then followed by draw with smaller offset. They will exercise logic in backend that may reuse the conversion buffers (when forced format fallback is used). Bug: b/357622380 Change-Id: If325a0547e5f80305125f448e9f987896f3e35bd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5827285 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Shahbaz Youssefi 4167a9a0 2024-08-29T23:38:05 Don't lock the context mutex if no flush in eglClientWaitSync Bug: b/362604439 Change-Id: Ic514bcb3824514b5fd82ebb14ab97286aeb6557c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5828262 Reviewed-by: Igor Nazarov <i.nazarov@samsung.com> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao 4e3b4e0c 2024-08-21T16:56:47 Vulkan: Clear conversion buffer's dirtyRange if bufferData called If BufferData is called, the previous dirtyRange on the conversion buffer is no longer valid (the original data in BufferVk is no longer valid). This CL clears the dirty range in conversion buffers so that they do not gets unnecessarily converted. Bug: b/357622380 Change-Id: Ic97c867a8d2141659a0ffd269049f9d4168a421f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5804531 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 27a0a5ed 2024-08-29T23:23:19 Vulkan: Only access ContextVk in EGLSync if asked to flush Bug: b/362604439 Change-Id: Ifec413628de88e9048e8134c2c5e9497970f358c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5828261 Reviewed-by: Igor Nazarov <i.nazarov@samsung.com> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao e4aab5cc 2024-08-13T14:54:19 Vulkan: Reuse the same conversion buffer by adjusting offset In some usage case where app calls bufferSubData and then calls glVertexAttribPointer to source vertex from different offset, we could still just reuse the existing VertexConversionBuffer instead of create a new one. The benefit with this is that all previous converted data are still valid, thus reduce the overall conversion, and reduce the number of conversion buffers and saves memory. Bug: b/357622380 Change-Id: Ifcf626427e2ed500d6ab617541b78a60839d9acd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5785670 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Yuly Novikov 4dfba10a 2024-08-30T15:05:44 Skip passmark_complex on Linux Intel Bug: b/362801312 Change-Id: I743261c7f5086d5aaf98d28c1b32fa494c0fc2e1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5822715 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Shahbaz Youssefi 8d6f6c23 2024-08-29T14:56:31 Vulkan: Unsuppress fixed VVL errors Bug: angleproject:361600662 Change-Id: Ic4585f4b38261f69700a9703bdb10b60e18f638a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5826762 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev d886a0fb 2024-08-29T00:00:00 Metal: Remove unused platform macros ANGLE_APPLE_AVAILABLE_XCI and ANGLE_APPLE_AVAILABLE_XI are no longer used. Bug: angleproject:360147119 Change-Id: I872fbe994a352673a6e9ad6468f0141c3ed98694 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5823423 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Kimmo Kinnunen 8c211b10 2024-06-20T13:51:20 Metal: Clear depth pbuffers to 1 for robust init Robust resource initialization would init depth pbuffers as 0.0 instead of 1.0. This would differ from the FBO initialization, where the uninitialized depth buffers would be initialized to 1.0. Bug: angleproject:348199042 Change-Id: I0f251e85d6e08ce992fe323b257a0906d237f5b1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5642763 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Quyen Le <lehoangquyen@chromium.org>
Alexey Knyazev e2afdd3c 2024-08-29T00:00:00 Metal: Fix depth/stencil FBO attachments validation Simplified and fixed depth/stencil attachments validation to match Metal behavior; added a new error message. Updated allowSeparateDepthStencilBuffers feature condition to enable it on Apple silicon Macs. Fixed: angleproject:362901599 Change-Id: Ib60020f157976240ebfd652254d63380341cddbd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5823534 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Shahbaz Youssefi b43f8889 2024-08-29T12:34:46 Vulkan: Fix varyings reserved for xfb At some point in the past, the ANGLEXfbPosition varying was generated unconditionally when the xfb extension is available. The logic that reserved one varying for this was not updated and fails to account for it in recent drivers. Bug: angleproject:362545033 Change-Id: I65fb58cd912b96b2774a7dfbffa4aa656f694e81 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5826761 Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Mark Lobodzinski 28d82804 2024-08-29T10:05:09 Tests: Add Passmark benchmark Complex trace Add trace of the 'Complex' benchmark test of the Passmark perofrmance test suite. Test: angle_trace_tests --gtest_filter=*passmark_complex* Bug: b/362801312 Change-Id: Ic85874140fa22f97c13b1be043120e8ccc428c96 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5826921 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Alexey Knyazev e850656a 2024-08-29T00:00:00 Add EXT_separate_depth_stencil stubs Bug: angleproject:362780331 Change-Id: I378b5c9ff06a2c5e56d68ef93ed42e0351b5044e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5823195 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Mark Lobodzinski c3309dbd 2024-08-23T15:47:27 Tests: Add Passmark benchmark Simple trace Add trace of the 'Simple' benchmark case of the Passmark performance test suite. Test: angle_trace_tests --gtest_filter=*passmark_simple* Bug: b/362784518 Change-Id: I387efb5cc0d7b1ee8c731f2fdedc56806701169c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5824181 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Gowtham Tammana 79729f7c 2024-08-27T17:13:57 Reapply "Vulkan: Expose float control properties as angle features" This reverts commit 5a8eab96c6b7b99b8568feb902b8b85e2df7e19a. This relands the commit 027cbe1a071f41a09d596c4baa243a0abc3d1a86 with the below changes - add back needed suppressions that were removed erroneously ``` // https://anglebug.com/361600662 "VUID-RuntimeSpirv-OpEntryPoint-08743", "VUID-RuntimeSpirv-OpEntryPoint-07754", "VUID-RuntimeSpirv-maintenance4-06817", ``` Bug: angleproject:360031000 Change-Id: I74ed80b459466bdd8ae638ff875677b089aaa360 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5818733 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Brian Sheedy c094d4bc 2024-08-26T18:00:50 Enable tests on linux-exp-nvidia Enables tests on the new linux-exp-nvidia builder. Bug: chromium:357573052, chromium:362545033, chromium:362486580 Bug: chromium:362728695 Change-Id: Ib2f1c2edb139be1b3b2225dd9a9ec88df2bf1a84 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5814931 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Brian Sheedy <bsheedy@chromium.org>
Gowtham Tammana 0929a8d7 2024-08-13T10:43:06 CL/Vulkan: Add utility function for clspv compile options Add a utility function for querying the options based on the vulkan renderer for the clspv compiler. Bug: angleproject:361717757 Change-Id: I9722b8a80bcad3f2b799d87b8fbe29c84a686a6e Signed-off-by: Gowtham Tammana <g.tammana@samsung.com> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5810696 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Geoff Lang 42ea8555 2024-08-28T11:37:39 GL: Sync default VAO attributes for external contexts. When ANGLE touches the default VAO, we need to save and restore all of its state for external contexts. This mirrors what Chrome does in ScopedAppGLStateRestoreImpl. This allows us to use the default VAO and client arrays for external contexts, improving performance by about 10X on client array heavy benchmarks. Bug: chromium:360151048, chromium:361699768, angleproject:355034868 Change-Id: If38eb1090b5b5fdfca183a7ec519d5a8c3df0b4c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5823832 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Geoff Lang 8522e835 2024-08-26T20:46:45 WebGPU: Avoid poping error scopes too many times The ErrorScope RAII wrapper would pop the webgpu error scope multiple times if the explicit PopScope funciton was called before the destructor. Bug: angleproject:362191737 Change-Id: I8caa7ab39addf03bc09a7cce517cde800c91653c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5815568 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Igor Nazarov 24a3d30d 2024-08-28T14:33:49 Possibly fix FixedQueue.ConcurrentPushPopWithResize flakiness Queue may be empty when `enqueueThreadFinished` become true. Bug: b/302739073 Change-Id: Idb636e3f87c1217520a9e68a69e749f5bcac4d0f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5823039 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com> Reviewed-by: Charlie Lao <cclao@google.com>
Alexey Knyazev cd4b8adb 2024-08-20T00:00:00 Remove obsolete macOS availability macros MTLDevice.registryID * macOS 10.13 (min deploy 10.15) kCGLRPRegistryIDLow, kCGLRPRegistryIDHigh * macOS 10.13 (min deploy 10.15) Bug: angleproject:360147119 Change-Id: Ife691a844b73abf0fb877578ad2c29e77cc70397 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5814951 Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Alexey Knyazev 3f5ede8f 2024-08-20T00:00:00 Metal: Remove obsolete availability macros from context MTLSharedEvent * macOS 10.14 (min deploy 10.15) * iOS/tvOS 12.0 (min deploy 15.0) MTLDevice.hasUnifiedMemory * macOS 10.15 (min deploy 10.15) * iOS/tvOS 13.0 (min deploy 15.0) Bug: angleproject:360147119 Change-Id: I8c7e09b1fd9d16cf2bc9dcdca50a7fe577ad25a2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5816833 Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Alexey Knyazev e39d08b9 2024-08-20T00:00:00 Metal: Remove obsolete code from caps and extensions init MSL 2.1 * macOS 10.14 (min deploy 10.15) * iOS/tvOS 12.0 (min deploy 15.0) MSL 2.2 * macOS 10.15 (min deploy 10.15) * iOS/tvOS 13.0 (min deploy 15.0) Volume BC textures * macOS 10.15 (min deploy 10.15) Depth clipping mode * macOS 10.11 (min deploy 10.15) * iOS/tvOS 11.0 (min deploy 15.0) Dual-source blending * macOS 10.12 (min deploy 10.15) * iOS/tvOS 11.0 (min deploy 15.0) Bug: angleproject:360147119 Change-Id: I00d33d2b6b5c80a305bfbe9316c0ea670b9a4b04 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5814950 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Mark Lobodzinski fc4f0ac0 2024-08-21T12:54:13 formatutils: Allow 16-bit formats for renderbuffer with ext in GLES1.0 These format/use combinations should be available before ES 2.0 if the GL_OES_framebuffer_object extension is present: GL_RGBA4 GL_RGB565 GL_RGB5_A1 An E2E test is included. Test: angle_end2end_tests --gtest_filter=*FramebufrerObjectTest.RenderBufferObject* Bug: b/361370571 Change-Id: I0bc4cf43733a312c2847ebd63075338b365571d7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5805221 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Mark Łobodziński <mark@lunarg.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Kimmo Kinnunen b512e42d 2024-08-20T15:12:19 Reland: Metal: Fix availability for kIOMainPortDefault Remove ad hoc deprecation disables for kIOMasterPortDefault. macCatalyst kIOMainPortDefault available 15.0, less than minimum 15.6. Remove the ifdefs. Reland: Guard macOS specific unittests with compile guards. The patch changes the tested function to be macOS only. Bug: angleproject:360147118 Change-Id: Icbcc811a066995e742825a364fc5f0b5a27a59bc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5816832 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Geoff Lang <geofflang@chromium.org> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Alexey Knyazev b52f281a 2024-08-20T00:00:00 Metal: Remove unused and obsolete availability macros * Both usages of ANGLE_APPLE_AVAILABLE_XC are obsolete. * ANGLE_APPLE_AVAILABLE_CI and ANGLE_APPLE_AVAILABLE_I are unused. * iOS and tvOS SDK version ranges are supported without redefinitions. * Mac Catalyst is defined in the supported SDK versions. Bug: angleproject:360147119 Change-Id: I8e7730c31f73c03d491373a0a5d316432513d8a2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5817148 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Alexey Knyazev 2609e02c 2024-08-20T00:00:00 Metal: Remove unused branches from StartFrameCapture The used APIs are supported on all deployment targets. Bug: angleproject:360147119 Change-Id: Ieaa8662e97b71e97bdab3cd0f5c5ef6db3d1b305 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5817150 Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Alexey Knyazev 8cfb9ea2 2024-08-20T00:00:00 Metal: Align OS macro usage Consistenty used TARGET_OS_* macro instead of ANGLE_PLATFORM_* in the Metal backend code for better searchability. Bug: angleproject:360147119 Change-Id: I754ddc158daa6b1894b0b4fb0489d59f14605b66 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5816828 Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Alexey Knyazev be4532be 2024-08-20T00:00:00 Metal: Update availability macros in tests IsMetalTextureSwizzleAvailable is always false on Simulator. IsMetalCompressedTexture3DAvailable is always true on the supported platforms. Bug: angleproject:360147119 Change-Id: I297f7649071143b0cf3c20d5adc8fc3deca88910 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5816830 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Yuly Novikov 5a8eab96 2024-08-27T10:07:26 Revert "Vulkan: Expose float control properties as angle features" This reverts commit 027cbe1a071f41a09d596c4baa243a0abc3d1a86. Reason for revert: removes needed suppressions, breaking bots: https://ci.chromium.org/ui/p/angle/builders/ci/win-exp-test/569/overview https://ci.chromium.org/ui/p/angle/builders/ci/linux-exp-test/810/overview https://ci.chromium.org/ui/p/angle/builders/ci/android-arm64-exp-s22-test/1060/overview Original change's description: > Vulkan: Expose float control properties as angle features > > The different fp configuration that a vulkan backend supports are > exposed through `VkPhysicalDeviceFloatControlsProperties`. Expose these > as angle features that api's implementations can query. > > The autogen files are changes as reported by running `python3 > scripts/run_code_generation.py` script. > > Bug: angleproject:360031000 > Change-Id: I038cbf2c9e2b10916697994782ef73b35a1caf12 > Signed-off-by: Gowtham Tammana <g.tammana@samsung.com> > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5798053 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Charlie Lao <cclao@google.com> Bug: angleproject:360031000 Change-Id: I88c0a083725320b5e1a8302a50f67d41cbf5c089 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5816829 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>
angle-autoroll 2177be94 2024-08-26T17:32:22 Manual roll VK-GL-CTS from 21ff94426906 to 824d14748364 (13 revisions) Manual roll requested by syoussefi@google.com * KHR-GLES3: * Removed outdated test names to resolve the unused expectation warning. * (After test name changes, they no longer exist in the mustpass test list.) * KHR-GLES31: * Unsuppressed a test that no longer fails. https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/21ff94426906..824d14748364 2024-08-23 ziga@lunarg.com Fix build on windows 2024-08-23 MengYang.Liu@amd.com Add test cases for maxPushConstantsSize queried from device 2024-08-23 mate@rastergrid.com Fix waiver mechanism for Vulkan SC testing 2024-08-23 gsweet@broadcom.com Check fillModeNonSolid before using non-solid fill modes 2024-08-23 gleese@broadcom.com Add extra fast-math decoration in OpPhi tests 2024-08-23 ziga@lunarg.com Test pipeline using compatible render pass without resolve attachment 2024-08-23 ziga@lunarg.com Fix crash in local read max input attachments test 2024-08-23 gleese@broadcom.com Revert "Test mismatched dimensionality" 2024-08-23 ewerness@nvidia.com Default --deqp-terminate-on-device-lost to enable 2024-08-23 kamil.goras@mobica.com Split KHR-GL46.shading_language_420pack* 2024-08-23 kamil.goras@mobica.com Split KHR-GL46.packed_pixels.* 2024-08-23 syoussefi@google.com Fix missing GL barriers in `LoadStoreMachine` tests 2024-08-23 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.9 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 abdolrashidi@google.com,angle-team@google.com,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://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: b/350994515 Bug: angleproject:40096882 Tbr: abdolrashidi@google.com,syoussefi@google.com Change-Id: I9db95cedef583120733c34c8630864fbad3c36f6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5812210 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Gowtham Tammana 027cbe1a 2024-08-13T17:27:27 Vulkan: Expose float control properties as angle features The different fp configuration that a vulkan backend supports are exposed through `VkPhysicalDeviceFloatControlsProperties`. Expose these as angle features that api's implementations can query. The autogen files are changes as reported by running `python3 scripts/run_code_generation.py` script. Bug: angleproject:360031000 Change-Id: I038cbf2c9e2b10916697994782ef73b35a1caf12 Signed-off-by: Gowtham Tammana <g.tammana@samsung.com> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5798053 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Austin Annestrand a2602533 2024-08-16T15:31:43 CL/VK: Update zero-enqueue validation checks According to the spec: CL_INVALID_GLOBAL_WORK_SIZE if global_work_size is NULL or if any of the values specified in global_work_size[0], …​ global_work_size[work_dim - 1] are 0. Returning this error code under these circumstances is deprecated by version 2.1. Since ANGLE supports OpenCL 3.0, we need to remove our "gws[dim] != 0" assert since this is no longer an error. Also adding missing check for LWS[dim] == 0 case since validationCL does not check for this prior to performing a modulo operation. Bug: angleproject:361750102 Tests-Fixed: OCLCTS.test_api.zero_sized_enqueue Change-Id: I02f302fd988bc37e3b52aeea30586843a47cadfd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5807300 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Austin Annestrand c34e8c75 2024-08-16T14:06:10 CL: Platform check for ValidateCreateContextFromType Bug: angleproject:42266872 Change-Id: Iaf19a2bb6ca1e1a1ce7b02852a3e4fd5290bd557 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5807299 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Austin Annestrand <a.annestrand@samsung.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Alexey Knyazev 6ef39db0 2024-08-20T00:00:00 Metal: Remove obsolete compile guards for texture helpers MTLDevice.supports32BitFloatFiltering - macOS 11.0 (min compile 12.0, min deploy 10.15) - iOS 14.0 (min compile 17.0, min deploy 15.0) - tvOS 16.0 (min compile 17.0, min deploy 17.0) MTLDevice.supportsBCTextureCompression - macOS 11.0 (min compile 12.0, min deploy 10.15) - iOS 16.4 (min compile 17.0, min deploy 15.0) - tvOS 16.4 (min compile 17.0, min deploy 17.0) MTLPixelFormatPVRTC* enums - macOS 11.0 (min compile 12.0) - iOS 8.0 (min compile 17.0) - tvOS 9.0 (min compile 17.0) Bug: angleproject:360147119 Change-Id: Iafb010efc233f9c677a2c6f65cb4efdf0bb9cf9c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5805290 Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Alexey Knyazev 939fafc8 2024-08-20T00:00:00 Metal: Remove MSL version compile guards MTLLanguageVersion1_0 - Deprecated MTLLanguageVersion2_3 - macOS 11.0 (min compile 12.0, min deploy 10.15) - iOS/tvOS 14.0 (min compile 17.0, min deploy 15.0) MTLLanguageVersion2_4 - macOS 12.0 (min compile 12.0, min deploy 10.15) - iOS/tvOS 15.0 (min compile 17.0, min deploy 15.0) Bug: angleproject:360147119 Change-Id: I4a0da9d92ef86e899766bc860f3bc6e7e614f4a9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5806332 Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Geoff Lang e10e31ed 2024-08-26T12:56:42 WebGPU: Add error handling macros for debugging. Add a ANGLE_WGPU_SCOPED_DEBUG_TRY to create an error scope, execute some commands and pop the scope in builds with assertions enabled. A follow-up with full error handling at frame boundaries is still needed. Bug: angleproject:362191737 Change-Id: I4af9e1587f6d70bf14a3f6435b487e26424624ef Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5813006 Reviewed-by: Matthew Denton <mpdenton@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Yuly Novikov 95c30276 2024-08-26T18:14:30 Don't use VK_GOOGLE_surfaceless_query on Samsung S24 Xclipse Apply S22 workaround on S24 as well, tentative fix for bad traces. Bug: b/362253922 Change-Id: I5a04741d7465139f86de5baadbf774eed172b4e5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5812323 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Alexey Knyazev 966d0a1a 2024-08-20T00:00:00 Metal: Cleanup memoryless storage mode support detection Bug: angleproject:360147119 Change-Id: Ic47f1d84e748f65194aa819a39418db66b1948c3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5802956 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com>
Yuly Novikov 8281af52 2024-08-15T16:26:02 Skip timing out end2end tests on Samsung S24 Xclipse. Add GALAXYS24 expectation tag and skip: FramebufferTest_ES31.ChangeFBOSizeAndAttachmentsCount FramebufferTest_ES31.ChangeFBOSizeWithNoAttachments FramebufferTest_ES31.CreateNoAttachmentFBOWithDifferentSize FramebufferTest_ES31.RenderingLimitToDefaultFBOSizeWithNoAttachments Bug: angleproject:359904354 Change-Id: If88fa3876b7fcf534d99fee75b5aa4fa6da140c6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5808948 Reviewed-by: Solti Ho <solti@google.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Alexey Knyazev 003737c8 2024-08-20T00:00:00 Metal: Adjust texture storage mode compile guards Used managed mode only for macOS and Mac Catalyst compile targets. Fixed compilation for visionOS. Bug: angleproject:360147119 Change-Id: I88fae28ff6d1ecb5ba303d32c4a3874bf3f8aa87 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5802959 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Alexey Knyazev a36c459e 2024-08-20T00:00:00 Metal: Remove redundant symbol redeclarations MTLBlitOptionRowLinearPVRTC - macOS 11.0 (min compile 12.0) - iOS/tvOS 9.0 (min compile 17.0) MTLBarrierScope - macOS 10.14 (min compile 12.0) - iOS/tvOS 12.0 (min compile 17.0) MTLBarrierScopeRenderTargets - Moved compile guards to call sites MTLRenderStages, MTLRenderStageVertex, MTLRenderStageFragment - macOS 10.13 (min compile 12.0) - iOS/tvOS 10.0 (min compile 17.0) Bug: angleproject:360147119 Change-Id: I7dac46accde63be486a7de918284bbd6e8367a4e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5806896 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Alexey Knyazev 1f1b7426 2024-08-20T00:00:00 Metal: Remove compile guards for preserveInvariance MTLCompileOptions.preserveInvariance - macOS 11.0 (min compile 12.0, min deploy 10.15) - iOS/tvOS 14.0 (min compile 17.0, min deploy 15.0) Bug: angleproject:360147119 Change-Id: I54bd75f3136e907ebb738b855f12b80f3c161b41 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5806898 Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Charlie Lao acf63b9e 2024-08-22T09:52:41 Vulkan: call traceGpuEvent after queueSerial has been allocated traceGpuEvent() will write to mOutsideRenderPassCommands. This means if we destroy context immediately it will flush OutsideRenderPassCommands. This will trigger assertion that the queueSerialIndex is invalid. This CL moves queueSerialIndex allocation before traceGpuEvent. Bug: b/361570359 Change-Id: I70909ebd23c43c05cb793319b255f81e65a17a9d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5806203 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Greg Schlomoff <gregschlom@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Gowtham Tammana 3f1c47bf 2024-08-13T15:06:40 Vulkan: Add VK_KHR_variable_pointers ext if available Add VK_KHR_variable_pointers exetensions to enabled extension if it is supported. This is needed when SPIR-V 1.4 is supported. Bug: angleproject:360031000 Change-Id: Ia93604ae308c9f304acb3bc39457811401a0ca7b Signed-off-by: Gowtham Tammana <g.tammana@samsung.com> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5789897 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Austin Annestrand <a.annestrand@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>