Krzysztof Bogacki
61b13cc278
build: Use separate version string and build hash
...
Version string is used in logging for information purposes, but pipelines blobs and libraries use uint64_t–based commit hash. Using fixed–size integer silences warnings about string length and makes storing build info a little more efficient.
The hash is obtained separately from version string and is shifted to the left by 4 bits if the working tree is dirty.
Signed-off-by: Krzysztof Bogacki <krzysztof.bogacki@leancode.pl>
2020-10-28 10:40:28 +01:00
Philip Rebohle
49d3fa30a7
vkd3d: Enable offset buffer as necessary.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-10-28 10:30:12 +01:00
Hans-Kristian Arntzen
a4f68931bb
vkd3d-shader: Add offset buffer path to DXIL.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-10-28 10:30:12 +01:00
Philip Rebohle
127b498a5a
vkd3d: Adjust SSBO descriptors based on alignment requirements.
...
And write data to the offset buffer.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-10-28 10:30:12 +01:00
Philip Rebohle
374adc8bb7
vkd3d: Account for buffer offset info in clear_uav.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-10-28 10:30:12 +01:00
Philip Rebohle
b57a5dd96d
vkd3d: Add extra binding for SSBO offset buffer.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-10-28 10:30:12 +01:00
Philip Rebohle
811235858c
vkd3d: Allocate descriptor heap buffer storage for bound SSBO ranges.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-10-28 10:30:12 +01:00
Philip Rebohle
7aaae61c64
vkd3d: Refactor descriptor heap buffer creation.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-10-28 10:30:12 +01:00
Philip Rebohle
36bdc02a05
include: Introduce void_ptr_offset.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-10-28 10:30:12 +01:00
Philip Rebohle
15b1fb7128
vkd3d: Restore d3d12_device_use_ssbo_root_descriptors.
...
We will not have offset information for root descriptors, so
we can still only use them with four-byte aligned SSBOs.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-10-28 10:30:12 +01:00
Philip Rebohle
d59317e11b
vkd3d-shader: Use offset buffer for bufinfo instruction.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-10-28 10:30:12 +01:00
Philip Rebohle
fc9efddbd4
vkd3d-shader: Use offset buffer when indexing into raw SSBO.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-10-28 10:30:12 +01:00
Philip Rebohle
bea196e449
vkd3d-shader: Declare offset buffer.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-10-28 10:30:12 +01:00
Krzysztof Bogacki
f7cca758a6
vkd3d: Bit–shift last argument of MAKE_MAGIC
...
Signed-off-by: Krzysztof Bogacki <krzysztof.bogacki@leancode.pl>
2020-10-27 19:52:57 +01:00
Hans-Kristian Arntzen
3772e706a6
tests: Add exhaustive OOB test for UAV writes.
...
Tests and verifies behavior for writing out-of-bounds.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-10-26 13:16:09 +01:00
Joshua Ashton
c3e3965797
tests: Add some simple double float tests
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-10-23 12:40:38 +02:00
Joshua Ashton
7609c5e59e
vkd3d-shader: Implement 64-bit immediate constants
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-10-23 12:40:38 +02:00
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