Commit Graph
8611 Commits
Author SHA1 Message Date
baldurk 715caed7a0 Bump version to 1.16 2021-07-28 17:14:09 +01:00
baldurk a490606012 Handle D3D12 CreateConstantBufferView with a NULL desc 2021-07-28 14:01:13 +01:00
baldurk a516c2d483 Disable view instancing on D3D12 for postvs
* It's unclear if this is supposed to be legal or not, and if it is legal then
  how the output is arranged.
2021-07-28 13:02:19 +01:00
baldurk 210f391901 Mark parameters in internal chunks as unimportant
* This prevents overly-inlining in the event browser.
* Also ensure internal chunks are prefixed with Internal:: consistently.
2021-07-28 11:37:14 +01:00
baldurk 514f05876f Mark D3D12 shader feedback as non-experimental 2021-07-28 11:37:14 +01:00
baldurk d2a03c6e06 Fix filling in missing components on typed buffer loads 2021-07-28 11:37:13 +01:00
Jake TurnerandBaldur Karlsson 076b2827c6 Fixed unused variable warnings when compiling with VS 2022 compiler
Debug & Release builds for renderdoc.sln and demos.sln
2021-07-28 11:06:53 +01:00
baldurk 03648a9580 Serialise out empty map writes. Closes #2323 2021-07-23 13:18:51 +01:00
baldurk 34a65857b1 Use custom sort on shader messages for location/workgroup
* The default sorting is purely text based so 1,0,0 is followed by 10,0,0 not
  2,0,0. We customise the sort so it does the right thing per-column.
2021-07-23 12:01:41 +01:00
baldurk 92efebd5f0 Fix some errors from unhandled PDB data 2021-07-21 15:55:08 +01:00
baldurk 0d0ed26fb0 Handle 0xFFFFFFFF as a component in OpVectorShuffle 2021-07-21 14:22:57 +01:00
baldurk 121c1ce067 Don't run shader feedback if there's no root signature bound 2021-07-21 14:17:15 +01:00
baldurk d6e51d0fb6 Check the D3D12 DLL can be loaded before using it
* It looks like some versions of the D3D12 DLL can't be loaded on all versions
  of windows (they require entry points and/or DLLs that don't exist).
2021-07-21 14:17:06 +01:00
baldurk 2e1b49dd14 Remove signature check of d3d12sdklayers.dll as it's not always signed 2021-07-21 14:16:10 +01:00
baldurk a3a0aae660 Handle fixed index lookups in array resources 2021-07-19 16:51:50 +01:00
Dmytro BulatovandBaldur Karlsson 3d00a585d4 Fixed code review comments 2021-07-19 16:51:44 +01:00
Dmytro BulatovandBaldur Karlsson 92f64281d0 Added digital signature validation for d3d12core.dll 2021-07-19 16:51:44 +01:00
baldurk dcb65e20e2 Disable experimental bindless feedback by default 2021-07-15 16:42:53 +01:00
baldurk 46266a9dd6 Implement bindless feedback for DXBC shaders on D3D12 with patching 2021-07-15 16:41:23 +01:00
baldurk 95ea12b0e5 Fix incorrect D3D12 pipeline state python type references
* Python prefixes D3D12 onto types where in C++ it's in the D3D12Pipe namespace
2021-07-15 16:41:23 +01:00
baldurk 011acd74b0 Since printf is user-facing now, make formatter errors less fatal 2021-07-14 11:12:54 +01:00
baldurk 7d6e7dfb78 Info return type is used for sampleinfo and resinfo 2021-07-13 18:06:37 +01:00
baldurk e889e4aa52 Ensure we hook all exec* variants not just 'terminal' ones. Closes #2301 2021-07-13 17:04:21 +01:00
baldurk 9bffeb3c37 Add a bytecode editor that can declare resources and add operations 2021-07-13 17:04:21 +01:00
baldurk ee7d88fb89 Allow constructing rdcfixedarray with a fixed size array 2021-07-13 17:04:21 +01:00
baldurk c18764d777 Be more explicit with swizzling functions which ones override swizzles 2021-07-13 17:04:21 +01:00
baldurk 48fa6034ce Re-hash container after modifying program 2021-07-13 17:04:21 +01:00
baldurk 3101334b85 Move TypeName helper into common DXBC header 2021-07-13 17:04:21 +01:00
baldurk f5db9fd19d Remove direct access to DXBC container blob 2021-07-13 17:04:21 +01:00
Jake TurnerandBaldur Karlsson ee73091d54 Fix crash trying to capture invalid app name
Before the code change this command

renderdoccmd capture ~/dsdsds.app

would trigger segmentation fault accessing a null pointer
2021-07-12 20:36:05 +01:00
Jake TurnerandBaldur Karlsson 59ca2811ef Change glGetInternalformativ bufSize values
Specify the maximum count of parameters instead of number of bytes
i.e.

GLint iscol;

GL.glGetInternalformativ(target, fmt, eGL_DEPTH_COMPONENTS, sizeof(GLint), &isdepth);
becomes
GL.glGetInternalformativ(target, fmt, eGL_DEPTH_COMPONENTS, 1, &isdepth);

From GL references pages: https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glGetInternalformat.xhtml

bufSize

Specifies the maximum number of integers of the specified width that may be written to params by the function.
2021-07-12 20:36:00 +01:00
baldurk 4b52bc6a89 Compile fix on 32-bit 2021-07-09 18:13:50 +01:00
baldurk 47df902b46 Add support for encoding/writing DXBC bytecode
* In a couple of places we need to store information that's redundant/pointless
  to try and stay bitwise identical to DXBC (so we can parse a file, then write
  it out and get the exact same result).
* This also means staying bug-compatible with fxc:
  - it sometimes outputs an extra 0x00000000 DWORD after an operation.
  - it outputs interpolation modifiers which the spec says should be 0, and are ignored.
  - it also sometimes outputs extended operands with no actual use of the extended bits.
  - there's ambiguity between swizzle mode and mask mode for .xyzw swizzles, and fxc uses both so we need to ensure we match.
2021-07-09 16:38:52 +01:00
baldurk 54be369c93 Extended opcode lists stride for all structured buffer resources
* This comes up for bufinfo as well as ld_structured
2021-07-09 16:38:52 +01:00
baldurk 292ac0b6f1 Store the SM5.1 nonuniform flag on operands 2021-07-09 16:27:45 +01:00
baldurk 161c16385a Reduce size of DXBC operation/declaration/operand structs 2021-07-09 16:27:45 +01:00
baldurk cb2d459eff Don't assert on variable cbuffer access from shader linkage 2021-07-09 16:27:45 +01:00
baldurk cb60a268ad Make sure custom data is ignored but preserved 2021-07-09 16:27:45 +01:00
baldurk ab3986a22c Only add the implicit ret if there isn't one already 2021-07-09 16:27:45 +01:00
baldurk 2061ede738 Rename dxbc_disassemble and split apart to different dxbc_bytecode files 2021-07-07 19:18:32 +01:00
baldurk 81b4d3d804 Add public domain md5 library and implement modified DXBC container hash
* This allows us to disabled any requirement for "experimental shaders".
2021-07-07 19:18:32 +01:00
baldurk e5121198e3 Prevent deadlock in vulkan recursively acquiring RW lock 2021-07-07 19:18:32 +01:00
baldurk ca0b4eabf3 Completely ignore non-dx use of nvenc 2021-07-07 19:18:32 +01:00
baldurk 83cee7b35d Add protection against unknown resources when capturing
* This can happen because the addresses map is shared among all devices so some
  other devices might have added resources which we don't recognise the IDs for
  - though this could break in other ways (same address range for different
  resources on different devices) so it's generally not supported.
2021-07-05 14:20:48 +01:00
baldurk c08747d792 Fix D3D12 reference counting with missing internal refs 2021-07-05 12:10:07 +01:00
baldurk d0accc409b Rename 'name' member of ActionDescription to 'customName'
* This is a deliberate break of compatibility since the field is now often
  empty, for non-markers. This means code will get a more explicit error when
  the name is being referenced, so it can be updated to fetch the name it needs
  as needed.
2021-07-01 15:15:05 +01:00
baldurk 7149302680 Rename 'draw' or 'drawcall' to action
* There's not a good accepted terminology for this kind of event, and for
  historical reasons 'drawcall' has been the accepted term, even though
  that can be quite confusing when a dispatch or a copy is a 'drawcall'.
* This is particularly highlighted by the event browser filters where
  $draw() includes draws and dispatches, but $dispatch() only includes
  dispatches, it's hard to intuitively understand why $draw() matches all
  of these calls.
* As a result we've defined the term 'action' to cover these types of
  events in the same way that we defined 'event' in the first place to
  mean a single atomic API call.
2021-07-01 15:15:05 +01:00
baldurk 3036b854ad Add important tagging to parameters in GL 2021-07-01 15:15:02 +01:00
baldurk 70a51ae498 Add important tagging to parameters in Vulkan 2021-07-01 15:15:02 +01:00
baldurk 7aed22cd0d Add important tagging to parameters in D3D12 2021-07-01 15:15:02 +01:00