Mesa (master): radv: fix buffer views on SI/CIK.

Dave Airlie airlied at kemper.freedesktop.org
Mon Jul 24 20:54:15 UTC 2017


Module: Mesa
Branch: master
Commit: ca82ef5ac75e50abb109986b55002cca24f7c0fb
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ca82ef5ac75e50abb109986b55002cca24f7c0fb

Author: Dave Airlie <airlied at redhat.com>
Date:   Mon Jul 24 11:42:54 2017 +0100

radv: fix buffer views on SI/CIK.

Fixes CTS dEQP-VK.memory.pipeline_barrier.host_write_uniform_texel_buffer.1024
on SI/CIK with radv.

Fixes: f4e499ec (radv: add initial non-conformant radv vulkan driver)
Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied at redhat.com>

---

 src/amd/vulkan/radv_image.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/amd/vulkan/radv_image.c b/src/amd/vulkan/radv_image.c
index 66cff52647..ce1ee24036 100644
--- a/src/amd/vulkan/radv_image.c
+++ b/src/amd/vulkan/radv_image.c
@@ -181,6 +181,11 @@ radv_make_buffer_descriptor(struct radv_device *device,
 	state[0] = va;
 	state[1] = S_008F04_BASE_ADDRESS_HI(va >> 32) |
 		S_008F04_STRIDE(stride);
+
+	if (device->physical_device->rad_info.chip_class < VI && stride) {
+		range /= stride;
+	}
+
 	state[2] = range;
 	state[3] = S_008F0C_DST_SEL_X(radv_map_swizzle(desc->swizzle[0])) |
 		   S_008F0C_DST_SEL_Y(radv_map_swizzle(desc->swizzle[1])) |




More information about the mesa-commit mailing list