Log

Author Commit Date CI Message
Mohan Maiya 46eaba7f 2020-12-12T10:31:26 Vulkan: Add support for internal cache hit and miss counts Add a CacheStats class that provides cache hit and miss bookkeeping. All internal caches make use of this class to keep track of its stats. This provides a means to profile cache hit ratios a.k.a Vulkan object reuse for any application. Bug: angleproject:5447 Test: Manual verification with angle_end2end_tests Change-Id: I44eeb0c2b9b291ec1cdd156fb2be4a5fe80d2848 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2580111 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Mohan Maiya f32fbb51 2020-12-14T14:42:58 Add EXT_shader_framebuffer_fetch_non_coherent entry points Addition of the entry points for EXT_shader_framebuffer_fetch_non_coherent extension. Bug: angleproject:5454 Change-Id: I2b8ba5141eed61a0c3ba58aeb2eec12a2071e7f1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2590991 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Mohan Maiya 9229b805 2020-12-14T14:10:28 Vulkan: Add the tests for EXT_clip_cull_distance Before supporting EXT_clip_cull_distance extension, some tests are added to validate the implementation of EXT_clip_cull_distance extension. These tests are implemented based on the tests for APPLE_clip_distance Bug: angleproject:5458 Tests: angle_end2end_tests --gtest_filter=Clip*DistanceTest* angle_unittests --gtest_filter=*Clip*Distance* Change-Id: I018c72ae8f0aff616c9d2600e63246e9609cf3de Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2585986 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Tim Van Patten e8c5525c 2020-12-09T09:41:21 Vulkan: flushCommandsAndEndRenderPass during glFenceSync() The description for glFenceSync states: glFenceSync — create a new sync object and insert it into the GL command stream ANGLE needs to break the render pass and flush any prior commands to ensure that the newly created Fence object lands with the correct ordering. This will be done by calling ContextVk::flushCommandsAndEndRenderPass() before creating the Vulkan Event object. Bug: angleproject:5306 Change-Id: I3a460bb559acf8eb4b3041065ec743938d44d823 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2582199 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
angle-autoroll cbc1220e 2020-12-15T10:01:55 Roll SwiftShader from c16dc7107fd3 to fa44979d90aa (5 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/c16dc7107fd3..fa44979d90aa 2020-12-14 capn@google.com Regres: remove "risky" tests. 2020-12-14 natsu@google.com Handle suballocated AHB buffers 2020-12-14 srisser@google.com Implement VK_KHR_uniform_buffer_standard_layout 2020-12-14 capn@google.com Update README 2020-12-14 capn@google.com Check that MSan builds use Clang 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 cwallez@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: cwallez@google.com Change-Id: I619ee1567031a775cc887760817233b3df1f9c39 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2593055 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Paul Thomson c47b951e 2020-12-15T13:17:28 Capture: Disable GL_NV_shader_noperspective_interpolation Skia uses the extension GL_NV_shader_noperspective_interpolation, which is implemented by ANGLE. This leads to traces with shaders that use the extension. Such traces do not replay on some native GLES drivers, as the extension is not available. The fix is to disable the GL_NV_shader_noperspective_interpolation extension when capturing, so that apps do not use this extension. Bug: b/174256233 Change-Id: I5265cab2a56be488669ed31aa2ea8ec7b7fad8fd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2593190 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Paul Thomson <paulthomson@google.com>
Jamie Madill 5b6d60f8 2020-12-15T09:32:07 Mac: Remove stderr output from lib preload. This was causing the debug bots to fail. Bug: angleproject:5467 Change-Id: Iea7fe0260e23c1c9770c431d52fea49335b3d0cf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2593568 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 4798c8cf 2020-12-14T16:35:27 Introduce GN variables for Vulkan repos. This will allow them to be seamlessly overrideen in other repos. Bug: angleproject:5390 Change-Id: I973cae48b5683e39ea3b07898b95956511260319 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2591107 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
angle-autoroll 1bfc1c90 2020-12-15T07:03:48 Roll Chromium from 0c234289aa72 to 5a03bdd6e398 (963 revisions) https://chromium.googlesource.com/chromium/src.git/+log/0c234289aa72..5a03bdd6e398 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 cwallez@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/1f2c9c8502..3156ee0cf9 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/c51df537ee..715d9573da * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..f22b977bc4 * third_party/protobuf: https://chromium.googlesource.com/chromium/src/third_party/protobuf/+log/129acc201e..9be8079c29 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/2a0543f912..b93f034c30 No update to Clang. Bug: None Tbr: cwallez@google.com Change-Id: I4986b8ee00c6defc02bcf1efc1b36f929bd12ec0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2591896 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Le Hoang Quyen cb8903b1 2020-12-08T01:08:00 Metal: Ignore OS's internal shader cache when testing. Internal shader cache caused timeout in some dEQP tests. Work-around: ignore the cache by hooking fopen function and return null when the cache related files are accessed. Bug: angleproject:5354 Change-Id: I12ca228540925e67454bf24ce1ba83d703882c87 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2580918 Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Corentin Wallez fd7733e9 2020-12-14T19:04:28 GeometryTest: Expand suppressions to AMD Intel OpenGL TBR=syoussefi@chromium.org Bug: angleproject:5463 Change-Id: I3bdd17b5f9fd413e8fcbe734c6cb6f2110364e30 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2590185 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Mohan Maiya a62ee4d1 2020-12-11T14:28:42 Vulkan: Add test for Pixel bug with passthrough GLSL function Passing in a sampler2D's values using texture2D through a function generates unexpected results on a Pixel device with the Vulkan backend. 1. SamplerPassthroughFailedLink - program fails to link. 2. SamplerPassthroughIncorrectColor - output color is incorrect. These tests have no issues with SwiftShader ICD. Tests: angle_end2end_tests --gtest_filter=*SamplerPassthrough*Vulkan* Bug: angleproject:5457 Change-Id: I9c43062e98c7b3637bb8a2b00a957141da821f0a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2586059 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll a64e86c5 2020-12-14T10:01:55 Roll SwiftShader from 0a64a9747555 to c16dc7107fd3 (8 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/0a64a9747555..c16dc7107fd3 2020-12-12 capn@google.com Regres: Roll dEQP to version 1.2.5 merged into master 2020-12-11 capn@google.com Implement VK_EXT_scalar_block_layout support 2020-12-11 capn@google.com Fix typo in 'maxPos' constant vector 2020-12-11 capn@google.com Disable SPIR-V validation during pipeline compilation 2020-12-11 capn@google.com Remove support for R16G16B16 and R32G32B32 sampling 2020-12-11 capn@google.com Enable sampling and filtering of 16-bit SNORM formats 2020-12-11 nicolascapens@google.com Enable sampling and filtering of 16-bit UNORM formats 2020-12-11 capn@google.com Fix resolvable depth difference calculation for triangle near 0 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: I416113a64bfc51fe487cd2b23b28e32ee38e7873 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2589396 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 3df29be2 2020-12-14T10:01:37 Roll glslang from c594de23cdd7 to c0bcfaf3bae9 (3 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/c594de23cdd7..c0bcfaf3bae9 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/glslang-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: I1d8c0aceb7c2227a7bc277d36a640047cbb80eb3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2589395 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Xiaoxuan Liu d0f99d54 2020-12-03T11:06:56 Vulkan: Fix build issue in vulkan display/headless backend. In Linux + Vulkan display/headless backend, angle tests such as angle_unittests/angle_perftests/angle_white_box_perf_tests could not be compiled successfully, fix build issues on vulkan display/headless backend in angle tests. 1. Add EGL_NO_X11 flag into vulkan display/headless backend. 2. Disable angle_white_box_perf_tests on vulkan display/headless backend. Bug: angleproject:5260 Change-Id: I579aee8b0bfaa4c0d7fdf9a6df91c1b78ec4373e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2585256 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 282fb409 2020-12-11T16:09:10 Fix link validation of I/O block members Location and struct name matching for fields was missing as they only apply to I/O blocks and not varyings of struct type. Bug: angleproject:3580 Change-Id: I69083f39088458da72828b418be3068187a30fcc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2587456 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Mohan Maiya da8c2261 2020-12-12T16:39:55 Vulkan: Enable FramebufferVk cache on Apple This effectively reverts ff60aba. The crash no longer occurs on Apple. Bug: angleproject:4442 Change-Id: I4aa745c80a482eb99311f3810e34124afe950cfe Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2588429 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Shahbaz Youssefi 56330564 2020-12-10T00:46:04 Vulkan: Support layered framebuffers This feature is introduced by geometry shaders, where all the layers of a texture can be attached to a framebuffer. The geometry shader would use gl_Layer to decide which layer the primitive should be rendered to. Bug: angleproject:3571 Change-Id: Ib2ae8e227b226295f9e2f62f6b230839070bc95c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2582711 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
James Darpinian 4fb29e83 2020-12-08T12:26:12 Ignore mac .DS_Store files Bug: angleproject:5417 Change-Id: Idc058fe7b66f89bdbf8bcccc453ec15a3c5066e6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2579749 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 8326b26a 2020-12-11T13:59:40 Fix link validation with ambiguous instanceless interface blocks The following interface blocks should fail link: VS: layout(binding=0) buffer BufferBlockNameA { mediump float variable; }; FS: layout(binding=1) buffer BufferBlockNameB { mediump float variable; }; Because `variable` is ambiguous. Bug: angleproject:3580 Change-Id: I29576a6f152780819af0e9fb63249dbee7d9f2fc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2587450 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi d9318acc 2020-12-11T10:40:21 Roll VK-GL-CTS from 41331850eb21 to 54509765b18d (18 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/41331850eb21..54509765b18d 2020-12-10 boris.zanin@mobica.com Basic tests for VK_EXT_conservative_rasterization 2020-12-10 ari.suonpaa@siru.fi Add test for image copy special case 2020-12-10 mikko.tiusanen@siru.fi Add tests for GLES3 vector construction from other types 2020-12-10 alexander.galazin@arm.com Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/master 2020-12-09 alexander.galazin@arm.com Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master 2020-12-09 ari.suonpaa@siru.fi Add drawing tests for Android hardware buffer based color buffer 2020-12-09 rgarcia@igalia.com Test data spilling and unspilling around RT shader calls 2020-12-09 dominik.witczak@amd.com Add new tests that verify IgnoreIntersection/TerminateRay corner cases. 2020-12-09 rgarcia@igalia.com Test maxPipelineRayRecursionDepth can be zero 2020-12-09 gleese@broadcom.com Enable YCbCr filtering tests for non-separable chroma 2020-12-07 slawomir.cygan@intel.com Fix clang 10.0 build of ray tracing control flow tests 2020-12-07 slawomir.cygan@intel.com Remove merge conflict markers from mandatory_features.txt 2020-12-07 jan.mroczkowski@mobica.com Vulkan Portability support 2020-12-07 piotr.byszewski@mobica.com Disable conflicting fragment shading rate features 2020-12-07 alexander.galazin@arm.com Update Vulkan headers 2020-12-07 tzlatinski@nvidia.com Select SPIR-V for the robustness' compute shaders 2020-12-07 rgarcia@igalia.com Fix buffer offsets in push descriptor tests 2020-12-07 rgarcia@igalia.com Destroy deferred ops before destroying devices Bug: angleproject:5461 Change-Id: I86f70ea9b77c114ed9495215d83a6fee61adc76a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2586995 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll a77bc1f1 2020-12-11T10:01:55 Roll SwiftShader from d94a77b304f4 to 0a64a9747555 (3 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/d94a77b304f4..0a64a9747555 2020-12-10 swiftshader.regress@gmail.com Regres: Update test lists @ d94a77b3 2020-12-10 nicolascapens@google.com Update dEQP/Cherry setup documentation 2020-12-10 sugoi@google.com Context refactor: from OpenGL-like state to Vulkan-like state 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: Ia5b74096de8b8c78e399bc97cbb39e4876fc2ef0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2586893 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 7d832edd 2020-12-11T07:01:25 Roll Chromium from 2db43e774b6e to 0c234289aa72 (451 revisions) https://chromium.googlesource.com/chromium/src.git/+log/2db43e774b6e..0c234289aa72 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/603673306a..1f2c9c8502 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/19df48277a..c51df537ee * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..d5e21940e0 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/b07b7cb6aa..2a0543f912 No update to Clang. Bug: angleproject:5174 Tbr: syoussefi@google.com Change-Id: I9385c8ed5bd7d7cb6448fac1509b9a24ad7a7f98 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2586566 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi ec1ff8f5 2020-12-09T14:25:56 Add a scissored MSRTT test Covers a bug Skia's implementation of unresolve uncovered. ANGLE's implementation is slightly different (in that the unresolve pass is full screen), so it's not affected by this bug. Bug: angleproject:4836 Change-Id: Ibc8010b0b5ef6912a45fd5f2612fb8b619e4407e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2582707 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao c75473c2 2020-11-23T14:26:32 Vulkan: Generalize FlipRotationSpecConst to SpecializationConstant Specialization constant are used not just for flip/rotation. It also used for other things. This CL merges all specialization constant usage (lineRasterEmulation, flip, rotation, halfRenderArea) into one class and rename FlipRotationSpecConst to SpecConst. Bug: b/173800146 Change-Id: I8dc3354b6caedbb183cec29855fc1c301ec8872a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2555812 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Courtney Goeltzenleuchter dcc0bebf 2020-12-10T13:43:03 Vulkan: clean up comments, rename per request Bug: b/170312581 Change-Id: Iefecb5776cac07477266e6a2e77af7d3c9f38ad6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2585745 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Cody Northrop 9912971c 2020-12-10T11:42:20 Docs: Add limitation for Android usage on all apps ANGLE cannot be enabled for all apps on Android unless the device has root access. Test: Inspect the resulting markdown doc Bug: angleproject:4347 Bug: b/175324620 Change-Id: Idc37d6062a12240cf038ef13f7d53d769fa824a4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2585074 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Courtney Goeltzenleuchter 6d94471b 2020-11-19T16:53:09 Vulkan: Eliminate fence wait from SyncVk Waiting on a fence is problematic if using threaded worker to submit work since code needs to know if the work has been submitted or not before doing the wait. Eliminate the wait by using a serial if available or if no serial check the file descriptor directly. If no serial it's because we are waiting on an imported file descriptor. Could call fence.wait in that case but can also wait on the file descriptor. Test: angle_end2end_tests --gtest_filter=EGLSyncTest.*/ES2_Vulkan Bug: b/170312581 Change-Id: I392a5e73ac8f851d0d5bc53f06063568c0c90d2c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2579042 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Jamie Madill f6df8692 2020-12-09T12:46:35 Vulkan: Support XFB in non-Vertex stages. This updates the code in several places to support Geometry and Tessellation Evaluation shaders to output transform feedback. Does not turn on any new tests but enables support for XFB when we turn on GS/TS. Bug: angleproject:3571 Bug: angleproject:3572 Change-Id: I6dcb768f2df4eeee81a4a500e999fcf16716f58f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2581941 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Kaiyi Li 8707811d 2020-12-01T11:50:56 Add an option to copy the artifact to vendor partition Add a --copy-to-vendor-partition optional argument to both roll_aosp.sh and generate_android_bp.py. When specified the root targets will be generated with vendor: true and a relative install path to egl folder, so that we can use ANGLE as the Android OpenGLES driver when the system starts up. Test: run roll_aosp.sh --copy-to-vendor-partion, build the Android image with m -j72, load the image with the Android emulator and find all ANGLE related *.so's are under the /vendor/lib/egl folder. Bug: angleproject:5456 Change-Id: I38c64e8ea3ad5f5d0cc0b8cd77856f49109b23c7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2568907 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
Jamie Madill 4d9157a5 2020-12-09T16:41:31 Increase internal max uniform blocks limit to 60. This will make space for the tessellation / ES 3.2 limit of 60 blocks. Bug: angleproject:3572 Change-Id: Ie6cc6b24bdce2f5f67f62d11cdeefb10f3bd01d0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2582708 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Xiaoxuan Liu 108b759e 2020-12-04T15:15:49 EGL: Update EGL headers/xml The new EGL headers introduced 'EGL_NO_X11' which we could use for ANGLE vulkan display/headless backend. Changes in CL: 1. Updated include/EGL/egl*.h and scripts/egl.xml based on latest EGL repo: https://github.com/KhronosGroup/EGL-Registry Note: local modifications to the file were preserved in eglext.h, search keyword 'eglext_angle.h' for detail 2. run scripts to update entry_points/loader scripts/generate_entry_points.py scripts/generate_loader.py scripts/run_code_generation.py 3. Update ANGLE code on API 'eglSwapBuffersWithDamage' 4. Format with 'git cl format' Bug: angleproject:5260 Change-Id: I70ed0dccecf0426929ef8b4775605554d66c5724 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2576314 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 32f1a8e8 2020-12-10T10:01:56 Roll SwiftShader from 84b9bb6621c7 to d94a77b304f4 (9 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/84b9bb6621c7..d94a77b304f4 2020-12-10 natsu@google.com Set prefersDedicatedAllocation for AHB 2020-12-09 natsu@google.com Treat AHB YUV as external format 2020-12-09 natsu@google.com Handle AHARDWAREBUFFER_FORMAT_YV12 2020-12-09 srisser@google.com Update SPIR-V version to VK_1_1_SPV_1_4 2020-12-09 natsu@google.com Handle VkExternalFormatANDROID in VkCreateImage 2020-12-09 srisser@google.com Add decorate operations new to SPIR-V 1.4 2020-12-09 natsu@google.com Handle more image properties from external device memory 2020-12-09 natsu@google.com Update AHB default YUV dataspace to YCBCR_709 2020-12-09 sugoi@google.com Make Constants a singleton instead of a global 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: I31d0f7881c632d0402133b7bf26b7510066e49df Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2583417 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 55b7f38f 2020-12-10T07:00:47 Roll Chromium from 3fc522ff6579 to 2db43e774b6e (469 revisions) https://chromium.googlesource.com/chromium/src.git/+log/3fc522ff6579..2db43e774b6e 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/7c664f9cb5..603673306a * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/86a7f72ab1..ea9f1f7375 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/7534b563e9..19df48277a * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/29b47fedf0..dfe5e0a3af * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..d5e21940e0 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/1424e1194e..b07b7cb6aa * tools/skia_goldctl/linux: U9IAKman_wN6alsQfNAUzIasErQFGDvx3wn9o0AQBlEC..bTvIvWnbZxg0-7ukJDOeVphyUCuVIkxtui-gilfeBScC * tools/skia_goldctl/mac: xF94ClStkjWlYHAlxYXSOCFYEGhzEgxZEwB4zirJIjUC..6s5TRj110nqaPlBS8YO4HN2dRmhheX7a-pp3YWURcnoC * tools/skia_goldctl/win: HYgBDvuNpEKiDYuVIssmP2wgCGe0FS-XKCe18wxZWKwC..4UEZlBTjAOzFCQchRqtALQwJDyYXa9Sj_52oUhXmNkoC No update to Clang. Bug: None Tbr: syoussefi@google.com Change-Id: Ic8bd7ed7e2b78a2c3f5358a8ef70022532631ef6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2582428 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Charlie Lao 067a12f0 2020-11-19T16:47:25 Reland "Vulkan: Use specialization constant for halfRenderAreaWidth" This is a reland of ff38106d62fca2e36ec2db1cd580b546fd53ae43 Original change's description: > Vulkan: Use specialization constant for halfRenderAreaWidth > > halfRenderArea is used by fragment shader to adjust gl_FragCoord for > rotation and yflip compensation. This CL bakes halfRenderAreaWidth into > shader via specialization constant, thus allow compiler to consolidate > the calculation into one MAD instruction. > > Bug: b/173800146 > Change-Id: Id66301278e3389e2582369b695825e632bccecee > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2551541 > Commit-Queue: Charlie Lao <cclao@google.com> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Tim Van Patten <timvp@google.com> > Reviewed-by: Jamie Madill <jmadill@chromium.org> Bug: b/173800146 Change-Id: Ifc36086f4c5d6a44fb5456aa6e31bc8a783bba71 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2579648 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Charlie Lao 1788355b 2020-12-08T16:12:34 Vulkan: Add dirty bits instead of direct access FBO state The CL crrev/c/2551541 causes intermittent Bot failure. I believe the problem is that from ContextVk::onMakeCurrent call stack, the object state may not in sync or even not completely specified. So instead of accessing fbo state object here to update mGraphicsPipelineDesc, we should insert dirty bit and let state validation code to handle it. Bug: b/175157604 Change-Id: I5f6b9fd901cc4187068f6161bd12836c8bbf8e87 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2580914 Commit-Queue: Ian Elliott <ianelliott@google.com> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi f9f569e2 2020-12-09T11:37:10 Suppress test requiring VK_EXT_transform_feedback on Nvidia/win7 Bug: angleproject:5450 Bug: angleproject:5435 Change-Id: I1925a4f926d10c81e5c69cfc62fcb26da2cec81d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2581940 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Courtney Goeltzenleuchter 855c5f1c 2020-12-09T11:29:55 Add VK-GL-CTS autoroller link to wrangler doc Bug: angleproject:4760 Change-Id: Id69f917c27dd2e2b85f434cc19002e644f42a44c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2582465 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Shahbaz Youssefi 8789457d 2020-12-09T00:21:08 Fix varying packing of I/O block fields The sorting algorithm didn't keep the fields in order, which made them receive arbitrary locations. The SPIR-V transformer assigns the location on the whole block instead of individual members, which was incorrect in this situation. The SPIR-V transformer could have been modified to decorate each field of the I/O block with a location. This change instead sorts the fields in such a way that I/O block fields are allocated contiguously, which allows the SPIR-V transformer to function unchanged. Bug: angleproject:3580 Change-Id: I27df9e8122dd4207835bad448ffb8015692a1635 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2581076 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Xinghua Cao 378653f8 2020-11-20T12:24:41 D3D: throw a perf warning for uniform block We had translated an uniform block only containing a large array member into StructuredBuffer instead of cbuffer on D3D backend for slow fxc compile performance issue with dynamic uniform indexing. This patch throw a warning if a uniform block containing a large array member fails to hit the optimization. Bug: angleproject:3682 Change-Id: I33459b559923f16a8dfb70c6f46ec52f68d96e06 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2552365 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
angle-autoroll f0f79e08 2020-12-09T08:00:32 Roll Chromium from a3984b7ec4ae to 3fc522ff6579 (498 revisions) https://chromium.googlesource.com/chromium/src.git/+log/a3984b7ec4ae..3fc522ff6579 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/115823df49..7c664f9cb5 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/6302c11756..86a7f72ab1 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/baeb2e9897..7534b563e9 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..e43bd0925d * third_party/libjpeg_turbo: https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git/+log/bbb828223e..e9a659a09e * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/dddd39ba5a..1424e1194e No update to Clang. Bug: None Tbr: syoussefi@google.com Change-Id: I5e6c022f18dc7c65a354ecc92babe20cde75167f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2581380 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi 8b851562 2020-12-08T16:51:51 Don't output matrix qualifiers in I/O blocks row_major and column_major only apply to uniform and buffer interface blocks per GLSL ES 3.2 spec. Bug: angleproject:3580 Change-Id: Iad0afeffc7ddb7bff2ebaec0ea0ec4eda26171a7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2580191 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 36f74334 2020-12-03T21:26:28 Vulkan: Fix query pause on framebuffer binding change When a render pass is closed, render pass queries are paused. The code that pauses queries however is conditioned to the render pass being open. In ContextVk::syncState, when processing gl::State::DIRTY_BIT_DRAW_FRAMEBUFFER_BINDING, `onRenderPassFinished()` is called. Later on, when the render pass is actually finished, the queries are not paused. This change moves the logic to pause render pass queries to onRenderPassFinished(). Bug: angleproject:5427 Change-Id: I3a87db2e4543ff698803ac5e154a370e85ac7985 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2573581 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Jiawei Shao 54d95994 2020-12-09T09:36:00 Enable ComputeShaderTest/DrawDispatchDispatchDraw on Intel/Win/Vulkan This patch enables ComputeShaderTest/DrawDispatchDispatchDraw on Intel/Win/Vulkan after the upgrade of Chromium try bots. Bug: angleproject:3871 Change-Id: I3e8d36020cbb01304a7b024d5b74923640402b4e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2580112 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jiajia Qin <jiajia.qin@intel.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
James Darpinian 27e52ca0 2020-12-08T14:11:02 Fix build when angle_has_build == false Need to declare use_xcode_clang when building outside chromium. Bug: angleproject:5440 Change-Id: I4d622c1b6085d89b69c828b2c965d22c1f806f45 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2579750 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: James Darpinian <jdarpinian@chromium.org>
Shahbaz Youssefi f691b3b5 2020-12-02T13:11:54 Vulkan: Support PrimitivesGenerated query This query uses the Vulkan transform feedback extension. In GL, GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN and GL_PRIMITIVES_GENERATED queries can be independently begun/ended. However, Vulkan requires that queries from pools of the same type can only be active one at a time. This forbids the two GL queries from being handled by two VK queries when they are simultaneously begun. This change makes these queries share their QueryHelper objects. The Vulkan transform feedback queries unconditionally retrieve both results anyway, so this is just a matter of making sure the two GL queries are merged as one when they are simultaneously used. The change fixes a number of issues as collateral: - TransformFeedbackPrimitivesWritten queries when !emulated were not released - Stashed queries were never released - If no render pass is open when a query ends, then getResult(no_wait) ended up waiting Bug: angleproject:5404 Change-Id: I8ce13ea76ffd31b3152ded7c713c6466d0315504 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2573580 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis fa9b803e 2020-12-03T17:53:12 GLX: Expose EGL_ANGLE_window_fixed_size Right now the GLX backend checks for resize on every SwapBuffers call. If EGL_ANGLE_window_fixed_size is used, it will only resize when signaled by Chrome. Bug: chromium:1132827 Change-Id: Ia4ddbbbf6dcf13f46ad564208eccc517de8be33c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2572886 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Courtney Goeltzenleuchter aafcb504 2020-12-08T09:32:10 Vulkan: Add ensureSubmission to queueSubmitOneOff Some callers of queueSubmitOneOff require that the command being queued to have been sent to the GPU. The new ensureSubmission parameter indicates that behavior and when running with threaded worker will wait for the worker queue to empty before returning. Bug: b/170312581 Change-Id: Ib620fb37f4b9b4431451ccbd10807c0dff1842af Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2579041 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Kenneth Russell b1f094eb 2020-12-04T17:30:34 Log to stderr for warnings and more severe messages. This helps the WinCairo port of WebKit use ANGLE; warning messages sent to stdout are causing layout test failures. Bug: angleproject:5432 Change-Id: Idc6d3061a2dbf13d5f118285aa9b8438542966aa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2576038 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: James Darpinian <jdarpinian@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org>
Shahbaz Youssefi 158089fd 2020-12-07T16:58:26 Fix location validation for I/O blocks I/O blocks can specify location for each member of the block separately, in arbitrary fashion. This change fixes up the code that validates varying locations to take this into account. Bug: angleproject:3580 Change-Id: If883347fc5db9f18722e41938d1b61fa64650d0c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2578047 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Mohan Maiya <m.maiya@samsung.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 56f4a501 2020-12-07T14:41:32 Vulkan: Add debugging code for SPIRV transformer. Requires a custom define for output. Bug: angleproject:3572 Change-Id: I3721c4067c61f3e22ce7c047054b74d3fe468d8f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2578058 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Courtney Goeltzenleuchter bcdd4e58 2020-11-03T13:33:44 Vulkan: Fix validation errors with YUV Had several validation errors with YUV ImageTests using Vulkan back-end. This corrects those issues and tests now pass. Initializing YUV AHardwareBuffers requires Android API 29. The CI bots are not yet to Android 29 so this must be tested locally by compiling with the appropriate api level in args.gn: android32_ndk_api_level = 29 android64_ndk_api_level = 29 Test: ImageTestES3.SourceYUVAHBTargetExternalRGBSampleInitData Note: Some tests can run at api 26: ImageTestES3.ClearYUVAHB ImageTestES3.YUVValidation Bug: angleproject:4852 Bug: b/172649538 Bug: b/175021871 Change-Id: I383d24faa9911f77a71bd9b764232ad519b54e9a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2530454 Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi 73d4d9fa 2020-12-07T23:53:55 Refactor varying location count and validation In preparation for support for mid-block location qualifiers. Bug: angleproject:3580 Change-Id: Ia63f20c8dc26e8f0e90371c4f00913585a22267a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2577983 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 4f26a81e 2020-12-08T10:01:55 Roll SwiftShader from 7c84426d2abe to 84b9bb6621c7 (2 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/7c84426d2abe..84b9bb6621c7 2020-12-07 ynovikov@chromium.org Add status host to CQ config 2020-12-07 sugoi@google.com Fix some minor tracing mistakes 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: If0873584f3e5416e734c499111d7741dbab8592e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2578666 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll d9ffa8d8 2020-12-08T10:01:04 Roll glslang from dd69df7f3dac to c594de23cdd7 (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/dd69df7f3dac..c594de23cdd7 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/glslang-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: Ia325f50d8b8b700c6eb14a261f4ddf4ef57f4614 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2578665 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll a13f6847 2020-12-08T07:54:47 Roll Chromium from bbe26af29575 to a3984b7ec4ae (468 revisions) https://chromium.googlesource.com/chromium/src.git/+log/bbe26af29575..a3984b7ec4ae 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/b7fc8c9ce5..115823df49 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/95c0c5beb0..baeb2e9897 * third_party/Python-Markdown: https://chromium.googlesource.com/chromium/src/third_party/Python-Markdown/+log/ad4fc19d61..2bb7b23b63 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/1e294aea80..29b47fedf0 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..4565794f5e * third_party/protobuf: https://chromium.googlesource.com/chromium/src/third_party/protobuf/+log/500b2c2243..129acc201e * third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/c29ee8c9c3..2c183c9f93 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/9ec0bb3220..36810de981 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/58c3aa7c7b..dddd39ba5a No update to Clang. Bug: None Tbr: syoussefi@google.com Change-Id: I44b0fdc9faf8d3bf5d978cdd1a210b10dcabbaef Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2578642 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi 4f315dcc 2020-12-08T00:52:06 Suppress flaky multithreading swiftshader test Bug: angleproject:5439 Change-Id: I218a4459897a9d543269effeea4caf05174e1589 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2577984 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi e59d8716 2020-12-07T16:41:35 GL: Expose OES_shader_io_blocks As extra validation that new tests are indeed correct. Bug: angleproject:3580 Change-Id: I4792bd8e26f96ab6c988f2605f053ce5789a782f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2577818 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop 8b4990bb 2020-12-06T21:00:52 Capture/Replay: Fix capture of GL_EXT_debug_label Add it to the list of debug functions we skip. Test: Seven Deadly Sins MEC Bug: b/174965026 Bug: angleproject:5337 Change-Id: Ifa2bd9cf12abda20df0c693c149be50d57ee6e62 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2576814 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
James Darpinian dea86294 2020-12-02T16:26:03 iOS build support libGLESv2 builds with these changes on iOS, iOS Simulator, and Mac Catalyst, using CGL or EAGL as appropriate. Tests will require more work. Fixed several errors in the EAGL code which hadn't been detected because the code wasn't built. Bug: angleproject:4256 Bug: angleproject:5417 Change-Id: I29072d82607ef2500732c5cc00318fdab4a46b31 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2570211 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: James Darpinian <jdarpinian@chromium.org>
angle-autoroll 4277f2f0 2020-12-03T20:15:30 Roll glslang from 142cb87f803d to dd69df7f3dac (17 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/142cb87f803d..dd69df7f3dac If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/glslang-angle-autoroll Please CC ianelliott@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: ianelliott@google.com Change-Id: Ib2c695c9b5b6f6509fd780edfa56ac2cafe5b021 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2572359 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: Ian Elliott <ianelliott@google.com>
jchen10 3a8be140 2018-08-08T15:44:09 Enable some tests on Intel Windows Vulkan The tests IndexBufferOffsetTest.UInt16Index and StateChangeTest. VertexBufferUpdatedAfterDraw can pass 26.20.100.8141 now. Bug: angleproject:2663 Bug: angleproject:2664 Change-Id: I0324767f5c538879d865cf12304da4625d49bd81 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1166598 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Paul Thomson 463e0b19 2020-11-30T17:25:14 Tests: add WhatsApp trace Test: angle_perftests --gtest_filter="*whatsapp*" Bug: b/174256233 Change-Id: Ie6abb3beae8e184633005a325c5dce51f0afff40 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2574837 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Paul Thomson <paulthomson@google.com>
Jamie Madill 4accbe92 2020-12-04T12:27:01 Fix separable Geometry shaders. Geometry shaders weren't being processed in some of the separable shader logic. This CL fixes two cases: one in Program and one in ProgramPipeline. Bug: angleproject:5409 Change-Id: I19adc5c11a54814d28dd20574a5e038ca9dbd021 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2574827 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 2c90a90a 2020-12-04T12:39:50 Geometry Shaders: Don't require 'flat' for integer varyings. The 3.2 spec and the dEQP tests are quite clear in only requiring the 'flat' on fragment shader inputs. This restriction remains on older shader versions. Bug: angleproject:5409 Change-Id: Icc4b113b404280c2867a3e0bf6f77256a4316bff Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2574826 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
jchen10 a10d694e 2020-03-10T15:12:42 Remove StateChangeRenderTest suppression The failed DepthRangeUpdates case can pass on 26.20.100.8141 now. Bug: angleproject:2844 Change-Id: I1398ab6c4676c1a6bc8f9514b1559ac1e37ed086 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2096337 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll cf023b3a 2020-12-07T10:01:36 Roll SwiftShader from bae138de13ac to 7c84426d2abe (8 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/bae138de13ac..7c84426d2abe 2020-12-05 capn@google.com Remove stlport C++11 extensions 2020-12-04 ynovikov@chromium.org Add CQ configuration. 2020-12-04 amaiorano@google.com Add unit test for ENABLE_RR_EMIT_ASM_FILE 2020-12-04 amaiorano@google.com Kokoro: isolate flag enabling for incremental builds 2020-12-04 amaiorano@google.com Kokoro: upgrade Linux build from gcc 7 to 9 2020-12-04 capn@google.com Fix stringification of macro value 2020-12-04 capn@google.com Allow configuring Reactor's anonymous mmap name 2020-12-04 capn@google.com Remove named anonymous mmap for GL/VK allocations 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: I574736428ee405724731a937acdb95e914564f2a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2575507 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 71bbb3b2 2020-12-07T07:01:08 Roll Chromium from 6991410be08c to bbe26af29575 (235 revisions) https://chromium.googlesource.com/chromium/src.git/+log/6991410be08c..bbe26af29575 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 ianelliott@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/33d5eb7739..b7fc8c9ce5 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/a2515f6c44..95c0c5beb0 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..88efddc6a1 No update to Clang. Bug: None Tbr: ianelliott@google.com Change-Id: Ic27236790c9e926431a6b1925a7d191cdb29cfea Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2576445 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi 251ba5cb 2020-12-03T15:55:47 Vulkan: Fix transform feedback with in-render-pass clears An in-render-pass clear now pauses transform feedback so it wouldn't contribute to it. Since it's not possible to resume the transform feedback in the same render pass (as it needs a memory barrier for its counter buffer), the render pass is broken after the clear. Bug: angleproject:5426 Change-Id: I1eaf8c153d076bd912a4a08c65960c12f00341ef Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2573579 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Zentaro Kavanagh d49e7e30 2020-12-05T00:29:21 Mark classes with final dtors as final - -Wfinal-dtor-non-final-class warns on classes with final dtors but not final classes. - Error messages are better when the class is marked final. - Fix existing issues in code base Bug: chromium:999886 Test: no errors building Change-Id: I62301f2f0b9108b08e0a749fbe261beb36b1996f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2575923 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 7354c67b 2020-12-04T12:21:10 Vulkan: Support for geometry shader with max_vertices=0 This is simply done by specifying max_vertices=1. Bug: angleproject:5411 Change-Id: I50318128cca0e96a8b7c7e5d01165b9ef46b4db8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2574823 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
angle-autoroll aafe855f 2020-12-04T22:47:48 Roll Chromium from 78187c025ba6 to 6991410be08c (262 revisions) https://chromium.googlesource.com/chromium/src.git/+log/78187c025ba6..6991410be08c 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 ianelliott@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/b85da6c931..33d5eb7739 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/cd2895768d..a2515f6c44 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..88efddc6a1 * third_party/libjpeg_turbo: https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git/+log/d5148db386..bbb828223e * third_party/protobuf: https://chromium.googlesource.com/chromium/src/third_party/protobuf/+log/1be42a5a07..500b2c2243 * third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/9893e506b3..c29ee8c9c3 No update to Clang. Bug: None Tbr: ianelliott@google.com Change-Id: Ie45a97dc9a1523d86e963173c8cbbee2c81be619 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2575916 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Tim Van Patten c859c0ac 2020-11-24T17:21:38 Batch replace std::unordered_map with angle::HashMap in src/ There are a few places that will remain std::unordered_map due to build or run-time errors, which will need to be evaluated more closely to determine if they should remain std::unordered_map or if there is another Abseil data structure that would be more efficient while still working correctly. Bug: angleproject:4873 Change-Id: Ib04253e3ad6398e63f4cc2bfe12c0f9e57cb112b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2558873 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Shahbaz Youssefi b22b1502 2020-12-03T16:25:14 Vulkan: Fix transform feedback spanning multiple render passes When the render pass breaks while transform feedback is active, the subsequent render passes didn't restart transform feedback because of a missing dirty bit. Bug: angleproject:5426 Change-Id: Icee79cbdabbceab96973cea124240ac7ced82d55 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2572878 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Shahbaz Youssefi b35a468a 2020-12-04T12:14:37 Vulkan: Support geometry/tessellation primitive topologies Bug: angleproject:5406 Change-Id: Ifb7553e87164c204353e1ed94b8d64f5fb4b7206 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2574822 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexis Hetu f2a15485 2020-12-04T14:07:24 Suppress memory leaks detected by LSAN In order to be able to land SwANGLE in Chromium, this cl adds suppressions for memory leaks detected by LSAN. Some of these should be fixed and some are intentional leaks of global variables. This cl should allow the linux_chromium_asan_rel_ng bot to pass while using SwANGLE and shouldn't break the win-libfuzzer-asan-rel bot. Bug: chromium:972686 Bug: angleproject:5377 Change-Id: I7e2336aba43fcfeb95716d6c0aa05caf855134aa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2575200 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Alexis Hétu <sugoi@chromium.org>
Paul Thomson abee60f6 2020-11-30T17:22:59 Capture: Disable GL_CHROMIUM_bind_uniform_location Some apps (possibly those that use Skia) use the extension GL_CHROMIUM_bind_uniform_location, which is implemented by ANGLE. This leads to traces that contain calls to functions from this extension, such as: glBindUniformLocationCHROMIUM. Such traces do not replay on native GLES drivers, as the extension is not available. The fix is to disable the GL_CHROMIUM_bind_uniform_location extension when capturing, so that apps do not use this extension. Bug: b/174256233 Change-Id: I8c6de9dc958147bcad053cbf89d8727b40f45fbe Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2574836 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill f42409e6 2020-12-03T17:11:50 Program: Allow non-fragment program input variables. Allows shaders that use GS/TS to have input varying variables. Bug: angleproject:5409 Change-Id: Idfbb725a4eef9e55fdde51d804a891b05dd1daee Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2572879 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Courtney Goeltzenleuchter 72b68950 2020-12-02T16:22:21 Ignore redundant Texture state changes Dirtying the state unnecessarily was causing Vulkan backend to create new framebuffer objects when it didn't need to. Bug: b/174700581 Change-Id: I74e0ed51a2c6598ab3dca9a955c247ec97b6856f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2570201 Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Jamie Madill 173f1c94 2020-12-03T13:53:16 Translator: Collect gl_in as a varying. This unifies the variable handling for IO blocks. Previously the gl_in block we treated as an "in block" similar to an interface block. Bug: angleproject:5423 Change-Id: Idf2db4c209055fa9ffca567dab39c89464eba156 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2571966 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Ian Elliott 51a0e95d 2020-12-04T16:34:53 Revert "Suppress memory leaks detected by LSAN" This reverts commit 2ded93db0a0d0767e6101dfaf738167ee406b2e6. Reason for revert: Appears to be breaking the ANGLE roll Original change's description: > Suppress memory leaks detected by LSAN > > In order to be able to land SwANGLE in Chromium, this cl adds > suppressions for memory leaks detected by LSAN. Some of these > should be fixed and some are intentional leaks of global > variables. > > This cl should allow the linux_chromium_asan_rel_ng bot to pass > while using SwANGLE. > > Bug: chromium:972686 > Bug: angleproject:5377 > Change-Id: I50a30e74a7d7c799c9dfa4d307792a56cb9d2017 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2562748 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Commit-Queue: Alexis Hétu <sugoi@chromium.org> TBR=sugoi@chromium.org,syoussefi@chromium.org,jmadill@chromium.org,sugoi@google.com Change-Id: I2ab53f3ab89143ea639424f108c404f884c3aaf9 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:972686 Bug: angleproject:5377 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2574796 Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com>
angle-autoroll d6029d65 2020-12-04T13:54:15 Roll VK-GL-CTS from 524e5bcfba33 to 41331850eb21 (39 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/524e5bcfba33..41331850eb21 2020-12-03 alexander.galazin@arm.com Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master 2020-12-03 ewerness@nvidia.com Shorten the ray so that it can't hit other cells 2020-12-03 ewerness@nvidia.com Only use AABBs for the shader record tests 2020-12-03 rgarcia@igalia.com Enable VK_KHR_ray_tracing_pipeline only if needed 2020-12-03 ewerness@nvidia.com Simplify geometry to reduce AABB precision issues 2020-12-03 rgarcia@igalia.com Test terminateInvocation with frag shader side effects 2020-12-03 michal.opalka@arm.com Fix test using protected features without creating a device with them enabled 2020-12-03 gleese@broadcom.com Fix image cube array tests support checks 2020-12-03 ryan.chen@arm.com Use shader to calculate sample point 2020-12-03 joshua@froggi.es Add tests for VK_EXT_4444_formats 2020-12-03 rgarcia@igalia.com Enable random writes for storage texel buffers 2020-12-03 rgarcia@igalia.com Test reading primitive id from frag shader after tessellation 2020-12-03 paulthomson@google.com Add a batch of GraphicsFuzz tests 2020-12-03 antto.makinen@siru.fi Add a batch of GraphicsFuzz coverage tests 2020-11-27 pdaniell@nvidia.com Update AccessInstance::verifyResult() to support 64-bit types 2020-11-26 Gregory.Grebe@amd.com Add dEQP-VK.pipeline.creation_cache_control.* 2020-11-26 joshua@froggi.es Add support for ABGR texture formats 2020-11-26 alexander.galazin@arm.com Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/master 2020-11-26 rgarcia@igalia.com Force thread count in deferred host operations 2020-11-26 ewerness@nvidia.com Zero out the hit stride for miss SBT tests 2020-11-26 ari.suonpaa@siru.fi Fix validation errors in terminate invocation tests 2020-11-26 tomasz.owczarek@arm.com Add sliced 3D compressed texture test 2020-11-26 pdaniell@nvidia.com Initialize resourceImgLayout before use for all code paths 2020-11-26 marcin.kantoch@amd.com ExtensionUse variable not set for 1D and 3D images 2020-11-26 alexander.galazin@arm.com Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/master 2020-11-26 rgarcia@igalia.com Test vkCmdBindVertexBuffers2EXT with size and offset 2020-11-26 rgarcia@igalia.com Test SPIR-V switch case jumping to the merge block 2020-11-25 gleese@broadcom.com Fixes for image format properties tests 2020-11-25 karolina.palka@mobica.com Add tests for YCbCr chromaFilter linear filtering 2020-11-24 gleese@broadcom.com Add ArrayStride decorations in TerminateInvocation tests 2020-11-24 boris.zanin@mobica.com Add ray tracing extensions to list of known extensions 2020-11-24 alexander.galazin@arm.com Merge vk-gl-cts/vk_khr_ray_tracing into vk-gl-cts/master 2020-11-24 alexander.galazin@arm.com Update glslang, SPIR-V headers, tools 2020-11-24 arkadiusz.sarwa@amd.com Add sparse tests shader_image_atomic_int64 2020-11-24 arkadiusz.sarwa@amd.com Add tests shader_image_atomic_int64 robustness2 2020-11-24 alexander.galazin@arm.com Switch spirv-binaries to Release build 2020-11-20 arkadiusz.sarwa@amd.com Add tests shader_image_atomic_int64 robustness 2020-11-20 arkadiusz.sarwa@amd.com Add tests for VK_EXT_shader_image_atomic_int64 2020-11-20 alexander.galazin@arm.com Update SPIR-V Tools/Headers, glslang 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 ianelliott@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: None Tbr: ianelliott@google.com,angle-bots+autoroll-info@google.com Change-Id: Ifb8d1402514edffbaccc84ee83ae288fad881c16 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2574175 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll c0ed6c71 2020-12-04T07:49:08 Roll Chromium from d76e39a75a7a to 78187c025ba6 (806 revisions) https://chromium.googlesource.com/chromium/src.git/+log/d76e39a75a7a..78187c025ba6 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 ianelliott@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/796c41e4d2..b85da6c931 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/2a615b18c0..cd2895768d * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..d1cf5db415 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/8636efe70f..9ec0bb3220 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/4ec098c279..58c3aa7c7b * tools/skia_goldctl/linux: qmz8kJxTUN_Mt51qpFOU1gn2Es-tf5fUQbm_dwWR4WsC..U9IAKman_wN6alsQfNAUzIasErQFGDvx3wn9o0AQBlEC * tools/skia_goldctl/mac: VNy9awCiFUEMvA_Yv0NaAUvTu5qcX1KK9w7RAp7kua8C..xF94ClStkjWlYHAlxYXSOCFYEGhzEgxZEwB4zirJIjUC * tools/skia_goldctl/win: VR4k806B8ASaIGHP_wz13-mO3s-X-NxvU7dSULraOMEC..HYgBDvuNpEKiDYuVIssmP2wgCGe0FS-XKCe18wxZWKwC No update to Clang. Bug: angleproject:3354 Tbr: ianelliott@google.com Change-Id: I29a7ddf57c3f28fc08360df936ae29584e0452f0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2574157 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Alexis Hetu 2ded93db 2020-11-27T11:15:55 Suppress memory leaks detected by LSAN In order to be able to land SwANGLE in Chromium, this cl adds suppressions for memory leaks detected by LSAN. Some of these should be fixed and some are intentional leaks of global variables. This cl should allow the linux_chromium_asan_rel_ng bot to pass while using SwANGLE. Bug: chromium:972686 Bug: angleproject:5377 Change-Id: I50a30e74a7d7c799c9dfa4d307792a56cb9d2017 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2562748 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Alexis Hétu <sugoi@chromium.org>
Ian Elliott 1ad5791d 2020-12-03T22:05:51 Revert "Vulkan: Use specialization constant for halfRenderAreaWidth" This reverts commit ff38106d62fca2e36ec2db1cd580b546fd53ae43. Reason for revert: Suspect that this CL may be causing win-angle-rel-32 bot failures Original change's description: > Vulkan: Use specialization constant for halfRenderAreaWidth > > halfRenderArea is used by fragment shader to adjust gl_FragCoord for > rotation and yflip compensation. This CL bakes halfRenderAreaWidth into > shader via specialization constant, thus allow compiler to consolidate > the calculation into one MAD instruction. > > Bug: b/173800146 > Change-Id: Id66301278e3389e2582369b695825e632bccecee > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2551541 > Commit-Queue: Charlie Lao <cclao@google.com> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Tim Van Patten <timvp@google.com> > Reviewed-by: Jamie Madill <jmadill@chromium.org> TBR=timvp@google.com,syoussefi@chromium.org,jmadill@chromium.org,cclao@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Bug: b/173800146 Change-Id: I7bc9966ebbe949f3999d7927afa629dd2e3a4187 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2572801 Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Ian Elliott <ianelliott@google.com>
Shahbaz Youssefi 0d2de6f0 2020-12-03T04:29:02 Vulkan: Fix precision issue in blit math Bug: chromium:1154759 Change-Id: If31ef7ebecdfa2a0cba91e917870ea0bdfd9b9db Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2570464 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 19a302fc 2020-12-03T10:01:36 Roll SwiftShader from bfb211914759 to bae138de13ac (8 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/bfb211914759..bae138de13ac 2020-12-02 amaiorano@google.com Reactor: add Type* member to Value and remove vtable 2020-12-02 amaiorano@google.com Fix crash from rr::Array with ENABLE_RR_DEBUG_INFO enabled 2020-12-02 natsu@google.com Guard VK_GOOGLE_SAMPLER_FILTERING_PRECISION 2020-12-02 amaiorano@google.com LLVM: add option to emit asm file to aid debugging 2020-12-02 amaiorano@google.com Coroutine: allow a name to be passed in for routine generation 2020-12-02 amaiorano@google.com ReactorUnitTests: use test name as Routine names 2020-12-02 amaiorano@google.com LLVM: store input name in JITRoutine 2020-12-02 amaiorano@google.com Fix FunctionT not forwarding its varargs 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 ianelliott@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: ianelliott@google.com Change-Id: Ic8144902a237feefdf7b8d841bbf411f08043ee5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2570399 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Mohan Maiya 8670d618 2020-12-02T14:18:27 Add support for GL_EXT_debug_label Add support for labeling of GL objects for debug purposes. Tests: DebugTest.ObjectLabelsEXT* Bug: angleproject:5337 Change-Id: I792a27c69395ed62da70c3f619bef71776fba432 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2568711 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Ian Elliott 968fccb2 2020-12-02T13:28:30 Vulkan: Use VK_EXT_device_memory_report extension This CL can enable and use the VK_EXT_device_memory_report extension. This is disabled by default. To enable, link with the required extension, enable one or both of two features, AND build with the following GN arg: angle_enable_trace = true The two added features are: - logMemoryReportStats provides per-swap statistics - logMemoryReportCallbacks provides per-callback logging If either or both of the features are enabled, if the VK_EXT_device_memory_report extension is available, it is enabled. Bug: b/173636655 Change-Id: Ic5cf6c06efdb34f2313ef143853b3cc90f55faa5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2543506 Commit-Queue: Ian Elliott <ianelliott@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Shahbaz Youssefi abe96578 2020-11-30T14:09:11 Vulkan: I/O blocks: Support unsized arrays Geometry shader inputs have an extra array dimension, which can be unsized as it can be derived from the primitive type. This change fixes the grammar to support such arrays. Additionally, it enables EXT_shader_io_blocks automatically with EXT_geometry_shader and EXT_tessellation_shader per spec. Bug: angleproject:3580 Change-Id: Ia7eb3e8be28c2eef2072dbe2a546fa34973104ab Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2568242 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jonah Ryan-Davis ec0acf64 2020-11-25T09:58:31 Reland "Reinitialize GL_VENDOR string when GPU switches" This is a reland of 0f083ab02635f48dfa3393df0d229287f466f480 Original change's description: > Reinitialize GL_VENDOR string when GPU switches > > We already update the GL_RENDERER string. We should do the same for > GL_VENDOR so this information is passed along correctly. > > Bug: chromium:1152212 > Change-Id: I639700bfebdc9e77ec3c6b41fcd6516e8c32139d > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2560824 > Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> > Reviewed-by: Geoff Lang <geofflang@chromium.org> > Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Bug: chromium:1152212 Change-Id: I044313366ce6ce7040e5c203a979b148dcb564dd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2569364 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Shahbaz Youssefi 2c8bc1b7 2020-11-26T16:06:24 Vulkan: Clean up render pass query code In preparation for support of primitives generated queries. Bug: angleproject:5404 Change-Id: Ic123aaff33f8903994ff8fcc9158954ac023ec13 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2562126 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Shahbaz Youssefi dfdf90a7 2020-12-01T16:09:41 Create helper for identifying builtin names Bug: angleproject:5405 Change-Id: I652f2d6d3af4468b9662cdea5d2706d36e118239 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2568550 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 8797714c 2020-12-01T11:39:25 Vulkan: Support OES_shader_io_blocks Enables OES/EXT_shader_io_blocks extensions in Vulkan backends. With shader I/O blocks, the varyings can now be an array of struct (the block itself) of struct (nested in the block). This change is missing a number of features. In particular, if the shader I/O block has a location decoration in the middle of the block, that is not handled yet. Based on changes from m.maiya@samsung.com and jmadill@chromium.org. Bug: angleproject:3580 Tests: dEQP-GLES31.functional.shaders.linkage.es31.io_block.* dEQP-GLES31.functional.separate_shader.validation.es31.io_blocks.* dEQP-GLES31.functional.program_interface_query.program_input.* dEQP-GLES31.functional.program_interface_query.program_output.* Change-Id: I593840475d2365ff6c9ce7b2290f5ee462a30dfb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2567645 Reviewed-by: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 64654a84 2020-12-02T16:33:31 Roll Chromium from db49fa80f93d to d76e39a75a7a (585 revisions) https://chromium.googlesource.com/chromium/src.git/+log/db49fa80f93d..d76e39a75a7a 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 ianelliott@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/70bbe68c87..796c41e4d2 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/8a83254bed..2a615b18c0 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/5d6094bfbc..1e294aea80 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..5537c03942 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/1e9edde7ad..4ec098c279 * tools/memory: https://chromium.googlesource.com/chromium/src/tools/memory/+log/f685c086bd..71214b910d No update to Clang. Bug: None Tbr: ianelliott@google.com Change-Id: Ie96b014526558dee4b12642f3bd00d61b97921f1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2568905 Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Ian Elliott 5b9fac78 2020-12-02T17:54:09 Revert "Reinitialize GL_VENDOR string when GPU switches" This reverts commit 0f083ab02635f48dfa3393df0d229287f466f480. Reason for revert: Seems to be blocking the ANGLE auto-roller (see: http://anglebug.com/5422) Original change's description: > Reinitialize GL_VENDOR string when GPU switches > > We already update the GL_RENDERER string. We should do the same for > GL_VENDOR so this information is passed along correctly. > > Bug: chromium:1152212 > Change-Id: I639700bfebdc9e77ec3c6b41fcd6516e8c32139d > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2560824 > Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> > Reviewed-by: Geoff Lang <geofflang@chromium.org> > Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> TBR=geofflang@chromium.org,syoussefi@chromium.org,jonahr@google.com Change-Id: I01bbb08946d16cf821f4fb1bfd8b1cade1ab70f1 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:1152212 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2567460 Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com>
Xinghua Cao 9daef386 2020-11-26T16:20:22 Add a doc for translating uniform block to StructuredBuffer This document shows when and how shader code would hit the optimization that translates the uniform block into StructuredBuffer to resolve the slow fxc compiling performace with dynamic uniform indexing. Bug: angleproject:3682 Change-Id: I89d94a7e9d812318b9a6cbc470d39ed5ce3e47a0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2561426 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jiajia Qin <jiajia.qin@intel.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 06c39376 2020-11-27T12:45:33 Vulkan: Minimize gl_PerVertex members As ANGLE doesn't redeclare gl_PerVertex, glslang always defines it with: gl_Position gl_PointSize gl_ClipDistance gl_CullDistance The unused members here contribute to varying component limits. The last two are unlikely to be used, and the second member is rarely used as well. This change keeps it simple and strips the trailing inactive members, which for all intents and purposes accurately minimizes this struct. Bug: angleproject:5405 Change-Id: I59c22af4988a3da7b1e428913d0ea13be9031cea Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2562754 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis 0f083ab0 2020-11-25T09:58:31 Reinitialize GL_VENDOR string when GPU switches We already update the GL_RENDERER string. We should do the same for GL_VENDOR so this information is passed along correctly. Bug: chromium:1152212 Change-Id: I639700bfebdc9e77ec3c6b41fcd6516e8c32139d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2560824 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Jamie Madill 720b85e6 2020-12-01T20:45:29 Reland "Vulkan: Use specialization constant for halfRenderAreaWidth" This reverts commit b1917fe1a314709cd9f7f53b2923d6be0e8bbf6c. Reason for revert: Not the root cause. See bug. Original change's description: > Revert "Vulkan: Use specialization constant for halfRenderAreaWidth" > > This reverts commit ff38106d62fca2e36ec2db1cd580b546fd53ae43. > > Reason for revert: Speculative revert to clear up AMD. See bug. > > Bug: chromium:1154356 > > Original change's description: > > Vulkan: Use specialization constant for halfRenderAreaWidth > > > > halfRenderArea is used by fragment shader to adjust gl_FragCoord for > > rotation and yflip compensation. This CL bakes halfRenderAreaWidth into > > shader via specialization constant, thus allow compiler to consolidate > > the calculation into one MAD instruction. > > > > Bug: b/173800146 > > Change-Id: Id66301278e3389e2582369b695825e632bccecee > > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2551541 > > Commit-Queue: Charlie Lao <cclao@google.com> > > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > > Reviewed-by: Tim Van Patten <timvp@google.com> > > Reviewed-by: Jamie Madill <jmadill@chromium.org> > > TBR=timvp@google.com,syoussefi@chromium.org,jmadill@chromium.org,cclao@google.com > > Change-Id: Idab612bcad4f179857c41ffc4bf8fa2355fae946 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: b/173800146 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2568244 > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Commit-Queue: Jamie Madill <jmadill@chromium.org> TBR=timvp@google.com,syoussefi@chromium.org,jmadill@chromium.org,cclao@google.com # Not skipping CQ checks because this is a reland. Bug: chromium:1154356 Bug: b/173800146 Change-Id: I5b86bbee8600c6597620f31d8d7b08ca8b3d2d57 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2568246 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>