OSDN Git Service

CubeMap fixes
authorAlexis Hetu <sugoi@google.com>
Thu, 14 Mar 2019 19:10:51 +0000 (15:10 -0400)
committerAlexis Hétu <sugoi@google.com>
Fri, 15 Mar 2019 18:10:08 +0000 (18:10 +0000)
commit377077a794943265381e3f79d039eaed7311b51c
tree4ec8e2916b24987a88338e05b5d7d1a63eff4f78
parent1e6a9898b73bc744e2055410456e22f28e504bdc
CubeMap fixes

The following changes are done in this cl:
- Added multilayer support in Blitter::blit()
- Fixed Image::texelOffsetBytesInStorage() for cubes, since there's
  a 1 pixel border around it, so pixel offset (0,0,0) should be an
  extra line (1 pixel offset in Y) + 1 pixel (1 pixel offset in X)
  from the beginning of the buffer
- Added a number of out of bounds memory access asserts, which
  helped debug this issue.

Fixed failures in:
dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.generate_mipmaps.*
Note: The only failures left in that category are related to filtering
sRGB images, which most likely happens in the wrong colorspace.

Tests: dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.generate_mipmaps.*

Bug b/119620767

Change-Id: I6f18271cb23070eb8f2de3b1d5b35b7021c0ca8b
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27229
Reviewed-by: Chris Forbes <chrisforbes@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Alexis Hétu <sugoi@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
src/Device/Blitter.cpp
src/Vulkan/VkBuffer.cpp
src/Vulkan/VkBuffer.hpp
src/Vulkan/VkImage.cpp
src/Vulkan/VkImage.hpp