Commit Graph

5149 Commits

Author SHA1 Message Date
baldurk 8016dea558 Add RDSplitter to project filters file as well as the project proper 2017-03-20 12:13:19 +00:00
baldurk 3ea26714fb Handle glCreateShaderProgramv returning 0 if the call fails
* The majority of GL calls that create objects are pretty failure proof
  since they don't really do anything apart from create/allocate. In the
  case of glCreateShaderProgramv though it requires the call to be valid
  e.g. the type enum to be correct, so it can actually return 0 if that
  happens.
* If we don't check for this then we end up creating an ID and program
  for name 0 which causes all sorts of problems.
2017-03-20 11:55:48 +00:00
baldurk be86d52491 Fixes for marking VAO 0 referenced. Refs #541 2017-03-20 11:21:10 +00:00
Graham Wihlidal e71614d58e Fix crash when "coherent maps" try to erase end()
* This happened because a memory handle was not currently mapped.
2017-03-20 11:04:27 +00:00
baldurk 4936c6cd67 Unverified experimental fix for a crash disassembling SPDB chunks 2017-03-14 21:52:13 +00:00
baldurk 747d0550f9 Compile fix - missing rename was mixed in with other changes 2017-03-13 19:06:22 +00:00
baldurk 487a1b7903 Start moving towards C++ only UI code. Assume C++ for the replay API
* The C# P/Invoke stuff doesn't directly use the header, and we are soon
  going to deprecate the C interface entirely.
2017-03-13 17:56:00 +00:00
baldurk 55565a148b Rename solution platforms Win32 -> x86 so that x64 becomes the default
* Thanks to build-master general @aras_p for the tip:
  https://twitter.com/aras_p/status/841287101907910656
* The projects are still defined with the usual platforms Win32 and x64,
  this only affects the naming in the solution configurations.
2017-03-13 17:23:42 +00:00
baldurk a262ad7314 List renderdocui first in sln so it is the default startup project
* VS will default to the first project, but only if the folder it's in
  (UI) is listed first too.
2017-03-13 17:23:42 +00:00
baldurk bda6cf0870 Fill out default script editor contents after initialising python 2017-03-13 17:23:41 +00:00
baldurk 8b9dcbe519 Remove pdblocate, move DIA2 usage into win32_callstack.cpp
* Previously on VS2010, the DIA2 library wasn't properly supported on
  64-bit, so it needed a separate program that always ran 32-bit and
  proxied operations over a named pipe.
* Now DIA2 will load correctly in 32-bit and 64-bit, so we can do the
  work in-process without needing the separate exe.
* We still need to distribute dbghelp.dll and symsrv.dll, so these now
  live alongside renderdoc.dll in the build/install folder with matching
  bitness.
* At the same time fixed a bug I noticed where the 0-based module index
  would return 0 for the first valid module and be treated as invalid.
2017-03-13 17:23:41 +00:00
baldurk c160dcf049 Update redistributable from VC100 to VC140 2017-03-13 17:23:40 +00:00
baldurk 15b983b4b4 Remove some OS-specific code due to VS2010 lacking a va_copy 2017-03-13 17:23:39 +00:00
baldurk b5f5b8534e Update solution and projects to VS2015, VS2010 is no longer supported
* Truly, this is a sad day. But unfortunately many dependencies are just
  not supported and it's increasingly difficult to stay on VS2010.
* In an ideal world, the IDE and compiler would be decoupled, but that's
  not the case.
2017-03-13 17:23:38 +00:00
baldurk 705462b43c Add RDSplitter to visual studio project 2017-03-13 17:23:38 +00:00
Dimitris Kapnopoulos 4ab61286e4 Added custom Splitter class, RDSplitter, with titles in the handles 2017-03-13 10:02:43 -07:00
Victor Moya 0964034b4b Implemented Vulkan counters
Implemented support for Vulkan counters in FetchCounters based on the
vulkan Pipeline Statistics query and the precise Occlusion query.
2017-03-13 06:33:14 -07:00
Michael Rennie e6d2f1b7a6 glMapBuffer/glGetBufferSubData not core ES, use glMapBufferRange.
Mesh viewer for ES now working.
2017-03-13 06:20:57 -07:00
baldurk 5e2717daec Calculate compressed byte size per-mip, not always from top mip size 2017-03-10 16:28:55 +00:00
Janos Pantos 1c675a4a24 Use glClearDepthf internally instead of glClearDepth 2017-03-10 16:09:36 +00:00
Janos Pantos a719d349b7 Don't use parameters and functions which are not supported by OpenGL ES.
Remove the usage of unsupported functions and invalid parameters of
various functions (e.g. Enable/Disable/Get/etc).
2017-03-10 16:09:36 +00:00
baldurk 7fe94920d5 Fix accidental call to ARB_direct_state_access function instead of EXT
* The ARB version isn't emulated so it wouldn't work on systems without
  GL 4.5/ARB_dsa.
2017-03-10 16:09:03 +00:00
baldurk c89bcfbb7a More robust isolation of the git commit hash, without special cases 2017-03-10 13:27:59 +00:00
baldurk 248dbfa4a2 Allow external overriding of auto-fetched git hash identifier in cmake
* This is useful if the build doesn't happen within a git checkout and
  you want to pass in the hash anyway, but it also allows adding
  suffixes like -official etc.
2017-03-10 13:17:46 +00:00
baldurk 8f491421f0 Disable hooking of nvoglv{32,64}.dll and nvapi{,64}.dll
* This is in case they do funky stuff that our hooking might interfere
  with.
2017-03-10 12:45:33 +00:00
baldurk 56cf9d6a51 Update SPIR-V disassembly strings for latest constants & extensions 2017-03-09 19:13:27 +00:00
baldurk c1c16b3f08 Update to glslang as of commit 229a6f7f7ba5cdff8917fa11d754e0fe8db6abf1 2017-03-09 19:13:26 +00:00
baldurk dff44dc2b1 Fix for interaction between KHX extensions and NV_dedicated_allocation 2017-03-09 19:13:26 +00:00
baldurk 9512a0fc68 Add support for KHX experimental external sharing extensions
* VK_KHX_external_memory
* VK_KHX_external_memory_capabilities
* VK_KHX_external_memory_fd
* VK_KHX_external_memory_win32
* VK_KHX_external_semaphore
* VK_KHX_external_semaphore_capabilities
* VK_KHX_external_semaphore_fd
* VK_KHX_external_semaphore_win32
* VK_KHX_win32_keyed_mutex
2017-03-09 19:13:25 +00:00
baldurk e0d1ce1c04 Update to vulkan headers v1.0.42 2017-03-09 19:13:24 +00:00
Michael Rennie eb6db1dcc5 Move host adb: check into ExecuteAndInject(), so qrenderdoc has it too. 2017-03-09 19:13:24 +00:00
Michael Rennie 8f8a291b4c Posix LaunchProcess read stdout/stderr pipes into ProcessResult. 2017-03-09 19:13:23 +00:00
Michael Rennie e7a1ac1c67 fflush stdout/stderr prints to aid debugging. 2017-03-09 19:13:23 +00:00
Janos Pantos e6686df74b Fix creating fake color/depth and output textures in case of GLES. 2017-03-09 19:13:22 +00:00
Janos Pantos 46a12525ef Modify shaders to be GLES compatible. 2017-03-09 19:13:21 +00:00
baldurk 7796863b00 Update resource usage entries recursively in draws for vkCmdExecCommands 2017-03-09 19:13:21 +00:00
baldurk 2780c9c522 Handle the same dll filename being loaded from multiple places
* This happens with atidxx64.dll which gets loaded as a stub and a real
  thing. If we hook the wrong dll then we might not intercept some calls
  that go to the real thing.
* In particular, LiquidVR tries to use the AMD extensions and if we
  don't properly block those calls, it will lead to a crash on replay.
2017-03-07 16:43:15 +00:00
baldurk 5c0d9876be Only serialise queue indices if sharing mode is CONCURRENT. Refs #529 2017-03-07 15:21:48 +00:00
baldurk e391540588 Explicitly unset renderdoc capture env var when running replay mode
* We don't support self-hosted captures this way, and this prevents a
  crash if the user accidentally left the env var set when running the
  replay program.
2017-03-07 15:09:39 +00:00
baldurk ddda909ed7 Don't crash when disassembling an unknown SPIR-V extension operation 2017-03-07 15:03:22 +00:00
baldurk e946e9a4bb Fetch pipeline state after replaying current draw, not before
* The drawcall may modify some pipeline state - e.g. we want to fetch
  append/consume counter values after the draw to be consistent with the
  rest of the UI, and if the draw is a renderpass boundary we want to
  fetch the bindings after the renderpass has started, not before.
2017-03-07 14:14:03 +00:00
baldurk 901c0ace7f Fetch renderpass state even if no graphics pipeline is bound (yet) 2017-03-07 14:13:02 +00:00
baldurk b97fe34255 When parsing /proc/self/maps, dev numbers are hex not decimal 2017-03-07 12:48:49 +00:00
baldurk e3f09210b3 Fixes for 32-bit on D3D12 2017-03-07 12:46:53 +00:00
baldurk 23520b0ed9 Strip out direct mode display extensions on replay as well as WSI
* We don't need them directly and it can unnecessarily block capture
  replaying
2017-03-06 18:53:54 +00:00
baldurk 1165702dce Add missing VK_FORMAT_A8B8G8R8_*_PACK32 handling to switch statement 2017-03-06 18:53:54 +00:00
baldurk d3b2399934 Add Gentoo dependencies to CONTRIBUTING.md and mention qtchooser 2017-02-24 19:09:56 +00:00
baldurk f76a4cc339 Don't launch blocking execute call on UI thread, pop up progress ticker
* This most commonly happens launching an Android program that takes a
  while to launch, or if you're launching a program with the delay for
  debugger option set.
* Instead of the whole UI hanging, you'll get a progress dialog to
  appear while it's waiting.
2017-02-24 17:34:02 +00:00
baldurk 0ff1ff0d03 Temporarily un-ignore SIGCHLD signals, as Qt needs them to function
* The downside is it means any programs launched by renderdoc will be
  defunct zombie processes until qrenderdoc closes.
2017-02-24 16:51:49 +00:00
baldurk 4dec05cb2b Fake backbuffer refcount on D3D12 to match D3D11 behaviour. Refs #527 2017-02-24 14:23:31 +00:00