kc3-lang/angle

Branch :


Log

Author Commit Date CI Message
aa2d400a 2021-04-12 17:21:37 Vulkan: Add test for FBO with unequal sized attachments Before OpenGLES3.0, framebuffer object with unequal sized attachment is considered incomplete. That restriction has been removed in ARB version of spec and is legit use in OpenGLES 3.0. This adds a test for this specific usage. Bug: b/181800403 Test: FramebufferTest_ES3.AttachmentWithUnequalDimensions Change-Id: I79608bfd8f10855c6fc47511e080ba3ca4e46c59 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2824366 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
e8b18e79 2021-04-16 11:57:53 Skip failing test on AMD/Linux This test was suppressed on AMD/Windows already. Bug: angleproject:5687 Bug: angleproject:5874 Change-Id: I9b6bac81adc017f80634271063d53f3d4eebba0b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2831993 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
ed4f7cb6 2021-03-03 17:56:07 Reland "Reland "Add support for Linux GPU info with Vulkan backend"" This is a reland of 9a8397327f9aac278f4bd1f5ab9094eec7e7798b Chrome Linux crash issue could be fixed in 0615bbde39ca42e27eb764b2b4986b21ab602ce9, let's reland this now. Original change's description: > Reland "Add support for Linux GPU info with Vulkan backend" > > This is a reland of 5c09c1f882f15e1a77577f1a62d861355aac90a4 > > Extra change: Add new ANGLE_HAS_VULKAN_SYSTEM_INFO compile > variable for GetSystemInfoVulkan() in linux platform. > > Original change's description: > > Add support for Linux GPU info with Vulkan backend > > > > 1. Add support for Linux GPU info with vulkan backend: for > > dev board without PCI support, try vulkan backend to get > > GPU info. > > 2. Fix getVulkanInstance() issue when loading non-exist lib: > > return NULL instance if open lib failed. > > > > Bug: angleproject:5717 > > Change-Id: I03c11da25a8787496d098f6c9d6b4c53701383e4 > > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2734375 > > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > > Reviewed-by: Jamie Madill <jmadill@chromium.org> > > Commit-Queue: Jamie Madill <jmadill@chromium.org> > > Bug: angleproject:5717 > Change-Id: Iaaab8f512b6ec1d524d7ebb3b4252fec3cfe7dc3 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2739097 > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> Bug: angleproject:5717 Change-Id: Iad6736f9137b7e9640c97fa2b9eded3fd37ac88f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2821410 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
14f8918c 2021-04-16 09:17:29 Migrate more scripts to python3 Test: python3 scripts/run_code_generation.py Bug: angleproject:5707 Change-Id: I5abae69c1c6bf03cc418f10beaabc80288fa1c94 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2828979 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
69a26def 2021-04-15 14:14:56 Remove 3pp files in third_party/jdk. These files should not be duplicated from Chrome, they are used as part of Chrome's rolling process for these deps. Bug: angleproject:5839 Change-Id: If95b11585e5aa7d8f834412d41dca377c495b1fb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2829330 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
2561c646 2021-03-19 14:09:52 Vulkan: Handle non array type varying error case in TS Tessellation control, tessellation evaluation and geometry shader per-vertex input variables and blocks are required to be declared as arrays. Ensure these variables meet the requirements and error out if they don't. Bug: angleproject:5557 Test: KHR-GLES32.core.tessellation_shader.compilation_and_linking_errors.te_non_arrayed_per_vertex_input_blocks Change-Id: I0213fcc6fab90dea7597462a65cbbb7777e67108 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2774759 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
f78ec9db 2021-04-16 07:36:31 Roll Chromium from cac0b331e3fc to 11d568cbfed1 (483 revisions) https://chromium.googlesource.com/chromium/src.git/+log/cac0b331e3fc..11d568cbfed1 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC syoussefi@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/e966858a7e..e00ea2a33f * testing: https://chromium.googlesource.com/chromium/src/testing/+log/4ef8239f68..5d440f33b4 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..c30133fce5 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/b1cc5ed9e8..f959d17028 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/fae4e7d723..5e7cca9ca0 No update to Clang. Bug: None Tbr: syoussefi@google.com Change-Id: I88c789cd45eb5dbdc4d002029d4fddade79aa06c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2830144 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
f2aa9d5d 2021-04-11 14:55:19 Reland: Metal: Support importing external metal textures This relands I4d4a88cfbb77d8b7508b787c7fec44073d3b11b0. Fixes: - uninstantiated ImageTestMetal error - failed ImageTest.ANGLEExtensionAvailability on ARM mac. Bug: angleproject:5763 Bug: angleproject:5814 Change-Id: I906fe52baefd6be3c6e00f594795bd527df01616 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2820178 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
eac31b7d 2021-04-15 19:48:36 Android: Include android-deps into Android checkout. These auto-generated deps are necessary for the standalone build. Updates the roll script to start including these automatically. Bug: angleproject:2344 Change-Id: I389c203a2ddb971e3aeccb728cf37e232f32031e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2826479 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
0c77f3ad 2021-03-10 15:58:00 Vulkan: Implement shader buffers descriptor cache. Implements a descriptor set cache for UBOs, SSBOs, and atomic counter buffers. Storage Images and framebuffer fetch input attachments are not yet included. Requires moving the buffer barrier handling into ContextVk, similarly to how we handle the barriers for Textures. The packed description key for the descriptors uses a "fast" vector with a basic minimum size. For most cases of a few buffers this will fit easily in stack memory, but for larger programs with many buffers we fit this into heap memory. The key has a large upper bound due to the high ES 3.2 requirements and the need to index several values such as the offset and binding size. We use dynamic offsets for uniform buffers when possible. This ensures applications like Manhattan 3.1 that use sets of common buffers with changing offsets hit the cache most of the time. Because of resource limits we pick at compilation time whether to use dynamic or static descriptor sets. Mostly this applies to tests that use a large number of uniform buffers. A future implementation could be smart and would recompile the program with heuristics to use a minimal number of dynamic indices. Reduces the number of descriptor set updates from ~300 -> ~30 per frame in Manhattan 3.1 and in Asphalt 9 from 900+ to as low as 0 per frame. Bug: angleproject:5736 Change-Id: I5c2a3881bec90d301dab15cc86c8a70e60674ad7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2757515 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
8226dc23 2021-04-15 19:25:31 Generate CL enums in libGLESv2 Bug: angleproject:5869 Change-Id: Ie547d415bed37accef6cb62d28bc6b088a1eb810 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2829370 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: John Plate <jplate@google.com>
fbfecbe2 2021-04-07 11:26:13 Capture/Replay: Add PPO/glProgramUniform support Command and Conquer: Rivals requires additional frame capture API support: - Program Pipeline Objects - glProgramUniform* Bug: angleproject:5830 Change-Id: I159086f92d2dfead0a513cd17fadeda7df92f408 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2809891 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
4f68a4ee 2021-04-06 12:46:02 Remove suppression for fixed CTS tests CTS bugs are fixed in [1] and [2]. [1]: https://gerrit.khronos.org/c/vk-gl-cts/+/7062 [2]: https://gerrit.khronos.org/c/vk-gl-cts/+/7049 Bug: angleproject:5673 Change-Id: I2d86f53a6a83bab143f89896d4d5dab3cc7b2334 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2808053 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
fb288312 2021-04-12 12:38:03 Vulkan: Consolidate mReadOnlyDepthStencilMode to mRenderPassUsageFlags Since now ImageHelper object has a mRenderPassUsageFlags tracking how it is been used by current RenderPassCommands, we can consolidate mReadOnlyDepthStencilMode into a bit in the mRenderPassUsageFlags. The read only mode is just a special attachment mode, so this makes code more consistent and able to get rid of the extra dword for mReadOnlyDepthStencilMode. Bug: b/181797383 Change-Id: Ie9b7be1c18c392e5b2712bdae6ab6506de8d6d34 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2821942 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
5eac3169 2021-04-09 15:54:11 Vulkan: Support sample/render to depth texture with different LOD Previously we supported read only depth attachment that attachment and sample are using the same texture. It was always assuming it will be read only if the same texture is attached to FBO and same time bound to texture unit. But we never supported if it actually writing to depth texture, but at the different level with sampling. This is supported OpenGL operation as long as the levels render to is outside [base_level, max_level]. Later on, we added support of the above operation, but limited to color buffers. This CL extends the same support of render and sample to the same depth texture with non-overlapping levels. Android game black desert mobile is running into this usage case. Bug: b/181797383 Change-Id: I7ee1d52f27603f933102ad1b098684309449c406 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2819487 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com>
e55462b9 2021-04-09 18:27:16 Vulkan: Add test for render+sample depth texture with non-overlap LOD Render and sample from the same texture and then bind to another FBO without trigger texture bind should still detect the condition that it is render and sample same texture. Render to depth texture and sample form the same depth texture but with non-overlapping levels should work. Bug: b/181797383 Test: FramebufferTest_ES3.SampleFromAttachedTextureWithDifferentLODAndFBOSwitch Test: FramebufferTest_ES3.RenderSampleImmutableDepthTextureWithExcludedLevel Change-Id: I0d330d6f9530eb4fea417019a627890c4a5c1154 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2819486 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com>
1a146f07 2021-04-06 15:40:27 Roll VK-GL-CTS from c4e6dbe68e04 to ededa67cb12a (76 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/c4e6dbe68e04..ededa67cb12a 2021-04-13 timvp@google.com Always include sys/system_properties.h for Android 2021-04-09 juha.heiskanen@siru.fi Add primitive topologies for XFB query tests 2021-04-09 alexander.galazin@arm.com Merge vk-gl-cts/github-master into vk-gl-cts/master 2021-04-09 s.fricke@samsung.com Add OpImageQuerySamples with Storage Image test 2021-04-09 jdarpinian@chromium.org EXT_multisampled_render_to_texture test using ReadPixels 2021-04-08 alexander.galazin@arm.com Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master 2021-04-08 alexander.galazin@arm.com Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master 2021-04-07 alexander.galazin@arm.com Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/master 2021-04-07 jajones@nvidia.com Add CMake detection logic for libdrm include files 2021-04-02 juha.heiskanen@siru.fi Add early fragment tests 2021-04-02 michal.jakubek@mobica.com Add tests for multisample resolve to level != 0 2021-04-02 boris.zanin@mobica.com Add coverage for 1D, 1D array and Cube array shadow images 2021-04-02 boris.zanin@mobica.com Add subgroup testing for ray tracing pipelines 2021-04-02 caio.oliveira@intel.com Test interaction between Workgroup explicit layout and zero initialization 2021-04-02 Alexander.Galazin@arm.com Merge "Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/master" 2021-04-02 cheryl.wei@arm.com Add waived tests support for cts tools 2021-04-01 rgarcia@igalia.com Remove duplicate dataSafe function from deSTLUtil 2021-04-01 boris.zanin@mobica.com Add keys deqp-log-decompiled-spirv and deqp-log-empty-loginfo 2021-04-01 apinheiro@igalia.com Check for drawIndirectFirstInstance should only affect indirect draw calls 2021-03-31 alexander.galazin@arm.com Support GL 4.5 in the uniform location tests 2021-03-31 alexander.galazin@arm.com Support GL 4.5 in the multisample texture tests 2021-03-31 alexander.galazin@arm.com Support GL 4.5 in the EXT_texture_border_clamp tests 2021-03-30 alexander.galazin@arm.com Update Vulkan headers 2021-03-30 alexander.galazin@arm.com Support GL 4.5 in the geometry shading tests 2021-03-30 alexander.galazin@arm.com Support GL 4.5 in the tessellation tests 2021-03-30 alexander.galazin@arm.com Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master 2021-03-30 alexander.galazin@arm.com Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/master 2021-03-30 alexander.galazin@arm.com Support GL 4.5 in the copy image tests 2021-03-26 michal.jakubek@mobica.com Added tests for most-negative snorm values in images 2021-03-26 alexander.galazin@arm.com Notice of withdrawal of Vulkan CTS 1.2.2.x 2021-03-25 timvp@google.com Include sys/system_properties.h in teglAndroidUtil.cpp 2021-03-25 afdx@google.com Add a batch of GraphicsFuzz tests 2021-03-25 alexander.galazin@arm.com Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master 2021-03-25 rgarcia@igalia.com QPA image viewer updates 2021-03-25 boris.zanin@mobica.com Fulfill OpControlBarrier requirement 2021-03-25 slawomir.cygan@intel.com Add an option to terminate after first failure, update READMEs 2021-03-25 slawomir.cygan@intel.com Terminate with an error if unrecognized arguments are passed to dEQP executable 2021-03-25 venni.ihanakangas@siru.fi Ensure only Unix paths are added to deqp.apk 2021-03-19 alexander.galazin@arm.com Merge vk-gl-cts/github-master into vk-gl-cts/master 2021-03-19 jbolz@nvidia.com Add tests to exercise 'readonly' SSBOs 2021-03-18 alexander.galazin@arm.com Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master 2021-03-18 slawomir.cygan@intel.com Fix required features checks in shaderRecordExplicitScalarOffset_6 test case 2021-03-18 tom.cooper@arm.com Add VK_EXT_headless_surface surface tests 2021-03-18 Junda.Liu@amd.com Fix robust buffer access result checking for partially out of bound cases 2021-03-18 tapani.palli@intel.com Use linear tiling with external_memory_host tests 2021-03-18 ancheng.qiao@arm.com Fix precision issue in NearestEdgeTests shaders 2021-03-17 alexander.galazin@arm.com Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master 2021-03-17 gleese@broadcom.com Enable shadow filtering tests for non-filterable formats 2021-03-17 rgarcia@igalia.com Add BGR and BGRA formats to image view tests 2021-03-17 alexander.galazin@arm.com Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master 2021-03-17 jari.komppa@siru.fi Add tests for standard multisample positions 2021-03-17 rgarcia@igalia.com Push constant overwrite tests 2021-03-17 rgarcia@igalia.com Test large command buffers with many draw commands 2021-03-17 rgarcia@igalia.com Test barycentric coordinates in ray tracing hits 2021-03-17 rgarcia@igalia.com Add missing mandatory features 2021-03-17 venni.ihanakangas@siru.fi Ensure WSI colorspace has no effect on image contents 2021-03-17 tapani.palli@intel.com reset minSampleShading only with OpenGL Core 4.0+ 2021-03-16 alexander.galazin@arm.com Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master 2021-03-16 alexander.galazin@arm.com Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master 2021-03-16 alexander.galazin@arm.com Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master 2021-03-15 rgarcia@igalia.com Enable validation for all custom devices 2021-03-15 rgarcia@igalia.com Remove multiview requirement in extended dyn state tests 2021-03-15 boris.zanin@mobica.com Fix recursion depth requirement in complexcontrolflow 2021-03-15 rgarcia@igalia.com Check image extent support in watertightness tests 2021-03-15 boris.zanin@mobica.com Read deserealization size from stream 2021-03-15 gleese@broadcom.com Fix flush/invalidate in mismatched_write_op tests 2021-03-15 gleese@broadcom.com Fix sync validation for mismatched_write_op tests 2021-03-15 tapani.palli@intel.com Check if image sample count supported by VkSampleCountFlags 2021-03-15 rgarcia@igalia.com Always accumulate errors in desc set random tests 2021-03-15 syoussefi@google.com Fix missing barrier in compute test 2021-03-15 syoussefi@google.com Fix missing barrier in texture buffer test 2021-03-15 ari.suonpaa@siru.fi Replace libUI with native Android AHB API 2021-03-10 gleese@broadcom.com Add a waiver for depth bias on some Broadcom GPUs 2021-03-10 alexander.galazin@arm.com Update Vulkan/GL Readme 2021-03-10 ari.suonpaa@siru.fi Update Amber 2021-03-08 toni.salmivalli@siru.fi Add a batch of Graphicsfuzz tests 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 syoussefi@google.com,angle-bots+autoroll-info@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: angleproject:5816 Change-Id: I324ce9596a62771726dc4504b2341e049818f7de Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2807533 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
c782ef19 2021-04-15 10:08:34 Skip TracePerfTest.Run/*_idle_heroes on Pixel 2 The test crashes both with the native and Vulkan drivers. Bug: angleproject:5867 Change-Id: I6fe3acd7050b0cb2d6f735de684b897aca0a6bb8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2826402 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
a2ade894 2021-04-13 21:12:26 Clear macros 'NEAR' and 'FAR' Bug: angleproject:5861 Change-Id: Id4cccf5e06dd39c37bd4fa23965edd31633b0fef Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2824429 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: John Plate <jplate@google.com>
ea6dd8b3 2021-04-14 13:45:14 Tests: Add Idle Heroes trace. Test: angle_perftests --gtest_filter="*idle_heroes*" Bug: b/180419827 Bug: angleproject:5865 Change-Id: Ia121c9c76b67c130534a06e5dc09ac8bd7d2efe9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2826125 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
6f3bd395 2021-04-13 23:53:53 Capture/Replay: Enable InstancingTest.LineLoop/* tests Bug: angleproject:5853 Change-Id: Ia1a7a1cec781dca22ab49a9189dd3560ac148216 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2824435 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
5186af3b 2021-04-15 07:00:17 Roll Chromium from 21426fd08f99 to cac0b331e3fc (436 revisions) https://chromium.googlesource.com/chromium/src.git/+log/21426fd08f99..cac0b331e3fc If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC syoussefi@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/b30d9d1676..e966858a7e * testing: https://chromium.googlesource.com/chromium/src/testing/+log/5185dac7e9..4ef8239f68 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/5447d00cc9..10b50b69d8 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..0fb9b3ace8 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/f9d141ab4d..b1cc5ed9e8 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/59d5575e12..eefe475693 * tools/luci-go: git_revision:de0691397dd4daa4ae63d308fe911bb6ee8630d6..git_revision:4b61ac9cadfb8d19a09262c6e6f5342d9324acd0 * tools/luci-go: git_revision:de0691397dd4daa4ae63d308fe911bb6ee8630d6..git_revision:4b61ac9cadfb8d19a09262c6e6f5342d9324acd0 * tools/luci-go: git_revision:de0691397dd4daa4ae63d308fe911bb6ee8630d6..git_revision:4b61ac9cadfb8d19a09262c6e6f5342d9324acd0 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/fc7a3623d6..fae4e7d723 No update to Clang. Bug: None Tbr: syoussefi@google.com Change-Id: I8ef062cf57e98b30672d8ad397b56b303595e6ee Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2827775 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
6362dcf1 2021-04-14 22:47:31 JsonSerializer: Add tests for sorting and non-unique keys Bug: angleproject:5853 Change-Id: I85e64900a58a2706087b71769470bb33fb4e8522 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2824434 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
212849e9 2021-04-13 22:54:10 Capture: store some array values as vector This reduces the number of values that are added with the same key. Bug: angleproject:5853 Change-Id: Ie13408cc7ad419dec06746dc38b753f76292fae6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2824433 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
3116c91c 2021-04-13 18:02:49 JsonSerializer: Sort group members before writing them out Use a multimap to accumulate the values added to a group and then add them to the Json group when it is finished. Bug: angleproject:5853 Change-Id: Idbe82acc5f9a9671063f02bd1af039575aa52e87 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2824432 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
45344f05 2021-04-14 14:51:41 Allow Chromecast tests to run on SwANGLE This cl makes 2 changes allowing Chromecast tests to use SwANGLE: 1) It sets angle_use_vulkan_display to true when using Chromecast, effectively allowing SwANGLE to be used 2) It sets angle_vulkan_display_mode to "headless", allowing it to use DisplayVkHeadless instead of DisplayVkSimple, which ends up using "VK_EXT_headless_surface" instead of "VK_KHR_display", so that it's supported by SwiftShader Vulkan on Chromecast. Bug: chromium:1060139 Change-Id: Ia521ebddac14f5e34666bb9b64603bec598c41ce Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2826196 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Alexis Hétu <sugoi@chromium.org>
90d18b03 2021-03-10 10:31:39 Upgrade overlay fonts generator to Python 3 Bug: angleproject:5707 Change-Id: I809669d7a7de16ed2e098f59067c8e1d9c44a75c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2773292 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
12342643 2021-04-14 08:49:24 infra: Remove osx_sdk cache. This is no longer necessary now that we use mac_toolchain.py. Bug: angleproject:5114 Change-Id: I0afac641d55e9be2bd04103301aec3080d3332c8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2823859 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
9e1ccb24 2021-04-14 15:02:16 Workaround for missing include in OpenCL headers Bug: angleproject:5759 Change-Id: Ieeb5a251e614a4df1b5362dee474b368f362e0fc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2826121 Commit-Queue: John Plate <jplate@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
9254eb8e 2021-04-13 18:00:49 Capture: Fix storing strings instead of scalars Bug: angleproject:5853 Change-Id: Id63922d881ce7778236e4ab3417bf9414fc0e59b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2824431 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
c9b33729 2021-04-14 14:52:27 Revert "Roll vulkan-deps from c18d8cd5016c to a441440ae454 (23 revisions)" This reverts commit 8105d9ea0b16a11d84bbcf660c94d298b050e123. Reason for revert: Fails compilation Original change's description: > Roll vulkan-deps from c18d8cd5016c to a441440ae454 (23 revisions) > > https://chromium.googlesource.com/vulkan-deps.git/+log/c18d8cd5016c..a441440ae454 > > Changed dependencies: > * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/1481399549..e6a0e7fc76 > * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/212895d4c2..a02a9205ff > * vulkan-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/e1d8c4931d..f5ac258209 > * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/f563b367c7..13c4877ea2 > > If this roll has caused a breakage, revert this CL and stop the roller > using the controls here: > https://autoroll.skia.org/r/vulkan-deps-angle-autoroll > Please CC syoussefi@google.com on the revert to ensure that a human > is aware of the problem. > > To report a problem with the AutoRoller itself, please file a bug: > https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug > > Documentation for the AutoRoller is here: > https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md > > Bug: None > Tbr: syoussefi@google.com > Change-Id: Id3c917a802469caf50238bc268a328b2455ffa24 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2826008 > Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> > Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bug: angleproject:5864 Change-Id: I093218ed8324562830f83a26378d164a86d00ae0 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2826472 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
8105d9ea 2021-04-14 10:01:46 Roll vulkan-deps from c18d8cd5016c to a441440ae454 (23 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/c18d8cd5016c..a441440ae454 Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/1481399549..e6a0e7fc76 * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/212895d4c2..a02a9205ff * vulkan-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/e1d8c4931d..f5ac258209 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/f563b367c7..13c4877ea2 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC syoussefi@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: syoussefi@google.com Change-Id: Id3c917a802469caf50238bc268a328b2455ffa24 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2826008 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
9cbb7106 2021-04-14 10:01:01 Roll SwiftShader from 77edad299907 to f32791f5d53b (3 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/77edad299907..f32791f5d53b 2021-04-14 swiftshader.regress@gmail.com Regres: Update test lists @ b71a5569 2021-04-13 srisser@google.com Implement depthBoundsTest 2021-04-13 capn@google.com Eliminate the OpenGL ES 1.1 implementation If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC syoussefi@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: syoussefi@google.com Change-Id: Ifdd5c4c0f35d46d16090f27638002338b7f8f1a7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2825849 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
4393c0f8 2021-04-14 07:00:31 Roll Chromium from cb430282a083 to 21426fd08f99 (209 revisions) https://chromium.googlesource.com/chromium/src.git/+log/cb430282a083..21426fd08f99 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC syoussefi@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/dde8d8929d..b30d9d1676 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/edbd63483e..5185dac7e9 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..b226a4b7af * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/d73d069a76..f9d141ab4d * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/633b99a892..59d5575e12 * tools/luci-go: git_revision:99ac75773c6241b6ddf82ade4c54553faa084530..git_revision:de0691397dd4daa4ae63d308fe911bb6ee8630d6 * tools/luci-go: git_revision:99ac75773c6241b6ddf82ade4c54553faa084530..git_revision:de0691397dd4daa4ae63d308fe911bb6ee8630d6 * tools/luci-go: git_revision:99ac75773c6241b6ddf82ade4c54553faa084530..git_revision:de0691397dd4daa4ae63d308fe911bb6ee8630d6 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/bfc3b95479..fc7a3623d6 * tools/skia_goldctl/linux: mAuXqU7IqMTl2o166z_OMy_IZxh0ajpEUPuXYy4_BfcC..R23Oztsyro8ca7QGaNGKjN7duf5fsN6I6Dq2Nwyh2YQC * tools/skia_goldctl/mac: TH-LRMBSdzpB3b-wmecnLTut5qaef26EM-ZbtQM2CIUC..Ipkmq4bl5d7VmPVlEonzZMPLnHxMr-LaDFi8Dz_r8-8C * tools/skia_goldctl/win: Lzfohgeqx2FAmTxtM5eYQshIXb5YBoNk73cmoh_dP3sC..QCamcihHhiASX-AasohPdhiBOtj0ikJ3fUByIMEfrEIC No update to Clang. Bug: None Tbr: syoussefi@google.com Change-Id: I25b1ee88a463e431fbdbf5d0856d9f87d7257d0c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2824767 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
fdfb2b82 2021-04-09 15:42:12 Capture/Replay: Support non-binary GLboolean This CL contains two changes. One to how we print out GLboolean values, and another to how we capture GLbooleans. According to the spec, anything non-zero can be considered GL_TRUE when setting state: When the type of internal state is boolean, zero integer or floating-point values are converted to FALSE and non-zero values are converted to TRUE. Dota Underlords is using 0xFF for GL_TRUE. Before the change, this manifested as: // logcat glColorMask(context = 4, red = kUnknownGLenumString, green = kUnknownGLenumString, blue = kUnknownGLenumString, alpha = GL_FALSE) // trace glColorMask(GL_INVALID_ENUM, GL_INVALID_ENUM, GL_INVALID_ENUM, GL_FALSE); After: // logcat glColorMask(context = 4, red = 0x00FF, green = 0x00FF, blue = 0x00FF, alpha = GL_FALSE) // trace glColorMask(0xFF, 0xFF, 0xFF, GL_FALSE); Test: MEC for Dota Underlords Bug: b/185192780 Bug: angleproject:5857 Change-Id: Ie53aeba8d8a40f91ee375467b325d8e6be053a98 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2821947 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
7a95a620 2021-04-09 16:00:26 Capture/Replay: Support glGetQueryiv Test: MEC for Dota Underlords Bug: b/185192780 Bug: angleproject:5857 Change-Id: I59ced20117bde50b5b734a82cb2e5966d1b27227 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2821946 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
4f723d2c 2021-04-09 15:42:36 Capture/Replay: Support glBufferStorageEXT Add the entrypoint, and when a buffer is immutable, recreate it with glBufferStorageEXT. Test: MEC for Dota Underlords Bug: b/185192780 Bug: angleproject:5857 Change-Id: I29b934bdff4185d19594e49e9387dd79c6031aa5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2821945 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
68f1203d 2021-04-13 21:55:07 Disable location tags in test isolates. The current setup has problems producing tags in an ANGLE checkout. Bug: angleproject:5114 Change-Id: I91864650ddb2a9df0ac533bf4c43259c476a99ef Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2822238 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
9c51f93d 2021-04-12 16:49:53 Don't call {begin|end}DebugUtilsLabelEXT() when not enabled The ContextVk::handleDirtyEventLogImpl() and ContextVk::endEventLog() methods called the {begin|end}DebugUtilsLabelEXT() methods when the VK_EXT_debug_utils extension is not enabled. This manifests when enabling/using VVL stand-alone (i.e. when the the debug-utils extension is not also present). Bug: b/183133198 Change-Id: I043b174d457a8796831184c092661f24b33c1db4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2821943 Commit-Queue: Ian Elliott <ianelliott@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
bf6e074f 2021-04-13 13:23:26 Add gclient variable to checkout traces. 'checkout_angle_restricted_traces' controls if we should check out the trace tests. We can give restricted access to partners for these traces. Defaults to the same setting as 'checkout_angle_internal'. Bug: angleproject:5860 Change-Id: I36efffb180b35e11e104e2c99bc89fb4be4e0708 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2822232 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
ae99b3d5 2021-04-13 20:52:38 Roll Chromium from ab36e1e42f00 to cb430282a083 (277 revisions) https://chromium.googlesource.com/chromium/src.git/+log/ab36e1e42f00..cb430282a083 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC syoussefi@google.com,jmadill@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/79006bea8b..dde8d8929d * testing: https://chromium.googlesource.com/chromium/src/testing/+log/e5f83f632d..edbd63483e * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..2b4b340c6e * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/057831ef1f..d73d069a76 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/7168936235..633b99a892 No update to Clang. Bug: None Tbr: syoussefi@google.com,jmadill@google.com Change-Id: I8be169064f0704707d5ae8226f7ffbfce6e9dfd1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2824358 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
6faf9ef3 2021-04-13 16:11:50 infra: Remove unused debug/cpu properties from tests. These are now configured through mb_config.pyl. We still pass in the properties to the lucicfg helper function set up the waterfall UI. Bug: angleproject:5114 Change-Id: Ib46ab95f5803a166fd2342679afbfcaa6f467c45 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2822233 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
fb3173b9 2021-04-13 15:05:44 FrameCapture: write the float values with high precision Because values might be the result of calculations that require some accuracy, writing the float values with the default formatting may not be sufficient to replay correctly, therefore format the values so that they carry more digits. In addition, enable the test that are now passing. Bug: angleproject:5846 Bug: angleproject:5847 Change-Id: I305552a1ffa3cded6326df59883912e14c95f5f5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2822257 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
2d873e0c 2021-03-01 14:38:39 GL: Workaround to sanitize amdgpu renderer strings. On Linux with the amdgpu driver, the GL_RENDERER string contains precise kernel and DRM version info. We should sanitize this info before using these strings for user privacy. Bug: chromium:1181193 Change-Id: I047d1abf5b51412b4258a021761cc450385ef0fe Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2727658 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
ad01350e 2021-04-13 16:11:13 Remove obsolete Linux, Ozone and Fuchsia bots from CQ Also removes the new linux-ozone-angle-try bot, since we are no longer interested to test on this configuration. Bug: angleproject:4483, chromium:1187259 Change-Id: Iaf50ba99905498cee5dbcac27e1cd7c936c8a975 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2822234 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
8994fc7b 2021-04-12 19:46:11 Migrate CL entry points to libGLESv2 Bug: angleproject:5759 Change-Id: I79644e7bda3ad0a15eb041b2805b8765c0d22029 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2822258 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: John Plate <jplate@google.com>
c8ee13c7 2021-04-02 12:19:33 Vulkan: Fix a validation bug in glBeginTransformFeedback Add logic to check the program or the pipeline before erroring out when validating glBeginTransformFeedeback. Bug: angleproject:5557 Test: ProgramPipelineXFBTest31.VaryingIOBlockSeparableProgramWithXFB* Change-Id: I0df8a8d87b3632745bc91dc2673f2fac31c6cdb1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2743440 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
fe4053ba 2021-04-13 13:08:40 infra: Add angle_mb_config.pyl. This will be used to set up gn args for standalone builds. We can then set the GN args source-side instead of in the recipe directly. Bug: angleproject:5114 Change-Id: I6fac6d13903951031a7299aea203f6b3e13c72bc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2819461 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
29dc2b6e 2021-04-13 09:32:30 infra: Move and check gn_isolate_map. In preparation for more source-side configuration. Also adds a presubmit check and some empty files to enable the presubmit to function. Bug: angleproject:5114 Change-Id: Id9a0cbe1e78949720be39c65efab73c1345d4f39 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2819942 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
cc56e1aa 2021-04-09 23:35:07 Vulkan: Remove special output of structs and keep them in AST The code that separated out declaration of nameless structs from uniform variable declarations is generalized to separate out declaration of all structs from uniform variable declarations. As a result, a pass that outputs the struct types at the top of the shader is no longer necessary. The struct declarations are kept in the AST to be output to GLSL as they normally would when not used in conjunction with uniform variables. After this change, the Vulkan and Metal translators no longer intermix transformations and code generation; transformations are done first entirely in AST, and code generation is done at the end. Bug: angleproject:2461 Bug: angleproject:4889 Change-Id: Ieb4d3f7091845e50c3dc399603ab01182692521d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2818153 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
18c6d628 2021-03-09 13:46:13 GL: Support VAOs without native VAOs. Share the default VAO state between all frontend VAO when there is no native VAO support. Forcefully sync state every time a new frontend VAO is bound. Bug: angleproject:5577, chromium:1167179 Change-Id: Ieaedb5108ad28fc78e7e58b74495639c5246bb05 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2665266 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Peng Huang <penghuang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
fe790824 2021-04-09 11:24:07 Add the jdk dep when building standalone for Android. Chrome started requiring this dep to 'gn gen' on Android so ANGLE needs it too. Bug: angleproject:5839 Change-Id: Ia8df8520975ed426667f2c59f0fd7761652b92ab Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2818141 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
065c2329 2021-04-08 11:59:43 Reland "Vulkan: Add features to modify sampling parameters" This reverts commit a51b57fa2dc73f8bc8acdf0b818cc0315fb23d75. Original change's description: > Revert "Vulkan: Add features to modify sampling parameters" > > Bug: b/167404532 > Change-Id: Iae19dfe165074e8c01216312bddd744c4fb504a4 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2510012 > Commit-Queue: Geoff Lang <geofflang@chromium.org> > Reviewed-by: Tim Van Patten <timvp@google.com> > Reviewed-by: Jamie Madill <jmadill@chromium.org> Bug: b/167404532 Change-Id: I2c756b8eb0f61701ef6e33275e557bc199a4d3b4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2815259 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>
c2d1a464 2021-04-09 16:53:30 Translator: Track nameless interface block field indices in type Fields of nameless interface blocks are stored as TVariables and referenced through a TIntermSymbols (unlike named blocks which use EOpIndexDirectInterfaceBlock with a constant field indices). With this change, the field index is stored in the variable's type which let's the TField of the TInterfaceBlock be directly accessible (and not need a search by name). This will be helpful in translation to SPIR-V as interface block members are accessed by field index. Bug: angleproject:4889 Change-Id: If3ab45b1e5f5f9576721dc52e2bdf1161882514f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2818242 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
6ec55494 2021-04-08 22:02:50 Vulkan: Use AST transformation for gathering default uniforms ... instead of generating text. This will keep the tree in a consistent state, as previously the references to uniform values where to TVariable's whose declarations were removed. Bug: angleproject:2461 Bug: angleproject:4889 Change-Id: I2ef3787dede371514a5f495f4cc8fc67ea45f451 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2815564 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
faa86bc9 2021-04-13 14:19:59 Capture/Replay: Serialize only a hash of the shader binary It doesn't make much sense to keep the actual values and it makes the diff needlessly large when the binaries differ. Bug: angleproject:5856 Change-Id: I55664d6cb60ef680669c1243c2eabcb67cd4db23 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2822256 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
6d2f9cb4 2021-04-13 13:56:13 JsonSerializer: add method to store only a hash for vectors This can be used to make the Json comaprison less noisy. Bug: angleproject:5856 Change-Id: I57df41eed3926647aaf8bcf97a7aea050e1c3d51 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2822255 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
58eabfd7 2021-04-08 23:57:04 Translator: Validate consistent variable references Some transformations change variable declarations. This validation ensures that all references to said variables are appropriately replaced as well. Bug: angleproject:2733 Change-Id: I6c2873968eeed4cba66e70069f84eb69a1f77074 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2818140 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
79402fbd 2021-04-13 14:15:19 JsonSerializer: Fix rapidjson define usage The correct define is ANGLE_HAS_RAPIDJSON Bug: angleproject:5858 Change-Id: I21e3f3e632d5ceb4fce43f1d6be34e4fbbdafbc6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2822254 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
41c66442 2021-04-12 16:46:47 Capture/Replay: Print context diff on failure when verbose When run with the --verbose flag, and a test fails because the context comparison fails, then print the unified diff between the JSON serialization of context that was captured and the context when it was replayed. Bug: angleproject:5715 Change-Id: I86210d96e5bbdf63f1ed663ddf8dfcb33764cbea Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2821535 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
5faed621 2021-04-12 17:48:56 Skip IOBlocksSeparate xfb test on Linux/ARM/Vulkan Bug: angleproject:5493 Change-Id: I894e08a86157032d1e68a3d2b460bfdbbaeb6680 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2821415 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
1d7046ca 2021-04-12 16:17:22 Generate CL stubs in libGLESv2 Bug: angleproject:5758 Change-Id: I6440dacf0db57a56923d2cab5a7c791981ba3b9d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2822248 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
f7891766 2021-04-12 14:24:37 Capture/Replay: write context serializations on failure With this data available as JSON text files further analysis can be executed to drill down to what the actual difference is. Bug: angleproject:5715 Change-Id: I7012668ff9617f6232a6bbe1798a02d8c795321d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2821534 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
71786e94 2021-04-13 07:01:34 Roll Chromium from 497fa2f8d899 to ab36e1e42f00 (427 revisions) https://chromium.googlesource.com/chromium/src.git/+log/497fa2f8d899..ab36e1e42f00 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC syoussefi@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/563f147c85..79006bea8b * testing: https://chromium.googlesource.com/chromium/src/testing/+log/85de9f3f89..e5f83f632d * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..db7e7f8a5d * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/1cabb17575..057831ef1f * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/006bc90fc4..7168936235 * tools/luci-go: git_revision:f784260b204b2d93c7bd6d1a619f09c6822e5926..git_revision:99ac75773c6241b6ddf82ade4c54553faa084530 * tools/luci-go: git_revision:f784260b204b2d93c7bd6d1a619f09c6822e5926..git_revision:99ac75773c6241b6ddf82ade4c54553faa084530 * tools/luci-go: git_revision:f784260b204b2d93c7bd6d1a619f09c6822e5926..git_revision:99ac75773c6241b6ddf82ade4c54553faa084530 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/a2223becbd..bfc3b95479 * tools/skia_goldctl/linux: hppkAohY9Cc45kW6zZWYXtdLKzo9CQ9XvcqLNIBaqQQC..mAuXqU7IqMTl2o166z_OMy_IZxh0ajpEUPuXYy4_BfcC * tools/skia_goldctl/mac: JnqYnN3TwP__L0jvUBgcLpPQsBgz9ZcBk8-bsbiez6QC..TH-LRMBSdzpB3b-wmecnLTut5qaef26EM-ZbtQM2CIUC * tools/skia_goldctl/win: 0el4SjlMxSJWhUyzmXXYXqGT59IZHXzEaDTufNH8bOwC..Lzfohgeqx2FAmTxtM5eYQshIXb5YBoNk73cmoh_dP3sC No update to Clang. Bug: None Tbr: syoussefi@google.com Change-Id: Ia8f524d620a3b474cf74487a693455abdfd4491b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2823568 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
15f4925a 2021-04-12 15:38:10 Restore EGL_EXT_buffer_age for SwiftShader Vulkan EGL_EXT_buffer_age was previously disabled for SwiftShader Vulkan because of an Android test timing out on Cuttlefish when the buffer age is queried. aosp/1672445 addresses the root cause of the timeout, so EGL_EXT_buffer_age can be supported again. Bug: b/182521420 Bug: angleproject:3529 Change-Id: I5949f721316855d9138eb9f657a6df4e7b49ed71 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2821750 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Nicolas Capens <nicolascapens@google.com>
3813c361 2021-04-12 11:45:46 Vulkan: More perf warning for vertex format conversion The perf warning was previously only issued when a GPU buffer had to be converted. This change adds a warning when client data needs to change format too. Bug: b/184355822 Change-Id: I3539e22f277593d60e5e1ce172baf7b8db0477fa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2821751 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com>
fdba40fe 2021-03-31 12:52:00 Reland "Fix multithreaded crash on draw commands on D3D11 backend." This is a reland of 8b9889bf62272fea2495331b622bde1f7c781bd0 The previous CL relied on a define which now only exists in a specific gn configuration. This reland removes D3D11 as a multithread-supported platform in the test configuration. Original change's description: > Fix multithreaded crash on draw commands on D3D11 backend. > > A crash can occur if thread A is executing eglDestroyContext while > thread B issues a draw call, if the threads are interleaved in such a > manner that a makeCurrent occurs without triggering a change to the > global context and a dirtyAllState call. We handle that case by > explicitly making current the proper contexts in the eglDestroyContext > call. > > A test has been added that triggers a crash without this fix when > running on the D3D11 backend. In addition, all of MultithreadingTest > is enabled for the D3D11 backend. > > Test: Ran MultithreadingTest. Test exhibits a crash before this > change, and does not after this change. Also ran: > dEQP-EGL.functional.sharing.gles2.multithread.* > dEQP-EGL.functional.multithread.* > > Bug: b/183756357 > Change-Id: Ic6f76a062868b2f3b4e60d29dc087ec180bfb7cd > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2798591 > Reviewed-by: Geoff Lang <geofflang@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Commit-Queue: Doug Horn <doughorn@google.com> Bug: b/183756357 Change-Id: I5be9a011ea99a69730eddc9e4da23bcf92ed3bf2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2815243 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Doug Horn <doughorn@google.com>
923f6a6f 2021-04-06 15:30:26 Ignore internal format attribute for YUV D3D11 EGLImages Internal format doesn't play any role in this case, and causes confusion due to mixing sized and unsized formats resulting in more complicated code in Chromium. Bug: angleproject:5538, chromium:1116101 Change-Id: Ie200026f014850053108aa0416e1da15bcda7b84 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2808855 Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
1f8e35b5 2021-04-09 12:29:22 Remove EvqBaseVertex and EvqBaseInstance qualifiers They are only used to mark angle_BaseVertex and angle_BaseInstance uniforms, but they make it complicated for the rest of the code to identify them as uniforms. Bug: angleproject:4889 Change-Id: I0c632bb595dc9a7fcda19db11ecb27539b1c33e6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2818144 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
0615bbde 2021-04-12 15:29:26 Ignore subclass when finding GPU PCI devices When enumerating PCI devices to find GPUs, only filter on the base class. This allows devices with class PCI_CLASS_DISPLAY_OTHER to be found. Bug: b/178748337 Change-Id: Ia0cd29dddc49a16428da16c1ef1b94040c1221f7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2817973 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
77600bcb 2021-04-11 16:52:15 infra: Remove named vs_toolchain cache. This is no longer needed now that ANGLE uses the pinned depot_tools. We should land this after the recipe updates to no longer use the cache. Patch series: 1. http://crrev.com/c/2819943 2. http://crrev.com/c/2819472 3. This CL Bug: angleproject:5842 Change-Id: I5d166c7cd66a9d7f077c09b4149de08b22724af8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2819945 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
33505f03 2021-04-11 16:52:15 DEPS: Include a pinned version of depot_tools. This will align the ANGLE standalone build more with Chromium. It can catch some kinds of build break on the CQ, preventing some churn, and also will let us cache the vs_toolchain without needing a special named cache. Also includes a necessary tool to cross-compile Win on Linux. Patch series: 1. This CL 2. http://crrev.com/c/2819472 3. http://crrev.com/c/2819945 Bug: angleproject:5842 Change-Id: Idaee3b44d970d1171076a8eaa09e3e0555331d49 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2819943 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
81401be2 2021-04-12 10:01:01 Roll SwiftShader from 4c0f888d7ef8 to 77edad299907 (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/4c0f888d7ef8..77edad299907 2021-04-09 capn@google.com Remove the OpenGL ES 1.1 build target If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC geofflang@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Bug: None Tbr: geofflang@google.com Change-Id: Ifcf34ec0ac6f78b6d7c0655b8ec642baadd50254 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2821188 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
7093777b 2021-04-12 07:31:32 Roll Chromium from 920c6c5ffe65 to 497fa2f8d899 (507 revisions) https://chromium.googlesource.com/chromium/src.git/+log/920c6c5ffe65..497fa2f8d899 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 geofflang@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/0006b44d1f..563f147c85 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/75df5ad7e8..85de9f3f89 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..ab687ea7be * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/6e92ef6460..006bc90fc4 * tools/luci-go: git_revision:6b7ff5a4d7e3247a449a8dfa5511541dffebba8b..git_revision:f784260b204b2d93c7bd6d1a619f09c6822e5926 * tools/luci-go: git_revision:6b7ff5a4d7e3247a449a8dfa5511541dffebba8b..git_revision:f784260b204b2d93c7bd6d1a619f09c6822e5926 * tools/luci-go: git_revision:6b7ff5a4d7e3247a449a8dfa5511541dffebba8b..git_revision:f784260b204b2d93c7bd6d1a619f09c6822e5926 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/e509f34db2..a2223becbd No update to Clang. Bug: None Tbr: geofflang@google.com Change-Id: I2bacfdbbb2205c3da9f37c546e82917fe2adc59d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2820525 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
f92eb43c 2021-03-25 18:33:19 Vulkan: All builtins of gl_out needs to be considered as active All builtins of gl_out, like gl_out[].gl_Position need to be considered active as well. Bug: angleproject:5557 Test: dEQP-GLES31.functional.tessellation.shader_input_output.gl_position_tcs_to_tes Change-Id: I74aeef86be573dc8df17472b88acd521032d7921 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2786630 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
0273ea3f 2021-04-06 16:23:39 Vulkan: Use RGBA16_FLOAT for buffer format fallback ... instead of RGBA32_FLOAT. VK_FORMAT_R16G16B16A16_SFLOAT has mandatory support for vertex buffers. Bug: b/184163871 Change-Id: I7ef2933cd15e46bb984e6fd1b020d2ec15b9c60e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2807780 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
b17a9317 2021-04-09 14:39:37 Vulkan: damage rectangles must never be pre-rotated Remove the SurfaceVk::present() code that rotated damage rectangles and the feature flag that controlled that rotation. The Vulkan specification was changed so that the rectangles provided to the VK_KHR_incremental_present extension must never be pre-rotated. The spec change requires the same behavior on all platforms (just in case), even though Android is the only platform known to support rotation. FYI: the Vulkan spec change was merge request 4442. Bug: b/182930524 Change-Id: I5128fd76e718f3d964c9091830bcc5886d265543 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2818826 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
fedb85b7 2021-04-07 16:25:54 Vulkan: Warn for unsupported vertex attrib format Provide both a performance warning and a debug-util label (for AGI) when loading a vertex attribute requires a format conversion. Bug: b/184355822 Change-Id: Id8cbb34f70214327e1f5cc96559e4ea66dc17889 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2801154 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
795d7543 2021-04-07 11:38:37 Remove unused translator option bits Usage of SH_DONT_REMOVE_INVARIANT_FOR_FRAGMENT_INPUT is removed from ANGLE by [1], and from the validating command decoder by [2]. The flag is only ever disabled in Firefox. SH_REMOVE_POW_WITH_CONSTANT_EXPONENT is removed from the validating command decoder by [3]. Not used in Firefox. [1]: https://chromium-review.googlesource.com/c/angle/angle/+/1558678 [2]: https://chromium-review.googlesource.com/c/chromium/src/+/2810880 [3]: https://chromium-review.googlesource.com/c/chromium/src/+/2810879 Bug: angleproject:4889 Change-Id: If7d9c31c48510b1486a2285a88475b3c01a77527 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2810806 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
82cc2d21 2021-04-09 18:08:27 Really fix iOS build Complete the fix started in http://crrev.com/c/2812698 Bug: angleproject:5811 Change-Id: I9fa50b31dda116e01203d65d47dc6420391e999d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2818243 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
af58be7e 2021-04-08 17:07:53 Add TextureType::Buffer to RecordBindTextureTypeError() Bug: b/184767884 Change-Id: I67098de503748c86f2b957db76539e73c87bd179 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2818818 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Ian Elliott <ianelliott@google.com>
147adcfa 2021-04-09 15:31:01 Android: Call getExternalStorageDirectory natively. This changes the call to base.test.util.UrlUtils to a native OS method. We may need to update this when Chromium starts running tests on "R". At that point we'll need a non-base mechanism to pass the right folder to ANGLE. This could be via env vars, debug properties, command-line arguments, or #defines. The prior implementation is left as commented-out code as a reminder to fix later. Also updates WARN() to std::cerr because WARN() was not showing up when testing. Bug: chromium:1097957 Change-Id: I4a84ea007341dbe7fe2184eac3aae0ddca44cc9c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2818240 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
5902753b 2021-04-09 15:40:53 Skip TracePerfTest.Run/native_real_gangster_crime on Linux AMD Bug: angleproject:5822 Change-Id: Id4dc458dc71fcd20f8982052fa789fb04e420c8c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2818241 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
ba7531da 2021-04-07 12:51:17 Add tests that use, then update, then use buffers This triggers vk::DynamicBuffer allocations in BufferVk. Bug: angleproject:5719 Change-Id: Ida855b23618497f76102e55f89ab1678f9c08753 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2809856 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
e249239c 2021-04-08 09:46:48 Vulkan: Add featue flag to force highp to mediump in fragment shader. Adding feature flag that forces highp in fragment shader to mediump. It is disabled by default. You can enable it for experiment. Bug: b/184850002 Change-Id: I73980be4ad160eb1b17a3a3ecfc09f2e4aeb468c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2815240 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
085044d1 2021-04-08 18:49:05 Fix angle_expose_non_conformant_extensions_and_versions The GN arg angle_expose_non_conformant_extensions_and_versions was not being referenced correctly in the Vulkan backend, so it was not being properly enabled in RendererVk.cpp. This CL updates the BUILD.gn files to fix this issue. Bug: b/184767884 Change-Id: I7244aad9112c38bf76544f8c767563a7f0cf1b2f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2816165 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
d3c8d543 2021-04-08 14:03:51 Consider AOSP ANGLE path as well during SHA generation Account for an in-tree AOSP build of ANGLE while generating ANGLE commit SHA Bug: angleproject:5838 Change-Id: I81d6d821810544c35daf6af9b167f18a4b095e99 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2815241 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
a7b60f13 2021-04-08 23:13:21 Translator: Validate multi-declarations are separated Many transformations only look at the first variable in a TIntermDeclaration. This change validates that once the SeparateDeclarations transformation has been run, multi-declarations are not reintroduced. Bug: angleproject:2733 Change-Id: If5f96689cbdd28817c479dd7c495b91535f87199 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2815565 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2feb3db5 2021-04-07 11:36:06 Remove unused translator option bit SH_DONT_PRUNE_UNUSED_FUNCTIONS was only used by tests, and never used by ANGLE or chromium. Bug: angleproject:4889 Change-Id: I4926f86125e69b07e9d4d95134b7b70522e0d64f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2607491 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
41dbfe9c 2021-04-09 08:18:31 Roll Chromium from 6cad7c765c8b to 920c6c5ffe65 (341 revisions) https://chromium.googlesource.com/chromium/src.git/+log/6cad7c765c8b..920c6c5ffe65 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 geofflang@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/8df5f2532b..0006b44d1f * testing: https://chromium.googlesource.com/chromium/src/testing/+log/b134bc315e..75df5ad7e8 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..69936de9be * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/a387faa2a6..6e92ef6460 * tools/luci-go: git_revision:0f11e003d56071a19f4403570ebfdb8f197c2f87..git_revision:6b7ff5a4d7e3247a449a8dfa5511541dffebba8b * tools/luci-go: git_revision:0f11e003d56071a19f4403570ebfdb8f197c2f87..git_revision:6b7ff5a4d7e3247a449a8dfa5511541dffebba8b * tools/luci-go: git_revision:0f11e003d56071a19f4403570ebfdb8f197c2f87..git_revision:6b7ff5a4d7e3247a449a8dfa5511541dffebba8b * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/93c8ae3a54..e509f34db2 No update to Clang. Bug: angleproject:5417 Tbr: geofflang@google.com Change-Id: Icaf720255a92c10111226d330fc2a055e1d4950d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2815103 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
4340fcfa 2021-04-02 13:59:17 Vulkan: Add command option to run app traces with minimum GPU work This CL interposes the draw call API entries. If enabled by command line option "--minimize-gpu-work", it will override all draw calls to render a single GL_POINT instead. It forces view port and scissor size to 1x1. It forces all data copy to 1 texel or 1 byte. It ignores glGenerateMipmap call. The goal is to make the frame time reflect the driver CPU performance as much as possible so that we can use it to compare ANGLE vs native GLES on the driver overhead, as well as identifying CPU hot spot. Bug: b/184766477 Change-Id: Ie8b5b585e0ed55320fed7863da37cce419acc65f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2802858 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
c2075d81 2021-04-08 13:10:29 Tests: Add Call Break: Offline Card Game trace Test: angle_perftests --gtest_filter="*call_break_offline_card_game*" Tbr: jmadill@google.com,timvp@google.com Bug: b/184866238 Bug: angleproject:5837 Change-Id: I39035e62559d6a28fd1ae62ee6ffe6323d94931f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2815780 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
fc189386 2021-04-08 21:51:46 Revert "Fix multithreaded crash on draw commands on D3D11 backend." This reverts commit 8b9889bf62272fea2495331b622bde1f7c781bd0. Reason for revert: Breaks CI Original change's description: > Fix multithreaded crash on draw commands on D3D11 backend. > > A crash can occur if thread A is executing eglDestroyContext while > thread B issues a draw call, if the threads are interleaved in such a > manner that a makeCurrent occurs without triggering a change to the > global context and a dirtyAllState call. We handle that case by > explicitly making current the proper contexts in the eglDestroyContext > call. > > A test has been added that triggers a crash without this fix when > running on the D3D11 backend. In addition, all of MultithreadingTest > is enabled for the D3D11 backend. > > Test: Ran MultithreadingTest. Test exhibits a crash before this > change, and does not after this change. Also ran: > dEQP-EGL.functional.sharing.gles2.multithread.* > dEQP-EGL.functional.multithread.* > > Bug: b/183756357 > Change-Id: Ic6f76a062868b2f3b4e60d29dc087ec180bfb7cd > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2798591 > Reviewed-by: Geoff Lang <geofflang@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Commit-Queue: Doug Horn <doughorn@google.com> Bug: b/183756357 Change-Id: I2e9d6385576330f84623d7dafbf690642fcb441f No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2815242 Commit-Queue: Doug Horn <doughorn@google.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
0261b1d3 2021-03-31 10:48:08 PPO: Fix updating sampler uniforms between draws Updating sampler uniforms when using PPOs is currently broken, since the Context/State use the currently bound ProgramExecutable which belongs to the PPO, but the updates only happen to the Program's executable that the uniform belongs to. This change updates Program::updateSamplerUniform() to update any PPO ProgramExecutables with the updated texture information when a Program's sampler uniforms are updated, so the Context/State use the correct data. Bug: b/182409935 Test: ProgramPipelineTest31.SampleTextureAThenTextureB Test: SamplersTest31.SampleTextureAThenTextureB Change-Id: I3c4e156c6e0c781e706f321f0bd12baf484ff42a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2797951 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
408c1512 2021-04-08 10:51:28 Tests: Add Bubble Shooter trace Test: angle_perftests --gtest_filter="*bubble_shooter*" Tbr: timvp@google.com,jmadill@google.com Bug: b/184844832 Bug: angleproject:5836 Change-Id: I4a729028020d7e668cd7e368a4473f4e37c55b0b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2815778 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
0eaaff28 2021-04-07 22:53:28 Fix iOS and Android component builds After the changes in http://crrev.com/c/2797833 Bug: angleproject:5811, angleproject:5820 Change-Id: I629978684ba4d002c296d4dcfe434b09782db4b1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2812698 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
cec90118 2021-04-08 16:01:01 Roll Chromium from c8a676460af3 to 6cad7c765c8b (151 revisions) https://chromium.googlesource.com/chromium/src.git/+log/c8a676460af3..6cad7c765c8b 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 geofflang@google.com,jmadill@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/77edba11e2..8df5f2532b * testing: https://chromium.googlesource.com/chromium/src/testing/+log/a9d80f02d0..b134bc315e * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..145b45a227 * tools/luci-go: git_revision:63310fdc83db00f27d0902961627ff98043076e0..git_revision:0f11e003d56071a19f4403570ebfdb8f197c2f87 * tools/luci-go: git_revision:63310fdc83db00f27d0902961627ff98043076e0..git_revision:0f11e003d56071a19f4403570ebfdb8f197c2f87 * tools/luci-go: git_revision:63310fdc83db00f27d0902961627ff98043076e0..git_revision:0f11e003d56071a19f4403570ebfdb8f197c2f87 No update to Clang. Bug: angleproject:5417 Tbr: geofflang@google.com,jmadill@google.com Change-Id: I2138d63a5c0fcd4869c87446ca0a59f9ed350d46 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2815239 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
8b9889bf 2021-03-31 12:52:00 Fix multithreaded crash on draw commands on D3D11 backend. A crash can occur if thread A is executing eglDestroyContext while thread B issues a draw call, if the threads are interleaved in such a manner that a makeCurrent occurs without triggering a change to the global context and a dirtyAllState call. We handle that case by explicitly making current the proper contexts in the eglDestroyContext call. A test has been added that triggers a crash without this fix when running on the D3D11 backend. In addition, all of MultithreadingTest is enabled for the D3D11 backend. Test: Ran MultithreadingTest. Test exhibits a crash before this change, and does not after this change. Also ran: dEQP-EGL.functional.sharing.gles2.multithread.* dEQP-EGL.functional.multithread.* Bug: b/183756357 Change-Id: Ic6f76a062868b2f3b4e60d29dc087ec180bfb7cd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2798591 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Doug Horn <doughorn@google.com>
d3e1a7ff 2021-03-29 16:21:23 Reset mCurrentGraphicsPipeline in ProgramExecutableVk::reset ContextVk::mCurrentGraphicsPipeline should be reset during ProgramExecutableVk::reset() since programInfo.release() frees the PipelineHelper that it's pointing to. This has resulted in several use-after-free errors, which this CL will prevent in the future. Bug: angleproject:5624 Bug: b/182409935 Change-Id: I847bb7eb5b593c89b84f0fbbca23ea5367f5f55c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2792861 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
54dfb62c 2021-04-07 12:33:31 Make "force context check" an optional GN flag. Previously it was enabled by default in every build that includes D3D11. This would impact CPU overhead in Chrome and other targets that don't need this feature. Bug: angleproject:5828 Change-Id: Ic9d700847c72978540b66fdaf7a62f959779f2e6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2809855 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Doug Horn <doughorn@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>