Joshua Ashton
ab5060a7f2
vkd3d-shader: Fix potential buffer overrun for image_operands
...
This would happen if you both sampled with both a texel offset and were LOD masked.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-06-29 13:53:49 +01:00
Joshua Ashton
5e3127a0d5
vkd3d-shader: Fix buffer overrun for bindless constant loads
...
Previously, last_index would be 4 by the time it got to the loop if we were bindless -- which corrupted the component_ids that were being written.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-06-29 13:53:49 +01:00
Joshua Ashton
02fca8d190
build: Enable warning level 2
...
Equivelant to -Wall -Wextra
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-06-27 15:23:09 +02:00
Joshua Ashton
d70223e57d
vkd3d: Cast down tile extents in offsets explicitly
...
Fixes a signedness comparison warning -- shouldn't be a problem as we aren't going to get images with 2m+ tiles.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-06-27 15:23:09 +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
079a012dab
build: Use Meson subproject for dxil-spirv
...
Removes the CMake dependency and solves some trouble building.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-06-26 18:33:27 +02:00
Joshua Ashton
9564f57a69
vkd3d-shader: Fix incorrect use of static in ext arrays
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-06-26 15:42:41 +02:00
Joshua Ashton
fdcf33ff47
vkd3d-shader: Fix incorrect enum being used for tesselator partitioning
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-06-26 15:42:41 +02:00
Joshua Ashton
ce7eba6210
vkd3d-shader: Fix incorrect type enum in global binding
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-06-26 15:42:41 +02:00
Joshua Ashton
0b6d460813
vkd3d-shader: Fix wrong enum for {CLIP,CULL}_DISTANCE
...
The wrong enum was used here... It was just returning the same thing
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-06-26 15:42:41 +02:00
Krzysztof Bogacki
12b71b9f5a
build: Remove SPIRV-Tools dependency
...
For autotools–based builds only, Meson never used it anyway.
Signed-off-by: Krzysztof Bogacki <krzysztof.bogacki@leancode.pl>
2020-06-26 13:43:08 +02:00
Krzysztof Bogacki
c11d3eed17
vkd3d: Remove SPIRV-Tools-based debugging code
...
Signed-off-by: Krzysztof Bogacki <krzysztof.bogacki@leancode.pl>
2020-06-26 13:43:08 +02:00
Joshua Ashton
5f4c383c1a
vkd3d: Remove _spv suffix from prebuilt shaders
...
Matches what we build from glslang in Meson now.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-06-25 13:51:06 +02:00
Joshua Ashton
f3f0887c43
vkd3d: Compile glsl shaders at compile time
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-06-25 13:51:06 +02:00
Joshua Ashton
61dcb5d0dd
vkd3d: Move shader contents out of header
...
This way we can use a glsl generator on them in future in Meson.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-06-25 13:51:06 +02:00
Joshua Ashton
e46b0ef3c5
build: Add glsl generator to root build script
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-06-25 13:51:06 +02:00
Joshua Ashton
a46fb17973
vkd3d: Make enqueued_fence_count a uint32_t
...
Fixes atomic usage with it.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-06-24 21:13:35 +02:00
Joshua Ashton
d709fd3306
vkd3d: Add vkd3d_atomic_uint32_{dec, inc}rement helper
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-06-24 21:13:35 +02:00
Joshua Ashton
45d4296a54
vkd3d: Rename vkd3d_uint32_atomic to vkd3d_atomic_uint32
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-06-24 21:13:35 +02:00
Joshua Ashton
033f76e3ae
vkd3d: Define our own memory orders
...
We shouldn't potentially override stuff in the std library and this allows us to map directly to __ATOMIC_* memory orders which is more correct.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-06-24 21:13:35 +02:00
Joshua Ashton
25f6e1d0a9
vkd3d: Use __atomic builtins instead of stdatomic
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-06-24 21:13:35 +02:00
Joshua Ashton
26c9dc90f4
vkd3d: Implement sequential consistency on MSVC
...
Also optimize and reduce unnecessary barriers.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-06-24 21:13:35 +02:00
Joshua Ashton
0d1dea607a
demos/gears: Don't redefine _GNU_SOURCE
...
We define this globally now.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-06-24 15:27:22 +02:00
Joshua Ashton
4c819baad3
vkd3d: Use pthread reimplementation only on MSVC
...
We can use pthreads properly under MinGW
2020-06-24 15:27:22 +02:00
Joshua Ashton
fb02f28c41
vkd3d: Don't redefine InterlockedIncrement under MinGW
...
Fixes compiler warnings
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-06-24 15:27:22 +02:00
Joshua Ashton
2e32cb11ba
programs/vkd3d-compiler: Add build script
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-06-24 15:27:22 +02:00
Joshua Ashton
c79d073b67
build: Fallback to vkd3d-utils if no d3d12 lib is present
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-06-24 15:27:22 +02:00
Philip Rebohle
945ec70f4d
tests: Don't build uninteresting tests.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-06-24 15:19:18 +02:00
Joshua Ashton
161dc007c5
build: Link dxil-spirv statically
...
Don't need to link this in any fancy way
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-06-24 15:18:56 +02:00
Joshua Ashton
8931770654
subprojects: Update dxil-spirv submodule
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-06-24 15:18:56 +02:00
Joshua Ashton
22545c189a
vkd3d-shader: Build statically
...
We don't need this to be another random so floating around...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-06-24 15:18:56 +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
Hans-Kristian Arntzen
69f338be8f
build: Fix MinGW build.
...
Revert removal of MinGW forceinline hacks.
They are necessary or MinGW fails to build.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-06-24 14:17:34 +01:00
Hans-Kristian Arntzen
2b7ef38248
Revert "vkd3d: make spinlock_t atomic to make clang happy"
...
This reverts commit 7b1dce2667
.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-06-24 13:40:03 +02:00
Georg Lehmann
7b1dce2667
vkd3d: make spinlock_t atomic to make clang happy
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
2020-06-24 13:26:31 +02:00
Hans-Kristian Arntzen
24be81fdfb
vkd3d/meta: Initialize flags variable.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-06-24 12:43:19 +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
Joshua Ashton
45f9836c60
vkd3d: Eliminate config.h
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-06-23 14:55:43 +02:00
Joshua Ashton
da2c9a1043
vkd3d: Eliminate HAVE_SPIRV_UNIFIED1_SPIRV_H and HAVE_SPIRV_UNIFIED1_GLSL_STD_450_H
...
These are submodules now.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-06-23 14:55:43 +02:00
Joshua Ashton
1f266cc16b
vkd3d: Eliminate HAVE_PTHREAD_H
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-06-23 14:55:43 +02:00
Joshua Ashton
e34eb3bf0f
subprojects: Add submodules for dependencies
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-06-23 14:55:43 +02:00
Georg Lehmann
a95e56675a
vkd3d: use pause while spinning on x86
...
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
2020-06-17 09:49:08 +02:00
Joshua Ashton
bfd7127284
vkd3d-shader: Don't use return value semantics in void functions
...
Fixes warnings in MSVC.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-06-16 12:13:54 +02:00
Joshua Ashton
0b1a25a9e5
vkd3d: Add vkd3d_atomic.h to Makefile.am
...
This was missing previously.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-06-16 11:07:50 +02:00
Joshua Ashton
287ceb207d
vkd3d: Refactor platform-specific code
...
This commit moves the module handling code which was previously dumped in device.c and the code to retrieve the current executable path to its own file.
This also eliminates HAVE_DECL_PROGRAM_INVOCATION_NAME from config.h
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-06-16 11:07:50 +02:00
Joshua Ashton
f3ec53cb5d
vkd3d: Implement vkd3d_get_program_name for Win32
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-06-16 11:07:50 +02:00
Hans-Kristian Arntzen
da782831e4
Revert "vkd3d: Use monotonically increasing fence values in test suite."
...
Rewinding fence values were undocumented at the time, but new
documentation makes it clear that it is allowed to rewind a fence, even
if behavior is unpredictable in nature.
This reverts commit 3b9f1f8a9c
.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-06-16 11:00:08 +02:00
Hans-Kristian Arntzen
349412f19f
vkd3d: Support rewinding ID3D12Fence.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-06-16 11:00:08 +02:00
Hans-Kristian Arntzen
5ef7b99e0b
vkd3d: Fix uninitialized return value in CPU fence signaling.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-06-16 11:00:08 +02:00
Joshua Ashton
75089f0e1d
demos/gears: Use hpc for getting time on Win32
...
There's no sys/time.h on MSVC.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-06-16 10:55:56 +02:00