summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2017-07-24 11:42:54 +0100
committerEmil Velikov <emil.l.velikov@gmail.com>2017-07-27 19:54:52 +0100
commitde55bc8f49d0487b9d56119c5caf7ff8b17915a1 (patch)
tree7596a97e9dac3ad0a3e9b9be7310b77ee339d199 /src
parentf0b7563a361bb252652b72a63b4b4eee130bb369 (diff)
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@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com> (cherry picked from commit ca82ef5ac75e50abb109986b55002cca24f7c0fb)
Diffstat (limited to 'src')
-rw-r--r--src/amd/vulkan/radv_image.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/amd/vulkan/radv_image.c b/src/amd/vulkan/radv_image.c
index 66cff526473..ce1ee24036e 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])) |