pipebuffer: clean up cast-warnings
authorErik Faye-Lund <erik.faye-lund@collabora.com>
Tue, 24 Mar 2020 09:58:14 +0000 (10:58 +0100)
committerMarge Bot <eric+marge@anholt.net>
Wed, 25 Mar 2020 14:19:37 +0000 (14:19 +0000)
This code produces warnings, so let's fix that. The problem is that
casting a pointer to an integer of non-pointer-size triggers warnings on
MSVC, and on 64-bit Windows unsigned long is 32-bit large.

So let's instead use uintptr_t, which is exactly for these kinds of
things.

While we're at it, let's make the resulting index a plain "unsigned",
which is the type this originated from before we started with this
cast-dance.

Fixes: 1a66ead1c75 ("pipebuffer, winsys/svga: Add functionality to update pb_validate_entry flags")
Reviewed-by: Brian Paul <brianp@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4297>

src/gallium/auxiliary/pipebuffer/pb_validate.c

index 404bdfcec51f4873713137c4a44fec741598bc07..8d36148d3a7b4704757b12d623e9e913fdaee24a 100644 (file)
@@ -78,7 +78,7 @@ pb_validate_add_buffer(struct pb_validate *vl,
    flags &= PB_USAGE_GPU_READ_WRITE;
 
    if (ht) {
-      unsigned long entry_idx = (unsigned long) util_hash_table_get(ht, buf);
+      unsigned entry_idx = (unsigned)(uintptr_t)util_hash_table_get(ht, buf);
 
       if (entry_idx) {
          struct pb_validate_entry *entry = &vl->entries[entry_idx - 1];
@@ -118,7 +118,7 @@ pb_validate_add_buffer(struct pb_validate *vl,
    ++vl->used;
 
    if (ht)
-      _mesa_hash_table_insert(ht, buf, (void *) (unsigned long) vl->used);
+      _mesa_hash_table_insert(ht, buf, (void *) (uintptr_t) vl->used);
 
    return PIPE_OK;
 }