Commit Graph

20 Commits

Author SHA1 Message Date
baldurk 2b01ee78f2 Remove C# renderdocui UI. Add qrenderdoc to visual studio solution 2017-08-14 18:09:59 +01:00
Tim Jones bcad28b4d0 Add initial D3D8 driver
Implemented overlay, but no capture or replay yet, so this is
functionally equivalent to the current D3D9 implementation.
2017-06-22 06:07:28 -07:00
baldurk 0516016070 Follow-up commit to b7f893b5 with minor fixes/tweaks
* Moved the AMD project under an IHV folder
* Moved the AMD headers from the D3D11 project to the AMD project, and
  added the GPUPerfAPI headers there too.
* Set the counterID inside the CounterDescription for AMD counters
* Add an extra search path for the GPUPerfAPI dlls, which will be inside
  distributed builds soon.
2017-06-15 14:59:16 +01:00
Matthäus G. Chajdas b7f893b559 Add backend support for AMD performance counters. 2017-06-15 14:29:55 +01: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 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 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 379b3c346a Add dependency on renderdocshim to renderdocui 2017-02-03 20:11:07 +00:00
baldurk 02e29bbbf6 Move D3D9 hooks to a separate new project, commit official DX9 headers
* Headers come from the 10.0.14393.0 windows SDK
2016-09-25 14:05:53 +02:00
baldurk b505cfaceb Add initial skeleton of D3D12 support
* This includes changes to DXGI to remove hard dependency on D3D11 code
  and support multiple D3D versions initialising through DXGI.
* Basically all of the D3D12 interception is unimplemented/stubbed out
  and only the ID3D12Device interface is present.
2016-07-10 18:09:20 +02: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 497f6176e7 Add vulkan driver based on mantle work, with linux hooks based on GL 2016-02-07 18:37:25 +01:00
baldurk 1b0d545fbe Compile GLSL shaders to SPIR-V to generate 'disassembly' (hex dump) 2015-07-08 23:45:18 +02:00
baldurk bde6fabf7d Rearrange project structure, so that drivers can be easily disabled
* This is kind of arbitrary at the moment, but in future when D3D12 and
  Vulkan drivers appear, not everyone who builds RenderDoc will want to
  build all drivers, so making them separate projects makes it more easy
  to disable/remove them.
2015-06-29 20:04:47 +02:00
baldurk f06964ea23 Clean up folder structure a bit, move .NET 3rdparty under renderdocui/ 2015-04-13 12:46:30 +01: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 9460fbd970 Add feature to globally hook processes to inject indirectly.
* This allows you to hook into processes that are difficult to launch
  directly with the existing functionality in RenderDoc.
* This is rather risky, as it modifies the AppInit_DLLs registry key to
  inject a small shim dll that checks for the desired process and injects
  the full renderdoc.dll. If that registry key got left, or if there was
  some incompatibility with the shim dll, you could have problems. It
  should only ever be used as a last resort if there's no other way to
  capture.
2014-10-05 13:57:11 +01:00
baldurk 8d685de609 Reorganise 3rdparty, include breakpad with sln, drop mhook. Closes #84 2014-09-24 20:24:35 +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