Jake Turner
0ef2210ab7
Vulkan Depth Overlay fallback to non-stencil mask
...
Fallback if the depth copy does not handle the depth texture configuration
2023-12-03 21:00:34 +00:00
Jake Turner
a6529bd1bb
Vulkan Depth Overlay specify stencil dynamic state
2023-12-03 21:00:34 +00:00
Jake Turner
defe79d82c
D3D11 Depth Overlay improvements
...
Handle depth copying with a texture array source
Clear stencil to zero during the depth copy to match the other implementations
Specify the bind flags when creating the new depth-stencil texture
2023-12-03 21:00:34 +00:00
baldurk
d52f97c225
Make sure buffer viewer panels can't be closed
2023-12-01 13:00:08 +00:00
baldurk
32e1f62199
Give overlay test reasonable epsilons to account for shift
2023-12-01 11:59:14 +00:00
baldurk
559a129d2c
Fix vertex linking in GL_Mesh_Zoo to write to col2 properly
2023-12-01 11:44:44 +00:00
baldurk
aac7dc1c31
Revert workaround for AMD drivers as non-functional
...
* Previous workaround may not be functional either, but is left for now.
2023-11-30 20:54:59 +00:00
baldurk
73ab2cd447
Add further workaround for weird AMD driver behaviour
2023-11-30 17:44:20 +00:00
baldurk
d77fc1ed22
Update documentation to mention meshlet solid shading
2023-11-30 14:41:14 +00:00
baldurk
0b18cefc5f
Specify correct library flag when creating partial pipelines
2023-11-30 14:38:48 +00:00
baldurk
10bdf616a7
Fix memory corruption properly in test
2023-11-30 13:30:00 +00:00
baldurk
01820aad82
Donn't set rasterization state to NULL for pre-rasterization shaders
2023-11-30 13:29:59 +00:00
Jake Turner
a43cb1f58c
Stop compute shader usage being computed for Drawcalls
2023-11-29 17:29:50 +00:00
baldurk
21b9600e6d
Set vertex input structs to NULL to work around AMD driver bug
2023-11-29 12:23:35 +00:00
baldurk
06ac6298dc
Don't serialise vertex input structs if using mesh shaders
2023-11-29 12:18:06 +00:00
baldurk
55c18e4868
Improve D3D12 line AA on AMD
2023-11-28 17:04:56 +00:00
baldurk
1df386847f
Compile fix
2023-11-28 16:49:58 +00:00
baldurk
be372cde46
Improve mesh viewer UI for task/mesh shaders range filtering
2023-11-28 16:19:05 +00:00
baldurk
400e712deb
Fix crash opening task shader context menu with no task shader
2023-11-28 16:18:47 +00:00
baldurk
ae969dfdd5
Fix spirv-plugins build scripts
2023-11-28 13:24:30 +00:00
baldurk
65a13b1a6d
Fix memory corruption in VK_Parameter_Zoo test
2023-11-28 12:04:26 +00:00
Jake Turner
d72d79052a
Extend Vk Depth Test Overlays
...
Support shader exported depth by replaying using the capture pixel shader to determine passing pixels
2023-11-27 16:33:57 +00:00
baldurk
1246f8007a
Restore hack to get homebrew working again
2023-11-22 17:14:48 +00:00
baldurk
800c321d16
Re-order vertex bindings to match sensible order. Closes #3145
2023-11-22 15:30:10 +00:00
baldurk
9e79ba3416
Fix DXIL patching for quad overdraw
...
* Also tweak the test output to be more organised
2023-11-20 18:17:51 +00:00
baldurk
b9c338568f
Set the correct type for i8 metadata constants in DXIL
2023-11-20 18:17:21 +00:00
baldurk
9082c985c6
Remove deferred swapchain memory flag
2023-11-20 15:19:16 +00:00
baldurk
7db65dc01b
Allocate dynamic SSBO descriptors in our debug descriptor pool
2023-11-20 13:59:21 +00:00
baldurk
0d9ea809dd
Fix some test failures by consistently stripping gl_PerVertex_Var prefix
2023-11-17 18:47:47 +00:00
baldurk
48222bf5bb
Disable reporting of multiviewMeshShader feature
2023-11-17 18:47:47 +00:00
baldurk
58f206eed0
Get output topology reflection on D3D12 for mesh shaders
2023-11-17 18:47:47 +00:00
baldurk
10face5f4c
Avoid error by checking for NULL first before accessing const members
2023-11-17 18:47:47 +00:00
shaltupssen
21972fa5b4
Fix abi name for android x86
2023-11-17 10:21:43 +00:00
baldurk
41d2e69d00
Remove unused lambda captures
2023-11-17 02:00:20 +00:00
baldurk
98dd806298
Remove duplicate docstring
2023-11-17 01:59:18 +00:00
baldurk
3976bba298
Add missing documentation strings
2023-11-17 01:43:19 +00:00
baldurk
d171cdb1c6
Fix compilation on 32-bit
2023-11-17 01:39:52 +00:00
baldurk
70b2fac658
Fix compile warning on some D3D12 HLSL compiler versions
2023-11-17 00:47:55 +00:00
baldurk
07b1c3f857
Add options to filter and correlate between task and mesh invocations
2023-11-17 00:47:55 +00:00
baldurk
1df7c1ae81
Implement mesh viewer support for task/mesh shaders
2023-11-17 00:47:55 +00:00
baldurk
d898e2ac09
Detect and prevent crashes on broken dxc-produced task shaders
2023-11-17 00:47:55 +00:00
baldurk
8f945ab404
Use shader patching functions to fetch amp. & mesh outputs on D3D12
2023-11-17 00:47:28 +00:00
baldurk
4e12adfab1
Add function to patch mesh shader DXIL to store mesh output
...
* See equivalent previous Vulkan commit for more notes.
2023-11-17 00:47:28 +00:00
baldurk
882cd8c9ec
Add function to patch amp. shader DXIL to feed from buffer
2023-11-17 00:47:28 +00:00
baldurk
980677f50c
Add function to patch DXIL to fetch amp. shader outputs
2023-11-17 00:47:28 +00:00
baldurk
2f3a0640f5
Use shader patching functions to fetch task & mesh outputs on Vulkan
2023-11-17 00:47:27 +00:00
baldurk
4a7a9375aa
Add a function to store mesh output data
...
* This function patches a mesh shader to write to BDA instead of the output
object, as well as storing the vertex/primitive count. It separates indices,
per-vertex rate outputs and per-primitive rate outputs. The output is stored
not fully interleaved because we replace pointers in-place and they may be
combined if an output is a struct.
* If preceeded by a task shader, it will read a per-dispatch offset to account
for the fact that each task group produces an independent series of mesh
groups that can't differentiate from each other. Within that set of groups,
each group assigns its output linearly and this output will potentially be
sparse as it's sized based on the worst case output.
2023-11-17 00:12:42 +00:00
baldurk
957f330c63
Add function to patch task shader into fixed data feeder
...
* This task shader is relatively degenerate, it just loads payload & dispatch
size from a buffer, writes to the payload, and dispatches. Used to
deterministically replay the same set of tasks as were saved.
2023-11-16 23:44:16 +00:00
baldurk
9996c8c38a
Add function for fetching task shader outputs on Vulkan
...
* We do this by patching the shader to write to BDA pointers instead of Payload
pointers for all payload pointers, and also store the number of meshes
dispatched.
* After running this shader we'll read the results back and then feed the data
back onto the GPU via our own task shader, to ensure we can conservatively
size the mesh output buffer accounting for whatever task shader expansion
happened.
2023-11-16 23:44:16 +00:00
baldurk
54fdac1d44
Factor out near/far derivation into common driver code
2023-11-16 23:44:16 +00:00