Commit Graph

5165 Commits

Author SHA1 Message Date
Dimitris Kapnopoulos 6e06eb5164 Added tooltips for all QToolButtons. RDSplitter checks for valid index.
handleDoubleClicked in RDSplitter checks if the index argument is less than zero or bigger than count
2017-03-28 02:54:15 -07:00
Michael Rennie 74ffa0ef87 VK_NULL_HANDLE build fix. 2017-03-27 05:56:42 -07:00
baldurk 539341a96f 32-bit compile fix 2017-03-22 11:09:11 +00:00
baldurk 6e3f50c3ce Store the original vulkan swapchain imageUsage and apply it on replay
* This means if someone was using STORAGE_BIT for the swapchain then we
  add the bit to our fake backbuffers on replay.
2017-03-21 15:30:27 +00:00
baldurk e11f4a5ba7 Fix serialisation of non-empty arrays in dummy pQueueFamilyIndices 2017-03-21 15:13:51 +00:00
baldurk dabb790ee1 Fix handling of instanced mesh output from GS/tessellation stages
* For VS we can assume that instances all output the same amount of data
  so each instance outputs totalVerts / numInstances verts. However that
  assumption doesn't hold true for geometry/tessellation stage where
  each instance can expand independently.
* Unfortunately the only way to get per-instance sizes is to do an
  O(N^2) loop of draws up to the real number of instances, checking the
  total output each time, and find out the per-instance size from there.
* Once vulkan has an implementation for GS/Tess out, it will be simpler
  as we can just patch the shader to write to an atomic counter with the
  primitive/vertex output count in each instance.
2017-03-21 15:12:23 +00:00
baldurk d0394d9233 Only do queued row select on the stage that was selected
* This prevents out-of-range errors when picking in a GS out view an
  expanded mesh, and getting a row that's higher than exists in the VS
  in view
2017-03-21 12:38:21 +00:00
Dimitris Kapnopoulos d3faa58a78 Added Tips Dialog. Changed Tips_SeenFirst to Tips_HasSeenFirst 2017-03-21 04:09:47 -07:00
baldurk f3d7dc774f Add a D3D12MarkerRegion for future use
* Not used yet, as I need to figure out how to apply list markers when
  we record multiple individual lists. Doing open/close of a list just
  for the marker seems wasteful. It could be fired directly at the queue
2017-03-20 21:20:15 +00:00
baldurk 1b992db45c Close list earlier so that error bail-out conditions won't leave it open 2017-03-20 21:20:04 +00:00
baldurk a29dfb814b Set sample mask and sample count for patched PSOs in D3D12 overlays 2017-03-20 21:17:16 +00:00
baldurk d28657bd4a Set vertexOffset not baseVertex with offset in DrawInstanced() 2017-03-20 21:17:15 +00:00
baldurk 0ead37018d Remove redundant fix causing off-by-one errors at runtime. Refs #380
* Previously this fix was needed for shader debugging since we did a
  replay up to before the draw, before debugging. However we don't do
  that anymore and in general the event ID we last replayed will be
  accurate.
2017-03-20 21:16:08 +00:00
Janos Pantos 8b27eda845 Emulate glGetTexImage for GLES 2017-03-20 10:08:43 -07:00
baldurk d2d86b5726 Add 'floateleven' buffer format for R11G11B10 packed data, fix unpacking 2017-03-20 13:02:20 +00:00
baldurk 8badc43028 Add a natvis file to renderdoc project for rdctype::array/rdctype::str 2017-03-20 12:13:26 +00:00
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