Commit Graph

11096 Commits

Author SHA1 Message Date
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
baldurk 993204b817 Allow capturing with DXIL shaders. Closes #1718 2020-06-18 17:22:44 +01:00
baldurk 6783f6a851 Improve handling if reflection information is stripped 2020-06-18 17:22:43 +01:00
baldurk b55d4c1c3f Prefer to get reflection information from STAT chunk if present
* This has some type information still present that's stripped out of the DXIL
  chunk
2020-06-18 17:22:43 +01:00
baldurk 11fa7686c4 Allow enabling D3D12ExperimentalShaderModels, and enable it on replay
* This needs to happen to allow loading unsigned DXIL
2020-06-18 17:22:43 +01:00
baldurk 743d75c510 Update DX headers to latest from SDK 10.0.19041
* Don't allow querying for the new interfaces since we don't support anything in
  them.
2020-06-18 17:22:43 +01:00