Commit Graph

7504 Commits

Author SHA1 Message Date
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
baldurk 21b7c0265a Account for an array as the last element of an SSBO struct, when padding 2018-06-05 21:08:06 +01:00
baldurk c36b4e1ef6 Attempt to fix missing diagnostic logs in crash reports 2018-06-05 21:08:06 +01:00
Amit Prakash d838109f25 Add to enable VK_AMD_gpa_interface extension 2018-06-05 15:26:54 +01:00
baldurk fe8cbfcc8c Handle different actual indices vs. displayed indices exporting VS Out
*  For VS Out data the actual offsets may be different than displayed, so we
  calculate manually rather than querying the model for each index.
2018-06-04 20:12:27 +01:00
baldurk 66d915d68b Don't crash if GS/TES shader reflection failed to fetch 2018-06-04 20:11:39 +01:00
baldurk 1f18b2ef4e Support NULL pRootSignature when creating pipelines. Closes #997
* Seemingly if NULL, the embedded blob is used in the shaders (which must be
  present in at least one shader, and must match exactly if present in multiple
  shaders).
2018-06-04 19:23:26 +01:00
Józef Kucia a38498b32f Export unsupported GL functions on Linux.
This fixes apps which load legacy GL functions using dlsym(). Some apps
load legacy GL functions unconditionally, even if they have no intention
of calling them.
2018-06-04 10:15:11 +01:00
Józef Kucia 4d8e14f73b Use proper names for unsupported GL functions. 2018-06-04 10:15:11 +01:00
Hans-Kristian Arntzen ac3efb681e Make As*() functions const-correct. 2018-06-04 10:14:29 +01:00