Mesa (master): anv: don't require render target isl bit for depth/ stencil surfaces
Lionel Landwerlin
llandwerlin at kemper.freedesktop.org
Fri Jan 20 21:41:00 UTC 2017
Module: Mesa
Branch: master
Commit: 74c23bde5b8155a84233265c56bedac8f38de14e
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=74c23bde5b8155a84233265c56bedac8f38de14e
Author: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Date: Thu Jan 19 16:20:00 2017 +0000
anv: don't require render target isl bit for depth/stencil surfaces
Blorp can deal with depth/stencil surfaces blits/copies without the
render target requirement. Also having both render target and
depth/stencil requirement is incompatible from isl's point of view.
This fixes an image creation issue in the high level quality settings
of the Unity3D player, which requires a depth texture with src/dst
transfer & 4x multisampling.
v2: Simply aspect checking condition (Jason)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
Cc: 13.0 17.0 <mesa-stable at lists.freedesktop.org>
---
src/intel/vulkan/anv_image.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/intel/vulkan/anv_image.c b/src/intel/vulkan/anv_image.c
index 9e5cebe..12cca67 100644
--- a/src/intel/vulkan/anv_image.c
+++ b/src/intel/vulkan/anv_image.c
@@ -75,8 +75,11 @@ choose_isl_surf_usage(VkImageUsageFlags vk_usage,
isl_usage |= ISL_SURF_USAGE_TEXTURE_BIT;
}
- if (vk_usage & VK_IMAGE_USAGE_TRANSFER_DST_BIT) {
- /* blorp implements transfers by rendering into the destination image. */
+ if (vk_usage & VK_IMAGE_USAGE_TRANSFER_DST_BIT &&
+ aspect == VK_IMAGE_ASPECT_COLOR_BIT) {
+ /* blorp implements transfers by rendering into the destination image.
+ * Only request this with color images, as we deal with depth/stencil
+ * formats differently. */
isl_usage |= ISL_SURF_USAGE_RENDER_TARGET_BIT;
}
More information about the mesa-commit
mailing list