Hans-Kristian Arntzen
6d3c5d53b0
vkd3d: Add debug ring path for execute indirect template patches.
...
Somehow inspect draw parameters this way.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2022-07-11 14:59:00 +02:00
Hans-Kristian Arntzen
f975f09bb1
meta: Add ExecuteIndirect patch meta shader.
...
Currently we are translating the index type. This will be changed in a
follow up commit where we move over to index LUT.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2022-06-23 14:39:22 +02:00
Hans-Kristian Arntzen
2e8fb27182
vkd3d: Correctly handle dynamic depth/stencil attachment infos.
...
{depth,stencil}AttachmentFormat and p{Depth,Stencil}Attachment are only
allowed if the format contains that aspect. Check this explicitly.
Fixes some validation errors.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2022-03-24 17:55:32 +01:00
Philip Rebohle
3783eaf4f7
vkd3d: Implement swap chain blits using dynamic rendering.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2022-03-08 17:44:47 +01:00
Philip Rebohle
024ef02f9b
vkd3d: Implement meta image copies using dynamic rendering.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2022-03-08 17:44:47 +01:00
Hans-Kristian Arntzen
81a215d0bf
vkd3d: Implement COLOR -> STENCIL copy if stencil export is supported.
...
Fallback is a bit more involved. Cleans up the FIXME to not report
benign issues.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2022-02-03 15:43:41 +01:00
Hans-Kristian Arntzen
68ce7bd324
vkd3d: Handle separate DS layout for destination copies.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-07-07 15:31:52 +02:00
Hans-Kristian Arntzen
4f0872152a
meta: Add fs_copy_uint path.
...
For stencil -> color copies.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-05-05 00:11:10 +02:00
Hans-Kristian Arntzen
0e93af9700
vkd3d: Handle multiple planes in subresource conversion for copies.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2021-05-05 00:11:10 +02:00
Joshua Ashton
65b13f6cd6
vkd3d: Use VK_KHR_create_renderpass2
...
We need this before implementing TIER_2 variable rate shading.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-03-24 15:20:10 +01:00
Philip Rebohle
5c550b5cda
vkd3d: Rewrite binary occlusion query resolve shader.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-01-19 14:11:46 +01:00
Philip Rebohle
59acbfeb41
vkd3d: Add query resolve pipelines to meta ops.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2021-01-19 14:11:46 +01:00
Philip Rebohle
82d9ba1ebf
vkd3d: Add meta shader to generate predicated draw/dispatch commands.
...
The idea is to use indirect draws and dispatches to implement
predication. For predicated indirect draws, we'll use indirect
count.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-11-27 12:43:39 +01:00
Philip Rebohle
2c9bacd760
vkd3d: Perform binary occlusion query fixup on scratch buffer.
...
Potentially avoids some unnecessary host memory access. Use BDA for
the compute shader so that we can ignore alignment restrictions on
some GPU architectures.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-11-24 16:45:55 +01:00
Philip Rebohle
fdd0dbafe4
vkd3d: Add meta compute shader to resolve binary occlusion queries.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-11-19 22:08:42 +01: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
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
Hans-Kristian Arntzen
89235b7bc0
meta: Implement meta for swapchain pipelines.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-10-06 13:15:31 +02:00
Hans-Kristian Arntzen
d626a0bde9
meta: Add custom vertex shaders to vkd3d_meta_create_graphics_pipeline.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-10-06 13:15:31 +02:00
Hans-Kristian Arntzen
c59a6abfbd
meta: Introduce vkd3d_meta_create_sampler.
...
Will be used for immutable samplers for scalers.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-10-06 13:15:31 +02:00
Joshua Ashton
e09f129064
vkd3d: Use enum for VKD3D_META_COPY_MODE
...
Just some extra type-safety.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-09-30 13:00:32 +02:00
Hans-Kristian Arntzen
7bccab7427
debug: Re-introduce different debug channels.
...
vkd3d-shader is currently kinda buggy and crashes when you try to trace
DXBC. This used to never be run since it was guarded by
VKD3D_SHADER_DEBUG, but with the move to a static build we merged all
debug logging under VKD3D_DEBUG. Reintroduce different debug channels in
a way that is compatible with a statically linked vkd3d.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-07-10 14:18:15 +02:00
Joshua Ashton
5f4c383c1a
vkd3d: Remove _spv suffix from prebuilt shaders
...
Matches what we build from glslang in Meson now.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2020-06-25 13:51:06 +02:00
Hans-Kristian Arntzen
24be81fdfb
vkd3d/meta: Initialize flags variable.
...
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-06-24 12:43:19 +02:00
Philip Rebohle
aa02ee02ca
vkd3d: Create pipelines for shader-based image copies.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-04-22 18:04:29 +02:00
Philip Rebohle
da95bd6eaa
vkd3d: Create common objects for fullscreen GS/VS.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-04-22 18:04:29 +02:00
Philip Rebohle
4923d5ac04
vkd3d: Rename some internal functions.
...
To avoid confusion with similar functions in state.c.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-04-22 18:04:29 +02:00
Philip Rebohle
e74a48cdc6
vkd3d: Simplify meta operation API a bit.
...
Passing the main struct to the public functions allows us
to share common data between multiple types of operations.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-04-22 18:04:29 +02:00
Philip Rebohle
082999fd71
vkd3d: Introduce vkd3d_make_shader_stage.
...
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-04-22 18:04:29 +02:00
Philip Rebohle
ed1f146c91
vkd3d: Fix vkd3d_create_shader_module parameter order.
...
Otherwise, the SPIRV_CODE is useless when using the function directly.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-04-22 18:04:29 +02:00
Philip Rebohle
957aec4785
vkd3d: Restore old ClearUnorderedAccessView implementation.
...
The current code uses D3D12 abstractions to create pipelines but
issues raw Vulkan API calls to actually implement the functionality,
which means the code makes assumptions about the exact descriptor
set layout and push constant layout, which is generally a bad idea
now that we have multiple code paths for root constants etc.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-04-16 18:03:39 +02:00