Commit Graph

3333 Commits

Author SHA1 Message Date
baldurk a5cab75095 Coverity: Remove dead case in switch, default to solid 2016-06-22 13:32:12 +01:00
baldurk c33a6f0826 Coverity: Fix dodgy code that's confusing Coverity 2016-06-22 13:24:56 +01:00
baldurk 6ec2b1d8ce Coverity: Fix incorrect use of sizeof vs ARRAY_COUNT 2016-06-22 13:14:56 +01:00
baldurk 2d59650d77 Coverity: Fix memory leak of screenshot pixels 2016-06-22 13:12:38 +01:00
baldurk 04d1668bd7 Add layout persistence to buffer viewer 2016-06-22 12:39:34 +01:00
baldurk 5864c11fa2 Add support for D3D11.3 and D3D11.4 (minor). Refs #235. Refs #145
* Only one major piece of functionality is unimplemented and stubbed out
  - WriteToSubresource and ReadFromSubresource in concert with passing
  a NULL D3D11_MAPPED_SUBRESOURCE parameter to ID3D11DeviceContext::Map.
2016-06-21 21:08:26 +02:00
baldurk dea4c04d61 Add support for DXGI 1.4 (1.5 has nothing we need to wrap). Refs #232 2016-06-21 17:14:34 +02:00
baldurk 6ef40b140c Remove useless (and in valid) call to vkGetImageSubresourceLayout 2016-06-21 14:55:47 +02:00
baldurk 6403b5a6d6 Use full pathnames for files, so we don't have duplicate keys in dict 2016-06-21 13:35:21 +02:00
baldurk b156859fc1 Print patch version for vulkan drivers 2016-06-21 12:44:08 +02:00
baldurk 6c02222fd6 When serialising a clear, save view desc so we can recreate it if needed
* This is a bit convoluted so follow with me here...
* As an optimisation, when not capturing a frame we serialise clears as
  clears for resources and mark those resources as clean. This way if a
  resource is cleared, then used in the frame, we don't have to worry
  about fetching or storing its initial data - we just replay the clear
  once while initialising and we're done.
* The alternative here is to mark a resource dirty when it's cleared,
  and then we might have to read back and serialise a completely flat
  image - rather wasteful.
* The problem is that if the resource is referenced but its view isn't
  then the view will be trimmed from the capture and we don't have it
  around to actually perform the clear. This only started being a
  problem when views were tracked in their own separate records.
* We can't create a circular dependency from view -> resource -> view
  as that would create cycles and keep lots of things alive pointlessly.
  Instead we add serialisation of the resource & view descriptor so that
  we can recreate the view on demand if need be. This adds 32 bytes to
  each clear and since clears aren't hugely frequent it's not a big deal
2016-06-21 12:38:23 +02:00
baldurk 75b1baa2c9 Add serialisers for D3D11.3 RTV_DESC1 and UAV_DESC1 2016-06-21 12:22:11 +02:00
baldurk 5cf5ae696d When capturing a frame, all UpdateSubresource calls are updates
* Since the CAPFRAME path in UpdateSubresource doesn't fill in the dummy
  data there's no point to try and create it so we have some data to
  fill in.
2016-06-21 12:01:26 +02:00
baldurk 2f65ba9fe8 If a def. context is created mid-capture, immediately start capturing it 2016-06-21 11:36:33 +02:00
baldurk 072b61cc3e Fix some clear functions missing handling INTEGER formats. 2016-06-21 10:48:20 +02:00
baldurk 9551211f73 Don't try and fetch the number of mips for a TEXTURE_BUFFER. Refs #285 2016-06-21 10:46:55 +02:00
baldurk 475021b676 Fix copy-and-paste error 2016-06-21 10:30:20 +02:00
baldurk 08e6456634 Set the right initial aspect in state tracking for stencil-only images 2016-06-21 10:01:49 +02:00
baldurk 11ee6e2e34 Allow dragging exes in anywhere and they won't be opened as logfiles 2016-06-20 17:30:29 +02:00
baldurk 9ac0153e74 Use %llu to print out Resource IDs (they're all decimal friendly now) 2016-06-20 14:32:57 +02:00
baldurk f9f13a3f0d When code goes through divergent control flow, stall until converged
* This can happen when there's divergence in an if/else, or in how many
  times a loop executes. We need to make sure threads go back to being
  lockstep once the flow converges so derivatives remain valid.
2016-06-20 14:32:56 +02:00
baldurk d0a292f611 Fix off-by-one error on D3D11's current EID when executing 2016-06-20 14:32:56 +02:00
baldurk 3e0b71de60 Fix error messages and check that we're actually validating floats 2016-06-20 14:32:55 +02:00
baldurk 792f9f1766 Add resampling down to max width 1024 of GL screenshots. Closes #241 2016-06-20 12:30:52 +02:00
baldurk e173cc2268 Remove forceExecute parameter from GL/Vulkan drivers
* This is only needed on D3D11 for historical architectural reasons as
  clears/copies/etc can be stored in the pre-capture chunks.
2016-06-20 12:13:46 +02:00
baldurk 1a15e230ad Remove FIRST_CONTEXT_CHUNK from D3D11 driver
* This wasn't needed anymore, and would have caused backwards-compat
  problems if non-context chunks really needed to go before it.
2016-06-20 12:13:12 +02:00
baldurk 68ba7313c3 Force TreeListView scrollbars to create handles on startup. Closes #202
* I honestly don't know why this fixes it really. I finally got a
  reliable repro which involved somehow scrollbars becoming visible and
  creating their window handles in a weird circumstance while dragging
  the window off fullscreen, and that causing the window handle create
  to fail.
2016-06-17 22:59:42 +02:00
baldurk a26a5c0665 Handle UpdateSubresource workaround needed on software command lists 2016-06-17 20:03:25 +02:00
baldurk 623e5681c2 Update dist.sh text for new docs build method 2016-06-17 19:59:30 +02:00
baldurk a9560efcdb Work around Intel GL bug with vertex array state queries 2016-06-17 17:16:07 +02:00
baldurk 4516120293 Add support for capturing the first frame in Vulkan.
* Defined as beginning at the creation of the first swapchain, to the
  first Present().
* This is mostly useful for samples that don't enter a proper present
  loop and just present once before exiting.
2016-06-17 17:13:51 +02:00
baldurk 10629ab92b Use https URLs to access renderdoc.org
* Previous versions accessing the http URLs will be redirected soon (as
  of time of writing this). The POST /bugsubmit won't be redirected as
  it's not feasible to redirect POST requests, but that will continue
  working.
2016-06-17 14:12:19 +02:00
baldurk dc1c7323e6 Direct log output to __android_log_print 2016-06-17 13:52:48 +02:00
Michael Rennie ad2b266f95 Makefiles to build apk for RenderDocCmd on Android & More replay fixes. 2016-06-17 13:50:00 +02:00
baldurk 3aad67f05d AMD now reports transfer capability for swapchain images 2016-06-17 13:18:49 +02:00
baldurk 6677ef1a33 Properly unwrap parameters passed to Discard*(). Refs #282
* Also at the same time, serialise the Discard*() functions so that we
  can replay them with nice obvious 'this has been discarded' effects.
2016-06-17 13:02:03 +02:00
baldurk 25d2fea3c9 Support querying for IDXGIResource in OpenSharedResource 2016-06-17 10:14:23 +02:00
Baldur Karlsson d521054aa4 Merge pull request #283 from jekstrand/vk-shader-fixes
vulkan: Add locations to fragment shader inputs
2016-06-15 14:14:49 -04:00
Baldur Karlsson 5c2ac32f66 Switch docs.renderdoc.org to renderdoc.org/docs
* This lets the link be https (as I don't have a wildcard cert)
2016-06-15 20:10:54 +02:00
Jason Ekstrand 8034d1a678 vulkan: Add locations to shader inputs/outputs
As-is, glslang doesn't provide default locations on inputs so these weren't
getting any location decorations whatsoever.  This is illegal in Vulkan.
While putting them in a struct *should* be possible in theory, glslang
doesn't like to do it with the glsl version in the shader.  Just splitting
them into separate inputs seems like the most reliable solution.
2016-06-15 10:35:15 -07:00
baldurk 8aafe12bf8 Add debug manager initialisation progress bar updating to GL 2016-06-09 17:37:17 -07:00
baldurk 7884b0e825 Add HTML pipeline export for GL, and minor tweaks on Vulkan/D3D11 2016-06-09 17:37:16 -07:00
baldurk b55f08843d Travis: Disable clang-format checking while llvm.org/apt is down 2016-06-09 16:00:19 -07:00
baldurk e263c107de Rejig the features list in the docs so it's not one-per-API
* It doesn't make sense when 90% of the features are available in all
  APIs now.
2016-06-09 15:59:43 -07:00
baldurk 1f3800382f Don't call vkCmdSet* for non-dynamic states when applying pipe & state 2016-06-09 15:30:31 -07:00
baldurk ed018f23e8 Add shader edit & replace for vulkan (without source for now)
* Currently at least glslang doesn't emit OpSource with source data
  embedded, so we don't pull it out and for the moment we just pre-fill
  the shader editor with the disassembly text (which is sort of but not
  really GLSL) as a better-than-nothing default.
2016-06-09 15:30:31 -07:00
baldurk 6a7e745b97 Don't do a bunch of unnecessary runtime string contenation 2016-06-09 13:57:01 -07:00
baldurk 943ecdef58 Coverity: Ensure bitshifts are done at 64-bit precision
* We use more than 32-bits in the cache key, so we need to be sure that
  any bitshifts are done at 64-bit, since 32-bit shifts are undefined.
2016-06-09 13:57:01 -07:00
baldurk a990f5adb7 Coverity: Be clearer about only using viewportstate if we have it 2016-06-09 13:57:00 -07:00
baldurk 54fd063740 Coverity: Ensure GL GetByteSize() returns at least 1, for sanity 2016-06-09 13:56:59 -07:00