vulkan: Replace pthread mutex with mtx_t
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7783>
This commit is contained in:
@@ -28,7 +28,7 @@
|
||||
|
||||
VkResult vk_debug_report_instance_init(struct vk_debug_report_instance *instance)
|
||||
{
|
||||
if (pthread_mutex_init(&instance->callbacks_mutex, NULL) != 0) {
|
||||
if (mtx_init(&instance->callbacks_mutex, mtx_plain) != 0) {
|
||||
return VK_ERROR_INITIALIZATION_FAILED;
|
||||
}
|
||||
|
||||
@@ -39,7 +39,7 @@ VkResult vk_debug_report_instance_init(struct vk_debug_report_instance *instance
|
||||
|
||||
void vk_debug_report_instance_destroy(struct vk_debug_report_instance *instance)
|
||||
{
|
||||
pthread_mutex_destroy(&instance->callbacks_mutex);
|
||||
mtx_destroy(&instance->callbacks_mutex);
|
||||
}
|
||||
|
||||
VkResult
|
||||
@@ -62,9 +62,9 @@ vk_create_debug_report_callback(struct vk_debug_report_instance *instance,
|
||||
cb->callback = pCreateInfo->pfnCallback;
|
||||
cb->data = pCreateInfo->pUserData;
|
||||
|
||||
pthread_mutex_lock(&instance->callbacks_mutex);
|
||||
mtx_lock(&instance->callbacks_mutex);
|
||||
list_addtail(&cb->link, &instance->callbacks);
|
||||
pthread_mutex_unlock(&instance->callbacks_mutex);
|
||||
mtx_unlock(&instance->callbacks_mutex);
|
||||
|
||||
*pCallback = (VkDebugReportCallbackEXT)(uintptr_t)cb;
|
||||
|
||||
@@ -84,10 +84,10 @@ vk_destroy_debug_report_callback(struct vk_debug_report_instance *instance,
|
||||
(struct vk_debug_report_callback *)(uintptr_t)_callback;
|
||||
|
||||
/* Remove from list and destroy given callback. */
|
||||
pthread_mutex_lock(&instance->callbacks_mutex);
|
||||
mtx_lock(&instance->callbacks_mutex);
|
||||
list_del(&callback->link);
|
||||
vk_free2(instance_allocator, pAllocator, callback);
|
||||
pthread_mutex_unlock(&instance->callbacks_mutex);
|
||||
mtx_unlock(&instance->callbacks_mutex);
|
||||
}
|
||||
|
||||
|
||||
@@ -105,7 +105,7 @@ vk_debug_report(struct vk_debug_report_instance *instance,
|
||||
if (!instance || list_is_empty(&instance->callbacks))
|
||||
return;
|
||||
|
||||
pthread_mutex_lock(&instance->callbacks_mutex);
|
||||
mtx_lock(&instance->callbacks_mutex);
|
||||
|
||||
/* Section 33.2 of the Vulkan 1.0.59 spec says:
|
||||
*
|
||||
@@ -121,5 +121,5 @@ vk_debug_report(struct vk_debug_report_instance *instance,
|
||||
pLayerPrefix, pMessage, cb->data);
|
||||
}
|
||||
|
||||
pthread_mutex_unlock(&instance->callbacks_mutex);
|
||||
mtx_unlock(&instance->callbacks_mutex);
|
||||
}
|
||||
|
@@ -26,8 +26,7 @@
|
||||
#ifndef VK_DEBUG_REPORT_H
|
||||
#define VK_DEBUG_REPORT_H
|
||||
|
||||
#include <pthread.h>
|
||||
|
||||
#include "c11/threads.h"
|
||||
#include "util/list.h"
|
||||
#include <vulkan/vulkan.h>
|
||||
|
||||
@@ -41,7 +40,7 @@ struct vk_debug_report_callback {
|
||||
|
||||
struct vk_debug_report_instance {
|
||||
/* VK_EXT_debug_report debug callbacks */
|
||||
pthread_mutex_t callbacks_mutex;
|
||||
mtx_t callbacks_mutex;
|
||||
struct list_head callbacks;
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user