DxilPIXPasses.cpp 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. ///////////////////////////////////////////////////////////////////////////////
  2. // //
  3. // DxilPIXPasses.cpp //
  4. // Copyright (C) Microsoft Corporation. All rights reserved. //
  5. // This file is distributed under the University of Illinois Open Source //
  6. // License. See LICENSE.TXT for details. //
  7. // //
  8. // Provides SetupRegistryPassForPIX. //
  9. // //
  10. ///////////////////////////////////////////////////////////////////////////////
  11. #include "dxc/DxilPIXPasses/DxilPIXPasses.h"
  12. #include "dxc/Support/Global.h"
  13. #include "dxc/Support/WinIncludes.h"
  14. #include "llvm/IR/LegacyPassManager.h"
  15. #include "llvm/Pass.h"
  16. #include "llvm/PassInfo.h"
  17. #include "llvm/Support/SourceMgr.h"
  18. #include "llvm/Transforms/IPO/PassManagerBuilder.h"
  19. using namespace llvm;
  20. using namespace hlsl;
  21. namespace hlsl {
  22. HRESULT SetupRegistryPassForPIX() {
  23. try {
  24. PassRegistry &Registry = *PassRegistry::getPassRegistry();
  25. /* <py::lines('INIT-PASSES')>hctdb_instrhelp.get_init_passes(set(["pix"]))</py>*/
  26. // INIT-PASSES:BEGIN
  27. initializeDxilAddPixelHitInstrumentationPass(Registry);
  28. initializeDxilAnnotateWithVirtualRegisterPass(Registry);
  29. initializeDxilDbgValueToDbgDeclarePass(Registry);
  30. initializeDxilDebugInstrumentationPass(Registry);
  31. initializeDxilForceEarlyZPass(Registry);
  32. initializeDxilOutputColorBecomesConstantPass(Registry);
  33. initializeDxilPIXMeshShaderOutputInstrumentationPass(Registry);
  34. initializeDxilReduceMSAAToSingleSamplePass(Registry);
  35. initializeDxilRemoveDiscardsPass(Registry);
  36. initializeDxilShaderAccessTrackingPass(Registry);
  37. // INIT-PASSES:END
  38. }
  39. CATCH_CPP_RETURN_HRESULT();
  40. return S_OK;
  41. }
  42. } // namespace hlsl