baldurk
08e7eecd3b
Cache EvaluateAttribute* per-sample data for debugging. Closes #1025
2018-06-28 18:25:20 +01:00
baldurk
56c55da9f5
Bypass wrapper for a couple of buffer operations
...
* This prevents our wrapper from serialising internal operations in the capture.
2018-06-28 18:25:20 +01:00
baldurk
bcafe108f6
Make it clear that GL 3.2 and up are supported
2018-06-28 18:25:20 +01:00
baldurk
66946f1b3b
Fix handling of sample_info/sample_pos for non-MSAA rasterizer
...
* Refs #1025 but is not a complete fix as sample evaluation is still not
working.
2018-06-28 18:25:20 +01:00
baldurk
e08f1a4d2e
Set proper loader dispatch table while allocating external queue cmd buf
2018-06-28 18:25:20 +01:00
baldurk
e16d06960c
Thread ID should be read from XML as uint64_t
2018-06-27 20:24:07 +01:00
baldurk
6785272944
Copy stored compressed data on GLES in glCopyImageSubData
...
* Could be a common pattern with texture streaming to copy a smaller texture's
mips into the mip-tail of a larger texture, then only provide data for higher
mips.
2018-06-27 20:24:07 +01:00
baldurk
001c07e079
Serialise glFlush and glFinish
2018-06-27 20:24:07 +01:00
baldurk
2a2ac0624d
Handle unsized depth/stencil formats correctly
2018-06-27 20:24:06 +01:00
baldurk
7338316a40
Remove vrapi hooks. Closes #1011
...
* Unfortunately even with recent fixes, some devices still break when vrapi is
hooked.
2018-06-26 18:54:29 +01:00
baldurk
34d689b809
Include fetch_counters example in index
2018-06-25 21:58:02 +01:00
baldurk
5e81319424
When replaying a single multidraw draw, ensure the draw index is correct
...
* We accomplish this by doing a 'multidraw' for even the single draw case, but
set the parameters for all prior draws to 0 so nothing happens.
2018-06-25 18:14:05 +01:00
baldurk
faacec5e96
Read indirect draw count from parameter buffer, not draw indirect buffer
2018-06-25 18:14:05 +01:00
baldurk
43d9a35c45
Specialise stringifaction of glClear bitfield mask
2018-06-25 18:14:05 +01:00
baldurk
87ff61169f
Take IDs of input variables from SPIR-V patch data
...
* If we try and match up input variables by location, and the shader has
multiple variables mapped to a single location, we end up leaving one variable
unmapped. We already have the information so we don't have to do this
inaccurate lookup.
2018-06-25 18:14:05 +01:00
baldurk
0604d037e6
Fix incorrect allocation not allowing space for pathname
2018-06-25 18:14:05 +01:00
baldurk
34e174179a
Fix FindDiffRange() check of final non-vector-sized bytes
2018-06-25 18:14:05 +01:00
baldurk
2476474ca9
Add python sample for fetching counters
2018-06-25 18:14:04 +01:00
MagicPoncho
1bd83cca23
Add buffer barriers to "Usage in frame" view
...
This is very helpful to debug missing barriers by matching the workflow offered for images.
2018-06-23 10:10:49 +01:00
baldurk
f0c8efe24d
Change colors on timeline bar pips to be color blind friendly.
2018-06-23 10:10:49 +01:00
baldurk
89637d8b35
32-bit compile fix
2018-06-22 21:36:06 +01:00
baldurk
286446b008
Fix threading memory corruption with remote host probe
2018-06-22 19:28:35 +01:00
baldurk
ec2806df06
Add context menu for manipulating watch panel
2018-06-22 19:28:34 +01:00
baldurk
fc3e527181
If D3DCOMPILE_SKIP_OPTIMIZATION is set, prefer source-level debugging
2018-06-22 19:28:34 +01:00
baldurk
04f214c768
Add toolbar button to switch between HLSL and assembly debugging
...
* This hopefully makes the HLSL debug mode more obvious to people.
2018-06-22 19:28:34 +01:00
baldurk
c5689827a9
Allow clicking anywhere in rX.xyzw to highlight register
2018-06-22 19:28:34 +01:00
baldurk
c0317855f8
Show tooltips for known local variables and constants
2018-06-22 19:28:34 +01:00
baldurk
2a6a0f0f95
Support local variables in watch expressions
2018-06-22 19:28:34 +01:00
baldurk
1761f5ab36
Highlight variables/registers that have changed
2018-06-22 19:28:33 +01:00
baldurk
5b3a12cd0c
Save and restore tree expansion state when repopulating locals widget
2018-06-22 19:28:33 +01:00
baldurk
cb0df2c844
Combine together structs/arrays in HLSL locals panel
2018-06-22 19:28:33 +01:00
baldurk
880f529fda
Change mapping representation to be gather-based per variable
...
* Instead of having an N:N mapping of parts of variables to parts of registers,
instead we gather everything together under each variable and it has a list of
registers that comprise it.
* Any gaps are represented as undefined register mappings, for components that
aren't available in any register.
2018-06-22 19:28:33 +01:00
baldurk
7f117c6356
Support builtin input variables in debugging
2018-06-22 19:28:33 +01:00
baldurk
7751a5749a
Limit the section of code we search for inline sites
2018-06-22 19:28:33 +01:00
baldurk
8b5ab06da7
Rename variables panel to registers
2018-06-22 19:28:32 +01:00
baldurk
f7b5cca1ab
Handle geometry shader register types
2018-06-22 19:28:32 +01:00
baldurk
06b7e39c26
Don't crash if stepping back from last instruction
2018-06-22 19:28:32 +01:00
baldurk
8381a1955e
Fix some processing of inline site encoded function annotations
2018-06-22 19:28:32 +01:00
baldurk
377715a61f
Don't create tabs for completely empty files in shader viewer
2018-06-22 19:28:32 +01:00
baldurk
568cac2b65
Handle register mapping to special non-indexed builtin output variables
2018-06-22 19:28:32 +01:00
baldurk
77ee70c2d2
Perform #line pre-processing earlier, so it's picked up when reflecting
...
* If we only do this preprocessing when generating a disassembly string, it's
not done when the files in the shader reflection are fetched.
2018-06-22 19:28:31 +01:00
baldurk
9b9451971a
Match builtin outputs by semantic instead of by name
...
* Fixes a spurious error which was actually correctly handled.
2018-06-22 19:28:31 +01:00
baldurk
199a1f6de5
Add stencil reference as a supported shader builtin
2018-06-22 19:28:31 +01:00
baldurk
233fbedf35
Store more type information to resolve struct members in reg mapping
...
* Also adds support for arrays in the type info
* We allow register mapping aliasing since it can happen during function calls
if the same local is declared in two places - the PDB doesn't seem to add a
gap for the 'parent' variable unfortunately.
2018-06-22 19:28:31 +01:00
baldurk
38acb9175a
Indexable temp registers always start at component 0
2018-06-22 19:28:31 +01:00
baldurk
c0200b66c8
Check for presence of debug info before fetching line mapping
2018-06-22 19:28:31 +01:00
baldurk
2b7d9aea38
Create a line-to-instruction map to allow breakpoints/cursor-run in HLSL
2018-06-22 19:28:30 +01:00
baldurk
52e9a6c01d
Pass through line-mapping information for each instruction to UI
...
* This lets the UI highlight the source line as stepping happens, as well as
allowing stepping purely in HLSL.
2018-06-22 19:28:30 +01:00
baldurk
ff9f5675e9
Display high-level language locals corresponding to registers
2018-06-22 19:28:30 +01:00
baldurk
e2dcd902cd
Gather and display callstack information during shader debugging
2018-06-22 19:28:30 +01:00