I hope the actual dropping of MSB is ok, but that's what's already happened before this change. --- src/gallium/drivers/radeonsi/si_descriptors.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_descriptors.c b/src/gallium/drivers/radeonsi/si_descriptors.c index 17115e1..009e803 100644 --- a/src/gallium/drivers/radeonsi/si_descriptors.c +++ b/src/gallium/drivers/radeonsi/si_descriptors.c @@ -2263,11 +2263,12 @@ static uint64_t si_create_texture_handle(struct pipe_context *ctx, return 0; } handle = tex_handle->desc_slot; - if (!_mesa_hash_table_insert(sctx->tex_handles, (void *)handle, + if (!_mesa_hash_table_insert(sctx->tex_handles, + (void *)(uintptr_t)handle, tex_handle)) { FREE(tex_handle); return 0; } @@ -2282,11 +2283,12 @@ static void si_delete_texture_handle(struct pipe_context *ctx, uint64_t handle) { struct si_context *sctx = (struct si_context *)ctx; struct si_texture_handle *tex_handle; struct hash_entry *entry; - entry = _mesa_hash_table_search(sctx->tex_handles, (void *)handle); + entry = _mesa_hash_table_search(sctx->tex_handles, + (void *)(uintptr_t)handle); if (!entry) return; tex_handle = (struct si_texture_handle *)entry->data; @@ -2304,11 +2306,12 @@ static void si_make_texture_handle_resident(struct pipe_context *ctx, struct si_context *sctx = (struct si_context *)ctx; struct si_texture_handle *tex_handle; struct si_sampler_view *sview; struct hash_entry *entry; - entry = _mesa_hash_table_search(sctx->tex_handles, (void *)handle); + entry = _mesa_hash_table_search(sctx->tex_handles, + (void *)(uintptr_t)handle); if (!entry) return; tex_handle = (struct si_texture_handle *)entry->data; sview = (struct si_sampler_view *)tex_handle->view; @@ -2406,11 +2409,12 @@ static uint64_t si_create_image_handle(struct pipe_context *ctx, return 0; } handle = img_handle->desc_slot; - if (!_mesa_hash_table_insert(sctx->img_handles, (void *)handle, + if (!_mesa_hash_table_insert(sctx->img_handles, + (void *)(uintptr_t)handle, img_handle)) { FREE(img_handle); return 0; } @@ -2425,11 +2429,12 @@ static void si_delete_image_handle(struct pipe_context *ctx, uint64_t handle) { struct si_context *sctx = (struct si_context *)ctx; struct si_image_handle *img_handle; struct hash_entry *entry; - entry = _mesa_hash_table_search(sctx->img_handles, (void *)handle); + entry = _mesa_hash_table_search(sctx->img_handles, + (void *)(uintptr_t)handle); if (!entry) return; img_handle = (struct si_image_handle *)entry->data; @@ -2446,11 +2451,12 @@ static void si_make_image_handle_resident(struct pipe_context *ctx, struct si_image_handle *img_handle; struct pipe_image_view *view; struct r600_resource *res; struct hash_entry *entry; - entry = _mesa_hash_table_search(sctx->img_handles, (void *)handle); + entry = _mesa_hash_table_search(sctx->img_handles, + (void *)(uintptr_t)handle); if (!entry) return; img_handle = (struct si_image_handle *)entry->data; view = &img_handle->view; -- 2.7.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev