doc


Log

Author Commit Date CI Message
Yuxin Hu ae9c94f1 2022-02-05T01:47:09 Add instructions to build RenderDoc for Android on Windows Add instructions on how to 1. Install Android dependencies on Windows 2. Install build tools on Windows 3. Build errors and resolutions 4. Steps to build and use RenderDoc for Android on Windows Bug: b/210134963 Change-Id: I707ddf68f5f834fcacd106fd0e3041b8757ae05c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3441634 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Jamie Madill fb6303a1 2022-02-15T10:50:27 Update docs for checkout with 'fetch' tool. Bug: angleproject:7018 Change-Id: I3e7e905ce536353bb07e260302bfba07d4a4a619 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3465504 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 038adcae 2022-02-08T16:46:40 Vulkan: Render the overlay in the graphics pipeline Bug: angleproject:6976 Change-Id: I388d429f0726b4d6a1c4ecd446ead93579a14a1b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3448643 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Yuxin Hu 2df2a9ec 2022-02-05T00:16:54 Add instructions to enable Debug Overlay On Android Add notes on how to set debug overlay environment variables on Android build. Bug: angleproject:6806 Change-Id: I129080cf5671b19890cdb05dadc72a46f06aa816 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3441082 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Brandon Schade 38fada35 2022-01-27T18:16:18 Vulkan: Add support for OES_primitive_bounding_box Add OES version of the primitive bound box extension Bug: angleproject:3576 Test: dEQP-GLES31.functional.primitive_bounding_box.* Change-Id: Ie44d952992a68dfffd5c124dda8dd11069f0c1e1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3425086 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Brandon Schade <b.schade@samsung.com>
Gregg Tavares 73c82310 2022-01-24T09:54:18 Update the Capture and Replay docs Mention that you must set ANGLE_CAPTURE_START_FRAME to 1 or greater. Bug: angleproject:6945 Change-Id: I3ff999749e62e1f4084656ada5d2f23c082641fe Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3413172 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Gregg Tavares <gman@chromium.org>
Avi Drissman af8dd1c3 2022-01-18T16:54:43 Update documentation link Bug: chromium:1288548 Change-Id: Ie53dccb39f6cbf9b12595944c70018d95a7a1438 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3399253 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org>
Brandon Schade 7dda50fc 2022-01-13T12:09:20 Add frontend for ANDROID_extension_pack_es31a - Add entry to registry_xml file - Add handling in the DirectiveHandler Bug: angleproject:3608 Change-Id: I1cc32a4a97fd9974f65786a9a972b4b541abf658 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3388405 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Brandon Schade <b.schade@samsung.com>
Cody Northrop ae1a56b6 2022-01-06T17:04:41 Vulkan: Turn on GL_EXT_shader_framebuffer_fetch for ARM On ARM, coherent is the default behavior of framebuffer fetch, so we can expose the GL extension. Tests: Dead By Daylight app and trace Bug: b/201764768 Bug: angleproject:6870 Bug: angleproject:6872 Change-Id: I0f98c57e20619d73d1507c4655e7f9bb8c10a53a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3371244 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Roman Lavrov ccabfd14 2022-01-05T21:53:56 out\Debug -> out/Debug, like in other places Bug: angleproject:1944 Change-Id: I7abd8864d2176e69214a9a56359904fdd414ee9c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3367703 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
Alexey Knyazev 0a6b7897 2021-12-27T17:41:56 Add macOS support to update_chrome_angle.py Bug: angleproject:1944 Change-Id: I3e2503b462df82ffa2bef3814b1979448dee09e9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3358242 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Jamie Madill 0331738b 2021-12-29T14:47:32 Fix extension download script, and update data. This includes the update to the NV 1660s, and Intel driver update, and automatically gathered SwiftShader data. Bug: angleproject:6853 Change-Id: I481918105fd0e0224a2e2ddf5175b38e97918195 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3360784 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Maksim Sisov c7446ac4 2021-12-16T16:00:08 Add support for GL_MESA_framebuffer_flip_y 1/* LaCrOS, which is same as ChromeOS, relies on this extension and uses that with WebGL content. However, when LaCrOS uses ANGLE, the extension is not exposed and the WebGL content is y-inverted as direct scanout is always used. There are two bugs - 1) ANGLE should expose the extension so that direct scanout is possible (this CL fixes the issue. 2) LaCrOS shouldn't rely on the extension if it's not available (a bug to be fixed in Chromium). This particular CL consists of autogen files with framebufferParameteriMESA && getFramebufferParameterivMESA in Context marked as UNIMPLEMENTED. And also unimplemented validation. Bug: chromium:1231934 Change-Id: Id617846b0412f579df5b4ace6cb33c1ec6d403df Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3343492 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Maksim Sisov <msisov@igalia.com>
Yuly Novikov f64f9546 2021-12-07T20:17:32 Reland "Decouple gl_BaseVertex/gl_BaseInstance uniforms" This reverts commit 10e5f34d1439f0bcd5b30bea5bfbf6bdaafd4935. Reason for revert: exonerated from flaky crash suspect Original change's description: > Revert "Decouple gl_BaseVertex/gl_BaseInstance uniforms" > > This reverts commit 36bf1ebe5e9500704dd235254bd22a1f2bbd7059. > > Reason for revert: suspect causing flaky crashes > > Bug: angleproject:6763 > > Original change's description: > > Decouple gl_BaseVertex/gl_BaseInstance uniforms > > > > These are builtin uniforms removed in > > https://github.com/KhronosGroup/WebGL/pull/3278 > > > > Decouple them from the original ANGLE_base_vertex_base_instance > > extension. > > > > Make a new ANGLE_base_vertex_base_instance_shader_builtin > > extension for these builtin uniforms. > > > > Bug: angleproject:3402 > > Change-Id: I77b93917976ce435db9c578c0ade37bff18a42b0 > > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3290304 > > Commit-Queue: Shrek Shao <shrekshao@google.com> > > Reviewed-by: Geoff Lang <geofflang@chromium.org> > > Reviewed-by: Kenneth Russell <kbr@chromium.org> > > Bug: angleproject:3402 > Change-Id: I75830baa14cf4e7c53750fd14ff76501145b4823 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3315610 > Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> > Reviewed-by: Yuly Novikov <ynovikov@chromium.org> > Reviewed-by: Kenneth Russell <kbr@chromium.org> > Commit-Queue: Shrek Shao <shrekshao@google.com> Bug: angleproject:6763 Bug: angleproject:3402 Change-Id: Ie436dc5d55364e464897d407a53b793941cd5d0b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3321703 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Shrek Shao 10e5f34d 2021-12-04T00:10:21 Revert "Decouple gl_BaseVertex/gl_BaseInstance uniforms" This reverts commit 36bf1ebe5e9500704dd235254bd22a1f2bbd7059. Reason for revert: suspect causing flaky crashes Bug: angleproject:6763 Original change's description: > Decouple gl_BaseVertex/gl_BaseInstance uniforms > > These are builtin uniforms removed in > https://github.com/KhronosGroup/WebGL/pull/3278 > > Decouple them from the original ANGLE_base_vertex_base_instance > extension. > > Make a new ANGLE_base_vertex_base_instance_shader_builtin > extension for these builtin uniforms. > > Bug: angleproject:3402 > Change-Id: I77b93917976ce435db9c578c0ade37bff18a42b0 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3290304 > Commit-Queue: Shrek Shao <shrekshao@google.com> > Reviewed-by: Geoff Lang <geofflang@chromium.org> > Reviewed-by: Kenneth Russell <kbr@chromium.org> Bug: angleproject:3402 Change-Id: I75830baa14cf4e7c53750fd14ff76501145b4823 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3315610 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Shrek Shao <shrekshao@google.com>
Shrek Shao 36bf1ebe 2021-11-17T13:31:17 Decouple gl_BaseVertex/gl_BaseInstance uniforms These are builtin uniforms removed in https://github.com/KhronosGroup/WebGL/pull/3278 Decouple them from the original ANGLE_base_vertex_base_instance extension. Make a new ANGLE_base_vertex_base_instance_shader_builtin extension for these builtin uniforms. Bug: angleproject:3402 Change-Id: I77b93917976ce435db9c578c0ade37bff18a42b0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3290304 Commit-Queue: Shrek Shao <shrekshao@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Yuly Novikov 9d91064d 2021-11-30T17:56:31 Document using Rubber Stamper for test expectations CLs Also includes a small update about FLAKY expectations. Bug: angleproject:6740 Change-Id: I4df6534412e3720fb9f7bdeeadc555892016b7fb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3308830 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Tim Van Patten ef65edf2 2021-11-22T14:23:35 Add extension: ANGLE_rgbx_internal_format Add the extension ANGLE_rgbx_internal_format, which exposes the ANGLE internal format GL_RGBX8_ANGLE. The format GL_RGBX8_ANGLE enables emulating RGB8 formats with RGBA8 within ANGLE. This also renames the format GL_RGBX8_ANGLEX to GL_RGBX8_ANGLE, since it's being exposed. Bug: angleproject:6690 Test: Texture2DTestES3.TextureRGBXImplicitAlpha1 Change-Id: I5548a3578a14e2f2a4006bbf59983b01f694b7f3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3296625 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Peng Huang a5e391d7 2021-11-19T17:35:06 Add GL_ANGLE_vulkan_image extension glAcquireTextures & glReleaseTextures are added for sharing texture ownership with an external API. Bug: chromium:1264439 Change-Id: If46d8d230b4f611768b5ff1187674509e42f01e0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3293921 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Peng Huang <penghuang@chromium.org>
Amirali Abdolrashidi ae3f67ab 2021-11-11T20:32:32 Implement GL_EXT_multi_draw_indirect * Auto-generated the code to lay the foundation for the following functions: * multiDrawArraysIndirect() * multiDrawElementsIndirect() Bug: angleproject:6439 Change-Id: I7ab5111692376229515e0d6d9e6148909ce9a8a1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3276042 Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 39f7e9b4 2021-10-20T21:51:27 Doc: Clarify purpose of listed build options in DevSetup.md This file lists a number of commonly overriden build options for development or special platforms, but was mistakenly taken as a set of "recommended" options. Bug: angleproject:1944 Change-Id: Ia50b45724797d5ab071936997b485f9f80a72704 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3234079 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 7ef9ecf0 2021-10-15T14:38:03 Add GL_ANGLE_robust_fragment_shader_output. This extension codifies expected behaviour on Android, where some applications don't declare shader outputs that are active with the Framebuffer. Bug: angleproject:6566 Change-Id: I3538a0aca25b6567e4b11e40d4611f1b240579c7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3226724 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
YuxinHu bf744752 2021-10-04T23:57:15 README.md maintenance -Mark the document OpenGL Insights chapter on ANGLE as historical reference. -Modify the visual studio build instruction in ANGLE'S orientation link. -Point the Start Projects link to the angle starter bug lists. -Remove doc/Starter-Projects.md. (most bugs listed in Starter-Projects.md are closed. mark bugs 2734, 2556, 2506 as starter bugs. remove link to WebGL conformance on Windows as they are outdated) -Remove IRC channel join info. -Add more instructions on how to join Angle Slack channel. -Add warning indicating the iframe tags are not displayed properly in doc/dEQP-Charts.md. Bug: angleproject:6509 Change-Id: Idd4364fe48b506b44d3a2b40fa0e6ebd9e810a1b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3204132 Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
YuxinHu d4c7b594 2021-10-12T23:24:54 Add fixes on the doc based on Jamie's Suggestions This is a follow up change based on comments Jamie provided in a previous change list: https://chromium-review.googlesource.com/c/angle/angle/+/3204430. Fixes include: 1. Wrap each line into 80 characters. 2. Add links to project files. 3. Add one more future work. 4. Modify the two simple wordings. Bug: angleproject:6508 Change-Id: I84a5694682d8871ebb46c4dfe245399021e0cff7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3219715 Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
YuxinHu 1fa59e56 2021-10-05T01:15:13 Add Overlay Debug Document Import the documentation go/vangle-debug-overlay as markdown Bug: angleproject:6508 Change-Id: I1ecf9e6d4fd2c1b47c6e8f367390fcb72d7ecfe7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3204430 Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Lingfeng Yang 8f9b6d29 2021-10-04T13:35:30 Add advice to download commit-msg hook Thought this was taken care of with `gclient sync` but it seems like a manual download is needed now. Bug: angleproject:6517 Change-Id: I87499149b810c873827883628104963178a14fed Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3203171 Commit-Queue: Lingfeng Yang <lfy@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Lingfeng Yang 83613eb0 2021-10-04T13:26:38 Add advice to cipd auth-login on macOS for Googlers Bug: angleproject:6516 Change-Id: I9ab1d0b5c0b64a2310b2e01263bb94e157991cde Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3203170 Commit-Queue: Lingfeng Yang <lfy@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Shahbaz Youssefi bab0e717 2021-10-04T14:09:53 Update script to install ANGLE binaries in installed Chromium Useful when debugging a WebGL test, the script that installs ANGLE binaries in Chrome Canary on Windows is updated to also allow installing ANGLE binaries in Chrome Dev on Linux. On Linux, the script needs to run as root. Bug: angleproject:6507 Change-Id: I812d3a85528217dab478b1e8a0f266ae231f10af Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3202554 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 2c9226e6 2021-10-04T16:07:23 Add docs on how to request CQ/issue tracker access. Bug: angleproject:3096 Change-Id: I375c19826855ad10d94ae24c8f32a06df93245aa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3202477 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill f9410d5e 2021-10-04T11:05:47 Update shader translator docs. Bug: angleproject:528 Change-Id: I73cea8b2127abfe6ffa363f7abaabe039290c680 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3199995 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Ian Elliott 7c1622ca 2021-10-01T16:42:29 Fix links with Handling Test Failures CL After landing https://chromium-review.googlesource.com/c/angle/angle/+/3192171, I clicked on all of the new links and found a few problems, which this CL fixes. Bug: angleproject:6462 Change-Id: I57a440fa8d8c3554c4ae05222e9a174c0e3a3314 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3200286 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Ian Elliott <ianelliott@google.com>
Ian Elliott 61dc7698 2021-09-28T15:07:20 Add documentation about suppressing test failures Bug: angleproject:6462 Change-Id: Ia46f58ea66ec3e2b50fca91a645fe0e8969689d0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3192171 Commit-Queue: Ian Elliott <ianelliott@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 0b4508e5 2021-10-01T11:49:52 Add script to automatically download extension data. The script uses the 'bb' and 'swarming' tool to download build info and artifacts. See the script for more info. Bug: angleproject:6379 Change-Id: I65444771a69dc2f6eee39f6ba8d471fdd8ca2cff Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3198737 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Jamie Madill 35708f98 2021-09-30T11:54:34 Merge extension support docs. We previously had an existing document in doc/ExtensionSupport.md. This merges the new SupportedExtensions.md into the old location and includes a bit more info on EGL extension support. Bug: angleproject:6379 Change-Id: Ibb60a9e9db9200abe609383531131903ca698e60 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3197770 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 0004ecc2 2021-09-22T13:39:55 Write GL info to test artifact in end2end_tests. These will show up as glinfo.json in the "cas outputs" of the shard that runs these tests. We currently have information for Pixel 4, NVIDIA and Intel Win/Linux, and SwiftShader Windows. GLES 1.x extensions are treated separately. Some WebGL/Mac-only/D3D-only extensions show as unsupported anywhere. In order to capture artifacts on Android, we use a render test output parameter. Bug: angleproject:6379 Change-Id: I560b219b5a586cdbb68d272090f38eedc76aba20 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3176780 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Joe Mason 455362d3 2021-09-16T19:14:51 Update link to Chromium Modern C++ style guide Bug: chromium:1243839 Change-Id: I6a6a25fdb86db1b2dfefbf156697bd0898cb948e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3167210 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill b918b1c6 2021-09-10T16:44:59 Auto-generate GLES extensions. Uses the data from registry.xml combined with gl.xml to produce the necessary header and source file with the strings map. Also updates the list of supported extensions. Several extensions were missing from the supported extensions map. ARB_sync and NV_robustness_video_memory_purge require some specific tweaks to get the generator to accept them as gles extensions. Also includes a generate markdown file that lists supported exts. Bug: angleproject:6379 Change-Id: I95bd589aa31a62b4a008de24408c7823a49023ed Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3157418 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Jamie Madill e1bc8de3 2021-09-08T07:59:37 Change links from 'master' to 'main' branch. Bug: chromium:1226949 Change-Id: Ie7b28b2fa094cf0c0a407968d681e580519cbb88 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3148210 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Kenneth Russell c90a6dca 2021-08-26T21:54:54 Deduplicate autoroller docs. Leave them centralized in ANGLEWrangling.md, link to them from BranchingAndRolling.md, and add the Chromium-into-ANGLE autoroller. Bug: angleproject:6323 Change-Id: I913954b92dbe3545320e662de122daf26140d425 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3124341 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org>
Kenneth Russell 936fd6cf 2021-08-25T19:15:03 Add documentation for autorollers. Document the location and purpose of the ANGLE-into-Chromium and Chromium-into-ANGLE autorollers, to make them easier to find for people who don't often use them. Also fix several broken links due to misplaced newlines pointed out by syoussefi@. Bug: angleproject:6323 Change-Id: Id3d2f0e5627729acd2447b4954d2920375c37db2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3120408 Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Shahbaz Youssefi 7c6da493 2021-07-26T21:24:25 Translator: Make sure built-in variables are consistent Some transformations left the tree in an inconsistent state, for example if it used gl_SampleMask from ES3.1+OES_sample_variables and the transformation added a usage of gl_SampleMask from ES3.2. The offending transformations are fixed and AST validation is improved to catch such errors. Bug: angleproject:4889 Change-Id: I9d9ea5bb43a9408dd4c6dc3e89ec20d60dfeff73 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3054613 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Nicolas Capens f8d277e4 2021-07-21T15:14:16 Document the need for is_component_build = false Setting `is_component_build = false` in the GN args is highly recommended for standalone builds on Windows, to support the common practice of moving libEGL.dll and libGLESv2.dll to an application's directory. It makes them self-contained instead of depending on other DLLs (like e.g. ext-ms-win-kernel32-sidebyside-l1-1-0.dll). One notable exception is that the non-component build still depends on d3dcompiler_47.dll, if the Direct3D backend is being used. Bug: angleproject:6202 Change-Id: Id13e902d3169b37ec00a8065d9063ec7d683134b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3042543 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Nicolas Capens <nicolascapens@google.com>
Jamie Madill 2b86e2d6 2021-07-19T10:30:57 GN: Update dcheck/assert conditions. In preparation for a Chromium change that makes dchecks enabled by default in Release builds, we'll keep ASSERT disabled in Release by default. We add a new flag 'angle_assert_always_on' for controlling ANGLE ASSERT behaviour. Also slightly refactors the direct SPIR-V generation GN. Chromium CL: https://crrev.com/c/2893204 Bug: chromium:1225701 Change-Id: I01a6def28d7c21e771e9800889a6b9c274972de2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3035447 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Dirk Pranke <dpranke@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Ian Elliott 312e91c8 2021-07-16T14:25:35 Two fixes to DevSetup.md Change master->main and eliminate a redundant/premature Linux instruction. Bug: angleproject:0 Change-Id: Ic7171f860de8acc22050a4d4858cfd318f36b9e3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3035863 Commit-Queue: Ian Elliott <ianelliott@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Matthias Lederhofer 824e56f2 2021-06-30T17:12:19 Fix markdown link Bug: None Change-Id: Id6ebeb0c768d494f19d6619d68cdaf5ee18e981d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2997303 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Geoff Lang dc334829 2021-06-17T10:37:56 Disable ANGLE's VK backend on official Chrome Android builds. ANGLE's VK backend induces a memory and binary size regression due to global initializers in glslang/spirvtools. Disable it on Android Chrome official builds. Bug: chromium:1172451 Change-Id: I08d77cf11e20b393c0faf7c85d08c92061e5a09b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2969385 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Cody Northrop 69d593b5 2021-05-05T14:21:22 Docs: Update RenderDoc for Android launch command Bug: angleproject:1944 Change-Id: I72535c45ea2a67f2fe6953d4b9fa5e60deaa050b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2875164 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao 257b29ef 2021-04-29T10:58:40 Add instruction on how to debug angle on android This explains how I am using lldbclient.py to debug angle on android. Bug: None Change-Id: I9c0a55ab3e2272fbd74905a7ac390d987c78d550 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2860396 Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Stephen White d6a91dab 2021-04-26T10:44:09 D3D11: update docs (remove SSBO limitation). Bug: angleproject:5734 Change-Id: Ia1af247b45ad51072296f8d197dd4b49526417ac Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2851177 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Stephen White <senorblanco@chromium.org>
Jamie Madill d6302408 2021-04-21T17:16:34 Update standalone Android docs. Bug: angleproject:2344 Change-Id: Idea2f65fc92f2c59c5d4cd6ae01cae0b4af41905 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2845049 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Peter Kotwicz bf0c6ae1 2021-03-09T13:21:58 Improve Angle Android gtest support This CL makes angle_test() use an angle-specific gtest launcher - AngleUnitTestActivity.java. This enables building standalone Android angle without //base Chromium-Bug: 1149922 Bug: None Change-Id: Id84f3e2bd84c5017ed1988ca07534f424ebfa596 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2745535 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Tim Van Patten bbed8813 2021-03-05T17:40:27 Create GN arg to enable non-conformant features The GN arg angle_expose_non_conformant_extensions_and_versions is being added to control exposeNonConformantExtensionsAndVersions, which enables non-conformant features and extensions. In particular, this is being done to enable EXT_texture_buffer on devices that don't support all of the necessary formats since many Android games rely on this extension, such as "Special Forces Group 2", "Fortnite", and "PUBG". # Enables non-conformant extensions and features angle_expose_non_conformant_extensions_and_versions = false Users/vendors can now toggle the value with a GN arg, rather than a code change, to make it easier to test the conformant version of ANGLE with CTS, dEQP, etc. and/or app-compatibility. Bug: angleproject:5592 Change-Id: Icbf18b48a2751c03e277ae964e1ec278a43324cf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2740643 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
John Plate 8650381e 2021-03-10T20:08:10 Avoid implication that adding the issue number is optional Bug: angleproject:1944 Change-Id: I89867c20c724c8db4d8edeb15fa4e32769f2a578 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2749596 Commit-Queue: John Plate <jplate@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Alexey Knyazev 9d091b66 2021-02-25T15:07:30 Add Chrome Canary ANGLE injection steps Bug: angleproject:1944 Change-Id: I89ade8230271378cd8b2a5a7cb58ad6c0e4f1fde Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2724271 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Peng Huang 6b6da203 2021-03-02T00:22:36 Include a Makefile which contains some useful command lines Bug: angleproject:5697 Change-Id: I48c487d218183aa10823127beb40384f4debd6db Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2727921 Commit-Queue: Peng Huang <penghuang@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Ian Elliott b3fb450c 2021-02-22T17:22:28 Vulkan: Add GPU memory report and analysis documentation This information should be generally searchable and available. Bug: b/173636655 Change-Id: I5f8cad0f34f96c085ceea369d320863f20373c99 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2714232 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com>
Ian Elliott cffe90b4 2021-02-09T12:48:13 Vulkan: Update documentation for enabling debug markers After changes to the GN arg "angle_enable_trace" were done, other GN args are now needed. Bug: b/170249632 Change-Id: Ib5e703434cb580aa838ef8632b271f5f20554f42 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2684933 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com>
Shahbaz Youssefi a685db2e 2021-01-26T14:45:58 Update README.md for Fuchsia Bug: angleproject:1944 Change-Id: I823ffba6b67e65dbf4b24e8863a117fcdff76657 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2648638 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Michael Spang <spang@chromium.org>
Tim Van Patten e16ff968 2020-12-23T12:49:58 Android: Update adb install to include -r -d --force-queryable The adb install command is being updated to include the following options: -r: replace existing application -d: allow version code downgrade (debuggable packages only) --force-queryable: mark the ANGLE APK as visible to all other packages This will allow AngleLibraries.apk to install without errors and be loadable for apps targeting SDK >= 30. Bug: b/175800879 Change-Id: I61bb7218b407e54057adbfb5aa3098a96b903f5e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2602241 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tim Van Patten <timvp@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>
Stephen White 63b548b9 2020-11-13T10:27:55 Wrap a paragraph in DevSetup docs to 100 chars. Bug: angleproject:5343 Change-Id: I27735c814ab5e4cafe1f1a9e9577e27a2d5ad6a7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2537237 Commit-Queue: Stephen White <senorblanco@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Stephen White 4dc91509 2020-11-13T09:34:03 Fix some apostrophes, because I'm possessive like that. Bug: angleproject:5343 Change-Id: Ib3dcdf640a4d7f097c5e094bb18acb96f0a5510b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2537233 Commit-Queue: Stephen White <senorblanco@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Stephen White b441ffed 2020-11-12T23:22:01 Fix EGL_ANGLE_platform_extension* filenames in DevSetup docs. Bug: angleproject:5343 Change-Id: I8d24e27df052ea6f811ea5ed15c7ee5256d516ef Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2537232 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Stephen White <senorblanco@chromium.org>
Jamie Madill a9415a85 2020-11-06T08:33:49 Update DevSetup. We no longer require a specific version of the Windows SDK. Also include updated instructions on how to setup Goma. Bug: angleproject:1944 Change-Id: I5f9e714ebd69ba04eddc1b1fc2f95d1fde67a47f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2522419 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Ian Elliott f418c109 2020-10-28T15:15:15 Vulkan: Document how to turn on debug markers Bug: b/170249632 Change-Id: Ie71a2e9699c3da88dd7e285177bb0ce1520f5bbc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2506420 Commit-Queue: Ian Elliott <ianelliott@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Qin Jiajia c69ef8bf 2020-10-14T10:30:38 Add the ES31 status on d3d11 document. Bug: angleproject:1944 Change-Id: Id1ca994c1dcebb851c68cec7d623ac96172aa56b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2469605 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Ian Elliott a2491911 2020-10-07T13:56:37 Document how to revert/reland a CL Bug: angleproject:5141 Change-Id: I9a0a2ae18dc298250f8fc6fba2eb0042a31dc369 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2458846 Commit-Queue: Ian Elliott <ianelliott@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Tobin Ehlis 736c43a1 2020-08-31T10:23:27 Rename ANGLE apk package to org.chromium.angle Bug: b/167223999 Change-Id: Iaa0b7c779bf744da17a0defba32c966225300a4c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2385915 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Tobin Ehlis <tobine@google.com>
Cody Northrop a7cbb3f0 2020-08-10T09:53:54 Capture/Replay: Allow starting capture at an unknown frame This CL adds a new way to set the start frame of a capture. It adds a new environment variable called ANGLE_CAPTURE_TRIGGER that, when set, will be used instead of frame start and end. By setting ANGLE_CAPTURE_TRIGGER to a non-zero value, ANGLE will capture that many frames when the value changes. For example, on Android, we can set it with: adb shell setprop debug.angle.capture.trigger 20 When we reach the target content, set the value back to zero: adb shell setprop debug.angle.capture.trigger 0 and ANGLE will start capturing 20 frames. Currently only hooked up for Android, but should be possible to support on other platforms. Test: Capture application frames using trigger Bug: angleproject:4949 Change-Id: I469ef5c48feb78c85b8cda2fefd5df59e495bbe2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2347858 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Manh Nguyen <nguyenmh@google.com>
Manh Nguyen 559d54d0 2020-08-03T21:05:38 Update readme with how to run regression testing script Updates CaptureAndReplay.md with how to run capture_replay_tests.py. Explains certain important flags and their effects on the behavior of the script. Bug: angleproject:4817 Change-Id: I628edf57cde51d2a6f667fbfd7dc937964badbac Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2336188 Commit-Queue: Manh Nguyen <nguyenmh@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Manh Nguyen 3b0c9918 2020-07-21T11:52:13 Update CaptureAndReplay.md and Python script with links Links to the Python script in CaptureAndReplay.md Links to CaptureAndReplay.md's testing section in the Python script Bug: angleproject:4817 Change-Id: I584f8508661950e4907dae1adb8f0fe300387198 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2309226 Commit-Queue: Manh Nguyen <nguyenmh@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Wander Lairson Costa ee9c4fe4 2020-07-14T15:29:40 D3D: Make possible to build angle without D3D11 A few files inside the D3D11 tree are used by D3D9 and WGL backends. We add these files to the build system even when D3D11 is disabled. Also, we fix the use the of ANGLE_DEFAULT_D3D11 symbol. Bug: angleproject:4839 Change-Id: I981f4bfc60d973c02549caa737c5aed5ccf31282 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2298143 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Manh Nguyen 10e9e9a1 2020-07-13T17:02:38 Apply multiprocessing to capture_replay_tests.py Multiple tests are run in paralell to squeeze the most out of CPUs. Tests are stored in a work queue. Whenever a CPU becomes available, the next unrun test is grabbed and run on a spawn process on that CPU. Each cpu gets their own environment and build folders and trace folders so that tests don't overwrite each other. Bug: angleproject:4817 Change-Id: Ifd35c9c75522e480b0257d090d5af70f2a3428ba Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2296040 Commit-Queue: Manh Nguyen <nguyenmh@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Kenneth Russell 5927706b 2020-07-14T17:26:27 Revise documentation on adding EGL extensions. Provided more links and steps per earlier advice from geofflang@. Bug: angleproject:4842 No-Try: true Change-Id: I9c9361b4b71a63fd36f79a87d45e0f4b04c4140c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2297528 Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Manh Nguyen dce37b7d 2020-06-21T22:27:06 Serialize framebuffers + compare contexts for CaptureReplayTests Adds to frame capture the ability to serialize a frame's pre-swap GL state and store it in the binary data file Adds to CaptureReplayTests the ability to compare its serialized GL state with the serialized state pulled from the binary data file Adds a serialization module that serializes framebuffers' GL states and the contents of their color attachments Adds checks to automation script so that it would skips tests that do not produce the expected trace files Adds exception handling to automation script so that it will not crash when a replay build crashes Bug: angleproject:4779 Change-Id: I40a02e018073749e79f0ddbfd3d4065745548f46 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2258295 Commit-Queue: Manh Nguyen <nguyenmh@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Charlie Lao 6d781655 2020-06-23T12:48:49 Update style guide for reference on container object ANGLE should follow google's c++ style guide here instead of having its own exception. Bug: None Change-Id: Ie3909335a99e40dd555db3d98aa2bb1886884423 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2261420 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Kenneth Russell af727792 2020-06-10T21:55:43 Improve EGL_ANGLE_power_preference on dual-GPU MacBook Pros. Add the ability to release and reacquire the high-power GPU, and to respond to changes in the active GPU. In Chromium, the GPU process can not access the WindowServer. An external process must inform ANGLE that the active GPU has changed, and that ANGLE should switch its internal context to the new GPU. Incorporates a couple of functions from WebKit, used with permission, to effect this GPU switch. A follow-on change in Chromium which uses these new APIs will make the existing dual-GPU tests pass with ANGLE and the passthrough command decoder. Carry forward Chromium's workaround of disabling GPU switching on older MacBook Pros to ensure stability. Document the process of adding new EGL extensions to ANGLE. Bug: chromium:1091824 Change-Id: I499739156e851b493555d4d6e4aef87d8b97fa31 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2240638 Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Yuly Novikov b10f4b94 2020-06-04T15:40:20 doc: Chromium branch autorollers Bug: angleproject:1944 Change-Id: I8359bcc99389fd416d2c8cedc880bc2c00291bee Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2230793 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill 6169aca6 2020-06-01T10:45:17 Update dirty bits flow example. Had an incorrect label for the gl::Context and was missing a few edges for new connections. Bug: None Change-Id: I037551f8f0a6559b9c522ae192b1cd93edf9bcf0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2223815 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Cody Northrop 4bbef996 2020-05-26T15:40:51 docs: Update ANGLE for Android documentation Following up on feedback to minimize GN arg lists. The initial block generates a Debug build with minimum variance from default args. The additional blocks are for different scenarios, like getting maximum performance, and verifying ANGLE runs cleanly with Vulkan in Release. Bug: b/150368485 Bug: angleproject:4347 Change-Id: I4db6c389b9bdaf8124795a3aeeb79590245d1e70 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2216813 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Jamie Madill 0bba1100 2020-03-27T14:39:44 Update OWNERS information. Also includes some documentation maintenance. Bug: angleproject:4511 Change-Id: I7ecce494909f06387875ff85a10004d0c446bbaf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2124597 Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 7e453a25 2020-03-15T22:11:03 Capture/Replay: Use zlib to compress data files. Gives about a 2-3x reduced data file size. Should help reduce the time we spent transferring trace files on Android. This feature is implemented as a parameter to the capture/replay tool. This keeps backwards compatiblity if we ever need to integrate a cpp replay into an environment that doesn't have access to zlib for decompression. We'll need to update the traces to take advantage of the compression. Bug: angleproject:4484 Change-Id: Id7994efe3c0d529b85fa7e7f1b00444e630dd2cd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2104555 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 457588ef 2020-03-16T14:11:33 Add more documentation on testing infrastructure. Adds more info on the amount of testing ANGLE runs and our various configs. Adds a few other notes and cross-links. Bug: angleproject:1944 Change-Id: I76e46783bd6a3f84d3e170bd30ea2e6d57911143 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2105715 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Cody Northrop 1cd52d2c 2020-02-18T15:28:29 docs: Document how to use ANGLE on Android This CL creates a new page that is dedicated to building and using ANGLE for Android. With Android 10 released, now anyone can try out ANGLE as their GLES driver for debuggable apps. It can also be loaded for any app if the user has root access. Also migrated existing Android build instructions with updates from the team. Bug: angleproject:4347 Change-Id: Iead6a456780aba033a1227605f197a456ad30eb3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2063569 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Eric Binet f64ddcfd 2020-01-06T13:27:30 Add missing steps in DevSetup Bug: angleproject:4268 Change-Id: Ib7f58ba241c24acb35d8705d994c57422d9b73e4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1987908 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Tobin Ehlis 5fd73782 2019-08-09T11:46:46 Vulkan: Use volk to load vk* func ptrs Thanks to Jamie Madill for some fixes to get all CI test passing w/ volk. This change updates all ANGLE targets that use Vulkan to dyanmically link all of the VK entrypoints using the volk OSS library from https://github.com/zeux/volk. It's only two source files so baking them directly into ANGLE repo. Also it's used in both the tests and libANGLE trees so added to src/common/third_party/volk dir. Updated volk and the renderer to track latest instance and device that were loaded and renderer will refresh vk* function pointers if the current and previous device and/or instance don't match. This prevents errors in the test framework as we transition between backends, especially between VK HW & SwiftShader ICDs. This change rolls the Vulkan Loader forward to use the latest loader version which no longer allows static linking but requires dynamic linking. Bug: angleproject:3740 Bug: angleproject:4092 Bug: angleproject:4162 Bug: angleproject:4210 Bug: angleproject:4225 Change-Id: I8a0b7d24c9545bbfdfaa4b9357a9bfe6793e0140 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1965640 Commit-Queue: Tobin Ehlis <tobine@google.com> Reviewed-by: Tobin Ehlis <tobine@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Cody Northrop 1d77542f 2019-12-03T15:54:41 Add flag to label captures Add an optional parameter (ANGLE_CAPTURE_LABEL) to ANGLE frame capture that tags files and functions uniquely, allowing multiple frame captures to be replayed by a test harness. Example: ANGLE_CAPTURE_LABEL=foo Results in filenames like this: foo_capture_context1.cpp foo_capture_context1.h foo_capture_context1_files.txt foo_capture_context1_frame000.angledata foo_capture_context1_frame000.cpp foo_capture_context1_frame001.angledata foo_capture_context1_frame001.cpp ... Functions wrapped in namespaces like this: namespace foo { void ReplayContext1Frame0(); void ReplayContext1Frame1(); } For use like this: foo::SetupContext1Replay(); for (...) { foo::ReplayContext1Frame(i); } Bug: angleproject:3630 Change-Id: Ibe27dc4d40a36606ee40678a9e4d43b5a4baf976 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1949603 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis 6e4004dd 2019-12-06T14:41:17 Add metal display type to angle_deqp_tests Adds --deqp-egl-display-type=angle-metal for running the deqp tests on Mac. Note: does not add any test suppressions for metal. Bug: angleproject:2634 Change-Id: I8f8d3a83cf93a5b930b05af9f0075a9ce435823a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1954612 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Shahbaz Youssefi 5efb36b9 2019-11-25T16:14:55 Automatically call flex/bison if necessary ANGLE translator's parser code generation is changed to use the binaries of flex/bison stored in the cloud. scripts/run_code_generation.py now automatically runs these files if the input files change. Bug: angleproject:3419 Change-Id: Icce4247f93b27baf8ee12dbb16112fa2cc98c111 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1940572 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jonah Ryan-Davis 5afd5ec6 2019-10-25T10:53:40 Vulkan support for MacOS (using SwiftShader) Created a new WindowSurface/Display for MacOS/Vulkan, along with some GN changes to get it working. Bug: 1015454 Change-Id: I3f7a12f173795efe598856c702ce53b1e50831eb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1880163 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Cody Northrop 6430e5e0 2019-11-20T19:56:10 Enable frame capture on Android This CL gets capture/replay working on Android again. * Updates where Android frame captures are written * Uses debug system properties to prime Android environment variables * Adds a configurable target Context to the capture_replay sample * Updates capture/replay documentation for Android Bug: angleproject:4036 Test: Captured TRex on Android, replayed on Linux Change-Id: I94b4f6dc77468cd179b9d884b4dcd4afa56bd28c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1928056 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Jamie Madill 653ee5f1 2019-11-07T09:14:22 Capture/Replay: Introduce capture index file. This index file lets us very easily write a generic capture sample. Previously the dev had to maintain a list of multiple sources files. Potentially hundreds. By writing the source file list to an index file we can load this easily in GN as a variable and plug that into the sources. Also updates docs. Bug: angleproject:3611 Change-Id: I69ba961e271d6d13d06ae01c89a0605a6fd725ec Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1902189 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Jamie Madill 6c7208f9 2019-10-31T14:33:27 Capture/Replay: Implement mid-execution replay. Mid-execution replay starts the replay from a specific start frame instead of frame 0. Integration tests will then run between the start and end frames. This lets us make much smaller reproduction cases from large benchmarks or applications. We implement mid-execution replay via a cpp "Setup" function. The replay test will run the setup function before the starting frame. Test execution proceeds normally after setup. Currently we do not implement mid-execution capture. We run capture on all frames. Including frames before the start frame. We do this to intercept compiled shaders and programs for easier caching. This could be changed in the future to also start capture mid-execution. Mid- execution capture might require using ProgramBinary calls to capture shader and program data. Many captures are unimplemented. Several comments indicate missing functionality. There's a lot we can add as we explore replaying more complex applications and higher GL versions. We will also need some kind of state reset functionality so we can run the replay in a loop. Bug: angleproject:3611 Change-Id: I51841fc1a64e3622c34e49c85ed8919a9a7c0b20 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1689329 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Courtney Goeltzenleuchter f8a8ac0c 2019-10-29T11:59:22 Update docs for recent dEQP / VK-GL-CTS update Location of dEQP / VK-GL-CTS has moved, update doc/dEQP.md. Bug: angleproject:3914 Change-Id: I705922b7292ffb60954042edae2514d515e68b44 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1887678 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Jamie Madill 664be3f8 2019-10-25T11:17:58 Capture/Replay: Fix docs link. Should be samples/capture_replay not samples/capture_and_replay. Bug: angleproject:3611 Change-Id: I5de4849c875add39df36f7875482e4dc91ca0ca6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1880158 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill f251995d 2019-10-24T12:42:36 Capture/Replay: Write capture index file. This file will be used with multi-frame captures to share common code. Common code is global state, resource maps, and a list of frame replay functions. This should make converting a CPP replay into a functional test quite a bit simpler. The replay files will now be something like: angle_capture_context1.cpp angle_capture_context1.h angle_capture_context1_frame000.cpp angle_capture_context1_frame001.cpp ... etc Also adds a template for adding a capture/replay sample. Instructions are located in samples/BUILD.gn and docs in doc/CaptureAndReplay.md. Bug: angleproject:3611 Change-Id: I437b338fd84689d670a7d9e3e219d9334de25fd8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1869543 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tobin Ehlis <tobine@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Jamie Madill a2e66a5e 2019-10-24T12:42:36 Capture/Replay: Introduce environment options and docs. Introduces a few ways of controlling capture via: * `ANGLE_CAPTURE_ENABLED`: Can be set to "0" to disable capture entirely. * `ANGLE_CAPTURE_OUT_DIR`: Can specify an alternate directory than the CWD. * `ANGLE_CAPTURE_FRAME_END`: This variable can override the default of 10 frame to capture. Also adds a simple usage guide document. Bug: angleproject:3611 Change-Id: I49d32d5bae2c490dcbeb0f1ce3c6038e433adfaa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1869542 Reviewed-by: Tobin Ehlis <tobine@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 2682b5a0 2019-10-07T15:13:23 Documentation maintenance. Fixes links in the Vulkan back-end doc. Also includes a link to the Vulkan back-end docs on the main page. Also updates the building code section to mention VS2019 and make the win toolchain varable set more prominent. Bug: angleproject:1944 Change-Id: I8e8f0775daa3643afaa1ddd44429fa7d8e77b19b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1846014 Reviewed-by: Jamie Madill <jmadill@chromium.org>
Austin Kinross 11dc1635 2019-09-18T14:46:23 Add support for generating UWP (Windows Store) projects again Until late 2017, ANGLE supported Windows Store apps on Windows 8.1, Windows Phone 8.1, and Windows 10 (via the Universal Windows Platform, aka UWP). Unfortunately ANGLE deprecated support for Windows Store when it switched from GYP to GN in 2017. Since then, users have been able to use Microsoft\angle for their UWP apps but this isn't ideal since it's based on a 2017 copy of Google\angle. This PR bring back support for UWPs, so that UWP users can use Google\angle again. Specifically it: - Adds support for generating UWP projects via GN - Adds helper/util functions specific to UWP (they're mostly similar to the desktop Windows helpers) - Fixes some existing Windows Store code that's rotted since 2017 - Disables async shader compilation for UWPs, since its implementation calls wait on the UI thread (which is forbidden in UWPs) - Renames 'ANGLE_ENABLE_WINDOWS_STORE' to 'ANGLE_ENABLE_WINDOWS_UWP', since ANGLE only support UWPs now - Fixes misc other related issues (such as dependencies on D3D9 headers in API-agnostic code) Note that this doesn't bring back support for Windows/Phone 8.1. BUG=angleproject:3922 Change-Id: Ia79ae05a5e0e0a0625eb633bf1928722dfd3e85f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1811871 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill f92adbbc 2019-08-30T16:33:36 Update docs on enum names. Reflects the currenct approach for ANGLE enum naming. Bug: angleproject:1944 Change-Id: I102ad8155d781888d96af06346afbce2e0e6cd59 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1779022 Reviewed-by: Geoff Lang <geofflang@chromium.org>