baldurk
3e8d4edf6d
Fix crash if doing AccessChain or CompositeExtract on unknown id
2016-02-07 18:41:51 +01:00
baldurk
2bf4db2c1c
Add FMod and ISub/FSub
2016-02-07 18:41:50 +01:00
baldurk
59527af130
Display SPIR-V disassembly
2016-02-07 18:41:49 +01:00
baldurk
a021284d25
Shorten some string representations of states for pipeline view
2016-02-07 18:41:48 +01:00
baldurk
1f9773e26d
Set image type properly
2016-02-07 18:41:48 +01:00
baldurk
0007b9d63f
Use shader reflection variable names if no custom image names are set
2016-02-07 18:41:47 +01:00
baldurk
583ca8b78e
Set whether a bind id referenced & get better names for constant blocks
2016-02-07 18:41:46 +01:00
baldurk
8832573dbb
Expose SPIR-V reflection data to UI
2016-02-07 18:41:45 +01:00
baldurk
c8bba412d2
Move SPVModule into header and fill out ShaderReflection from SPIR-V
2016-02-07 18:41:44 +01:00
baldurk
a201d5a91b
Add basic support for texture sampling
2016-02-07 18:41:43 +01:00
baldurk
a2aa479c22
print source language and extensions
2016-02-07 18:41:42 +01:00
baldurk
0d0e13a0f9
Disassemble OpCompositeInsert, merge load-hit-stores with OpStore
2016-02-07 18:41:41 +01:00
baldurk
c6a9a5e1e6
For now, take away Load() and Store() text, and inline scalar constants
2016-02-07 18:41:41 +01:00
baldurk
6642685069
Add brackets around nested math operations for precedence clarity
2016-02-07 18:41:40 +01:00
baldurk
2a230ecc00
Add OpCompositeExtract disassembly
2016-02-07 18:41:39 +01:00
baldurk
66ddf12ca6
Print decorations with variable declarations
2016-02-07 18:41:38 +01:00
baldurk
bae0141090
Change SPIR-V disassembly to handle unrecognised ops without crashing
...
* For the moment, this means some opcode we haven't implemented yet, but
in future it could be opcodes from an extension or entirely custom
opcodes.
2016-02-07 18:41:37 +01:00
baldurk
410ada541a
Pass vulkan shader modules into DisassembleSPIRV
2016-02-07 18:41:36 +01:00
baldurk
1ae521823c
Only print unimplemented messages once each, instead of spamming
2016-02-07 18:41:35 +01:00
baldurk
8eddd387d7
Add vulkan pipeline state viewer based on D3D11 viewer
2016-02-07 18:41:35 +01:00
baldurk
7aaaa99d84
Win32 compile fix
2016-02-07 18:41:34 +01:00
baldurk
0ba78bdc18
Implement GetBufferData for checking mesh data
2016-02-07 18:41:33 +01:00
baldurk
c8ebfb0efd
Remove thumbnails again - they seem buggy
2016-02-07 18:41:32 +01:00
baldurk
245b4cca92
Fix incorrect comparison
2016-02-07 18:41:31 +01:00
baldurk
4e113a08c7
Hack out handling of vulkan pipeline type in texture viewer
2016-02-07 18:41:30 +01:00
baldurk
edac1f0bfd
Pass vulkan pipeline state along to UI
2016-02-07 18:41:29 +01:00
baldurk
4ed49079d1
Re-enable thumbnails and pixel context, as multiple swap chains work now
2016-02-07 18:41:29 +01:00
baldurk
389894d4be
Force-flushed persistent maps should be serialised before queue submit
2016-02-07 18:41:28 +01:00
baldurk
e3ca8d0773
For now, handle persistent maps during capture by forcing flush
...
* This is ugly and will change once maps are properly intercepted, but
works for now.
2016-02-07 18:41:27 +01:00
baldurk
5911749596
Update local descriptor set tracking when replaying vkUpdateDescSets
2016-02-07 18:41:26 +01:00
baldurk
eb66032a49
Fetch image for attachment view, use in 'fake' d3d11 pipe state
2016-02-07 18:41:25 +01:00
baldurk
f43051a1ca
Make QRenderDoc main window a bit bigger by default
2016-02-07 18:41:24 +01:00
baldurk
da62c0a87f
Fix comparisons against swapbuffer ID to be consistently using orig IDs
2016-02-07 18:41:23 +01:00
baldurk
f569770f48
Return a bit better textures list
2016-02-07 18:41:23 +01:00
baldurk
78cc3acce7
Fix command buffer event ID numbering
2016-02-07 18:41:22 +01:00
baldurk
f76d89cdbd
Windows compile fix (super hack)
2016-02-07 18:41:21 +01:00
baldurk
db74a097dd
Remove hardcoded display of backbuffer, instead display specified tex
...
* Currently will only work for 2D textures though
2016-02-07 18:41:20 +01:00
baldurk
26d99bf7bb
Handle stale & unreferenced resource handles in descriptor sets
...
* It's possible to replay with descriptor set slots (and updates)
referring to resources that don't exist at replay time, if those sets
are never actually used in a queue that's submitted and the resource
isn't referenced otherwise. For this reason we need to be able to
skip initial contents or descriptor updates that refer to these
unused resources.
2016-02-07 18:41:19 +01:00
baldurk
12fc8e9935
Implement some query pool functions
2016-02-07 18:41:18 +01:00
baldurk
9ebb7cec1f
Implement CmdResolveImage
2016-02-07 18:41:17 +01:00
baldurk
84415a3f76
Disable hooking libGL for now on linux
2016-02-07 18:41:16 +01:00
baldurk
d763b9ef43
Pipeline layout should take a parent reference on the layouts used
2016-02-07 18:41:16 +01:00
baldurk
ca3c283528
Fix event counting edge-case for empty command buffers
2016-02-07 18:41:15 +01:00
baldurk
118bc91ec0
Disable assertion of valid transitions
...
* This is going to be difficult to debug and verify without the layer
to debug and verify that all transitions are correct (both on the app
side and renderdoc's replay side). For now, disable the assert and
just hope that the app got it right and we replay it right.
2016-02-07 18:41:14 +01:00
baldurk
840bfe7096
Add hackish but better handling of device memory initial states
...
* Device memory is always treated as dirty from creation. This means
we will always prepare_initialstate for all memory.
* We no longer force initial states for all memory.
* Instead we iterate over all frame ref'd objects, and then ref their
memory records - for framebuffers and view objects, we frame ref their
parents so that they can in turn frame ref their memory record.
* In future this should be built up at creation time and just iterated
whenever we want to ref any of these objects (all the way down to mem)
2016-02-07 18:41:13 +01:00
baldurk
6a3b0946eb
Image initial states need special handling, but for now don't error
...
* Any non-linear images need to be copied into a linear image for
readback. Otherwise the device memory will not necessarily be in the
right format for replay.
2016-02-07 18:41:12 +01:00
baldurk
eb18687fb2
Don't dirty buffers, and don't create any init state for them
...
* Buffers have no state, they're immutable, and contents are handled by
device memory initial state
2016-02-07 18:41:11 +01:00
baldurk
c6fd6e80f2
Remove 'capture X frame' hack, as keyboard input is working
2016-02-07 18:41:11 +01:00
baldurk
af09dbb648
Switch keyboard handling to xcb (WIP, needs to be cleaned before merge)
2016-02-07 18:41:10 +01:00
baldurk
38a34db5ca
Don't assert pNext == NULL, some apps seem to pass (invalid?) structs
2016-02-07 18:41:09 +01:00