42 Commits

Author SHA1 Message Date
baldurk c3266acd15 Remove D3D8 and D3D9 stub backends
* These were added 6-7 years ago and have been untouched since. They add no
  value to preserve as they are almost guaranteed to never be reasonably
  implemented.
* The only thing that is useful is the D3D9 hooks for begin/end events used in
  some D3D11 programs, which has been moved to the D3D11 project.
2023-06-22 12:21:33 +01:00
tabi.katalin f1bd727dff Add support for ARM counters
Adding support for ARM counters via a third-party lib.
The main target platform is Android.
2020-05-20 20:19:17 +01:00
baldurk 6140701358 Add stub DXIL project 2019-10-18 20:57:35 +01:00
baldurk a6dda66c57 Remove compiled-in DevDriverAPI, load dll to access API 2018-10-08 14:07:44 +01:00
Igor Surmin 4a4fdb40e7 Implement Intel performance counters support for D3D11 2018-09-28 16:12:23 +01:00
baldurk 4cf423bfaa Revert pull request #1087. Closes #1096 2018-08-29 20:53:13 +01:00
isurmin adb7df57d4 fix issues and remarks 2018-08-29 11:58:17 +02:00
isurmin 02b3cdad94 Implement support for Intel performance counters 2018-08-29 11:58:17 +02:00
baldurk b0f4aebaa9 Commit RGP dependencies, building in separate project
* This is:
  - GPUOpen-Tools/DevDriverTools @ 92b3e34
  - GPUOpen-Tools/common-lib-amd-ADL @ 99cb60e
2018-04-25 10:44:53 +01:00
baldurk 0c130982ac Fix problem added in .sln recently 2018-04-03 17:10:20 +01:00
reinsteam 48cb7d6c49 Added a project with NVidia counters and NvPmApi header from NV Perfkit
- nv_counters.h/.cpp load NVidia counters using NvPmApi 4.4.0
2018-03-28 19:27:44 +01:00
baldurk 8f565ca346 Add a hack stub renderdocui.exe for auto-updated builds from v0.x
* This is a temporary fix, in future we want to actually update
  shortcuts etc, but this is a low risk fix right before we release.
2018-03-05 19:44:32 +00:00
baldurk dea21b20a0 Remove global GIT_COMMIT_HASH define, use GitVersionHash global var
* On windows, the change in a global GIT_COMMIT_HASH define in each
  project needing it meant a full rebuild every time the commit changed.
* Ideally we'd set the define only on one file in each project, but
  MSBuild doesn't seem to support that. Instead we make a new tiny
  project that compiles a single cpp exporting a global var, and
  reference that global var in each other project.
2018-01-16 20:17:53 +00:00
baldurk 0c0c2969df Add python modules to default VS .sln 2017-12-15 17:33:51 +00:00
baldurk 6f500afe6d Re-enable D3D12 driver. (See commit msg if bisecting)
* This marks the end of "Temporarily remove driver support" which
  disabled drivers until they could be updated to the new serialisation.
2017-11-08 18:24:47 +00:00
baldurk 66d8aba60f Re-enable GL driver 2017-11-08 18:24:41 +00:00
baldurk 15f78b7ffd Re-enable Vulkan driver 2017-11-08 18:24:22 +00:00
baldurk ae32f791ae Re-enable D3D8 and D3D9 drivers 2017-11-08 18:24:08 +00:00
baldurk dbe29142b0 Re-enable D3D11 and DXBC drivers 2017-11-08 18:24:07 +00:00
baldurk d33b3f5940 Re-enable DXGI driver 2017-11-07 19:30:39 +00:00
baldurk 7562da9a20 Temporarily remove driver support. (See commit msg if bisecting)
* The commits following this add a new refactored serialisation system.
  As a balance between readability of individual commits and ability to
  bisect/compile at interim steps, the individual API back-ends are
  disabled in this commit, so that after the serialisation system is
  committed the project compiles again as soon as possible.
* However this is of course not much use in itself as then the code
  can't function usefully. The drivers are re-enabled as each one is
  updated to the new system, so at least the codebase should stay
  compiling, even if each individual API may not yet be functioning.
2017-11-07 19:30:31 +00:00
baldurk c6b68408b2 Make qrenderdoc the default startup project by listing it first 2017-08-14 19:37:31 +01:00
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