src


Log

Author Commit Date CI Message
Shahbaz Youssefi 2796cbfd 2022-09-15T16:18:47 GLES1: Implement logic op through ANGLE_logic_op Bug: angleproject:7654 Change-Id: I88c784d87c1cb7cb7e5ccf8f020203553513bbb3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3899381 Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Peng Huang 790dc479 2022-09-20T10:14:32 Collect vulkan driverID with GetSystemInfoVulkan() For AMD, the driver can be MESA, AMDVLK or proprietary driver. Chrome needs those info to decide if use vulkan. Bug: chromium:1340081,angleproject:7677 Change-Id: Ie1a09fde36b053cacf26351dd7ff549f17a45a55 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3905326 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Peng Huang <penghuang@chromium.org>
Shahbaz Youssefi 0c7bf627 2022-09-20T10:45:39 Vulkan: Remove static variable from DisplayVkLinux::queryDmaBufFormats + fix the numFormat/Modifier output not set Bug: angleproject:7664 Change-Id: I300710e3ba12f3fb134af4460ef6235eae3e98fc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3905327 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Shahbaz Youssefi c51ca1b7 2022-09-15T14:00:21 Infra: Run GLES1 conformance tests on Pixel 4 bots Bug: angleproject:3408 Bug: angleproject:7676 Change-Id: I46ebfbef69a4eb300e6cdc964f1b3716a56df320 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3899379 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Yan,Shaobo 2b6d7920 2022-09-20T10:26:23 Remove extra '# if defined(ANGLE_PLATFORM_WINDOWS)' This is a follow up CL of https://chromium-review.googlesource.com/c/angle/angle/+/3902853 The origin CL use defined(ANGLE_PLATFORM_WINDOWS) while it is already in the parent ANGLE_PLATFORM_WINDOWS block. This CL fix this issue. Bug: angleproject:7669 Change-Id: Ice23577c4582fa68f9bd475c8cdb388c6d9e7b04 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3906955 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi ba3b4515 2022-09-15T01:06:51 Vulkan: Implement GL_ANGLE_logic_op Enabled if the logicOp device feature is available. According to gpuinfo, it's pretty much universal except for ARM. Bug: angleproject:7654 Change-Id: I4808b519fdd6273b2f8c1bb17f59517eb65bfe8d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3898317 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 81811166 2022-09-19T00:00:00 Reject GL_HALF_FLOAT_OES on WebGL 2.0 This type enum is not exposed in WebGL 2.0 contexts. Skipped OES enum testing on ES 3.0 contexts in half-float texture WebGL compatibility tests. Bug: angleproject:7668 Change-Id: I56138aa686192a873b308ba58633e6a1fc808a1d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3900019 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 97926f80 2022-09-15T00:10:49 GL: Implement GL_ANGLE_logic_op Enabled only on Desktop GL where logic op is available. Bug: angleproject:7654 Change-Id: I3c17ffb5b21abf31aec247319a625526f1bec37d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3898316 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi de73f7cd 2022-09-14T22:27:28 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>
Yuxin Hu 0fefbe83 2022-09-14T15:20:00 Vulkan: Do not cache the FramebufferHelper with no attachment If two FBOs don't have any attachments, and their GL_FRAMEBUFFER_DEFAULT_WIDTH and GL_FRAMEBUFFER_DEFAULT_HEIGHT are different, there is no difference in their cache key (vk::FramebufferDesc). Therefore the Vulkan backend is not able to distinguish between the two FBOs. This can create issues when we 1. create first FBO with a smaller size, renders to it 2. create second FBO with a bigger size, renders to it The second renderpass will use the FBO created in the first renderpass, because it managed to retrieve the first FBO from the cache with the same cachekey. This triggers the vulkan validation error: VUID-VkRenderPassBeginInfo-pNext-02853, saying the render area exceeds the framebuffer size. This CL fixed it by not adding the FramebufferHelper to the cache, if it doesn't have any attachment. These framebufferHelpers are cheap, without cache there should not be much performance drop. Bug: angleproject:3579 Bug: angleproject:7351 Bug: angleproject:7666 Bug: b/246334302 Change-Id: Iddecafddb042bd16401f983f9ee1a021b845d8bb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3891543 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Amirali Abdolrashidi d19d9bfe 2022-09-19T13:06:40 Roll VK-GL-CTS from 6dee9965e173 to 7bbdc916a414 (16 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/6dee9965e173..7bbdc916a414 2022-09-16 gleese@broadcom.com Tests for VK_EXT_depth_clamp_zero_one 2022-09-16 gleese@broadcom.com Update to the latest vulkan-docs version 2022-09-16 quic_mnetsch@quicinc.com Merge "Merge vk-gl-cts/vulkan-cts-1.3.3 into vk-gl-cts/main" into main 2022-09-16 ziga@lunarg.com Create VkShaderModule on the correct device 2022-09-16 gary.sweet@broadcom.com Fix dEQP-VK.synchronization.global_priority_transition.* 2022-09-16 zzoon@igalia.com Fix to ensure that a particular image with that format can be sampled via vkGetPhysicalDeviceImageFormatProperties. 2022-09-16 piotr.byszewski@mobica.com Interact FDM with imageless FB and secondary CB 2022-09-16 piotr.byszewski@mobica.com Add test for pervertex correctness 2022-09-16 marcin.zajac@mobica.com pipelineStageCreationFeedbackCount = 0 case 2022-09-16 jarred.davies@imgtec.com Add tests for VK_EXT_pipeline_robustness 2022-09-16 ziga@lunarg.com Add tests with dynamic states that discard all fragments 2022-09-16 chip@holochip.com Use Mach semaphores on Darwin 2022-09-16 marcin.zajac@mobica.com robustness1_vertex_access for VKSC 2022-09-16 piotr.byszewski@mobica.com Fix vkDeviceFeatures2.inl 2022-09-16 quic_mnetsch@quicinc.com Merge vk-gl-cts/opengl-cts-4.6.2 into vk-gl-cts/main 2022-09-15 quic_mnetsch@quicinc.com Merge vk-gl-cts/opengl-es-cts-3.2.8 into vk-gl-cts/main If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll Please CC abdolrashidi@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: angleproject:7673 Change-Id: Ic70f0c9da85a493c50e23662a37abb7b1d6c529c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3904783 Reviewed-by: Shahbaz Youssefi <syoussefi@google.com> Auto-Submit: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Gert Wollny ffd662e9 2022-08-01T10:49:19 capture/replay: Add MEC support to capture-replay script Running the capture/replay script in MEC mode is done by adding a parameter --mec <n> with n being the start frame of the capturing. Exactly one frame will be captured. Bug: angleproject:7564 Change-Id: I93153356d75712ba81ca26ccfc7f40785ba3e4ef Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3819845 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Robert Mader 11ac69d0 2022-09-16T15:40:17 EGL: Stop announcing EGL_EXT_image_dma_buf_import_modifiers The extension was enabled in https://chromium-review.googlesource.com/c/angle/angle/+/2128190 without implementing the required functions, `DisplayImpl::queryDmaBufFormats` and `DisplayImpl::queryDmaBufModifiers`, resulting in crashes. Bug: angleproject:7664 Change-Id: Ifbb0a182171646df8161f6f42eafe2a476fea6b2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3902321 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shaobo d63fdfa5 2022-09-19T09:33:47 Include <windows.h> to build vulkan only ANGLE on Windows When building ANGLE with vulkan backend only on windows, the compiler may throw error related to Windows SDK if developer has installed several windows sdk when compiling tests/test_expectations/GPUTestConfig.cpp and tests/test_utils/third_party/vulkan_command_buffer_utils.cpp. The build prviously works because we has opengl or d3d11 backend built together on windows. And the wgl source code includes <windows.h>. To fix this issue, this CL include <windows.h> in platform.h when vulkan backend is enabled and the platform is windows. Bug: angleproject:7669 Change-Id: I66f1bbdbd7b5da32c63b71224b442dfeb8e97467 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3902853 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Chris Dalton 493bab09 2022-09-15T14:20:41 Add an ShPixelLocalStorageType enum Adds ShPixelLocalStorageType to ShCompileOptionsPLS and adds a getNativePixelLocalStorageType() call to ContextImpl. For now this enum only tells the translater whether PLS formats needs to be packed into r32 images, but it will soon also be able to select framebuffer fetch, native pixel local storage, and other PLS implementations. Bug: angleproject:7279 Change-Id: Ifbd419b20550b8711ae3044782177806796216f1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3900498 Commit-Queue: Chris Dalton <chris@rive.app> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Antonio Caggiano a8a04ce1 2022-08-16T17:59:20 Vulkan: Add supportsPresentation feature Some platforms do not support presentation through any Vulkan queue. In this case we should not transition the color image layout to present. Bug: angleproject:7217 Change-Id: I71cad0e52bc1fdb531de5a34e917a1862a4cf070 Signed-off-by: Antonio Caggiano <antonio.caggiano@collabora.com> Suggested-by: Sungyong Choi <sywow.choi@samsung.com> Suggested-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3853598 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Mohan Maiya 38c01008 2022-09-13T15:11:54 Vulkan: Fix a cornercase bug when dynamically loading AHB APIs. The commit 122a1cc583f0 enabled dynamic loading of AHB APIs but did not handle the cornercase where some Android system services load "libnativewindow.so" with the RTLD_LOCAL flag. In such cases AHB APIs would not be resolvable through dlsym lookup. Explicitly dlopen "libnativewindow.so" in such cases. Bug: angleproject:7656 Change-Id: Ie74140ad816b756e1afc325d370f26bcb09428ca Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3894658 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Peng Huang <penghuang@chromium.org> Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Arthur Eubanks 704ad44b 2022-09-15T10:47:18 Fix -Wdeprecated-copy-with-user-provided-copy Example error: definition of implicit copy assignment operator for 'Foo' is deprecated because it has a user-provided copy constructor Bug: chromium:1363759 Change-Id: Ieec435b5c6847ba153bcaebb9a4287ced44fef1f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3900494 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Arthur Eubanks <aeubanks@google.com>
Chris Dalton 04f46f39 2022-09-12T10:15:16 Reland "Generate stubs for ANGLE_shader_pixel_local_storage" This is a reland of commit 8208e8a234d05b413d79e7a93b6a428adea41b33 In Take 2 we omit the GLenum groups PixelLocalLoadOpANGLE and PixelLocalInternalFormatANGLE. We can add these back once the extension is published and we can update Khronos's gl.xml, or else once we figure out how to make this work without updating the Khronos gl.xml. Original change's description: > Generate stubs for ANGLE_shader_pixel_local_storage > > Bug: angleproject:7279 > Change-Id: I41548ad35c236b67372a12fecaa9a1b9c556d232 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3891972 > Commit-Queue: Chris Dalton <chris@rive.app> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Bug: angleproject:7279 Change-Id: I02f42c1cfc685ed95164744108e0c185d3a7fefb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3900491 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Chris Dalton <chris@rive.app>
Jeff Vigil f54e7ee6 2022-08-25T09:57:22 Vulkan: Add Native ID to GBM configs Add GBM/DRM FourCC codes for Config Native ID Bug: angleproject:7605 Change-Id: I9ef32a6e342fd0eb51ba3b1311556f5a3a6b9b9b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3857830 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Greg Thompson 8c62c5bd 2022-09-15T08:27:39 [fuchsia] Remove use_cfv1 from uses of test() GN template The default is now to not include CFv1 manifests in test packages, so it is no longer necessary for tests to individually opt-out of including them. Bug: chromium:1256503 Change-Id: Ib6c5425c584cadfccefef530b00f651a2878ea3b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3898670 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Greg Thompson <grt@chromium.org>
Chris Dalton 8c45e3c4 2022-09-15T01:07:47 Revert "Generate stubs for ANGLE_shader_pixel_local_storage" This reverts commit 8208e8a234d05b413d79e7a93b6a428adea41b33. Reason for revert: Compile failures Original change's description: > Generate stubs for ANGLE_shader_pixel_local_storage > > Bug: angleproject:7279 > Change-Id: I41548ad35c236b67372a12fecaa9a1b9c556d232 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3891972 > Commit-Queue: Chris Dalton <chris@rive.app> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Bug: angleproject:7279 Change-Id: Ic9a232f9d722b42e615de3827ce118616f3acc71 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3897425 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Chris Dalton <chris@rive.app> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Chris Dalton <chris@rive.app>
Charlie Lao 3657b0ca 2022-09-14T11:24:00 Vulkan: Add end2end test for fbo with no attachment Add a test for fbo with no attachment and then change the fbo size. There is a bug in vulkan backend that discovered with deqp tests, and this CL creates a end2end test for that. Bug: b/246334302 Change-Id: I9b70afb958cda02140bf1007b71095ee3f922e38 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3893015 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Chris Dalton 8208e8a2 2022-09-12T10:15:16 Generate stubs for ANGLE_shader_pixel_local_storage Bug: angleproject:7279 Change-Id: I41548ad35c236b67372a12fecaa9a1b9c556d232 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3891972 Commit-Queue: Chris Dalton <chris@rive.app> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao 18f90857 2022-09-09T11:28:00 Vulkan: Use DontCare if attachment is invalidated If an attachment is invalidated, there is no need to preserve the old content. NONE means old content is still preserved, DontCare means discard old content. In this case we do want to discard instead of preserve old content. Bug: b/243711628 Change-Id: I242ac86db6993574b5627d61f7185d155beec0ba Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3888938 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Charlie Lao <cclao@google.com> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Chris Dalton 7822c9df 2022-09-10T14:17:21 Delete FramebufferPixelLocalClearValue{f,i,ui}vANGLE Instead, BeginPixelLocalStorageANGLE just accepts a buffer containing clear values. In WebGL, the clear data can be an array of Numbers. This makes the API smaller, simpler, and less stateful and bug-prone. Bug: angleproject:7279 Change-Id: I8b3fa4ae7f20ba3ad72beb01f275acf50eee803c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3888960 Commit-Queue: Chris Dalton <chris@rive.app> Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi ee3b5d05 2022-09-13T22:52:03 GLES1/Vulkan: Enable LineRaster tests Should be passing now with VK_EXT_line_rasterization Bug: angleproject:3862 Change-Id: Ib2d31e5ca931d6f9c78cd3f9f0aee93809bcaf5d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3891545 Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Mohan Maiya d375547c 2022-08-12T15:54:39 Do not link program pipeline in glUseProgramStages 1. The commit 3a9f18f135fe82 caused a link to occur everytime glUseProgramStages is called. This is redundant since the program pipeline can be linked just before usage, thus allowing for multiple stages to be bound before linking the executable. 2. Mark PPO as a dirty object and link the PPO in dirty object handler 3. Early return if the same program is being bound to the same stage of the pipeline. 4. Added ProgramPipelineObjectBenchmark perf test that switches programs before a draw and observed following data - 1. vulkan profile - 1. wall_time before patch - 102000 ns 2. wall_time after patch - 38000 ns 2. vulkan_null profile - 1. wall_time before patch - 125000 ns 2. wall_time after patch - 52000 ns Bug: angleproject:5102 Bug: angleproject:6566 Test: ContextNoErrorPPOTest31.*Vulkan Test: ProgramPipelineTest31.*Vulkan Test: ProgramPipelineObjectBenchmark* Change-Id: Idbc2fcb4875bbd040e9ec847eb2a8f96f287173c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3830170 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Mohan Maiya a2f00721 2022-06-19T15:17:22 Vulkan: Extend bounding box when pruning updates Add support for extending the bounding box when there are updates that enclose the current bounding box. Bug: angleproject:4691 Bug: angleproject:7389 Test: Texture2DArrayTestES3.TextureArrayPruneSupersededUpdates* Change-Id: Ie7e3cc28f17213361b1be407dbb2d984865fe6bd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3712897 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Yuly Novikov ec1ce582 2022-09-13T15:52:16 Skip end2end tests failing on iOS Bulk suppression of all failures discovered after the initial setup of an iOS bot. Bug: angleproject:7653 Change-Id: I068f01dbab368e73ffc8854224d7a8357e0446d6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3892016 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Solti 0af9aa03 2022-08-30T22:24:21 use proper TPrecision when creating TType Overview Using "EbpUndefined" when create the inputAttachmentType(TType) causes the maximum precision in SPIR-V. The maximum precision is not required and may degrade performance. This CL makes the creation using a proper precision based on declared variables. Tests ===== confirm the precision in SPIRV ===== - Using genshin_impact trace to verify - Using RenderDoc - Executable Path: com.android.angle.test/#DefaultActivity - Intent Argument: -e org.chromium.native_test.NativeTest.StdoutFile /sdcard/chromium_tests_root/out.txt -e org.chromium.native_test.NativeTest.CommandLineFlags "--gtest_filter=TracePerfTest.Run/vulkan_genshin_impact" - Capture frame 9 with the drivers built with and without CL. - Magically found one vkCmdDrawIndexed(396, 1) that "TextureViewer" has "ANGLEInputAttachment" as inputs. In "Pipeline State", the "FS" uses shader module 9556 - then compare the shader module 9556 sources from the 2 drivers. Confirmed the differences: - GLSL (SPIRV-Cross): https://screenshot.googleplex.com/A8gWMGR2EmnZwHv.png - SPIR-V (RenderDoc): https://screenshot.googleplex.com/5yqKc4pWL3qLaEj.png Bug: angleproject:7281 Change-Id: I86b315ddf057325638e58d5a0d7f8b203d8b74f8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3866573 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Solti Ho <solti@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Yuly Novikov 34332f85 2022-09-13T13:54:14 Fix UninstantiatedParameterizedTestSuite errors on iOS. Some test suites are instantiated only on ES31 or Vulkan, which iOS doesn't support. Bug: angleproject:5417 Change-Id: Iea202934edb3804993dabd38f2629d4992eb2095 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3892013 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill f39a9659 2022-09-09T10:09:58 Update flex/bison binaries. These binaries were updated using update_flex_bison_binaries.py. Please see instructions in tools/flex-bison/README.md. flex is at version 2.6.4. bison is at version 3.8.2. Bug: None Change-Id: Ia3189b678fc8ddacdf14bbfd3f4750f938d32ac3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3886807 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Lubosz Sarnecki 8fb77b5a 2022-09-06T14:33:40 gles1/FogTest: Add test that combines blending and fog. Add a test that draws a texture with a shadow effect by using fog and blending functionality. This fails on all ANGLE configs like ES1_Vulkan and ES1_OpenGL but succeeds on native drivers using ES1_EGL. Test: angle_end2end_tests --gtest_filter="FogBlendTest.ShadowEffect/*" Bug: angleproject:7598 Change-Id: I454735c3257e6986a6b1af1bc993a609e776419b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3876222 Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Mohan Maiya ae971cfe 2022-09-07T17:00:17 Vulkan: Expose wide gamut and HDR EGL colorspace extensions Query the underlying Vulkan ICD for the list of supported colorspaces on platforms that support VK_GOOGLE_surfaceless_query extension. Expose corresponding EGL colorspace extensions. Bug: angleproject:7630 Change-Id: If9843ee55100fff5a8cec4ecf2ff27c746c5b205 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3873767 Reviewed-by: Trevor Black <vantablack@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Patrick To fc51d98f 2022-08-11T03:29:16 Add Direct Composition offset to gl_FragCoord DComp usually gives us an offset at (0, 0), but this is not always the case. It is valid for DComp to give us an offset into a texture atlas, for example with some video overlays. If we do have an offset, gl_FragCoord must also be offset to point to the correct pixel in the surface. Bug: chromium:1269749 Change-Id: I3ca39860d176bcf9f1d520d781cfed2d1d1ad1dd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3827081 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com> Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com>
angle-autoroll 7369e665 2022-09-12T09:59:17 Roll Chromium from e7211d52993a to 3c60121d064a (1898 revisions) Includes a fix for passing nullptr to memcpy, needed after https://chromium-review.googlesource.com/c/chromium/src/+/3830738 https://chromium.googlesource.com/chromium/src.git/+log/e7211d52993a..3c60121d064a If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC ianelliott@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/a802f7afd7..efa2ea67b3 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/8e147cfcf5..a7f5ad05c4 * buildtools/linux64: git_revision:00b741b1568d56cf4e117dcb9f70cd42653b4c78..git_revision:b4851eb2062f76a880c07f7fa0d12913beb6d79e * buildtools/mac: git_revision:00b741b1568d56cf4e117dcb9f70cd42653b4c78..git_revision:b4851eb2062f76a880c07f7fa0d12913beb6d79e * buildtools/third_party/libc++/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/0bcb3f7dbb..60f90783c3 * buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/6285577a9d..5c3e02e92a * buildtools/third_party/libunwind/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/42aa6de554..60a480ee18 * buildtools/win: git_revision:00b741b1568d56cf4e117dcb9f70cd42653b4c78..git_revision:b4851eb2062f76a880c07f7fa0d12913beb6d79e * testing: https://chromium.googlesource.com/chromium/src/testing/+log/0749f30ea7..f76677edac * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/d8ee101941..200c7ed65e * third_party/android_build_tools/bundletool: qqdjz9M6hbP7D7jMsRGwpvibSWdEJn1Tnm-R3B6M6bEC..IEZQhHFQzO9Ci1QxWZmssKqGmt2r_nCDMKr8t4cKY34C * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/efda6e3f14..cf9befc4c4 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..861067db62 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/600fdf58c9..2d25dbd149 * third_party/fuchsia-sdk/sdk: version:9.20220902.1.1..version:9.20220912.0.1 * third_party/r8/d8: ODjYnRPfjz6Ml42YJB5QKVfn7qaVLKdc-eZ01g3enDcC.._g2g6FSXHfosnO9NWkIZJwr76tobLOVx2AG7QNdfpvsC * third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/9f4113d3ba..05e137d33c * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/06b66e0116..2a5ebae0f7 * tools/luci-go: git_revision:3226112a79a7c2de84c3186191e24dd61680a77d..git_revision:c93fd3c5ebdc3999eea86a7623dbd1ed4b40bc78 * tools/luci-go: git_revision:3226112a79a7c2de84c3186191e24dd61680a77d..git_revision:c93fd3c5ebdc3999eea86a7623dbd1ed4b40bc78 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/092b87beee..52ce428d8a * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/e68727adf5..386c784a62 * tools/skia_goldctl/linux: BcL4zQgD0tZoFzhWm37NnERAPLdbeERfbY_SSBQ3ba4C..XXyhhDL9TuGs6KyzXXakE4eaVnpYMXz8DKbnU5Ew3aAC * tools/skia_goldctl/mac_amd64: 8DiQ6WFPrEn56-jwyQmU4EMXFvf7_-8SYjVD2hHHmZMC..FyHlZdO9A-oMbWsU1rxpkz2dOtU4aOPBSJx9YQF_CLoC * tools/skia_goldctl/mac_arm64: lJ8l4RCPxwrg_f-Z9Lnu3Ma3uRlbRbAcdQA7xwpIzNUC..K3uVqbmFCdJI0hGDotZSM9kPdXQNp7oIGy7pykJInqAC * tools/skia_goldctl/win: 1l0XEVvr2qVUdGYrjLN9Gkt6qfv8KsXM52B8MKDShmEC..DCjjZXPp2-aMyq92DomOu_HdsBScNrumV-n3sIRYCfAC Clang version changed llvmorg-16-init-3375-gfed71b04:llvmorg-16-init-4141-gf48931f3 Details: https://chromium.googlesource.com/chromium/src/tools/clang/+/06b66e0116fd0f48b85f522eb39f543fb641db5c..2a5ebae0f797d7ad1f27d7f20bd926ce76c29411/scripts/update.py Bug: angleproject:7626, angleproject:7649 Change-Id: I1600219f412b421de6c8a63836e34d15ff0004c1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3890101 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Cody Northrop 543c450e 2022-09-09T14:37:39 Tests: Add Botworld Adventure trace Test: angle_perftests --gtest_filter="*botworld_adventure*" Bug: angleproject:7645 Change-Id: Icbe7a21538537ea1c2ca4161b5d56bae43adcdf4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3888778 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Kimmo Kinnunen 08d3be38 2022-09-12T15:42:35 Rename include guards for angle_version_info.h, angle_version.h Patch by David Kilzer <ddkilzer@apple.com>. They have the same include guard and it does not match the filename. Bug: angleproject:7650 Change-Id: I8f6c035e5f397a36744d22a2f4b58063e241b8b0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3891372 Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Cody Northrop 92519c7f 2022-09-08T13:25:22 Tests: Add Zombie Smasher trace This is a GLES1 title. Test: angle_perftests --gtest_filter="*zombie_smasher*" Bug: angleproject:7644 Change-Id: I31aedeed7b16d4a53a91fe652a908178befef901 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3885355 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Geoff Lang 09446a6b 2022-09-02T11:29:32 Metal: Upload the last texture row separately on AMD. Speculative fix for crashes seen when uploading texture data on AMD. Port of the unpackLastRowSeparatelyForPaddingInclusion workaround from the GL backend. Currently constrained to client data 2D uploads to non-compressed textures. Bug: angleproject:7573 Change-Id: Idd036b92619d309e5b2a8062043e8644f4d5b2e0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3870655 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Gregg Tavares <gman@chromium.org>
Seija 6c469cdf 2022-09-09T12:12:09 Properly Create C++ string objects "" is an empty C string in Objective-C++. We need to use the proper constructors to convert a C string into std::string. Bug: angleproject:7646 Change-Id: Ided31dcbd9434cbae3ea828e29767bb3899e0f56 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3887639 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Gert Wollny 585d2a9e 2022-08-11T16:45:54 Capture/Replay: Capture the attr locations as set by the program Setting the attribute location based on the input declaration results in a discrepancy with MEC when recording the context state, because if a location was never set explicitely, the captured context state will hold no attribute location information, but since calls were recorded to set the default attribute locations, the context state recorded during replay will contain these extra entries. To avoid this, only record the attribute locations that were explicitely set. Bug: angleproject:7564 Change-Id: Ib9d6c7b098935d199921e0fe5c0ef985e6187f1b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3827345 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Kimmo Kinnunen 6937ea98 2022-09-08T14:15:10 Use base name of the generator script in various generated files Increases compiler cache hits especially in cases where the file is run during build. Bug: angleproject:7642 Change-Id: I769dae2d7cca2cf1e238531f4cb356bad41b06dd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3880323 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Sean Risser 19117567 2022-09-07T19:21:56 Avoid general python exceptions in retrace script Keyboard interrupts are handled as exceptions in Python, so unguarded except statements can prevent a program from properly terminating. Bug: angleproject:7639 Change-Id: I54ee754a40457b924eda0a6c8074f575263528ad Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3856650 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Sean Risser <srisser@google.com>
Geoff Lang daa134d9 2022-08-22T13:02:44 GL: Ignore qualcomm errors about timestamps We've seen unexplained errors about timestamps and share groups from Qualcomm drivers. They don't appear to affect rendering at all and don't give enough information to be actionable. Bug: chromium:1348684 Change-Id: I3f99803c6451c0fe762689d76df3293864bbcda6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3846052 Auto-Submit: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Peng Huang <penghuang@chromium.org>
Gregg Tavares 61e905af 2022-09-07T15:47:26 Move out of bounds buffer access tests under correct extension A few tests in RobustResourceInitTest are testing for out of bounds values but RobustResourceInitTest is only checking GL_ANGLE_robust_resource_initialization which does not do anything for out of bounds access. I moved them to the RobustBufferAccessBehaviorTest. Bug: angleproject:7638 Change-Id: If542ce2f1711e4b1980bf52cabfa3cff71480536 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3880833 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Gregg Tavares <gman@chromium.org>
Gregg Tavares 526e8e64 2022-09-07T17:44:56 Fix UNSYNCHRONIZED glMapBufferRange test The test makes a buffer and puts in [red, red, red, zero, zero, zero]. It then maps the zero, zero, zero portion with glMapBufferRange(...GL_MAP_UNSYNCHRONIZED_BIT...). It writes green over the zeros, and unmaps. But, because GL_MAP_UNSYNCHRONIZED_BIT was passed in there is no guarnatee the original values have been put in the buffer yet. If they have not then the greens will be over-written. Bug: angleproject:7640 Change-Id: I7d3bf54afb01bca3cc440f998ae1fad0ce1e5e8e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3881166 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Gregg Tavares <gman@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Geoff Lang 313956f2 2022-09-07T10:15:10 Vulkan: Don't store EGLSyncVk::mAttribs as a const ref. EGLSyncVk::mAttribs is a stack allocated variable in the parent scope. Its usage is currently safe because it is only used in EGLSyncVk::initialize but it is dangerous to have this member present. Bug: angleproject:7637 Change-Id: Idaf2f1a0306e55a5fe00e55c9e72cd71005e3dce Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3876889 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Mohan Maiya 5fae671c 2022-09-07T17:00:36 Vulkan: Enable VK_EXT_swapchain_colorspace when supported Enable VK_EXT_swapchain_colorspace instance extension when supported. This expands the number of colorspaces that can be supported by EGL. Bug: angleproject:7630 Change-Id: I10ac62dba80fc7a443ab1cb7be331717855ea74a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3881164 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Gregg Tavares 11fd8346 2022-08-29T18:08:28 Metal: Make flush NoWait Flush is was doing WaitUntilScheduled. I'm not sure why. This change increases the Motionmark "Leaves" test speed by about 50% (It's currently 2.5x slower than OpenGL) Bug: angleproject:7626 Change-Id: I9ff7c254957581ac2062906d8d715849365b9f67 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3863951 Commit-Queue: Gregg Tavares <gman@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Geoff Lang f99e255b 2022-09-02T10:19:46 GL: Unbind buffers after mapping them. Qualcomm drivers generate errors if a bound array buffer is mapped during a draw call even if it is not used by the draw. Bug: chromium:1345777 Change-Id: I0639caf5d74c8cbdc7245324fdcb136bd3d51b86 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3871333 Reviewed-by: Peng Huang <penghuang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Vasiliy Telezhnikov <vasilyt@chromium.org>
Constantine Shablya b9df95ff 2022-09-06T18:19:32 Add option to enable System EGL on all test configs Introduce angle_test_enable_system_egl build option to enable ES1_EGL, ESL2_EGL and ES3_EGL on all test instantiation macros. This allows GLES 1.x tests to run on native drivers. Test: angle_end2end_tests --gtest_filter="*/ES1_EGL" Bug: angleproject:6201 Change-Id: I6981eb9e99f0cdbd030319f014a7b371ced7e1e7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3812046 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Constantine Shablya <constantine.shablya@collabora.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Yuly Novikov 490ec5ba 2022-09-06T15:18:04 Replace underscores with dashes in SYNC-HAZARD messages And remove the temporary workaround to accept both. Bug: angleproject:7633 Change-Id: I6ab4256127d99c06441485214e640d8fbccb7de0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3876224 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Peng Huang 79aa846e 2022-08-17T13:40:33 Reland "Not recreate Framebuffer for eglMakeCurrent() call" This is a reland of commit bf9c815263455403e587a9d2b0fdb9fb8e964208 Original change's description: > Not recreate Framebuffer for eglMakeCurrent() call > > Right now, in eglMakeCurrent() call, ANGLE always release the > default framebuffer object associated to the current context, > and create a new default framebuffer object for the new current > context. It impacts chrome performance, since chrome call > eglMakeCurrent() a lot. With this CL, the default framebuffer > will be created with gl::Context. When the surface is changed > by eglMakeCurrent() call, ANGLE will detach the previous surface > from the associated framebuffer, and attach the new surface to > the next current context's default framebuffer. > > Bug: chromium:1336126 > Change-Id: Iaa747669250ae250245db383a716b4634df59ea4 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3827751 > Commit-Queue: Peng Huang <penghuang@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Geoff Lang <geofflang@chromium.org> Bug: chromium:1336126 Change-Id: Iade19004a4335ac7bc6ca176a3c14d34afff8c9e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3877405 Auto-Submit: Peng Huang <penghuang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Roman Lavrov 2deae29e 2022-09-06T16:34:18 Change xvfb screen to 3120x3120. Support upstream added in https://crrev.com/c/3865972 Maximum DrawSurfaceWidth and DrawSurfaceHeight from src/tests/restricted_traces/*/*.json. They're never both at 3120 but due to portrait/landscape orientation it's easies to just bump up both. Bug: angleproject:7620 Change-Id: I4a24eed8898d2cd4f65b7c2dbacb7bd1ffd4ba35 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3877784 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
Solti f5b3ecd4 2022-09-06T17:02:50 fix perf test result path ==== Overview ==== Previously for bug 6353, we wanted to enable this extra logging at ANGLERenderTest level so that all ANGLERenderTest tests can benefit from the extra logging. The design was assuming ANGLERenderTest can have any arbitrary naming, and then just include the trace name in the name. However this assumption is wrong because the name affects the path of some perf data that is monitored by a dashboard. Therefore, if we don't want to change the dashboard, then ANGLERenderTest naming is constrained. This CL changes how the trace names are printed in logcat for ANGLERenderTest. Instead of passing down from TracePerfTest via the name, the new design is just printing the mName, mBackend, and the mStory since those variables contain the required information to serve the purpose of bug 6353. ==== Tests ==== [test 1] - use this build args: http://go/paste/4625489225318400 - ```autoninja -C out/Android && ./out/Android/angle_perftests --gtest_filter="*angry_birds*" --verbose``` - Wait for the test to complete, then run ```adb logcat -d | grep "running test"``` - 4 tests were executed: ``` solti@solti:~/angle$ adb logcat -d | grep "running test" 09-06 18:34:13.491 13614 13644 I ANGLE : running test name: "TracePerf", backend: "_vulkan", story: "angry_birds_2_1500" 09-06 18:34:23.958 13614 13644 I ANGLE : running test name: "TracePerf", backend: "_native", story: "angry_birds_2_1500" 09-06 18:34:45.177 13614 13644 I ANGLE : running test name: "TracePerf", backend: "_vulkan", story: "angry_birds_2_launch" 09-06 18:35:11.136 13614 13644 I ANGLE : running test name: "TracePerf", backend: "_native", story: "angry_birds_2_launch" solti@solti:~/angle$ ``` [test 2] - follow http://docs/document/d/1W3E7e-YcR5noim_poM0f7Dc0W8AdQDbJ2tFSPXgjpH0? resourcekey=0-VmGDLI3x0q4-sdpQ0n8GSA - setup out/AndroidPerformance - the build args: http://go/paste/4862801771233280 - the build cmd: autoninja -C out/AndroidPerformance angle_perftests - run cmd: ./out/AndroidPerformance/angle_perftests --gtest_filter="*angry_birds*" --verbose --local-output --verbose-output --shard-timeout 100000 --max-steps-performed 1 - then, run cmd: ```adb logcat -d | grep "running test"``` - confirmed the test names are printed: ``` solti@solti:~/angle$ adb logcat -d | grep "running test" 09-06 18:58:50.216 14592 14621 I ANGLE : running test name: "TracePerf", backend: "_vulkan", story: "angry_birds_2_1500" 09-06 18:58:51.143 14592 14621 I ANGLE : running test name: "TracePerf", backend: "_native", story: "angry_birds_2_1500" 09-06 18:58:51.467 14592 14621 I ANGLE : running test name: "TracePerf", backend: "_vulkan", story: "angry_birds_2_launch" 09-06 18:58:51.907 14592 14621 I ANGLE : running test name: "TracePerf", backend: "_native", story: "angry_birds_2_launch" solti@solti:~/angle$ ``` Bug: angleproject:6353 Bug: angleproject:7627 Change-Id: I02ad4396674fc01e9d10e474660a9dfac0d31edc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3873118 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Solti Ho <solti@google.com>
Peng Huang 02e8497f 2022-09-07T01:12:31 Revert "Not recreate Framebuffer for eglMakeCurrent() call" This reverts commit bf9c815263455403e587a9d2b0fdb9fb8e964208. Reason for revert: compile errors https://ci.chromium.org/ui/p/chromium/builders/try/linux-chromeos-rel/1303510/overview Original change's description: > Not recreate Framebuffer for eglMakeCurrent() call > > Right now, in eglMakeCurrent() call, ANGLE always release the > default framebuffer object associated to the current context, > and create a new default framebuffer object for the new current > context. It impacts chrome performance, since chrome call > eglMakeCurrent() a lot. With this CL, the default framebuffer > will be created with gl::Context. When the surface is changed > by eglMakeCurrent() call, ANGLE will detach the previous surface > from the associated framebuffer, and attach the new surface to > the next current context's default framebuffer. > > Bug: chromium:1336126 > Change-Id: Iaa747669250ae250245db383a716b4634df59ea4 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3827751 > Commit-Queue: Peng Huang <penghuang@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Geoff Lang <geofflang@chromium.org> Bug: chromium:1336126 Change-Id: I7c07f62236f57523b29c536c04f9a9de79da2f4b No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3877404 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Peng Huang <penghuang@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Yuxin Hu fa6b6d17 2022-09-06T18:16:05 Fix the SYNC-HAZARD error message format We should replace the underscore with dash in the error message, instead of the other way. Bug: angleproject:7633 Change-Id: I3e7ad756e3bca6af0d62bfbc7ef081a460a2aa97 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3877403 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Shahbaz Youssefi 91deedba 2022-09-02T00:02:19 Vulkan: Use VK_EXT_pipeline_robustness In this change, the global robustBufferAccess feature is disabled. Using this extension, this behavior is enabled for pipelines created for programs built in GL contexts that have robustness enabled. Includes a fix for transform feedback emulation where pausing transform feedback didn't actually stop it from writing output (and overrunning the empty buffer). Until now, the perpetual robustBufferAccess had worked around this. Bug: angleproject:5845 Change-Id: Ib413dff5435e9d1f482bea1d1d0f20c5f09ad8a5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3872507 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 1d04539f 2022-09-06T15:20:32 Fix xfb tests rendering points Some xfb tests render points and verify a coordinate away from the points is unchanged as a means to break the render pass. Due to lack of output to gl_PointSize, these tests are flaky on SwiftShader. Bug: angleproject:7625 Change-Id: I7347516bb755ace87d57df3467c59055f28f1d69 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3877783 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 9c17232a 2022-09-02T16:05:48 Vulkan: Make robustness affect all of share group Since contexts in a share group can share their program, if any context in the share group is robust, programs in all contexts in the share group need to be created with robustness in mind. This fixes the situation when the programs are created after a robust context has been created. However, if programs are created first, then a robust context is added to a share group, there remains a bug where the old programs aren't recreated to have robust behavior. Bug: angleproject:7629 Change-Id: I4922091962a32ca75a6107343df0cd87e5e9592d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3872506 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Yuxin Hu 2ede53ec 2022-09-06T14:18:15 Replace underscores with dashes in SYNC-HAZARD messages Add a temporary check on both dash and underscore SYNC-HAZARD messages until Chromium has rolled with the same vulkan-deps change. Bug: angleproject:7633 Change-Id: I30b8f60bc2d4e87b7b1d6b27601f67258f7d0d69 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3877667 Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Gregg Tavares 662226a3 2022-09-06T14:12:26 Metal: Preemptively Start Provoking Vertex CmdBuffer on AMD There seems to be a bug in older AMD drivers and this appears to work around it Bug: angleproject:7635 Change-Id: I1b22e4b7d5d1ce0d405e422d08d33eeeb731050a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3877666 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org>
Shahbaz Youssefi ff46a03a 2022-08-25T20:19:02 Vulkan: Use VK_EXT_multisampled_render_to_single_sampled Previously, the GOOGLEX version was used. The EXT version is favored now. Bug: angleproject:4836 Change-Id: Ie41d750b0729f0b3a14d1937fbf2dd386b65dd59 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3857993 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Ian Elliott 9aeb6311 2022-08-29T10:50:01 Revert "Extra buffer logging/checking on Android Cuttlefish" This reverts commit 5cb05e0482ed1a2c4048f76c1a7fd444849410d8. The root cause was found, and this extra logging/checking is no longer needed. Bug: b/236098131 Bug: b/245339714 Change-Id: Ibefbeec30be974788789650f2dc86696a6eba11a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3862408 Auto-Submit: Ian Elliott <ianelliott@google.com> Reviewed-by: Jason Macnak <natsu@google.com> Commit-Queue: Jason Macnak <natsu@google.com>
Gregg Tavares 2c4f7187 2022-08-30T11:33:56 Metal: Stop pre-creating the Provoking Vertex CmdBuffer The provoking vertex command buffer was being created regardless if whether or not it was used which is left over from when the backend used to pre-enqueue command buffers. That's no longer true so we don't need to pre-create this command buffer. I think this adds a 5% perf increase to the MotionMark "Leaves" test. Bug: angleproject:7619 Change-Id: Ic921911eeef0f063ea6eba8ba7c307157243b938 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3863739 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Gregg Tavares <gman@chromium.org>
Peng Huang bf9c8152 2022-08-17T13:40:33 Not recreate Framebuffer for eglMakeCurrent() call Right now, in eglMakeCurrent() call, ANGLE always release the default framebuffer object associated to the current context, and create a new default framebuffer object for the new current context. It impacts chrome performance, since chrome call eglMakeCurrent() a lot. With this CL, the default framebuffer will be created with gl::Context. When the surface is changed by eglMakeCurrent() call, ANGLE will detach the previous surface from the associated framebuffer, and attach the new surface to the next current context's default framebuffer. Bug: chromium:1336126 Change-Id: Iaa747669250ae250245db383a716b4634df59ea4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3827751 Commit-Queue: Peng Huang <penghuang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Cody Northrop 1cac338a 2022-08-30T11:15:16 FrameCapture: Fix GLES1 vertex array state This CL restores the check for default state before binding a vertex array in Setup. When hooking up reset of Vertex Array state, we inadvertently started recording glBindVertexArray, even for default state. This prevented traces from running on GLES1 implementations that don't support GL_OES_vertex_array_object. Test: Wayward Souls MEC Bug: angleproject:7507 Bug: angleproject:7608 Change-Id: I7aea74b7eb66c0e79a04d81c2dce61fa33dde807 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3863877 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
angle-autoroll 8454b625 2022-09-06T12:51:16 Roll vulkan-deps from c4e128e05c38 to e3fa08b13e32 (12 revisions) Compare SYNC-HAZARD messages against both '_' and '-' variants during transition, needed after https://github.com/KhronosGroup/Vulkan-ValidationLayers/commit/451e8c2848ff67d51d3feedad8c728c2cb45cd58 https://chromium.googlesource.com/vulkan-deps.git/+log/c4e128e05c38..e3fa08b13e32 Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/69ae9e7460..a53aa3e94f * spirv-cross: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross.git/+log/c93ee9261e..210a800130 * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/4c456f7da6..5f45f793ae * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/efe6aa4f3f..fdfdef6d1b * vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/088cfe8047..1ef7bc1547 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/0a39833305..b50285d33d If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC ianelliott@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: angleproject:7633 Change-Id: Ib994a8819b7b8bb61f4fa2c70ed838be55ac7e10 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3871554 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi ba721efd 2022-09-02T17:51:56 Vulkan: FIx Android AHB format mapping If the implementation returns VK_FORMAT_UNDEFINED as the format, choose the format based on native pixel format. Bug: b/223456677 Change-Id: Ifc8fd1f72a4fad7279473a300c11cd6597c32a70 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3872509 Reviewed-by: Jason Macnak <natsu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Eddie Hatfield 3960e63b 2022-08-09T14:02:59 Infra: Enable angle_deqp_gl46_tests on SwiftShader This change disables the WGL frontend by default on Windows when building ANGLE for desktop GL. This is because the WGL frontend is not yet fully implemented and it causes some of the trace tests to fail. The WGL frontend should be enabled by default on windows when more of its functionality gets implemented. Test: angle_deqp_gl46_tests --use-angle=swiftshader Bug: angleproject:7566 Bug: angleproject:7628 Change-Id: I69c695eb56d3858f715eeb86d28cc805e25c60eb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3858142 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Jason Macnak 80f6a63a 2021-11-11T10:40:26 Tests external image uploads with colorspace Repros of android.hardware.nativehardware.cts.AHardwareBufferNativeTests#SingleLayer_ColorTest_GpuSampledImageCanBeSampled_R8G8B8A8_UNORM_sRGB android.hardware.nativehardware.cts.AHardwareBufferNativeTests#SingleLayer_ColorTest_GpuSampledImageCanBeSampled_R8G8B8X8_UNORM_sRGB These two pass: - RGBAAHBUploadData - RGBXAHBUploadData but these two fail: - RGBAAHBUploadDataColorspace - RGBXAHBUploadDataColorspace Bug: b/205995945 Test: newly added tests Change-Id: I1a27be43ae73b08b406f8f60fd6eec3dc28d8229 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3276713 Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Amirali Abdolrashidi ba65030c 2022-09-01T18:50:48 Fix adding imageless FBO to enabled extensions Bug: angleproject:7553 Change-Id: I1459e66f59804ab8a263d3615a87f4307fe33b06 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3869620 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Auto-Submit: Amirali Abdolrashidi <abdolrashidi@google.com>
Charlie Lao ba87b195 2022-09-01T13:38:17 OpenGL: Pass EGL_GL_COLORSPACE_KHR to OGL backend When we create NativeBufferImageSiblingAndroid, the attributes is lost, which caused a few AHB tests failed. This CL ensures we pass the EGL_GL_COLORSPACE_KHR attribute to NativeBufferImageSiblingAndroid and OpenGLES backend now passes. Bug: b/205995945 Change-Id: I5a0a9dc1d34dbc0167890791b397c3c83b0adef4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3869368 Auto-Submit: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Jonah Ryan-Davis e8b6cd21 2022-09-01T14:10:43 Skip VulkanPerformanceCounterTest.EndXfbAfterRenderPassClosed This test flakes on Windows/Swiftshader. Bug: angleproject:7625 Change-Id: I79837aa66cb8637231bd112337be8a39f8938541 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3868937 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis 61d5340d 2022-09-01T13:55:07 Skip EmulateCopyTexImage2DFromRenderbuffers tests on Win/Intel There are flaky end2end tests with this workaround enabled. The workaround is only meant to be enabled on iOS so we can skip it on Windows. Bug: angleproject:7624 Change-Id: If16c83fe6d7c922e412dc1a763a698479e07a930 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3868936 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao d9f5b2f8 2022-08-31T13:00:00 Vulkan: Dont skip texture upload if only color space differs sRGB color space does not affect actual data storage, it only affects Image data interpretation. We should still allow data copy if the only format difference is sRGB bit. Bug: b/205995945 Change-Id: Id72b9aae626ee0d1863cde17388f1c1e82f321f8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3864050 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 6ec89510 2022-08-31T11:10:45 Frame Capture: Remove MEC active variable. We only used this in one place, where we can instead use a check for frame capture being active generally. Bug: angleproject:7621 Change-Id: Ic004e3021750a6c43443eb8935b59514e8c06978 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3868931 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill ae7481a6 2022-08-31T10:56:58 Move entry point classifier helpers into angle_common. These were previously hidden in DebugAnnotatorVk. They're also useful in the frame capture code. Bug: angleproject:7621 Change-Id: If443e41787019925e84f6a108809af1db220b714 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3868930 Auto-Submit: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Roman Lavrov 38a38b8d 2022-09-01T17:10:39 Revert "EndXfbAfterRenderPassClosed expectation (0,0) -> (w/2,h/2)" This reverts commit 2dc1c609dea184e5e51a8136df71ae14f4481f52. Reason for revert: Doesn't fix the issue Original change's description: > EndXfbAfterRenderPassClosed expectation (0,0) -> (w/2,h/2) > > Bug: None > Change-Id: I6a8006be39ff8b8208004f533157f27da8e7fe24 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3863143 > Auto-Submit: Roman Lavrov <romanl@google.com> > Commit-Queue: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> Bug: None Change-Id: Ifbb8f12798c9b5bf1f77f997302114263eceaf75 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3868935 Auto-Submit: Roman Lavrov <romanl@google.com> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Shahbaz Youssefi baf5356c 2022-08-31T23:18:12 Map RGBX AHB back to GL_RGB8 for OpenGL In df9468565c0ffcdcbcfd522de9a12c8f535b5717, AHARDWAREBUFFER_FORMAT_R8G8B8X8_UNORM was mapped to GL_RGBX8_ANGLE for the sake of the Vulkan backend. This was erroneous for the OpenGL backend, which should continue to use GL_RGB8. Since c8b0caf1f440231de511ece71f447636e019c9df, this mapping is no longer used by the Vulkan backend. This change reverts the mapping back to GL_RGB8 to fix the OpenGL backend. Bug: b/238460927 Bug: chromium:1356252 Change-Id: If9e97f0c589925c150b0056485996c1f4f6e39be Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3863377 Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Lingfeng Yang <lfy@google.com> Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org> Reviewed-by: Lingfeng Yang <lfy@google.com>
Roman Lavrov 2dc1c609 2022-08-29T15:31:56 EndXfbAfterRenderPassClosed expectation (0,0) -> (w/2,h/2) Bug: None Change-Id: I6a8006be39ff8b8208004f533157f27da8e7fe24 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3863143 Auto-Submit: Roman Lavrov <romanl@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Yuxin Hu f2f17bad 2022-08-31T17:40:22 Vulkan: Fix Framebuffer Fetch Test Failure If permanentlySwitchToFramebufferFetchMode is enabled, mIsInFramebufferFetchMode will remain true. If we switch from a non-framebuffer fetch program to a framebuffer fetch program, the condition if (mIsInFramebufferFetchMode != hasFramebufferFetch) doesn't hold, and we will miss setting the dirty bit in OnColorAccessChange, and miss updating the color attachment resourceAccess value. This causes test failure when running the test FramebufferFetchES31.DrawNonFetchDrawFetchInStorageBuffer_Coherent. The color attachment resourceAccess remains unused after the first draw call that uses a program which doesn't read/write from the framebuffer color attachment. The second draw call uses a program that needs to read from the framebuffer color attachment, however, since the color attachment access value is unused, it will use LoadOpNone, making the color attachment value not availble for the shader program to read from. This change fixes the failure by setting the bit dirty whenever the program uses framebuffer fetch mode, given the condition that feature permanetlySwitchToFramebufferFetchMode is enabled. Bug: angleproject:7583 Change-Id: I240381766d75f6e73ea9c20503b2344cc816cbc7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3864127 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Chris Dalton d0fad24c 2022-08-30T23:24:06 Add noncoherent PLS tests Coherent pixel local storage is so widely supported now that we have a testing gap on the noncoherent version. This change adds backend features to disable the extensions we use for fragment synchronization and tests that disable them. Bug: angleproject:7279 Change-Id: If71a1a1016922cb9e3b68024dd2616483c700395 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3866163 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao c6ad305c 2022-08-25T11:53:46 Vulkan: No depth load/store if depthFunc==ALWAYS/NEVER && mask==FALSE If depthFunc is set to always or never pass with depthMask disabled, and the entire render pass is drawing with that state, then there is no need to load or store depth value. Bug: b/243711628 Change-Id: I71d470bda49abc48a4a6e20895b7e056c33fa33a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3858143 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Geoff Lang f602278c 2022-08-30T10:31:07 Vulkan: Parse human readable ARM driver versions. Update two workarounds to be gated on driver versions with fixes. Bug: angleproject:7370, angleproject:7556 Change-Id: I78e1cebb756b06c7fc926fb9ab27357cf3c7ce4f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3863162 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Yiwei Zhang e9cb83dd 2022-08-27T06:20:20 Vulkan: disable EGL_EXT_image_gl_colorspace sRGB texture upload for AHB backed external storage is broken. Disable EGL_EXT_image_gl_colorspace until that gets fixed. Bug: b/205995945 Test: SingleLayer_ColorTest_GpuSampledImageCanBeSampled_*_UNORM_sRGB Change-Id: I1be51f9f3528cd864709cf48ab0d949bb23cdfca Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3859694 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Yiwei Zhang <zzyiwei@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Charlie Lao 7428369a 2022-08-29T17:59:38 Vulkan: Use macros for load/store Op check Use macro instead of inline function for result check so that the correct line number gets print out for the failed check. Bug: b/243711628 Change-Id: I1141f6a63fd01bb9fe0cf5c06b81b378e8acc08e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3864347 Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Lingfeng Yang c8b0caf1 2022-08-29T15:08:22 Vulkan: Don't try to guess format mapping Either the implementation should tell us what Vk format it is, or it returns VK_FORMAT_UNDEFINED and we should take the "YUV" path, regardless of how un-YUV-like the format ID enum suggests it is. Bug: b/223456677 Change-Id: I979e9d19c466005350aeb8f88f2e0c092b545d51 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3864024 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Lingfeng Yang <lfy@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Auto-Submit: Lingfeng Yang <lfy@google.com>
Alexey Knyazev 00411e2c 2022-08-25T00:00:00 Support provoking vertex state query When ANGLE_provoking_vertex is enabled, glGetIntegerv should accept GL_PROVOKING_VERTEX parameter name. Bug: angleproject:2829 Change-Id: I6316de2c6b4cdbf4365df3ffb88f75c4b095f99c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3858264 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Kimmo Kinnunen c10326f1 2022-08-26T11:37:59 Make shader dump code compile after ShCompileOptions API change Make the output directory configurable with the define that turns on the dump feature. Write each aggregate struct in its own block of memory, so that if an aggregate changes, the binary format does not change so easily. Choose the filename based on the contents hash, so that multiple dump sessions do not produce excessive amount of dumps. Bug: angleproject:7612 Change-Id: Ifccd2d83e3361dc4633b601fd18f425c9ec44790 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3858263 Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Roman Lavrov 2c373771 2022-08-30T10:08:44 Add include atomic, missing in Skia builds. Bug: angleproject:7602 Change-Id: I024981c880ed073c3a603f47b538d2375a911e1a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3863161 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Yuxin Hu 70c434b2 2022-08-29T17:09:23 Check max shader storage blocks support in test If the shader source code uses shader storage buffer objects, we need to check the corresponding GL_MAX_*_SHADER_STORAGE_BLOCKS is at least of size 1. Bug: angleproject:7583 Change-Id: I7f0e537e4dcfca8414cccb0088be8d34735633d1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3863111 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi ac19624e 2022-08-26T21:29:53 Vulkan: Handle suboptimal like out-of-date If out-of-date can recreate the swapchain, so can suboptimal. Do so to better support window resizing on desktop. Note that on Android this was already being done. Bug: angleproject:7615 Change-Id: I3d1ce8ca45b002e5382e31fda003f02753a2c94e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3859409 Reviewed-by: Steven Noonan <steven@valvesoftware.com> Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 64f41972 2022-08-25T11:16:23 Use canonical gl.xml and update enum to string function. This replaces our copy of gl.xml with the upstream canonical copy. Note that one patch is required before we can remove ANGLE's copy: https://github.com/KhronosGroup/OpenGL-Registry/pull/538 Because the upstream version uses a new method of enum groups, we also update our enum-to-string generator to use the new groups. This new code includes many more enums and groups in the mapping. Bug: angleproject:6461 Change-Id: I1c0ab44c36afce8db04c9661b377bbe5762c913e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3856649 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Sunny Sachanandani 32072905 2022-08-25T15:17:13 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>
Roman Lavrov f18b6335 2022-08-29T11:53:01 Replace std::this_thread::get_id() use with a unique thread id. std::this_thread::get_id() gets recycled. It's pthread_self() under the hood on Linux and Android which gets recycled, for example when one thread terminates and another one starts it is likely to return the same value. Bug: angleproject:7602 Change-Id: I83d818bc17ead5cce8bce7f7d88fc1c7c0fa860c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3855041 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 9fb05a88 2022-08-26T22:26:33 Vulkan: SPIR-V Gen: Remove suppression of passing tests Some tests were suppressed during development. Try enabling them again. Bug: angleproject:6210 Change-Id: I7b52307a26fb9351773a591901a9c5bbb4703466 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3859411 Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Solti b9df3551 2022-08-15T17:42:53 update CopyTextureCHROMIUM to match Chromium Overview: This CL makes the validation of *CopyTextureCHROMIUM* and *CopySubTextureCHROMIUM* in ANGLE behave consistently with CHROMIUM. The new behavior is: ``` INVALID_OPERATION is generated on ES 2.0 if <sourceId> refers to an external texture (OES_EGL_image_external), <destId> refers to a texture with an integer-type internal format, and the underlying context does not support OES_EGL_image_external_essl3. ``` Tests: ===== CopyTextureCHROMIUM ===== add a test in ES 2.0 to test the API with the error case. ===== CopySubTextureCHROMIUM ===== add a test in ES 3.0 to test the error case. in ES 2.0, the error case cannot happen because "glTexImage2D()" doesn't support integer formats - ran all CopyTextureTest on gLinux: ```autoninja -C out/Debug && xvfb-run out/Debug/angle_end2end_tests --gtest_filter=*CopyTextureTest* --verbose``` - ran all CopyTextureTest on Android test phone: ```autoninja -C out/Android && out/Android/angle_end2end_tests --gtest_filter=*CopyTextureTest* --verbose``` Bug: angleproject:4228 Change-Id: I1cb77c72750add5f399013d3d30eed7acf8d0a50 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3826166 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>