Commit Graph

35 Commits

Author SHA1 Message Date
baldurk fd0a9bee70 Copy in pythonlibs.zip as part of the build process if it exists 2017-02-22 14:53:10 +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 bcb9914665 Start remoteserver and captured packages by adb commands in native code.
Use adb to enumerate installed 3rd party packages in capture dialog.
Cleaned up all the "adb:" strcmp's.
2016-11-02 16:10:29 +01:00
Michael Rennie 6931d0b954 Tool menu option to start the Android remote server.
The option launches a batch file that starts the apk in remoteserver mode,
as well as taking care of port forwarding.

Also have a batch file for manually starting and capturing an APK by its
package name. They are both copied to the TargetDir as a PostBuildEvent.
2016-10-06 13:14:42 +02:00
baldurk af9017af0a Add D3D12 pipeline state (state and viewer duplicated from D3D11) 2016-09-22 12:05:47 +02:00
baldurk 39b995fcfa Add a dialog to ask if the user wants to replay remotely 2016-08-19 17:26:37 +02:00
baldurk b5e6f8bef2 Allow specifying environment variable modifications
* This works for local and remote invocations of programs, but is mostly
  useful on unix systems (Windows programs use env vars less often)
2016-08-19 17:26:33 +02:00
baldurk d04c06a229 Add a remote/virtual open file dialog for browsing over the network
* This needs some optimisation - the obvious one being to batch up
  requests for multiple children all at once.
2016-08-19 17:26:30 +02:00
baldurk fa0b13f2ed Add context chooser to main window for choosing between remote servers 2016-08-19 17:26:09 +02:00
baldurk 4fde9b065f Expand remote host selection for attaching to handle remote servers
* Also remove some of the old remote-replay single-shot code handling.
2016-08-19 17:26:07 +02:00
baldurk 9a544e61af Rename ModalPopup to ProgressPopup 2016-08-19 17:26:06 +02:00
baldurk 5b74d2f90a Add a little Ctrl-G popup on the texture viewer to jump to a pixel 2016-07-22 12:28:26 +02:00
baldurk d65bacc118 Add an editor dialog for ordered lists of items (text or paths) 2016-05-10 22:34:58 +02:00
baldurk dfbd22de65 Remove a weird VS warning about file paths on SciLexer*.dll 2016-05-09 22:06:52 +02:00
Michael Vance 973ee146a8 Support for a new 'Statistics' pane.
Notes
======
- Create a (hopefully) cross-backend performance statistics abstraction as part of FetchFrameInfo. This currently collects statistics about constant buffer binds, sampler binds, resource binds, client and server style resource updates (e.g. Map and UpdateSubresource), index & vertex buffer binds, and draws and dispatches. In my captures this covers approximately half of all API traffic. The rest is often shader sets, and then usual RS, OM, etc., that aren't currently tracked. During READING state parsing on the wrapped device context, record statistics about the calls and store them into the current frame info. We inspect objects occasionally to get things like their type for recording. It may be useful to expand this in the future to check bind types, etc. On the GL/Vulkan backends the stats data is never initialized and we display the same statistics data as before.
- Add a new statistics pane in the UI. A variety of shim arbitration/marshalling is provided to get the statistics data across the managed/native boundary. Removed the old statistics menu item. Currently the statistics pane is just a text log of various gathered data, with ASCII art (woo!) histograms. However in the future we would like to have image based historgrams as well as support for gathering statistics on a mask of stages, etc.
- Remove 'diagnostic' events (e.g. push/pop/marker) from the API call count as it distorts the API:draw call ratio.
- Add _First and _Count to ShaderResourceType and ShaderStageType for weak enumeration (weak due to int cast requirement).
- Provide utility functions Log2Floor for 32 and 64 bit types. These require OS specific clz, which are provided for Windows/VS and Linux/gcc/clang.

TODO
======
- UI toolkit based historgram, ability to set stages enabled for statistics, etc.
- Revisit necessity of gathering statistics across frames--apparently there is no multi-frame capture in a single log anymore?
- Revisit min/max/etc. gathering on the data--is there some way to improve this to not be so mechanical? Perhaps with field enumeration? However if moving to C++/Qt in future, possibly not a good time investment.
2016-04-11 21:23:05 -04:00
baldurk 0a42d3e4d7 Rename 'Profile' target in visual studio to 'Development'
* When I went to explain to someone why the target was named Profile and
  not Debug as you might expect, I realised the reasons were entirely
  opaque and historical. So instead, rename it to Development since that
  is really what it's for - any profiling would be done in Release mode.
2016-02-28 11:33:23 +01:00
baldurk df5def2182 Add a "load texture as a buffer view" button. Refs #141
* This isn't a complete fix as the buffer gridview doesn't support 100s
  or 1000s of columns, but it's a start and could be useful in some
  cases.
2016-02-24 00:43:57 +01:00
baldurk 8eddd387d7 Add vulkan pipeline state viewer based on D3D11 viewer 2016-02-07 18:41:35 +01:00
baldurk edac1f0bfd Pass vulkan pipeline state along to UI 2016-02-07 18:41:29 +01:00
baldurk 2d12d5abee Add an update dialog that shows update notes & does upgrade smoothly 2015-08-30 00:11:48 +02:00
baldurk 95be5454f9 Add a "Find in all files" dialog on ctrl-shift-f to shader viewer 2015-08-29 19:26:50 +02:00
baldurk 44adfc7b82 Add a 'tips' dialog. Still needs to be mostly filled out with tips 2015-07-08 00:18:58 +02:00
baldurk f06964ea23 Clean up folder structure a bit, move .NET 3rdparty under renderdocui/ 2015-04-13 12:46:30 +01:00
baldurk b8d5b3f4af Add EnableUnamangedDebugging=true default to csproj
* Since RenderDoc is heavily mixed .NET/C++ code, regardless of any
  disadvantages this option is practically required (e.g. if building in
  profile, the first error message or assert will take the program down
  as the breakpoint won't get caught).
* In the UI, enabling this option will always go into csproj.user, but
  in fact the option works fine if you manually put it into the csproj,
  which means this will be the default for all new clones. Yay!
2015-03-11 11:13:08 +00:00
baldurk 72cfee5c0f Add GLSL syntax highlighting 2015-02-09 18:14:20 +00:00
baldurk 6fde127360 Refactor projects so we don't use xcopy to copy build outputs around
* This makes it easier for my auto build scripts (i.e. without xcopy use
  I can run them from msysgit bash).
* pdblocate now has Profile32&Release32 vs Profile64&Release64. This was
  the easiest way to do it as it has to be compiled in 32bit to interact
  with DIA, but we want it copied to the solutions output folder (x64/...
  or Win32/...)
2015-01-01 11:23:53 +00:00
baldurk 29894e4db3 Add Interactive/script running python shell window 2014-10-10 21:30:40 +01:00
baldurk 9907abcc9b Add IronPython 2.7.4 to project 2014-10-09 18:25:47 +01:00
baldurk 60d5a425aa Add option to disable/enable vertex highlighting in mesh view 2014-09-28 16:31:49 +01:00
baldurk e81169f021 Add a dialog to guide users to selecting available save options 2014-09-16 01:27:08 +01:00
baldurk bda68c8ba6 CBuffer window is a dialog now, with ability to set custom layout 2014-09-13 18:48:39 +01:00
Baldur Karlsson 9fda74fc07 Add a button on the texture viewer that flips the tex in Y
* Useful for systems that render OpenGL upside down with a final flip,
  for example.
2014-07-28 10:28:28 +01:00
baldurk 2d299961e1 Properly quote parameters of xcopy to handle spaces in paths 2014-07-15 17:34:59 +01:00
baldurk 3bb382d9cf Further progress on pixel history view
* Added simple UI
* Don't apply SRGB curve to alpha data
* Account for clear calls not returning occlusion query results, and for
  depth/colour clears.
2014-07-13 18:58:45 +01:00
baldurk c38affcded Initial commit of existing code.
* All renderdoc code up to this point was written by me, history is available by request
2014-05-02 08:33:01 +01:00