radv: use Mesa's u_atomic.h header
authorEric Engestrom <eric.engestrom@imgtec.com>
Mon, 26 Jun 2017 11:14:37 +0000 (12:14 +0100)
committerEric Engestrom <eric.engestrom@imgtec.com>
Mon, 26 Jun 2017 17:21:22 +0000 (18:21 +0100)
Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/amd/vulkan/radv_pipeline.c
src/amd/vulkan/radv_pipeline_cache.c

index 0c262799f0cb78a627d7f63633a6cfa5aca08a34..efe641dc0be7f3177ffab65046bffbaab3e31445 100644 (file)
@@ -26,6 +26,7 @@
  */
 
 #include "util/mesa-sha1.h"
+#include "util/u_atomic.h"
 #include "radv_private.h"
 #include "nir/nir.h"
 #include "nir/nir_builder.h"
@@ -374,7 +375,7 @@ static void radv_dump_pipeline_stats(struct radv_device *device, struct radv_pip
 void radv_shader_variant_destroy(struct radv_device *device,
                                  struct radv_shader_variant *variant)
 {
-       if (__sync_fetch_and_sub(&variant->ref_count, 1) != 1)
+       if (!p_atomic_dec_zero(&variant->ref_count))
                return;
 
        device->ws->buffer_destroy(variant->bo);
index 0ab4d2a26e33d98b2b396b050c04c28f87ba3270..e57c99b8e948605c00360811afcb0388fd0ba284 100644 (file)
@@ -23,6 +23,7 @@
 
 #include "util/mesa-sha1.h"
 #include "util/debug.h"
+#include "util/u_atomic.h"
 #include "radv_private.h"
 
 #include "ac_nir_to_llvm.h"
@@ -184,7 +185,7 @@ radv_create_shader_variant_from_pipeline_cache(struct radv_device *device,
                entry->variant = variant;
        }
 
-       __sync_fetch_and_add(&entry->variant->ref_count, 1);
+       p_atomic_inc(&entry->variant->ref_count);
        return entry->variant;
 }
 
@@ -276,7 +277,7 @@ radv_pipeline_cache_insert_shader(struct radv_pipeline_cache *cache,
                } else {
                        entry->variant = variant;
                }
-               __sync_fetch_and_add(&variant->ref_count, 1);
+               p_atomic_inc(&variant->ref_count);
                pthread_mutex_unlock(&cache->mutex);
                return variant;
        }
@@ -296,7 +297,7 @@ radv_pipeline_cache_insert_shader(struct radv_pipeline_cache *cache,
        entry->rsrc2 = variant->rsrc2;
        entry->code_size = code_size;
        entry->variant = variant;
-       __sync_fetch_and_add(&variant->ref_count, 1);
+       p_atomic_inc(&variant->ref_count);
 
        radv_pipeline_cache_add_entry(cache, entry);