baldurk
ea657cd408
Clear the fake backbuffer at creation time
2016-10-24 20:45:59 +02:00
baldurk
cde196999c
Generate and allow stubs for GL 1.0-1.2 deprecated functions
...
* Still no plans to support these, but at least this will allow them to
be queried for. This might happen if e.g. an extension loader or old
bit of code just loads all functions unconditionally and might error
if one of these functions isn't found, even if it has no intention of
actually calling it.
2016-10-24 20:10:04 +02:00
baldurk
f92bf05571
Handle compressed block depth being 0 if only 2D blocks are unpacked
...
* If we're only compressing 2D blocks the compressed block depth can be
0 and that's totally valid. We can't unconditionally divide through,
so sanitise inputs to make sure calculations are sensible.
2016-10-24 19:56:55 +02:00
baldurk
dab9d9d9f8
Correct copySource/copyDestination on framebuffer blits
...
* We choose the first color attachment if the blit includes color, or
the depth/stencil attachment otherwise.
2016-10-24 19:55:29 +02:00
baldurk
5cca910a85
Handle render buffers properly in GetTextureData
...
* We blit to and read from a texture since render buffers can't be read
from directly.
2016-10-24 19:54:50 +02:00
baldurk
aab34d8fd0
On replay when no unpack buffer is bound, ensure unpack state is reset
...
* During capture if there was no unpack buffer we made sure that any
unpack state was applied during serialisation (as this makes sure that
we have a small set of data to serialise and don't have to serialise
loads of padding because of SKIP_ROWS or a large ROW_LENGTH)
* The flipside though is that it means on replay the pixel unpack state
might be set still with some configuration that we've already applied.
So instead we reset it back to identity before replaying any SubImage
call.
2016-10-24 18:42:49 +02:00
baldurk
a6d5a7c35e
Compile fixes for shadowed variables
2016-10-21 22:27:19 +02:00
baldurk
a293c5fad8
Unwrap objects before forwaring vkDebugMarkerSetObject*
2016-10-21 09:07:00 +01:00
baldurk
6655f9d789
Instead of overwriting each constant set, accumulate constant values
2016-10-21 21:44:24 +02:00
baldurk
989a86028d
Fix case where byte count was mixed with uint32 count (clarify code)
2016-10-21 21:44:24 +02:00
baldurk
d7fe790f72
Add a UAV barrier at the end of ReplayLog() to ensure UAV work is done
2016-10-21 21:44:24 +02:00
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