scripts/registry_xml.py


Log

Author Commit Date CI Message
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>
Jeff Vigil d3e67716 2021-09-21T15:03:15 EGL: EGL_KHR_lock_surface3 Add new extension KHR__lock_surface3 Add new interfaces for locking and unlocking a surface. Test: angle_end2end_test --gtest_filter=EGLLockSurface3Test Bug: angleproject:6062 Change-Id: Ic40708db4db552107025635540a0c62f956d741e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3161447 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@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>
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>
Brandon Schade a33d902b 2021-08-16T12:01:53 Add Entry points for GL_EXT_EGL_image_storage Code generation for GL_EXT_EGL_image_storage Bug: angleproject:6346 Change-Id: Ib918619205bfe7bd8fba0748ff6db593c858151f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3133763 Commit-Queue: Brandon Schade <b.schade@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Alexey Knyazev 8c05fd4f 2021-08-21T23:03:16 Add ASTC & PVRTC to GLenumToString Bug: angleproject:4093 Change-Id: Iab19fddd2e0680a39741d2ef0b9003af5a808d49 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3110552 Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Jamie Madill d2d1f41f 2021-08-16T08:05:55 Add EGL extension to create window with a swap interval set. On Vulkan this allows creating a window once without needing to recreate the swapChain after we specify the swap interval. Also adds a simple regression test and EGL enum assertion printing formatting. Bug: angleproject:5133 Change-Id: I72af124cb0e8f7cddfa810988a9862c0f36a0e46 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3097806 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Jeff Vigil 6136620b 2021-03-25T15:43:06 Reland "EGL: GLES: Implement GL_EXT_protected_textures" This is a reland of 6210a9b34a721df2c84cf69170ad9bf7ba40e4aa This removes changes in gl backend. Original change's description: > EGL: GLES: Implement GL_EXT_protected_textures > > Implement EGL_EXT_protected_content Images > Add protected member to Images and Textures > Add error when creating objects if not supported or > does't match native buffer > When creating siblings pass protected state > Add extension caps > Add Validation > Add GetTexParameter and SetTextparameter > Add protected to Texture and state > Expand tests for images and textures > > Test: angle_end2end_test --gtest_filter=EGLProtectedContentTest > > Bug: angleproject:3965 > Change-Id: I35a89b4e80bba6d9b6831c68e71630eef304dacb > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2802852 > Commit-Queue: Mohan Maiya <m.maiya@samsung.com> > Reviewed-by: Geoff Lang <geofflang@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Test: angle_end2end_test --gtest_filter=EGLProtectedContentTest Bug: angleproject:3965 Change-Id: Id36d697c53afc0f0dadf92bda4565f9157f4fc2a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3076825 Commit-Queue: Brandon Schade <b.schade@samsung.com> Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill c408926f 2021-07-22T12:00:59 Revert "EGL: GLES: Implement GL_EXT_protected_textures" This reverts commit 6210a9b34a721df2c84cf69170ad9bf7ba40e4aa. Reason for revert: Suspected for breaking ANGLE->Chrome roller. Bug: angleproject:6204 Original change's description: > EGL: GLES: Implement GL_EXT_protected_textures > > Implement EGL_EXT_protected_content Images > Add protected member to Images and Textures > Add error when creating objects if not supported or > does't match native buffer > When creating siblings pass protected state > Add extension caps > Add Validation > Add GetTexParameter and SetTextparameter > Add protected to Texture and state > Expand tests for images and textures > > Test: angle_end2end_test --gtest_filter=EGLProtectedContentTest > > Bug: angleproject:3965 > Change-Id: I35a89b4e80bba6d9b6831c68e71630eef304dacb > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2802852 > Commit-Queue: Mohan Maiya <m.maiya@samsung.com> > Reviewed-by: Geoff Lang <geofflang@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Bug: angleproject:3965 Change-Id: Ia3ef260a17097b474189ccad5b235a9db99ee00b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3043889 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Jeff Vigil 6210a9b3 2021-03-25T15:43:06 EGL: GLES: Implement GL_EXT_protected_textures Implement EGL_EXT_protected_content Images Add protected member to Images and Textures Add error when creating objects if not supported or does't match native buffer When creating siblings pass protected state Add extension caps Add Validation Add GetTexParameter and SetTextparameter Add protected to Texture and state Expand tests for images and textures Test: angle_end2end_test --gtest_filter=EGLProtectedContentTest Bug: angleproject:3965 Change-Id: I35a89b4e80bba6d9b6831c68e71630eef304dacb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2802852 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 8c1cbc5a 2021-07-16T14:01:53 Implement EGL_KHR_mutable_render_buffer in the front-end. Note that we do not currently expose any mutable configs. Bug: b/192352791 Change-Id: Ib97f7889fedd91d09ef32dc7e7494ea4476cd7bd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3035583 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
Lubosz Sarnecki dcfde515 2021-06-24T15:59:04 gl.xml: Add GL_FRAMEBUFFER_SRGB_EXT to EnableCap group. Add GL_EXT_sRGB_write_control in registry_xml.py. This makes FrameCapture write a GL_FRAMEBUFFER_SRGB_EXT enum instead of it's hex value in glEnable/Disable calls. Bug: angleproject:5857 Change-Id: Ifa01118c2958275c7623c6bfe29f015fa8875fce Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2988356 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
John Plate 69562546 2021-06-11T19:12:11 CL: Refactor info structs and fix conformance bug - Remove variable name prefix from Info structs to be more consistent with other ANGLE structs. - Fix CL object validation check with magics, since the Mesa solution doesn't work without RTTI. - Add support for some extensions required by OpenCL 1.1 and for some optional extensions. - Fix more conformance bugs. Bug: angleproject:6015 Change-Id: I41b1c45d95059a9994f5dc78bf9b74476cc6f2d4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2956349 Commit-Queue: John Plate <jplate@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Brandon Schade 69f2fb00 2021-03-08T10:49:31 Vulkan: Expose OES_geometry_shader extension Modify the symbol table generation script to accept a list of supported extensions. This allows for the EXT and OES versions of the geometry shader extension to be exposed. Test: angle_deqp_khr_gles31_tests --deqp-case=*geometry_shader* Bug: angleproject:3571 Change-Id: Ia7127a03dbd3fce78957f0505d3ce0c9bab6cb15 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2765011 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Jeff Vigil d52ed4bd 2021-03-25T14:31:03 EGL: setup extension EGL_EXT_protected_content Add extension to registry Update hashes Bug: angleproject:3965 Change-Id: Ie2808b8a599ae4adbf6f2f1d24db046799f594df Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2800412 Commit-Queue: Brandon Schade <b.schade@samsung.com> Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Alexey Knyazev bca7c408 2021-05-09T15:09:45 Update entry points for GL_EXT_texture_sRGB_RG8 Bug: angleproject:4932 Change-Id: Ie210a9dd342581adb71af4782383be2bb3ffd6a3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2880667 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
John Plate dfe208f1 2021-04-28T18:26:00 Add loader for CL pass-through back end Bug: angleproject:5904 Change-Id: If4960f3150f6bbc85a30f0f6ac5c9e668e6ff756 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2864022 Commit-Queue: John Plate <jplate@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Mohan Maiya 61167d52 2021-04-24T09:50:31 Add EXT_primitive_bounding_box entry points Addition of the entry points for GL_EXT_primitive_bounding_box extension. Bug: angleproject:5896 Change-Id: I0dce407d2826ce3f730125d7c03f1233420f6780 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2849615 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Mohan Maiya 2d741b43 2021-04-20T07:33:02 Add KHR_blend_equation_advanced entry points Addition of the entry points for GL_KHR_blend_equation_advanced extension. Bug: angleproject:3586 Change-Id: I7a651c19a4b3d0a7cfe4af7813f1530d27704bc1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2830140 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Mohan Maiya bdf5f084 2021-04-16T11:29:29 Add EXT_texture_border_clamp entry points Addition of the entry points for EXT_texture_border_clamp extension. Bug: angleproject:3586 Change-Id: I366c2748213d7fdde815543129320278937000e0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2830146 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Chris Forbes 84a62266 2021-04-01T15:18:44 Expand CL plumbing support to cover all versions The OpenCL CTS assumes that libOpenCL has symbols for all versions as it usually expects to link against the Khronos loader. Since we're not using that, we have to expose all the symbols it wants, whether we intend to implement all versions or not. All the 2.x stuff will likely remain stubs forever as it is made optional again in 3.0. In the generator scripts, work around a small issue where one function takes an array-typed parameter, which confused just_the_name and produced invalid code. Bug: angleproject:5819 Change-Id: I6c3591dc9229c5276f14ff66ee3ee6362e8bf622 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2807531 Commit-Queue: Chris Forbes <chrisforbes@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: John Plate <jplate@google.com>
Jamie Madill 9b0911a0 2021-04-02T12:46:37 Add GL_ANGLE_get_serialized_context_string. This will provide a front-door entry point where we can get a serialized string representing the context state. Previously we would have to call ANGLE internal directly. This will enable a refactor of the replays to work more like standalone plugin libraries. Bug: angleproject:5811 Change-Id: I5a97d7aa3cd70c49199264c2eb7ca953943ac3c3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2803391 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
Jamie Madill 6623a70f 2021-02-19T17:28:10 Stubs for OpenCL entry points. Bug: angleproject:5653 Change-Id: I7ec9692a47be2556fef5bdd7630b422cc2d369b9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2708343 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Jamie Madill 7b7e5cad 2021-02-19T13:46:06 Clean up entry point generation script. The main refactor from this change is to replace statements like this: decls, defs, export_defs, _, _, _, _ = get_entry_points( apis.EGL, eglxml.all_commands, egl_version_commands, False, egl_param_types, cmd_packed_egl_enums, EGL_PACKED_TYPES, egl_ep_to_object, TEMPLATE_EGL_ENTRY_POINT_EXPORT) With statements like this: eps = EGLEntryPoints(eglxml, egl_version_commands) This will make the script easier to maintain and extend. Bug: angleproject:5653 Change-Id: Ibd0930d45b8629702b7782f43a2d7ebfa4dac9b8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2705156 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 7e990ef4 2021-02-16T18:15:43 Clean ups to generate_entry_points. Switches to Python 3 support. Made a change to run_code_generation to support this. Affects several generators. Also updates the generator to make a few other small cleanups. Bug: angleproject:5653 Change-Id: I045173c9ca85947c4eac22285701032c09f4c8d0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2699187 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Mohan Maiya 68f35f24 2021-01-07T14:42:57 Vulkan: Add GL_EXT_clip_control entry points Addition of the entry points for GL_EXT_clip_control extension. Bug: angleproject:5471 Change-Id: If17ba0120bdb226cc5728bfea83e9085260eba19 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2615862 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Jonah Ryan-Davis 88fec1e8 2020-12-23T11:53:55 Code generation for NV_framebuffer_blit Generate the entry points for NV_framebuffer_blit. Bug: angleproject:5474 Bug: chromium:1157057 Change-Id: Iadffa24ce7368d8ab6c4bf9d5b6c016276e762f5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2602242 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
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 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>
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>
Jamie Madill 6edaf098 2020-11-30T16:03:45 Entry Points: Clean up versions lists. This reduces code duplication in a few generator scripts. The version lists are now located in registry_xml. Bug: angleproject:2621 Change-Id: Ia1470f2863753d78d8def1132a20e81d3f8ec4a3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2566591 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Mohan Maiya 738092ae 2020-11-18T07:58:53 Add auto generated code for GL_EXT_tessellation_shader To support tessellation, code and auto generated code are added. Entry points function, ShaderTypes, built in variables and constants, builtin function barrier and patch keyword are added. Bug: angleproject:3572 Change-Id: Ia5fe473e884466cb88cea7138e13377a1d7b4fa0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2538393 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Mohan Maiya cc4ae6da 2020-11-16T08:38:54 Vulkan: Add EXT_separate_shader_objects entry points Addition of the entry points for EXT_separate_shader_objects extension. Bug: angleproject:3570 Change-Id: I95a1342bb3322b49997125a17367590183134c84 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2539120 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Geoff Lang 5b419533 2020-11-03T13:33:44 GL: Implement EXT_YUV_target Add test coverage of YUV format sampling as RGB or directly as YUV and rendering as YUV using layout(yuv). Initializing YUV AHardwareBuffers requires Android API 29 so ANGLE must be compiled with: android32_ndk_api_level = 29 android64_ndk_api_level = 29 The following tests can still run with Android API 26 because they don't need to initialize the buffer: ImageTestES3.ClearYUVAHB ImageTestES3.YUVValidation Bug: angleproject:4852 Bug: b/172649538 Change-Id: I4fe9afb2a68fb827dc5a5732b213b5eb60d585ac Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2517562 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Mohan Maiya 9217d49d 2020-11-08T09:18:33 Vulkan: Add EXT_external_buffer entry points Addition of the entry points for EXT_external_buffer extension. Bug: angleproject:5073 Change-Id: I5dc9f74dfd68c1e83e17ca15166df4cd4c20fca2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2525104 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 089ef0fa 2020-10-14T11:31:56 Expose glGetTexLevelParameter{if}v before ES 3.1. Add a new extension, ANGLE_get_tex_level_parameter which allows users to query texture size and format information before ES 3.1. This is very useful for re-using existing textures instead of re-allocating. Bug: chromium:1132514 Change-Id: I71f6bad8bdacb91875cc81b4884d4c3099235f3f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2469959 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jeff Vigil 8eaf72a8 2020-10-14T10:20:20 EGL: Entrypoint and autogen for EGL_KHR_reusable_sync Add entry point eglSignalSync Update autogen files Test: angle_deqp_egl_tests --deqp-case=dEQP-EGL.functional.reusable_sync.* Bug: angleproject:5168 Change-Id: I47afa4010c533096b4c56e9b3ab6eddc1944b83e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2472998 Commit-Queue: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jeff Vigil <j.vigil@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Brandon Schade b22e437a 2020-10-07T18:02:39 Add GL_EXT_copy_image extension entry points Bug: angleproject:3593 Change-Id: I6d3a55a3112f5f9b20ef33c859a60b2952bfbc2f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2444209 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Mohan Maiya a2d9abef 2020-10-01T16:28:59 Vulkan: Add OES_sample_shading extension entry points Addition of just the entry points for OES_sample_shading extension. Bug: angleproject:3587 Change-Id: I7ef5ceb846d130c2d1e0b4ea7dcbe92452b5d7d3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2444212 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Jeff Vigil 6612da1f 2020-09-25T09:52:58 GL_OES_texture_stencil8 autogen Add extension string to registry_xml.py and autogen files. Bug: angleproject:3231 Change-Id: I57d7f8d8e9292f32b2ae461c539296eb63ce26d4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2432270 Commit-Queue: Jeff Vigil <j.vigil@samsung.com> Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Mohan Maiya 48588bd1 2020-09-18T17:33:55 Vulkan: Add GL_EXT_buffer_storage extension entry points Addition of just the entry points for GL_EXT_buffer_storage extension. Bug: angleproject:5056 Change-Id: I7a3d7c151f004f89fd945d5d06dbe7afcd491578 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2419951 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Mohan Maiya c99c22bb 2020-09-15T16:53:26 EGL: Add support for EGL_ANDROID_create_native_client_buffer This EGL extension will add support for creating EGLClientBuffer backed by an Android window buffer (struct ANativeWindowBuffer) which can be later used to create an EGLImage. Bug: angleproject:5018 Tests: angle_end2end_tests --gtest_filter=ImageTest.SourceNativeClientBufferTarget* Change-Id: If78ed7b80ad09629b8c5f5b5a0eb07a548e82e6e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2404320 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Shahbaz Youssefi e4e2a847 2020-08-03T14:09:49 Entry points for ANGLE_external_objects_flags Bug: angleproject:4912 Bug: fuchsia:52759 Change-Id: If339f096a74cc87d16a6494562711d718a7738ea Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2335019 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jonah Ryan-Davis 4f7f4387 2020-07-24T11:44:02 Add entry points for OES/EXT_texture_buffer This extension is core in 3.2 Bug: angleproject:3573 Change-Id: If08736759da2fdc680cfa396d354dbfa97d1a60f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2317040 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 41442cce 2020-07-31T11:44:38 Autogenerated changes for GL_EXT_multisampled_render_to_texture2 Bug: angleproject:4836 Change-Id: I86143c6b21ecdbc666ce316b6e4a4b402257f01c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2332957 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Peng Huang 4cf2501c 2020-07-27T13:19:27 Add extension EGL_ANGLE_display_semaphore_share_group For sharing semaphores globally. Bug: angleproject:4877 Change-Id: I472e0902fd04ca8350d74e6c0ae6925ee930ccf9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2319370 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
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>
Jonah Ryan-Davis 31fbf981 2020-05-25T15:33:44 GL: Entry points for GL_OES_texture_cube_map_array This extension is made core in GLES3.2. This CL adds the necessary entry points to the frontend. Bug: angleproject:3584 Change-Id: Icaaa0b298898f3360819966a7f67b5feaf05124b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2215305 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Mohan Maiya daed369c 2020-05-05T14:24:26 EGL: Add support for GL_EXT_EGL_image_array extension Add support for creating 2D array EGLImages. 2D array textures are core in GLES3.0. Enable the eglImageArray bool that controls exposure of the extension for all contexts >= GLES3.0 Bug: angleproject:4604 Tests: angle_end2end_tests --gtest_filter=ImageTest.*2DArray* Change-Id: Iebc1ad184fe7209ca89d620290337438ac251c56 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2176109 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Mohan Maiya dac5cc3b 2020-04-08T18:26:46 EGL: Add support for EGL_EXT_image_gl_colorspace extension Add support for creating images with custom colorspace. Bug: angleproject:3756 Tests: angle_end2end_tests --gtest_filter=ImageTest* Change-Id: I9c332c012541c094728d9d9bde7add4189084a33 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2104088 Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Brandon Schade a156df23 2020-03-20T08:12:34 Vulkan: add support for EXT_texture_sRGB_R8 Added support for EXT_texture_sRGB_R8. The GL_SR8_EXT format will be available if the VK ICD supports VK_FORMAT_R8_SRGB. This does not add support for emulation of this format. Bug: angleproject:4503 Bug: angleproject:3609 Test: dEQP-GLES3.functional.texture.*.srgb_r8_* Change-Id: Ifaec92ac1a8561881f54ddb7fdf0975112711736 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2135853 Commit-Queue: Brandon Schade <b.schade@samsung.com> Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Tim Van Patten <timvp@google.com>
Jonah Ryan-Davis 4b94d7bb 2020-03-24T17:23:19 Split EGL_CHROMIUM_sync_control into EGL_ANGLE_sync_control_rate eglGetMscRateCHROMIUM was added to EGL_CHROMIUM_sync_control based on the original extension GLX_OML_sync_control. However, this new function is not universally implemented. This CL moves it to a new extension, EGL_ANGLE_sync_control_rate, and renames it to eglGetMscRateANGLE. Bug: chromium:1064078 Change-Id: Ia2a29c6776b2b2bf2b98e58ee83b5f141ed01301 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2118154 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
Cody Northrop 74e816bf 2020-03-26T17:40:25 Vulkan: Expose extension for ETC1 usage with subimage updates This CL implements the GL_EXT_compressed_ETC1_RGB8_sub_texture extension, which was added to relax restrictions on using ETC1_RGB8_OES for subimage updates. Test: Temple Run on Android Bug: b:152512564 Change-Id: I78cfd7dfd54fab36dee59a93b3ec3bfce17e73e4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2123232 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Alexey Knyazev 51a9da21 2020-02-28T13:57:25 Add OES_draw_buffers_indexed autogenerated wrappers and validation redirects. This extension allows setting independent blend state (and color write mask) for each draw buffer. OES and EXT versions provide exactly the same functionality. It is also included in GLES 3.2 core. Bug: angleproject:4394 Change-Id: I0c27c419472622e309a038dd1463fa0b3e4ca595 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2078587 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Michael Spang dec00bc8 2019-04-03T15:51:28 Generate entrypoints for Fuchsia external objects extensions Add GL_ANGLE_memory_object_zircon_handle & GL_ANGLE_semaphore_zircon_handle extensions to supported extensions list and re-generate bindings. Bug: angleproject:2475 Change-Id: I464aa402aaac916c1f459930c771a0813ec63c9b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1642333 Commit-Queue: Michael Spang <spang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Alexey Knyazev 58fc8b11 2020-01-31T19:03:12 Implement RGTC (BC4, BC5) compressed texture formats gl.xml was modified as two enums were missing from their proper group. dxgi_support_data.json was fixed to not expect BC4 and BC5 on FL9_3 Bug: angleproject:3149 Change-Id: Ieb97a8cf8e92258c1b44e090e823fac227997174 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2033068 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Kenneth Russell <kbr@chromium.org>
Jonah Ryan-Davis 1a1a1427 2020-01-23T13:57:21 Expose eglGetMscRateCHROMIUM from EGL_CHROMIUM_sync_control When ANGLE is using the GL backend on GLX, we can expose eglGetMscRateCHROMIUM via glXGetMscRateOML. Otherwise, this function should return false. Bug: chromium:1042393 Change-Id: Id9b308c2217e07ee9860e2869be0e23b7a0c7411 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2017048 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jeff Vigil 564eb6f2 2019-11-22T16:46:02 Implement EGL_IMG_context_priority Change RendererVk to have 3 VkQueues instead of one. Each queue has a priority. To match extension: Low, Med, High. gl::Context contains priority. ContextVk contains a reference to one of the queues. Every call to vulkan that uses queue, uses the associated context queue. Bug: angleproject:3962 Change-Id: Ibd913a07a81c77bd975921d6dbae6a222842e88b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1978154 Commit-Queue: Jeff Vigil <j.vigil@samsung.com> Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Mohan Maiya df0203a9 2020-01-15T14:05:33 EGL: Add support for EGL_EXT_pixel_format_float extension Add support for floating point configs. On backends that support rendering to floating point formats, add them to EGL's frambuffer config list Bug: angleproject:3958 Tests: dEQP-EGL.functional.wide_color.*fp16* angle_end2end_tests --gtest_filter=EGLFloatSurfaceTest* Change-Id: Ie65f63013483267985c2b308567bf5025acf750e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1993686 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jeff Vigil 8c0bbfbb 2019-11-25T14:48:11 EGL: Implement EGL_ANDROID_framebuffer_target Add attribute to configs. Add attribute matching logic. Does not set attribute in Vulkan configs, need solution to query Android for which formats are valid. anglebug.com/4208 New end2end test. Bug: angleproject:3961 Test: angle_end2end_tests --gtest_filter=EGLAndroidFramebufferTargetTest* Change-Id: I7e14c47b39e9539f6181c3c1d75c76fe63ca0f8c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1960508 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Mohan Maiya 942d9152 2019-12-23T15:31:52 EGL: Add support for EGL_KHR_gl_colorspace extension If the Vulkan backend supports VK_EXT_swapchain_colorspace extension, enable the option for applications to create surfaces with non-linear formats. Not all formats have non-linear versions and is platform specific. Tests: dEQP-EGL.functional.wide_color.* angle_deqp_egl_tests --use-angle=vulkan --deqp-gl-context-type=egl --deqp-case=dEQP-EGL.functional.wide_color.* Bug: angleproject:2514 Change-Id: I441ee797cceef92c84473bfa18605c4fd8180de1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1951963 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Brandon Schade 390c4952 2019-12-10T19:30:15 Adds missing extensions to registry_xml.py Bug: angleproject:4093 Change-Id: I979b54e12c1e897ccfa116f332bf9146dcd00cae Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1965644 Commit-Queue: Brandon Schade <b.schade@samsung.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Ethan Lee a825eb70 2019-11-21T11:37:17 Implement BaseVertex draw calls for Vulkan, OpenGL, NULL contexts. This adds support for the following functions: - glDrawElementsBaseVertex - glDrawRangeElementsBaseVertex - glDrawElementsInstancedBaseVertex Bug: angleproject:3582 Bug: angleproject:3402 Bug: angleproject:4166 Change-Id: I83770f62e3a918c0965fd4ca8c7d9e598b8b4154 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1929083 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill c898ec1a 2019-11-04T15:20:18 Add EGL GGP extensions. This CL adds two new extensions: * EGL_ANGLE_ggp_stream_descriptor: Introduces a new attribute to CreateWindowSurface. Allows the app to pass in a stream descriptor to VkCreateSurfaceKHR. Mirrors VK_GGP_stream_descriptor_surface. * EGL_ANGLE_swap_with_frame_token: Introduces a new function 'eglSwapBuffersWithFrameTokenANGLE'. This allows the app to pass a GGP frame token down to vkQueuePresentKHR. Mirrors VK_GGP_frame_token. Bug: angleproject:4078 Change-Id: I4313ac4c264e68999905049f661bc64b44f72fab Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1897315 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Jeff Vigil 71b0f0b5 2019-10-25T09:53:06 EGL: Implement EGL_KHR_surfaceless_context Add extension string to registry Add extension flag to EGL and Vulkan Displays Bug: angleproject:3960 Test: dEQP-EGL.functional.surfaceless_context.* angle_end2end_tests --gtest_filter=EGLSurfacelessContextTest* Change-Id: Id17916f1f636454af395b7bc92892dcf8fc93e54 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1885075 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill a576e0d4 2019-11-02T17:23:34 Capture/Replay: Only convert GLES 2 GLenums to string. Previously the enum conversion script would convert all enums in gl.xml including those for desktop GL. When replaying from a CPP file we would sometimes try to use enum values that only are exposed in desktop GL. One example is GL_TEXTURE_MAX_ANISOTROPY/GL_TEXTURE_MAX_ANISOTROPY_EXT. GLES only has the "EXT" version. Desktop uses the core version. This was breaking a replay sample that used the EXT enum. Fix this by a) including the anisotropy extension in registry_xml and b) updating the enum script to only parse GLES 2 entries. In the future we could improve the situation by auto-generating a header that defines exactly the enums we need for ANGLE. Also updates the enum helper to use uppercase enum values. Bug: angleproject:3611 Change-Id: I1e01608bc8af282dc078d5a19ac4eba659c96b57 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1894143 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Jamie Madill 04ee27ef 2019-10-24T18:29:15 Capture/Replay: Add ANGLE_get_image extension. Will be used for mid-execution capture. Only has a stubbed-out implementation right now. Bug: angleproject:3944 Change-Id: I6ddae07907ecbdbd3be9a5d2d3fcafeb425445e4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1878888 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Jeff Vigil a7003d5f 2019-07-19T11:43:34 Reland "EGL: Implement EGL_KHR_no_config_context" Add extension string and flag to all renderers that pass Modify eglCreateContext to accept EGL_NO_CONFIG Modify eglQueryContext per specification Modify eglMakeCurrent to bypass surface-context config compatibility checks Add check for client API Create new end2end test EGLNoConfigContextTest Disable on most renderers to prevent possible fail with future configs Bug: angleproject:3635 Test: dEQP-EGL.functional.create_context.no_config* angle_end2end_tests --gtest_filter=EGLNoConfigContextTest* Change-Id: I88c1922a1e75afcc49922a9eccb4f1ae046c024a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1806140 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Zhenyao Mo d32dae1b 2019-09-13T22:06:56 Revert "EGL: Implement EGL_KHR_no_config_context" This reverts commit c4b1fbd69b12c0af30a58d0810f88d1301b8dabd. Reason for revert: https://crbug.com/1003971 Original change's description: > EGL: Implement EGL_KHR_no_config_context > > Add extension string and flag to all renderers that pass > Modify eglCreateContext to accept EGL_NO_CONFIG > Modify eglQueryContext per specification > Modify eglMakeCurrent to bypass surface-context config compatibility checks > Add check for client API > Create new end2end test EGLNoConfigContextTest > Disable on most renderers to prevent possible fail with future configs > > Bug: angleproject:3635 > Test: dEQP-EGL.functional.create_context.no_config* > angle_end2end_tests --gtest_filter=EGLNoConfigContextTest* > Change-Id: I7fbb137f1222ae7eebff4192013b7d3c5fcf0436 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1762709 > Commit-Queue: Mohan Maiya <m.maiya@samsung.com> > Reviewed-by: Geoff Lang <geofflang@chromium.org> TBR=geofflang@chromium.org,timvp@google.com,jmadill@chromium.org,m.maiya@samsung.com,j.vigil@samsung.com Change-Id: I849aa796803e3cda9b480a39be813ef9105325bb No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:3635 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1803789 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Jeff Vigil c4b1fbd6 2019-07-19T11:43:34 EGL: Implement EGL_KHR_no_config_context Add extension string and flag to all renderers that pass Modify eglCreateContext to accept EGL_NO_CONFIG Modify eglQueryContext per specification Modify eglMakeCurrent to bypass surface-context config compatibility checks Add check for client API Create new end2end test EGLNoConfigContextTest Disable on most renderers to prevent possible fail with future configs Bug: angleproject:3635 Test: dEQP-EGL.functional.create_context.no_config* angle_end2end_tests --gtest_filter=EGLNoConfigContextTest* Change-Id: I7fbb137f1222ae7eebff4192013b7d3c5fcf0436 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1762709 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jiacheng Lu d0e56cc6 2019-08-27T09:35:30 Add fallback to write GLenum as hex in capture 1. Add extension 'GL_ANGLE_program_binary' to registry_xml.py, this extension brings enum 'GL_PROGRAM_BINARY_ANGLE' which ANGLE already supports. 2. Add a fallback for converting GLenum and GLbitfield to string, for any GLenum value not found in the conversion table, write out its hex value instead of 'EnumUnknown'. It prevents GLenum from some unregistered extensions breaking the frame capture. Bug: angleproject:3804 Change-Id: I36a676305fbbcff2173bbc9f818ff589abe51434 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1775028 Commit-Queue: Tobin Ehlis <tobine@google.com> Reviewed-by: Tobin Ehlis <tobine@google.com>
Mingyu Hu 7e44ec26 2019-08-26T15:59:48 GL_EXT_multisampled_render_to_texture extension. Part 1. Adding new parameters for extension without adding any real code change. Since no new code paths were added, we expect all tests to pass as before. Bug: angleproject:980428 Change-Id: I551b46a66f422eabd357fd021e00cf266a991efb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1772377 Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com> Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
shrekshao cdecd97c 2019-06-25T14:22:41 Add Draw base vertex and base instance function entrypoints Split from https://chromium-review.googlesource.com/c/angle/angle/+/1705035/27 This patch adds entrypoints glDrawArraysInstancedBaseInstanceANGLE, glDrawElementsInstancedBaseVertexBaseInstanceANGLE, glMultiDrawArraysInstancedBaseInstanceANGLE, and glMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE Implementation will come in a later separate patch. Bug: chromium:891861, angleproject:3402 Change-Id: I18e19b850cddd79be4798b9ae7efe0680a050c7f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1750125 Commit-Queue: Shrek Shao <shrekshao@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jiacheng Lu 9e14a19b 2019-08-09T10:03:24 EVENT trace to print GLenum as string reland Reland of CL https://chromium-review.googlesource.com/c/angle/angle/+/1737141 Bug: angleproject:3778 Change-Id: I2a43c618de032d6e6286d707fbc88241ad4c19ce Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1745837 Commit-Queue: Jiacheng Lu <lujc@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Yuly Novikov 08b1e660 2019-08-09T15:31:19 Revert "Enable EVENT trace to print GLenum as string" This reverts commit 048547e743b655d12ad44bb3e63766b7b96cd9a0. Reason for revert: crashes on Debug bots (at least Mac) Original change's description: > Enable EVENT trace to print GLenum as string > > Bug: angleproject:3778 > Change-Id: Ib3a4bd6ba631e0165d571789bbfab9b4b1905d8d > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1737141 > Commit-Queue: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Tobin Ehlis <tobine@google.com> TBR=tobine@google.com,jmadill@chromium.org,lujc@google.com Change-Id: Ib72f932f9b99bf981399759b17cec456b3ffafc1 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:3778 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1745835 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Jiacheng Lu 048547e7 2019-08-05T11:55:54 Enable EVENT trace to print GLenum as string Bug: angleproject:3778 Change-Id: Ib3a4bd6ba631e0165d571789bbfab9b4b1905d8d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1737141 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tobin Ehlis <tobine@google.com>
Jiacheng Lu f3dbf0a7 2019-07-29T11:31:20 FrameCapture dump GLenum to enum instead of value Add functionality to capture GLenum and GLbitfield parameters as enum names instead of values. Bug: angleproject:3611 Change-Id: I7ddc21093d44d1480b205563f30d89f82779b1f1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1724460 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 69e46a18 2019-07-03T14:43:32 GL: Implement EGL_ANDROID_native_fence_sync This extension allows Chrome to use ANGLE on newer Android devices. BUG=angleproject:3643 Change-Id: I5456d61749399ca2bbc11cc5e98b9120f8702406 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1687121 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Geoff Lang 3fd0b2db 2018-09-20T15:59:54 Implement EGL_ANDROID_get_native_client_buffer. BUG=angleproject:2508 Change-Id: I21e6251cd1341c1f85f1ba16ba08f5876a8ff8de Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1238885 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Clemen Deng 7558e836 2019-06-18T13:02:03 Windows Desktop GL Implementation Bug: angleproject:3620 Change-Id: I4ef4ab3ee145e5ce9b1ebf0c2d61d0777db72c43 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1678405 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Cody Northrop 5faff91a 2019-06-28T14:04:50 texture3D: Codegen changes towards OES_texture_3D Also accompanying hand edits to validationES2.cpp and Context.cpp to allow linking. Bug: angleproject:3188 Change-Id: I89832265092fabc71bade464f0171d65038d8b0e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1648454 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 857880e5 2019-05-27T13:39:15 GL: Add extensions to enable hardware video decode on Android. The Android SurfaceTexture API has to be initialized with a texture id which Chrome has to query from an ANGLE external texture. It also rebinds and sets the texture dimensions on calls to SurfaceTexture.updateTexImage so ANGLE must be notified about these changes so that state tracking and validation continue to function. BUG=967410 Change-Id: I92e9077f75835b088da3a8caffb3ff40e9ad0361 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1630293 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Clemen Deng c211c2f5 2019-06-14T16:02:17 Make proc table autogen use gl.xml data Instead having the proc table be generated from proc_table_data.json which needed to be manually updated with changes, the proc table is now generated from data in gl.xml and egl.xml Bug: angleproject:3533 Change-Id: I773ea7615cc4ec1c9901def629b089d8d17328eb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1660645 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Clemen Deng 95ac7b7c 2019-06-13T11:29:06 Autogen gles2+ declarations Added autogeneration of method declarations for GLES2+ and extensions Bug: angleproject:3526 Change-Id: I9c7263452146098512d9584deae8ea3f15f62c46 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1660949 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis e431aaa1 2019-06-04T11:36:43 Rename EGL_ANGLE_workaround_control to EGL_ANGLE_feature_control. For consistency, call these ANGLE "features", a subset of which may be workarounds. Also, whether the feature is enabled/disabled should be publically visible as "status". Bug: angleproject:1621 Change-Id: I0de90a932fbfe1fc9b59138153d616d29fa7268b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1643410 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Jonah Ryan-Davis f52f2637 2019-05-23T13:52:52 Add EGL_ANGLE_workaround_control extension. This extension is used to query strings from an array based on index, which will be used to query all the information about workarounds in ANGLE. Bug: angleproject:1621 Change-Id: I27157f278f7f17c92c8b4fd7753e2a5ecd0528f6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1627723 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang d7d42395 2019-05-06T13:15:35 Format all of ANGLE's python code. BUG=angleproject:3421 Change-Id: I1d7282ac513c046de5d8ed87f7789290780d30a6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1595440 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Geoff Lang 057b76e1 2019-04-12T14:48:59 Implement GL_CHROMIUM_lose_context. This is useful for testing context lost behaviour. BUG=angleproject:3379 Change-Id: If0e1538553b1761e313fc36ccde5138cd495200f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1566141 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Mingyu Hu 7d64c486 2019-03-12T14:27:40 GL_ANGLE_multiview has been renamed to GL_OVR_multiview2. changes include: 1) GL_OVR_multiview to GL_OVR_multiview2 extension directive change 2) Removal of all references to side by side. We no longer support multiple views in a single 2DTexture. Only 2DTextureArray's are supported 3) WebGL 2 (ES3) is required for multiview Bug: angleproject:3341 Change-Id: Ie0c1d21d7610f8feebdb2e4d01c6947f57e69328 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1552023 Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Michael Spang 9de3ddb5 2019-04-03T16:23:40 Generate entrypoints for GL_EXT_memory_object_fd & GL_EXT_semaphore_fd This adds entrypoints for the Linux variants of GL_EXT_memory_object & GL_EXT_semaphore. Bug: angleproject:3289 Change-Id: I40de40f27aa82cd9479d5913dac0a7493919bb8f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1552026 Commit-Queue: Michael Spang <spang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Michael Spang 7a8c3e5e 2019-04-03T14:49:57 Generate entrypoints for GL_EXT_memory_object & GL_EXT_semaphore This adds entrypoints for two new extensions that will be useful for importing external Vulkan objects into ANGLE. Bug: angleproject:3289 Change-Id: I206dc76eda5c6c8d836db7c6413c5544326aa722 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1552024 Commit-Queue: Michael Spang <spang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis 2b0553ce 2019-02-08T10:07:21 Implement EXT_instanced_arrays Bug: angleproject:3015 Change-Id: Ib01cc5e0df6db27981cb843a6bd386de5d10c2db Reviewed-on: https://chromium-review.googlesource.com/c/1452740 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi 5313c8a8 2019-01-14T17:02:52 Implement EGL_KHR_fence_sync and EGL_KHR_wait_sync EGL_KHR_fence_sync introduces the EGLSync object and associated create/destroy/clientWait functions. EGL_KHR_wait_sync adds the serverWait function on top of that. Bug: angleproject:2466 Change-Id: Iebb239a85c4471ea18b3c3a8a83b793af555e31d Reviewed-on: https://chromium-review.googlesource.com/c/1412261 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jeff Gilbert 465d6090 2019-01-02T16:21:18 Add GL_ANGLE_provoking_vertex on D3D11 and GL. This extension is a subset of GL_ARB_provoking_vertex without the QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION query. Bug: angleproject:2829 Change-Id: I907a4d16b7b13d3bbfb948842091eedd7b6a8b77 Reviewed-on: https://chromium-review.googlesource.com/c/1410289 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 4638dc9d 2018-12-17T13:13:49 Re-land "Load correct libGLESv2 on Linux and Mac." Re-land fixes build to ensure commit_id is built before libEGL. libEGL was implicitly loading libGLESv2 on startup. This is bad because on platforms like Linux and Mac we could sometimes use the incorrect rpath. This in turn meant we needed workarounds like using "_angle" extensions to our shared objects to get the correct loading behaviour. Fix this by loading libGLESv2 dynamically in libEGL. We build the loader automatically from egl.xml. The loader itself is lazily initialized on every EGL entry point call. This is necessary because on Linux, etc, there is no equivalent to Windows' DLLMain. We also use an EGL.h with different generation options so we have the proper function pointer types. A README is included for instructions on how to regenerate EGL.h. The entry point generation script is refactored into a helper class that is used in the loader generator. Also adds the libGLESv2 versions of the EGL entry points in the DEF file on Windows. This allows them to be imported properly in 32-bit configurations. Also fixes up some errors in ANGLE's entry point definitions. Also includes a clang-format disable rule for the Khronos headers. This CL will help us to run ANGLE tests against native drivers. Bug: angleproject:2871 Bug: chromium:915731 Change-Id: I4192a938d1f4117cea1bf1399c98bda7ac25ddab Reviewed-on: https://chromium-review.googlesource.com/c/1380511 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Yuly Novikov 175d918a 2018-12-16T19:53:23 Revert "Load correct libGLESv2 on Linux and Mac." This reverts commit dd815b623e60a1e1550f328104ffcd7caf20fde1. Reason for revert: Broke https://luci-milo.appspot.com/p/chromium/builders/luci.chromium.ci/win-rel/8006 Original change's description: > Load correct libGLESv2 on Linux and Mac. > > libEGL was implicitly loading libGLESv2 on startup. This is bad > because on platforms like Linux and Mac we could sometimes use the > incorrect rpath. This in turn meant we needed workarounds like using > "_angle" extensions to our shared objects to get the correct loading > behaviour. > > Fix this by loading libGLESv2 dynamically in libEGL. We build the > loader automatically from egl.xml. The loader itself is lazily > initialized on every EGL entry point call. This is necessary because > on Linux, etc, there is no equivalent to Windows' DLLMain. > > We also use an EGL.h with different generation options so we have the > proper function pointer types. A README is included for instructions > on how to regenerate EGL.h. > > The entry point generation script is refactored into a helper class > that is used in the loader generator. Also adds the libGLESv2 versions > of the EGL entry points in the DEF file on Windows. This allows them to > be imported properly in 32-bit configurations. > > Also fixes up some errors in ANGLE's entry point definitions. Also > includes a clang-format disable rule for the Khronos headers. > > This CL will help us to run ANGLE tests against native drivers. > > Bug: angleproject:2871 > Change-Id: Id6ecf969308f17b1be4083538428c9c1a1836572 > Reviewed-on: https://chromium-review.googlesource.com/c/1370725 > Commit-Queue: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Geoff Lang <geofflang@chromium.org> TBR=ynovikov@chromium.org,geofflang@chromium.org,jmadill@chromium.org Change-Id: I921b3c45435ab4f05cbc2d1c1172b4185d6257b0 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:2871 Reviewed-on: https://chromium-review.googlesource.com/c/1378887 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill dd815b62 2018-12-15T10:39:00 Load correct libGLESv2 on Linux and Mac. libEGL was implicitly loading libGLESv2 on startup. This is bad because on platforms like Linux and Mac we could sometimes use the incorrect rpath. This in turn meant we needed workarounds like using "_angle" extensions to our shared objects to get the correct loading behaviour. Fix this by loading libGLESv2 dynamically in libEGL. We build the loader automatically from egl.xml. The loader itself is lazily initialized on every EGL entry point call. This is necessary because on Linux, etc, there is no equivalent to Windows' DLLMain. We also use an EGL.h with different generation options so we have the proper function pointer types. A README is included for instructions on how to regenerate EGL.h. The entry point generation script is refactored into a helper class that is used in the loader generator. Also adds the libGLESv2 versions of the EGL entry points in the DEF file on Windows. This allows them to be imported properly in 32-bit configurations. Also fixes up some errors in ANGLE's entry point definitions. Also includes a clang-format disable rule for the Khronos headers. This CL will help us to run ANGLE tests against native drivers. Bug: angleproject:2871 Change-Id: Id6ecf969308f17b1be4083538428c9c1a1836572 Reviewed-on: https://chromium-review.googlesource.com/c/1370725 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>