Commit Graph

4756 Commits

Author SHA1 Message Date
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
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