Commit Graph

38 Commits

Author SHA1 Message Date
Joshua Ashton fccbd3b5e2 vkd3d: Eliminate wchar_size, use UTF-16 string literals
Achieves this with C standard stuff alone, and no compiler hacks.

Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-02-09 11:26:28 +01:00
Hans-Kristian Arntzen 13af141e84 common: Add truncated wide export strcmp.
Needed for GetShaderStackSize().

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-02-05 10:05:07 +01:00
Hans-Kristian Arntzen 86da5d9bad common: Add string utilities for dealing with entry point conventions.
Used across both vkd3d-shader and vkd3d, so makes sense to move this to
common code.

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-02-05 10:05:07 +01:00
Joshua Ashton f50c897868 build: Merge vkd3d_headers into vkd3d_common
Fixes MSVC build.
Closes: #343

Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-11-03 09:37:24 +01:00
Hans-Kristian Arntzen cd9c1fb9f3 vkd3d: Add an INFO debug level.
Useful for cases where we want to communicate important information to
the log by default, but not consider it an error.

Requested information which would only be logged when explicitly asked
for should also be considered INFO.

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-10-28 17:03:54 +01:00
Hans-Kristian Arntzen 250357c998 debug: Integrate automatic RenderDoc capturing.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-09-22 12:44:18 +02:00
Hans-Kristian Arntzen b93963b6ce debug: Log thread ID as well.
For multi-threaded apps, this is vital to make any sense of the log.

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-09-08 15:03:41 +02:00
Hans-Kristian Arntzen 99b0421c32 meson: Add build option to enable a profiled build.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-07-20 16:39:15 +02:00
Hans-Kristian Arntzen e3c1b66aed common: Add a simple profiling module.
Works by mapping a memory block on disk, and then we simply increment
u64s. The caller code only needs to use VKD3D_REGION_{DECL,BEGIN,END}
macros.

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-07-20 16:39:15 +02:00
Hans-Kristian Arntzen f0269739b1 debug: Add support for a log file.
Simplistic implementation. Also, make sure lines are written atomically
to not get garbled logs.

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-07-10 16:09:00 +02:00
Hans-Kristian Arntzen 7fb97940f1 vkd3d: Initialize debug code once with pthread_once_t.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-07-10 16:09:00 +02:00
Hans-Kristian Arntzen 7f29d25611 debug: Flush logging output.
On Windows, we don't get a flush naturally after every newline,
so flush manually every time to make sure we get everything in a timely
fashion.

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-07-10 16:09:00 +02:00
Hans-Kristian Arntzen 7bccab7427 debug: Re-introduce different debug channels.
vkd3d-shader is currently kinda buggy and crashes when you try to trace
DXBC. This used to never be run since it was guarded by
VKD3D_SHADER_DEBUG, but with the move to a static build we merged all
debug logging under VKD3D_DEBUG. Reintroduce different debug channels in
a way that is compatible with a statically linked vkd3d.

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-07-10 14:18:15 +02:00
Hans-Kristian Arntzen cb1da02af9 vkd3d: Fix some warnings.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-07-06 21:32:16 +02:00
Hans-Kristian Arntzen 6e944dab6b vkd3d: Use ptrdiff in utf8 strdup.
max_elements is in number of elements, not bytes.
Fix regression from refactor.

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-07-02 12:28:03 +02:00
Hans-Kristian Arntzen 49190da623 vkd3d: Fix pointer type mismatch.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-07-02 12:28:03 +02:00
Joshua Ashton ed6adc3fa2 vkd3d-common: Refactor string loop code
Also fix some bad signed comparison problems.

Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-06-27 15:23:09 +02:00
Joshua Ashton 4521b253dd vkd3d: Toss VKD3D_DEBUG_ENV_NAME
Creates linking problems if we want to build vkd3d-shader statically given this links back to something in vkd3d-common.

We don't need this distinction anyways...

Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-06-24 15:18:56 +02:00
Joshua Ashton 8c216e637c build: Add Meson build system
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-06-23 14:55:43 +02:00
Hans-Kristian Arntzen cae30f8602 utils: Add a max_elements parameter to wchar conversion.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-06-11 13:02:50 +02:00
Józef Kucia 51b930192a vkd3d: Handle lists in debug env vars consistently.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-17 20:41:09 +02:00
Józef Kucia e7b94e0337 vkd3d: Enable Vulkan debug extensions independently of debug log level.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-01 22:54:23 +02:00
Józef Kucia 18f8019fd9 vkd3d-common: Explicitly limit value to UINT_MAX in vkd3d_env_var_as_uint().
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-08 19:39:34 +02:00
Józef Kucia 05666d3385 vkd3d: Add VKD3D_VULKAN_DEVICE debug environment variable.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-14 23:53:34 +01:00
Józef Kucia 0055aa67f1 vkd3d-common: Fix vkd3d_strdup_{w16, w32}_utf8() functions.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-05 19:26:46 +01:00
Józef Kucia 52015b30b3 vkd3d-common: Add support for naming debug environment variable.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-31 18:05:53 +01:00
Zhiyi Zhang d0e2802a35 vkd3d: Implement d3d12_query_heap_SetName().
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-30 18:35:38 +01:00
Józef Kucia f0a1e14113 libs/vkd3d: Mark device as removed when command list in recording state is executed.
Fixes a GPU hang in test_device_removed_reason() on RADV.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-16 21:59:57 +02:00
Henri Verbeet 3019a3e8f1 libs/vkd3d: Support both native and Win32 wchar_t. 2017-08-29 16:36:05 +02:00
Józef Kucia 252a2ea353 libs/vkd3d-common: Fix assert() condition. 2017-06-21 12:22:19 +02:00
Józef Kucia f7e738c27a libs/vkd3d-common: Terminate string with '\0' unconditionally in vkd3d_debug_sprintf(). 2017-06-21 12:22:19 +02:00
Józef Kucia eff8428c71 libs/vkd3d-common: Move vkd3d_array_reserve() from libvkd3d. 2017-06-19 18:05:53 +02:00
Józef Kucia 97c7bc0a18 libs/vkd3d-common: Provide access to current debug level. 2017-06-19 18:05:53 +02:00
Józef Kucia 7be0b64a0f libs/vkd3d-common: Add debugstr_a() function. 2017-06-16 22:38:21 +02:00
Józef Kucia 0e55ba8933 libs/vkd3d-common: Use ARRAY_SIZE() macro. 2017-06-16 22:38:21 +02:00
Józef Kucia 84889646f6 Update license to LGPL v2.1. 2017-06-16 22:11:21 +02:00
Józef Kucia ed033b40d0 libs/vkd3d: Fix InterlockedIncrement() and InterlockedDecrement() signatures. 2016-10-10 11:22:50 +02:00
Józef Kucia 49cac8005c libs/vkd3d-common: Add convenience library for shared code. 2016-10-07 13:26:39 +02:00