Commit Graph

6579 Commits

Author SHA1 Message Date
Józef Kucia
8e3302d532 libs/vkd3d: Fix crash when creating NULL CBVs.
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-09 20:37:04 +01:00
Józef Kucia
f0bc873e7a libs/vkd3d-shader: Generate valid SPIR-V for unimplemented registers.
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-09 20:37:02 +01:00
Józef Kucia
219b537209 libs/vkd3d-shader: Handle unimplemented registers more gracefully.
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-09 20:36:59 +01:00
Józef Kucia
6671e79082 include: Avoid including vkd3d_windows.h when real windows.h is included.
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-15 16:27:36 +01:00
Józef Kucia
abff3ca469 include: Prefix public header file names with vkd3d.
Prevents possible clashes when using vkd3d with external Win32 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-15 16:27:34 +01:00
Józef Kucia
f8c20beede include: Do not use vkd3d Win32 headers when VKD3D_NO_WIN32_TYPES is defined.
Allows using vkd3d with other Win32 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-15 16:27:31 +01:00
Józef Kucia
4ae6285c8e libs/vkd3d-shader: Fix result type for OpImageSampleDref instructions.
Per the SPIR-V spec:

  "Result Type must be a scalar of integer type or floating-point type."

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-15 16:27:27 +01:00
Józef Kucia
7ee3a02f92 libs/vkd3d-shader: Avoid theoretical crash in vkd3d_dxbc_compiler_emit_dot().
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:26 +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
006f36c2ac libs/vkd3d-shader: Introduce vkd3d_dxbc_compiler_get_constant_uint_vector() helper.
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:20 +01:00
Józef Kucia
ad8e27166a build: Use AC_USE_SYSTEM_EXTENSIONS instead of ugly AC_EGREP_CPP test.
In order to use C functions which are not part of C99, e.g. strdup()
and strncmp().

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:38:49 +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
995e3a2359 libs/vkd3d-utils: Use proper name in libvkd3d-utils.pc. 2017-12-12 13:12:47 +01:00
Józef Kucia
879c9e43d1 libs/vkd3d: Do not export D3D12* functions.
Move them to libvkd3d-utils.
2017-12-12 13:12:47 +01:00
Józef Kucia
a1819eb3ca tests: Add test for discard instruction. 2017-12-11 13:22:03 +01:00
Józef Kucia
e0cb3776c1 libs/vkd3d-shader: Fix discard_z instruction. 2017-12-11 12:55:55 +01:00
Józef Kucia
d37bfd9d3e tests: Get rid of unnamed struct in test_instance_id(). 2017-11-01 21:17:46 +01:00
Józef Kucia
2a420cb8c5 tests: Add test for face culling. 2017-10-31 15:44:44 +01:00
Józef Kucia
4e121f8b5d libs/vkd3d-shader: Implement SV_IsFrontFace. 2017-10-31 15:44:44 +01:00
Józef Kucia
79f80df1ee libs/vkd3d-shader: Translate dcl_input_ps_sgv instructions. 2017-10-31 15:44:44 +01:00
Józef Kucia
201782ed7c tests: Test copying data from texture in generic read state. 2017-10-31 10:55:13 +01:00
Józef Kucia
63d5fa5d9c tests: Check depth texture content in test_depth_read_only_view(). 2017-10-30 14:22:11 +01:00
Józef Kucia
8a7faf7913 tests: Add test for read-only depth stencil views. 2017-10-30 14:04:53 +01:00
Józef Kucia
7e5dd39f5f libs/vkd3d: Prefer VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL.
Use VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL if depth/stencil
writes are disabled.
2017-10-30 14:04:53 +01:00
Józef Kucia
b109a1fc73 tests: Add additional test for resolving query data in different command list. 2017-10-26 12:51:11 +02:00
Józef Kucia
c4e92f91f3 tests: Add test for resolving query data in different command list. 2017-10-26 12:51:11 +02:00
Józef Kucia
3340cafdc4 libs/vkd3d-shader: Avoid potential stack smashing. 2017-10-25 22:55:39 +02:00
Józef Kucia
7b5d745ef5 tests: Fix compilation with -O0. 2017-10-25 22:55:39 +02:00
Józef Kucia
f04389d90b libs/vkd3d-shader: Use more sensible default descriptor binding assignment. 2017-10-25 14:34:44 +02:00
Józef Kucia
e959686f12 libs/vkd3d-shader: Make sure that OpVariables are first instructions in main function.
The SPIR-V spec says:

  "All OpVariable instructions in a function must be in the first block
  in the function. These instructions, together with any immediately
  preceding OpLine instructions, must be the first instructions in that
  block."
2017-10-25 09:58:14 +02:00
Józef Kucia
b65c42e6f9 libs/vkd3d-shader: Avoid OpVectorShuffle on scalars.
The SPIR-V spec states:

  "Vector 1 and Vector 2 must both have vector types, with the same
  Component Type as Result Type."
2017-10-24 21:26:48 +02:00
Józef Kucia
2b21fbf6b8 libs/vkd3d: Add VKD3D_SHADER_DUMP_PATH environment variable for dumping shaders.
A similar functionality was helpful numerous number of times when
developing libvkd3d-shader.
2017-10-24 15:22:01 +02:00
Józef Kucia
f270e36c78 tests: Unify ok() messages. 2017-10-24 12:10:48 +02:00
Józef Kucia
49c3eb69d9 tests: Add helper functions for creating descriptor heaps. 2017-10-24 12:10:48 +02:00
Józef Kucia
e3dfbab2fa tests: Do not re-create buffer in test_tgsm(). 2017-10-24 12:10:48 +02:00
Józef Kucia
f2b37c732a libs/vkd3d: Use if-else in d3d12_command_list_get_fb_extent(). 2017-10-24 12:10:48 +02:00
Józef Kucia
c70a023aeb libs/vkd3d: Remove FIXME comment from vk_barrier_parameters_from_d3d12_resource_state(). 2017-10-24 12:10:48 +02:00
Józef Kucia
56391f471c tests: Add test for copying from depth texture to color texture. 2017-10-20 18:27:17 +02:00
Józef Kucia
b211df683e libs/vkd3d: Implement copying between depth/stencil and color textures.
This could be implemented more efficiently, but ideally we would get
a Vulkan extension for copying between depth/stencil and color textures.
2017-10-20 18:27:17 +02:00
Józef Kucia
a4bd0c1c90 libs/vkd3d: Allocate GPU virtual addresses in d3d12_committed_resource_init(). 2017-10-20 18:27:17 +02:00
Józef Kucia
b0979b27f6 tests: Fix shader code in test_depth_load(). 2017-10-20 18:27:17 +02:00
Józef Kucia
a63b81858c libs/vkd3d: Limit buffer usage flags based on heap type. 2017-10-20 18:27:17 +02:00
Józef Kucia
310335f748 libs/vkd3d-shader: Branch directly to merge block when switch default block is absent. 2017-10-20 18:27:17 +02:00
Józef Kucia
137b5d694b libs/vkd3d-shader: Move inside_block field to vkd3d_control_flow_info. 2017-10-18 19:02:46 +02:00
Józef Kucia
c112f2ed46 libs/vkd3d-shader: Get rid of VKD3D_BLOCK_ELSE. 2017-10-18 19:02:46 +02:00
Józef Kucia
9f831b938a libs/vkd3d-shader: Avoid emitting empty else branches.
We have to patch SpvOpBranchConditional instruction when emitting the
else block because we do not know if an else block is present in
advance.
2017-10-18 19:02:46 +02:00
Józef Kucia
646385e871 libs/vkd3d-shader: Get rid of VKD3D_BLOCK_MAIN. 2017-10-18 19:02:46 +02:00
Józef Kucia
8a047a8eb7 libs/vkd3d-shader: Rename control flow union member for if instructions. 2017-10-18 19:02:46 +02:00
Józef Kucia
8f3e071868 tests: Add additional test for rcp instruction. 2017-10-18 12:27:41 +02:00