scripts/code_generation_hashes/interpreter_utils.json


Log

Author Commit Date CI Message
Sunny Sachanandani 774bca93 2025-10-08T18:41:13 [metal] Add commands scheduled sync object We need a thread-safe way to wait for ANGLE Metal command buffers to be scheduled for IOSurface synchronization with DrDC + Graphite on Mac. The existing eglWaitUntilWorkScheduledANGLE API isn't thread-safe as it reaches into ContextMtl innards to flush the command buffer. This CL adds the EGL_ANGLE_metal_commands_scheduled_sync extension which introduces a EGL_SYNC_METAL_COMMANDS_SCHEDULED_ANGLE sync object type. This sync object is signaled when pending Metal commands are scheduled to run on the GPU (MTLCommandBufferStatusScheduled). These sync objects are thread-safe - eglClientWaitSync() can be called on any thread even without a current context which is needed for DrDC + Graphite on Mac. Bug: chromium:444702048 Change-Id: Ia13b352385a6fefaa026526ef74f6e596a6a6964 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7027996 Auto-Submit: Sunny Sachanandani <sunnyps@chromium.org> Reviewed-by: Quyen Le <lehoangquyen@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org>
Mark Lobodzinski 02b53738 2025-09-08T08:55:23 Trace/Replay: Fix context grouping issues In tracing Harry Potter Magic Awakened, issues related to context grouping were found affecting shader and program state. While these objects are shared among all contexts, their state is not. This led to race conditions in object lifetimes as well as incorrect states for operations dependent on stader/program state. Test: angle_trace_tests --gtest_filter=*harry_potter_magic_awakened Bug: b/445208963 Change-Id: I8dbb22f72c917103f947cd34d088c4db0cd39731 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6950247 Commit-Queue: Mark Łobodziński <mark@lunarg.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
jh.eun 059734f9 2025-05-02T13:20:28 CL: Roll OpenCL headers, docs, CTS, loader Updated OpenCL headers and updated third_party sources accordingly. - Updated OpenCL Headers from change 265df85 - Updated third_party/OpenCL-Docs - Updated third_party/OpenCL-CTS and modified ninja build corresponding to update - Updated third_party/OpenCL-ICD-Loader and modified ninja build corresponding to update - When after updating OpenCL-Docs, entry-points for clIcdGetFunctionAddressForPlatformKHR and clIcdSetPlatformDispatchDataKHR (cl_khr_icd 2.0.0) are generated by run_code_generation.py. Filled code returning INVALID_OPERATION error in the entry-points. - When after updating cl_ext.h, cl_khr_external_memory_dx is removed. Deleted codes referencing cl_khr_external_memory_dx (e.q., CL_EXTERNAL_MEMORY_HANDLE_D3D11_TEXTURE_KHR) Bug: angleproject:441956395 Tests-Passing: test_basic, test_api Change-Id: I08e0b78abb5c0ff5f1ea693ea355893b1a6f765e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6915959 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Yuxiang Qian 51cffa97 2025-08-13T14:23:51 Implement EGL_NV_context_priority_realtime In this extension, new attribute value EGL_CONTEXT_PRIORITY_REALTIME_NV is accepted for EGL_CONTEXT_PRIORITY_LEVEL_IMG. In ANGLE, this extension should depend on VK_EXT_global_priority and VK_EXT_global_priority_query. The implementation of creating device queue is also modified for this new attribute value. New end2end test is added to check if this new attribute works. Bug: angleproject:397474813 Change-Id: I68316fe371f5a495dbc78b106fc89787be18e086 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6857673 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
jh.eun 061a43c6 2025-08-13T16:35:20 CL/Vulkan: Implement cl_khr_priority_hints cl::CommandQueue contains queue priority from clCreateCommandQueueWithProperties. Similar to EGL_IMG_context_priority, a queue with a pre-assigned priority is selected when submission. Bug: angleproject:433980937 Tests-Passing: OCLCTS.test_api queue_hint Change-Id: I3a7bcc62e5d8186b51f771ab2c01cc18ddfcd195 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6785088 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Raja  Wasim Husain 6c160cad 2025-08-04T12:32:36 CL/Vulkan: cl_khr_external_memory extension (pt.1) - Make this extension visible if Vulkan implementation support features supportsExternalMemoryFd and/or supportsExternalMemoryDmaBuf - Implemented APIs clEnqueueAcquireExternalMemObjectsKHR and clEnqueueReleaseExternalMemObjectsKHR - Updated clCreateBufferWithProperties to handle external memory file descriptor. Bug: angleproject:378017028 Change-Id: Idff08808bc0227b5f98b84c2086b68541665146d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6785087 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Shufen Ma 5fb77159 2025-08-12T15:21:25 Add stubs for GL_ARM_texture_unnormalized_coordinates Bug: angleproject:352345942 Change-Id: I05e2b0c83f07bfe35eb58fc657b834f6253d4cb9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6839660 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Shufen Ma <Shufen.Ma@arm.com> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Charlie Lao <cclao@google.com>
Mark Lobodzinski 7181239d 2025-04-04T14:13:58 Add long ANGLE traces feature Enables very long Android captures by swapping binary data chunked buffers to/from disk. Bug: b/425728227 Change-Id: I539f72590eece03cfc69d42fc34be9825a9ff1fe Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6476924 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Mark Łobodziński <mark@lunarg.com>
Panfeng Hou 9a436772 2025-06-04T16:47:51 Vulkan: Add entry points for GL_EXT_fragment_shading_rate Bug: angleproject:420310117 Change-Id: I8a8efad6cad810b2cb0b600106f6496070495605 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6620340 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
Alexey Knyazev 4c964bc7 2025-05-15T00:00:00 Roll third_party/OpenGL-Registry/src/ 5bae8738b..200cea403 (74 commits) https://chromium.googlesource.com/external/github.com/KhronosGroup/OpenGL-Registry/+log/5bae8738b23d..200cea4030cb Additional changes: * Removed obsolete workarounds for mismatching signatures between CreateShaderProgramvEXT and CreateShaderProgramv. * Aligned GL backend bindings for GL_OVR_multiview entry points with the specs. * Updated include/GLES2/gl2ext.h. Bug: angleproject:409484297 Change-Id: Ifbb63dcc4bad312b22a368455a121e088b346fab Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6596941 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 392dc591 2025-05-15T00:00:00 Remove GL_CHROMIUM_sync_query Fixed: angleproject:420627279 Change-Id: I26dac7c55a7cf6b04121658144e1387be65d2569 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6593552 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Alexey Knyazev 9ddb1b7f 2025-04-24T00:00:00 Disable OES_primitive_bounding_box on unsupported contexts The OES_primitive_bounding_box extension requires OpenGL ES 3.1 and must not be exposed on lower context versions. Also made both EXT and OES versions of this extension enableable. Bug: angleproject:42262238 Bug: angleproject:415495316 Change-Id: I5379daa06dba3b2b09d9656ffab15c010fb4870a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6538627 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 86ce0f0e 2025-04-24T00:00:00 Add EXT_multi_draw_arrays stubs Bug: angleproject:414506477 Change-Id: Idc3ca950b88c9632268922ec7a311936916c2a43 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6522405 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 618bc398 2025-04-24T00:00:00 Add EXT_draw_instanced stubs Bug: angleproject:416241733 Change-Id: I6dfb0ff1e941fdd33387e06920c97ba4232e8820 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6519383 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Alexey Knyazev 128c9682 2025-04-24T00:00:00 Make GL_ANGLE_texture_rectangle non-toggleable This extension is not meant to be disabled. Bug: angleproject:40096622 Change-Id: Iea87210ab1bf3800759a3c65c566af67dada75f0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6494384 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Alexey Knyazev ae70513d 2025-04-18T00:00:00 Remove NamedBufferStorageExternalEXT entry point OpenGL ES does not support DSA. Bug: angleproject:407932145 Change-Id: If5f544de2b43e05888415a4fc805ad6065d4408b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6495409 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Kenneth Russell cdb34025 2025-04-25T12:09:14 Move robust APIs for PLS into robust_client_memory sections. These two entry points are at the intersection of GL_ANGLE_shader_pixel_local_storage and GL_ANGLE_robust_client_memory. Move them into the robust_client_memory section to simplify autogenerated validation. Rerun code generation. Fixed: angleproject:413597061 Change-Id: Icac160dbc7ab4088ee90471af60bb2e5ab3e1b87 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6492427 Auto-Submit: Kenneth Russell <kbr@chromium.org> Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 272ffbda 2025-04-18T00:00:00 Enhance entry point validation autogen scripts Ensured that complete information about entry point sources is available when generating context checks. Bug: angleproject:409484297 Change-Id: I7a2546c11b212df2ddf194d26be6e0d31d108b29 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6488171 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 595d79e4 2025-04-04T00:00:00 Do not expose GL_ARB_sync That extension does not exist in OpenGL ES. Fixed: angleproject:409717088 Change-Id: I82234f0051c2c646ef15c22e1a0da1704ef3a35b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6448233 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Alexey Knyazev eb52b568 2025-03-28T00:00:00 Remove unsupported 1D and DSA entry points OpenGL ES does not support 1D textures, removed TexStorage1DEXT. OpenGL ES does not support DSA, removed EGLImageTargetTextureStorageEXT. Added an explicit command blocklist. Added hashes for *_vulkan_secondaries_* def files. Fixed: angleproject:407932145 Change-Id: Iec34fa475f34a0fa832a49223c51ff1f87b1915d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6426049 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Alexey Knyazev f56c8e02 2025-03-28T00:00:00 Fix & cleanup advanced blend equations support * Made advanced blend equation extensions enableable to facilitate better testing. * Made initial BLEND_ADVANCED_COHERENT state to be unconditionally true regardless of the extension support. If the coherent extension is unsupported, that state must not be observable anyway. * Ensured that advanced blend equation functionality is supported on unextended OpenGL ES 3.2 contexts. * Removed redundant ES 2.0+ context version checks because these extensions must never be enabled on ES 1.x contexts. * Fixed ValidateBlendBarrierKHR to set the correct error code and properly mark invalid calls. * Added more negative test cases and enabled tests on OpenGL ES 3.0 contexts. Bug: angleproject:42262258 Bug: angleproject:406922380 Change-Id: I709376ad40b09972a31a691ca3813e87dd2c8165 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6421857 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Chris Dalton 292bb458 2025-03-14T12:17:49 Cut MAX_COLOR_ATTACHMENTS_WITH_ACTIVE_PIXEL_LOCAL_STORAGE_ANGLE Since the number of real devices that support framebuffer fetch, but do not support draw_buffers_indexed, is effectively zero, MAX_COLOR_ATTACHMENTS_WITH_ACTIVE_PIXEL_LOCAL_STORAGE_ANGLE is an unnecessary complication. These hypothetical devices can fall back on shader images or just not support pixel local storage at all. This closes the door for WEBGL_shader_pixel_local_storage to ever be implemented on top of the ES2 extension that inspired it all, EXT_shader_pixel_local_storage, but WebGL can just use framebuffer fetch instead, or maybe even EXT_shader_pixel_local_storage2 some day. This dramatically simplifies the WEBGL_shader_pixel_local_storage extension. Bug: angleproject:40096838 Change-Id: I9c51f2ce000620f883cb7917d4e8618c8e9ee803 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6354657 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Chris Dalton <chris@rive.app>
Shahbaz Youssefi 5b343e8f 2025-03-11T11:35:08 Vulkan: Remove support for Stadia Bug: angleproject:42262714 Change-Id: Icae5fe828fe4e0bcd287d297df1bc586708ef86e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6344390 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Alex Dean c0d806b4 2025-02-10T23:01:33 CL: OpenCL support for ANGLE Capture/Replay Implementation of OpenCL Capture/Replay tool in ANGLE. Brief notes about the change: - Most meaningful changes for the capture process are made in src/libANGLE/capture/ - Most meaningful changes for replay are made in util/capture/ and src/tests/perf_tests/ - Many autogenerated files are changed/added to allow the capture of OpenCL objects & calls - The following applications were captured/replayed: benchmark_model, GeekBench Compute, GeekBench ML, AI-Benchmark, various OCL CTS tests - End2end test added to capture_tests. CapturedTestCL.MultiFrameCL/ES3_Vulkan Bug: angleproject:383841335 Change-Id: I55fdaa6cd6c7ba740aaa2351e4d29050059d6d1d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6102105 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Steven Noonan 49e5f944 2025-01-07T22:27:33 egl_angle_ext: add value for EGL_CONTEXT_MEMORY_USAGE_ANGLE The enum was declared as a dependency of the extension EGL_ANGLE_memory_usage_report, but no value was defined. Bug: angleproject:351866412 Change-Id: I956da38930e69eb83c179ac70c244f0df7ef7f04 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6165287 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Steven Noonan <steven@uplinklabs.net> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi bbc0d702 2024-12-27T07:44:01 Vulkan: Add entry points to lock the Vulkan queue ... which can be retrieved via EGL_ANGLE_device_vulkan. Otherwise the application is unable to use the VkQueue that is retrieved out of ANGLE from other threads (such as Chromium's DrDC feature). Bug: chromium:380295059 Change-Id: Ife80f54440777486f72fc61697a68fb0c2b2d0f7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6116046 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Vasiliy Telezhnikov <vasilyt@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Steven Noonan 3226a3df 2024-12-13T14:06:55 Reland: vulkan: add EGL_ANGLE_platform_angle_vulkan_device_uuid Implement the ability to select a specific device and driver combination through a few new selection criteria: VkPhysicalDeviceIDProperties::deviceUUID VkPhysicalDeviceIDProperties::driverUUID VkPhysicalDeviceDriverProperties::driverID Earlier version had problems due to a test build issue. Per syoussefi@, going to rework the test into a separate CL so that we get the core change merged. Bug: angleproject:351866412 Change-Id: I0a3f4f1a2154a06bf6286a037c9ad4834ef4dda2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6165286 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Steven Noonan <steven@uplinklabs.net>
Yuly Novikov 3b092269 2025-01-09T08:54:00 Revert "vulkan: add EGL_ANGLE_platform_angle_vulkan_device_uuid" This reverts commit 96abb2c3d9e296ae12e50e0026bf5d3a7b925e7e. Reason for revert: breaks rolling into Chromium https://chromium-review.googlesource.com/c/chromium/src/+/6158098 Original change's description: > vulkan: add EGL_ANGLE_platform_angle_vulkan_device_uuid > > Implement the ability to select a specific device and driver combination > through a few new selection criteria: > > VkPhysicalDeviceIDProperties::deviceUUID > VkPhysicalDeviceIDProperties::driverUUID > VkPhysicalDeviceDriverProperties::driverID > > Bug: angleproject:351866412 > Change-Id: Ia6716aaed658d2563612d8b5d81287df97b57462 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5686557 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Auto-Submit: Steven Noonan <steven@uplinklabs.net> > Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Bug: angleproject:351866412 Change-Id: Ic7cf9dcf6a950556cc44f5920498db429c866340 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6164164 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Steven Noonan 96abb2c3 2024-12-13T14:06:55 vulkan: add EGL_ANGLE_platform_angle_vulkan_device_uuid Implement the ability to select a specific device and driver combination through a few new selection criteria: VkPhysicalDeviceIDProperties::deviceUUID VkPhysicalDeviceIDProperties::driverUUID VkPhysicalDeviceDriverProperties::driverID Bug: angleproject:351866412 Change-Id: Ia6716aaed658d2563612d8b5d81287df97b57462 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5686557 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Steven Noonan <steven@uplinklabs.net> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Le Hoang Quyen 6bb1bc9b 2024-12-10T16:56:33 Add an extension to report total memory usage of all GL objects Currently the extension will only count GL buffers, textures and render buffers' memory. Fixed: angleproject:383256300 Change-Id: I33ce6fafae8aa5b60071e66366d35dc098e1313b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6084013 Auto-Submit: Quyen Le <lehoangquyen@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Quyen Le <lehoangquyen@chromium.org>
Yuxiang Qian fb743105 2024-11-26T14:37:39 Add stubs for EGL_EXT_surface_compression This patch adds stubs for EGL_EXT_surface_compression to ANGLE, including new API eglQuerySupportedCompressionRatesEXT and adding EGL_SURFACE_COMPRESSION_EXT in EGLQuerySurface and EGLCreateWindowSurface/EGLCreatePlatformWindowSurface. Bug: angleproject:375496226 Change-Id: I1962a11e8e3e5eb2cd5b13c5ba0f685781dfd015 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6073354 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 26414249 2024-11-28T00:00:00 Remove GetTexLevelParameter* from ANGLE_texture_multisample These functions are always provided by the GL_ANGLE_get_tex_level_parameter frontend extension. Fixed: angleproject:382291448 Change-Id: I59b4ccc56478f2e0931d1f5bd665cfdd5a34391e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6072222 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Panfeng Hou d57b1d30 2024-11-28T11:09:53 Vulkan: Support GL_OES_required_internalformat Only export 'GL_OES_required_internalformat' in GLES extension. Bug: angleproject:364069034 Change-Id: I6198b7b79fc2853c7585ebff183016ee110a25e5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6055198 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Xinyu Fang 5d3d299d 2024-11-25T16:35:51 Expose the required GLES1.0/1.1 extensions in ANGLE Exposed below extensions: GL_OES_texture_mirrored_repeat GL_OES_blend_subtract Bug: angleproject:380704155 Change-Id: Ib095f9bfaabda92bb2c588d633f1512e118f066e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6038450 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Xin Yuan b6b826b3 2024-11-27T09:57:18 Add stubs for GL_EXT_EGL_image_storage_compression Bug: angleproject:352345943 Change-Id: I993a7908e868019852c0d682bf2131e46a2cf304 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6051521 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Amirali Abdolrashidi c02e0184 2024-11-22T17:21:38 Add GL_ARM_rgba8 * It is a subset of GL_OES_rgb8_rgba8. Bug: angleproject:352352894 Change-Id: I07f031157344385c847cd229a85ebf59cc6dfcfc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6044333 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Neil Zhang 8a2b60b2 2024-11-06T17:13:16 Add stubs for GL_EXT_texture_storage_compression Bug: angleproject:352364583 Change-Id: I607c19c0c9bec7f0e3dd325e44b42e73f826b61c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5998012 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Mark Lobodzinski c7a43ec8 2024-10-28T12:26:05 Capture/Replay: Track framebuffers by context Some game titles treat framebuffer objects as shared. Framebuffer objects are now tracked per-context to avoid conflicts. Test: angle_trace_tests --gtest_filter=TraceTest.limbo --offscreen Bug: b/371985732 Change-Id: I34ae5b54d569eec75ad86b7b363f7a84d56d955c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5973639 Commit-Queue: Mark Łobodziński <mark@lunarg.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi bd9d0285 2024-10-26T01:12:23 Remove feature description / condition enums Since ANGLE no longer produces anything for these strings, Chromium no longer queries them and they can be removed. Bug: chromium:371512561 Change-Id: I921cbd91a3328df99b15262d31d52986d4a7b806 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5966697 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 028bb1cb 2024-10-03T00:00:00 Add EXT_texture_query_lod stubs Bug: angleproject:368275901 Change-Id: I34ab23630bc6c3d720acefa97e4c324f41fa61cb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5922877 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi aa61c076 2024-10-08T12:14:13 Autogen files for GL_ARM_shader_framebuffer_fetch_depth_stencil Bug: angleproject:352364582 Change-Id: I3e736195be3a21c2ae48b4ab2922f9ae7bfcbf32 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5916185 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Geoff Lang 492cf265 2024-09-27T13:44:22 Stubs for GL_blob_cache_angle Bug: chromium:370538323 Change-Id: Ib56b28c24305db8931f382b16a24975b7277fa7e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5900760 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi b16d105f 2024-10-03T10:25:32 Remove Desktop GL front-end support For Desktop GL applications, please use Zink! Bug: angleproject:370937467 Change-Id: Ie734634bb62a2e98c80e1b32d8b3d34624da3c04 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5905428 Reviewed-by: Geoff Lang <geofflang@chromium.org>
Alexey Knyazev 0cce8fd3 2024-09-12T00:00:00 Add EXT_texture_shadow_lod stubs Bug: angleproject:365108862 Change-Id: Ib879c2994871a41ad680bfe487593ea8ccbba7cc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5860118 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev e850656a 2024-08-29T00:00:00 Add EXT_separate_depth_stencil stubs Bug: angleproject:362780331 Change-Id: I378b5c9ff06a2c5e56d68ef93ed42e0351b5044e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5823195 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Steven Noonan 4f23429a 2024-06-28T14:20:26 egl_angle_ext: fix incorrect EGL_ANGLE_device_d3d11 name Bug: angleproject:349972038 Change-Id: I11d8442d3f88bc6767b9e184179f88a984162e08 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5668322 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Steven Noonan <steven@uplinklabs.net>
Amirali Abdolrashidi 0b888d50 2024-06-13T11:32:53 Add KHR_blend_equation_advanced_coherent * Added this extension to registry_xml.py. Bug: angleproject:42262258 Change-Id: I2d69982b9ec876e3c21346039ed78aa21b1a1896 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5634379 Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Geoff Lang 92148c2c 2024-06-17T11:13:46 GL: Implement GL_EXT_clear_texture. This extension is useful because it allows clearing textures without changing the framebuffer. Chrome uses this on Android when it's available. Bug: angleproject:347047859 Change-Id: I765d9991c4549b3655446d9f51847d1095792dbd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5631810 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi d193d51b 2024-06-17T22:46:08 Replace issue ids post migration to new issue tracker This change replaces anglebug.com/NNNN links. Bug: None Change-Id: I8ac3aec8d2a8a844b3d7b99fc0a6b2be8da31761 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5637912 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Geoff Lang 2d8e15f8 2024-05-31T14:25:12 Add stubs for GL_QCOM_tiled_rendering Bug: angleproject:343900918 Change-Id: I77d742949565ebfecb5f4446db3510af4f94033c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5588629 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Amirali Abdolrashidi 8042ebdc 2024-05-31T17:06:56 Add OES_tessellation_shader Bug: b/344030760 Change-Id: I49c5dd870a09cd6b43beea13c70b8c1a4266875b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5595610 Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Amirali Abdolrashidi edaaacd9 2024-05-31T17:30:34 Add OES_gpu_shader5 Bug: b/344031022 Change-Id: Ib11b5835b566e299ce6a7a47a4e4a46bcfd670ad Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5595608 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Amirali Abdolrashidi ce6232fc 2024-05-21T11:15:51 Add KHR_robustness * From the spec, there are some differences between KHR_robustness and EXT_robustness (already in use). In this CL, the following are addressed: * Updating the EXT suffixes * Changing EXT to KHR for GLES * Removing EXT for GL * Adding GLGetnUniformuivKHR (no equivalent in EXT) * Added GL_KHR_robustness to the list of extensions. * The API implementations seem to be already in place. * Validation functions will be updated in a follow-up CL. Bug: angleproject:42262244 Change-Id: Ibbc1bc11ec08ac756f4a03d11f51ba1268d037a5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5555984 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Geoff Lang ccd9a43b 2024-05-22T11:15:39 Split EGL_ANGLE_device_d3d into D3D9 and D3D11 versions. Add EGL_ANGLE_device_d3d9 and EGL_ANGLE_device_d3d11 which make it possible to know what type of device can be queried ahead of time without generating EGL errors. Refactor the DeviceD3D class into Device9 and Device11. Remove the getType method now that it's not needed for internal validation. Keep EGL_ANGLE_device_d3d for backwards compatibility. Bug: angleproject:342096132 Change-Id: Ib950abad58e46a5be269891ea7afd0cb8534cbe8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5559163 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Geoff Lang a70ef7fc 2024-04-25T14:19:50 Add EGL_ANGLE_no_error for disabling EGL validation. Chrome makes many small EGL calls that can have proportionally expensive validation. Bug: angleproject:8434 Change-Id: I4f4d0e6eff64839f76a0f7bf48e5c94b8df9d809 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5491459 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi d9943e44 2024-04-09T23:53:48 Remove Program::syncState The last bit of responsibility still left in Program::syncState was to wait for post-link tasks for the sake of EGLBlobCacheTest tests. A new extension, GL_ANGLE_program_binary_readiness_query is created so that the wait can be done in the test itself. This extension is ultimately useful for applications as well, so they can avoid blocking the CPU by calling glGetProgramBinary prematurely. Bug: angleproject:8297 Change-Id: Ied6b755cb9b060198f82c7948bfd03441435a578 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5440302 Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: mohan maiya <m.maiya@samsung.com> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Steven Noonan c55c8ad2 2024-03-05T15:42:28 extension XML cleanup Add a bunch of missing extensions, commands, enums, and aliases to the extension XML files. These were missing when I generated a GL loader from the XML. Additionally, removing the unimplemented ANGLE_timer_query specification. Bug: angleproject:8432 Change-Id: I55b7393a313070719200c150a91b1751206ca2cb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5347156 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Auto-Submit: Steven Noonan <steven@uplinklabs.net> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Mike Schuchardt 56a291e8 2024-02-01T02:30:02 Rework external image capture Move external image creation into the trace fixture. Record image size at capture time and then recreate it using a GL staging texture and placeholder data during replay if the original client buffer is missing (MEC) or the image was created from another API (AHB). Track when EGLImages are created and destroyed during capture so they can be restored to their original MEC state at reset time. Clean up the backing GLTexture resources when the corresponding EGLImage is destroyed. In cases where EGL calls are made without an associated GL context, look up and active context to use from the passed in EGLDisplay parameter. Bug: b/300966403 Change-Id: I7033fa25d2cb3a59957887439506f6f6a416c8f1 Test: Trace com.square_enix.android_googleplay.FFVII Test: Trace com.MOBGames.PoppyMobileChap1 Test: Trace com.tocaboca.tocalifeworld Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4903441 Reviewed-by: Cody Northrop <cnorthrop@google.com>
Liza Burakova bff0b1e4 2024-02-15T18:22:12 Change enum value for webgpu to unused value. Bug: angleproject:8476 Change-Id: I62c2d6d6dc0bf2125e0be9ae9a7205f46e9fc871 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5301496 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi b380ed1f 2024-02-14T09:31:26 Vulkan: Add EGL_ANGLE_global_fence_sync Chrome has an implicit assumption that due to context virtualization, signaling a fence in one context results in synchronization with _all_ contexts that have previously made submissions. This is not per EGL spec, but the functionality is easily implementable in the Vulkan backend. In the Vulkan backend, each context is given its own "timeline" of submissions (tracked by serials associated with "indices"). The required functionality is implemented through a new EGL fence sync object whose sole difference is that it synchronizes with all the existing timelines rather than the one of the current context. Bug: b/318721705 Change-Id: I6c45d065e592d0d4ed627ce9695196b1086d5021 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5297396 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Kimmo Kinnunen d6ceac91 2024-02-12T20:37:58 Metal: Add support for binding slices to images Add support for binding Metal MTLTextureType2DArray texture slices to EGL images. Bug: angleproject:8531 Change-Id: I938e75c81bf36d3885f3bdcb0d1007e1f87e20c2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5290374 Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Mohan Maiya d093c3d3 2024-01-17T11:33:46 Add entry points for QCOM foveated extensions Add entry points for GL_QCOM_framebuffer_foveated and GL_QCOM_texture_foveated extensions Bug: angleproject:8484 Change-Id: I59053f9be76fbb8eaed344aa460ecb1e178ce7db Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5206990 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi fb6b960c 2023-11-27T14:24:28 Remove GL_CHROMIUM_texture_filtering_hint This was using an unregistered Vulkan extension to set the precision of SwiftShader's internal filtering for the sake of Chrome. That's baked in at build instead. Bug: angleproject:8349 Bug: chromium:726075 Change-Id: I12849d2d29d99626f22a92ee9d74366f78658476 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5063344 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi 384a29a8 2023-07-27T10:51:07 Reland: GL: Remove EGL_EXTERNAL_CONTEXT_SAVE_STATE_ANGLE Now that Chromium no longer uses it. This is a reland of: https://chromium-review.googlesource.com/c/angle/angle/+/4724768 Bug: angleproject:5509 Change-Id: I650e598580539fbe404f2ec4b56b20b56b948f6c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4903079 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Mohan Maiya 0d67d1bb 2023-08-29T11:19:35 Vulkan: Support EGL_EXT_gl_colorspace_bt2020 Add support for following 3 BT2020 colorspace extensions 1. EGL_EXT_gl_colorspace_bt2020_hlg 2. EGL_EXT_gl_colorspace_bt2020_linear 3. EGL_EXT_gl_colorspace_bt2020_pq Bug: angleproject:8330 Tests: EGLSurfaceTest.CreateWithEGLConfig1010102Support* Change-Id: I3a6ca0daa9ad4400da3834f43678b0db816ba6e4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4824045 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Mark Lobodzinski d85de0e9 2023-08-09T14:15:56 Capture/Replay: Add optional replay of trimmed resources This CL: - Adds '--include-inactive-resources' option to angle_trace_tests - Removes the 'trim-enabled' option - Outputs all previously trimmed shaders/programs to trace file in a new Setup function, SetupReplayContextSharedInactive() which is executed only if the new option is specified - Modifies CaptureTest to add inactive resources, but does not set the include-inactive-resources flag Bug: b/296055694 Change-Id: I33b18d5da727d55c90c2012c2bf64b1413521429 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4781552 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Mark Łobodziński <mark@lunarg.com> Reviewed-by: Roman Lavrov <romanl@google.com>
Alexey Knyazev 2a950c63 2023-07-31T00:00:00 Adjust ANGLE_stencil_texturing specification STENCIL_INDEX enum is not defined in GLES/gl3.h, so the extension has to provide its value. Bug: angleproject:8051 Change-Id: Ia383162afee8cdcffc1d68ddf833fbd91a87b1f0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4748399 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Alexey Knyazev <lexa.knyazev@gmail.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 6c1bab07 2023-08-02T12:25:51 Add surface to eglAcquireExternalContextANGLE Bug: angleproject:5509 Change-Id: I51284ae4dc865dc31d1c5540c24e1e0abb95fe0f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4743719 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 01ee134b 2023-08-02T13:43:36 Revert "GL: Remove EGL_EXTERNAL_CONTEXT_SAVE_STATE_ANGLE" This reverts commit 4e0250f1926d25e39023c4ad7862ed358a0ec4b6. Reason for revert: Chromium change was reverted. crbug.com/1468956 Original change's description: > GL: Remove EGL_EXTERNAL_CONTEXT_SAVE_STATE_ANGLE > > Now that Chromium no longer uses it. > > Bug: angleproject:5509 > Change-Id: Ibb8d9cdc4d67dad77ca50437423b18d81e838203 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4724768 > Reviewed-by: Peng Huang <penghuang@chromium.org> > Reviewed-by: Geoff Lang <geofflang@chromium.org> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Bug: angleproject:5509 Change-Id: Id8143b1715ec8162be9351437fbd34a2aa4c2e00 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4742521 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 4e0250f1 2023-07-27T10:51:07 GL: Remove EGL_EXTERNAL_CONTEXT_SAVE_STATE_ANGLE Now that Chromium no longer uses it. Bug: angleproject:5509 Change-Id: Ibb8d9cdc4d67dad77ca50437423b18d81e838203 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4724768 Reviewed-by: Peng Huang <penghuang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 2d5fb09d 2023-07-22T22:34:20 Stubs for EGL_ANGLE_external_context_and_surface Bug: angleproject:5509 Change-Id: I8e2395784abcd2b4e3e1f888e70a879ef49287bc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4706026 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Alexey Knyazev 94ceedb7 2023-07-10T00:00:00 Add GL_EXT_texture_compression_astc_decode_mode stubs Bug: angleproject:8254 Change-Id: I2a839139b5738710e32842b04db35eab8fb04687 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4679683 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 44395930 2023-07-05T11:59:23 Make various state setting entry points lockless These entry points only set context-local state and thus don't require locking. Bug: angleproject:8224 Change-Id: I428c23cc862e9356d571bc085b5df0bf48017175 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4661700 Reviewed-by: Igor Nazarov <i.nazarov@samsung.com> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Steven Noonan a01a566c 2023-06-09T00:31:06 extension xmls: fix incorrect use of <ptype> tags I was having trouble using some GL/EGL loader generators because of some errors in the XML definitions for ANGLE. The first major problem is the content of the <ptype> tags. Let's refer to the Khronos registry XML schema (which is annoyingly a PDF rather than an xsd that we can test against, though I don't know if an xsd would catch this anyway): https://raw.githubusercontent.com/KhronosGroup/OpenGL-Registry/master/xml/readme.pdf In section 12.4.2, "Contents of <param> tags" it states: The <ptype> tag is optional, and contains text which is a valid type name found in <type> tag, and indicates that this type must be previously defined for the definition of the command to succeed. Builtin C types, and any derived types which are expected to be found in other header files, should not be wrapped in <ptype> tags Note that the above is repeated for the contents of <proto> tags as well. The extension XML files currently have a bunch of <ptype> tags which don't meet the expectations described above. The correct transformation for them would be, for example: <ptype>GLfloat *</ptype> -> <ptype>GLfloat</ptype> * <ptype>void *</ptype> -> void * <ptype>const char *</ptype> -> const char * <ptype>EGLAttrib *</ptype> -> <ptype>EGLAttrib</ptype> * The next issue is that some tags have some typos, such as "<pytpe>" instead of "<ptype>". (Now *that* is something an .xsd would catch...) The last issue is the use of the typename "GLvoid" which is not as serious a problem. It is still defined in Khronos' gl.xml <types> block, but Khronos no longer uses it in their XML registries. The comment for the "GLvoid" type in their <types> block states: <type comment="Not an actual GL type, though used in headers in the past">typedef void <name>GLvoid</name>;</type> So we might as well replace those with just plain "void". Anyway, long story short: to apply these transformations, I used Perl regular expressions, and applied these expressions in order: - Fix the tag misspellings: s#<(/?)pytpe>#<\1ptype>#g - Move the const qualifiers (if present) and pointer asterisk(s) (if any) outside the <ptype> tag itself: s#<ptype>(const )?([A-Za-z0-9]+)[ ]?(\*\*?)</ptype> #\1<ptype>\2</ptype> \3#g - Replace "GLvoid", "char", and "void" inside ptype tags to normal C types outside tags: s#<ptype>(GLvoid|void|char)</ptype>#\1#g Bug: angleproject:8190 Change-Id: Ib0bea79fecb7e714910b6e92124bb9f52994d0fb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4603709 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Steven Noonan beeb465b 2023-06-08T23:28:30 xml: fix enum EGL_SYNC_METAL_SHARED_EVENT_SIGNALED_ANGLE The name in the extension/require block did not match the name in the enum specification block. This caused some EGL loader generators to fail to run properly. Bug: angleproject:8190 Change-Id: I6ce6e226121e7ea9aa611c7d331a8fd1bc83e55b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4603708 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org>
Roman Lavrov 52152933 2023-06-06T15:36:36 Add trace_interface: functions and callbacks for traces Defines the interface between the test suite (or an other TraceLibrary class user) and trace libraries. TraceFunctions defines entry points for calls suite->trace, such as SetupReplay() or SetBinaryDataDir(). TraceCallbacks defines entry points for calls trace->suite, for example for loading .angledata.gz files. These are set up via the exported SetupEntryPoints() call. Functions like SetupReplay etc no longer need to be exported from the trace library. TraceInfo (parsed representation of the trace json) is moved to trace_interface as is. This is convenient for further changes to the fixture that will allow to easily move some of the captured parameters to json. This also moves Decompress functionality (and memory ownership) to test suite entirely, which avoids Decompress/Delete callbacks - the trace just calls LoadBinaryData via TraceCallbacks and TraceLibrary releases the memory either on FinishReplay or in its destructor. This should also take care of the memory leak described in https://crrev.com/c/3858185 Bug: b/286072760 Change-Id: Ibc6f6f64156ad805b1917c8fc41a3b0d2c0d6375 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4594445 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Roman Lavrov 8447e279 2023-05-30T13:56:19 code_generation_hashes json files end with newline Bug: None Change-Id: Iddd2c1777a1d5486a4d390c6e3d56ffb09f47f02 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4574569 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Roman Lavrov <romanl@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Mark Lobodzinski 9e47cbd3 2023-05-18T14:40:37 Capture/Replay: Rework trace EGLDisplay handling Refactor the trace-replay EGLDisplay handling to allow initializing the global EGLDisplay handle in the InitializeReplay4() body. This included adding support for eglGetCurrentDisplay() to the EGL-on- WGL shim. Test: angle_trace_tests --gtest_filter=infinity_ops Bug: b/282725258 Change-Id: I2319fd9a35f8fb9c0a7f10547ca39f49ce402b8d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4546267 Reviewed-by: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Mark Łobodziński <mark@lunarg.com>
Alexey Knyazev b7a5714f 2023-03-31T00:00:00 Add polygon mode extension stubs * Added NV_polygon_mode * Specified a portable polygon mode extension implementable on all ANGLE backends Bug: angleproject:1791 Bug: angleproject:8132 Change-Id: I018aaaf1fb43ec16910859b152049e02169ede91 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4492684 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Vikas Soni b5fa8728 2023-04-20T14:59:28 Add extension to skip texture renderability validation in ANGLE. Add a new extension to skip the texture renderability validation in ANGLE. Bug: angleproject:0000 Change-Id: Ia9e5a1eff233f5aced4706b7d3c183058d474c41 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4455549 Auto-Submit: vikas soni <vikassoni@chromium.org> Commit-Queue: Zhenyao Mo <zmo@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: vikas soni <vikassoni@chromium.org>
Roman Lavrov 4e073356 2023-04-13T15:16:53 Trace Interpreter: gzip cpp and run gold tests. New test step: angle_restricted_trace_gold_interpreted_tests similar to existing angle_restricted_trace_gold_tests but runs a subset of newest traces that have the right format. Currently there are 8 of them and the filter is hard-coded in test_suites.pyl. rise_of_empires can also be run interpreted but happened to flake during testing so it's not included for now. Trace cpp files are concatenated and gzipped as a build step producing gen/tracegz_{trace}.gz and these gz files are then distributed as part of the build --trace-interpreter flag changes from boolean to string to support: --trace-interpreter=gz: * this uses the gz file above * gold tests added in this CL use this option --trace-interpreter=c: * using uncompressed c/cpp file * existing angle_trace_interpreter_tests runs a retrace saving .c files and uses this option Bug: b/276742336 Change-Id: I69544f25bda873af191978195d02ffbdd34363c0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4424690 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Roman Lavrov 2c7f31af 2023-04-13T11:47:34 Trace Interpreter: Move to a shared library. Based on https://crrev.com/c/4178024 but does only one thing: makes trace interpreter a shared library (as if it was a compiled trace) I am not sure what impact this actually has on the TracePerfTest callbacks (mentioned in the CL above) as I see onEglMakeCurrent callback getting called without this CL as well. Anyways, this makes things a bit more consistent. * Gets rid of TraceReplayInterface * TraceInterpreter is now an implementation detail * Need to additionally pass list of trace files to TraceLibrary (new SetTraceInfo replay export) * GetResourceIDMapValue is just moved as is to the right lib Bug: b/276742336 Change-Id: I67ea9fbcb4f7db999ab71c8443ea91c5631df942 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4423869 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Chris Dalton a491bbe3 2023-03-18T19:05:08 Add PLS utilities for interrupting a rendering pass Adds two more simple commands to ANGLE_shader_pixel_local_storage that allow WebGL and the command buffer to interrupt rendering passes without having to either (1) make expensive queries, or (2) track lots of complex state for validation that they are not currently equipped to track. Bug: chromium:1421437 Change-Id: I80eaef3ae6b0b4bbbecb9cd2268ac90b43675d1c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4355032 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org>
Chris Dalton 513ca723 2023-03-13T14:30:20 Delete GL_LOAD_OP_DISABLE_ANGLE from PLS This load op makes the PLS spec and WebGL implementations unnecessarily complex. Bug: chromium:1421437 Change-Id: Iab02a8b02083899c6cc345ecb25b88c5871611c9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4335148 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Chris Dalton <chris@rive.app> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Chris Dalton b468e4dd 2023-03-08T14:21:47 Add back "non-robust" PLS queries Chrome doesn't have a codegen template for queries that model the "robust" signature, so support both types. Specify that the robust variants are only supported if ANGLE_robust_client_memory is supported, so Chrome and other implementations don't have to support them. Bug: chromium:1421437 Change-Id: Icc69b69ce9ce0a2cfad0dbeed1f3b29bcfa92d20 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4321867 Commit-Queue: Chris Dalton <chris@rive.app> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Chris Dalton f2e13539 2023-03-03T01:57:43 Implicitly enable PLS dependency extensions The ANGLE_shader_pixel_local_storage implementation makes internal use of various other extensions. These extensions must be implicitly enabled when ANGLE_shader_pixel_local_storage is in use. In this CL: * Convert ANGLE_shader_pixel_local_storage and ANGLE_shader_pixel_local_storage_coherent to requestable extensions. * Implicitly enable the dependency extensions, including each other, at the time either of these extensions is enabled. Bug: angleproject:7279 Bug: chromium:1421437 Change-Id: I26acbda776fe7045ea99d4f1e3df445e7a5cfd7f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4306526 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Chris Dalton <chris@rive.app>
Dan Glastonbury aa5b97de 2023-03-06T17:59:43 ANGLE_metal_shared_event_sync: Control signaling external events It was assumed that the external MTLSharedEvent passed to eglCreateSync should be signaled by the GL. This change adds EGL_SYNC_METAL_SHARED_EVENT_SIGNALED_ANGLE, which when passed as the value for EGL_SYNC_CONDITION during eglCreateSync, changes the behavior to not insert a fence command into the command stream. Test: angle_end2end_tests --gtest_filter=EGLSyncTestMetalSharedEvent.AngleMetalSharedEventSync_WaitSync_ExternallySignaled Bug: angleproject:8064 Change-Id: Ia1b8615b976f293d411b7d2be506b0ac87d64dee Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4307152 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: Sunny Sachanandani <sunnyps@chromium.org>
Alexey Knyazev 52ba6071 2023-03-06T00:00:00 Add EXT_texture_filter_minmax stubs Bug: angleproject:8072 Change-Id: Idfc2f2ff0eff7b0f6c131c37aeb53fb04019257d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4315865 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Chris Dalton a65f6a9d 2023-03-07T16:11:44 Make PLS queries robust There's no reason not to mirror the ANGLE_robust_client_memory API here. Bug: chromium:1421437 Change-Id: Ifb8b1a9675abe2ceb35272dc905f3c38f29dceda Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4317485 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Chris Dalton <chris@rive.app>
Gert Wollny 4448ce5c 2023-02-09T17:48:40 Capture/Replay: Add fixture SetCurrentContextID This is needed for better context handling Bug: angleproject:7911 Change-Id: Ieccb0f9660a8d607fe2bcee87b7a9b4ff2e25a50 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4236543 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Trevor Black <vantablack@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Ian Elliott <ianelliott@google.com>
Alexey Knyazev a2efea13 2023-03-01T00:00:00 Add ANGLE_stencil_texturing This extension allows texturing of the stencil component of a packed depth stencil texture on OpenGL ES 3.0 contexts. Trivially exposed on backends that support OpenGL ES 3.1, which requires this feature. Adjusted the tests to check for the new extension string instead of the context version. Bug: angleproject:8051 Change-Id: I4d833acbc72e7374bde91d4c861598a0fdaf9b90 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4295312 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Alexey Knyazev 1ca860ac 2023-02-22T00:00:00 Add extension stubs * GL_EXT_conservative_depth * GL_EXT_depth_clamp * GL_EXT_render_snorm Bug: angleproject:8046 Bug: angleproject:8047 Bug: angleproject:8048 Change-Id: I7deb4f25f76008103c2754747db2d90be880b6ca Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4296803 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Alexey Knyazev e2cf65ed 2023-02-22T00:00:00 Implement QCOM_render_shared_exponent Fixed: angleproject:8043 Change-Id: Ia76b8e4b60a640180bae77cba523142749051398 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4289140 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Alexey Knyazev dd1cf777 2023-02-16T00:00:00 Add EXT_texture_mirror_clamp_to_edge entry points Bug: angleproject:7968 Change-Id: I04b0c5d7b5148fbaca24d77a2c8688ea7a96cb64 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4262073 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Auto-Submit: Alexey Knyazev <lexa.knyazev@gmail.com>
Gert Wollny a52c0a6c 2023-02-06T16:01:27 Capture/Replay: Add and handle new resource type for EGLSync So far calls involving EGLSync were not tracking the actual sync objects, and this may lead to race conditions in multi-threaded and multi-context scenarios. This CL adds the type EGLSyncID and some specialized code handling of egl::Sync to distinguish EGLSync from the already existing GLSync objects in order to track them separately. Bug: angleproject:7911 Change-Id: I91b188a41069bc0620f51c55ee516d23b55bdd38 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4200095 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Mohan Maiya 1d9b8d80 2023-01-24T16:50:32 Reland "Add support for glShaderBinary" This is a reland of commit 228973e73135924ddf6116e0b63eff5a1ccbf232 with the following fixes - 1. Apply patch from Yuly to fix chromium build errors 2. Fix ShaderBinaryTest instantiation call 3. Add ShaderBinaryTest to expectations file for IOS Original change's description: > Add support for glShaderBinary > > This patch adds the following - > 1. ANGLE_shader_binary extension and GL_SHADER_BINARY_ANGLE token. > 2. Compiler support to generate shader binaries. > 3. Update compiler to use SH_SPIRV_VULKAN_OUTPUT as output type for > Vulkan translator. > 4. Support to load GL_SHADER_BINARY_ANGLE binaries. > 5. end2end tests for glShaderBinary. > > Tests: ShaderBinaryTest* > Bug: angleproject:7833 > Change-Id: I191d5ba7c4d5304696f5e743c851dc945fa57858 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4137306 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: mohan maiya <m.maiya@samsung.com> > Reviewed-by: Charlie Lao <cclao@google.com> Bug: angleproject:7833 Change-Id: I21135c52e2bae955342a99aff5631ba0e687eff1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4195852 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Sean Risser 0133b6f1 2023-01-20T16:02:27 Add GL_ARM_shader_framebuffer_fetch builtins Bug: b/242419750 Bug: angleproject:7882 Change-Id: I85582ad21e58e448b740789ec88f783c8b95ee01 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4189028 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Sean Risser <srisser@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov 0c9cbf39 2023-01-26T12:07:51 Revert "Add support for glShaderBinary" This reverts commit 228973e73135924ddf6116e0b63eff5a1ccbf232. Reason for revert: breaks compile on ANGLE into Chromium roll https://cr-buildbucket.appspot.com/build/8790942326644064097 https://cr-buildbucket.appspot.com/build/8790942759045412865 https://cr-buildbucket.appspot.com/build/8790942417069789217 Leaks detected on ASAN https://cr-buildbucket.appspot.com/build/8790946657703508337 Original change's description: > Add support for glShaderBinary > > This patch adds the following - > 1. ANGLE_shader_binary extension and GL_SHADER_BINARY_ANGLE token. > 2. Compiler support to generate shader binaries. > 3. Update compiler to use SH_SPIRV_VULKAN_OUTPUT as output type for > Vulkan translator. > 4. Support to load GL_SHADER_BINARY_ANGLE binaries. > 5. end2end tests for glShaderBinary. > > Tests: ShaderBinaryTest* > Bug: angleproject:7833 > Change-Id: I191d5ba7c4d5304696f5e743c851dc945fa57858 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4137306 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: mohan maiya <m.maiya@samsung.com> > Reviewed-by: Charlie Lao <cclao@google.com> Bug: angleproject:7833 Change-Id: Ice19576acbc1351810ff0cd769ac17ad6c0abdf3 No-Try: true No-Presubmit: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4197375 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Mohan Maiya 228973e7 2023-01-24T16:50:32 Add support for glShaderBinary This patch adds the following - 1. ANGLE_shader_binary extension and GL_SHADER_BINARY_ANGLE token. 2. Compiler support to generate shader binaries. 3. Update compiler to use SH_SPIRV_VULKAN_OUTPUT as output type for Vulkan translator. 4. Support to load GL_SHADER_BINARY_ANGLE binaries. 5. end2end tests for glShaderBinary. Tests: ShaderBinaryTest* Bug: angleproject:7833 Change-Id: I191d5ba7c4d5304696f5e743c851dc945fa57858 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4137306 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: mohan maiya <m.maiya@samsung.com> Reviewed-by: Charlie Lao <cclao@google.com>
Jamie Madill 2c582dcb 2023-01-03T10:27:03 Trace Interpreter: Support Manhattan trace. Adds the following fixes and features: - support transform feedback varying strings - support infinity and NaN constants - support for sampler and query resources Bug: angleproject:7887 Change-Id: Ib01afe66e4fda9bc77d0cb5eed52fa83a694a7d6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4126885 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>