mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-09-13 09:17:20 -07:00
Updated vkd3d-latest patchset
This commit is contained in:
parent
9160b38ad3
commit
5a1e1cb2e0
@ -1,4 +1,4 @@
|
||||
From 83e8be66c4e2654b5c9f6c99d511be381a5de284 Mon Sep 17 00:00:00 2001
|
||||
From f22ca676f4fd29182711350bc2a08efb2e78dc3d Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Thu, 7 Mar 2024 10:40:41 +1100
|
||||
Subject: [PATCH] Updated vkd3d to a0d52dc38508b76efedcb6fa1df3162a0062ceaf.
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 4f30265014c3d99c2cf40236d2570010680b4740 Mon Sep 17 00:00:00 2001
|
||||
From 7a33a45d49a65ab42eac2051464db05dff4367e6 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Sat, 9 Mar 2024 10:36:15 +1100
|
||||
Subject: [PATCH] Updated vkd3d to 23259263cf662fb203a173b30b90f44cfbb9d29e.
|
||||
|
@ -1,4 +1,4 @@
|
||||
From f27fc961454a26d013f598ea3d476ed50faee523 Mon Sep 17 00:00:00 2001
|
||||
From c5c1605d8c3efac75f051defd5167bde20dfc36e Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Wed, 13 Mar 2024 15:58:53 +1100
|
||||
Subject: [PATCH] Updated vkd3d to 9b0d304f8fe4e6f0d065e4561af9e372e1643c2d.
|
||||
|
@ -1,4 +1,4 @@
|
||||
From cbdcf283637d0b06fe2da0aa61dc56510bad09eb Mon Sep 17 00:00:00 2001
|
||||
From bd4a3d1a0a0a8e60d2f51a6e113dc9095ebad586 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Thu, 14 Mar 2024 20:16:07 +1100
|
||||
Subject: [PATCH] Updated vkd3d to 374c5fcbdd91b6b7e6c362c79871ddf30f0ccee2.
|
||||
|
@ -1,4 +1,4 @@
|
||||
From cfe8e416936bc48f9a4a02a2f13226b81fc98423 Mon Sep 17 00:00:00 2001
|
||||
From 03778823649d7632c5c98c04728517d2b2ca3ec8 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Fri, 15 Mar 2024 16:37:26 +1100
|
||||
Subject: [PATCH] Updated vkd3d to abf76372e0a44dd3920e3fb796d75e920d0c07bb.
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,437 @@
|
||||
From 1123af8d7108c26d7c4b4fdb6495d8ad03d8aaa0 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Wed, 20 Mar 2024 12:18:36 +1100
|
||||
Subject: [PATCH] Updated vkd3d to 166dc24b2f73b0541a14815081ee4c8d9eab3269.
|
||||
|
||||
---
|
||||
libs/vkd3d/include/private/vkd3d_common.h | 181 +++++++++++++++++-
|
||||
libs/vkd3d/include/private/vkd3d_memory.h | 2 +-
|
||||
libs/vkd3d/libs/vkd3d-common/blob.c | 1 -
|
||||
libs/vkd3d/libs/vkd3d-common/debug.c | 2 +-
|
||||
libs/vkd3d/libs/vkd3d-common/error.c | 1 -
|
||||
libs/vkd3d/libs/vkd3d-shader/ir.c | 8 +-
|
||||
libs/vkd3d/libs/vkd3d-shader/spirv.c | 3 +-
|
||||
.../libs/vkd3d-shader/vkd3d_shader_private.h | 5 +-
|
||||
libs/vkd3d/libs/vkd3d/vkd3d_private.h | 67 -------
|
||||
9 files changed, 189 insertions(+), 81 deletions(-)
|
||||
|
||||
diff --git a/libs/vkd3d/include/private/vkd3d_common.h b/libs/vkd3d/include/private/vkd3d_common.h
|
||||
index 6a3b530d868..974ff9446db 100644
|
||||
--- a/libs/vkd3d/include/private/vkd3d_common.h
|
||||
+++ b/libs/vkd3d/include/private/vkd3d_common.h
|
||||
@@ -30,6 +30,9 @@
|
||||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
+#ifndef _WIN32
|
||||
+#include <pthread.h>
|
||||
+#endif
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#include <intrin.h>
|
||||
@@ -105,11 +108,130 @@ VKD3D_NORETURN static inline void vkd3d_unreachable_(const char *filename, unsig
|
||||
#define vkd3d_unreachable() vkd3d_unreachable_(__FILE__, __LINE__)
|
||||
#endif
|
||||
|
||||
+#ifdef VKD3D_NO_TRACE_MESSAGES
|
||||
+#define TRACE(args...) do { } while (0)
|
||||
+#define TRACE_ON() (false)
|
||||
+#endif
|
||||
+
|
||||
+#ifdef VKD3D_NO_DEBUG_MESSAGES
|
||||
+#define WARN(args...) do { } while (0)
|
||||
+#define FIXME(args...) do { } while (0)
|
||||
+#endif
|
||||
+
|
||||
+enum vkd3d_dbg_level
|
||||
+{
|
||||
+ VKD3D_DBG_LEVEL_NONE,
|
||||
+ VKD3D_DBG_LEVEL_ERR,
|
||||
+ VKD3D_DBG_LEVEL_FIXME,
|
||||
+ VKD3D_DBG_LEVEL_WARN,
|
||||
+ VKD3D_DBG_LEVEL_TRACE,
|
||||
+};
|
||||
+
|
||||
+enum vkd3d_dbg_level vkd3d_dbg_get_level(void);
|
||||
+
|
||||
+void vkd3d_dbg_printf(enum vkd3d_dbg_level level, const char *function, const char *fmt, ...) VKD3D_PRINTF_FUNC(3, 4);
|
||||
+void vkd3d_dbg_set_log_callback(PFN_vkd3d_log callback);
|
||||
+
|
||||
+const char *vkd3d_dbg_sprintf(const char *fmt, ...) VKD3D_PRINTF_FUNC(1, 2);
|
||||
+const char *vkd3d_dbg_vsprintf(const char *fmt, va_list args);
|
||||
+const char *debugstr_a(const char *str);
|
||||
+const char *debugstr_an(const char *str, size_t n);
|
||||
+const char *debugstr_w(const WCHAR *wstr, size_t wchar_size);
|
||||
+
|
||||
+#define VKD3D_DBG_LOG(level) \
|
||||
+ do { \
|
||||
+ const enum vkd3d_dbg_level vkd3d_dbg_level = VKD3D_DBG_LEVEL_##level; \
|
||||
+ VKD3D_DBG_PRINTF
|
||||
+
|
||||
+#define VKD3D_DBG_LOG_ONCE(first_time_level, level) \
|
||||
+ do { \
|
||||
+ static bool vkd3d_dbg_next_time; \
|
||||
+ const enum vkd3d_dbg_level vkd3d_dbg_level = vkd3d_dbg_next_time \
|
||||
+ ? VKD3D_DBG_LEVEL_##level : VKD3D_DBG_LEVEL_##first_time_level; \
|
||||
+ vkd3d_dbg_next_time = true; \
|
||||
+ VKD3D_DBG_PRINTF
|
||||
+
|
||||
+#define VKD3D_DBG_PRINTF(...) \
|
||||
+ vkd3d_dbg_printf(vkd3d_dbg_level, __FUNCTION__, __VA_ARGS__); } while (0)
|
||||
+
|
||||
+#ifndef TRACE
|
||||
+#define TRACE VKD3D_DBG_LOG(TRACE)
|
||||
+#endif
|
||||
+
|
||||
+#ifndef WARN
|
||||
+#define WARN VKD3D_DBG_LOG(WARN)
|
||||
+#endif
|
||||
+
|
||||
+#ifndef FIXME
|
||||
+#define FIXME VKD3D_DBG_LOG(FIXME)
|
||||
+#endif
|
||||
+
|
||||
+#define ERR VKD3D_DBG_LOG(ERR)
|
||||
+
|
||||
+#ifndef TRACE_ON
|
||||
+#define TRACE_ON() (vkd3d_dbg_get_level() == VKD3D_DBG_LEVEL_TRACE)
|
||||
+#endif
|
||||
+
|
||||
+#ifndef WARN_ON
|
||||
+#define WARN_ON() (vkd3d_dbg_get_level() >= VKD3D_DBG_LEVEL_WARN)
|
||||
+#endif
|
||||
+
|
||||
+#define FIXME_ONCE VKD3D_DBG_LOG_ONCE(FIXME, WARN)
|
||||
+
|
||||
+#define VKD3D_DEBUG_ENV_NAME(name) const char *const vkd3d_dbg_env_name = name
|
||||
+
|
||||
+static inline const char *debugstr_guid(const GUID *guid)
|
||||
+{
|
||||
+ if (!guid)
|
||||
+ return "(null)";
|
||||
+
|
||||
+ return vkd3d_dbg_sprintf("{%08lx-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x}",
|
||||
+ (unsigned long)guid->Data1, guid->Data2, guid->Data3, guid->Data4[0],
|
||||
+ guid->Data4[1], guid->Data4[2], guid->Data4[3], guid->Data4[4],
|
||||
+ guid->Data4[5], guid->Data4[6], guid->Data4[7]);
|
||||
+}
|
||||
+
|
||||
+static inline const char *debugstr_hresult(HRESULT hr)
|
||||
+{
|
||||
+ switch (hr)
|
||||
+ {
|
||||
+#define TO_STR(u) case u: return #u;
|
||||
+ TO_STR(S_OK)
|
||||
+ TO_STR(S_FALSE)
|
||||
+ TO_STR(E_NOTIMPL)
|
||||
+ TO_STR(E_NOINTERFACE)
|
||||
+ TO_STR(E_POINTER)
|
||||
+ TO_STR(E_ABORT)
|
||||
+ TO_STR(E_FAIL)
|
||||
+ TO_STR(E_OUTOFMEMORY)
|
||||
+ TO_STR(E_INVALIDARG)
|
||||
+ TO_STR(DXGI_ERROR_NOT_FOUND)
|
||||
+ TO_STR(DXGI_ERROR_MORE_DATA)
|
||||
+ TO_STR(DXGI_ERROR_UNSUPPORTED)
|
||||
+#undef TO_STR
|
||||
+ default:
|
||||
+ return vkd3d_dbg_sprintf("%#x", (int)hr);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+unsigned int vkd3d_env_var_as_uint(const char *name, unsigned int default_value);
|
||||
+
|
||||
+struct vkd3d_debug_option
|
||||
+{
|
||||
+ const char *name;
|
||||
+ uint64_t flag;
|
||||
+};
|
||||
+
|
||||
+bool vkd3d_debug_list_has_member(const char *string, const char *member);
|
||||
+uint64_t vkd3d_parse_debug_options(const char *string,
|
||||
+ const struct vkd3d_debug_option *options, unsigned int option_count);
|
||||
+void vkd3d_set_thread_name(const char *name);
|
||||
+
|
||||
static inline unsigned int vkd3d_popcount(unsigned int v)
|
||||
{
|
||||
#ifdef _MSC_VER
|
||||
return __popcnt(v);
|
||||
-#elif defined(__MINGW32__)
|
||||
+#elif defined(HAVE_BUILTIN_POPCOUNT)
|
||||
return __builtin_popcount(v);
|
||||
#else
|
||||
v -= (v >> 1) & 0x55555555;
|
||||
@@ -305,6 +427,63 @@ static inline uint32_t vkd3d_atomic_increment_u32(uint32_t volatile *x)
|
||||
return vkd3d_atomic_add_fetch_u32(x, 1);
|
||||
}
|
||||
|
||||
+struct vkd3d_mutex
|
||||
+{
|
||||
+#ifdef _WIN32
|
||||
+ CRITICAL_SECTION lock;
|
||||
+#else
|
||||
+ pthread_mutex_t lock;
|
||||
+#endif
|
||||
+};
|
||||
+
|
||||
+static inline void vkd3d_mutex_init(struct vkd3d_mutex *lock)
|
||||
+{
|
||||
+#ifdef _WIN32
|
||||
+ InitializeCriticalSection(&lock->lock);
|
||||
+#else
|
||||
+ int ret;
|
||||
+
|
||||
+ if ((ret = pthread_mutex_init(&lock->lock, NULL)))
|
||||
+ ERR("Failed to initialise the mutex, ret %d.\n", ret);
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
+static inline void vkd3d_mutex_lock(struct vkd3d_mutex *lock)
|
||||
+{
|
||||
+#ifdef _WIN32
|
||||
+ EnterCriticalSection(&lock->lock);
|
||||
+#else
|
||||
+ int ret;
|
||||
+
|
||||
+ if ((ret = pthread_mutex_lock(&lock->lock)))
|
||||
+ ERR("Failed to lock the mutex, ret %d.\n", ret);
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
+static inline void vkd3d_mutex_unlock(struct vkd3d_mutex *lock)
|
||||
+{
|
||||
+#ifdef _WIN32
|
||||
+ LeaveCriticalSection(&lock->lock);
|
||||
+#else
|
||||
+ int ret;
|
||||
+
|
||||
+ if ((ret = pthread_mutex_unlock(&lock->lock)))
|
||||
+ ERR("Failed to unlock the mutex, ret %d.\n", ret);
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
+static inline void vkd3d_mutex_destroy(struct vkd3d_mutex *lock)
|
||||
+{
|
||||
+#ifdef _WIN32
|
||||
+ DeleteCriticalSection(&lock->lock);
|
||||
+#else
|
||||
+ int ret;
|
||||
+
|
||||
+ if ((ret = pthread_mutex_destroy(&lock->lock)))
|
||||
+ ERR("Failed to destroy the mutex, ret %d.\n", ret);
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
static inline void vkd3d_parse_version(const char *version, int *major, int *minor)
|
||||
{
|
||||
*major = atoi(version);
|
||||
diff --git a/libs/vkd3d/include/private/vkd3d_memory.h b/libs/vkd3d/include/private/vkd3d_memory.h
|
||||
index 8a2edb1000d..bb177e39add 100644
|
||||
--- a/libs/vkd3d/include/private/vkd3d_memory.h
|
||||
+++ b/libs/vkd3d/include/private/vkd3d_memory.h
|
||||
@@ -24,7 +24,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
-#include "vkd3d_debug.h"
|
||||
+#include "vkd3d_common.h"
|
||||
|
||||
static inline void *vkd3d_malloc(size_t size)
|
||||
{
|
||||
diff --git a/libs/vkd3d/libs/vkd3d-common/blob.c b/libs/vkd3d/libs/vkd3d-common/blob.c
|
||||
index dbb26de7d73..6bc95dc55c4 100644
|
||||
--- a/libs/vkd3d/libs/vkd3d-common/blob.c
|
||||
+++ b/libs/vkd3d/libs/vkd3d-common/blob.c
|
||||
@@ -21,7 +21,6 @@
|
||||
#define CONST_VTABLE
|
||||
#include "vkd3d.h"
|
||||
#include "vkd3d_blob.h"
|
||||
-#include "vkd3d_debug.h"
|
||||
#include "vkd3d_memory.h"
|
||||
#include "d3d12shader.h"
|
||||
|
||||
diff --git a/libs/vkd3d/libs/vkd3d-common/debug.c b/libs/vkd3d/libs/vkd3d-common/debug.c
|
||||
index e12cd39450a..4523fc997ef 100644
|
||||
--- a/libs/vkd3d/libs/vkd3d-common/debug.c
|
||||
+++ b/libs/vkd3d/libs/vkd3d-common/debug.c
|
||||
@@ -20,7 +20,7 @@
|
||||
# define _WIN32_WINNT 0x0600 /* For InitOnceExecuteOnce(). */
|
||||
#endif
|
||||
|
||||
-#include "vkd3d_debug.h"
|
||||
+#include "vkd3d_common.h"
|
||||
|
||||
#include <assert.h>
|
||||
#include <ctype.h>
|
||||
diff --git a/libs/vkd3d/libs/vkd3d-common/error.c b/libs/vkd3d/libs/vkd3d-common/error.c
|
||||
index 3572669ac1c..b8350a5404c 100644
|
||||
--- a/libs/vkd3d/libs/vkd3d-common/error.c
|
||||
+++ b/libs/vkd3d/libs/vkd3d-common/error.c
|
||||
@@ -17,7 +17,6 @@
|
||||
*/
|
||||
|
||||
#include "vkd3d_common.h"
|
||||
-#include "vkd3d_debug.h"
|
||||
|
||||
HRESULT hresult_from_vkd3d_result(int vkd3d_result)
|
||||
{
|
||||
diff --git a/libs/vkd3d/libs/vkd3d-shader/ir.c b/libs/vkd3d/libs/vkd3d-shader/ir.c
|
||||
index ec32faae8da..4f0226187af 100644
|
||||
--- a/libs/vkd3d/libs/vkd3d-shader/ir.c
|
||||
+++ b/libs/vkd3d/libs/vkd3d-shader/ir.c
|
||||
@@ -4393,11 +4393,9 @@ fail:
|
||||
return ret;
|
||||
}
|
||||
|
||||
-enum vkd3d_result vkd3d_shader_normalise(struct vkd3d_shader_parser *parser,
|
||||
- const struct vkd3d_shader_compile_info *compile_info)
|
||||
+enum vkd3d_result vsir_program_normalise(struct vsir_program *program, uint64_t config_flags,
|
||||
+ const struct vkd3d_shader_compile_info *compile_info, struct vkd3d_shader_message_context *message_context)
|
||||
{
|
||||
- struct vkd3d_shader_message_context *message_context = parser->message_context;
|
||||
- struct vsir_program *program = &parser->program;
|
||||
enum vkd3d_result result = VKD3D_OK;
|
||||
|
||||
remove_dcl_temps(program);
|
||||
@@ -4488,7 +4486,7 @@ enum vkd3d_result vkd3d_shader_normalise(struct vkd3d_shader_parser *parser,
|
||||
if (TRACE_ON())
|
||||
vkd3d_shader_trace(program);
|
||||
|
||||
- if ((result = vsir_program_validate(program, parser->config_flags,
|
||||
+ if ((result = vsir_program_validate(program, config_flags,
|
||||
compile_info->source_name, message_context)) < 0)
|
||||
return result;
|
||||
|
||||
diff --git a/libs/vkd3d/libs/vkd3d-shader/spirv.c b/libs/vkd3d/libs/vkd3d-shader/spirv.c
|
||||
index f830bbdaa6d..673400efd69 100644
|
||||
--- a/libs/vkd3d/libs/vkd3d-shader/spirv.c
|
||||
+++ b/libs/vkd3d/libs/vkd3d-shader/spirv.c
|
||||
@@ -10133,7 +10133,8 @@ static int spirv_compiler_generate_spirv(struct spirv_compiler *compiler,
|
||||
enum vkd3d_result result = VKD3D_OK;
|
||||
unsigned int i;
|
||||
|
||||
- if ((result = vkd3d_shader_normalise(parser, compile_info)) < 0)
|
||||
+ if ((result = vsir_program_normalise(program, compiler->config_flags,
|
||||
+ compile_info, compiler->message_context)) < 0)
|
||||
return result;
|
||||
|
||||
if (program->temp_count)
|
||||
diff --git a/libs/vkd3d/libs/vkd3d-shader/vkd3d_shader_private.h b/libs/vkd3d/libs/vkd3d-shader/vkd3d_shader_private.h
|
||||
index 7503d564af0..a33b6d2d967 100644
|
||||
--- a/libs/vkd3d/libs/vkd3d-shader/vkd3d_shader_private.h
|
||||
+++ b/libs/vkd3d/libs/vkd3d-shader/vkd3d_shader_private.h
|
||||
@@ -1321,6 +1321,8 @@ struct vsir_program
|
||||
|
||||
bool vsir_program_init(struct vsir_program *program, const struct vkd3d_shader_version *version, unsigned int reserve);
|
||||
void vsir_program_cleanup(struct vsir_program *program);
|
||||
+enum vkd3d_result vsir_program_normalise(struct vsir_program *program, uint64_t config_flags,
|
||||
+ const struct vkd3d_shader_compile_info *compile_info, struct vkd3d_shader_message_context *message_context);
|
||||
enum vkd3d_result vsir_program_validate(struct vsir_program *program, uint64_t config_flags,
|
||||
const char *source_name, struct vkd3d_shader_message_context *message_context);
|
||||
|
||||
@@ -1784,7 +1786,4 @@ void dxbc_writer_add_section(struct dxbc_writer *dxbc, uint32_t tag, const void
|
||||
void dxbc_writer_init(struct dxbc_writer *dxbc);
|
||||
int dxbc_writer_write(struct dxbc_writer *dxbc, struct vkd3d_shader_code *code);
|
||||
|
||||
-enum vkd3d_result vkd3d_shader_normalise(struct vkd3d_shader_parser *parser,
|
||||
- const struct vkd3d_shader_compile_info *compile_info);
|
||||
-
|
||||
#endif /* __VKD3D_SHADER_PRIVATE_H */
|
||||
diff --git a/libs/vkd3d/libs/vkd3d/vkd3d_private.h b/libs/vkd3d/libs/vkd3d/vkd3d_private.h
|
||||
index 34a98c4fc3d..39d892a6fa7 100644
|
||||
--- a/libs/vkd3d/libs/vkd3d/vkd3d_private.h
|
||||
+++ b/libs/vkd3d/libs/vkd3d/vkd3d_private.h
|
||||
@@ -203,36 +203,11 @@ union vkd3d_thread_handle
|
||||
void *handle;
|
||||
};
|
||||
|
||||
-struct vkd3d_mutex
|
||||
-{
|
||||
- CRITICAL_SECTION lock;
|
||||
-};
|
||||
-
|
||||
struct vkd3d_cond
|
||||
{
|
||||
CONDITION_VARIABLE cond;
|
||||
};
|
||||
|
||||
-static inline void vkd3d_mutex_init(struct vkd3d_mutex *lock)
|
||||
-{
|
||||
- InitializeCriticalSection(&lock->lock);
|
||||
-}
|
||||
-
|
||||
-static inline void vkd3d_mutex_lock(struct vkd3d_mutex *lock)
|
||||
-{
|
||||
- EnterCriticalSection(&lock->lock);
|
||||
-}
|
||||
-
|
||||
-static inline void vkd3d_mutex_unlock(struct vkd3d_mutex *lock)
|
||||
-{
|
||||
- LeaveCriticalSection(&lock->lock);
|
||||
-}
|
||||
-
|
||||
-static inline void vkd3d_mutex_destroy(struct vkd3d_mutex *lock)
|
||||
-{
|
||||
- DeleteCriticalSection(&lock->lock);
|
||||
-}
|
||||
-
|
||||
static inline void vkd3d_cond_init(struct vkd3d_cond *cond)
|
||||
{
|
||||
InitializeConditionVariable(&cond->cond);
|
||||
@@ -288,53 +263,11 @@ union vkd3d_thread_handle
|
||||
void *handle;
|
||||
};
|
||||
|
||||
-struct vkd3d_mutex
|
||||
-{
|
||||
- pthread_mutex_t lock;
|
||||
-};
|
||||
-
|
||||
struct vkd3d_cond
|
||||
{
|
||||
pthread_cond_t cond;
|
||||
};
|
||||
|
||||
-
|
||||
-static inline void vkd3d_mutex_init(struct vkd3d_mutex *lock)
|
||||
-{
|
||||
- int ret;
|
||||
-
|
||||
- ret = pthread_mutex_init(&lock->lock, NULL);
|
||||
- if (ret)
|
||||
- ERR("Could not initialize the mutex, error %d.\n", ret);
|
||||
-}
|
||||
-
|
||||
-static inline void vkd3d_mutex_lock(struct vkd3d_mutex *lock)
|
||||
-{
|
||||
- int ret;
|
||||
-
|
||||
- ret = pthread_mutex_lock(&lock->lock);
|
||||
- if (ret)
|
||||
- ERR("Could not lock the mutex, error %d.\n", ret);
|
||||
-}
|
||||
-
|
||||
-static inline void vkd3d_mutex_unlock(struct vkd3d_mutex *lock)
|
||||
-{
|
||||
- int ret;
|
||||
-
|
||||
- ret = pthread_mutex_unlock(&lock->lock);
|
||||
- if (ret)
|
||||
- ERR("Could not unlock the mutex, error %d.\n", ret);
|
||||
-}
|
||||
-
|
||||
-static inline void vkd3d_mutex_destroy(struct vkd3d_mutex *lock)
|
||||
-{
|
||||
- int ret;
|
||||
-
|
||||
- ret = pthread_mutex_destroy(&lock->lock);
|
||||
- if (ret)
|
||||
- ERR("Could not destroy the mutex, error %d.\n", ret);
|
||||
-}
|
||||
-
|
||||
static inline void vkd3d_cond_init(struct vkd3d_cond *cond)
|
||||
{
|
||||
int ret;
|
||||
--
|
||||
2.43.0
|
||||
|
Loading…
Reference in New Issue
Block a user