baldurk
b47ce7d413
Remove the ability to enable/disable hooks
...
* This wasn't very well supported after D3D11 anyway, and modern tools
(VSGD/PIX/etc) don't respect D3DPERF_SetOptions which was the only route that
actually needed to globally enable/disable hooks.
* D3D11CreateDevices's flag still works to prevent hooking.
2018-07-06 22:44:19 +01:00
baldurk
73e1f7e770
Refactor GL hookset to only a single shared hookset
...
* Rather than having a hookset created within the different bits of platform
hooking code and then passed around everywhere, we just make a single global
hookset object that's shared.
* There's no risk of conflict because our GL object handles all possible
contexts, there's no separate instancing or anything.
* We also have places like the GL emulation or unsupported function hooks that
do not handle two separate onward functions, and we undoubtedly have many
assumptions that only one copy of RenderDoc will hook any given API. If we
needed multiple hooksets within the same library a huge amount would need to
change.
2018-07-06 22:44:18 +01:00
baldurk
f849952ce9
Move global GL lock into common code
2018-07-06 22:44:18 +01:00
baldurk
a7509dadb6
Remove Pre/Post Init/Shutdown of counters. Inline into normal flow
2018-07-06 22:44:18 +01:00
baldurk
152ebc2e2e
Add handling for D3D12.1 - D3D12.3 interface UUIDs in queries
2018-07-06 22:44:18 +01:00
baldurk
02f3196935
Support integer and 16/32-bit alpha/intensity/luminance textures
2018-07-06 22:44:17 +01:00
baldurk
06d14ff62b
Define safe comparisons for python bindings
...
* In particular this means that it's safe to compare a ResourceId or similar
against None. It is always not-equal but it's useful to have the comparison
work and return the expected result instead of throwing a null reference
exception.
2018-07-06 22:44:17 +01:00
baldurk
b873728d49
Copy trailing null byte to keep GCC warnings happy. Closes #1028
2018-07-06 22:44:17 +01:00
baldurk
b8e3fe5f31
Don't unnecessarily require indexed functions - check for extensions
...
* For indexed viewports or blends, we make sure we have fallback code in case
the extensions aren't present.
2018-07-06 22:44:17 +01:00
baldurk
96d53c162c
Prefer glFramebufferTexture2D over glFramebufferTexture
...
* The former is just as good for our purposes (we almost always bind 2D
textures) and is more portable/widely available.
2018-07-06 22:44:16 +01:00
baldurk
ff619c8014
Ensure that vendor checks don't pollute global state
...
* In particular don't leave a VAO bound, even after deleting it.
2018-07-06 22:44:16 +01:00
baldurk
edbfdfb779
Ensure that local EGL headers include our platform headers, not system
2018-07-06 22:44:16 +01:00
baldurk
573ab82fbf
Match varying names in case some GL driver doesn't link by location
2018-07-06 22:44:16 +01:00
baldurk
487ac04d83
When generating GLES shaders without uniforms, declare precision
...
* This usually comes from debuguniforms.h, but if we exclude it we still need to
declare the precision.
2018-07-06 22:44:10 +01:00
baldurk
5477b289ac
Only warn if glBindFragDataLocation is not supported
...
* This becomes very spammy and there's not much that can be done - we just have
to hope the program bindings are not variable and end up the same on replay as
they were on capture.
2018-07-06 20:44:30 +01:00
baldurk
db551cd23d
Fix missing apply of blend state when indexed blending is not available
2018-07-06 20:44:30 +01:00
baldurk
dcfe93d5c6
EXT_draw_buffers2 equivalent isn't available until GLES 3.2
2018-07-06 20:44:30 +01:00
Dzmitry Malyshau
9c9e61a95e
Remove unused this in lambdas of ShaderViewer
2018-07-03 22:08:28 +01:00
baldurk
6e8218d0e0
When applying render state, don't assume UAVStartSlot == NumRTVs
...
* On D3D11.1 the UAV slots can be greater than 8 which is the maximum value for
NumRTVs.
2018-06-28 18:25:20 +01:00
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