Commit Graph

2020 Commits

Author SHA1 Message Date
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
baldurk 6188720537 print chunk sizes 2016-02-07 18:41:08 +01:00
baldurk ddaf962dde Serialise multiple flushes, not just the first
* typo - copied from unmap condition where we don't serialise anything
  on unmap if there was a flush
2016-02-07 18:41:07 +01:00
baldurk 857f20d164 Mark memory records as dirty (for now - buffers shouldn't dirty at all) 2016-02-07 18:41:06 +01:00
baldurk ac764b4170 Don't try and use wrapped image from transition on replay 2016-02-07 18:41:06 +01:00
baldurk 402819b5c7 Use original ID when returning pipeline state to replay 2016-02-07 18:41:05 +01:00
baldurk 3a8e6a9557 Don't refuse to bail out if a command buffer is in progress anymore 2016-02-07 18:41:04 +01:00
baldurk fe414dfc9c Only reset debug text on indent level 0 2016-02-07 18:41:03 +01:00
baldurk 34da5158cf Rename "Command Buffer Start" to "Render Pass Start" 2016-02-07 18:41:02 +01:00