Commit bd6ae4aa by Geoff Lang Committed by Commit Bot

Vulkan: Don't create zero-sized textures.

Make sure the old resources are deleted but do not create new resources. BUG=angleproject:2161 Change-Id: Ia6685e5c67b160d9bcd503983aee9607b2bd402c Reviewed-on: https://chromium-review.googlesource.com/891644 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
parent 513bc77d
......@@ -13,13 +13,18 @@ namespace rx
{
RenderTargetVk::RenderTargetVk()
: format(nullptr),
image(nullptr),
imageView(nullptr),
extents(),
samples(VK_SAMPLE_COUNT_1_BIT),
resource(nullptr)
{
reset();
}
void RenderTargetVk::reset()
{
format = nullptr;
image = nullptr;
imageView = nullptr;
extents = gl::Extents();
samples = VK_SAMPLE_COUNT_1_BIT;
resource = nullptr;
}
} // namespace rx
......@@ -33,6 +33,8 @@ class RenderTargetVk final : public FramebufferAttachmentRenderTarget
public:
RenderTargetVk();
void reset();
const vk::Format *format;
vk::Image *image;
vk::ImageView *imageView;
......
......@@ -70,6 +70,14 @@ gl::Error TextureVk::setImage(const gl::Context *context,
}
}
mRenderTarget.reset();
// Early-out on empty textures, don't create a zero-sized storage.
if (size.width == 0 || size.height == 0 || size.depth == 0)
{
return gl::NoError();
}
// TODO(jmadill): support other types of textures.
ASSERT(target == GL_TEXTURE_2D);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment