diff options
author | Dave Airlie <[email protected]> | 2017-07-24 11:42:54 +0100 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2017-07-24 21:54:04 +0100 |
commit | ca82ef5ac75e50abb109986b55002cca24f7c0fb (patch) | |
tree | 5adf87a976aab497a2e9d9e95f03a62aec5e831e /src/amd | |
parent | dd072cf4b131c8aa9e8be0ff24b70856fe39285e (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 <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/amd')
-rw-r--r-- | src/amd/vulkan/radv_image.c | 5 |
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])) | |