baldurk
05c48b44a1
Handle unknown pNext structs more gracefully in serialisation
...
* It's illegal for an application to pass an unknown pNext struct since they
must correspond to enabled extensions and we disallow all unsupported
extensions.
* Rather than crashing or corrupting the serialisation though we strip and don't
serialise the extension struct. This may or may not succeed but the
application is already in undefined territory.
* When we encounter an unsupported extension on replay this cannot be handled
since we don't know how to skip its serialisation. This becomes a fatal error.
2020-07-01 18:09:24 +01:00
Steve Karolewics
270700c290
Fix reporting of DXC errors in test app
...
Fallback to compiling without -Qembed_debug if it fails, to support
older Windows 10 SDKs
2020-07-01 10:45:40 +01:00
baldurk
310f1d05b8
Remove debug log
2020-06-30 22:34:13 +01:00
baldurk
d2557d3966
Fix linux compilation
2020-06-30 21:53:32 +01:00
baldurk
95a2dc1887
Always print the draw count for indirect draws
2020-06-30 13:09:17 +01:00
baldurk
e5e9a9c94b
Use QDoubleSpinBox for partial 64-bit int support. Closes #1952
...
* Actually creating a 64-bit spinbox is not feasible without constructing it
almost from scratch due to how much QAbstractSpinBox depends on private
internals that can't be overridden. Instead use a QDoubleSpinBox with no
decimals since we don't need the full 64-bit range, and the mantissa of a
double is enough.
2020-06-30 12:34:52 +01:00
baldurk
f238428d81
Fix parsing of command lines with nested quotes and empty parameters
2020-06-29 19:08:39 +01:00
baldurk
113c6f35ae
Add ALLOW_DEPTH_STENCIL to array textures copied to MSAA. Closes #1960
...
* Nothing seems to suggest that this is necessary technically and there are no
validation errors, but without this flag sampling from the array texture
causes DEVICE_HUNG on nvidia GPUs.
2020-06-29 18:34:07 +01:00
baldurk
767f123c73
Handle debug search paths on D3D12 correctly
...
* We also need to unwrap the needless PDB wrapper on MS's separate debug info
setup.
2020-06-29 18:34:07 +01:00
baldurk
dfc82b3bd2
Prevent debugging graphics stages if no drawcall is selected
2020-06-29 18:34:07 +01:00
Karanlos
e68719b5f6
Pipeline barrier for Gather and MathOp value fetching.
2020-06-29 13:11:06 +01:00
baldurk
6d23e59aa6
Support specifying next chain to instance creation, and inst extensions
2020-06-29 13:10:51 +01:00
baldurk
81e99a71c5
Strip validation extensions from replay
2020-06-29 13:10:51 +01:00
baldurk
ed7d774fd4
Fix crash opening non-buffer-backed unused constant buffers
2020-06-29 13:10:50 +01:00
baldurk
586676ff38
Ensure android build happens with our SDK
2020-06-29 13:10:50 +01:00
baldurk
ce908cf1da
Fix compilation with old dxc
...
* -Qstrip_debug without -Zi will fail to build completely, so omit it and we
will get what we want (no debug info).
2020-06-20 10:06:42 +01:00
baldurk
e7cf9115ee
Add <MakeDir> before invoking dxc
2020-06-19 20:09:27 +01:00
baldurk
274e735428
Don't pass rdcstr through varargs
2020-06-19 20:09:27 +01:00
baldurk
29f54f92f6
Fix compilation on 32-bit
2020-06-19 20:09:27 +01:00
baldurk
68c8827326
Fixing missing c_str() when in-lining variable names
2020-06-19 17:48:12 +01:00
baldurk
31e58f681e
Handle global variables being declared in sections
2020-06-19 17:48:12 +01:00
baldurk
f2ff54dcea
Support cast constant operations
2020-06-19 17:48:12 +01:00
baldurk
2c998ffbb2
Don't print linkage for variables with initializers
2020-06-19 17:48:12 +01:00
baldurk
4d156f0904
Handle ret not being in last basic block
2020-06-19 17:44:55 +01:00
baldurk
5b5cd18283
Handle forward references in any LLVM instruction
2020-06-19 17:44:55 +01:00
baldurk
a0c66317e3
Add test of DXBC and DXIL D3D12 shader reflection
2020-06-19 14:46:00 +01:00
baldurk
ab5c527489
Update D3D12 cbuffer test to check DXIL
2020-06-19 14:46:00 +01:00
baldurk
d6ef32c5d0
Reflect inner type for structured buffers on DXIL
2020-06-19 14:46:00 +01:00
baldurk
a550521bd5
Find struct annotations more robustly
2020-06-19 14:46:00 +01:00
baldurk
f9218b5a90
Allow specifying D3D12_DESCRIPTOR_RANGE_FLAGS in root signatures
2020-06-19 14:46:00 +01:00
baldurk
2b40de2a6a
Update docs about DXIL support
2020-06-19 14:46:00 +01:00
baldurk
01d7eaaca6
Fix assert that doesn't handle whole-array mappings
2020-06-19 14:46:00 +01:00
baldurk
d3ef145c87
Patch VkRenderPassMultiviewCreateInfo when making single-subpass RPs
2020-06-19 14:46:00 +01:00
baldurk
4d6e4857f6
Implement debug interface for DXIL, to get embedded shader source
2020-06-19 14:45:57 +01:00
baldurk
253a03f5be
Truncate long strings in DXIL disassembly
2020-06-19 14:45:44 +01:00
baldurk
ad10f9ac01
Store shader profile in ShaderCompileFlags for D3D
2020-06-19 14:45:44 +01:00
baldurk
d4ddb565d0
Add a per-shader debuggable flag to allow finer grained status
...
* E.g. on D3D12 we can debug DXBC shaders but not DXIL shaders. On vulkan this
will allow us to have the UI work better when encountering shaders with
unsupported capabilities or extensions.
2020-06-18 17:22:45 +01:00
baldurk
885e2b619c
Fix a few cases in struct reflection
2020-06-18 17:22:45 +01:00
baldurk
7b96962ba0
Rename 'Value' to 'Constant' to get away from the overloaded LLVM term
2020-06-18 17:22:45 +01:00
baldurk
9225961462
Add support for GEP constant ops
2020-06-18 17:22:44 +01:00
baldurk
213ce9c43a
Don't print 0 align on load/store/alloc
2020-06-18 17:22:44 +01:00
baldurk
631b56a04e
Add support for compiling with dxcompiler in tests
2020-06-18 17:22:44 +01:00
baldurk
592cf968e3
Add a new analytics tracking flag for "has any capture used DXIL"
2020-06-18 17:22:44 +01:00
baldurk
28127e6249
Only init DXC and create DXIL shaders when capture uses DXIL shaders
2020-06-18 17:22:44 +01:00
baldurk
0bd48d3c2c
Update overlays to use DXIL as needed
...
* This is needed because D3D12 requires all shaders in a pipeline to use DXIL if
any do.
* We try to bake the couple of DXIL shaders that we will mix-and-match with
application shaders at build time, in case we aren't able to find a working
dxcompiler at runtime to build them. But this can only happen if we find a
working dxc.exe in one of the windows 10 SDKs.
2020-06-18 17:22:44 +01:00
baldurk
9f210d5617
Hardcode variants of fixed colour shader needed on D3D12
...
* We will be adding an offline baked version of the DXIL variant of each of
these, so we want to make it friendly to build-time generation.
2020-06-18 17:22:44 +01:00
baldurk
33b4d351a8
Try to locate and use DXC when compiling shaders for SM6.0 and up
...
* This will first try and use any dxcompiler.dll in the renderdoc plugins
folder, or in the PATH. Otherwise it will search through windows 10 SDKs
located via the registry.
2020-06-18 17:22:44 +01:00
baldurk
1c2aff1cd7
Add helper to quickly check for if DXIL is in use
2020-06-18 17:22:44 +01:00
baldurk
e4aff40405
Rename basic disassembly type on D3D12 to include DXIL
2020-06-18 17:22:44 +01:00
baldurk
23c23951ad
Account for padding in DXIL bitcode chunk
2020-06-18 17:22:44 +01:00