summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Olšák <marek.olsak@amd.com>2018-06-01 19:29:45 -0400
committerDylan Baker <dylan@pnwbakers.com>2018-06-15 13:55:04 -0700
commit66bc41a3f7cd4cd63b26bb4dc1089c2b6ab5d9c5 (patch)
tree1f5b92d4b104026133653691c00f10b090c2a432
parentb2740629065a315cd26c420c1970018faae9c5cd (diff)
radeonsi/gfx9: fix si_get_buffer_from_descriptors for 48-bit pointers
This fixes: GL45-CTS.pipeline_statistics_query_tests_ARB.functional_compute_shader_invocations Cc: 18.0 18.1 <mesa-stable@lists.freedesktop.org> Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> (cherry picked from commit 6d671078a8eb683a4a978ca4f9d4e41cbb399bf8)
-rw-r--r--src/gallium/drivers/radeonsi/si_descriptors.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/gallium/drivers/radeonsi/si_descriptors.c b/src/gallium/drivers/radeonsi/si_descriptors.c
index 4beeb2db6c..2a24d85a4b 100644
--- a/src/gallium/drivers/radeonsi/si_descriptors.c
+++ b/src/gallium/drivers/radeonsi/si_descriptors.c
@@ -94,7 +94,7 @@ static uint32_t null_image_descriptor[8] = {
* descriptor */
};
-static uint64_t si_desc_extract_buffer_address(uint32_t *desc)
+static uint64_t si_desc_extract_buffer_address(const uint32_t *desc)
{
uint64_t va = desc[0] |
((uint64_t)G_008F04_BASE_ADDRESS_HI(desc[1]) << 32);
@@ -1054,7 +1054,7 @@ static void si_get_buffer_from_descriptors(struct si_buffer_resources *buffers,
*size = desc[2];
assert(G_008F04_STRIDE(desc[1]) == 0);
- va = ((uint64_t)desc[1] << 32) | desc[0];
+ va = si_desc_extract_buffer_address(desc);
assert(va >= res->gpu_address && va + *size <= res->gpu_address + res->bo_size);
*offset = va - res->gpu_address;