Joshua Ashton
73a2ad19ea
vkd3d-shader: Implement DRCP
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-10-23 12:40:38 +02:00
Joshua Ashton
e3a61ebad1
vkd3d-shader: Implement DTOF, FTOD, DTOI, DTOU, ITOD and UTOD
...
Implement double -> other type conversions
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-10-23 12:40:38 +02:00
Joshua Ashton
aff1391026
vkd3d-shader: Implement DEQ, DGE, DLT and DNE
...
Implement double comparisons
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-10-23 12:40:38 +02:00
Joshua Ashton
cdedfd596e
vkd3d-shader: Implement DMOVC
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-10-23 12:40:38 +02:00
Joshua Ashton
f8646bff5a
vkd3d-shader: Implement DADD, DMUL, DDIV, DMAX, DMIN, DFMA and DMOV
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-10-23 12:40:38 +02:00
Joshua Ashton
a581f296ea
vkd3d-shader: Handle double-related global flags
...
Decode and handle DOUBLE_PRECISION_FLOAT_OPS and 11_1_DOUBLE_EXTENSIONS
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-10-23 12:40:38 +02:00
Joshua Ashton
ac2456b01f
vkd3d-shader: Implement double data type
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-10-23 12:40:38 +02:00
Joshua Ashton
8e896cd25a
vkd3d-shader: Support 64-bit constants
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-10-23 12:40:38 +02:00
Philip Rebohle
dd13d44bd5
vkd3d: Use UAV counter address binding from descriptor heap.
...
Instead of binding it via push descriptors at draw time.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-10-23 12:36:17 +02:00
Philip Rebohle
a76e311c5e
vkd3d: Add UAV counter address buffer to descriptor heap bindings.
...
Introduces 'extra' bindings to bindless sets which can be used to
bind additional storage buffers to the pipeline, which will occur
before the bindless descriptor array in the descriptor set.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-10-23 12:36:17 +02:00
Philip Rebohle
7e32f833ed
vkd3d: Store binding index in descriptor.
...
Needed for when we add additional descriptors to the bindless
descriptor sets.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-10-23 12:36:17 +02:00
Hans-Kristian Arntzen
16f09a0ba0
vkd3d: Do not perform any alignment analysis for SSBOs.
...
We cannot rely on alignment analysis since games are buggy and screw up
RAW vs structured on occasion.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-10-22 13:07:05 +02:00
Joshua Ashton
c319a95d4e
tests: Remove lingering INITIAL_STATE_TRANSITION
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-10-22 09:30:24 +02:00
Joshua Ashton
ae93fe0941
vkd3d: Remove VKD3D_RESOURCE_PUBLIC_FLAGS
...
There was no reason to mask this anyway when importing images.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-10-22 09:30:24 +02:00
Joshua Ashton
4fb3e277f1
vkd3d: Remove VKD3D_RESOURCE_PRESENT_STATE_TRANSITION
...
All this flag does is make resource creation fail.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-10-22 09:30:24 +02:00
Joshua Ashton
85d4d4b7cf
build: Fix globbing in package-release
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-10-21 16:58:28 +01:00
Joshua Ashton
a027b9732a
build: Add install script to packaged releases
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-10-21 16:58:28 +01:00
Hans-Kristian Arntzen
eed4f54a80
vkd3d: Enable SSBO path.
...
For now, don't enable it on NV due to a very likely driver bug.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-10-21 14:34:37 +02:00
Hans-Kristian Arntzen
0801b0d55f
vkd3d-shader: Hook up typed uav read without format on DXIL.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-10-21 14:34:37 +02:00
Hans-Kristian Arntzen
216f04d8f1
vkd3d-shader: Hook up new SSBO path for DXIL.
...
Update dxil-spirv submodule.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-10-21 14:34:37 +02:00
Hans-Kristian Arntzen
463d398c74
tests: Don't crash in buffer_feedback test.
...
With SSBOs enabled, sparse feedback won't work.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-10-21 14:34:37 +02:00
Hans-Kristian Arntzen
5b115b1f89
tests: Don't return garbage in create_*_state on failure.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-10-21 14:34:37 +02:00
Hans-Kristian Arntzen
50ffdb1850
vkd3d-shader: Don't warn about not finding a RAW_SSBO binding.
...
This is expected if host implementation does not support RAW_SSBO
alignment.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-10-21 14:34:37 +02:00
Joshua Ashton
1e828e4d1d
demos: Fix compiling demos on Linux
...
These failed to compile previously due to us removing INITIAL_STATE_TRANSITION and deprecating PRESENT_STATE_TRANSITION.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-10-21 14:27:16 +02:00
Joshua Ashton
aadf3e15f9
vkd3d-shader: Hook up EMIT_THEN_CUT_STREAM
...
Still needs work to handle emitting a specific stream.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-10-21 11:49:31 +02:00
Joshua Ashton
b70182420a
vkd3d-shader: Implement EMIT_THEN_CUT
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-10-21 11:49:31 +02:00
Joshua Ashton
31901597d9
vkd3d-shader: Implement EVAL_SNAPPED
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-10-21 11:49:31 +02:00
Joshua Ashton
1673d14841
vkd3d-shader: Implement UMUL
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-10-21 11:49:31 +02:00
Joshua Ashton
7c693fe26f
vkd3d-shader: Implement UMAD
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-10-21 11:49:31 +02:00
Philip Rebohle
a64a34eb9d
vkd3d-shader: Implement coherent qualifier for UAVs.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-10-20 14:44:55 +02:00
Joshua Ashton
36f6715b38
vkd3d-shader: Rename TEXKILL to DISCARD
...
TEXKILL is the old D3D9 style naming that comes with funky .w implications.
Calling DXBC's discard texkill is misleading.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-10-19 19:12:48 +02:00
Joshua Ashton
69bfad91a8
vkd3d-shader: Remove d3d9 clutter
...
All of this is entirely unused and just cluttering up.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-10-19 19:12:48 +02:00
Joshua Ashton
b65f6ad02c
vkd3d-shader: Add missing opcodes
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-10-19 17:27:07 +02:00
Philip Rebohle
f9c712ded0
vkd3d: Fix descriptor layout mismatch for ClearUAV.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-10-16 17:38:58 +02:00
Philip Rebohle
544a6184e9
vkd3d: Enable raw SSBOs for root descriptors on supported hardware.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-10-16 16:20:26 +02:00
Philip Rebohle
4841630876
vkd3d: Store descriptor type with root descriptors.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-10-16 16:20:26 +02:00
Hans-Kristian Arntzen
1c76072819
vkd3d: Use EXTENDED_USAGE_BIT on mutable format images.
...
If the image itself is sRGB or some other format that does not support
STORAGE, we need this flag.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-10-16 13:25:59 +01:00
Hans-Kristian Arntzen
5b44ffa831
swapchain: Fix warnings.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-10-16 13:25:59 +01:00
Hans-Kristian Arntzen
69f54ae049
swapchain: Handle maxImageExtent of 0.
...
This can happen on Windows when windows are minimized.
Might not happen in winevulkan, but Vulkan spec outlines this Win32 case
explicitly and it happens on native Windows.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-10-16 13:25:59 +01:00
Hans-Kristian Arntzen
65031753ae
swapchain: Blit to screen with render pass.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-10-16 13:25:59 +01:00
Hans-Kristian Arntzen
09b0675b53
swapchain: Handle VK_SUBOPTIMAL_KHR.
...
It is considered a "success", in that fences must be signalled, so make
sure we wait and reset it so we don't risk calling vkAcquireNextImageKHR
later with an already signalled fence.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-10-16 13:25:59 +01:00
Hans-Kristian Arntzen
9b25141bb8
swapchain: Only support user images.
...
Only way to implement a D3D12 swapchain.
For now, disable compute paths, we'll introduce it properly after refactor.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-10-16 13:25:59 +01:00
Hans-Kristian Arntzen
4f0bc383b7
swapchain: Make use of initial image transition.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-10-16 13:25:59 +01:00
Hans-Kristian Arntzen
d7e9713c4c
vkd3d: Add external API to perform initial transition.
...
Relevant for swapchain since a swapchain resource can be presented right
away without ever having been touched by an API call.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-10-16 13:25:59 +01:00
Hans-Kristian Arntzen
a8ef7384b4
vkd3d: Remove support for obsolete PRESENT_STATE_TRANSITION.
...
It is broken by design and won't be needed by a swapchain
implementation which uses user buffers.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-10-16 13:25:59 +01:00
Philip Rebohle
677e55c6f9
vkd3d: Store UAV counter address in d3d12_desc.
...
May improve performance since the UAV counter buffer is
stored in uncached memory.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-10-16 14:24:36 +02:00
Philip Rebohle
991d40006b
vkd3d: Fix maximum workgroup count for clearing buffer UAVs.
...
Buffer views do not necessarily cover the entire resource, so we
should not spawn more workgroups than necessary to clear the view.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-10-16 14:24:36 +02:00
Philip Rebohle
6401cc353e
vkd3d: Support raw buffer views in ClearUnorderedAccessView*.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-10-16 14:24:36 +02:00
Philip Rebohle
3e1445eacb
vkd3d: Add meta pipeline to clear raw storage buffers.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-10-16 14:24:36 +02:00
Philip Rebohle
290f44254a
vkd3d: Implement descriptor updates for SSBOs.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-10-16 14:24:36 +02:00