Commit Graph

4739 Commits

Author SHA1 Message Date
baldurk bd8720141d Fix the clear-before-draw/pass overlay on GL 2017-01-03 16:34:27 +00:00
baldurk 121e3685f0 Fix GL overlays to handle multisampled targets properly 2017-01-03 16:34:20 +00:00
baldurk 3541731817 Clarify what type of clipping the clipping overlay shows 2017-01-03 16:33:32 +00:00
baldurk 5cf16ccbd4 Fix warnings from clang compilation 2017-01-03 14:49:42 +00:00
baldurk 28e5cd6b56 Pass warning flags into qmake when building 2017-01-03 14:23:59 +00:00
baldurk c57dcce816 Don't debug clear buffers, and NULL records. Refs #471
* Since we don't clear out stale descriptors that reference deleted
  objects, we have to make sure that ids and records for deleted objects
  are always valid (until they're allocated and filled with something
  sensible).
2017-01-03 13:48:14 +00:00
baldurk caaef06ba7 Handle C comments starting on a pre-processor line in GLSL patching 2017-01-02 20:20:30 +00:00
baldurk 605f7c9a0e Always emulate glVertexArrayElementBuffer, causes bad queries. Refs #452
* On AMD calling glVertexArrayElementBuffer doesn't update the global
  query for GL_ELEMENT_ARRAY_BUFFER_BINDING until the VAO is unbound and
  bound again. To avoid that we just always emulate this function.
2017-01-02 20:19:45 +00:00
baldurk 1a2ff55fa4 Ensure proper precedence when calculating SRGB to linear conversion 2017-01-02 20:16:27 +00:00
baldurk 8c8cf07385 Add helper menu items to tools menu if rdocself.dll is loaded 2017-01-02 20:16:27 +00:00
baldurk 6aee676386 Open transform feedback buffers on double click from GL pipe viewer 2017-01-02 20:16:27 +00:00
baldurk 903898213d Only set uniforms for programs that exist in the capture 2017-01-02 20:16:26 +00:00
baldurk df6bae78ea Make sure persistent buffers are always indirectly mapped
* Even if the map isn't persistent, we need to redirect it into our
  shadow buffer when the user maps it. Note that on unmap we already
  have code to unconditionally check for changes and copy.
2017-01-02 20:16:26 +00:00
baldurk 30d5005b3d Mark instanced draws with eDraw_Instanced properly 2017-01-02 20:16:26 +00:00
baldurk eafe52eae2 Use baseVertex not vertexOffset in idx'd draw when fetching postvs data 2017-01-02 20:16:26 +00:00
baldurk 3002c00337 Add warning message if python libraries aren't loaded (mostly for devs) 2017-01-02 20:16:26 +00:00
baldurk 057e36aefa Reset disassembly/reflection of shaders when recompiled. Refs #470
* In GL various really really stupid options for changing shaders and
  recompiling and relinking is possible.
* We don't support the whole giant trash fire, but we can at least
  handle re-compiling a shader within the same program (so the original
  source isn't used anywhere and can be safely rewritten).
2017-01-02 20:16:26 +00:00
baldurk e494f13518 Include duration column in event browser export if available. Refs #468 2017-01-02 20:16:26 +00:00
Jake Turner 93377b377f Use execve instead of execvp & setting environ global variable
If the app name doesn't have a directory separator search PATH directories to find path of application to launch.
Resolve the app name fully then change the working directory
2017-01-02 14:44:07 +00:00
Jake Turner 240795ab70 Ignore VI swap files and GIT merge files 2017-01-02 14:44:07 +00:00
Jake Turner ee981ac59c Fixed some clang compiler warnings 2017-01-02 14:44:07 +00:00
Jake Turner 353bd7c8d1 Disable Vulkan driver by default on Apple 2017-01-02 14:44:07 +00:00
baldurk 4c816c73af Compile fix for VS2010 that doesn't have isinf/isnan 2016-12-30 10:15:38 +00:00
Victor Moya cba4e8aed2 Implemented OpenGL counters using pipeline stats and occlusion queries
Implemented OpenGL counters based on ARB_pipeline_statistics extension
and occlusion queries.

Because OpenGL doesn't seem to allow concurrent queries of the same
type occlusion queries in the log are ignored when executing
FetchCounters.

Renamed GPUTimer to GPUQueries because D3D11 GPUTimer structure seems
to be visible and creates conflicts on VS.
2016-12-29 22:36:01 +00:00
Victor Moya 460f785a5b Implemented D3D12 counters (occlusion and pipeline stats based)
Implemented D3D12 counters based on occlusion and pipeline statistics
queries.

Display an error message window when SetStablePower is called and
Win10 is not in developer mode.
2016-12-29 17:14:32 +00:00
Michael Vance 366581fb3f Add 'run to sample/load/gather' and 'run to generated inf/nan'.
- ShaderDebugState now carries a 'flags' that can be updated when the interpreter is run. Currently supported flags are 'sample/load/gather insn' or 'insn generated nan/inf'.
- DXBC interpreter now pushes operation type into results for simple intrinsics. This avoids the situation where temp decls are by default uint-typed, and any arithmetic operation on float or double operands would result in a uint shader variable. Other intrinsics are largely correct because they create temporaries with appropriate typed constructors.
- Provide icons for user interface elements, based on the existing 'run to' icons with modifications by myself.
2016-12-29 17:11:55 +00:00
Michael Rennie d249faacd3 Test Android target connection for up to MaxConnectTimeout seconds.
Added new setting to SettingsDialog, and passed it to native code via
RenderDoc::Inst().GetConfigSetting("MaxConnectTimeout")
2016-12-24 19:22:10 +00:00
etnlGD 31104c817a fix when pData isn't a null terminated string. 2016-12-24 19:06:35 +00:00
Michael Rennie a0d84d0daa Remap eSpecial_R5G6B5 if order is non-bgra. 2016-12-15 18:33:50 +00:00
Michael Rennie f146d40245 Grant captured app Android permissions to write & read to storage.
Some apps do not request for these permissions at startup, so the GUI will
grant these with ADB commands when we start an app for capture.
2016-12-15 17:29:04 +00:00
Michael Rennie 381edbfafd Added missing VkFormat to GetByteSize(). 2016-12-15 17:29:04 +00:00
baldurk f48b379dbd Call into the drawcall callback for copy/resolve/blit/etc.
* This means that drawcall timers are fetched for those functions.
2016-12-12 17:33:59 +00:00
baldurk 4d16fc91cd Make sure we have some HWND for swapchains, even if it's fake. Refs #446 2016-12-12 17:33:58 +00:00
Victor Moya cbb9bd4bff Added new counters and implemented D3D11 Query counters
Added new counter types to support API counters exposed by D3D11/D3D12
Query interface.
Implemented D3D11 Query counters in the D3D11 replay driver.
2016-12-12 16:17:50 +00:00
Arseny Kapoulkine 45d7f14b4d Inject into the process upon a double-click
A canonical UI paradigm is that when you have a dialog with a list of
items as a central element and an "Ok" action, double-clicking the item
results in the dialog confirmation.

This change adds this behavior to the Capture dialog.
2016-12-12 10:55:50 +00:00
Arseny Kapoulkine c4227e9a61 Do not pass std::string arguments to format string calls
This comes up as a warning in VS2017, and all instances of this should
be unsafe given that std::string in MSVC only starts with a pointer when
the string contents is longer than the internal buffer, and of course
the size is larger than that of a pointer so all following arguments
wouldn't work either.
2016-12-12 10:53:59 +00:00
baldurk c2897ecb60 Disable docs build until a fix is found 2016-12-12 10:52:02 +00:00
baldurk a968365f0f Fix some missed clang-format issues 2016-12-09 15:46:57 +00:00
baldurk eadd051f98 Fix issue not detecting vulkan extensions, due to macro expansion 2016-12-09 15:40:04 +00:00
baldurk 30c1321356 Keep double UAV descriptors for clearing, because D3D12 is an awful API 2016-12-09 14:56:09 +00:00
Nicolas Guillemot 0a7aa47791 Implement QueryInterface for IDXGISwapChain4
Without this fix, QueryInterface would return an unwrapped swap chain, which later causes errors when using its unwrapped swap chain buffers.
2016-12-09 13:52:03 +00:00
baldurk b5e2a93cfe Revert sphinx build fix attempt 2016-12-09 13:44:34 +00:00
baldurk bbd2a8807f Random guesswork attempt to fix travis sphinx build failure 2016-12-08 21:42:03 +00:00
baldurk ac3ad8073e Update CMakeLists.txt for renamed file 2016-12-08 21:21:27 +00:00
baldurk 4dfe157861 Fix some minor clang-format issues 2016-12-08 21:08:30 +00:00
baldurk 0d1fc526cd Have a fallback if versioned root sig funcs aren't available. Refs #436 2016-12-08 21:00:21 +00:00
baldurk 67cd2d91bc Rename vk_tracelayer to vk_layer - RenderDoc doesn't do tracing 2016-12-08 19:13:24 +00:00
baldurk 437bf0a199 Add simple support for NV_external_memory family of extensions
* This might not precisely reflect the contents of memory from external
  APIs, but it will at least run without crashing and allow programs
  that rely on the extension to function and capture for inspecting
  internal vulkan work.
2016-12-08 19:05:03 +00:00
baldurk a076db493e Update official vulkan headers to latest 2016-12-08 19:05:01 +00:00
baldurk 2a4d2451ff Allow 'promoting' back to capture 64-bit from 32-bit, in 64-bit install
* A 64-bit install has an x86 subfolder to capture 32-bit programs. If
  a 32-bit program then launches a 64-bit program we need to 'promote'
  back to run the original bitness to capture it.
* It's still not supported to capture 64-bit in general from just a
  32-bit install as the support files aren't included.
2016-12-08 19:04:59 +00:00