diff --git a/include/vkd3d.h b/include/vkd3d.h index 7c5f6441e9d946d03462c55d47179e850a0f7ef4..d089ada56b7234da1f854fd85abf895e82a32b79 100644 --- a/include/vkd3d.h +++ b/include/vkd3d.h @@ -28,8 +28,6 @@ # include <vulkan/vulkan.h> #endif /* VKD3D_NO_VULKAN_H */ -#include <stdbool.h> - #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ @@ -45,12 +43,12 @@ enum vkd3d_structure_type VKD3D_FORCE_32_BIT_ENUM(VKD3D_STRUCTURE_TYPE), }; -typedef bool (*PFN_vkd3d_signal_event)(HANDLE event); +typedef HRESULT (*PFN_vkd3d_signal_event)(HANDLE event); typedef void * (*PFN_vkd3d_thread)(void *data); typedef void * (*PFN_vkd3d_create_thread)(PFN_vkd3d_thread thread_main, void *data); -typedef bool (*PFN_vkd3d_join_thread)(void *thread); +typedef HRESULT (*PFN_vkd3d_join_thread)(void *thread); struct vkd3d_instance; diff --git a/include/vkd3d_utils.h b/include/vkd3d_utils.h index 06b01fc9bf80f63d4476cd02616c02665af82d5a..676d3330ed5e223d51ee31121b27181d219d9387 100644 --- a/include/vkd3d_utils.h +++ b/include/vkd3d_utils.h @@ -31,7 +31,7 @@ extern "C" { #define INFINITE (~0u) HANDLE vkd3d_create_event(void); -bool vkd3d_signal_event(HANDLE event); +HRESULT vkd3d_signal_event(HANDLE event); unsigned int vkd3d_wait_event(HANDLE event, unsigned int milliseconds); void vkd3d_destroy_event(HANDLE event); diff --git a/libs/vkd3d-utils/vkd3d_utils_main.c b/libs/vkd3d-utils/vkd3d_utils_main.c index adafb00bddc84af40401183b5d03d6d8317b137a..3c0d13971b6c355e8cc097fb380010764da99b06 100644 --- a/libs/vkd3d-utils/vkd3d_utils_main.c +++ b/libs/vkd3d-utils/vkd3d_utils_main.c @@ -159,7 +159,7 @@ unsigned int vkd3d_wait_event(HANDLE event, unsigned int milliseconds) return WAIT_FAILED; } -bool vkd3d_signal_event(HANDLE event) +HRESULT vkd3d_signal_event(HANDLE event) { struct vkd3d_event *impl = event; int rc; @@ -169,13 +169,13 @@ bool vkd3d_signal_event(HANDLE event) if ((rc = pthread_mutex_lock(&impl->mutex))) { ERR("Failed to lock mutex, error %d.\n", rc); - return false; + return E_FAIL; } impl->is_signaled = true; pthread_cond_signal(&impl->cond); pthread_mutex_unlock(&impl->mutex); - return true; + return S_OK; } void vkd3d_destroy_event(HANDLE event) diff --git a/libs/vkd3d/command.c b/libs/vkd3d/command.c index 39094c24e91314cd14a90913efd7bb0ffb49689a..d9ad8f3460b8bc6838084b8b5342fdfc01d5fdfd 100644 --- a/libs/vkd3d/command.c +++ b/libs/vkd3d/command.c @@ -288,6 +288,7 @@ HRESULT vkd3d_fence_worker_start(struct vkd3d_fence_worker *worker, HRESULT vkd3d_fence_worker_stop(struct vkd3d_fence_worker *worker, struct d3d12_device *device) { + HRESULT hr; int rc; TRACE("worker %p.\n", worker); @@ -305,9 +306,9 @@ HRESULT vkd3d_fence_worker_stop(struct vkd3d_fence_worker *worker, if (device->join_thread) { - if (!device->join_thread(worker->u.handle)) + if (FAILED(hr = device->join_thread(worker->u.handle))) { - ERR("Failed to join fence worker thread.\n"); + ERR("Failed to join fence worker thread, hr %#x.\n", hr); return E_FAIL; } } diff --git a/programs/vkd3d-compiler/main.c b/programs/vkd3d-compiler/main.c index 89778b8838bf5bd20b6d8b7c2701c6c0d2db4e2b..2e6566882a661d0f5a23bb0a819fb337e4b3b95d 100644 --- a/programs/vkd3d-compiler/main.c +++ b/programs/vkd3d-compiler/main.c @@ -17,6 +17,7 @@ */ #include <fcntl.h> +#include <stdbool.h> #include <stdio.h> #include <sys/stat.h> #include <unistd.h> diff --git a/tests/vkd3d_api.c b/tests/vkd3d_api.c index 439cb6364eb81b2442596515d0fea1fca75c3e42..e2d9d014125aaa93569890e7cb56db06303cfaad 100644 --- a/tests/vkd3d_api.c +++ b/tests/vkd3d_api.c @@ -54,10 +54,10 @@ static ULONG resource_get_internal_refcount(ID3D12Resource *resource) return vkd3d_resource_decref(resource); } -static bool signal_event(HANDLE event) +static HRESULT signal_event(HANDLE event) { trace("Signal event %p.\n", event); - return true; + return S_OK; } static const struct vkd3d_instance_create_info instance_default_create_info =