| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- @echo off
- if "%1"=="/?" goto :showhelp
- if "%1"=="-?" goto :showhelp
- if "%1"=="-help" goto :showhelp
- if "%1"=="--help" goto :showhelp
- setlocal
- if "%HLSL_SRC_DIR%"=="" (
- echo Missing source directory.
- if exist %~dp0..\..\LLVMBuild.txt (
- set HLSL_SRC_DIR=%~dp0..\..
- echo Source directory deduced to be %~dp0..\..
- ) else (
- exit /b 1
- )
- )
- set _TRACE_SESSION_NAME=hctetwsession
- if "%_PROVIDER_GUIDS%" == "" (
- echo _PROVIDER_GUIDS not set - setting to dxcompiler provider.
- set _PROVIDER_GUIDS=5c65fe8c-9f96-4bfd-9a87-9f8ebd45da64
- ) else (
- echo _PROVIDER_GUIDS already set - appending dxcompiler providers.
- set _PROVIDER_GUIDS=%_PROVIDER_GUIDS%+5c65fe8c-9f96-4bfd-9a87-9f8ebd45da64
- )
- set _TRACE_FILENAME=%TEMP%\hctetwsession.etl
- if not "%2"=="" (
- set _TRACE_FILENAME=%2
- )
- if "%1"=="-start" (
- call :do_start
- ) else if "%1"=="-stop" (
- call :do_stop
- ) else if "%1"=="-view" (
- call :do_view
- ) else (
- echo Unknown command.
- goto :showhelp
- )
- goto :eof
- :do_start
- xperf -start %_TRACE_SESSION_NAME% -on %_PROVIDER_GUIDS% -f %_TRACE_FILENAME%
- if errorlevel 1 (
- echo xperf command failed to start the session
- exit /b 1
- )
- exit /b 0
- :do_stop
- xperf -stop %_TRACE_SESSION_NAME%
- if errorlevel 1 (
- echo xperf command failed to stop the session
- exit /b 1
- )
- exit /b 0
- :do_view
- if not exist %_TRACE_FILENAME% (
- echo %_TRACE_FILENAME% does not exist.
- echo Consider running hcttrace -start
- exit /b 1
- )
- tracerpt %_TRACE_FILENAME% -import %HLSL_SRC_DIR%\include\dxc\Tracing\dxcetw.man -y -o %_TRACE_FILENAME%.xml
- if errorlevel 1 (
- echo Failed to generate trace report.
- exit /b 1
- )
- rem Move to location of prior file.
- rem cscript //Nologo %HLSL_SRC_DIR%\utils\hct\hcttracei.js /i:%_TRACE_FILENAME%.xml
- where python.exe 1>nul 2>nul
- if errorlevel 1 (
- rem TODO - discover rather than hard-code
- %SystemDrive%\Python27\python.exe %HLSL_SRC_DIR%\utils\hct\hcttracei.py %_TRACE_FILENAME%.xml
- ) else (
- python.exe %HLSL_SRC_DIR%\utils\hct\hcttracei.py %_TRACE_FILENAME%.xml
- )
- exit /b 0
|