Mesa (master): anv/blorp: Remove 3D subresource transition workaround
Nanley Chery
nchery at kemper.freedesktop.org
Mon Jun 26 18:22:50 UTC 2017
Module: Mesa
Branch: master
Commit: e15b1c41a4e85b8c6db5b931a002e1bb9686a2ac
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e15b1c41a4e85b8c6db5b931a002e1bb9686a2ac
Author: Nanley Chery <nanley.g.chery at intel.com>
Date: Mon Jun 12 12:58:32 2017 -0700
anv/blorp: Remove 3D subresource transition workaround
For 3D image subresources undergoing a layout transition via
PipelineBarrier, we increase the number of fast-cleared layers to match
the intended behaviour of KHR_maintenance1. When such subresources
undergo layout transitions between subpasses, we don't do this to avoid
failing incorrect CTS tests. Instead, unify the behaviour in both
scenarios, and wait for the CTS tests to catch up. See CL 1111 for the
test fix and Vulkan issue #849 for more information.
On SKL+, this causes 3 test failures under:
dEQP-VK.pipeline.render_to_image.3d.*
v2: Add a reference to the Vulkan issue (Iago Toral).
Signed-off-by: Nanley Chery <nanley.g.chery at intel.com>
Reviewed-by: Iago Toral Quiroga <itoral at igalia.com> (v1)
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
---
src/intel/vulkan/anv_blorp.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/intel/vulkan/anv_blorp.c b/src/intel/vulkan/anv_blorp.c
index 292cee8e3e..5ee850aa3e 100644
--- a/src/intel/vulkan/anv_blorp.c
+++ b/src/intel/vulkan/anv_blorp.c
@@ -1480,12 +1480,12 @@ anv_image_ccs_clear(struct anv_cmd_buffer *cmd_buffer,
/* Blorp likes to treat 2D_ARRAY and 3D the same. */
uint32_t blorp_base_layer, blorp_layer_count;
- if (view) {
- blorp_base_layer = view->base_array_layer;
- blorp_layer_count = view->array_len;
- } else if (image->type == VK_IMAGE_TYPE_3D) {
+ if (image->type == VK_IMAGE_TYPE_3D) {
blorp_base_layer = 0;
blorp_layer_count = extent.depth;
+ } else if (view) {
+ blorp_base_layer = view->base_array_layer;
+ blorp_layer_count = view->array_len;
} else {
blorp_base_layer = subresourceRange->baseArrayLayer;
blorp_layer_count = anv_get_layerCount(image, subresourceRange);
More information about the mesa-commit
mailing list