radv: fix buffer views on SI/CIK.
authorDave Airlie <airlied@redhat.com>
Mon, 24 Jul 2017 10:42:54 +0000 (11:42 +0100)
committerDave Airlie <airlied@redhat.com>
Mon, 24 Jul 2017 20:54:04 +0000 (21:54 +0100)
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@basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied@redhat.com>
src/amd/vulkan/radv_image.c

index 66cff526473323ddedd15503a7b4120cea35e22f..ce1ee24036ea4f50c954d1bb7acb4882e0efcbc6 100644 (file)
@@ -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])) |