Commit d748e165 by Alexis Hetu Committed by Alexis Hétu

Fix missing border update after Image blit

ANGLE uses image blit to generate mipmaps so, for cubemaps, a border update is required after we blit into an image so that the cube's border are still seamless when using lower mip levels. Fixes WebGL Conformance Test: conformance/textures/misc/texture-size.html Bug: b/154620294 Change-Id: I22daf60afd9143c52a57c67ae0039eb49be4f1ca Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/44990 Presubmit-Ready: Alexis Hétu <sugoi@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by: 's avatarAlexis Hétu <sugoi@google.com> Reviewed-by: 's avatarNicolas Capens <nicolascapens@google.com>
parent c66681be
...@@ -889,6 +889,14 @@ const Image *Image::getSampledImage(const vk::Format &imageViewFormat) const ...@@ -889,6 +889,14 @@ const Image *Image::getSampledImage(const vk::Format &imageViewFormat) const
void Image::blit(Image *dstImage, const VkImageBlit &region, VkFilter filter) const void Image::blit(Image *dstImage, const VkImageBlit &region, VkFilter filter) const
{ {
device->getBlitter()->blit(this, dstImage, region, filter); device->getBlitter()->blit(this, dstImage, region, filter);
VkImageSubresourceRange subresourceRange = {
region.dstSubresource.aspectMask,
region.dstSubresource.mipLevel,
1,
region.dstSubresource.baseArrayLayer,
region.dstSubresource.layerCount
};
dstImage->prepareForSampling(subresourceRange);
} }
void Image::blitToBuffer(VkImageSubresourceLayers subresource, VkOffset3D offset, VkExtent3D extent, uint8_t *dst, int bufferRowPitch, int bufferSlicePitch) const void Image::blitToBuffer(VkImageSubresourceLayers subresource, VkOffset3D offset, VkExtent3D extent, uint8_t *dst, int bufferRowPitch, int bufferSlicePitch) const
......
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