Commit Graph

7513 Commits

Author SHA1 Message Date
baldurk 082c5e3d07 Don't delete context's own record when deleting context resources 2018-06-19 20:48:30 +01:00
baldurk fe910c4eab Add support for all GL 4.6 extensions except SPIR-V 2018-06-19 20:48:30 +01:00
baldurk c4c4c4b67d Display multiview state in vulkan pipeline state viewer 2018-06-19 20:48:30 +01:00
baldurk 53364adeef Support mesh output from different view indices on vulkan
* When using VK_KHR_multiview you can select which view to view the mesh data from.
2018-06-19 20:48:30 +01:00
baldurk ad2673965d Fix grep range in hookset.pl 2018-06-19 20:48:30 +01:00
baldurk e87eacb2a0 Fix switching between pipeline state viewers 2018-06-19 12:38:18 +01:00
baldurk 0795e739f9 Fix python docstring copy-paste error 2018-06-18 19:05:04 +01:00
baldurk 545d019a62 Exclude API Calls markers from previous/next list. Closes #868 2018-06-18 18:39:06 +01:00
baldurk 0dda96a045 Change previous/next/parent IDs in DrawcallDescription to pointers
* This is a legacy holdover from the C# interop not being able to preserve
  pointers easily.
2018-06-18 18:39:06 +01:00
baldurk f919ea81e2 Don't unwrap instance before calling wrapper. Closes #1012 2018-06-18 18:39:06 +01:00
baldurk 14e3a3d360 Move API-agnostic pipeline state wrapper into core interface
* There's no need for this to be in the UI, and moving it allows it to be used
  from script which is very useful.
2018-06-18 18:39:06 +01:00
baldurk 7ae6581a65 Remove assert on duplicate GPU Address ranges
* It's valid to have overlapping buffers on a heap, which could end up with
  overlapping ranges.
* It's impossible from the API to tell which buffer an address came from if
  there are multiple possibilities, but any of them will be technically correct,
  we just might display a different buffer than the user expected.
2018-06-18 15:41:05 +01:00
baldurk 8024c8c342 Store and serialise resources in D3D12 descriptors by id directly
* The problem with storing resource pointers in descriptors is that it can be
  invalidated without detection - a kind of A-B-A problem - if the resource is
  deleted and then another resource is allocated with the same pointer.
* Descriptor creation in D3D12 is extremely complex and there are many ways a
  resource could become incompatible with the descriptor metadata struct.
  Detecting all possible ways a new resource could be incompatible is not
  feasible.
* As a solution, we store the ResourceId which we know is immutable, serialise
  via the pointer, and keep the live ResourceId on replay. If the resource was
  deleted, the serialisation will fail because we look up the pointer at the
  point of serialise, and a deleted resource will end up being NULL.
* To try and abstract this away and avoid potential confusion with the
  ResourceIds, we make the descriptor contents private and provide accessors.
2018-06-18 15:20:08 +01:00
baldurk 11091f1e54 Tidy up python documentation and add examples 2018-06-15 19:44:37 +01:00
baldurk 45c3c27923 Rename DrawFlags::UseIBuffer to DrawFlags::Indexed 2018-06-15 19:40:54 +01:00
baldurk 4561b55464 Persist a default browse directory for file dialogs, if none is provided
* This provides a slightly more sensible default than the application working
  directory.
* The default is shared across all dialogs and open/save.
2018-06-15 19:40:54 +01:00
baldurk efd11bb7f2 Don't crash if OMSetRTVs is called with no RTVs and single handle flag 2018-06-15 10:34:05 +01:00
baldurk c737ecebba Fix mesh output with multiview - always output view 0 2018-06-15 10:10:22 +01:00
baldurk 093e8a6b40 Support NewFloatingArea and LastUsedArea properly in AddDockWindow 2018-06-14 17:57:31 +01:00
baldurk 68bd58a308 Fix typo in python docstring 2018-06-14 17:56:26 +01:00
baldurk bf70aeb64d Handle None being passed from Python for a QWidget pointer 2018-06-14 17:56:18 +01:00
baldurk 4b11dce193 Fix linux compilation 2018-06-13 20:54:30 +01:00
baldurk b36b1fa453 Change remote server version to be == RenderDoc version
* Any time the replay types serialisation change, the remote server becomes
  incompatible. We're not going to add backwards compatibility to that system,
  so we need to break it every time.
* Really the version should be bumped any time renderdoc_serialise.inl changes,
  but we don't have an auto-incrementing revision to use.
2018-06-13 17:40:02 +01:00
baldurk ae5323bccc Remove mention of single-queue limitation from docs 2018-06-13 17:18:00 +01:00
baldurk 0ee6406a34 Don't cull while rendering meshes on GL 2018-06-13 16:58:54 +01:00
baldurk d4b4355b89 Don't create aliasing fake physical devices 2018-06-13 16:16:07 +01:00
baldurk add4b44283 Fix some cases missing multiqueue handling 2018-06-13 16:15:52 +01:00
baldurk 47f3f64fc7 Rename Samples Written to Samples Passed
* This measure the number of samples that pass the depth/stencil tests -
 In the case of early tests, this means it doesn't account for shader discard before writing.
2018-06-13 13:22:11 +01:00
baldurk 0a965045f7 Add support for extension VK_KHR_get_surface_capabilities2 2018-06-13 13:11:52 +01:00
baldurk d79514f926 Don't process DX12 maps that have an invalid/empty written range 2018-06-13 09:17:04 +01:00
baldurk abd67a7702 Add some DX12 performance optimisations
* Switches some contended mutexes for R/W locks
2018-06-13 09:17:03 +01:00
baldurk de969105d4 Add R/W lock to OS-specific wrapper 2018-06-13 09:17:03 +01:00
baldurk ea3e2c8610 Add multiqueue support for Vulkan. Closes #373 2018-06-13 09:17:03 +01:00
baldurk 2c8674790c Add spacers in pipeline view for if all groups are collapsed 2018-06-13 09:17:03 +01:00
baldurk d9bab79dbc Allow clicking on labels of collapse group boxes to toggle 2018-06-13 09:17:03 +01:00
tuxerr 9b33a73631 bugfixes and gl driver removal of context data record on delete 2018-06-11 19:18:02 +01:00
tuxerr cc9d50cf2e moving per-thread records to the TLS-context 2018-06-11 19:18:02 +01:00
Remi Palandri 891b1f61ef add multi context support for GL, and VR support to select only one 2018-06-11 19:18:02 +01:00
baldurk 3fd0707641 Check for KHR_debug and ensure ClientMemoryIBO is fully created 2018-06-07 19:27:57 +01:00
baldurk 6ceccb678b Fix race in vulkan code if QueueSubmit overlaps start/end capture 2018-06-07 18:20:42 +01:00
baldurk 9b25f3948e Fix copy-paste error of shader output values in wrong places in history 2018-06-07 16:08:28 +01:00
baldurk 6e06e6f338 Mark RTVs as used when they are allocated 2018-06-07 14:49:32 +01:00
baldurk 3ffbaac987 Account for stream-out counter when calculating output size 2018-06-07 14:49:20 +01:00
baldurk 72b40769b5 Add support for D3D12 up to D3D12.3. Closes #966 2018-06-07 14:49:07 +01:00
baldurk 4de23d8d8b Fetch enough data even for odd vertex attribute offsets. Closes #1007 2018-06-05 21:08:06 +01:00
baldurk 0e826a9263 Pass -n when launching android activity to process arguments. Refs #987 2018-06-05 21:08:06 +01:00
baldurk 09f0c537bd Give client-memory buffers obvious names 2018-06-05 21:08:06 +01:00
baldurk 892bc28772 To be backwards compatible with older captures, create global fake VAO 0 2018-06-05 21:08:06 +01:00
baldurk 0c47ee322b Expand backwards compatibility check for fake FBO 0 2018-06-05 21:08:06 +01:00
baldurk c2c0433999 Fix logic/blend enabled being wrong way around on D3D12 too 2018-06-05 21:08:06 +01:00