Commit Graph

90 Commits

Author SHA1 Message Date
Józef Kucia
40ee9fa0e9 libs/vkd3d-shader: Implement swizzling for shader outputs.
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-05-24 23:29:24 +02:00
Józef Kucia
6988513d7b include: Move vkd3d_shader.h to private headers.
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-25 15:50:02 +02: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
Józef Kucia
4ee7b3428d tests: Fix clang warning.
include/private/vkd3d_test.h:276:22: warning: format string is not a string literal (potentially insecure)
      [-Wformat-security]
    vkd3d_test_debug(name);

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-01-18 16:21:38 +01:00
Józef Kucia
ee8eb9b4e4 libs/vkd3d: Validate miplevel count while creating resources.
vkd3d_log2i() is imported from wined3d.

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-01-11 22:31:33 +01:00
Józef Kucia
a285b4c842 tests: Explicitly detect if tests are run under Wine.
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>
2017-12-14 13:40:25 +01:00
Józef Kucia
3956eaf6d0 tests: Detect test platform dynamically.
In order to run cross-compiled tests under Wine.

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>
2017-12-14 13:40:22 +01:00
Józef Kucia
d100804e91 tests: Make sure that config.h is included before other headers.
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>
2017-12-14 13:13:03 +01:00
Józef Kucia
2ea8ffb554 libs/vkd3d: Avoid vkCmdCopyQueryPoolResults() for not issued queries.
The Vulkan spec states:

  * "If the query does not become available in a finite amount of time
    (e.g.  due to not issuing a query since the last reset), a
    VK_ERROR_DEVICE_LOST error may occur."

  * "If queries will never finish (e.g. due to being reset but not
    issued), then vkGetQueryPoolResults may not return in finite time."
2017-09-14 14:57:09 +02:00
Józef Kucia
09658e3b9b build: Use __builtin_popcount() if available. 2017-09-08 15:04:30 +02:00
Józef Kucia
0d28036d2a libs/vkd3d: Add UAV counter support for compute pipelines.
UAV counter descriptors are stored in a separate VkDescriptorSet.
A VkPipelineLayout created for compute pipeline is compatible for all
other descriptor sets with the VkPipelineLayout created for the root
signature. This ensures that only UAV counter bindings in the last
descriptor set may be disturbed when switching between pipelines with
compatible root signatures.

The implementation of vkd3d_popcount() is based on
https://graphics.stanford.edu/~seander/bithacks.html
2017-09-08 15:04:30 +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
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
995720f5f5 include: Add align() helper function. 2017-06-16 22:38:21 +02:00
Józef Kucia
ba713c9b37 include: Drop wine prefix from red-black tree functions. 2017-06-16 22:38:21 +02:00
Józef Kucia
69e278e754 include: Import red-black tree implementation from Wine. 2017-06-16 22:38:21 +02:00
Józef Kucia
956c8b03cf include: Import linked list implementation from Wine. 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
2d0c3c871a tests: Introduce debug levels.
The VKD3D_TEST_DEBUG environment variable can be now set to 1 or 2.
VKD3D_TEST_DEBUG=1 is useful for examining Vulkan validation layers
output.
2016-11-09 15:03:46 +01:00
Józef Kucia
3c66c74167 tests: Pass command line arguments to vkd3d_test_main(). 2016-11-09 15:03:46 +01:00
Józef Kucia
2eed0e0ed3 tests: Write test name to debug output.
This is useful when inspecting the output of D3D12 debug layer.
2016-11-09 15:03:46 +01:00
Józef Kucia
81164d43f7 tests: Use stdbool. 2016-10-24 13:20:09 +02:00
Józef Kucia
ed50a4e7f5 include: Assert that "count * size" does not overflow in vkd3d_calloc(). 2016-10-24 13:20:09 +02:00
Józef Kucia
b4d22aa4e4 include: Fix indentation in vkd3d_test header file. 2016-10-17 14:24:22 +02:00
Józef Kucia
85d498c94b include: Get rid of useless function prototypes in vkd3d_test header file. 2016-10-17 14:24:22 +02:00
Józef Kucia
e84ca0af5d tests: Use InterlockedIncrement() for test counters.
This should be useful for multithreaded tests.
2016-10-10 11:22:50 +02:00
Józef Kucia
ed033b40d0 libs/vkd3d: Fix InterlockedIncrement() and InterlockedDecrement() signatures. 2016-10-10 11:22:50 +02:00
Józef Kucia
5f3d5a1263 tests: Include vkd3d_common.h in vkd3d_test.h. 2016-10-10 11:22:50 +02:00
Józef Kucia
eb05a388e1 include: Avoid using variable names starting with "__".
Names that begin with "__" are reserved.
2016-10-10 11:22:50 +02:00
Józef Kucia
59d466af2d libs/vkd3d: Use PRIx64 to print 64-bit integers. 2016-10-10 11:22:50 +02:00
Józef Kucia
6330c9f46a tests: Properly print 64-bit unsigned integers.
Use PRIu64 since we use C99.
2016-10-10 11:22:50 +02:00
Józef Kucia
0c1432e671 libs/vkd3d: Move D3D12CreateDevice() to libvkd3d-utils. 2016-10-07 13:26:39 +02:00
Józef Kucia
49cac8005c libs/vkd3d-common: Add convenience library for shared code. 2016-10-07 13:26:39 +02:00
Henri Verbeet
cd37442fd0 tests: ...but keep regular builds working. 2016-09-30 10:00:11 +02:00
Henri Verbeet
dc7504c7fc build: Unicode crossbuilds. 2016-09-30 09:41:12 +02:00
Józef Kucia
bce85d84ed include: Make test output less verbose. 2016-09-28 09:42:49 +02:00
Józef Kucia
3a5deb7286 include: Add support for marking tests as todo. 2016-09-28 09:42:49 +02:00
Józef Kucia
978584a238 tests: Add test for D3D12CreateDevice(). 2016-09-21 12:57:24 +02:00