Vulkan: Introduce ContextScoped
Scoped is changed to DeviceScoped and a ContextScoped class is added.
The former destroys objects at the end of scope, and the latter releases
them.
Bug: angleproject:3757
Change-Id: Ia0bbded53e94af9c8c72c77d07306d6724c6c409
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769060
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
diff --git a/src/libANGLE/renderer/vulkan/FramebufferVk.cpp b/src/libANGLE/renderer/vulkan/FramebufferVk.cpp
index 3885191..f1d1320 100644
--- a/src/libANGLE/renderer/vulkan/FramebufferVk.cpp
+++ b/src/libANGLE/renderer/vulkan/FramebufferVk.cpp
@@ -835,8 +835,8 @@
else
{
// Create depth- and stencil-only views for reading.
- vk::Scoped<vk::ImageView> depthView(contextVk->getDevice());
- vk::Scoped<vk::ImageView> stencilView(contextVk->getDevice());
+ vk::DeviceScoped<vk::ImageView> depthView(contextVk->getDevice());
+ vk::DeviceScoped<vk::ImageView> stencilView(contextVk->getDevice());
vk::ImageHelper *depthStencilImage = &readRenderTarget->getImage();
uint32_t levelIndex = readRenderTarget->getLevelIndex();
@@ -1460,7 +1460,7 @@
// If the source image is multisampled, we need to resolve it into a temporary image before
// performing a readback.
bool isMultisampled = srcImage->getSamples() > 1;
- vk::Scoped<vk::ImageHelper> resolvedImage(contextVk->getDevice());
+ vk::DeviceScoped<vk::ImageHelper> resolvedImage(contextVk->getDevice());
if (isMultisampled)
{
ANGLE_TRY(resolvedImage.get().init2DStaging(