src/tests/test_utils/VulkanHelper.cpp


Log

Author Commit Date CI Message
Steven Noonan b8e741d2 2022-06-23T13:36:17 Vulkan: allow selecting render device by PCI device/vendor IDs The EGL_ANGLE_platform_angle_device_id extension is deliberately vague about the meaning of "device ID high" and "device ID low", stating it's platform-specific. We can use these for representing the PCI device/vendor IDs that can be discovered via various (OS-specific) external means. Bug: angleproject:7460 Change-Id: Iff462687749e815fa074ef8ff392b6730ef46fa8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3720733 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 64fa1e80 2022-04-19T13:18:23 Revert "vulkan: Call glFinish in VulkanHelper destructor" This reverts commit aefb2a99ebb598c7b3530056ef3d030b5c4f0115. Reason for revert: Still flakes: https://ci.chromium.org/ui/p/angle/builders/try/linux-test/4382/overview Original change's description: > vulkan: Call glFinish in VulkanHelper destructor > > In async queue mode, GL commands are submitted asynchronously to the > VkQueue on a separate thread. VulkanHelper destructor uses the VkQueue > when it calls vkDeviceWaitIdle(), and that's a data race when the queue > is being used to run GL commands on the other thread. Calling glFinish() > before any Vulkan commands ensures that the queue isn't being used on > another thread. > > Bug: angleproject:7204 > Change-Id: I509bcf55edf430e39805a9d43c07a902942d33ca > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3587366 > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org> > Auto-Submit: Sunny Sachanandani <sunnyps@chromium.org> Bug: angleproject:7204 Change-Id: I60e6fc519b21d53619309247fdea32f23375f975 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3594099 Auto-Submit: Jamie Madill <jmadill@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Sunny Sachanandani aefb2a99 2022-04-14T13:45:42 vulkan: Call glFinish in VulkanHelper destructor In async queue mode, GL commands are submitted asynchronously to the VkQueue on a separate thread. VulkanHelper destructor uses the VkQueue when it calls vkDeviceWaitIdle(), and that's a data race when the queue is being used to run GL commands on the other thread. Calling glFinish() before any Vulkan commands ensures that the queue isn't being used on another thread. Bug: angleproject:7204 Change-Id: I509bcf55edf430e39805a9d43c07a902942d33ca Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3587366 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org> Auto-Submit: Sunny Sachanandani <sunnyps@chromium.org>
Sunny Sachanandani d4cbd9bf 2022-04-11T16:55:39 vulkan: Mark external memory textures as preinitialized Textures initialized from external memory objects should be considered preinitialized so that they're not cleared on first access with robust resource init. This is essential for Vulkan-GL (WebGPU-WebGL) interop on Linux where Skia or Dawn could be first used to render into a VkImage backed by an external memory object, and a GL texture is created lazily on first GL access. This CL also includes an end-to-end test for such interop, and changes to support that test: 1) Add writePixels() to VulkanHelper to upload pixels to a VkImage 2) Detect external memory / semaphore extensions when VulkanHelper is initialized from ANGLE. 3) Allow importing external memory object that's larger than VkImage size requirements. Bug: angleproject:7188 Change-Id: I60c250b64df1766a179edd1cc67c3f0765e8aa0f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3582954 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org>
Amirali Abdolrashidi fd44f1a0 2022-02-25T13:34:01 Update API version in VulkanHelper to 1.1 * Updated the API version in VulkanHelper to avoid the validation error regarding UNASSIGNED-API-Version-Violation on Android devices. Bug: angleproject:7062 Change-Id: Iacb12cd5c79ecc803cdb5fe5c8738d1ac352eec0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3491502 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Peng Huang 32f572b7 2021-12-03T17:58:51 Support creating EGLImage from VkImage Bug: chromium:1264439 Change-Id: I520182143e748f25b44d0725f3f171b7b33a85d8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3311131 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Peng Huang <penghuang@chromium.org>
Peng Huang 65720272 2021-11-26T17:42:16 Add end2end gl test for *_ANGLE_vulkan_image extensions Bug: chromium:1264439,angleproject:6741 Change-Id: I12d332995138a020ba514fba34024c3e666b8e6b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3304396 Commit-Queue: Peng Huang <penghuang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>