Commit Graph

3024 Commits

Author SHA1 Message Date
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
Joshua Ashton 43d94a9b2f vkd3d-compiler: Define debug channel
We need this if we include vkd3d_shader since the memory include header got fixed.

Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-11-03 09:35:44 +01:00
Joshua Ashton 7325a49bd6 vkd3d: Include correct memory header in hashmap
Fixes warnings about implicit declaration of these functions
when building demos/programs which could be very bad on x64 if used.

Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-11-03 09:35:44 +01:00
Philip Rebohle 624f96e820 tests: Add test for RTV descriptor copies.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-10-30 17:02:17 +01:00
Philip Rebohle 13a95bb7bc tests: Add test for NULL RTV creation.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-10-30 17:02:17 +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
Hans-Kristian Arntzen 3f0d2f3362 tests: Use more precise todo_if in buffer feedback tests.
We should still pass typed buffer tests.

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-10-30 08:16:16 +01:00
Hans-Kristian Arntzen f6fa91ae5d tests: Remove marked bug which appears to be fixed.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-10-30 08:16:16 +01:00
Hans-Kristian Arntzen 64adb271a1 tests: Fix some UNORM precision inconsistencies.
NV rounds down to 0.5 - epsilon where AMD rounds up. Use a stable value
for UNORM8/16 testing.

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-10-30 08:16:16 +01:00
Hans-Kristian Arntzen f991dea51a tests: Report successful TODOs separately from failures.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-10-30 08:16:16 +01:00
Hans-Kristian Arntzen cd416a866e tests: Do not test so many queues.
AMD Windows will actually fail eventually since we're trying to create
too many queues.

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-10-30 08:16:16 +01:00
Hans-Kristian Arntzen cf7ac276d6 tests: Skip calibrated timestamp test on Linux.
Meaningless to test and triggers errors.

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-10-30 08:16:16 +01:00
Hans-Kristian Arntzen 4b5b14ca4b tests: Mark buffer feedback as TODO.
With SSBOs we cannot implement sparse buffer feedback.

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-10-30 08:16:16 +01:00
Hans-Kristian Arntzen 8c24e2c5c5 tests: Mark stencil export as TODO on DXIL.
Not implemented yet, but will not crash.

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-10-30 08:16:16 +01:00
Hans-Kristian Arntzen dba2812998 tests: Skip bindless bufinfo tests for now on RADV.
Can hang system in the worst case.

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-10-30 08:16:16 +01:00
Hans-Kristian Arntzen 922a67f910 tests: Mark MSAA array clear test as buggy on RADV.
See Mesa issue #3710.

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-10-30 08:16:16 +01:00
Hans-Kristian Arntzen 10d13dd2c1 tests: Fix up some TODO is dual_source_blending test.
Some calls are apparently supposed to fail, and we were not cleaning up
handles correctly if the calls succeeded.

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-10-30 08:16:16 +01:00
Hans-Kristian Arntzen 4ed553acc4 tests: Mark patch constant test as bug on RADV.
Don't see anything obviously wrong with the test or implementation.

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-10-30 08:16:16 +01:00
Hans-Kristian Arntzen 0db76f85a4 tests: Unmark some signed atomic tests as TODO.
They pass on RADV.

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-10-30 08:16:16 +01:00
Hans-Kristian Arntzen ddbdd81675 tests: Mark some multisample tests as TODO on RADV.
Likely a mismatch in sample positions?

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-10-30 08:16:16 +01:00
Hans-Kristian Arntzen 00ccf0b2d3 tests: Fix test sync bug in draw_uav_only.
Test was missing a UAV barrier, which triggered "bug" on RADV.

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-10-30 08:16:16 +01:00
Hans-Kristian Arntzen f9679e9e8d tests: Remove RGB9E5 from todo condition.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-10-30 08:16:16 +01:00
Joshua Ashton 5ca255d7c1 build: Eliminate need for x86-linux-gnu cross file
Replace this with our own build-linux32.txt

Closes: #336

Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-10-29 15:56:54 +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
Philip Rebohle c53a0d6365 include: Fix hashmap constness issues.
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 f62f5e4fd7 build: Update package-release for rename.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-10-28 15:38:20 +00:00
Hans-Kristian Arntzen 28271ed854 README: Update old vkd3d references.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-10-28 15:38:20 +00: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 bbdbc40359 build: Do not install test binaries.
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
Hans-Kristian Arntzen 336ca7e79f meson: Enable -Wdeclaration-after-statement
Makes it easier to enforce existing coding style.

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