src/tests/test_utils/VulkanExternalHelper.cpp


Log

Author Commit Date CI Message
Jamie Madill 2f7fc0f3 2020-10-23T09:58:56 Tests: Remove standalone duplication. Also cleans up some compiler warnings that crept in because of how we structured the test sources in GN. We also no longer need special handling for the test "main" files. Must land after http://crrev.com/c/2495003 rolls into ANGLE. Bug: angleproject:5124 Change-Id: I43ff91b5c8f00214886cd8ac2403702e5026a840 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2495281 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 93f58c15 2020-09-19T09:58:23 Vulkan: Allow no validation layers in ExternalImageTest. Similarly to common test init, these specific tests init the Vulkan resources with validation layers when they might not be available. Fix this by checking for the appropriate define. Bug: b/168744561 Change-Id: I93dd3bac839297ced07cb2c4cbbcf64db2e65a1f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2419041 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi fc4bd898 2020-08-03T16:29:06 Vulkan: Support ANGLE_external_objects_flags With this extension, it is possible to import Vulkan images into ANGLE (similar to EXT_external_objects) while specifying the Vulkan create and usage flags used to create that image. This can be used by the application to drop usage flags it does not need to improve performance, or add create flags as it requires. Bug: angleproject:4912 Bug: fuchsia:52759 Change-Id: Ia568973b19670999dd0e69f6ac5548e8ef0c3eec Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2335020 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Michael Spang <spang@chromium.org>
Michael Spang 6067c7d8 2020-05-12T18:18:47 Reland "Vulkan: Add semaphores test to VulkanExternalImageTest" This is a reland of 69e46942563b30be8a79512252e92fcf00c1a522 Original change's description: > Vulkan: Add semaphores test to VulkanExternalImageTest > > Add a more substantial test that uses semaphores to > VulkanExternalImageTest. > > It's still just a clear in GL, which exposed a bug that a staged clear > wasn't be flushed by a call to glSignalSemaphoreEXT. > > Bug: angleproject:3289 > Change-Id: Id938eaf2c8c20cb0ae9fb948fbfcf3448980b577 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2195684 > Commit-Queue: Michael Spang <spang@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Geoff Lang <geofflang@chromium.org> Bug: angleproject:3289 Change-Id: Idce1e8944b72445c92be9ad08d8c5869ca0b7df2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2197735 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Michael Spang <spang@chromium.org>
Michael Spang c4734bf6 2020-05-12T22:15:02 Revert "Vulkan: Add semaphores test to VulkanExternalImageTest" This reverts commit 69e46942563b30be8a79512252e92fcf00c1a522. Reason for revert: Broke the build due to VulkanExternalHelper API change Original change's description: > Vulkan: Add semaphores test to VulkanExternalImageTest > > Add a more substantial test that uses semaphores to > VulkanExternalImageTest. > > It's still just a clear in GL, which exposed a bug that a staged clear > wasn't be flushed by a call to glSignalSemaphoreEXT. > > Bug: angleproject:3289 > Change-Id: Id938eaf2c8c20cb0ae9fb948fbfcf3448980b577 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2195684 > Commit-Queue: Michael Spang <spang@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Geoff Lang <geofflang@chromium.org> TBR=spang@chromium.org,geofflang@chromium.org,jmadill@chromium.org Change-Id: I50b2af80cd0214bd3c317eb5ba211ddc66803d74 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:3289 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2197193 Reviewed-by: Michael Spang <spang@chromium.org> Commit-Queue: Michael Spang <spang@chromium.org>
Michael Spang 69e46942 2020-05-12T01:46:50 Vulkan: Add semaphores test to VulkanExternalImageTest Add a more substantial test that uses semaphores to VulkanExternalImageTest. It's still just a clear in GL, which exposed a bug that a staged clear wasn't be flushed by a call to glSignalSemaphoreEXT. Bug: angleproject:3289 Change-Id: Id938eaf2c8c20cb0ae9fb948fbfcf3448980b577 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2195684 Commit-Queue: Michael Spang <spang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Michael Spang 7c6a30c2 2020-05-11T18:47:12 Enable validation layers in VulkanExternalHelper If validation layers are requested by default, also enabled them in VulkanExternalHelper. Bug: angleproject:3289 Change-Id: Ic75089d38992be3b4745ce0309bf4ce6b8a702b1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2195683 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Michael Spang <spang@chromium.org>
Michael Spang d654234e 2020-05-10T19:35:05 Vulkan: Use dedicated allocations in VulkanExternalHelper This removes the coverage of non-dedicated allocations, but we've never supported that properly anyway (we require that the offset passed to glTexStorageMem2DEXT be zero). Bug: angleproject:4627 Change-Id: I14b0f39e5e13c3aafc4549dc59b6e3ac4ec6ad8c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2192500 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Michael Spang <spang@chromium.org>
Michael Spang 4271443d 2020-03-04T20:33:36 Fix VulkanExternalImageTest on SwiftShader Check isSwiftShader() for whether to load swiftshader instead of the default ICD. The spec says we should query GL_DEVICE_UUID_EXT & co for this, but we haven't implemented those queries yet. Bug: angleproject:4092 Change-Id: Ifd74d6b6706f7b1fcbe5d82a33ecf70e631e26b9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2088660 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Michael Spang <spang@chromium.org>
Jonah Ryan-Davis 3cb9c4be 2020-03-13T13:56:47 Statically link vulkan-loader on Mac Disable angle_shared_libvulkan on Mac since we are the only client. Re-add codepaths to support this. Bug: angleproject:4477 Change-Id: Ie128c83adaae741636541bbfd6105d160d874a8d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2102954 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Tobin Ehlis <tobine@google.com>
Michael Spang c4197713 2019-06-03T19:23:02 Implement glImportMemoryZirconHandle & glImportSemaphoreZirconHandle Implement import of fuchsia external objects passed by zircon handle. This works exactly the same as with file descriptors. Bug: angleproject:3492 Change-Id: I4d46917dfc5902f00c94550158a9f8073097f0a4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1642334 Commit-Queue: Michael Spang <spang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tobin Ehlis 5fd73782 2019-08-09T11:46:46 Vulkan: Use volk to load vk* func ptrs Thanks to Jamie Madill for some fixes to get all CI test passing w/ volk. This change updates all ANGLE targets that use Vulkan to dyanmically link all of the VK entrypoints using the volk OSS library from https://github.com/zeux/volk. It's only two source files so baking them directly into ANGLE repo. Also it's used in both the tests and libANGLE trees so added to src/common/third_party/volk dir. Updated volk and the renderer to track latest instance and device that were loaded and renderer will refresh vk* function pointers if the current and previous device and/or instance don't match. This prevents errors in the test framework as we transition between backends, especially between VK HW & SwiftShader ICDs. This change rolls the Vulkan Loader forward to use the latest loader version which no longer allows static linking but requires dynamic linking. Bug: angleproject:3740 Bug: angleproject:4092 Bug: angleproject:4162 Bug: angleproject:4210 Bug: angleproject:4225 Change-Id: I8a0b7d24c9545bbfdfaa4b9357a9bfe6793e0140 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1965640 Commit-Queue: Tobin Ehlis <tobine@google.com> Reviewed-by: Tobin Ehlis <tobine@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Michael Spang 6bb193c8 2019-05-22T16:32:21 Vulkan: Implement glImportSemaphoreFdEXT Allow importing file descriptors into semaphores on linux. This can be used to synchronize ANGLE's GL renderer with respect to vulkan composition in chromium. Bug: angleproject:3289 Change-Id: I04ba3bbb2e343baa000ff89c21c03ca36163a713 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1623812 Commit-Queue: Michael Spang <spang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Michael Spang 3b2c6bfd 2019-04-16T17:19:50 Vulkan: Implement glImportMemoryFdEXT Allow importing opaque file descriptors into memory objects on linux. Currently this just holds onto the file descriptor rather than calling vkAllocateMemory immediately. The latter will be easier once we have support for suballocation (anglebug.com/2162). Bug: angleproject:3289 Change-Id: Ia80ce07b2a9ec95b9063feb9bfeb24ffe77fa40e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1552028 Commit-Queue: Michael Spang <spang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>