src


Log

Author Commit Date CI Message
Kimmo Kinnunen 26da3174 2024-03-08T18:44:36 Make 2024-03-05 changes compile with clang 15 pt.2 Constructing with function style cast constructor is not supported when the type does not have a constructor. One cast was missing, still. Bug: angleproject:8585 Change-Id: Ia56000afe5a972bab234a470ba8c72ccd129e33a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5352262 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Kimmo Kinnunen 90ae6cbe 2024-03-07T15:51:41 Avoid assert at main prototype when monomorphizing Use the same condition as for main function definition. Bug: angleproject:8594 Change-Id: I66e4af61015607660437745042976fdc577308ca Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5352247 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Erica Li 0f110098 2024-03-08T12:40:09 Avoid assert with multiple memory qualifiers Add missing qualifier strings. Bug: angleproject:8593 Change-Id: I484571c33effd85d52712b4876f6a3a5c73d8fde Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5352255 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Steven Noonan c55c8ad2 2024-03-05T15:42:28 extension XML cleanup Add a bunch of missing extensions, commands, enums, and aliases to the extension XML files. These were missing when I generated a GL loader from the XML. Additionally, removing the unimplemented ANGLE_timer_query specification. Bug: angleproject:8432 Change-Id: I55b7393a313070719200c150a91b1751206ca2cb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5347156 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Auto-Submit: Steven Noonan <steven@uplinklabs.net> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop 1452c195 2024-03-04T22:03:21 Android: Add Qualcomm Mobile Reference Device support Adreno based, Snapdragon 8 Gen3 Test: end2end, dEQP Bug: b/328156792 Change-Id: I8cd47313fbd39f9f69a0eb4730bd2fbf92818d0f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5341381 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Charlie Lao ecaefce0 2024-03-06T14:54:17 Vulkan: Disable optimizeWithLoadOp if there is unresolve If there is unresolve operation for MSRTT emulation code path, dont fall back to loadOp for midRenderPassClear. Otherwise the clear will be lost due to unresolve. Bug: b/309355117 Change-Id: Ib39be0c980f663c08e80855ead32f6e0b07e60fc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5350741 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: mohan maiya <m.maiya@samsung.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao 46672014 2024-03-07T09:55:38 Vulkan: Add test for midRenderPass clear for MSRTT This adds a test that demonstrate the bug with mid render pass clear of depth buffer with multisample render to texture emulation code path. This bug was seen in lord_of_heros. Bug: b/309355117 Change-Id: I0217baf77f74372b8d24e3321b9a0b727a6690ca Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5353371 Reviewed-by: mohan maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi aba3705b 2024-03-02T21:58:34 Vulkan: Completely remove egl::Display from RendererVk This class is now independent of EGL. The only mentions of EGL is egl::ContextPriority, which is just an enum and is tolerable for now. OpenCL can now instantiate RendererVk without having to create a temp egl::Display. Bug: angleproject:8564 Change-Id: Ia78cfcb3a48c97f397441cf7cda71d74cfaddd8f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5335581 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Peng Huang 7e065b6f 2024-03-07T13:52:47 Fix SRV and RTV confliction Bug: chromium:324422644 Change-Id: Id0f8fd1183938f3077e97fd6904fbfbad7efda85 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5354106 Auto-Submit: Peng Huang <penghuang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Alexey Knyazev 74af31ad 2024-02-28T00:00:00 GL: Add ClearsWithGapsNeedFlush workaround Enabled on older Adreno drivers to avoid clear/draw race conditions in certain cases. Fixed: angleproject:8374 Change-Id: Ifc30f66ece562027ae4dd7672fcb121f91ec4696 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5335662 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Roman Lavrov 4a5b9307 2024-03-07T08:57:12 android_helper: support angle_deqp_egl_tests Appears to just require that this dir exists: gen/vk_gl_cts_data/data/ Bug: b/328586468 Change-Id: Ic941ea9b99bc5c84663914c1e0a6ed9d91a35c58 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5352806 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Mohan Maiya 91ddf851 2024-03-03T10:57:22 Vulkan: support QCOM foveated rendering extensions Add support for foveated rendering in the vulkan backend. This is done by leveraging the VK_KHR_fragment_shading_rate extension. Bug: angleproject:8484 Change-Id: I0d01d07583f710b2302ea07b19c9d113c73bfe41 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5269907 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: mohan maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Kimmo Kinnunen 39f29f65 2024-03-05T21:42:32 Ensure unary math op parse to an node on error Return the error node for ops like radians(). The math op parse can fail in multiple ways. Fixed: angleproject:8583 Change-Id: Ief7e150dffefe711f567d95c62d1023fc7fa1c91 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5344716 Reviewed-by: Kenneth Russell <kbr@chromium.org> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Kenneth Russell <kbr@chromium.org>
Amirali Abdolrashidi c71de868 2024-03-05T13:14:54 Add workaround for ext dynamic state on Win/Intel The feature "useVertexInputBindingStrideDynamicState" seems to be causing test crashes on older Win/Intel drivers. A workaround should be added to disable extended dynamic state on such platforms. * useVertexInputBindingStrideDynamicState is now disabled for Win/Intel drivers before 100.9684. * Added constructor for IntelDriverVersion to use major and minor versions (Windows only). Bug: angleproject:8563 Bug: b/326657712 Bug: b/288916329 Change-Id: I36e27ec1189435a75075a9ac9d235ff224cfcb42 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5341658 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Kimmo Kinnunen 4e9fbb36 2024-03-06T15:06:07 Metal: Remove AccessField(.., ImmutableString) The variant is incorrect, as ImmutableString does not describe the field name completely. Names belong to different namespaces denoted by SymbolType. Bug: angleproject:8558 Change-Id: I8332f574dfa8439d02af119fd858a6f5acdec73d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5349698 Commit-Queue: Kenneth Russell <kbr@chromium.org> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Kimmo Kinnunen e38cf95a 2024-03-06T16:26:54 Metal: Release prov. vertex buffers on event set Fixes a memory leak where provoking vertex buffers would never be released for sequence: 1. draw with flat shading 2. Create EGL fence sync object with Metal event 3. .. 4. Go to 1 Bug: angleproject:8586 Change-Id: I5b302cef82414e4a2886c4a7f570c1bf73a83238 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5349340 Reviewed-by: Kenneth Russell <kbr@chromium.org> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Kenneth Russell <kbr@chromium.org>
Kimmo Kinnunen 51702d79 2024-03-06T14:05:45 Make 2024-03-05 changes compile with clang 15 WebKit compiles with this. Constructing with function style cast constructor is not supported when the type does not have a constructor. Use initializer list construction with explicit name instead. For MacroExpander declare a constructor. Fixed: angleproject:8585 Change-Id: I17747a277ceba62f300fcdc88cd058e04b3c3938 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5349697 Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Mohan Maiya b2773c11 2024-03-01T11:24:44 Vulkan: Bug fix in immutable sampler pipeline layout recreation An immutable sampler is tied to a sampler index and changing sampler uniform location value should force a recreation of the pipeline layout Bug: b/155487768 Bug: angleproject:5033 Bug: angleproject:5773 Tests: Texture2DTestES3.TexStorage2DMultipleYuvSamplersSwitch*Vulkan Change-Id: I82aaed332d7f87f11a2fd4923cfc004403ff0bd2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3657480 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: mohan maiya <m.maiya@samsung.com> Reviewed-by: Charlie Lao <cclao@google.com>
Gowtham Tammana 3c08d696 2024-02-22T11:20:08 CL: Add DEVICE_NOT_FOUND case for context creation In the case where devices are not found, context creation should fail with CL_DEVICE_NOT_AVAILABLE error code. Adding that case. Bug: angleproject:8581 Change-Id: If52b40b85d110a3e490bcc4a0a95e7910941356d Signed-off-by: Gowtham Tammana <g.tammana@samsung.com> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5345829 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi f044aaf8 2024-03-02T00:51:33 Vulkan: Create instance/device without access to Display The feature overrides are now encapsulated in a struct, a reference to which is passed around until features are initialized. Additionally, some window system information needed to decide which extensions to use or workarounds to apply are passed around. This is a step towards decoupling RendererVk from egl::Display for direct use with OpenCL. Bug: angleproject:8564 Change-Id: Id6c5d1c3b38aafcd4397e54cc6cad32bf849eeda Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5335823 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Kimmo Kinnunen 47cd0529 2024-03-04T15:19:30 Fix assert invoking #line during macro invocation Fix an assert with preprocessor content of form: f #line f() (x If the #line macro function invocation forms an invalid line number, the line directive parsing will stop and unwind the macro context stack. However, it did not do the state management related to unwinding the context: it left the f function marked as "disabled". Fix by managing the state in the unwind scenario. Also make MacroContext be allocated from the context stack vector instead of heap. Also fix all the define tests to expect a version directive call. Fixed: angleproject:8578 Change-Id: I31dbeb911b07779eebe28bf58f13cec8876aa982 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5342495 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Kimmo Kinnunen 27423bff 2024-03-05T17:57:24 Metal: Generate names for rewritten inputs When expanding multi-component fields to multiple single-component fields, use AngleInternal namespace for the new names. The names are generated with form "someField_0" where _0 is the component index. If these are not created in AngleInternal, caller is able to create a name clash by introducing single-component field "someField_0". Fixes an assert where the vec4(a_) + vec4(a) would assert on size mismatch because the variable lookup for "a_" would find a rewritten variable for the expanded matrix row of "a". Bug: angleproject:8558 Change-Id: I64b7a755d7d534543fdb0f4c43008dd5c63f4aad Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5323060 Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: Kyle Piddington <kpiddington@apple.com>
Stephen White 2ad7b23b 2024-03-05T10:04:47 Add a missing #include. Bug: angleproject:8580 Change-Id: I9dadaf9afa6d3335b2a621aece19bcd315be319a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5344351 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi 545e3f6e 2024-03-01T23:27:03 Vulkan: Decouple RendererVk from egl::BlobCache The new vk::GlobalOps class abstracts access to egl::BlobCache. This is a step towards decoupling RendererVk from egl::Display for direct use with OpenCL. Bug: angleproject:8564 Change-Id: I7b3910254430df74b889759639da1749735584a7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5332082 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop 95294b24 2024-02-28T16:11:45 Android: Add Galaxy S22 support (Xclipse) Test: angle_tests Bug: b/267953710 Change-Id: I53ac424bce23a93fe980539f0946c04aeae6e91e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5333957 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Kimmo Kinnunen 0ad73958 2024-03-04T11:17:36 Deduplicate and fix ConstStrLen implementations Move multiple implementations to one angle::ConstStrLen. Some of the implementations were partially incorrect, too. Fixed: angleproject:8569 Change-Id: I760c173a5b75932f4ae2fabcc4916329247d3cb5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5332384 Commit-Queue: Kenneth Russell <kbr@chromium.org> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Austin Annestrand 258b751f 2024-03-04T20:38:48 OpenCL/Vulkan: Fix processedOptions whitespace Final processedOptions in ProcessBuildOptions() needs to add whitespace padding between options. Bug: angleproject:8549 Change-Id: If418d17aa661bbb20e8367cc9b2b78ceb952e5a4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5341668 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Mohan Maiya b978974d 2024-03-03T10:48:48 Update frontend support for QCOM foveated extensions Modifications to frontend support - 1. EXTENDED_DIRTY_BIT_FOVEATED_RENDERING is removed 2. New framebuffer attachment API - getFoveationState 3. Attachment type restriction for foveated rendering is removed 4. Addition of new test - RenderbufferAttachmentClearThenDraw Bug: angleproject:8484 Change-Id: I699cbed81346c9a6344c4ff36afa51d6cc1bf052 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5338529 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Kimmo Kinnunen 3fa8d578 2024-03-04T10:06:57 Make appendDecimal use the last char of the buffer ImmutableStringBuilder(1) means 1 char usable payload and \0. This this should fit appendDecimal(1) but did not. Fix the off by one error calling snprintf. Also: * removes const & from uint32_t argument * removes const & from operator<<, to stay consistent * Removes a redundant static_cast * Implements operator<< const char* with potentially better operator<<(const ImmutableString&) (may get compile time strlen) Fixed: angleproject:8567 Change-Id: Ibfff59f6846add0498d06e963266e50ec19baf80 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5332381 Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org>
Shahbaz Youssefi 39040b0b 2024-02-29T15:45:34 Vulkan: Decouple RendererVk from EGL attributes The attributes are now processed in DisplayVk and the results are passed to RendererVk. Bug: angleproject:8564 Change-Id: Iac8add7953d3f88e19942a21dcdfbedf3b672f52 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5331607 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 4e6fe5e0 2024-02-29T15:01:06 Vulkan: Cache ImageLoadContext in context This avoids the need to requery this from the display every time. Bug: angleproject:8564 Change-Id: Ied650e7789741f59b7662c0f97c55132b105778d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5332074 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Kimmo Kinnunen 871a309c 2024-03-04T14:43:10 Fix layout(index=) parse assert on es 100 shaders Remove invalid assert about layout index qualifier being present only if EXT_blend_func_extended is present. The layout qualifier gets parsed to support EXT_shader_framebuffer_fetch in ES 100 shaders to support "layout(incoherent) mediump vec4 gl_FragData[gl_MaxDrawBuffers]" Fixed: angleproject:8570 Change-Id: I0d0d99bcc882a0befd97c2510dec4a8ccf1690bd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5340249 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Allen Ballway ec6d6288 2024-02-23T10:20:01 egl: Add logic to select preferred display ChromeOS Flex devices can have multiple GPUs, and some of these will have persistent issues. Chrome worked around this by preferring well-supported GPU vendors over others. Add this logic and refactor inintialization to minimize code duplication. Bug: b/298460913 Change-Id: Ibac394988b7385fca35b98f0e3834b056484ba82 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5320107 Commit-Queue: Allen Ballway <ballway@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Austin Annestrand fc440afa 2024-02-16T13:57:32 Vulkan: Move DS builder class to Vk utils Currently, UpdateDescriptorSetsBuilder lives in ShareGroupVk.cpp/h. The UpdateDescriptorSetsBuilder isn't really GL-specific. Thus it can be moved over to vk_cache_utils.h (more of a Vk utility class). Bug: angleproject:8546 Change-Id: I1ead04bab4c5840e6c471cdc7c5db4220e32bd50 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5303540 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Austin Annestrand f85b6970 2024-01-18T11:59:24 OpenCL/Vulkan: Implement program get[Build]Info Adding backend routines for: - clGetProgramInfo - clGetProgramBuildInfo Bug: angleproject:8549 Change-Id: I890bb957e687a429eb0ed3b4756427ac98e302f3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5303565 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Austin Annestrand <a.annestrand@samsung.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Austin Annestrand 0ed0de4f 2024-01-18T10:47:50 OpenCL/Vulkan: Add initial program build support Introducing both clspv compiler lib integration, and clBuildProgram support. Internally we also add buildInternal() routine to abstract compile, link, and build phases. Output SPIR-V is also parsed internally via parseReflection() so that we can extract needed reflection information for CL runtime. Bug: angleproject:8549 Change-Id: If0563f4bea7ed0e04a13ea7a46c125c811d9c2a2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5303564 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Mohan Maiya 1c2d2417 2024-03-01T14:50:43 Bugfix in CreateWithEGLConfig1010102Support test Create a context with config that supports RGBA1010102 format Bug: angleproject:8330 Tests: EGLSurfaceTest.CreateWithEGLConfig1010102Support* Change-Id: Ic8dfca01b253e6ae5ea1f0b99b6ac781288805c0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5337608 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Amirali Abdolrashidi 2ee295b4 2024-02-15T11:27:39 Vulkan: Add per-level image update tracker * Add a per-level image write tracker to ImageHelper. * It tracks the updates scheduled for different parts of the image. Within each level, it also tracks different layers, currently up to 64. * kMaxParallelSubresourceUpload renamed to kMaxParallelLayerWrites; moved to vk_helper header. * It is reset when a barrier is issued for the image. * Modified ImageHelper::recordWriteBarrier(). * Added isWriteBarrierNecessary(). * Now it checks the added writes for the image. It will no longer issue a barrier if the image is in the same layout and there is no write to a part of the image to which was previously written. * Added ReadImageSubresources to CommandBufferAccess. * It is used for layouts that allow both reading and writing to the image (including self-copy): * TransferSrcDst (used in CopyImageSubData) * ComputeShaderWrite (used in compute-based mipmap generation) * CommandBufferImageWrite -> CommandBufferImageSubresourceAccess * Updated onImageSelfCopy() args to include read subresource data. * Improves gpu_time for TextureUploadETC2TranscodingBenchmark perf test * Windows/NVIDIA: ~180609 ns -> ~62669 ns (~2.88x) * Linux/NVIDIA: ~157283 ns -> ~93360 ns (~1.68x) * Windows/Intel: ~72297 ns -> ~57153 ns (~1.27x) * Added a test to show that self-copy for a write-after-read works. * ArraySelfCopyImageSubDataWithWriteAfterRead * (ArraySelfCopyImageSubData covers RAW hazards; renamed) Bug: b/308455694 Change-Id: I5cef296d991ce6ec02792edc3ffc5cc4994831e1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5301855 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Austin Annestrand 1ceddbf6 2024-01-11T16:15:08 OpenCL/Vulkan: Add createProgram routines Introduce createProgramWithSource and createProgramWithBinary. Additionally introduce KernelArgument types, SPIR-V Reflection info types, and DeviceProgram types. Bug: angleproject:8549 Change-Id: I611627d747a5ba6718778fd27fd28477b77fbbe1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5303563 Commit-Queue: Austin Annestrand <a.annestrand@samsung.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Mike Schuchardt f7cd1c56 2024-02-28T12:04:22 Tests: Add Toca Life World trace Test: angle_trace_tests --gtest_filter=TraceTest.toca_life_world Bug: b/327354357 Change-Id: I5dc900532dc8b5db516c8c2fbab63462fa7c20ea Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5333438 Reviewed-by: Cody Northrop <cnorthrop@google.com>
Mike Schuchardt 56a291e8 2024-02-01T02:30:02 Rework external image capture Move external image creation into the trace fixture. Record image size at capture time and then recreate it using a GL staging texture and placeholder data during replay if the original client buffer is missing (MEC) or the image was created from another API (AHB). Track when EGLImages are created and destroyed during capture so they can be restored to their original MEC state at reset time. Clean up the backing GLTexture resources when the corresponding EGLImage is destroyed. In cases where EGL calls are made without an associated GL context, look up and active context to use from the passed in EGLDisplay parameter. Bug: b/300966403 Change-Id: I7033fa25d2cb3a59957887439506f6f6a416c8f1 Test: Trace com.square_enix.android_googleplay.FFVII Test: Trace com.MOBGames.PoppyMobileChap1 Test: Trace com.tocaboca.tocalifeworld Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4903441 Reviewed-by: Cody Northrop <cnorthrop@google.com>
Mark Lobodzinski 8142dde7 2024-02-27T15:08:57 Tests: Add Pokemon Masters Ex trace Test: angle_trace_tests --gtest_filter=TraceTest.pokemon_masters_ex Bug: b/326199738 Change-Id: Ie0c4c4072865783b8f43332f9e4463a79acf3c35 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5328735 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Mark Łobodziński <mark@lunarg.com>
Mark Lobodzinski b45b350a 2024-02-29T10:11:42 Add skip for Pokemon Masters Ex validation warning This warning was generated in the Pokemon Masters Ex trace due to application issues and does not cause the test to fail but does create confusing output: Undefined-Value-ShaderFragmentOutputMismatch. Added it to kSkippedMessages. Test: angle_trace_tests --gtest_fitler=*pokemon_masters_ex Bug: b/319228278 Change-Id: I57bd9cca4b9bb5b681fb26884c9ba6ce8e66c667 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5334761 Commit-Queue: Mark Łobodziński <mark@lunarg.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi 4d362242 2024-02-28T22:00:05 Vulkan: Remove call to angle::GetSystemInfo() This function is expensive, especially when it creates a temp VkInstance to query device info. It was only used to check if running on a Pixel device, but the information retrieved was to make a workaround slightly more precise. This change does away with that information and applies the workaround more generally. If the workaround precision is necessary, the necessary information should be retrieved directly without making the expensive angle::GetSystemInfo() call. Bug: b/327509734 Change-Id: Id097b427c59efde16a5811d484823b207c1a8917 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5331602 Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Mohan Maiya cdf6220c 2024-02-25T05:12:21 Reland "Vulkan: Feature addition for QCOM foveated rendering extensions" This is a reland of commit 72cf9915f561ca6ca72fa4b6c84c36bba815bf29 In the reland, cache the sample counts as VkSampleCountFlags type and clamp framebufferColorSampleCounts with kSupportedSampleCounts Also evaluate supportsImagelessFramebuffer feature before evaluating supportsFoveatedRendering Original change's description: > Vulkan: Feature addition for QCOM foveated rendering extensions > > Add a new vulkan feature gating support for QCOM foveated rendering > extensions and cache shading rates and sample counts of Vulkan ICD. > > Bug: angleproject:8484 > Change-Id: Id2925541098a605749f93ad5a54c885f4a4a2c66 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5322317 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Bug: angleproject:8484 Change-Id: Ie831d27ecc0e1429a3fe365d7728f264496e234c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5328188 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Mohan Maiya a971e5b4 2024-02-28T17:13:38 Account for zero vector axes in Mat4::Rotate(...) When the axis passed in to the Rotate function is (0, 0, 0), normalizing that vector will result in NaN values. Prevent this by returning an identity matrix and early out instead. Bug: angleproject:2306 Tests: MatrixBuiltinsTest.RotateAxisZero Change-Id: I65fd0b9944885daf56a4a35201d424e7f0aa9ba6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5333834 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Brian Sheedy a627dd89 2024-02-27T19:00:07 Revert "Vulkan: Feature addition for QCOM foveated rendering extensions" This reverts commit 72cf9915f561ca6ca72fa4b6c84c36bba815bf29. Reason for revert: Causing crashes on Win/NVIDIA crbug.com/327027614 Original change's description: > Vulkan: Feature addition for QCOM foveated rendering extensions > > Add a new vulkan feature gating support for QCOM foveated rendering > extensions and cache shading rates and sample counts of Vulkan ICD. > > Bug: angleproject:8484 > Change-Id: Id2925541098a605749f93ad5a54c885f4a4a2c66 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5322317 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Bug: angleproject:8484 Change-Id: I45764d8119388fa2edb3e08825957fbc811b31a5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5328729 Auto-Submit: Brian Sheedy <bsheedy@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Liza Burakova 6eaaad7c 2024-02-27T21:24:59 Create ImageHelper. This CL adds a helper class ImageHelper, which acts as a wrapper on webgpu textures that will be used by TextureWgpu. Bug: angleproject:8547 Change-Id: Ia796534c9d3ff0dd24797cc483677cfcbedb1f8c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5317864 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Liza Burakova <liza@chromium.org>
Alexey Knyazev 75c8ef1c 2024-02-22T00:00:00 Update cached component type masks on attachment redefinitions Added a new test: WebGL2ValidationStateChangeTest.AttachmentTypeRedefinition Fixed: angleproject:8556 Change-Id: I1535fba5467228076bb79ac2cc5530610d4ec747 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5318735 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Mark Lobodzinski 6f2daf05 2024-02-26T16:31:58 Context: Limit max vtx uniform vectors to 256 during capture To ensure compatibility with Pixel 4/5, GL_MAX_VECTOR_UNIFORM_VECTORS should be set to 256 during capture. Bug: b/326199738 Change-Id: Ic7228322b4ed19949a9669cf0719fffa1a86f577 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5329326 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Mark Łobodziński <mark@lunarg.com>
Shahbaz Youssefi f0af4730 2024-02-26T21:16:02 Vulkan: Catch misuse of AddToPNextChain Bug: angleproject:8484 Change-Id: I02a9071509f68ad050a8abab25f11b9a8da53816 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5321049 Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Mohan Maiya 72cf9915 2024-02-25T05:12:21 Vulkan: Feature addition for QCOM foveated rendering extensions Add a new vulkan feature gating support for QCOM foveated rendering extensions and cache shading rates and sample counts of Vulkan ICD. Bug: angleproject:8484 Change-Id: Id2925541098a605749f93ad5a54c885f4a4a2c66 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5322317 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Gregg Tavares 0afcac60 2024-02-22T11:21:15 Handle count = 0 in DrawElementsIndirect Bug: angleproject:8554 Change-Id: I9618061edf71c3d9a03ea14dfe65b54c58ee98de Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5319131 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Gregg Tavares <gman@chromium.org>
Amirali Abdolrashidi 3c517e45 2024-02-14T14:26:42 Vulkan: Process ClearEmulatedChannels update first * When going through the level updates in flushStagedUpdates(), the ClearEmulatedChannels updates are expected to be before the rest. In addition, there can be only one such update in the level update list. Therefore, now they are processed and applied before the rest of the updates. By doing so, if this is the only update for the image, an unnecessary layout transition can be avoided. * Added flushStagedClearEmulatedChannelsUpdates(). * Added flushStagedUpdatesImpl() for the rest of the update types. * Used clipLevelToUpdateListUpperLimit() to limit the flush loops to the number of levels in subresource update list. * Added unit test to ensure updates after ClearEmulatedChannels are not ignored. * ImageTestES3.IncompleteRGBXAHBImportThenUploadThenEnd * The test contains a ClearEmulatedChannels followed by an image update. If the latter is ignored in this test, there is a failure during teardown due to orphanNonEmptyBufferBlock when destroying the buffer that contains the update. Bug: b/308455694 Change-Id: I53c73acb60a9c5440548886cde913112a664402d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5297317 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Amirali Abdolrashidi 38cc4cf0 2024-02-14T16:36:08 Vulkan: Update flushStagedUpdate to use switchcase * The if-else statements to check update type have been replaced with switch-case statements for more clarity. Bug: b/308455694 Change-Id: I3d5b77e697d342e77596fd177b2527ece4d228ed Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5297547 Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Victor Shutemov 58c20052 2024-02-22T23:58:25 Fix build error when git history not fully available Can happen when using repo tool shallow copy or mirror features Return default commit_id instead of empty when history is not avaiable though git. Bug: angleproject:8553 Change-Id: Iddc1f0c3507a14c15292545f07223dd0e666a3f8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5319504 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Amirali Abdolrashidi acba61cb 2024-02-23T17:13:17 Fix Vulkan driver version for Win/Intel * Updated the Vulkan renderer version for Windows/Intel to follow this format: <DriverMajor>.<DriverMinor> Bug: b/326669051 Change-Id: I41e868820ec351f454589cc33ed66a85669d3790 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5321166 Auto-Submit: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev c758dc03 2024-02-22T00:00:00 GL: Adjust disableRenderSnorm condition The extension support for OpenGL ES contexts has been fixed in Mesa 23.3.0. Bug: angleproject:8315 Change-Id: I86f767fe24a2fa0c5f999969a29f52225ff1c4d8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5321520 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Dan Glastonbury 5a4bfd61 2024-01-12T17:15:39 Metal: Separate struct definition from function return The EmitMetal pass in shader translator does not handle writing the defintion of a structure that is declared in the return type of a function, such as: struct Foo { float val; } foo() { ... } This change adds a new pass, SeparateStructFromFunctionDeclarations, to separate the definition and declaration of struct variables in function prototypes into two statements, such as: struct Foo { float val; } foo(); struct Bar { int val; } bar() { ... } void main() { ... } Foo foo() { ... } into: struct Foo { float val; }; Foo foo(); struct Bar { int val; }; Bar bar() { ... } void main() { ... } Foo foo() { ... } Fixed: angleproject:8302 Change-Id: Id8b6ba256d3c8375dd889facd70e4715261c1ca3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5191644 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Dave Tapuska cd63c5d4 2024-02-21T14:36:57 Fix build failures targetting iOS 17.4 Add ifdefs to not use deprecated APIs. Bug: chromium:40254930 Change-Id: Id2155e5014558d0c62654cec01ee32119123037c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5315376 Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Mark Lobodzinski 8c503c1b 2024-02-21T09:37:06 Add skip for 07753 validation error in trace Running Pokemon Masters Ex game on Android generates the validation error VUID-vkCmdDraw-format-07753. Update the SkippedMessages list to avoid trace failures. Test: angle_trace_tests --gtest_filter=*pokemon_masters_ex Bug: b/319228278 Change-Id: I8ffbb8c6f35ef3fead583be1b8f0b96d85c7ea12 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5313836 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Mark Łobodziński <mark@lunarg.com>
Gowtham Tammana bcf814fd 2024-02-02T10:30:34 Vulkan: Constrain the dependency on ContextVk in BufferHelper Make the BufferHelper interface be not dependent on ContextVk state. This makes the interface to be suitable for implementation of other APIs with Vulkan backend. Any dependency on ContextVk is made explicit and handled in ContextVk. Bug: angleproject:8544 Change-Id: I8b285f54c8758a26dd7edf27b1371f9afcf7e241 Signed-off-by: Gowtham Tammana <g.tammana@samsung.com> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5303573 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Mark Lobodzinski f546983c 2024-01-30T13:39:27 Add test and skip for 07753 validation error Running Pokemon Masters Ex game on Android generates the validation error VUID-vkCmdDrawIndexed-format-07753. This CL adds the TexImageFormatMismatch test to reproduce the error and updates the SkippedMessages list to avoid test failures. Test: angle_end2end_tests --gtest_filter=*TexImageFormatMismatch* Bug: b/319228278 Change-Id: I6ee2cac0bc899e945ef0d4aff33d5e73299c6954 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5309857 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Mark Łobodziński <mark@lunarg.com>
Shahbaz Youssefi 8346addb 2024-02-06T15:40:31 Contain X11 includes and free usage of common terms This change undoes workarounds where some terms were avoided so there is no clash with X11 (such as Success, Bool and None). In particular, this helps us make sure we never include the X11 headers in such an unconstrained manner as to clash with our code. Bug: angleproject:8520 Change-Id: I53d9657c5a33164064d2c80a206b96fd52f607f1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5273491 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Liza Burakova <liza@chromium.org>
Geoff Lang 1ee04579 2024-02-20T14:53:46 Metal: Re-enable asm inejction into loops on MacOS 12+ It was confirmed that this asm injection caused issues on MacOS 11. Bug: chromium:1513738 Change-Id: I37e3af83b83de0cd447e1ff71b1f41ab755f8d4f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5309225 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Geoff Lang b7bacdb7 2024-02-15T11:14:21 GL: Generate mipmaps through draw calls on Pixel7/Pixel8. Some patterns that use a texture as a framebuffer attachment and then generate mipmaps on that texture multiple times cause context loss or driver hangs. Extend the sRGB mipmap generation to also generate mipmaps on non-SRGB textures using draw calls and linear samplers to do the downsampling. Bug: chromium:40279678 Change-Id: I19c6bf9c702ddf2c400ef03ff076fbd4cf15d285 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5297413 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Kimmo Kinnunen 2b1ef00a 2024-02-20T15:45:34 Metal: Fix validation for anonymous struct arrays Fix validation failure for accessing an element of array of anonymous struct. SeparateCompoundStructDeclarations would create new Structures to name unnamed structures. The Structure instance of the array index accessor node was incorrect, it was the old Structure. Use same pattern as in SeparateStructFromUniformDeclarations. Bug: angleproject:8551 Change-Id: I04684e5ad99cc2b9038a0cc21c7eefcc6cf247df Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5310074 Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Austin Annestrand 19e21b1e 2024-01-11T14:38:49 OpenCL/Vulkan: Add initial support for cmdQueue Introduce OpenCL command queue object creation for Vulkan backend in ANGLE. Bug: angleproject:8500 Change-Id: I08a63e91aa0ee75dd2be00c770f521c43a3f83b3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5233367 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Liza Burakova f4d5644c 2024-02-16T18:13:18 Instantiate dawn backend in angle_end2end_tests Bug: angleproject:8485 Change-Id: I07a5c5c221c6b50b839929a824753a662aa163f5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5286835 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Liza Burakova <liza@chromium.org>
Mohan Maiya e04b7c73 2024-02-17T10:42:56 Vulkan: Expand feature to enable sample usage for all AHBs Rename forceSampleUsageForImageWithExternalFormat to forceSampleUsageForAhbBackedImages and expand scope to force enable VK_IMAGE_USAGE_SAMPLED_BIT usage flag for all AHB images irrespective of the AHB usage requested by the app. Bug: b/155487768 Change-Id: I81cc4b705339b6ff00d187faf37f66d1be1a2c8a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5304997 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Gowtham Tammana e08e82b6 2024-01-31T20:48:14 CL: On kernel arg validation use right sizes The OpenCL C type `sampler_t` and `queue_t` map to API types `cl_sampler` and `cl_command_queue`[1]. Confirm the size checks accordingly. [1]: https://registry.khronos.org/OpenCL/specs/3.0-unified/html/OpenCL_C.html#other-built-in-data-types Bug: angleproject:8543 Change-Id: Ia833561e2373ab32dd62271dfc515d7ea779c81a Signed-off-by: Gowtham Tammana <g.tammana@samsung.com> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5299720 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Kimmo Kinnunen 9d453e57 2024-02-16T22:28:18 Fix ASSERT in non-global precise var decls Precise was treated as invariant. Precise can be declared for non-global variables. Bug: angleproject:8550 Change-Id: Ia0d00d67d0d1504b78294ee2256785fe3da3e399 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5300976 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Roman Lavrov 37287687 2024-02-16T10:50:14 Android: support running angle_unittests via android_helper Allows to run: 1) locally via run_angle_android_test.py, ex: % (cd out/AndroidPerformance; ../../src/tests/run_angle_android_test.py --suite=angle_unittests --list-tests --log=debug) 2) on bots via swarming trigger, ex: % tools/luci-go/swarming trigger {usual_args_and_dimensions} -- vpython3 ../../testing/test_env.py ../../src/tests/angle_android_test_runner.py gtest --output-directory=. --suite=angle_unittests --list-tests --log=debug Bug: chromium:325124206 Change-Id: I61c4e10df349a60b1ff79694bdcdac40a40d12e4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5301624 Auto-Submit: Roman Lavrov <romanl@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Hans Wennborg a6616081 2024-02-16T17:22:33 Add missing include The _byteswap* functions are declared in stdlib.h on Windows. Until recently, libc++ would provide that as part of some other header, but that changed in recent versions. Bug: chromium:325103513 Change-Id: Ie4240a3e0eab4421d9ad60f7e4f6f2f8754d47ce Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5300975 Auto-Submit: Hans Wennborg <hans@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Nico Weber <thakis@chromium.org>
Austin Annestrand af56ca61 2024-01-11T13:14:32 OpenCL/Vulkan: Initial support for context Introduce OpenCL context object creation for Vulkan backend in ANGLE. Bug: angleproject:8499 Change-Id: I56794649c87d5cf1490e496525e6534c8f90ce32 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5233366 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
angle-autoroll 298abbc1 2024-02-16T08:50:43 Roll Chromium from 29bec8631d2f to 9d4a35b46e1e (1220 revisions) Amend the roll with http://crrev.com/c/5301614 courtesy agrieve@. https://chromium.googlesource.com/chromium/src.git/+log/29bec8631d2f..9d4a35b46e1e If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,geofflang@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://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 Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/2cece96e17..a11ae4664a * buildtools/linux64: git_revision:a2e2717ea670249a34b0de4b3e54f268d320bdfa..git_revision:8b973aa51d02aa1ab327100007d4070c24b862b0 * buildtools/mac: git_revision:a2e2717ea670249a34b0de4b3e54f268d320bdfa..git_revision:8b973aa51d02aa1ab327100007d4070c24b862b0 * buildtools/win: git_revision:a2e2717ea670249a34b0de4b3e54f268d320bdfa..git_revision:8b973aa51d02aa1ab327100007d4070c24b862b0 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/c37870b5fd..5e8f58ef80 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/d353dfb095..984707e65c * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/f39e9d8c1a..ad0b8e7a0e * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/51589f432d..3d6c15240b * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/a5a09d23fa..b1b1a43f07 * third_party/fuchsia-sdk/sdk: version:18.20240207.3.1..version:18.20240215.1.1 * third_party/r8: tp4vVuXzmyHJxDFlwxDb7RYZLLEufc3EnGTyOTCTNkgC..f7pPpoVTaC3WoBY5dURVrI-N1_4YZpSYipdiDUeWDAEC * third_party/siso: git_revision:3cd0e6e55246b8eca6646e33b124e54e67fc5660..git_revision:4bede4f49669d3a8bdaa8dbd01620c3a07ae0c4e * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/894ad691c6..47756615f5 No update to Clang. Bug: angleproject:6081, chromium:324916799 Change-Id: Ib097e6dca9374111632838beab4f0224ff6196fc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5302166 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Mohan Maiya 3ca8befb 2024-02-14T12:35:08 Vulkan: Handle multi-context apps in pipeline cache graphs Append a monotonically increasing counter to filename so apps and benchmarks with multiple contexts don't clobber each others files. Bug: angleproject:6565 Change-Id: I5c781895e1ec8cc65728aa752e28fb2acb02abe9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5297288 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Mohan Maiya 6607a2b9 2024-01-17T15:58:20 Vulkan: Add support for VK_EXT_vertex_input_dynamic_state Hook into VK_EXT_vertex_input_dynamic_state so pipeline states that differ only in vertex input state can reuse existing pipelines. Bug: angleproject:7162 Tests: StateChangeTestES3.Vertex* Change-Id: Icd3134dee93fc5fc2e9d284fcfa8c674b62faec8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5207462 Commit-Queue: mohan maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Geoff Lang 6d4706bf 2024-02-15T14:03:45 WGPU: Add a angle_dawn_dir build override. This will allow Chromium to point out the dawn directory to ANGLE and disable the WebGPU backend if dawn does not exist. Bug: angleproject:8477 Change-Id: I5191b33dcf64ec1694f7be4ccc855b27d6fd0f76 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5301615 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi aa244358 2024-02-06T14:44:39 Reland "Vulkan: Get rid of X11 include in DisplayVkXcb.cpp" This is a reland of commit 8abbe2836bb49faba8a97e2df59058290e1c385a In the reland, the xcb-util dependency is removed. Original change's description: > Vulkan: Get rid of X11 include in DisplayVkXcb.cpp > > Bug: angleproject:8520 > Change-Id: Iaa251b0ba2858873b8d22e8f9e5dae7a2567c95e > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5273489 > Reviewed-by: Geoff Lang <geofflang@chromium.org> > Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: Geoff Lang <geofflang@chromium.org> Bug: angleproject:8520 Change-Id: I238e0a6c3b94398c10fa1bc39c5a0b4261797311 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5292774 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov 6d589ff6 2024-02-12T15:26:54 Trace perf: support custom thermal throttling for tests Vendor throttling kicks in rather quickly and starts affecting e.g. cpu/gpu freqs, which can be hard to predict and increases variance in our tests. This change implements support for disabling vendor throttling (re-enabled at the end, including ctrl-C) and using a custom temperature threshold for VIRTUAL-SKIN sensors, which are checked after each test runs. This allows to set the threshold to higher values and run the device hotter without touching cpu/gpu freqs while running tests, and then dissipate heat (if necessary) by sleeps between tests. This also allows to reduce fixed-time sleeps between tests as we're monitoring the temperatures. Only some of our trace tests heat up the device sufficiently to actually require throttling, and with active cooling I was able to avoid sleeps almost through the entire run. However, sleeps might also be needed to prevent battery from discharging, so also add a flag to sleep until a given battery level is reached after each test. Example usage, sleeping between tests until all sensors are below 39C but also battery level is at least 30%: --custom-throttling-temp=39 --min-battery-level=30 Bug: b/315042901 Change-Id: I7660fc36b1103e20e4cc97312d396f3667739481 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5288455 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Shahbaz Youssefi ec2603d6 2024-02-14T13:02:35 Fix build in absence of SSE support Bug: angleproject:8536 Change-Id: Ic74c775b9291fb6bb75adcaeeab0a5f01c2cfa3b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5296385 Commit-Queue: Roman Lavrov <romanl@google.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com>
Shahbaz Youssefi b380ed1f 2024-02-14T09:31:26 Vulkan: Add EGL_ANGLE_global_fence_sync Chrome has an implicit assumption that due to context virtualization, signaling a fence in one context results in synchronization with _all_ contexts that have previously made submissions. This is not per EGL spec, but the functionality is easily implementable in the Vulkan backend. In the Vulkan backend, each context is given its own "timeline" of submissions (tracked by serials associated with "indices"). The required functionality is implemented through a new EGL fence sync object whose sole difference is that it synchronizes with all the existing timelines rather than the one of the current context. Bug: b/318721705 Change-Id: I6c45d065e592d0d4ed627ce9695196b1086d5021 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5297396 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 40dfb3a8 2024-02-12T00:00:00 Fix length() translation for clip/cull distance arrays * Fixed a failing assertion when the arrays are resized. * Added a compile error for length() when the arrays are unsized. Fixed: angleproject:8527 Change-Id: I6379336c546b008095f0875e5b5b4e8e0e5ba3e6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5293914 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Kimmo Kinnunen d6ceac91 2024-02-12T20:37:58 Metal: Add support for binding slices to images Add support for binding Metal MTLTextureType2DArray texture slices to EGL images. Bug: angleproject:8531 Change-Id: I938e75c81bf36d3885f3bdcb0d1007e1f87e20c2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5290374 Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Shahbaz Youssefi 195c142d 2024-02-14T15:09:54 GLSL test for side effects in prune-able loop Bug: angleproject:8532 Change-Id: Ie872e957b78454d725575b05721f9b3f213889f6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5297407 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Liza Burakova e8a3493f 2024-02-14T21:51:00 Initialize DisplayWgpu This change adds basic initialize to DisplayWgpu as well as adding APIs for DisplayGLX and DisplayWgpu. These APIs are necessary to ensure DisplayWgpu doesn't pull in necessary X11 headers that break builds. Bug: angleproject:8477 Change-Id: Icc6d9e7246a741def7a0337a296f9c1f9cec1415 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5259979 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Liza Burakova <liza@chromium.org>
Shahbaz Youssefi 2cae27c2 2024-02-14T10:38:18 Vulkan: Enable the doubleDepthBiasConstantFactor feature on NV Experimentally found to make behavior more consistent with other platforms. Discovered through a Dawn issue [1]. [1]: https://bugs.chromium.org/p/dawn/issues/detail?id=2076 Bug: b/249380591 Change-Id: I27777397d717da0d400b9e15508b17b5329e1e8e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5296380 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Kimmo Kinnunen 197beb4d 2024-02-13T15:47:32 Metal: Crash if for loop body is optimized away Loops might have their bodies optimized away. For case like `for(;;) if(false);` the constant pruning happens at parse phase. The else branch (e.e. no else branch, nullptr) would be selected as the body. Some code treated the body as optional, some code treated it as required. Define it as required, and remove all conditional code related to the loop body. Bug: angleproject:8532 Change-Id: Ic35f1bf78e63ceb2cee7b96ba99e788efc282e6f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5291554 Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Shahbaz Youssefi dbc6bd9d 2024-02-12T14:07:49 Reland "Vulkan: Fix alignment issues with SecondaryCommandBuffer" This is a reland of commit e53270c9ca1afe393d6d7d0359e81cf6755b6ca5 Original change's description: > Vulkan: Fix alignment issues with SecondaryCommandBuffer > > This solves undefined behaviour on 64-bit systems. This inflates the > size of a few commands, but most commands either already did align to 8 > bytes or could be aligned to 8 bytes with a few tweaks. > > Bug: angleproject:7852 > Change-Id: Ie61976d5bf8df7790acd95c0e15d4c79402622a1 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5288636 > Reviewed-by: Charlie Lao <cclao@google.com> > Reviewed-by: Yuxin Hu <yuxinhu@google.com> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Bug: angleproject:7852 Change-Id: Ie206e66fc21c5db7c9e67eb478d9cddada5db8e0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5296376 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Austin Annestrand c673c837 2024-01-08T19:05:38 OpenCL/Vulkan: Initial support for platform/device Introduce OpenCL platform and device object creation for Vulkan backend in ANGLE. Bug: angleproject:8498 Change-Id: I5af9a23ed343648115bd9f0e81cd7a53080e2982 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5233365 Commit-Queue: Austin Annestrand <a.annestrand@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Kimmo Kinnunen b8e56d5d 2023-11-20T15:41:44 Fix an assert when overwriting TexImage binding Fix an assert when overwriting a image binding with multiple eglBindTexImage calls on the same texture. Bug: angleproject:8521 Change-Id: Ie7247017fd73c523b889278ec19a09ecf0683692 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5272912 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov 243f8ad9 2024-02-14T11:44:58 Revert "Vulkan: Fix alignment issues with SecondaryCommandBuffer" This reverts commit e53270c9ca1afe393d6d7d0359e81cf6755b6ca5. Reason for revert: breaks x86 Android build: https://chromium-review.googlesource.com/c/chromium/src/+/5293321 https://ci.chromium.org/ui/p/chromium/builders/try/android-x86-rel/144329/overview Original change's description: > Vulkan: Fix alignment issues with SecondaryCommandBuffer > > This solves undefined behaviour on 64-bit systems. This inflates the > size of a few commands, but most commands either already did align to 8 > bytes or could be aligned to 8 bytes with a few tweaks. > > Bug: angleproject:7852 > Change-Id: Ie61976d5bf8df7790acd95c0e15d4c79402622a1 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5288636 > Reviewed-by: Charlie Lao <cclao@google.com> > Reviewed-by: Yuxin Hu <yuxinhu@google.com> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Bug: angleproject:7852 Change-Id: Id9c7a94ccc12816bc9e8c3803bd940550d9f7953 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5295854 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Shahbaz Youssefi e53270c9 2024-02-12T14:07:49 Vulkan: Fix alignment issues with SecondaryCommandBuffer This solves undefined behaviour on 64-bit systems. This inflates the size of a few commands, but most commands either already did align to 8 bytes or could be aligned to 8 bytes with a few tweaks. Bug: angleproject:7852 Change-Id: Ie61976d5bf8df7790acd95c0e15d4c79402622a1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5288636 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi e45b2fd8 2024-02-08T12:34:06 Vulkan: Implement ANGLE_translated_shader_source Support for this extension was dropped when ANGLE generated SPIR-V directly. Generating disassembled SPIR-V is not ideal as it incurs a large binary size. The online SPIR-V tool found at https://www.khronos.org/spir/visualizer/ is capable of disassembling SPIR-V from hex values. ANGLE now implements this extension by outputting the SPIR-V in hex values and relying on this tool. Bug: angleproject:8523 Change-Id: I1a0529785147acee7b49a7a75b24f7d107ef690c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5278566 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Andrew Grieve d9665098 2024-02-12T13:53:32 Do not use hardcoded ".cr.so" extension for android component builds This will enable me to remove the extension for component builds Bug: chromium:324916799 Change-Id: I20bd8f93706d182fe6ebb3022240f81fec9de449 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5287577 Auto-Submit: Andrew Grieve <agrieve@chromium.org> Commit-Queue: Andrew Grieve <agrieve@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Kimmo Kinnunen 9d344b5c 2024-02-13T17:54:12 Uniform block reference in constuctors crash Passing uniform block instance name to a built-in constructor would cause type confusion. Block this by failing to parse. Bug: angleproject:8533 Change-Id: I5a676b41e2f3d766ece4ed472debc1c874753293 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5290897 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Alexey Knyazev cb7d3cc2 2024-02-09T00:00:00 Treat clip/cull distance built-ins as having side effects The sizes of these built-in arrays may be affected by indexing them with constant integral expressions so such operations should not be optimized out. Fixed related failures during MSL and HLSL translation. Fixed: angleproject:8525 Change-Id: I8460aa03b997ebc4142ee2d9f81eeefe13661336 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5285436 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov 239e8caa 2024-02-12T11:29:20 Capture/Replay: Disallow concurrent ninja processes. To confirm whether reclient flaky failures are due to concurrency. Bug: b/323830218 Change-Id: I79ed257675624393135f9072fd207a46b4d2a30e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5285434 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Roman Lavrov <romanl@google.com>
Chris Forbes eaddd3ba 2024-02-09T15:39:43 Vulkan: use linear chroma filter for ycbcr by default This aligns our choice of initial chroma filter with the initial sampler state in a texture object with target GL_TEXTURE_EXTERNAL_OES. It is still possible to confuse the backend in some edge cases (which will be addressed with later patches), but at least we have the default right. Bug: b/315387961 Test: atest CtsNativeHardwareTestCases Test: atest CtsMediaDecoderTestCases Change-Id: I2430a084a95010c7c5084cd858d4255e531e6f13 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5278362 Commit-Queue: Chris Forbes <chrisforbes@google.com> Reviewed-by: Charlie Lao <cclao@google.com>