diff options
Diffstat (limited to 'src/amd/vulkan/radv_pipeline.c')
-rw-r--r-- | src/amd/vulkan/radv_pipeline.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_pipeline.c index 0c262799f0c..efe641dc0be 100644 --- a/src/amd/vulkan/radv_pipeline.c +++ b/src/amd/vulkan/radv_pipeline.c @@ -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); |