Oopenharmony_ciCVE-2026-9914[500047428]
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
Fix typos in multi-draw extension specs Bug: angleproject:1944 Change-Id: I21d63bab1054c99c55e5836ac08c4cf32dbe79d8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3716582 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org> | 3 年前 | |
Fix typos in multi-draw extension specs Bug: angleproject:1944 Change-Id: I21d63bab1054c99c55e5836ac08c4cf32dbe79d8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3716582 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org> | 3 年前 | |
GL_ANGLE_blob_cache implementation. Bug: chromium:370538323 Change-Id: Ic51a951e78b48b315e36f518bcc39ff2d54660a6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5900761 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | 1 年前 | |
Change Validation For Indexed Draw Without ELEMENT_ARRAY_BUFFER Changed WebGL Validation to return INVALID_OPERATION any time an indexed draw call is made without a bound ELEMENT_ARRAY_BUFFER. Spec was changed to no longer require count > 0 in order to cause error. Make same spec change to GL_ANGLE_client_arrays extension. BUG:angleproject:2639 Change-Id: I23963f357119d081890aa5387b2863e1d42b92a5 Reviewed-on: https://chromium-review.googlesource.com/1093984 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | 7 年前 | |
Add ANGLE_clip_cull_distance extension Added an extension spec. Trivially exposed it on GL, Vulkan, and D3D11. Adjusted tests and validation to allow no cull distance support for this extension string. Removed extra built-in variable definitions. Bug: angleproject:7904 Change-Id: Ic60772dfe28132c316eaa29aadc1afd66e3b0fa7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4114290 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> | 3 年前 | |
(ANGLE) Rename CHROMIUM_compressed_texture_etc to use ANGLE_ prefix. This is the ANGLE side of a two-sided patch including Chromium to rename this synthetic OpenGL extension to use an ANGLE_ prefix. Bug: chromium:1011653 Change-Id: Ice4b526a34157ebbd8c283aacc9437fae2e35d6e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1843506 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org> | 6 年前 | |
Implement ANGLE_copy_texture_3d Extension Adds copyTexture3DANGLE and copySubTexture3DANGLE that adds copy operations on volumetric textures. Bug: angleproject:2762 Test: angle_end2end_tests Change-Id: I0076989c2b7ed69abfc73143c325065bdb06a360 Reviewed-on: https://chromium-review.googlesource.com/c/1207216 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | 7 年前 | |
Updates ANGLE_depth_texture to reflect proposed changes in requirements for g and b channels. git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1967 736b8ea6-26fd-11df-bfd4-992fa37f6226 | 13 年前 | |
Add initial specification for EGL_ANGLE_explicit_context Extension Adds formal specification for the unimplemented EGL_ANGLE_explicit_context extension. This extension will introduce alternate entry points that allow us to specify the context during the gl function call, so we can avoid looking it up in TLS. Bug: angleproject:1395 Change-Id: I6060c02b8edf586dc2443b563e2d292c00e4fbb7 Reviewed-on: https://chromium-review.googlesource.com/1033577 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | 7 年前 | |
Vulkan: Add external's pNext to ANGLE_external_objects_flags ANGLE was chaining VkImageFormatListCreateInfoKHR to VkImageCreateInfo::pNext to support sRGB extensions. For external images, it was unknown whether that was valid because there was no way to know if external used an identical chain of pNexts. This was causing a discrepancy between images created by Chrome and those created by ANGLE as part of an import. This change updates ANGLE_external_objects_flags to take in the pNext chain external has used to create the image so ANGLE could create the image identically. Bug: chromium:1266094 Change-Id: I479b9e7ff39d437425dc91c79834880749766f99 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3274177 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Peng Huang <penghuang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | 4 年前 | |
Fix wrong date in ANGLE_external_objects_fuchsia revision history The current timeline implies the existence of time travel. Bug: None Change-Id: Ic558f430912b874afc881f4841a49236f26b78dd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2178945 Commit-Queue: Michael Spang <spang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | 6 年前 | |
Document GetIntegerv errors in ANGLE_framebuffer_blit. git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1778 736b8ea6-26fd-11df-bfd4-992fa37f6226 | 13 年前 | |
Add ANGLE extension specifications git-svn-id: https://angleproject.googlecode.com/svn/trunk@608 736b8ea6-26fd-11df-bfd4-992fa37f6226 | 14 年前 | |
Add GetCompressedTexImageANGLE to ANGLE_get_image Includes front-end support for reading back compressed texture images. Back-end support is incomplete and will be implemented in a future CL. CL authored by cnorthrop@google.com. Bug: angleproject:6177 Change-Id: I1482b15e5ffec6120f09f51b2718cdbef07c93c8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3163359 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> | 4 年前 | |
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> | 5 年前 | |
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> | 5 年前 | |
Updates to extensions from public registry git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1848 736b8ea6-26fd-11df-bfd4-992fa37f6226 | 13 年前 | |
Introduce GL_ANGLE_logic_op This extension exposes the desktop GL glLogicOp function as a GLES extension. This is supported by Vulkan through the logicOp feature as well. The goal is to directly use this extension in GLES1 emulation where the backend supports it, avoiding a more costly fallback. Bug: angleproject:3862 Change-Id: I7ed436cdf401437157ca9724168849b4c819b91b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3898310 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> | 3 年前 | |
D3D11: Transcode ETC1 to BC1. Adds a new extension to allow transcode ETC formats to suitable BC formats. This commit implements ETC1 to BC1. More formats will be supported soon. BUG=angleproject:1285 Change-Id: Iacbfbc2248dfe1aebf24b92696249a9404e331cd Reviewed-on: https://chromium-review.googlesource.com/316511 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org> | 10 年前 | |
Add a spec and tests for GL_ANGLE_memory_size. Change the data type of buffer memory sizes to 64 bit integers. BUG=892288 Change-Id: I10e07b86f2ccc0cb61c8d7ee0d439e00d5eb8d3a Reviewed-on: https://chromium-review.googlesource.com/c/1312244 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | 7 年前 | |
Fix typos in multi-draw extension specs Bug: angleproject:1944 Change-Id: I21d63bab1054c99c55e5836ac08c4cf32dbe79d8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3716582 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org> | 3 年前 | |
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> | 7 年前 | |
Updates to extensions from public registry git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1848 736b8ea6-26fd-11df-bfd4-992fa37f6226 | 13 年前 | |
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> | 3 年前 | |
Initial specification for ANGLE_program_binary. Review URL: https://codereview.appspot.com/6267048 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1140 736b8ea6-26fd-11df-bfd4-992fa37f6226 | 13 年前 | |
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> | 2 年前 | |
Add entry points for EGL_ANGLE_program_cache_control. This instruments the plumbing for the extension without adding any functionality or exposing the extensions string. The extension text is also updated to reflect the new entry point design and naming. Also this corrects a few mistakes. This will be followed up by the tests (which won't run) and then the extension functionality in ANGLE. BUG=angleproject:1897 Change-Id: I5b009e23bc27da06b067375525bd6fc574027702 | 8 年前 | |
Fix ProvokingVertex typos Aligned the parameter name with the upstream specs Moved ValidateProvokingVertexANGLE to validationESEXT.cpp Bug: angleproject:2829 Change-Id: I820a90c20ef0a1873640c933b1de52526cac7e70 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4043701 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> | 3 年前 | |
Vulkan: Use read/write depth/stencil layouts This allows an application to have depth in read-only feedback loop while stencil is being written to for example. Bug: angleproject:7899 Bug: b/192477489 Change-Id: Ic2e11d32da7c7e3a7f3cd86dbafc5c56a0dbbfd7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4116730 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | 3 年前 | |
Vulkan: Allow certain usecases to have non-zero stride When glVertexAttribPointer is called with a type parameter that doesn't match the vertex attribute binding's type in shader, the vulkan backend used to force the stride to 0. This is acceptable since this usecase is unspecified in spec. To allow for better app compatibility, introduce a new extension that requires normal glVertexAttribPointer functionality to be maintained if the mismatched vertex attribute type is a mismatched integer type sign. This change also modifies the VkFormat used when a mismatch in signedness occurs to use a VkFormat with the same component width as the type parameter. Bug: angleproject:5762 Test: VertexAttributeTestES3.DrawWithRelaxedVertexAttributeType* Test: VertexAttributeTestES3.DrawWithMismatchedComponentCount* Change-Id: I7e5281500afc3d77f0775821447cabfad3ff2d66 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2765012 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | 5 年前 | |
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> | 3 年前 | |
Reland "Document thread-unsafe iterator access to resource maps" This is a reland of commit d1bb6ed8399dd12e79484f30f9e9ded95c25625a The crash was due to another issue (disabling EGL validation in Chrome) Original change's description: > Document thread-unsafe iterator access to resource maps > > By using a proxy type, everywhere resource maps are iterated are clearly > marked as not being thread safe. In most cases, only destruction and > capture/replay iterate over these maps, which means thread safety is not > an issue (or is externally enforced). > > The only case where iterators are used in the presence of other contexts > is with ANGLE_request_extension, which is changed to explicitly require > the application to ensure thread safety. In practice, the user is > Chrome which already guarantees this. > > Bug: angleproject:8667 > Change-Id: I7af13c6433b6955d9c36f9088b3aa4c065e1cfc1 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5526428 > Reviewed-by: Charlie Lao <cclao@google.com> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Geoff Lang <geofflang@chromium.org> Bug: angleproject:8667 Change-Id: Id539cabac01df5f242150f6684222577003eef3f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5531278 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | 2 年前 | |
Support RGBX format with GL_RGBA when using glTexSubImage2D Add an additional combination support with GL_RGBA in glTexSubImage2D for RGBX format. Add an end2end test. Bug: angleproject:444335354 Change-Id: I96fc9d3543fc58c9f666bf149f78cf9049758a32 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6938945 Reviewed-by: Charlie Lao <cclao@google.com> Auto-Submit: Aurora Zhang <Aurora.Zhang@arm.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> | 9 个月前 | |
Add robust entry point for CompressedTex(Sub)Image BUG=angleproject:1354 Change-Id: I925db827c4ccf4e6f037a058f8f6b960a56047e1 Reviewed-on: https://chromium-review.googlesource.com/474964 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | 9 年前 | |
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> | 4 年前 | |
Update ANGLE_robust_resource_initialization about depth ANGLE_robust_resource_initialization implementations seem to clear depth components to 1.0 but the specification says they should be cleared to zero. It looks like the intent was to clear to 1.0 which is what the WebGL spec requires. https://www.khronos.org/registry/webgl/specs/latest/1.0/#4.1 Bug: angleproject:6473 Change-Id: Ib880d6e30d04f68a9cfd06df8011fdfbe8f9536b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3197697 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Gregg Tavares <gman@chromium.org> | 4 年前 | |
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> | 3 年前 | |
Reland "Add a "noncoherent" layout qualifier to PLS" This is a reland of commit ef9c5ce43110f4f8ba56124bdee927944ce3ddd1 with an invalid assert removed. Original change's description: > Add a "noncoherent" layout qualifier to PLS > > Raster ordering can be expensive. If an app knows the geometry in a draw > does not overlap, it can mark the PLS planes as noncoherent and opt for > using barriers instead. > > Bug: angleproject:40096838 > Change-Id: I2d686c2e64f51940face186637a9fcadcc251bef > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6923300 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Kenneth Russell <kbr@chromium.org> > Commit-Queue: Chris Dalton <chris@rive.app> Bug: angleproject:40096838 Change-Id: I55077a973063427dfb0d510c87e75ec86ce8bb43 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6991929 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> | 9 个月前 | |
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> | 2 年前 | |
Update ANGLE_texture_compression_dxt git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1822 736b8ea6-26fd-11df-bfd4-992fa37f6226 | 13 年前 | |
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> | 1 年前 | |
Updates to extensions from public registry git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1848 736b8ea6-26fd-11df-bfd4-992fa37f6226 | 13 年前 | |
Port constant folding compiler tests to end2end Bug: angleproject:454531087 Change-Id: I532dddb7aa0b48b147609be15ed3491ea8a4cb66 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7080052 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> | 8 个月前 | |
Vulkan: Use the GENERAL layout if VK_KHR_unified_image_layouts This lets ANGLE simplify synchronization by generally being able to use memory barriers instead of listing image barriers separately. Although the more specific access masks from VK_KHR_synchronization2 is possibly necessary for some hardware to work optimally (VK_ACCESS_2_SHADER_SAMPLED_READ_BIT in particular). It also lets ANGLE optimize a very specific scenario. Take an image used in the following scenario: 1. Copy to image in a transfer operation 2. Sample from image in the fragment shader of render pass 1 3. Sample from image in the vertex shader of shader pass 2 When GENERAL is not used, there's a layout transition between steps 1 and 2, changing the layout from TRANSFER_DST to SHADER_READ_ONLY_OPTIMAL (with dst stage == fragment shader). Later, at step 3, we need to make sure the vertex shader at least waits for this layout transition to finish... a dependency which is not expressible in Vulkan: * There cannot be a dependency to step 1, because the layout transition is not necessarily done * There is no stage mask that signifies the end of a layout transition. Without GENERAL, ANGLE has no choice but to issue a fragment->vertex dependency before step 3, serializing render pass 2's vertex pass with render pass 1's fragment pass on tilers. When using the GENERAL layout instead, step 3 can issue a transfer->vertex memory barrier, including using a VkEvent, parallelizing the two render passes. The above optimization is possible after this change, but not yet implemented. Bug: angleproject:422982681 Change-Id: Ieaae6f92b8b7d1e9c80c810a759c64b1e81d2dc1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6936485 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> | 9 个月前 | |
Add shader targeting language to WebGL compat spec. Bug: angleproject:1687 Change-Id: Ia7e05b7ff4af995e5cb3e72584866bba8c1907a5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3205797 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | 4 年前 | |
CVE-2026-9914[500047428] cherry picked from commit ff4ceb90268d28fddafe6c9ca3080e749ca4e3e3 Change-Id: Iaf153785845df4babc5b193a67ad05b23596c6df Signed-off-by: h00888022 <h00888022@notesmail.huawei.com/> Co-Authored-By: Agent Reviewed-by: l00470585 Approved-by: z00611338 Merged-on: https://open.codehub.huawei.com/OpenSourceCenter_CR/openharmony-tpc/chromium_third_party_angle/-/change_requests/124 Merged-by: public pjenkins Signed-off-by: hwt00888022 <huwentao21@huawei.com> | 1 个月前 | |
Add an extension to disable resource generation on bind. BUG=angleproject:1518 Change-Id: I662f7b07da5c97831496f2617b0adadf9858bdc9 Reviewed-on: https://chromium-review.googlesource.com/386799 Reviewed-by: Antoine Labour <piman@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | 9 年前 | |
Clarify aliasing rules in CHROMIUM_bind_uniform_location The CHROMIUM_bind_uniform_location spec previously had some conflicting information on when uniform location aliasing was allowed. Now the section on uniform location aliasing makes it clear that aliasing locations of two statically used uniforms is an error. This guarantees compatibility between different compiler versions that may treat a different subset of uniforms as active, depending on optimizations. It follows the spirit of GLSL ES 3.00.6 spec section 12.46, that has similar rules for attributes. The implementation is fixed to correctly follow the spec. When flattening uniforms, static use is tracked separately from activeness. BUG=angleproject:2262 TEST=angle_end2end_tests Change-Id: I570fd384064aec66ef0380a53fa01ac5e43eec5a Reviewed-on: https://chromium-review.googlesource.com/978144 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com> | 8 年前 | |
Implement CHROMIUM_copy_compressed_texture for D3D11. BUG=angleproject:1356 Change-Id: Id563997d2921cf558c52a781ae66d8bde58d1f2f Reviewed-on: https://chromium-review.googlesource.com/339847 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | 9 年前 | |
Support more YUV formats in CopyTextureCHROMIUM Add support for formats in GL_ANGLE_yuv_internal_format as source textures to glCopyTextureCHROMIUM. These formats are common AHardwareBuffer formats and Chrome uses them as copy texture sources when decoding video. Bug: chromium:405308165 Change-Id: Ic817cce83b676ee9a517bee4fac6ef94a174961f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6908295 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | 9 个月前 | |
Implement GL_CHROMIUM_sync_query for D3D9 and D3D11. BUG=angleproject:1366 Change-Id: Iadde61968f45b969c76578a6dd9116a25d63fb4b Reviewed-on: https://chromium-review.googlesource.com/341230 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | 9 年前 | |
Vulkan: Support passthrough of colorspace attributes On Android, the EGL loader supports and implements the necessary functionality for the following colorspace extensions - 1. EGL_EXT_gl_colorspace_display_p3 2. EGL_EXT_gl_colorspace_display_p3_linear 3. EGL_EXT_gl_colorspace_display_p3_passthrough 4. EGL_EXT_gl_colorspace_scrgb 5. EGL_EXT_gl_colorspace_scrgb_linear Add support for "EGL_ANGLE_colorspace_attribute_passthrough" extension that allows vendors that support wide color gamut to passthrough colorspace attribute values to the underlying Vulkan implementation to be used during VkImage creation. Bug: angleproject:7319 Test: PbufferColorspaceTest.CreateSurfaceWithColorspace* Change-Id: Ibd78bb5fea4ede394f4dc5027c1d4a730746f2ee Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3855048 Commit-Queue: mohan maiya <m.maiya@samsung.com> Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> | 3 年前 | |
GL: Allow selecting virtualization groups at context creation Rewrite EGL_ANGLE_platform_angle_context_virtualization to EGL_ANGLE_context_virtualization, changing the context virtualization parameter to an identifier for what virtualization group the frontend context should be added to. This allows ANGLE's GL backend to be used by multiple threads if the user creates contexts with different virtualization groups. Bug: angleproject:6406 Change-Id: I7414d4705ce10bdf63a9b824043d5dd040dad875 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3169193 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | 4 年前 | |
Implement EGL_ANGLE_create_context_backwards_compatible This extension allows the user to specify if ANGLE should create a context of the exact requested version or a higher version context that is backwards compatible. BUG=angleproject:3425 Change-Id: I7d0b75cdd7e34a2fc888aa238e1eeb67af82ae0d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1601560 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> | 6 年前 | |
Add extensions to disable client arrays. Chrome doesn't allow any client data in its command buffer. Add an ANGLE extension to request a context that disallows client data. BUG=602737 Change-Id: If9d5144daea3c629a73562396000df59a671aad3 Reviewed-on: https://chromium-review.googlesource.com/441986 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | 9 年前 | |
Add an EGL extension to disable GL extensions by default. BUG=angleproject:2404 Change-Id: I2667ddc92d5c9ef6e0ef115f2fdf0c3d3643d945 Reviewed-on: https://chromium-review.googlesource.com/962702 Reviewed-by: Frank Henigman <fjhenigman@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | 8 年前 | |
Fix EGL enum allocation. The following enums had a small typo causing them to be takend from an unused block: EGL_CONTEXT_WEBGL_COMPATIBILITY_ANGLE EGL_CONTEXT_BIND_GENERATES_RESOURCE_CHROMIUM EGL_DISPLAY_TEXTURE_SHARE_GROUP_ANGLE Fix this by temporarily defining a secondary enum. Once Chromium is fixed upstream we can remove the temporary enum. Reported by dan.glastonbury@gmail.com. Bug: angleproject:2806 Change-Id: I2ce1dec0a30d5e83f2bec0ae243fd860cbcea4fc Reviewed-on: https://chromium-review.googlesource.com/1220371 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> | 7 年前 | |
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> | 4 年前 | |
Fix the order of the error() parameters in Surface.cpp and advertise EGL_ANGLE_d3d_share_handle_client_buffer extension Trac #16711 Also rename the extension file to match the extension name Signed-off-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@651 736b8ea6-26fd-11df-bfd4-992fa37f6226 | 14 年前 | |
d3d11: Support rendering to GL_TEXTURE_2D target for YUV images YUV D3D11 texture plane EGLImages can be bound to TEXTURE_EXTERNAL_OES, but don't support rendering because ExternalImageSibling11::IsYUV() returns true. While it might appear that IsYUV() should return true for YUV D3D11 textures, the EGLImage siblings are actually for individual planes which are R/RG 8/16 and they can indeed be bound as render targets if we just return false for IsYUV(). This CL makes IsYUV() return false and adds a test for rendering to YUV EGLImages. Bug: angleproject:7610 Change-Id: I6c95a9521448e83a53153c1efaca70bd73e49818 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3856660 Auto-Submit: Sunny Sachanandani <sunnyps@chromium.org> Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | 3 年前 | |
Add EGL_ANGLE_device_cgl extension. Supports querying the CGLContextObj and CGLPixelFormatObj associated with ANGLE's underlying OpenGL context on macOS. Minor refactorings to implementation of device attribute queries on all platforms. Bug: angleproject:3973 Change-Id: I24341668be4cbfed0b7f2df4c1402df1effe275e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1846733 Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | 6 年前 | |
Revert "Revert "Add and implement EGL_ANGLE_device_creation[_d3d11]"" This reverts commit dd5c5b79333fdde7858a77d39e91cc3d30b74c9e. BUG=angleproject:1190 Change-Id: I1bc1b232b6a916da6d18b546baf20e0854a2768f Reviewed-on: https://chromium-review.googlesource.com/315169 Tested-by: Austin Kinross <aukinros@microsoft.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | 10 年前 | |
Revert "Revert "Add and implement EGL_ANGLE_device_creation[_d3d11]"" This reverts commit dd5c5b79333fdde7858a77d39e91cc3d30b74c9e. BUG=angleproject:1190 Change-Id: I1bc1b232b6a916da6d18b546baf20e0854a2768f Reviewed-on: https://chromium-review.googlesource.com/315169 Tested-by: Austin Kinross <aukinros@microsoft.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> | 10 年前 | |
Add drafts for device query extensions. These extensions give power apps the ability to query raw device pointers from the EGL layer. EGL_EXT_device_query is based on EGL_EXT_device_base, which is being split into device_query and device_enumerate. We remove the device enumeration logic, and only allow the app to query the current device from a display, which matches how ANGLE works internally. EGL_ANGLE_device_d3d gives the app the ability to query D3D devices associated with a display. BUG=angleproject:935 Change-Id: I8079661f00d11717ed0e792c9fe8dc5c26f67dcc Reviewed-on: https://chromium-review.googlesource.com/252110 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | 11 年前 | |
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> | 2 年前 | |
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> | 2 年前 | |
Upstream WebKit's iOS port of ANGLE. Added the EAGL backend authored by Dean Jackson from Apple, and the refactoring changes needed to support it side-by-side with the macOS backend. Ran "git cl format" against these diffs. Defined the EGL_ANGLE_device_eagl extension and allocated an enum out of ANGLE's reserved range. The iOS backend is not yet included in any of the GN files. Bug: angleproject:4263 Change-Id: I631c32930433c03bb16a242955ffedf55174bb29 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1987278 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: James Darpinian <jdarpinian@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org> | 6 年前 | |
Metal: implement ANGLE_device_metal extension. Allow user to query internal MTLDevice used by Metal back-end. Bug: angleproject:2634 Change-Id: I9b0a6eaad8c634069f43e47d5f4f88f61da35f74 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2757810 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | 5 年前 | |
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> | 1 年前 | |
WebGPU: Add extensions for importing external textures Add EGL_ANGLE_device_webgpu which exposes the adapter and device used by ANGLE internally. Add EGL_ANGLE_webgpu_texture_client_buffer which allows importing external WGPUTexture handles if they share the same device as ANGLE (queried from EGL_ANGLE_device_webgpu). Bug: angleproject:418022112 Change-Id: I0683d36b84a0f8e0e9b68a5ec0d3aa8b7a95152c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6553063 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | 1 年前 | |
Add an extension describing the new D3D renderer chooser behavior in eglGetDisplay. TRAC #23029 Author: Shannon Woods Signed-off-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2329 736b8ea6-26fd-11df-bfd4-992fa37f6226 | 12 年前 | |
Add EGL spec for EGL_ANGLE_direct_composition This allows applications to specify that they want to render to the screen using DirectComposition. This can save power by allowing the use of DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL and DirectFlip, but has other side effects - windows must be owned by the current process, and contents drawn by GDI are shown underneatch the window. BUG=angleproject:1178 Change-Id: I2e45d92c9f92f27eedaf50f0a866c20c43f3aab5 Reviewed-on: https://chromium-review.googlesource.com/317651 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: John Bauman <jbauman@chromium.org> | 10 年前 | |
Reland "Metal: Reintroduce GPU power preference selection code." This reverts commit 67a8cf07a740c5ce3aafd2ad7fddd370451b3525. Reason for revert: Landed Chromium-side dependency: https://chromium-review.googlesource.com/c/chromium/src/+/3271170 Original change's description: > Revert "Metal: Reintroduce GPU power preference selection code." > > This reverts commit 017161701b7dbf70a13f3c180a39e1fa45c27d9f. > > Reason for revert: Blocking roller, please re-land with the fix. > > Original change's description: > > Metal: Reintroduce GPU power preference selection code. > > > > This CL re-introduces the GPU power preference code to > > the metal backend. It also reworks EGLDisplay caching > > in the frontend to cache based on the native display > > as well as the power preference attribute. > > A new extension, EGL_ANGLE_display_power_preference is > > added based on EGL_ANGLE_power_preference. This extension > > is a client extension that allows selection of GPU on > > display creation, similar to how GPUs are selected on > > context creation in EGL_ANGLE_power_preference. > > This CL adds EGLDisplayPowerPreferenceTest and enables it on > > the metal backend. > > > > Bug: angleproject:6143 > > Change-Id: I0a081dcd2e3f18ab365fdd3498ddcb6e2ba35212 > > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3231986 > > Reviewed-by: Kenneth Russell <kbr@chromium.org> > > Reviewed-by: Jamie Madill <jmadill@chromium.org> > > Reviewed-by: Gregg Tavares <gman@chromium.org> > > Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> > > TBR=kbr@chromium.org,gman@chromium.org,jonahr@google.com,jmadill@chromium.org,angle-scoped@luci-project-accounts.iam.gserviceaccount.com > > Change-Id: I4f775bf7139253a87b033a30e0da2100b3c1bb02 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: angleproject:6143 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3270749 > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Commit-Queue: Jamie Madill <jmadill@chromium.org> # Not skipping CQ checks because this is a reland. Bug: angleproject:6143 Change-Id: Id9b0a5cbb76e4dea9e2f2da2b1c47a0587dfdaf5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3270970 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> | 4 年前 | |
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> | 5 年前 | |
Release the global texture manager with the last referencing context. This ensures that when the global texture manager is released, there is a valid context. BUG=angleproject:1639 Change-Id: I1b75885e9dc02b607bb1a386de394f6087429f5d Reviewed-on: https://chromium-review.googlesource.com/442074 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | 9 年前 | |
Re-land "Implement EGL_experimental_present_path_angle" - Re-land with clang fix. This allows ANGLE to render directly onto a D3D swapchain in the correct orientation when using the D3D11 renderer. The trick is to add an extra uniform to each shader which takes either the value +1.0 or -1.0. When rendering to a texture, ANGLE sets this value to -1.0. When rendering to the default framebuffer, ANGLE sets this value to +1.0. ANGLE multiplies vertex positions by this value in the VS to invert rendering when appropriate. It also corrects other state (e.g. viewport/scissor rect) and shader built-in values (e.g. gl_FragCoord). This saves a substantial amount of GPU time and lowers power consumption. For example, the old method (where ANGLE renders all content onto an offscreen texture, and then copies/inverts this onto the swapchain at eglSwapBuffers() time) uses about 20% of the GPU each frame on a Lumia 630. Verification: + dEQP GL ES2 tests pass when "present path fast" is enabled + all ANGLE_end2end_tests pass when "present path fast" is enabled BUG=angleproject:1219 Change-Id: I56b339897828753a616d7bae837a2f354dba9c63 Reviewed-on: https://chromium-review.googlesource.com/326730 Tryjob-Request: Austin Kinross <aukinros@microsoft.com> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | 10 年前 | |
Add initial specification for EGL_ANGLE_explicit_context Extension Adds formal specification for the unimplemented EGL_ANGLE_explicit_context extension. This extension will introduce alternate entry points that allow us to specify the context during the gl function call, so we can avoid looking it up in TLS. Bug: angleproject:1395 Change-Id: I6060c02b8edf586dc2443b563e2d292c00e4fbb7 Reviewed-on: https://chromium-review.googlesource.com/1033577 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | 7 年前 | |
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> | 2 年前 | |
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> | 1 年前 | |
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> | 2 年前 | |
Metal: Allow using GL_RGB with either RGBA/BGRA IOSurface. Previously we only allowed GL_RGB internal format to be used with BGRA IOSurface and GL_RGBX8_ANGLE to be used with RGBA IOSurface respectively. However, there are currently many places in Chrome prefer GL_RGB to be able to be used with both RGBA and BGRA IOSurface. This CL allows such combinations. Instead of deducing angle::FormatID of the IOSurface pbuffer based on the input GL internal format & type, we will take into account the pixel format of the IOSurface as well. For example, when we call eglCreatePbufferFromClientBuffer with GL_RGB internal format attribute: - if IOSurface's pixel format is 'RGBA' -> deduced angle::FormatID is R8G8B8A8_UNORM. - if IOSurface's pixel format is 'BGRA' -> deduced angle::FormatID is B8G8R8A8_UNORM. This CL also removes GL_RGBX8_ANGLE support from Metal backend. Because there are many places in Chrome that use this format enum for both RGBA & BGRA IOSurface when the extension is available. It's redundant to support that since GL_RGB already covers most of the required cases. Bug: angleproject:8350 Change-Id: I5a121a97e031a42d0779721d4348f373dfaee9a0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4881742 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Quyen Le <lehoangquyen@chromium.org> Reviewed-by: Sunny Sachanandani <sunnyps@chromium.org> | 2 年前 | |
Add support for RESOURCE_MISC_SHARED_KEYEDMUTEX Change-Id: I225f38b4616ac47e690dccbcb67074fedc571d61 Reviewed-on: https://chromium-review.googlesource.com/225642 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | 10 年前 | |
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> | 1 年前 | |
[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> | 8 个月前 | |
Metal: add ANGLE_metal_create_context_ownership_identity. This Metal-specific EGL extension allows a given context and the GPU resources it allocates to be associated with a particular task ID on the system, for system-level bookkeeping purposes. Bug: angleproject:6795 Change-Id: I19ee0993564169b01c4a450e63dcfacd339b98b5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3335172 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org> | 4 年前 | |
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> | 3 年前 | |
Metal: Override internal format of images Add support for overriding the internal format when binding Metal textures to EGL images. Fixed: angleproject:8552 Change-Id: I364a88a2e608e462c5216c92927679814ab91ca5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5310305 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org> | 2 年前 | |
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> | 2 年前 | |
Reland "Metal: Reintroduce GPU power preference selection code." This reverts commit 67a8cf07a740c5ce3aafd2ad7fddd370451b3525. Reason for revert: Landed Chromium-side dependency: https://chromium-review.googlesource.com/c/chromium/src/+/3271170 Original change's description: > Revert "Metal: Reintroduce GPU power preference selection code." > > This reverts commit 017161701b7dbf70a13f3c180a39e1fa45c27d9f. > > Reason for revert: Blocking roller, please re-land with the fix. > > Original change's description: > > Metal: Reintroduce GPU power preference selection code. > > > > This CL re-introduces the GPU power preference code to > > the metal backend. It also reworks EGLDisplay caching > > in the frontend to cache based on the native display > > as well as the power preference attribute. > > A new extension, EGL_ANGLE_display_power_preference is > > added based on EGL_ANGLE_power_preference. This extension > > is a client extension that allows selection of GPU on > > display creation, similar to how GPUs are selected on > > context creation in EGL_ANGLE_power_preference. > > This CL adds EGLDisplayPowerPreferenceTest and enables it on > > the metal backend. > > > > Bug: angleproject:6143 > > Change-Id: I0a081dcd2e3f18ab365fdd3498ddcb6e2ba35212 > > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3231986 > > Reviewed-by: Kenneth Russell <kbr@chromium.org> > > Reviewed-by: Jamie Madill <jmadill@chromium.org> > > Reviewed-by: Gregg Tavares <gman@chromium.org> > > Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> > > TBR=kbr@chromium.org,gman@chromium.org,jonahr@google.com,jmadill@chromium.org,angle-scoped@luci-project-accounts.iam.gserviceaccount.com > > Change-Id: I4f775bf7139253a87b033a30e0da2100b3c1bb02 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: angleproject:6143 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3270749 > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Commit-Queue: Jamie Madill <jmadill@chromium.org> # Not skipping CQ checks because this is a reland. Bug: angleproject:6143 Change-Id: Id9b0a5cbb76e4dea9e2f2da2b1c47a0587dfdaf5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3270970 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> | 4 年前 | |
EGL: Expose NULL driver device selection. This makes the device type selection part of the ANGLE platform extension. We currently support NULL driver selection on all available back-ends (although on the NULL back-end, it already has no device type). Optionally we could expose certain features of this as separate extensions. This currently also supports the old hidden enum, until we can update Chrome and consolidate to the new exposed official enum. Bug: angleproject:2159 Change-Id: I85d0811098e644e8192c207673af9e18ed7c1da2 Reviewed-on: https://chromium-review.googlesource.com/846021 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | 8 年前 | |
Add D3D11on12 device option This CL adds a new D3D11on12 device option which runs the D3D11 API on top of D3D12. This is done to aid in preliminary investigations into the feasibility of creating a full D3D12 backend implementation. Bug: angleproject:3919 Change-Id: I0ad4250eb3c93b0b74274c904aac74f03753c7ad Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1814404 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | 6 年前 | |
Specify LUID in D3D11 Add an extension to provide the ability to specify the LUID of the GPU adapter to use when using D3D11. Corresponding chromium CL: https://chromium-review.googlesource.com/c/chromium/src/+/2096778 Bug: chromium:792657 Change-Id: Iefebea221a4b7a20f150b445ae1adf375444726d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2096663 Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com> Reviewed-by: Zhenyao Mo <zmo@chromium.org> | 6 年前 | |
Reland "ANGLE_platform_angle_device_context_volatile_* extensions" This is a reland of e70f6aa679dd72eca5c88c71b0932928e92d6067 Original change's description: > ANGLE_platform_angle_device_context_volatile_* extensions > > Change from Kimmo Kinnunen downstream: > https://bugs.webkit.org/show_bug.cgi?id=216106 > > Add two extensions for EAGL and CGL backends to declare the > underlying platform context being "volatile". It means that > the thread-global current context is being modified behind > ANGLE. If ANGLE context is marked volatile for a particular > API, it will sync the underlying context for every EGL > function that needs the context. Most intuitive use is > for the client to call eglMakeCurrent before calling any > gl function if the client knowns the platform state might > be dirty. > > Implement eglReleaseThread for EAGL and CGL backends. > Releasing thread will unset the platform current context. > > Fix a bug of omitting EGL_ANGLE_device_eagl from being > advertised. > > Bug: angleproject:5104 > Change-Id: I1ec98ad35bc0caada23556ae8697fdef20f65b1a > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2486548 > Commit-Queue: James Darpinian <jdarpinian@chromium.org> > Reviewed-by: Kenneth Russell <kbr@chromium.org> > Reviewed-by: Geoff Lang <geofflang@chromium.org> Bug: angleproject:5104 Change-Id: I88265625a4bb4c1412532768d17d7b4356c7be41 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2508842 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: James Darpinian <jdarpinian@chromium.org> | 5 年前 | |
Reland "ANGLE_platform_angle_device_context_volatile_* extensions" This is a reland of e70f6aa679dd72eca5c88c71b0932928e92d6067 Original change's description: > ANGLE_platform_angle_device_context_volatile_* extensions > > Change from Kimmo Kinnunen downstream: > https://bugs.webkit.org/show_bug.cgi?id=216106 > > Add two extensions for EAGL and CGL backends to declare the > underlying platform context being "volatile". It means that > the thread-global current context is being modified behind > ANGLE. If ANGLE context is marked volatile for a particular > API, it will sync the underlying context for every EGL > function that needs the context. Most intuitive use is > for the client to call eglMakeCurrent before calling any > gl function if the client knowns the platform state might > be dirty. > > Implement eglReleaseThread for EAGL and CGL backends. > Releasing thread will unset the platform current context. > > Fix a bug of omitting EGL_ANGLE_device_eagl from being > advertised. > > Bug: angleproject:5104 > Change-Id: I1ec98ad35bc0caada23556ae8697fdef20f65b1a > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2486548 > Commit-Queue: James Darpinian <jdarpinian@chromium.org> > Reviewed-by: Kenneth Russell <kbr@chromium.org> > Reviewed-by: Geoff Lang <geofflang@chromium.org> Bug: angleproject:5104 Change-Id: I88265625a4bb4c1412532768d17d7b4356c7be41 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2508842 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: James Darpinian <jdarpinian@chromium.org> | 5 年前 | |
Change enum allocation for EGL_PLATFORM_ANGLE_DISPLAY_KEY_ANGLE Changes EGL_PLATFORM_ANGLE_DISPLAY_KEY_ANGLE from 0x34DA to 0x34DC Bug: chromium:1251724 Change-Id: I609d37abd622bf0c3bbab253d4d0dea31edd1774 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4287264 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> | 3 年前 | |
Reland "Instantiate rx::DisplayEGL when device type EGL is selected" This is a reland of 7455b54401dd55833944b5ad857ccd9852ef6a79 Original change's description: > Instantiate rx::DisplayEGL when device type EGL is selected > > Define EGL_PLATFORM_ANGLE_DEVICE_TYPE_EGL_ANGLE that should be > used to request a driver egl-backed implementation with ANGLE. > > Bug: angleproject:4328 > Change-Id: I6871d3a27e2bfc02af9815dcf86ae1cb6524f0cc > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2030038 > Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> > Reviewed-by: Geoff Lang <geofflang@chromium.org> Bug: angleproject:4328 Change-Id: I4e997c4fa1b5b59f081436f05bd208303ffe38e9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2093412 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Julien Isorce <julien.isorce@chromium.org> | 6 年前 | |
Re-land "Vulkan: SwiftShader integration." Re-land fixes Win7 configs and placement of the SwiftShader module for ASAN/TSAN configs. Adds a new EGL extension for picking SwiftShader when using the Vulkan back-end. Also cleans up ICD enabling code RendererVk. Also includes a change to a buffer size necessary to support SwiftShader's minimum limits. Bug: angleproject:3876 Bug: b/140251624 Change-Id: I5e16057ac4de07bbdbbd248542b1b9103133294f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1810065 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | 6 年前 | |
Add ANGLE Platform Metal extension. EGL_ANGLE_platform_angle_metal is the new extension name. Bug: angleproject:2634 Change-Id: I6ebffbd4f6d7974bc5ef6d48849e985ee83e9808 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1848793 Reviewed-by: Le Hoang Quyen <le.hoang.q@gmail.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | 6 年前 | |
Rename EGL platform extension text files. This makes the naming more consistent with the rest of the EGL extensions. BUG=angleproject:2086 Change-Id: If08e7a550d6b99fb5a3a2138b0c94afc82b2b417 Reviewed-on: https://chromium-review.googlesource.com/578368 Reviewed-by: Geoff Lang <geofflang@chromium.org> | 8 年前 | |
Add support for EGL_PLATFORM_ANGLE_EGL_HANDLE_ANGLE To support ANGLE for Android need a way to tell ANGLE what library to call when using GL backend. Bug: angleproject:2418 Test: test-opengl-gl2_copyTexImage Change-Id: Ie00251b0672a036db4720e1e5b269f66a30a03da Reviewed-on: https://chromium-review.googlesource.com/1066822 Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Frank Henigman <fjhenigman@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | 7 年前 | |
Control Debug layers in ANGLE_platform_angle. Debug layers seem to be a universal thing among functional back-ends. D3D, OpenGL and Vulkan all need some kind of controls for debugging, so it seems to make sense to make this control part of the base extension. Default the extension to EGL_DONT_CARE, which allows the back-end to have a lot of flexibility in terms of implementation. Also enable the extension in the D3D11 and OpenGL back-ends, and set the extension to enabled for angle_end2end_tests. Remove EGLVulkanEXTTest since it no longer tests anything not tested in the base ANGLETest class. BUG=angleproject:2086 Change-Id: I52d8170effd1846b9afbe6e4052c699fe5cb0de8 Reviewed-on: https://chromium-review.googlesource.com/578369 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> | 8 年前 | |
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> | 1 年前 | |
WebGPU: Allow providing an external WGPUDevice. Update EGL_ANGLE_platform_angle_webgpu with a new parameter which allows initializing DisplayWgpu with a pre-existing WGPUDevice. The adapter and instance are queried from this device. Bug: angleproject:42266898, angleproject:414827222 Change-Id: I3159ebe19750e75c5cf9aa395332f48385fdb4d9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6578196 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> | 1 年前 | |
Add ForceGPUSwitch to EGL_ANGLE_power_preference eglHandleGPUSwitch() does not work with WebKit sandbox profile. The root cause is that we do not know the primary display, and as such we do not know which GPU drives this. Add eglForceGPUSwitchANGLE(display, gpuIDHigh, gpuIDLow). This lets the caller figure out the GPU in another process. Then the caller can just set the GPU in the sandboxed process. Add tests that are disabled by default until the runner and the infrastructure supports running the tests with automatic switching enabled. Bug: angleproject:7092 Change-Id: I316ee431156596effbdb89659a5e24291719a204 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3516274 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org> | 4 年前 | |
Reland: Frontend: separate lock in swap prep Swapchain-based backends like Vulkan might block a lot in vkAcquireNextImageKHR, which is bad for overall fast progress if we also hold the global EGL lock there. This CL starts to split the global EGL lock. We release the EGL lock when performing vkAcquireNextImageKHR, and only maintain a lock for surfaces. This is done via a new custom entry point, EGL_PrepareSwapBuffers, so that we can control how the global lock is used throughout the entire call. Bug: angleproject:6851 Change-Id: I095cd8b3bdbb13c842cab0a46148e2122582cdfd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3373426 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Lingfeng Yang <lfy@google.com> | 4 年前 | |
Add entry points for EGL_ANGLE_program_cache_control. This instruments the plumbing for the extension without adding any functionality or exposing the extensions string. The extension text is also updated to reflect the new entry point design and naming. Also this corrects a few mistakes. This will be followed up by the tests (which won't run) and then the extension functionality in ANGLE. BUG=angleproject:1897 Change-Id: I5b009e23bc27da06b067375525bd6fc574027702 | 8 年前 | |
Update extension numbers for published extensions. git-svn-id: https://angleproject.googlecode.com/svn/trunk@945 736b8ea6-26fd-11df-bfd4-992fa37f6226 | 14 年前 | |
Metal: Clear depth pbuffers to 1 for robust init Robust resource initialization would init depth pbuffers as 0.0 instead of 1.0. This would differ from the FBO initialization, where the uninitialized depth buffers would be initialized to 1.0. Bug: angleproject:348199042 Change-Id: I0f251e85d6e08ce992fe323b257a0906d237f5b1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5642763 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Quyen Le <lehoangquyen@chromium.org> | 1 年前 | |
Add token to ANGLE_software_display extension git-svn-id: https://angleproject.googlecode.com/svn/trunk@796 736b8ea6-26fd-11df-bfd4-992fa37f6226 | 14 年前 | |
GL: Remove parallel compile/link without driver support This feature was practically disabled everywhere due to various bugs, and is complicating the code. In effect, the code was always spawning a thread for the compilation and link jobs, immediately fail it (due to a workaround), then do the job when compile/link is resolved (much closer to draw time). This leads to bad user experience, but also is racy because the shaders may get recompiled in the meantime and there is little the GL backend could do to stop that (efficiently). After this change, parallel compile/link is either done by the driver (if supported), or it isn't done. This is a partial revert of a100d8f471f79b9f88d387164992cc5bd9c6ee9f. Bug: angleproject:3031 Bug: chromium:922936 Bug: chromium:1184692 Bug: chromium:1202928 Change-Id: I6348bee3249ccb3828bb98ac2a69dc7d305f821c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4774785 Reviewed-by: Geoff Lang <geofflang@chromium.org> | 2 年前 | |
Update extension numbers for published extensions. git-svn-id: https://angleproject.googlecode.com/svn/trunk@945 736b8ea6-26fd-11df-bfd4-992fa37f6226 | 14 年前 | |
Add an EGL_ANGLE_surface_orientation extension. BUG=angleproject:1262 Change-Id: Ifbb0f5302311a68a0c6f02baaea706cbb7055a52 Reviewed-on: https://chromium-review.googlesource.com/320011 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> | 10 年前 | |
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> | 6 年前 | |
Vulkan: Add support for setting timestamp surface attribute On Android the EGL wrapper handles most of the functionality required by EGL_ANDROID_get_frame_timestamps. However if for some reason the swapchain is recreated, the timestamp state would be lost resulting in stuttering. Introduce EGL_ANGLE_timestamp_surface_attribute extension that adds support for toggling the EGL_TIMESTAMPS_ANDROID attribute of a surface. Cache this state and recreate the swapchain accordingly. Bug: angleproject:7489 Test: EGLSurfaceTest.TimestampSurfaceAttribute* Test: dEQP-EGL.functional.get_frame_timestamps* Change-Id: I3660f7137c006d904164d243a682a4ff520eabd8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3753396 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: mohan maiya <m.maiya@samsung.com> | 3 年前 | |
Reland "Add support for Linux vulkan backend with VK_KHR_display" This is a reland of a7bb6a9b15ddeb8497523f8871deb25de2676d9f Original change's description: > Add support for Linux vulkan backend with VK_KHR_display > > Implement Linux simple display mode with vulkan backend > through VK_KHR_display. > > Added value 'EGL_PLATFORM_VULKAN_DISPLAY_MODE_SIMPLE_ANGLE' for > attribute EGL_PLATFORM_ANGLE_NATIVE_PLATFORM_TYPE_ANGLE to identify > the new simple display mode. Also reserved > EGL_PLATFORM_VULKAN_DISPLAY_MODE_HEADLESS_ANGLE for headless mode. > > How to enable: > Add > > > use_x11=false > angle_vulkan_display_mode="simple" # default value > > > into args.gn, then compile with linux vulkan args. > > Bug: angleproject:5214 > Change-Id: I1247585b9de8b55df106aba99322281f1c183203 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2494320 > Commit-Queue: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Bug: angleproject:5214 Change-Id: I3921f6cb292c86658f39e739a878baad1ef64dba Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2515327 Commit-Queue: Xiaoxuan Liu <xiaoxuan.liu@arm.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | 5 年前 | |
Support gl internal format for creating EGLImage from VkImage Bug: chromium:1290638 Change-Id: I5c9815b727497f63b9f04ecbd8c27deef4b929c8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3438666 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Peng Huang <penghuang@chromium.org> | 4 年前 | |
Add EGL_ANGLE_wait_until_work_scheduled extension We're changing eglReleaseTexImage so it calls flushCommandBuffer(mtl::NoWait) instead of flushCommandBuffer(mtl::WaitUntilScheduled) and then adding an extension to allow us to WaitUntilScheduled. This is because Chrome calls eglReleaseTexImage for every canvas and having it WaitUntilScheduled per call is very slow. So instead we'll call eglWaitUntilWorkScheduledANGLE once which will effectively wait just once. Bug: angleproject:7890 Change-Id: I87bc9f9a1a7f4a0f99d93736cc3083799e76afeb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4109311 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Gregg Tavares <gman@chromium.org> | 3 年前 | |
WebGPU: Add extensions for importing external textures Add EGL_ANGLE_device_webgpu which exposes the adapter and device used by ANGLE internally. Add EGL_ANGLE_webgpu_texture_client_buffer which allows importing external WGPUTexture handles if they share the same device as ANGLE (queried from EGL_ANGLE_device_webgpu). Bug: angleproject:418022112 Change-Id: I0683d36b84a0f8e0e9b68a5ec0d3aa8b7a95152c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6553063 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | 1 年前 | |
Support EGL_(WIDTH|HEIGHT) in eglSurfaceAttrib(), fixed resize Setting EGL_WIDTH or EGL_HEIGHT results in mFixedWidth and mFixedHeight changing their values. Whenever the swap chain is tested for needing a resize, surfaces with mFixedSize are treated as if they should be resized to mFixedWidth and mFixedHeight from their current size. This way fixed-size surfaces can be resized - it's enough to do a couple of eglSurfaceAttrib() calls and then either let ANGLE check surface for needing a resize in due course, or force that by calling eglWaitNative(). BUG=angleproject:2725 Change-Id: I2932d8ecd5a2f10500e4aa8583a169aa09bf01bb Reviewed-on: https://chromium-review.googlesource.com/1139055 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | 7 年前 | |
Implement EGL_ANGLE_x11_visual Reland with a fixed tests on AMD. This extension will be used by Chrome to advertise the visual it will use for its windows. Having ANGLE use the same visual will bring several benefits: - A blit will be avoided, and the content of the window might be rendered on the system framebuffer directly. - There will be less latency when resizing windows which will make it much less likely to see a black border when resizing. BUG=522149 Change-Id: I66004b6ac45453330af7c4c810ddf2c26941be42 Reviewed-on: https://chromium-review.googlesource.com/314661 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org> | 10 年前 | |
Fix EGL enum allocation. The following enums had a small typo causing them to be takend from an unused block: EGL_CONTEXT_WEBGL_COMPATIBILITY_ANGLE EGL_CONTEXT_BIND_GENERATES_RESOURCE_CHROMIUM EGL_DISPLAY_TEXTURE_SHARE_GROUP_ANGLE Fix this by temporarily defining a secondary enum. Once Chromium is fixed upstream we can remove the temporary enum. Reported by dan.glastonbury@gmail.com. Bug: angleproject:2806 Change-Id: I2ce1dec0a30d5e83f2bec0ae243fd860cbcea4fc Reviewed-on: https://chromium-review.googlesource.com/1220371 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> | 7 年前 | |
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> | 6 年前 | |
Add drafts for device query extensions. These extensions give power apps the ability to query raw device pointers from the EGL layer. EGL_EXT_device_query is based on EGL_EXT_device_base, which is being split into device_query and device_enumerate. We remove the device enumeration logic, and only allow the app to query the current device from a display, which matches how ANGLE works internally. EGL_ANGLE_device_d3d gives the app the ability to query D3D devices associated with a display. BUG=angleproject:935 Change-Id: I8079661f00d11717ed0e792c9fe8dc5c26f67dcc Reviewed-on: https://chromium-review.googlesource.com/252110 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> | 11 年前 |