Jordan Justen pushed to branch debian/master at X Strike Force / app / renderdoc


Commits:
715caed7 by baldurk at 2021-07-28T17:14:09+01:00
Bump version to 1.16

- - - - -
4d31495b by TotalCaesar659 at 2021-07-29T11:57:56+01:00
Update URLs to HTTPS
- - - - -
9655a029 by baldurk at 2021-07-29T12:51:47+01:00
Handle fake markers in timeline bar. Closes #2327

- - - - -
dc68a1d5 by baldurk at 2021-07-29T15:37:13+01:00
Fix off-by-one error with indirect count draws on vulkan

- - - - -
4932f91f by baldurk at 2021-07-29T19:31:10+01:00
Fix bindless feedback setting resource arrays as unused in DXIL shaders

- - - - -
7e080857 by baldurk at 2021-08-02T10:05:42+01:00
Fix an infinite recursion crash when opening the event browser

* If a capture was opened it would recurse between initialising the event
  browser and the marker breadcrumbs.

- - - - -
a3d54043 by baldurk at 2021-08-02T10:22:40+01:00
Don't use the W from VS input (and VS out with geom/tess) positions

* This allows W to be filled with 1.0 which our mesh viewing shader expects to
  have to be able to multiply by the MVP matrix.

- - - - -
2bfc3c22 by baldurk at 2021-08-02T11:15:24+01:00
For storage resources be pessimistic about their usage in the frame

* If a storage resource is only referenced in a copy as a destination and gets
  CompleteWrite state, this may be inaccurate because we no longer track
  descriptor set access to images or buffers. That means there could be an
  earlier use of the resource in a read/write fashion but on replay we would
  clear it for initial states.
* For images this is easy as we can fix this up at the end of the frame, for
  memory we need to iterate over all storage buffers and update the memrefs on
  their bindings.

- - - - -
d9a886ee by baldurk at 2021-08-02T16:24:06+01:00
Reset current bind every time we iterate over a range for a stage

- - - - -
5279b137 by baldurk at 2021-08-02T16:24:28+01:00
Sort final list of used descriptors in D3D12 shader feedback

- - - - -
93f8a59a by baldurk at 2021-08-02T16:27:48+01:00
Linux compile fixes

- - - - -
c31c0471 by Pavel Asyutchenko at 2021-08-02T21:51:36+01:00
Fix broken capture when app uses dedicated allocation weirdly

Both handles in VkMemoryDedicatedAllocateInfo can be VK_NULL_HANDLE,
specification allows this. Should be safe to ignore struct in this case.

- - - - -
87e08feb by baldurk at 2021-08-02T22:55:12+01:00
Document that only 64-bit x86 is supported on linux. Closes #2332

- - - - -
96408c30 by baldurk at 2021-08-10T12:20:14+01:00
Fix backwards compatibility issue loading vulkan captures

* This is a regression _since_ v1.15. In 2bfc3c2 to be precise

- - - - -
b8fd1fce by baldurk at 2021-08-10T13:53:25+01:00
When finding in the event browser, respect the current filter

* This means we'll jump to the nearest _visible_ result, rather than just 
the
  next result whether or not it's visible. This also applies to EID 
searches,
  when doing a go-to on a particular EID we'll end up jumping to the next
  visible EID.

- - - - -
a2da75c6 by baldurk at 2021-08-10T15:38:45+01:00
Implement emulated depth readbacks on GL. Closes #2336

- - - - -
da4c6497 by baldurk at 2021-08-10T16:07:38+01:00
Make D3D12 initial state resource padding more generous

- - - - -
752c8390 by 丛越 at 2021-08-11T18:10:40+01:00
Fix missing D3D12 counter

Improve D3D12 action callback match the Vulkan callback.

1.D3D12 action callback add Misc type callback to process copies/clears/etc 
actions.
2.D3D12GPUTimerCallback, D3D12AMDActionCallback, D3D12QuadOverdrawCallback and 
D3D12InitPostVSCallback implement Misc type callbacks.
3.Modify D3D12CommandData::HandlePreCallback to be consistent with Vulkan, and 
add the ActionFlags parameter.
4.Define corresponding macros for the action callbacks of Draw, Dispatch, 
Execute Bundle, Copy, and Clear commands.

- - - - -
c2e5d2a7 by baldurk at 2021-08-11T18:11:23+01:00
Allow find text to be preserved when closed and reopened

- - - - -
100ccc9c by baldurk at 2021-08-11T21:53:15+01:00
Specify entry point when disassembling with spirv-cross. Closes #2342

- - - - -
a38ab1b0 by baldurk at 2021-08-12T14:11:43+01:00
Handle conservatively marked storage images in assert

- - - - -
d851e8de by baldurk at 2021-08-12T15:17:42+01:00
Add small optimisation and fix for extremely large ExecuteIndirect calls

- - - - -
441ab252 by baldurk at 2021-08-12T16:18:34+01:00
32-bit compilation fix

- - - - -
0804ef63 by baldurk at 2021-08-16T10:54:47+01:00
Emulate bad vertex attribute casts on GL in mesh viewer

* On GL you can specify a vertex attribute that's stored as int but gets
  converted to float with glVertexAttribFormat instead of glVertexAttribIFormat.
  However if the shader accepts an int this is invalid and the value is
  undefined - we emulate this as the float bits being read as int directly, but
  that's not guaranteed behaviour.
* Normally we don't emulate this kind of mis-cast behaviour and just 
display the
  type of data passed to the shader, but in this case GL lets you specify three
  types (stored as int, cast to float, read as int) so our normal behaviour of
  just showing the input can be more misleading than normal.

- - - - -
c319ac02 by baldurk at 2021-08-18T20:12:06+01:00
Store API pipeline states in the replay controller

* Instead of storing the API pipeline states in the replay driver and returning
  pointers, we store them in the replay controller and write into it from the
  replay driver.
* This will allow us to remove the replay driver and still keep any previously
  obtained references/pointers to the pipeline state valid.

- - - - -
45a8a634 by baldurk at 2021-08-18T20:12:06+01:00
Dynamically allocate shaders and structured files to allow detaching

* These are the only handles returned up by reference from the replay driver,
  dynamically allocating them means that we can steal/move the ownership of
  these and keep them valid even after the replay driver is destroyed.
* Note - ShaderDebugTrace is also returned by reference but it is already
  dynamically allocated like this.

- - - - -
dc955079 by baldurk at 2021-08-18T20:12:07+01:00
Fix RELEASE define on linux

* This fixes some debug text appearing in the resource inspector, and lets linux
  users submit manual bug reports from release builds.

- - - - -
620e75c2 by baldurk at 2021-08-18T20:12:07+01:00
Add a system for backends to handle device lost/OOM errors and report it

* The UI will become non-functional and the backend will be replaced with a do-
  nothing one that keeps things alive without needing error bulletproofing
  everywhere in the real backend.

- - - - -
cab76389 by baldurk at 2021-08-18T20:12:07+01:00
Add fatal (device lost/out of memory) error checking to backends

* We check for errors to try to catch them as soon as possible, and early-out
  return even in the middle of functions. The idea being even if this leaves us
  in a weird state we won't get called again as the replay controller will
  detect the error and substitute out a dummy driver.

- - - - -
a76aa1de by baldurk at 2021-08-18T20:12:07+01:00
Update RGA devices list to include RDNA2

* We also drop everything gfx804 to keep the device list from being too bloated,
  as well as AMD planning to remove support for these devices soon.

- - - - -
cd6df12f by baldurk at 2021-08-18T20:12:07+01:00
Fix assert to properly use expected state

- - - - -
3d168b38 by baldurk at 2021-08-18T20:12:07+01:00
Fix a crash for buffer views in descriptors

- - - - -
aa26252a by baldurk at 2021-08-18T20:12:07+01:00
Update key before looking up bindless slot lookup on D3D12

- - - - -
8ddc6eaa by baldurk at 2021-08-18T23:18:14+01:00
Fix docstring reference

- - - - -
9486cac1 by baldurk at 2021-08-19T00:19:05+01:00
Fix mac compile error

- - - - -
f8cf943c by baldurk at 2021-08-24T10:57:36+01:00
Fix problem where a new profile wouldn't have default event filter

* In v1.15 if you upgraded from a previous version and had a renderdoc config
  file then the persistent storage storing the filters would get loaded with an
  empty variant map, so the defaults could be set. However if you had no config
  file at all this wouldn't happen so no defaults would be set.
* We detect the case where we load an old profile and it has blank current
  filter or saved filters, and fill in the defaults now. If the filter has been
  customised or some saved filters exist, respectively, we don't touch them.

- - - - -
341478a3 by baldurk at 2021-08-24T15:43:58+01:00
Don't try to enable debug exts for internal android vulkan instance

* We create an instance during early android startup to force our library to
  stay loaded, but we shouldn't try to enable any debug extensions because 
on
  some android devices that can cause problems.

- - - - -
f32e8525 by baldurk at 2021-08-24T16:29:03+01:00
Only allow reports from builds with valid commit hashes

- - - - -
dd8265bf by baldurk at 2021-08-24T17:09:28+01:00
Add extra protection against invalid buffers in buffer viewer

- - - - -
f45f8eac by baldurk at 2021-08-24T17:46:00+01:00
Don't do anything in PickVertex if there are no vertices

- - - - -
f258261a by baldurk at 2021-08-24T18:59:45+01:00
Add a couple of extra protection checks in D3D12 code against crashes

- - - - -
fe50a567 by baldurk at 2021-08-24T19:00:05+01:00
Fix a crash getting the event name of EID 0

- - - - -
137893f5 by baldurk at 2021-08-24T19:00:44+01:00
When giving nodes an effective EID, ignore trailing PopMarker EID

* This applies when selecting a marker region, the effective EID is the one
  actually replayed to an represented in the UI. As-if it were directly
  selected.

- - - - -
c820ea77 by baldurk at 2021-08-24T19:01:05+01:00
When no draw action is selected in the mesh viewer, be explicit about it

- - - - -
ae118264 by Jake Turner at 2021-08-24T21:33:51+01:00
Add some missing renderdoc .h files to sources

Helpful for IDE project generation from CMake ie. xcode project

- - - - -
01a15496 by Jake Turner at 2021-08-24T21:33:51+01:00
Add missing renderdoc/driver .h file to sources

Helpful for IDE project generation from CMake ie. xcode project

- - - - -
833a63e6 by Jake Turner at 2021-08-24T21:33:51+01:00
Add missing renderdoccmd .h file to sources

Helpful for IDE project generation from CMake ie. xcode project

- - - - -
3f2f74bb by baldurk at 2021-08-26T09:51:37+01:00
Fix backwards check on upload buffer being available

- - - - -
3bb4e8c2 by baldurk at 2021-08-26T09:51:37+01:00
Avoid crash if no pipeline is bound for D3D12 shader feedback

- - - - -
a21d2451 by baldurk at 2021-08-26T09:51:37+01:00
Remove show unused/show empty options from texture viewer

- - - - -
69a27aea by baldurk at 2021-08-26T12:06:25+01:00
Handle MakeResident/Evict being refcounted, and handle placed resources

* Placed resources aren't directly resident or non-resident, it's the 
underlying
  heap that needs to be made resident or evicted.

- - - - -
cd65e5be by baldurk at 2021-08-26T15:49:11+01:00
Ignore unused attachments being cleared

- - - - -
1ef790ab by baldurk at 2021-08-27T11:33:40+01:00
Update capture connections when an open capture is saved. Closes #2352

- - - - -
2fd1b752 by baldurk at 2021-08-27T12:40:43+01:00
Fix copy-paste error in resource naming

- - - - -
9e525544 by baldurk at 2021-08-27T13:14:13+01:00
Wrapped swapchain textures should be tracked in resource manager

- - - - -
b1ec61ac by baldurk at 2021-08-27T13:59:53+01:00
Reduce image acquire timeout down to 2 seconds to be safe

- - - - -
4e582640 by baldurk at 2021-08-30T13:15:59+01:00
Don't include inf/nan times in summation

* These can be generated by buggy drivers particularly on GL, so try to mitigate
  the effect of that.

- - - - -
107077fd by baldurk at 2021-08-30T14:34:28+01:00
Patch image view usage to match framebuffer usage

* This is all a result of us adding extra usage to images - for imageless
  framebuffers the usage needs to match so we need to patch the framebuffer
  usage at create time. Then if image views are used that have specified usage
  subset we need to patch that too.

- - - - -
241587a2 by baldurk at 2021-08-30T14:41:54+01:00
Offset image operands is only valid for gather operations

- - - - -
b50a9911 by baldurk at 2021-08-30T15:25:16+01:00
Remove all entry points properly when debugging pixel shaders

- - - - -
a4ba2e67 by baldurk at 2021-08-30T15:25:54+01:00
Only populate input variables declared in the interface for an entry

* This prevents us from trying to fill in e.g. vertex shader inputs when
  debugging a pixel shader if a module contains multiple entry points

- - - - -
93238bf1 by baldurk at 2021-08-30T15:55:46+01:00
Add checks in event browser for when no capture is loaded

- - - - -
6953aacb by baldurk at 2021-08-30T16:50:25+01:00
Mark importants properly in glDispatchCompute

- - - - -
afa7723e by baldurk at 2021-08-30T16:50:43+01:00
Don't iterate samplers in SPIR-V GL shaders, they should not be mutable

- - - - -
ad1aba96 by baldurk at 2021-08-30T16:51:06+01:00
Use the right attachment to calculate mip/slice for glClear destination

- - - - -
037f05f3 by baldurk at 2021-08-30T17:09:04+01:00
Fetch vulkan shader printf messages from a pristine replayed state

* For draws/dispatches that aren't pure - i.e. modify state that they read 
from
  - we need to be sure we don't replay the action before running it to fetch
  feedback. For that reason we need to replay up to the action first, then fetch
  feedback.

- - - - -
7d1cc7a6 by baldurk at 2021-08-31T08:54:34+01:00
Fix ubuntu docker build failing due to packages moving URLs

- - - - -
6659fae9 by baldurk at 2021-08-31T09:04:57+01:00
Don't use sudo in docker prepare script

- - - - -
1b192083 by Dylan Barrie at 2021-09-02T01:06:27+01:00
Fixes for GS output in the Mesh Viewer in D3D12

- Ensure there is space for the Stream Out counters at the beginning of the SO 
buffer
- Fix use-after-Unmap of the SO statistics data
- Reset the state correctly after syncing every 1000 instances
- Unmap the SO buffer when no output instances are found

- - - - -
67e0623d by baldurk at 2021-09-09T10:39:20+01:00
Fix some DXIL disassembly issues

- - - - -
2cd0bf59 by baldurk at 2021-09-09T12:24:03+01:00
Update copyright year in about dialog

- - - - -
90a6e2b4 by baldurk at 2021-09-09T12:24:17+01:00
Specify file handles as explicitly non-inheriting on windows

* We never want to inherit these, and e.g. Qt process launches are hardcoded to
  always inherit handles so these need to be excluded so files don't stay 
open.

- - - - -
5471bf25 by baldurk at 2021-09-09T12:24:32+01:00
Handle new type of patch constant signature, and new interpolator types

- - - - -
0af73f58 by baldurk at 2021-09-09T12:24:42+01:00
Ignore RDAT chunk

- - - - -
587c4118 by baldurk at 2021-09-09T12:24:54+01:00
Add some new undocumented reflection values

- - - - -
cfd6ed0e by baldurk at 2021-09-09T12:28:54+01:00
Hash any unhashed incoming shaders on D3D12

* This is possible when capturing a program that uses experimental feature to
  allow unhashed shaders. We don't replay this so it would fail. We could 
enable
  the feature, but this is just as easy and means it works even when
  ""development mode"" isn't enabled.

- - - - -
a42401c9 by baldurk at 2021-09-09T12:29:09+01:00
Unreachable instruction ends a block in DXIL

- - - - -
44eee83a by baldurk at 2021-09-09T12:35:19+01:00
Fix some differences with DXC's disassembly

* We also add an option to tweak our disassembly output to be more easily
  compared with dxc's

- - - - -
adb2b659 by baldurk at 2021-09-09T12:37:55+01:00
Be more precise with handling pointer address spaces in DXIL

- - - - -
90f34170 by baldurk at 2021-09-13T19:11:28+01:00
Don't generate potentially unsupported vertex formats to ignore W

* When using VS In we want to ignore the W component, but that already happens
  explicitly for vulkan/GL in the shader. Mirror that same solution to D3D
  instead of trying to force a 3-component format which may not be supported
  (e.g. on AMD R16G16B16_*)

- - - - -
fbe7462d by baldurk at 2021-09-13T19:12:34+01:00
Mark parameter as important in vkCmdSetScissorWithCountEXT

- - - - -
33d36788 by baldurk at 2021-09-13T19:13:30+01:00
Always check mapped memory for changes if it has BDA buffers

* Normally we only check mapped memory when it's referenced during capture 
by
  some binding, but for BDA we don't have bindings so we have to 
conservatively
  check it every time.

- - - - -
0054e534 by baldurk at 2021-09-14T13:02:56+01:00
Fix triangle size overlays breaking when postvs data doesn't have W=1.0

- - - - -
2752008d by baldurk at 2021-09-14T13:25:02+01:00
Ensure consistency when saving the current capture. Closes #2358

* If we save the current capture from a connection window we want to do that via
  the main window so the UI can be properly updated and so we can save it
  properly through the replay manager, so the old one can be removed safely.

- - - - -
3d785b9b by baldurk at 2021-09-14T17:54:48+01:00
Try to rebind user DC first when pushing/popping GL contexts. Refs #2361

* In the old codepath for a valid existing window we'd create a cloned DC 
and
  use that to pop with. However that DC is then released so we have created the
  'stale DC' situation. This can cause problems with subsequent context
  activations when we try to push/pop to populate GL hooks and fail to pop
  properly as the queried DC is invalid.

- - - - -
21e5aa8b by baldurk at 2021-09-15T10:32:55+01:00
Update/remove some dated documentation notes when building on VS

- - - - -
46ffa9de by baldurk at 2021-09-15T11:31:54+01:00
Ignore com.android activity that sometimes shows up in other packages

- - - - -
36e17be5 by baldurk at 2021-09-16T11:01:34+01:00
Add some extra fatal error checks during early startup

- - - - -
5b18e4bd by baldurk at 2021-09-16T11:45:36+01:00
Avoid crash when fetching vs out with expected index buffer unbound

* This is clearly invalid but it's trivial to protect against a divide by 0
  which we do on other APIs, so we do that here.

- - - - -
8e1c6bb8 by baldurk at 2021-09-16T12:40:11+01:00
Fix error message accessing invalid tokens in filter

- - - - -
fdaacf5f by baldurk at 2021-09-16T17:05:52+01:00
Add a couple of fatal error checks/protections around ExecuteIndirect

- - - - -
a5dfc5b8 by baldurk at 2021-09-17T11:36:30+01:00
Properly reset all input assembly binding data in D3D11 pipeline state

- - - - -
bcb70d3b by baldurk at 2021-09-17T12:18:50+01:00
Fix D3D11 debug messages being off by one event

- - - - -
c3a93bf6 by baldurk at 2021-09-17T12:50:05+01:00
Fix potential crash reading empty descriptor array on D3D12

- - - - -
44abc701 by baldurk at 2021-09-17T12:50:39+01:00
Fix crash serialising glVertexArrayVertexBuffers with NULL buffer array

- - - - -
bffeb08a by baldurk at 2021-09-17T13:20:46+01:00
Try to do a version check on installed VC redist. Refs #2359

* Unfortunately there isn't an easy registry key to check to see if the
  2015-2019 redist that we need is installed. Instead we need to check the
  major/minor version to see if it's at least 14.20.
* This is complicated by the fact that windows installer returns DWORD registry
  values with an extra # but provides no built-in way to strip it so it can be
  compared numerically. The solution we've used here is a custom vbscript
  action, but apparently they are problematic. Worst case I believe this will
  try to install the runtime when not necessary, which might require an
  unnecessary reboot. Or alternatively it may misdetect the runtime as installed
  but the large majority of people have a compatible redist so this isn't 
too
  bad either.

- - - - -
1b42dcc0 by baldurk at 2021-09-17T14:29:05+01:00
Fix crash returning serialiser's structured file to dummy driver

* If we hit a fatal error during initialisation, the structured file pointer
  still points at the temporary serialiser's structured file. It's not 
until we
  finish loading that we swap it into the driver-stored file that we can safely
  return and detach ownership of.

- - - - -
6535e3b2 by baldurk at 2021-09-17T14:29:23+01:00
Don't fetch GPU descriptor address for non-shader-visible heaps

* Silences a D3D12 debug warning

- - - - -
544a8eb5 by Marijn Suijten at 2021-09-21T12:48:06+01:00
renderdoccmd: Use Android `d8` instead of `dx` dexer

build-tools 31.0.0 doesn't ship with `dx` anymore, and Android Studio
switched to `d8` back in April 2018 [1].

The fallback for `dx` remains, in case older build-tools are used that
do not support `d8` just yet.

[1]: 
https://android-developers.googleblog.com/2018/04/android-studio-switching-to-d8-dexer.html

- - - - -
c77c9e88 by baldurk at 2021-09-21T18:04:56+01:00
Add llvm bitstream writer

- - - - -
9e3385d1 by baldurk at 2021-09-21T18:04:56+01:00
Emit root module block and blockinfo subblock

* It looks like LLVM (at DXC's version anyway) hardcodes a series of
  abbreviations, so we do the same

- - - - -
045aad23 by baldurk at 2021-09-21T18:04:56+01:00
Write param attr blocks

* We cheat slightly with the attributes - we combine these on load, so we lose
  information about multiple groups they may reference. So we save the groups
  that we read from and use that to write the attribute.

- - - - -
6d60d96f by baldurk at 2021-09-21T18:04:56+01:00
Set up llvm encoder to handle abbrev selection, and write type lock

- - - - -
f6e8e78b by baldurk at 2021-09-21T18:04:56+01:00
Emit global var and function records in module

* The value IDs currently aren't fetched in LLVM-matching order so we 
don't have
  those yet for global var initialisers

- - - - -
a2a5d8ec by baldurk at 2021-09-21T18:04:56+01:00
Emit the global constants block in DXIL

- - - - -
3ce8d68f by baldurk at 2021-09-21T18:04:57+01:00
Emit metadata block

- - - - -
606c011a by baldurk at 2021-09-21T18:04:57+01:00
Emit global symbol table

- - - - -
3b8dee02 by baldurk at 2021-09-21T18:04:57+01:00
Refactor DXIL handling to rely on pointers instead of indexing

* The indexing works fine and handles forward references nicer, but once we
  start modifying things all the indices will need to be rebased.

- - - - -
410ee147 by baldurk at 2021-09-21T18:04:57+01:00
Start emitting function blocks, with attached metadata and constants

* We now track the values in a simple array so getting value IDs amounts to just
  getting an index in this array. This avoids the need to iterate in an llvm-
  identical way to enumerate values. That does mean that we need to insert new
  values into the array in the correct order, which isn't too bad.

- - - - -
29c16d17 by baldurk at 2021-09-21T18:04:57+01:00
Encode function instructions

- - - - -
097e6657 by baldurk at 2021-09-21T18:04:57+01:00
Write attached metadata in functions

- - - - -
976cb0e2 by baldurk at 2021-09-21T18:04:57+01:00
Preserve uselists through DXIL decode/encode

- - - - -
731c81e3 by baldurk at 2021-09-21T18:04:57+01:00
Fix encoding of constants with potential forward references

- - - - -
1f68db5c by baldurk at 2021-09-21T18:04:57+01:00
Preserve value symtabs in exactly the order they come in

* Sometimes these are sorted, but that seems to be a recent dxc change.

- - - - -
012fedbb by baldurk at 2021-09-21T18:04:57+01:00
Fix basic block symtab entries

- - - - -
a67b0beb by baldurk at 2021-09-21T18:04:57+01:00
Don't warn on vector instructions - DXIL uses them sometimes

- - - - -
fccaee05 by baldurk at 2021-09-21T18:04:57+01:00
Handle attribute sets with per-function-parameter attributes in DXIL

* This also fixes the string (not enum) attribute decoding

- - - - -
ff6d495c by baldurk at 2021-09-21T18:04:57+01:00
On debug pass encoded DXIL through validator just in case

- - - - -
9efdf692 by baldurk at 2021-09-21T18:04:57+01:00
Don't require stripping the blob to fetch editable non-debug DXIL chunk

- - - - -
d15f264c by baldurk at 2021-09-21T18:04:57+01:00
Store values rather than indices for aliases/symtab to allow rebasing

- - - - -
42f508df by baldurk at 2021-09-21T18:04:57+01:00
Add i32/i8 helpers for DXIL

- - - - -
e1efc83f by baldurk at 2021-09-21T18:04:57+01:00
Add shader entry tag to common header

* We also allow GetPointerType to silently return NULL when no pointer exists,
  as this will be useful for encoding when we want to check if a pointer type
  exists.

- - - - -
ed4a2804 by baldurk at 2021-09-21T18:04:58+01:00
Remove unused instruction pointer from Metadata

- - - - -
0c0d6af9 by baldurk at 2021-09-21T18:04:58+01:00
Allow simple one-pass editing with DXIL

* DXIL's shape and necessity of pointers and relative addressing poses a
  challenge for editing. Currently we pre-reserve all arrays and take pointers
  to match DXIL's format and to allow edits to not require lots of index 
fixups.
  However this is a challenge when editing as the arrays may resize as things
  are inserted.
* The solution we take here is to copy all the arrays that will mutate to new
  storage and reserving enough for the edits, *while keeping the old array
  storage around*. We then assign all elements IDs, and after editing we do a
  fixup pass to find any pointers that are pointing into the old arrays and find
  them in the new arrays by ID.
* This means that pointers to the old storage remain valid and point to the
  right object even after we've resized for editing, and we only fix them up
  right at the end after all the edits so we can look up indices from pointers
  again.
* This approach may not work indefinitely sadly, and it does require
  conservative reservation. In future we might have to completely clone 
DXC's
  data storage as well (arena allocated and new everything, with no arrays for
  storage).

- - - - -
9efe0f5a by baldurk at 2021-09-21T18:04:58+01:00
Begin implementing DXIL shader patching for bindless feedback

* We don't annotate any bindless uses yet, this only declares the UAV and
  attempts to write into the first slot.

- - - - -
6ee985a0 by baldurk at 2021-09-21T18:04:58+01:00
Patch PSV chunk to fix dxil validation warning

- - - - -
8401ba26 by baldurk at 2021-09-21T18:04:58+01:00
Fix DXBC container offsets/length properly when stripping debug DXIL

- - - - -
dc6bc12d by baldurk at 2021-09-21T18:04:58+01:00
Annotate handle creation with writes to track bindless use on D3D12

- - - - -
b4cf86c4 by baldurk at 2021-09-21T18:48:43+01:00
Fix compilation on mac

- - - - -
e0926078 by baldurk at 2021-09-23T16:59:34+01:00
Patch feature flags chunk when adding UAVs on geometry stages

- - - - -
42fcc382 by baldurk at 2021-09-23T17:01:31+01:00
Try to load DXC before doing DXIL patching, to validate in debug builds

- - - - -
b4e4fed4 by baldurk at 2021-09-23T17:37:26+01:00
Remove path to trust application flushes on coherent maps. Closes #2372

* We used to allow applications to call vkFlushMappedMemoryRanges on coherent
  memory to manually annotate regions of memory that are changed in persistent
  maps, thus avoiding the overhead of RenderDoc needing to check for changes on
  each submit.
* Unfortunately this means that if the application calls flush wrongly then
  changes will no longer appear, even though the application was completely
  correct, if misleading, since by the spec behaviour vkFlushMappedMemoryRanges
  is a no-op on coherent memory so incorrect calls to it make no difference.
* Since applications making use of this are rare or non-existant we just remove
  the optimisation.

- - - - -
8901880d by baldurk at 2021-09-23T17:48:45+01:00
Ensure reference data for map comparisons is taken from serialised data

* If we serialise from the map, and then separately memcpy from it to populate
  the reference data then we risk another thread's writes happening in 
between
  and not being detected on subsequence checks. Instead we need to copy from the
  serialised data, that way regardless of what we snapshot there we always
  compare against it to detect any further writes.

- - - - -
77785cfe by baldurk at 2021-09-23T19:45:51+01:00
32-bit compile fix

- - - - -
5c87ee06 by baldurk at 2021-09-24T10:59:06+01:00
Ignore static used binds when allocating feedback slots

- - - - -
22dda946 by baldurk at 2021-09-24T10:59:39+01:00
Strip root signature to avoid false validation errors

- - - - -
a77c9e7a by baldurk at 2021-09-24T12:04:50+01:00
Demote DXIL validation step to warning as it's not reliable

- - - - -
7700c2a8 by baldurk at 2021-09-24T13:23:32+01:00
Don't trust presence/absence of raw buffer flag on D3D12 descriptors

- - - - -
ff92cc2b by baldurk at 2021-09-24T14:04:29+01:00
Don't flush coherent maps on vulkan when there are no command buffers

* Normally this is handled by checking referenced IDs, but we now
  unconditionally flush memory with BDA buffers bound to it.

- - - - -
e1880f62 by baldurk at 2021-09-24T15:11:22+01:00
Clamp value index by number of values

* This can be out of bounds when purely considering the instruction index if
  there's an instruction near the end, beyond the point where there are 
(many)
  further values.

- - - - -
8c5792f4 by Jake Turner at 2021-09-27T09:46:33+01:00
Add api/replay/pipestate.inl to sources list

xcode project generation is driven by the sources list
before this commit "pipestate.inl" was not present in the xcode 
project
after this commit it is present

- - - - -
552621a8 by baldurk at 2021-09-27T10:03:39+01:00
Fix a compile warning that appears on redhat

- - - - -
d3c6818f by baldurk at 2021-09-27T10:03:39+01:00
Update Catch to version 2.13.7

- - - - -
c8e7037e by baldurk at 2021-09-27T10:03:39+01:00
Make some custom changes to Catch2 for a better experience

* Add CATCH_CONFIG_FORCE_FALLBACK_STRINGIFIER to force use of ToStr in
  all cases. We can handle ints, etc, we don't need ostringstream, and
  this allows us to handle enums that would otherwise just be printed as
  their integer value.
* Add CATCH_CONFIG_INLINE_DEBUG_BREAK which restores the Catch 1.0
  behaviour of debugbreaks happening in macros and so in-line at the
  actual site failure. So the debugger stops on the CHECK() or REQUIRE()
  call instead of inside AssertionHandler::complete()

  Cherry pick from 
https://github.com/baldurk/renderdoc/commit/4232736fc21fc6a13a4de6997a5ae106598b225f

- - - - -
b20e337f by baldurk at 2021-09-27T12:23:15+01:00
Remove unused root elements after filling D3D12 pipeline state

- - - - -
2a53db8e by baldurk at 2021-09-27T12:23:58+01:00
Fix DXIL feedback to account for handle indices being register relative

* If a texture array is bound to register 17, the dynamic index passed into
  createHandle will be [17+x] :(

- - - - -
62d6ffae by baldurk at 2021-09-27T12:26:22+01:00
Enable DXIL bindless feedback test

- - - - -
d386df55 by baldurk at 2021-09-27T13:01:09+01:00
Clarify requirement of a capture for device lost errors

- - - - -
25b17c80 by baldurk at 2021-09-29T10:54:29+01:00
Add R/W locking around access to crash handler. Closes #2376

* The crash handler gets destroyed and recreated when we need to change creation
  parameters, and this races against anything else trying to use it to register
  or unregister memory regions.
* In partcular when initialising the replay we recreated the crash handler right
  after kicking off the GPU enumeration.
* We add a read/write lock so there's no significant added contention on 
most
  paths (even though it's not really high traffic in any case) to prevent 
this
  kind of problem in future.

- - - - -
5486bf09 by baldurk at 2021-09-29T13:54:32+01:00
Fix D3D11 overlays not displaying due to overwritten renderstate

- - - - -
1a9b15d4 by Jordan Justen at 2021-10-17T13:27:02-07:00
Merge tag 'v1.16' into debian/master

v1.16

- - - - -
1501666c by Jordan Justen at 2021-10-17T13:30:54-07:00
d/changelog: Start 1.16+dfsg-1 changelog

Signed-off-by: Jordan Justen <jljus...@debian.org>

- - - - -
d9f28c13 by Jordan Justen at 2021-10-17T13:37:16-07:00
d/patches: Rebase patches for renderdoc v1.16

Signed-off-by: Jordan Justen <jljus...@debian.org>

- - - - -
3d7bb1d8 by Jordan Justen at 2021-10-17T16:51:08-07:00
d/control: Update Standards-Version to 4.6.0.1

Signed-off-by: Jordan Justen <jljus...@debian.org>

- - - - -
251e8fb7 by Jordan Justen at 2021-10-20T12:37:45-07:00
d/changelog: Release 1.16+dfsg-1 to unstable

Signed-off-by: Jordan Justen <jljus...@debian.org>

- - - - -


30 changed files:

- CMakeLists.txt
- README.md
- debian/changelog
- debian/control
- debian/patches/0001-use-debian-glslang-for-renderdoc-spirv-driver.patch
- debian/patches/0004-Add-RENDERDOC_X86_PROC_FAMILY-CMake-and-RDOC_X86_FAM.patch
- debian/patches/0004-renderdoc-Use-libstb-if-found-by-cmake.patch
- debian/patches/0005-replay-Only-support-compressonator-on-x86.patch
- debian/patches/0008-renderdoc-Patch-for-glslang-11.1.0.patch
- debian/patches/0009-driver-vulkan-Fix-misspelling-avilable-available.patch
- debian/patches/0012-renderdoc-Fix-misspelling-existance-existence.patch
- debian/patches/0014-renderdoc-Fix-misspelling-matadata-metadata.patch
- debian/patches/0015-renderdoc-Fix-misspelling-occuring-occurring.patch
- debian/patches/0017-renderdoc-Fix-misspelling-persistant-persistent.patch
- docs/CONTRIBUTING/Compiling.md
- docs/CONTRIBUTING/Dependencies.md
- docs/behind_scenes/vulkan_support.rst
- docs/imgs/Screenshots/OpenLockedTab.png
- docs/window/texture_viewer.rst
- qrenderdoc/CMakeLists.txt
- qrenderdoc/Code/CaptureContext.cpp
- qrenderdoc/Code/CaptureContext.h
- qrenderdoc/Code/Interface/PersistantConfig.cpp
- qrenderdoc/Code/Interface/QRDInterface.h
- qrenderdoc/Code/Interface/ShaderProcessingTool.cpp
- qrenderdoc/Code/ReplayManager.cpp
- qrenderdoc/Code/ReplayManager.h
- qrenderdoc/Widgets/CustomPaintWidget.cpp
- qrenderdoc/Widgets/MarkerBreadcrumbs.cpp
- qrenderdoc/Widgets/MarkerBreadcrumbs.h


The diff was not included because it is too large.


View it on GitLab: 
https://salsa.debian.org/xorg-team/app/renderdoc/-/compare/aad1f990a2987c1469228e54453d526cc6f85413...251e8fb7922e256b2c12ab43ef7ad2f4952a0400

-- 
View it on GitLab: 
https://salsa.debian.org/xorg-team/app/renderdoc/-/compare/aad1f990a2987c1469228e54453d526cc6f85413...251e8fb7922e256b2c12ab43ef7ad2f4952a0400
You're receiving this email because of your account on salsa.debian.org.


Reply via email to