Hans-Kristian Arntzen
55e16539db
meta: Update Meson build version to 2.5.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-18 17:31:03 +02:00
Philip Rebohle
9477d4af3d
meta: Add Anno fix to change log.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-10-18 17:29:29 +02:00
Hans-Kristian Arntzen
d4dfccece9
meta: Update CHANGELOG for 2.5.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-18 17:25:45 +02:00
Philip Rebohle
890ba87a7c
vkd3d-shader: Merge i/o variables using the same location.
...
Fixes a number of issues observed in tessellation shaders,
and potentially geometry shaders, when inputs and/or outputs
are array variables.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-10-18 17:25:18 +02:00
Hans-Kristian Arntzen
740e23ea8a
vkd3d: Add VKD3D_CONFIG to force non-invariant position.
...
It's common enough that new games break on RDNA2 because of this that we
should enable this by default. This matches DXVK behavior.
SOTTR gets a special weird exception, just like DXVK. The shaders are
broken enough that the proper fix is actually precise, not invariant.
This will be addressed at some later point.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-18 15:51:20 +02:00
Hans-Kristian Arntzen
be8d6ec7ad
vkd3d: Make global quirks info struct a value.
...
Allows us to fiddle with it after the fact.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-18 15:51:20 +02:00
Hans-Kristian Arntzen
26bd08bbde
vkd3d-shader: Add global quirks for vkd3d_shader_quirk_info.
...
Will be used for VKD3D_CONFIG overrides.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-18 15:51:20 +02:00
Hans-Kristian Arntzen
32c5abf496
vkd3d-shader: Add INVARIANT_POSITION quirk.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-18 15:51:20 +02:00
Hans-Kristian Arntzen
2152500014
vkd3d-shader: Refactor out quirk selection.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-18 15:51:20 +02:00
Hans-Kristian Arntzen
4a774f872c
dxil-spirv: Update submodule.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-18 15:51:20 +02:00
Hans-Kristian Arntzen
3b415dbc89
vkd3d: Don't spam error if ReleaseSemaphore fails.
...
This function fails if the counter overflows.
CP77 hits this case a lot and we should just warn the specific failure
instead of a random error.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-18 14:58:49 +02:00
Hans-Kristian Arntzen
dda02faf89
vkd3d: Pad reserved resources to 64k alignment.
...
Fix GPU crashes when attempting to bind non-aligned reserved resource.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-18 14:58:34 +02:00
Hans-Kristian Arntzen
c3a92a0dad
tests: Test more weird GetResourceTiling edge cases.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-15 15:12:41 +02:00
Hans-Kristian Arntzen
8beb7dde89
vkd3d: Handle NULL pointers in GetResourceTiling in more places.
...
DEATHLOOP uses all NULL at some point ...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-15 15:12:41 +02:00
Philip Rebohle
dd23492348
vkd3d: Reduce memset overhead for query map.
...
Potentially reduces the size of the query map, and makes each entry
versioned so that we no longer have to clear the entire map for multiple
dispatches even if it is sparsely populated.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-10-14 17:48:13 +02:00
Hans-Kristian Arntzen
0c60791bb1
vkd3d: Pass down PrimitiveCulling extension to vkd3d-shader.
...
DXR 1.1 only feature.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-12 16:04:30 +02:00
Hans-Kristian Arntzen
f98702603d
vkd3d-shader: Add SPIR-V extension for PrimitiveCulling.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-12 16:04:30 +02:00
Hans-Kristian Arntzen
1417eb6244
tests: Add test for RayQuery.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-12 16:04:30 +02:00
Hans-Kristian Arntzen
ae204143d5
tests: Add test for RTPSO side TRI/AABB culling.
...
DXR 1.1 feature.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-12 16:04:30 +02:00
Hans-Kristian Arntzen
3b0a430975
tests: Test various interaction with TraceRay flags.
...
Also test DXR 1.1 SKIP_TRIANGLES/AABB.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-12 16:04:30 +02:00
Hans-Kristian Arntzen
e522053954
tests: Test more advanced RT geometry and shaders.
...
Add basic test for intersection + anyhit + AABB primitives.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-12 16:04:30 +02:00
Hans-Kristian Arntzen
1c0b760b7d
tests: Add tier parameter to RT context creation.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-12 16:04:30 +02:00
Hans-Kristian Arntzen
6866b45637
vkd3d: Add CONFIG flag for enabling DXR 1.1.
...
We cannot support ExecuteIndirect with TraceRays() for time being.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-12 16:04:30 +02:00
Hans-Kristian Arntzen
e6836c6255
vkd3d: Support RTPSO CONFIG1 flags.
...
DXR 1.1 and requires PrimitiveCullingFlags feature.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-12 16:04:30 +02:00
Hans-Kristian Arntzen
105882466b
vkd3d: Validate that we cannot mix and match geom types in BLAS.
...
Runtime will error out and return 0 size.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-12 16:04:30 +02:00
Hans-Kristian Arntzen
a3202444c8
vkd3d: Fix stack deduction for anyhit shaders.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-12 16:04:30 +02:00
Hans-Kristian Arntzen
a36b987bf1
vkd3d: Add static pipeline variant flag to pipeline key.
...
If we need to fallback in both VRS and non-VRS scenarios, we need to key
on it. Fixes segfault in DIRT5 when toggling VRS.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-12 12:35:58 +02:00
Hans-Kristian Arntzen
3182882e21
d3d12: Do not export ordinals for most symbols.
...
The ordinals except for D3D12CreateDevice and GetDebugInterface are not
part of the ABI apparently.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-12 11:09:16 +01:00
Hans-Kristian Arntzen
99365bcaec
vkd3d: Enable VK_NV_fragment_shader_barycentric.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-11 13:53:19 +01:00
Hans-Kristian Arntzen
158deeff22
dxil-spirv: Update submodule.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-11 13:29:49 +02:00
Hans-Kristian Arntzen
1ca9ec7284
tests: Add test for local root signature static samplers.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-08 11:51:47 +02:00
Hans-Kristian Arntzen
08a7d7a165
vkd3d: Bind local root signature static set.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-08 11:51:47 +02:00
Hans-Kristian Arntzen
d83ce4392b
vkd3d: Check root signature associations in hit groups as well.
...
If we don't find a clear association to an entry point,
we can also find it in the hit group.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-08 11:51:47 +02:00
Hans-Kristian Arntzen
c672429c70
vkd3d: Fix demangling of RT entry points.
...
Digits are of course also valid identifiers.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-08 11:51:47 +02:00
Hans-Kristian Arntzen
235541ace5
vkd3d: Build local static sampler set/pipeline layouts and allocate set.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-08 11:51:47 +02:00
Hans-Kristian Arntzen
f605b88e90
vkd3d: Make some RS related functions non-static.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-08 11:51:47 +02:00
Hans-Kristian Arntzen
90d52abe94
vkd3d: Parse local RS static samplers.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-08 11:51:47 +02:00
Hans-Kristian Arntzen
74f62784e4
vkd3d: Cleanup redundant parameter_count assignment.
...
parameter_count == NumParameters for local RS since
hoisting is explicitly ignored for those.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-08 11:51:47 +02:00
Hans-Kristian Arntzen
393ef6261b
vkd3d: Add local root signature objects to RTPSO.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-08 11:51:47 +02:00
Hans-Kristian Arntzen
6802d9e5a3
vkd3d: Add helper to create augmented pipeline layout.
...
For local root signature static samplers, this is handy.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-08 11:51:47 +02:00
Hans-Kristian Arntzen
67be905421
vkd3d: Bump max number of descriptor sets.
...
Need one potentially for local root signature static samplers.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-08 11:51:47 +02:00
Hans-Kristian Arntzen
b661c9b8ba
vkd3d: Store set layout array in root signature.
...
With RTPSOs we might have to create static sampler sets for local root
signatures. In this case we will have to create a compatible pipeline
layout which is equal to global pipeline layout, except for an extra
set.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-08 11:51:47 +02:00
Hans-Kristian Arntzen
ac9d98b2b4
tests: Verify that we can use UPDATE mode in PrebuildInfo.
...
As expected, the flag is ignored unless we're actually building.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-08 07:21:47 +01:00
Hans-Kristian Arntzen
1e42acf492
vkd3d: Allow BUILD_MODE_UPDATE in PrebuildInfo check.
...
Metro Exodus Enhanced Edition hits this a lot.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-08 07:21:47 +01:00
Hans-Kristian Arntzen
4244441aca
tests: Test that we can pass in NULL to ppData in CreatePipelineLibrary.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-07 17:55:57 +02:00
Hans-Kristian Arntzen
0f2e448659
vkd3d: Handle CreatePipelineLibrary with NULL ppData.
...
Supposed to return S_FALSE.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-07 17:55:57 +02:00
Hans-Kristian Arntzen
c58edfabe1
dxil-spirv: Update submodule.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-07 16:03:16 +02:00
Hans-Kristian Arntzen
ab4e847e74
renderdoc: Add global capture support.
...
Useful for test suite since a test can be comprised of several smaller
submissions, and it's easier to debug if we have one trace.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-07 15:33:06 +02:00
Hans-Kristian Arntzen
385c3dc012
vkd3d: Add bug reference for split fallback types.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-07 15:32:54 +02:00
Hans-Kristian Arntzen
d74cfe1883
tests: Add stress test for allocating RT/DS heaps.
...
Without a specific workaround, we will fail this test on NV.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-10-07 15:32:54 +02:00