Commit Graph

4392 Commits

Author SHA1 Message Date
baldurk 119ff00440 Don't get cbuffer in constructor, do that in OnLogFileLoaded when shown 2016-10-21 21:44:24 +02:00
baldurk c80cafe85c Fetch value of counter resource (if present) 2016-10-21 21:44:24 +02:00
baldurk 7aec327133 Implement shader edit & replace for D3D12 2016-10-21 21:44:24 +02:00
baldurk 4545761f42 Unregister logviewer callback when constant buffer previewer is closed 2016-10-21 21:44:24 +02:00
baldurk 3e94689089 Add UAVs into UAV list 2016-10-21 21:44:24 +02:00
baldurk b14d7c2c0b return NULL for heaps that aren't in the capture 2016-10-21 21:44:24 +02:00
baldurk 11e6c1f478 Add dynamic sampler writes into frame capture record 2016-10-21 21:44:24 +02:00
baldurk 6060bb9fcb Fix indirect enum order 2016-10-21 21:44:24 +02:00
baldurk c23633b85d Handle ExecuteIndirect by cracking lists apart and patching during read 2016-10-21 21:44:24 +02:00
baldurk df903cd191 Allocate indirect buffers for storing immutable patched copies of args 2016-10-21 21:44:24 +02:00
baldurk 5978305794 Optionally skip adding event usage (if it will be done post-patching) 2016-10-21 21:44:24 +02:00
baldurk 9f319e035e Store list ID and relative EID for each drawcall use, for lookup later 2016-10-21 21:44:24 +02:00
baldurk 9a6a05bf6d Sure type and nodemask when resetting a list to allow cracking 2016-10-21 21:44:24 +02:00
baldurk 5921a50bc4 Close readback list after creation, so we can just always reset it 2016-10-21 21:44:24 +02:00
baldurk 12d9bd511a Remove unused chunk type parameter from AddEvent() calls 2016-10-21 21:44:24 +02:00
baldurk bd73731ba8 Execute command lists one-by-one during reading 2016-10-21 21:44:24 +02:00
baldurk 8dffc24383 Record command lists twice, so they can be cracked apart around executes 2016-10-21 21:44:24 +02:00
baldurk aeb5eb76f8 Track complete state vector during reading pass
* This will be needed for cracking apart command lists with indirect
  executes.
2016-10-21 21:44:24 +02:00
baldurk 19685c80a4 Handle replaying of ExecuteIndirect non-indirectly and add fake events 2016-10-21 21:44:24 +02:00
baldurk 52232ad5b8 For now, skip replaying query functions 2016-10-21 21:44:24 +02:00
baldurk 2ae4241174 Frame reference resources in query functions 2016-10-21 21:44:24 +02:00
baldurk 2893d67b93 Handle OPCODE_CUSTOMDATA when counting declarations 2016-10-21 21:44:24 +02:00
baldurk d4d9a855c4 Fix replaying through indirect draws on vulkan 2016-10-21 21:44:24 +02:00
baldurk 106308a3fa Note if a command signature is graphics or compute 2016-10-21 21:44:24 +02:00
baldurk ac53611f07 If any list executed contains an ExecuteIndirect, ref all buffers
* Since buffers can be referenced indirectly on the GPU by their GPU
  address, there's no feasible way to know if the buffer is actually
  used or not. If an ExecuteIndirect is seen at all we just have to
  pessimistically include all buffers.
* Generally textures take up the bulk of VRAM usage, so this likely
  won't be too bad.
2016-10-21 21:44:24 +02:00
baldurk febe2b1ad9 Patch ExecuteIndirect call data to point to replayed GPU addresses 2016-10-21 21:44:24 +02:00
baldurk 1c3b4dfc94 Add support for SM5.1 bytecode changes - primarily resource arrays 2016-10-21 21:44:24 +02:00
baldurk 7434077718 Extract register space from DXBC reflection info 2016-10-21 21:44:24 +02:00
baldurk c2553e0d65 Don't fill in register spaces if there's no root signature set 2016-10-21 21:44:24 +02:00
baldurk c997cad967 Set plane slice as necessary on stencil SRVs 2016-10-21 21:44:24 +02:00
baldurk f756cf363e Remove legacy DXBC padding of cbuffers array. Also stub reg spaces
* Historically there was no bindpoint mapping so it was convenient to
  just pad the cbuffers array so that the elements in it were indexed by
  their bind point. It doesn't make any sense anymore especially with
  D3D12's bind model, so just remove it and roll bind points into a
  struct member.
2016-10-21 21:44:24 +02:00
baldurk cc35215a12 Always call SetVariables from UI thread, don't use InvokeRequired 2016-10-21 21:44:24 +02:00
Michael Rennie 8856d3a6f2 Force-stop Android package before starting it for capture. 2016-10-19 20:32:00 +02:00
baldurk 652c4dfe22 Update expected size of FetchFrameRecord to account for increased stats 2016-10-19 19:41:58 +02:00
baldurk 9fb7cb81db Don't pass potentially remote path to Path.GetFileName. Refs #400 2016-10-19 19:14:58 +02:00
baldurk 459619ff0c Don't try to access file on local disk in statistics. Refs #400 2016-10-19 19:12:41 +02:00
Alberto Taiuti d1e5149527 Fix missing <math.h> header in qrenderdoc for Arch/clang++
Add the <math.h> header to some of the source files for the target
qrenderdoc. The build would not have succeded without these headers
declaration under Arch Linux/clang++.
2016-10-19 18:55:50 +02:00
baldurk ae06f86a1c 32-bit compile fixes (casts from uint64_t to size_t) 2016-10-18 21:02:58 +02:00
baldurk b8520a274d Fix compile errors on CI targets 2016-10-18 19:35:01 +02:00
baldurk 2fe22e96b5 Add support for tracking and saving mid-frame and persistent maps 2016-10-18 19:10:06 +02:00
baldurk 681eb21b0a Fetch debug messages before clearing the list 2016-10-18 19:08:47 +02:00
baldurk e959d4b826 Implement query functions (without applying predication on replay) 2016-10-18 16:27:30 +02:00
baldurk 812e4affd3 Tidy up remaining functions marking not-implemented stuff 2016-10-18 15:54:23 +02:00
baldurk 4dbfe17747 Use event usage to guess at buffer creation flags 2016-10-18 15:31:44 +02:00
baldurk cf5bf6f166 Track buffer usage as Indirect parameter buffer 2016-10-18 15:31:43 +02:00
baldurk 17493e9158 Track resources created with a cubemap SRV, to mark them as cubemaps 2016-10-18 15:31:42 +02:00
baldurk b220a61d79 Not sure complex resource releasing logic is needed
* I think we're mostly covered by the requirement that resources stay
  alive until GPU execution is finished.
2016-10-18 15:31:42 +02:00
baldurk 4253094557 Track resource event usage 2016-10-18 15:31:41 +02:00
baldurk 2d19d953c5 Handle debug messages on list execute
* It's not clear if the debug layer can usefully provide messages at a
  specific event or even a specific submission.
2016-10-18 13:06:57 +02:00
baldurk 5329bd4695 Serialise Wait() and SOSetTargets() 2016-10-18 12:30:55 +02:00