Hans-Kristian Arntzen
749ac13f5e
vkd3d: Rename vkd3d_buffer_view_get_bound_range.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-11-04 19:05:28 +01:00
Hans-Kristian Arntzen
f0754c4460
vkd3d: Apply offset to typed UAV as well in ClearUAV.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-11-04 19:05:28 +01:00
Hans-Kristian Arntzen
b30d8788bf
vkd3d: Rename SSBO_OFFSET descriptor flag to BUFFER_OFFSET.
...
It is used for typed as well.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-11-04 19:05:28 +01:00
Hans-Kristian Arntzen
5d88e4d435
vkd3d: Add a definition for typed offset buffer as well.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-11-04 19:05:28 +01:00
Hans-Kristian Arntzen
fdd16168be
vkd3d: Rename SSBO_OFFSET_BUFFER to a more generic offset buffer.
...
We will use it for typed buffers as well.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-11-04 19:05:28 +01:00
Hans-Kristian Arntzen
5674ced973
vkd3d: Report if view maps have intense pressure.
...
This will lead to a crash if it goes too far.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-11-04 19:05:28 +01:00
Hans-Kristian Arntzen
e31eae075b
vkd3d: Fix deadlock after failing to create view map entry.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-11-04 19:05:28 +01:00
Joshua Ashton
5c1b40b856
vkd3d: Init hashmap in vkd3d_create_image_resource
...
Closes : #353
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-11-03 09:39:35 +01:00
Joshua Ashton
f50c897868
build: Merge vkd3d_headers into vkd3d_common
...
Fixes MSVC build.
Closes : #343
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-11-03 09:37:24 +01:00
Philip Rebohle
601abe7408
vkd3d: Reset RTV/DSV descriptors when creating NULL descriptor.
...
Otherwise, we may run into issues with an app accessing stale resource
or pointers. NULL descriptors are handled in OMSetRenderTargets.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-10-30 17:02:17 +01:00
Philip Rebohle
f29b397a9f
vkd3d: Implement RTV/DSV descriptor copies.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-10-30 17:02:17 +01:00
Philip Rebohle
f3c35b2992
vkd3d: Remove unused descriptor magic from RTV/DSV descriptors.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-10-30 17:02:17 +01:00
Philip Rebohle
211704be3f
vkd3d: Use per-resource view maps to create render target views.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-10-30 17:02:17 +01:00
Philip Rebohle
109c881ccb
vkd3d: Unify RTV and DSV descriptor types.
...
The struct definitions were identical anyway, and unifying
these will prevent unnecessary code duplication.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-10-30 17:02:17 +01:00
Philip Rebohle
bd1de243d3
vkd3d: Don't skip indirect dispatches with count buffer.
...
The only currently known use case for this requires us to actually
perform the dispatch operation. Executing more than one indirect
dispatch command is not meaningful, however there might be
differences in behaviour in case the indirect count is zero.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-10-30 16:56:18 +01:00
Philip Rebohle
c50e529be0
vkd3d: Fix descriptor table mask when populating inline uniform block data.
...
This logic has to be the same as in d3d12_command_list_update_descriptor_table_offsets,
since not all active descriptor tables are necessarily used by the root signature.
Fixes an assert in the StarsX IrradianceMap demo (Github issue #347 ).
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-10-30 16:56:18 +01:00
Philip Rebohle
1abae6eb06
vkd3d-shader: Remove unused sampler comparison mask.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-10-29 15:39:40 +01:00
Philip Rebohle
a2d85f6040
vkd3d-shader: Use new register map to store UAV flags.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-10-29 15:39:40 +01:00
Philip Rebohle
0d82bf67aa
vkd3d-shader: Add hash map for register flags to scan info.
...
This way we won't have arbitrary register count limitations.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-10-29 15:39:40 +01:00
Philip Rebohle
9832d1639d
vkd3d-shader: Remove pNext chain from vkd3d_shader_scan_info.
...
Unused.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-10-29 15:39:40 +01:00
Joshua Ashton
c72fb12353
build: Only generate headers once
...
This makes headers a dependency rather than a generator target.
This also means we get proper dependency tracking of them between projects.
Supercedes: #225
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-10-29 10:02:48 +01:00
Joshua Ashton
a1a6840fb5
vkd3d-utils: Move to .def exports
...
Otherwise this won't work in MSVC because it'd technically be re-defining the D3D12 function prototypes with the decltypes.
There is no other nice way around this.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-10-28 17:05:13 +01:00
Joshua Ashton
37e6647ab0
vkd3d-utils: Add D3D12EnableExperimentalFeatures interface
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-10-28 17:05:13 +01:00
Hans-Kristian Arntzen
bb1d57b769
vkd3d: Use INFO rather than TRACE for some relevant messages.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-10-28 17:03:54 +01:00
Hans-Kristian Arntzen
d8bd309ab2
vkd3d: Log vkd3d applicationVersion and build hash.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-10-28 17:03:54 +01:00
Hans-Kristian Arntzen
cd9c1fb9f3
vkd3d: Add an INFO debug level.
...
Useful for cases where we want to communicate important information to
the log by default, but not consider it an error.
Requested information which would only be logged when explicitly asked
for should also be considered INFO.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-10-28 17:03:54 +01:00
Hans-Kristian Arntzen
8cd30ee1c7
build: Rename exposed APIs to reflect vkd3d-proton and update to 2.0.
...
Rename so objects we build so we don't conflict with vkd3d and don't
accidentially attempt to be built against Wine natively (it won't work).
Not quite ready for a 2.0 release yet, but bump the version to reflect
the intent. This creates a new timeline, completely separate from vkd3d.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-10-28 14:39:09 +01:00
Hans-Kristian Arntzen
7359720448
Update so-version to 2.0.
...
We've broken ABI compatibility with 1.1 with swapchain rework.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-10-28 14:39:09 +01:00
Hans-Kristian Arntzen
4d961f96ea
vkd3d: Fix some nits with declaration-after-statement.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-10-28 11:04:06 +01:00
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
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
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