Commit Graph

4788 Commits

Author SHA1 Message Date
baldurk b558cd4af4 Check top-level stride of buffers to know if we need to pad. Refs #485 2017-01-11 17:23:39 +00:00
baldurk 34b4cee42c Add markers during replay to make it easier to self-debug 2017-01-11 17:23:39 +00:00
baldurk 9077203f71 Always allocate at least 2048 slots for pixel history
* This means that any 'degenerate' cases of only one event or so on will
  still have enough slots to be able to handle reasonable amount of
  overdraw. The only case that will fail is if every event has loads of
  hits, but on average there should be enough slots allocated.
2017-01-11 17:23:39 +00:00
Alex Smith 6358517ac2 Add missing strings for VK_PIPELINE_STAGE_ALL_{GRAPHICS,COMMANDS}_BIT 2017-01-11 16:51:34 +00:00
baldurk ac47036368 Add an option to hide any markers with only "API Calls" but no draws. 2017-01-09 18:15:45 +00:00
baldurk 029ffec6e6 Do shader debugging without replaying the capture at all
* This requires that every operation on output windows leaves the state
  untouched, so make a few changes to arrange that.
* By doing this it means any unstable/non-deterministic results are
  consistent between the current capture inspection and the shader
  debug results.
2017-01-09 18:15:26 +00:00
baldurk 7e26f97f17 Update CONTRIBUTING document with better guidelines for larger changes 2017-01-09 15:14:51 +00:00
baldurk 7947361345 Compress README a bit for readability's sake 2017-01-09 13:19:27 +00:00
baldurk 10053b8be8 Update docs to mention that Vulkan/D3D12 don't support Map() verifying 2017-01-09 11:42:47 +00:00
baldurk ffbb2da206 As a hack, only check AMD driver for broken texelFetch on windows
* Without this, the RADV open source driver also gets checked, and its
  version is 0.0.1 so it gets marked as buggy.
* Unfortunately there's not a great way to identify different drivers
  for the same piece of hardware (ie. PCI IDs are the same).
2017-01-09 11:31:55 +00:00
baldurk 3bfbd1c6ac Only create VK Array <-> MS copy shaders if device has required features 2017-01-09 11:31:02 +00:00
baldurk 9a3dfd107c Implement Map() pointer verification for OpenGL 2017-01-09 11:19:52 +00:00
baldurk 4d00722f57 Add tinyfiledialogs from tinyfiledialogs.sf.net for x-platform messages
* Added a couple of very minor warning suppressions for VS. To do with
  casts between size_t and int or char const * and int.
2017-01-09 11:19:15 +00:00
baldurk 1be5289fec Ensure floats are written to sampling program as accurately as possible 2017-01-06 15:42:41 +00:00
baldurk c088c9186d Use the same component for all components in a shift 2017-01-06 15:41:41 +00:00
baldurk 329ebc2d05 Don't allow the program to close while a global hook is active 2017-01-06 12:34:36 +00:00
baldurk 88b4fc92db Make sure to mark buffers dirty if a clear of their data isn't recorded 2017-01-06 12:13:32 +00:00
baldurk 030cbfde9a Batch update copyright years everywhere 2017-01-06 12:13:31 +00:00
baldurk 90e068a111 Add support for VK_AMD_negative_viewport_height 2017-01-06 11:30:58 +01:00
baldurk 00566622e3 Detect and drop calls setting a GPU virtual address of 0 2017-01-06 10:33:36 +01:00
baldurk 58a5182555 Remove spammy 'error', that could be triggered from just unused entries 2017-01-05 21:44:14 +01:00
baldurk 5b199d55d7 Don't issue occlusion or statistics queries on non-direct command lists 2017-01-05 21:37:37 +01:00
baldurk 67450b6180 Use original allocators when re-recording all commands. Refs #457
* We have to use the original allocators when re-recording because the
  capture may record multiple command buffers at the same time,
  requiring multiple allocators.
2017-01-05 18:55:45 +01:00
baldurk 0981a1e099 Fix single flush validate with combined initial state list use 2017-01-05 18:54:32 +01:00
baldurk 11a3e65654 Make sure we don't index into empty RTs array with rtSingle. Refs #482 2017-01-05 18:54:18 +01:00
baldurk 89b1ff2337 Export drawcall times with proper summation over regions. Refs #468 2017-01-05 11:38:00 +00:00
baldurk 45e7b64eb4 Don't apply durations twice if there's a marker next to a drawcall 2017-01-05 11:37:30 +00:00
baldurk 66ee279e9c Fix overlay handling in vulkan interacting badly with subpasses
* This fixes a crash that was reported via the crash handler
2017-01-04 18:52:01 +00:00
baldurk 299e427503 Include D3D12 docs page in the table of contents 2017-01-04 17:11:52 +00:00
baldurk 78706d3d01 Init copyheap after checking for errors
* This doesn't actually fix any problems, but a couple of crash reports
  exposed the fact that we try to use the result of CreateDescriptorHeap
  before checking for errors - this leads to a crash and hides the real
  problem.
2017-01-04 16:56:12 +00:00
baldurk 52cbc802a1 Fix crash if D3D12 capture has no initial states at all
* Located via a crash report - if there are no initial states in a
  capture at all, then initStateCurList will still be NULL after trying
  to apply them.
2017-01-04 16:55:29 +00:00
baldurk a4ebf68e9d Fix format string - IDs are 64-bit 2017-01-04 16:54:54 +00:00
baldurk 079cc7a8db Protect against invalid buffers being bound to GL
* Should fix a reported crash - it looks like an invalid buffer ID was
  passed, and there's no protection for this.
* As with other invalid API use, RenderDoc isn't intended to be totally
  safe against bad API use. This check is easy to add though and should
  catch some simple cases.
2017-01-04 16:54:33 +00:00
baldurk 07fd9c8e0c Speculative fix for crash with buffer viewer being closed early.
* I received a few crash reports with a disposed buffer viewer still
  doing work. My theory is that some operation took long enough that the
  user was able to close the viewer (perhaps *because* it was taking a
  long time) and subsequent work then didn't handle the window having
  been closed.
2017-01-04 16:47:58 +00:00
baldurk 4a2e901807 Don't display pixel context right-click context menu if no log is loaded
* This fixes an uploaded crash, where this context menu could launch
  operations that crash without a capture to work on.
2017-01-04 16:45:54 +00:00
baldurk 8256a00e1e Further crash prevention - ensure area is not empty
* The last fix to this file wasn't complete - both width and height must
  be greater than 0 for the area to be valid to fill.
* Fixes an uploaded crash report.
2017-01-04 16:45:19 +00:00
baldurk f2d3c04a73 Make sure quad overdraw texture is always at least 1x1 in size
* Fixes a crash reported through the crash uploader.
2017-01-04 16:44:40 +00:00
baldurk 116903a8a3 Add some friendlier printing to the travis log for clang-format failures 2017-01-04 16:29:00 +00:00
baldurk 168b742653 Tidy up scripts a bit and add 'set -ev' to make them more robust 2017-01-04 16:28:59 +00:00
baldurk d2396ad854 Build docs target with sudo: false to magically fix it 2017-01-04 16:28:52 +00:00
Jake Turner d7f8a0236f Split travis file into helper scripts. Added OSX build.
* Setup and helper script per build target, currently: docs, linux & osx.
2017-01-04 13:54:59 +00:00
Jake Turner 0d52eeed35 Fixed OSX clang compile error (from -Wtautological-compare) 2017-01-04 13:54:59 +00:00
Jake Turner a91c355062 Remove qt warning settings and use renderdoc ones
Disable warnings in qt (warn_off) then remove -w from qt compiler flags
to re-enable previous renderdoc warnings
Use qt standard way to enable c++11 eg CONFIG += c++11
2017-01-04 13:54:59 +00:00
Michael Rennie aa5ec25270 Fix thumbnail generation for eSpecial_R5G6B5 & eSpecial_R5G5B5A1. 2017-01-04 13:02:47 +00:00
baldurk b088b21757 Allow renaming the label on captures in the connection window. Refs #476 2017-01-03 17:53:12 +00:00
baldurk e0f814bcd8 Fix GL quad overdraw overlay 2017-01-03 17:20:26 +00:00
baldurk 2ce70bbe5b Copy existing depth format for quad overdraw intermediate depth texture 2017-01-03 17:16:48 +00:00
baldurk b0eab354a3 Pass array properly to glClearBufferiv 2017-01-03 17:16:13 +00:00
baldurk f3c36ccf52 Make sure to re-link GL programs after copying attrib bindings 2017-01-03 17:16:01 +00:00
baldurk bd8720141d Fix the clear-before-draw/pass overlay on GL 2017-01-03 16:34:27 +00:00