baldurk
a72ea00210
Free PostVS data on shutdown
2016-02-07 18:47:48 +01:00
baldurk
09f8564c4d
Add message if side-effects features aren't available
2016-02-07 18:47:48 +01:00
baldurk
fcb822b021
Update release notes - mesh output data is now available!
2016-02-07 18:47:47 +01:00
baldurk
e03d5b01c2
Get right number of components for RGB formats
2016-02-07 18:47:46 +01:00
baldurk
48a03ae21f
Only fetch the PostVS data needed for this draw, not the whole buffer
...
* For instanced draws where there are many instance and each instance is
a lot, this saves fetching a *ton* of redundant data.
2016-02-07 18:47:45 +01:00
baldurk
793d2690c4
Be more aggressive with null'ing/disposing old data, to garbage collect
2016-02-07 18:47:44 +01:00
baldurk
0b17197d79
Do buffer readbacks in vulkan replay with multiple copies
...
* We allocate a single fixed-sized buffer up front, and then whenever we
need to readback we copy chunks into it and read them back one at a
time. This trades off doing single copies (and so fewer GPU syncs)
against having massive GPU buffer allocations.
2016-02-07 18:47:43 +01:00
baldurk
ac575d355d
Avoid unnecessary copies/temporaries when returning buffer data
2016-02-07 18:47:42 +01:00
baldurk
0992c05ab9
Fix leaking memory in byte[] marshalling case
2016-02-07 18:47:41 +01:00
baldurk
7af71c60ad
Fetch per-instance vertex output data
2016-02-07 18:47:40 +01:00
baldurk
88bb62bde8
Mark instanced draws as instanced
2016-02-07 18:47:40 +01:00
baldurk
eabf1969c5
Add some utility functions for dumping/grabbing a file
...
* I keep rewriting these for debugging all over the place
2016-02-07 18:47:39 +01:00
baldurk
abcb20794e
Discard negative guessed near planes
2016-02-07 18:47:38 +01:00
baldurk
382031ea01
Ditch ShouldSkipOutput - not needed. Access array parameters properly
2016-02-07 18:47:37 +01:00
baldurk
4f784b07d5
Handle array outputs in SPIR-V, add array index to signature parameter
2016-02-07 18:47:36 +01:00
baldurk
0b61607cc7
When loading a log, default back to buffer view showing VSIn
2016-02-07 18:47:35 +01:00
baldurk
c005c51440
Calculate number of unique indices before modifying shader
...
* This will let us pass that number into the modification function so
that we can create an array of the exact right size, and also
calculate the stride per instance
2016-02-07 18:47:34 +01:00
baldurk
bd5a6752e2
Use viewport for guessing aspect ratio, not dimensions of depth/colour
2016-02-07 18:47:33 +01:00
baldurk
101d780956
Handle post-vs data being padded/aligned instead of tightly packed
2016-02-07 18:47:33 +01:00
baldurk
8818de4524
Use vertex stride from PostVS data if we're reading it
2016-02-07 18:47:32 +01:00
baldurk
c841210e62
Eliminate unused output signature elements like pointsize or clipdist
...
* They are often brought along with gl_PerVertex, but they're declared
and never used.
2016-02-07 18:47:31 +01:00
baldurk
852aa3be1d
Make sure to invert post-projection y before doing reprojection
2016-02-07 18:47:30 +01:00
baldurk
4361eb83d2
Don't add replay resource ID offset multiple times
2016-02-07 18:47:29 +01:00
baldurk
5cbb2653d3
Save used topology BEFORE setting it to point list
2016-02-07 18:47:28 +01:00
baldurk
06549f2647
Set point size when rendering meshes
2016-02-07 18:47:27 +01:00
baldurk
ad813afd0d
Fetch shader mesh output data from indexed drawcalls
2016-02-07 18:47:26 +01:00
baldurk
a766148fa3
Make sure output buffer and its members are properly aligned
2016-02-07 18:47:26 +01:00
baldurk
ca2efadf67
Move GetBufferData into debug manager
2016-02-07 18:47:25 +01:00
baldurk
f5cc277322
Render object as point list when dumping output data
2016-02-07 18:47:24 +01:00
baldurk
a1b034a58e
Correctly handle position being output or not
2016-02-07 18:47:23 +01:00
baldurk
f1b1799ef3
Handle shaders with an empty output signature
2016-02-07 18:47:22 +01:00
baldurk
4ee317566e
Type IDs are not allowed to alias in SPIR-V
2016-02-07 18:47:21 +01:00
baldurk
1b936f6269
Render secondary drawcalls in mesh view
2016-02-07 18:47:20 +01:00
baldurk
a5be2b4f48
Add post-vertex mesh data fetching. Not complete, but proof-of-concept
2016-02-07 18:47:19 +01:00
baldurk
cf13662804
Rename struct since VS seems to incorrectly alias it with Vulkan struct
2016-02-07 18:47:18 +01:00
baldurk
2ce192ef3c
Return mapped pointer when going through wrapped vkMapMemory on replay
2016-02-07 18:47:17 +01:00
baldurk
4d8013ff09
Fetch live pipeline layout when replaying vkCmdPushConstants
2016-02-07 18:47:17 +01:00
baldurk
10313415d9
Don't combine load/stores for non-function variables
2016-02-07 18:47:16 +01:00
baldurk
33f3f3b6de
A bit nicer nameless struct naming
2016-02-07 18:47:15 +01:00
baldurk
dd6adf1774
Make sure to use the right index when considering output skipping
2016-02-07 18:47:14 +01:00
baldurk
7a6d964af3
Keep struct size up to date when skipping non-mesh outputs
2016-02-07 18:47:13 +01:00
baldurk
b625c69d1a
Allow disassembly if struct isn't named (generate default unique name)
2016-02-07 18:47:12 +01:00
baldurk
4e5cecd3b5
Add SPIR-V disassembly support for runtime-sized arrays
2016-02-07 18:47:11 +01:00
baldurk
1c5a5c9a4b
Add functions to get FetchDrawcall by ID from core
2016-02-07 18:47:11 +01:00
baldurk
0120d5cba1
Just used vulkan push range struct - it's POD
2016-02-07 18:47:10 +01:00
baldurk
03a2497c6b
Don't display semantic index if it's not needed
2016-02-07 18:47:09 +01:00
baldurk
6077293849
Get input mapping correct (after signatures are sorted)
2016-02-07 18:47:08 +01:00
baldurk
9fbb27dccb
Add rest of SPIR-V modification, generate code to dump output to buffer
2016-02-07 18:47:07 +01:00
baldurk
132415fd38
Add a bit of a hack to store which ID/member each output element is for
2016-02-07 18:47:06 +01:00
baldurk
344a4a4d2d
Add initial part of injecting code to SPIR-V to dump outputs to buffer
...
* At the moment it adds the necessary types and decorations etc to
declare the buffer, but doesn't add any code to write the outputs yet.
2016-02-07 18:47:05 +01:00