Signed-off-by: Zebediah Figura zfigura@codeweavers.com --- Makefile.am | 1 + include/private/vkd3d_common.h | 3 +++ libs/vkd3d-common/error.c | 43 ++++++++++++++++++++++++++++++++++ libs/vkd3d/utils.c | 23 ------------------ 4 files changed, 47 insertions(+), 23 deletions(-) create mode 100644 libs/vkd3d-common/error.c
diff --git a/Makefile.am b/Makefile.am index 05403157..d9745456 100644 --- a/Makefile.am +++ b/Makefile.am @@ -65,6 +65,7 @@ noinst_LTLIBRARIES = libvkd3d-common.la libvkd3d_common_la_SOURCES = \ include/private/vkd3d_debug.h \ libs/vkd3d-common/debug.c \ + libs/vkd3d-common/error.c \ libs/vkd3d-common/memory.c \ libs/vkd3d-common/utf8.c
diff --git a/include/private/vkd3d_common.h b/include/private/vkd3d_common.h index ac217e9e..ed80f48a 100644 --- a/include/private/vkd3d_common.h +++ b/include/private/vkd3d_common.h @@ -21,6 +21,7 @@
#include "config.h" #include "vkd3d_windows.h" +#include "vkd3d_types.h"
#include <ctype.h> #include <limits.h> @@ -183,4 +184,6 @@ static inline void vkd3d_parse_version(const char *version, int *major, int *min *minor = atoi(version); }
+HRESULT hresult_from_vkd3d_result(int vkd3d_result) DECLSPEC_HIDDEN; + #endif /* __VKD3D_COMMON_H */ diff --git a/libs/vkd3d-common/error.c b/libs/vkd3d-common/error.c new file mode 100644 index 00000000..81c1fd97 --- /dev/null +++ b/libs/vkd3d-common/error.c @@ -0,0 +1,43 @@ +/* + * Copyright 2018 Józef Kucia for CodeWeavers + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "vkd3d_common.h" +#include "vkd3d_debug.h" + +HRESULT hresult_from_vkd3d_result(int vkd3d_result) +{ + switch (vkd3d_result) + { + case VKD3D_OK: + return S_OK; + case VKD3D_ERROR_INVALID_SHADER: + WARN("Invalid shader bytecode.\n"); + /* fall-through */ + case VKD3D_ERROR: + return E_FAIL; + case VKD3D_ERROR_OUT_OF_MEMORY: + return E_OUTOFMEMORY; + case VKD3D_ERROR_INVALID_ARGUMENT: + return E_INVALIDARG; + case VKD3D_ERROR_NOT_IMPLEMENTED: + return E_NOTIMPL; + default: + FIXME("Unhandled vkd3d result %d.\n", vkd3d_result); + return E_FAIL; + } +} diff --git a/libs/vkd3d/utils.c b/libs/vkd3d/utils.c index f9f26635..08e6af93 100644 --- a/libs/vkd3d/utils.c +++ b/libs/vkd3d/utils.c @@ -770,29 +770,6 @@ HRESULT hresult_from_vk_result(VkResult vr) } }
-HRESULT hresult_from_vkd3d_result(int vkd3d_result) -{ - switch (vkd3d_result) - { - case VKD3D_OK: - return S_OK; - case VKD3D_ERROR_INVALID_SHADER: - WARN("Invalid shader bytecode.\n"); - /* fall-through */ - case VKD3D_ERROR: - return E_FAIL; - case VKD3D_ERROR_OUT_OF_MEMORY: - return E_OUTOFMEMORY; - case VKD3D_ERROR_INVALID_ARGUMENT: - return E_INVALIDARG; - case VKD3D_ERROR_NOT_IMPLEMENTED: - return E_NOTIMPL; - default: - FIXME("Unhandled vkd3d result %d.\n", vkd3d_result); - return E_FAIL; - } -} - #define LOAD_GLOBAL_PFN(name) \ if (!(procs->name = (void *)vkGetInstanceProcAddr(NULL, #name))) \ { \