647 lines
25 KiB
Batchfile
Executable File
647 lines
25 KiB
Batchfile
Executable File
@echo off
|
|
|
|
set WARNING_AS_ERROR=0
|
|
set HAS_DX10=0
|
|
set HAS_DX11=0
|
|
set HAS_DX12=0
|
|
|
|
REM set Win10SDK_ExecutablePath=C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x86
|
|
REM set Win10SDK_ExecutablePath_x64=#C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64
|
|
|
|
set BUILDARCH=x86
|
|
set ARCH=%PROCESSOR_ARCHITECTURE%
|
|
set DX12_DIR=%WindowsSDK_ExecutablePath%
|
|
|
|
if "%ARCH%"=="AMD64" set BUILDARCH=x64
|
|
if "%ARCH%"=="AMD64" set DX12_DIR=%WindowsSDK_ExecutablePath_x64%
|
|
|
|
if exist %windir%\system32\d3d10.dll set HAS_DX10=1
|
|
if exist %windir%\system32\d3d11.dll set HAS_DX11=1
|
|
if exist "%DX12_DIR%\dxcompiler.dll" set HAS_DX12=1
|
|
if not exist "%DX12_DIR%\dxil.dll" set HAS_DX12=0
|
|
|
|
echo %ARCH%
|
|
echo %BUILDARCH%
|
|
echo %HAS_DX12%
|
|
echo %DX12_DIR%
|
|
|
|
if "%MAKESHADERS_SCRIPT_DIR%"=="" setlocal
|
|
if exist "%DXSDK_DIR%\utilities\fxc.exe" set DX_FXC=utilities\fxc.exe
|
|
if exist "%DXSDK_DIR%\utilities\bin\x86\fxc.exe" set DX_FXC=utilities\bin\x86\fxc.exe
|
|
|
|
REM If RAGE_COMPILE_ALL_SHADER_PLATFORMS is set to anything, ignore the
|
|
REM -platform switch.
|
|
set PLATFORM=all
|
|
if "%1"=="-platform" if "%RAGE_COMPILE_ALL_SHADER_PLATFORMS%"=="" (
|
|
set PLATFORM=%2
|
|
shift /1
|
|
shift /1
|
|
REM echo compiling only for %2...
|
|
)
|
|
|
|
set PLATFORMCONFIG=
|
|
if "%1"=="-platformConfig" (
|
|
set PLATFORMCONFIG=%2
|
|
shift /1
|
|
shift /1
|
|
REM echo platform config %2...
|
|
)
|
|
set COMPILE_PSN_RANDOMIZE=
|
|
if "%1"=="-useRandomizer" (
|
|
set COMPILE_PSN_RANDOMIZE="-useRandomizer"
|
|
shift /1
|
|
)
|
|
|
|
set NO_PERFORMANCE_DUMP=""
|
|
if "%1"=="-noPerformanceDump" (
|
|
set NO_PERFORMANCE_DUMP="-noPerformanceDump"
|
|
shift /1
|
|
)
|
|
set QUIET=
|
|
if "%1"=="-quiet" (
|
|
set QUIET="-quiet"
|
|
shift /1
|
|
)
|
|
|
|
set COMPILE_MAX_NOLINES=0
|
|
if "%1"=="-noWaveLines" (
|
|
set COMPILE_MAX_NOLINES=1
|
|
shift /1
|
|
)
|
|
|
|
set COMPILE_WIN32_DEBUG_INFO=0
|
|
set DEBUG_INFO=
|
|
if %COMPILE_WIN32_DEBUG_INFO%==1 (
|
|
set DEBUG_INFO="-debugInfo"
|
|
set COMPILE_WIN32_DEBUG=1
|
|
) else (
|
|
set COMPILE_WIN32_DEBUG=0
|
|
)
|
|
|
|
goto %PLATFORM%
|
|
:all
|
|
set COMPILE_WIN32_20=0
|
|
set COMPILE_WIN32_30=0
|
|
set COMPILE_WIN32_40=0
|
|
set COMPILE_WIN32_50=1
|
|
set COMPILE_WIN32_60=1
|
|
set COMPILE_XENON=0
|
|
set COMPILE_PSN=0
|
|
set COMPILE_PSP2=0
|
|
set COMPILE_DURANGO=0
|
|
if NOT "%DurangoXDK%"=="" set COMPILE_DURANGO=1
|
|
set COMPILE_ORBIS=0
|
|
if NOT "%SCE_ORBIS_SDK_DIR%"=="" set COMPILE_ORBIS=1
|
|
set COMPILE_MAX=1
|
|
goto common
|
|
|
|
:fxl_final
|
|
set COMPILE_WIN32_20=0
|
|
set COMPILE_WIN32_30=0
|
|
set COMPILE_WIN32_40=0
|
|
set COMPILE_WIN32_50=0
|
|
set COMPILE_WIN32_60=0
|
|
set COMPILE_XENON=1
|
|
set COMPILE_PSN=0
|
|
set COMPILE_PSP2=0
|
|
set COMPILE_DURANGO=0
|
|
set COMPILE_ORBIS=0
|
|
set COMPILE_MAX=0
|
|
goto common
|
|
|
|
:psn
|
|
set COMPILE_WIN32_20=0
|
|
set COMPILE_WIN32_30=0
|
|
set COMPILE_WIN32_40=0
|
|
set COMPILE_WIN32_50=0
|
|
set COMPILE_WIN32_60=0
|
|
set COMPILE_XENON=0
|
|
set COMPILE_PSN=1
|
|
set COMPILE_PSP2=0
|
|
set COMPILE_DURANGO=0
|
|
set COMPILE_ORBIS=0
|
|
set COMPILE_MAX=0
|
|
goto common
|
|
|
|
:psp2
|
|
set COMPILE_WIN32_20=0
|
|
set COMPILE_WIN32_30=0
|
|
set COMPILE_WIN32_40=0
|
|
set COMPILE_WIN32_50=0
|
|
set COMPILE_WIN32_60=0
|
|
set COMPILE_XENON=0
|
|
set COMPILE_PSN=0
|
|
set COMPILE_PSP2=1
|
|
set COMPILE_DURANGO=0
|
|
set COMPILE_ORBIS=0
|
|
set COMPILE_MAX=0
|
|
goto common
|
|
|
|
:win32_30
|
|
set COMPILE_WIN32_20=0
|
|
set COMPILE_WIN32_30=1
|
|
set COMPILE_WIN32_40=0
|
|
set COMPILE_WIN32_50=0
|
|
set COMPILE_WIN32_60=0
|
|
set COMPILE_XENON=0
|
|
set COMPILE_PSN=0
|
|
set COMPILE_PSP2=0
|
|
set COMPILE_DURANGO=0
|
|
set COMPILE_ORBIS=0
|
|
set COMPILE_MAX=0
|
|
goto common
|
|
|
|
:win32_40
|
|
set COMPILE_WIN32_20=0
|
|
set COMPILE_WIN32_30=0
|
|
set COMPILE_WIN32_40=1
|
|
set COMPILE_WIN32_50=0
|
|
set COMPILE_WIN32_60=0
|
|
set COMPILE_XENON=0
|
|
set COMPILE_PSN=0
|
|
set COMPILE_PSP2=0
|
|
set COMPILE_DURANGO=0
|
|
set COMPILE_ORBIS=0
|
|
set COMPILE_MAX=0
|
|
goto common
|
|
|
|
:win32_50
|
|
set COMPILE_WIN32_20=0
|
|
set COMPILE_WIN32_30=0
|
|
set COMPILE_WIN32_40=0
|
|
set COMPILE_WIN32_50=1
|
|
set COMPILE_WIN32_60=0
|
|
set COMPILE_XENON=0
|
|
set COMPILE_PSN=0
|
|
set COMPILE_PSP2=0
|
|
set COMPILE_DURANGO=0
|
|
set COMPILE_ORBIS=0
|
|
set COMPILE_MAX=0
|
|
goto common
|
|
|
|
:win32_60
|
|
set COMPILE_WIN32_20=0
|
|
set COMPILE_WIN32_30=0
|
|
set COMPILE_WIN32_40=0
|
|
set COMPILE_WIN32_50=0
|
|
set COMPILE_WIN32_60=1
|
|
set COMPILE_XENON=0
|
|
set COMPILE_PSN=0
|
|
set COMPILE_PSP2=0
|
|
set COMPILE_DURANGO=0
|
|
set COMPILE_ORBIS=0
|
|
set COMPILE_MAX=0
|
|
goto common
|
|
|
|
:durango
|
|
set COMPILE_WIN32_20=0
|
|
set COMPILE_WIN32_30=0
|
|
set COMPILE_WIN32_40=0
|
|
set COMPILE_WIN32_50=0
|
|
set COMPILE_WIN32_60=0
|
|
set COMPILE_XENON=0
|
|
set COMPILE_PSN=0
|
|
set COMPILE_PSP2=0
|
|
set COMPILE_DURANGO=1
|
|
set COMPILE_ORBIS=0
|
|
set COMPILE_MAX=0
|
|
goto common
|
|
|
|
:orbis
|
|
set COMPILE_WIN32_20=0
|
|
set COMPILE_WIN32_30=0
|
|
set COMPILE_WIN32_40=0
|
|
set COMPILE_WIN32_50=0
|
|
set COMPILE_WIN32_60=0
|
|
set COMPILE_XENON=0
|
|
set COMPILE_PSN=0
|
|
set COMPILE_PSP2=0
|
|
set COMPILE_DURANGO=0
|
|
set COMPILE_ORBIS=1
|
|
set COMPILE_MAX=0
|
|
goto common
|
|
|
|
:fx_max
|
|
set COMPILE_WIN32_20=0
|
|
set COMPILE_WIN32_30=0
|
|
set COMPILE_WIN32_40=0
|
|
set COMPILE_WIN32_50=0
|
|
set COMPILE_WIN32_60=0
|
|
set COMPILE_XENON=0
|
|
set COMPILE_PSN=0
|
|
set COMPILE_PSP2=0
|
|
set COMPILE_DURANGO=0
|
|
set COMPILE_ORBIS=0
|
|
set COMPILE_MAX=1
|
|
goto common
|
|
|
|
:win32_30_atidx9
|
|
:win32_30_nvdx9
|
|
:win32_30_atidx10
|
|
:win32_30_nvdx10
|
|
:win32_40_atidx10
|
|
:win32_40_nvdx10
|
|
set SHADERPATH=%~p1
|
|
if EXIST shaderpath.bat call shaderpath.bat
|
|
REM echo Creating dummy file for %SHADERPATH%%PLATFORM%\%~n1.fxc . . .
|
|
echo Dummy > %SHADERPATH%%PLATFORM%\%~n1.fxc
|
|
exit/b 0
|
|
|
|
:common
|
|
set SHADERPATH=%~p1
|
|
set TEMPLATEPATH=%~p2
|
|
set USERDATAPATH=%~p3
|
|
if EXIST shaderpath.bat call shaderpath.bat
|
|
set SHADERNAME=%~n1
|
|
set SHADERFILE=%1
|
|
|
|
if "%SHADERPATH%"=="" (
|
|
echo %SHADERFILE% : error X1000: SHADERPATH is empty
|
|
goto common_fail
|
|
)
|
|
|
|
set SHADER_FOLDER_SUFFIX=
|
|
set WAVE_PLATFORMCONFIG_DEFINE=
|
|
set FXC_PLATFORMCONFIG_DEFINE=
|
|
if /I "%PLATFORMCONFIG%"=="final" (
|
|
set SHADER_FOLDER_SUFFIX=_final
|
|
set WAVE_PLATFORMCONFIG_DEFINE=-DSHADER_FINAL=1
|
|
set FXC_PLATFORMCONFIG_DEFINE=/DSHADER_FINAL=1
|
|
)
|
|
rem command line option defaults
|
|
rem NOTE: any calling batch file can also set the environment variables
|
|
rem directly rather than use the command line options
|
|
|
|
rem Removing these unless we need them but the makefile build won't
|
|
rem pick up the dependencies properly.
|
|
rem if "%COMPILE_WIN32_20%"=="" set COMPILE_WIN32_20=0
|
|
rem if "%COMPILE_WIN32_30%"=="" set COMPILE_WIN32_30=1
|
|
rem if "%COMPILE_WIN32_DEBUG%"=="" set COMPILE_WIN32_DEBUG=1
|
|
rem if "%COMPILE_XENON%"=="" set COMPILE_XENON=1
|
|
if "%WARNING_AS_ERROR%"=="" set WARNING_AS_ERROR=1
|
|
if "%CONTINUE_ON_ERROR%"=="" set CONTINUE_ON_ERROR=0
|
|
if "%COMPILE_PSN%"=="" set COMPILE_PSN=1
|
|
if "%COMPILE_MAX%"=="" set COMPILE_MAX=1
|
|
|
|
REM echo %COMPILE_WIN32_30% %COMPILE_XENON% %COMPILE_PSN% %COMPILE_MAX%
|
|
|
|
if %COMPILE_PSN%==1 if "%SCE_PS3_ROOT%"=="" (
|
|
echo *** PSN shader compiler requires Sony Cg install -- SCE_PS3_ROOT not set
|
|
if "%ROCKSTAR_STUDIO%"=="rockstarsandiego.com" echo *** See \\zena\setup\PSN-Tools\readme-win32.txt for instructions.
|
|
goto fail
|
|
)
|
|
|
|
if %COMPILE_PSN%==1 if not exist "%SCE_PS3_ROOT%\host-win32\Cg\bin\sce-cgc.exe" (
|
|
echo *** PSN shader compiler requires Sony Cg install -- sce-cgc.exe not found!
|
|
echo *** SC3_PS3_ROOT is set to: %SCE_PS3_ROOT%.
|
|
goto fail
|
|
)
|
|
|
|
rem parse command line parameters
|
|
|
|
for %%P in (%*) do (
|
|
if /i "%%P"=="/20" (
|
|
set COMPILE_WIN32_20=1
|
|
) else if /i "%%P"=="/debug" (
|
|
set COMPILE_WIN32_DEBUG=1
|
|
) else if /i "%%P"=="/continue" (
|
|
set CONTINUE_ON_ERROR=1
|
|
) else if /i "%%P"=="/nopsn" (
|
|
set COMPILE_PSN=0
|
|
) else if /i "%%P"=="/nomax" (
|
|
set COMPILE_MAX=0
|
|
)
|
|
|
|
)
|
|
|
|
if "%COMPILE_XENON%"=="1" echo Building shader %SHADERFILE% for Xbox 360
|
|
if "%COMPILE_PSN%"=="1" echo Building shader %SHADERFILE% for PlayStation 3
|
|
if "%COMPILE_WIN32_30%"=="1" echo Building shader %SHADERFILE% for shadermodel 3.0
|
|
if "%COMPILE_WIN32_40%"=="1" echo Building shader %SHADERFILE% for shadermodel 4.0
|
|
if "%COMPILE_WIN32_50%"=="1" echo Building shader %SHADERFILE% for shadermodel 5.0
|
|
if "%COMPILE_WIN32_60%"=="1" echo Building shader %SHADERFILE% for shadermodel 6.0
|
|
if "%COMPILE_WIN32_DEBUG%"=="1" echo Building shader %SHADERFILE% for debug
|
|
if "%COMPILE_DURANGO%"=="1" echo Building shader %SHADERFILE% for Durango
|
|
if "%COMPILE_ORBIS%"=="1" echo Building shader %SHADERFILE% for Orbis
|
|
|
|
|
|
|
|
REM ====================================================================================
|
|
|
|
if "%COMPILE_WIN32_20%"=="0" goto post_WIN32_20
|
|
|
|
REM echo ** win32_20:
|
|
|
|
set SHADER_FOLDER=win32_20%SHADER_FOLDER_SUFFIX%
|
|
if not exist %SHADER_FOLDER%\* mkdir %SHADER_FOLDER%
|
|
if not exist %SHADERPATH%%SHADER_FOLDER%\* %RS_TOOLSROOT%\bin\coding\nmkdir %SHADERPATH%%SHADER_FOLDER%
|
|
"%DXSDK_DIR%\%DX_FXC%" /Tfx_2_0 /Fo%SHADERPATH%%SHADER_FOLDER%\%SHADERNAME%.fxc /nologo /D__RAGE=1 %FXC_PLATFORMCONFIG_DEFINE% /D__XENON=0 /D__WIN32PC=1 /D__SHADERMODEL=20 /D__FXL=1 /D__PSN=0 /D__PS3=0 -D__MAX=0 -DRSG_PC=1 -DRSG_PS3=0 -DRSG_XENON=0 -DRSG_DURANGO=0 -DRSG_ORBIS=0 %SHADERFILE%
|
|
if "%CONTINUE_ON_ERROR%"=="0" if errorlevel 1 goto fail
|
|
if exist shaderpath.bat if exist %SHADER_FOLDER%\* copy %SHADERPATH%%SHADER_FOLDER%\%SHADERNAME%.fxc %SHADER_FOLDER%\ >nul
|
|
|
|
:post_WIN32_20
|
|
|
|
REM ====================================================================================
|
|
|
|
if "%COMPILE_WIN32_30%"=="0" goto post_WIN32_30
|
|
|
|
REM ====================================================================================
|
|
|
|
REM echo ** win32_30:
|
|
|
|
set SHADER_FOLDER=win32_30%SHADER_FOLDER_SUFFIX%
|
|
set PDIR=%SHADER_FOLDER%
|
|
if not exist %SHADER_FOLDER%\* mkdir %SHADER_FOLDER%
|
|
if not exist %SHADERPATH%%SHADER_FOLDER%\* %RS_TOOLSROOT%\bin\coding\nmkdir %SHADERPATH%%SHADER_FOLDER%
|
|
%RS_TOOLSROOT%\bin\coding\wave.exe -I. -D__RAGE=1 %WAVE_PLATFORMCONFIG_DEFINE% -D__XENON=0 -D__WIN32PC=1 -D__SHADERMODEL=30 -D__PSSL=0 -D__FXL=1 -D__PS3=0 -D__PSP2=0 -D__MAX=0 -DRSG_PC=1 -DRSG_PS3=0 -DRSG_XENON=0 -DRSG_DURANGO=0 -DRSG_ORBIS=0 %SHADERFILE% > %SHADER_FOLDER%\%SHADERNAME%.i
|
|
if "%CONTINUE_ON_ERROR%"=="0" if errorlevel 1 goto wave_fail
|
|
%RS_TOOLSROOT%\bin\coding\fx2cg_win32_debug.exe %SHADER_FOLDER%\%SHADERNAME%.i %SHADERPATH%%SHADER_FOLDER%\%SHADERNAME%.fxc -platform=pc -SHADERMODEL=30 %QUIET% %DEBUG_INFO% > %SHADER_FOLDER%\%SHADERNAME%.txt
|
|
if "%CONTINUE_ON_ERROR%"=="0" if errorlevel 1 goto common_fail
|
|
type %SHADER_FOLDER%\%SHADERNAME%.txt | %RS_TOOLSROOT%\bin\coding\findstr /v succeeded
|
|
IF "%WARNING_AS_ERROR%"=="0" goto noWarning_win32_30
|
|
%RS_TOOLSROOT%\bin\coding\findstr warning %SHADER_FOLDER%\%SHADERNAME%.txt
|
|
IF NOT ERRORLEVEL 1 (
|
|
echo %SHADERNAME% : error X1000: warnings treated as errors by script.
|
|
if "%CONTINUE_ON_ERROR%"=="0" goto fail
|
|
)
|
|
:noWarning_win32_30
|
|
echo compilation succeeded; see %SHADERPATH%%SHADER_FOLDER%\%SHADERNAME%.fxc
|
|
|
|
:post_WIN32_30
|
|
|
|
REM ====================================================================================
|
|
|
|
if "%COMPILE_WIN32_40%"=="0" goto post_WIN32_40
|
|
|
|
REM ====================================================================================
|
|
|
|
REM echo ** win32_40:
|
|
|
|
set SHADER_FOLDER=win32_40%SHADER_FOLDER_SUFFIX%
|
|
set PDIR=%SHADER_FOLDER%
|
|
if not exist %SHADER_FOLDER%\* mkdir %SHADER_FOLDER%
|
|
if not exist %SHADERPATH%%SHADER_FOLDER%\* %RS_TOOLSROOT%\bin\coding\nmkdir %SHADERPATH%%SHADER_FOLDER%
|
|
%RS_TOOLSROOT%\bin\coding\wave.exe -I. -D__RAGE=1 %WAVE_PLATFORMCONFIG_DEFINE% -D__XENON=0 -D__WIN32PC=1 -D__SHADERMODEL=40 -D__PSSL=0 -D__FXL=1 -D__PS3=0 -D__PSP2=0 -D__MAX=0 -DRSG_PC=1 -DRSG_PS3=0 -DRSG_XENON=0 -DRSG_DURANGO=0 -DRSG_ORBIS=0 %SHADERFILE% > %SHADER_FOLDER%\%SHADERNAME%.i
|
|
if "%CONTINUE_ON_ERROR%"=="0" if errorlevel 1 goto wave_fail
|
|
%RS_TOOLSROOT%\bin\coding\fx2cg_win32_debug.exe %SHADER_FOLDER%\%SHADERNAME%.i %SHADERPATH%%SHADER_FOLDER%\%SHADERNAME%.fxc -platform=pc -SHADERMODEL=40 %QUIET% %DEBUG_INFO% > %SHADER_FOLDER%\%SHADERNAME%.txt
|
|
if "%CONTINUE_ON_ERROR%"=="0" if errorlevel 1 goto common_fail
|
|
type %SHADER_FOLDER%\%SHADERNAME%.txt | %RS_TOOLSROOT%\bin\coding\findstr /v succeeded
|
|
IF "%WARNING_AS_ERROR%"=="0" goto noWarning_win32_40
|
|
%RS_TOOLSROOT%\bin\coding\findstr warning %SHADER_FOLDER%\%SHADERNAME%.txt
|
|
IF NOT ERRORLEVEL 1 (
|
|
echo %SHADERNAME% : error X1000: warnings treated as errors by script.
|
|
if "%CONTINUE_ON_ERROR%"=="0" goto fail
|
|
)
|
|
:noWarning_win32_40
|
|
echo compilation succeeded; see %SHADERPATH%%SHADER_FOLDER%\%SHADERNAME%.fxc
|
|
|
|
:post_WIN32_40
|
|
|
|
REM ====================================================================================
|
|
|
|
if "%COMPILE_WIN32_50%"=="0" goto post_WIN32_50
|
|
|
|
REM ====================================================================================
|
|
|
|
REM echo ** win32_50:
|
|
|
|
set SHADER_FOLDER=win32_50%SHADER_FOLDER_SUFFIX%
|
|
set PDIR=%SHADER_FOLDER%
|
|
if not exist %SHADER_FOLDER%\* mkdir %SHADER_FOLDER%
|
|
if not exist %SHADERPATH%%SHADER_FOLDER%\* %RS_TOOLSROOT%\bin\coding\nmkdir %SHADERPATH%%SHADER_FOLDER%
|
|
%RS_TOOLSROOT%\bin\coding\wave.exe -I. -D__RAGE=1 %WAVE_PLATFORMCONFIG_DEFINE% -D__XENON=0 -D__WIN32PC=1 -D__SHADERMODEL=50 -D__PSSL=0 -D__FXL=1 -D__PS3=0 -D__PSP2=0 -D__MAX=0 -DRSG_PC=1 -DRSG_PS3=0 -DRSG_XENON=0 -DRSG_DURANGO=0 -DRSG_ORBIS=0 %SHADERFILE% > %SHADER_FOLDER%\%SHADERNAME%.i
|
|
if "%CONTINUE_ON_ERROR%"=="0" if errorlevel 1 goto wave_fail
|
|
%RS_TOOLSROOT%\bin\coding\fx2cg_win32_debug.exe %SHADER_FOLDER%\%SHADERNAME%.i %SHADERPATH%%SHADER_FOLDER%\%SHADERNAME%.fxc -platform=pc -SHADERMODEL=50 %QUIET% %DEBUG_INFO% > %SHADER_FOLDER%\%SHADERNAME%.txt
|
|
if "%CONTINUE_ON_ERROR%"=="0" if errorlevel 1 goto common_fail
|
|
type %SHADER_FOLDER%\%SHADERNAME%.txt | %RS_TOOLSROOT%\bin\coding\findstr /v succeeded
|
|
IF "%WARNING_AS_ERROR%"=="0" goto noWarning_win32_50
|
|
%RS_TOOLSROOT%\bin\coding\findstr warning %SHADER_FOLDER%\%SHADERNAME%.txt
|
|
IF NOT ERRORLEVEL 1 (
|
|
echo %SHADERNAME% : error X1000: warnings treated as errors by script.
|
|
if "%CONTINUE_ON_ERROR%"=="0" goto fail
|
|
)
|
|
:noWarning_win32_50
|
|
echo compilation succeeded; see %SHADERPATH%%SHADER_FOLDER%\%SHADERNAME%.fxc
|
|
|
|
:post_WIN32_50
|
|
|
|
REM ====================================================================================
|
|
|
|
REM ====================================================================================
|
|
|
|
if "%HAS_DX12%"=="0" goto error_win32_60
|
|
if "%COMPILE_WIN32_60%"=="0" goto post_WIN32_60
|
|
|
|
REM ====================================================================================
|
|
|
|
REM echo ** win32_60:
|
|
|
|
set SHADER_FOLDER=win32_60%SHADER_FOLDER_SUFFIX%
|
|
set PDIR=%SHADER_FOLDER%
|
|
if not exist %SHADER_FOLDER%\* mkdir %SHADER_FOLDER%
|
|
if not exist %SHADERPATH%%SHADER_FOLDER%\* %RS_TOOLSROOT%\bin\coding\nmkdir %SHADERPATH%%SHADER_FOLDER%
|
|
%RS_TOOLSROOT%\bin\coding\wave.exe -I. -D__RAGE=1 %WAVE_PLATFORMCONFIG_DEFINE% -D__XENON=0 -D__WIN32PC=1 -D__SHADERMODEL=60 -D__PSSL=0 -D__FXL=1 -D__PS3=0 -D__PSP2=0 -D__MAX=0 -DRSG_PC=1 -DRSG_PS3=0 -DRSG_XENON=0 -DRSG_DURANGO=0 -DRSG_ORBIS=0 %SHADERFILE% > %SHADER_FOLDER%\%SHADERNAME%.i
|
|
if "%CONTINUE_ON_ERROR%"=="0" if errorlevel 1 goto wave_fail
|
|
%RS_TOOLSROOT%\bin\coding\hlsldxc_%BUILDARCH%_Debug.exe %SHADER_FOLDER%\%SHADERNAME%.i %SHADERPATH%%SHADER_FOLDER%\%SHADERNAME%.dxbc -platform=pc -SHADERMODEL=60 %QUIET% %DEBUG_INFO% > %SHADER_FOLDER%\%SHADERNAME%.txt
|
|
if "%CONTINUE_ON_ERROR%"=="0" if errorlevel 1 goto common_fail
|
|
type %SHADER_FOLDER%\%SHADERNAME%.txt | %RS_TOOLSROOT%\bin\coding\findstr /v succeeded
|
|
IF "%WARNING_AS_ERROR%"=="0" goto noWarning_win32_60
|
|
%RS_TOOLSROOT%\bin\coding\findstr warning %SHADER_FOLDER%\%SHADERNAME%.txt
|
|
IF NOT ERRORLEVEL 1 (
|
|
echo %SHADERNAME% : error X1000: warnings treated as errors by script.
|
|
if "%CONTINUE_ON_ERROR%"=="0" goto fail
|
|
)
|
|
:noWarning_win32_60
|
|
echo compilation succeeded; see %SHADERPATH%%SHADER_FOLDER%\%SHADERNAME%.dxbc
|
|
|
|
:error_win32_60
|
|
echo compilation failed; DX12 unsupported, see %DX12_DIR% for dxcompiler and dxil dll's
|
|
|
|
:post_WIN32_60
|
|
|
|
REM ====================================================================================
|
|
|
|
if "%COMPILE_XENON%"=="0" goto post_XENON
|
|
|
|
REM echo ** fxl:
|
|
|
|
set SHADER_FOLDER=fxl_final%SHADER_FOLDER_SUFFIX%
|
|
set PDIR=%SHADER_FOLDER%
|
|
if not exist %SHADER_FOLDER%\* mkdir %SHADER_FOLDER%
|
|
if not exist %SHADERPATH%%SHADER_FOLDER%\* %RS_TOOLSROOT%\bin\coding\nmkdir %SHADERPATH%%SHADER_FOLDER%
|
|
%RS_TOOLSROOT%\bin\coding\wave.exe -I. -D__RAGE=1 %WAVE_PLATFORMCONFIG_DEFINE% -D__XENON=1 -D__WIN32PC=0 -D__SHADERMODEL=30 -D__PSSL=0 -D__FXL=1 -D__PS3=0 -D__PSP2=0 -D__MAX=0 -DRSG_PC=0 -DRSG_PS3=0 -DRSG_XENON=1 -DRSG_DURANGO=0 -DRSG_ORBIS=0 %SHADERFILE% > %SHADER_FOLDER%\%SHADERNAME%.i
|
|
if "%CONTINUE_ON_ERROR%"=="0" if errorlevel 1 goto wave_fail
|
|
%RS_TOOLSROOT%\bin\coding\fx2cg_win32_debug.exe %SHADER_FOLDER%\%SHADERNAME%.i %SHADERPATH%%SHADER_FOLDER%\%SHADERNAME%.fxc %NO_PERFORMANCE_DUMP% %QUIET% -platform=xenon > %SHADER_FOLDER%\%SHADERNAME%.txt
|
|
if "%CONTINUE_ON_ERROR%"=="0" if errorlevel 1 goto common_fail
|
|
type %SHADER_FOLDER%\%SHADERNAME%.txt | %RS_TOOLSROOT%\bin\coding\findstr /v succeeded
|
|
IF "%WARNING_AS_ERROR%"=="0" goto noWarning_XENON
|
|
%RS_TOOLSROOT%\bin\coding\findstr warning %SHADER_FOLDER%\%SHADERNAME%.txt
|
|
IF NOT ERRORLEVEL 1 (
|
|
echo %SHADERNAME% : error X1000: warnings treated as errors by script.
|
|
if "%CONTINUE_ON_ERROR%"=="0" goto fail
|
|
)
|
|
:noWarning_XENON
|
|
echo compilation succeeded; see %SHADERPATH%%SHADER_FOLDER%\%SHADERNAME%.fxc
|
|
|
|
:post_XENON
|
|
|
|
REM ====================================================================================
|
|
|
|
if "%COMPILE_PSN%"=="0" goto post_PSN
|
|
|
|
REM echo ** psn:
|
|
|
|
set SHADER_FOLDER=psn%SHADER_FOLDER_SUFFIX%
|
|
set PDIR=%SHADER_FOLDER%
|
|
if not exist psn\* mkdir %SHADER_FOLDER%
|
|
if not exist %SHADERPATH%%SHADER_FOLDER%\* %RS_TOOLSROOT%\bin\coding\nmkdir %SHADERPATH%%SHADER_FOLDER%
|
|
%RS_TOOLSROOT%\bin\coding\wave.exe -I. -D__RAGE=1 %WAVE_PLATFORMCONFIG_DEFINE% -D__XENON=0 -D__WIN32PC=0 -D__SHADERMODEL=30 -D__PSSL=0 -D__FXL=1 -D__PS3=1 -D__PSP2=0 -D__MAX=0 -DRSG_PC=0 -DRSG_PS3=1 -DRSG_XENON=0 -DRSG_DURANGO=0 -DRSG_ORBIS=0 %SHADERFILE% > %SHADER_FOLDER%\%SHADERNAME%.i
|
|
if "%CONTINUE_ON_ERROR%"=="0" if errorlevel 1 goto wave_fail
|
|
%RS_TOOLSROOT%\bin\coding\fx2cg_win32_debug.exe %SHADER_FOLDER%\%SHADERNAME%.i %SHADERPATH%%SHADER_FOLDER%\%SHADERNAME%.cgx %NO_PERFORMANCE_DUMP% %QUIET% %COMPILE_PSN_RANDOMIZE% -platform=ps3 > %SHADER_FOLDER%\%SHADERNAME%.txt
|
|
if "%CONTINUE_ON_ERROR%"=="0" if errorlevel 1 goto common_fail
|
|
type %SHADER_FOLDER%\%SHADERNAME%.txt | %RS_TOOLSROOT%\bin\coding\findstr /v succeeded
|
|
IF "%WARNING_AS_ERROR%"=="0" goto noWarning_PSN
|
|
%RS_TOOLSROOT%\bin\coding\findstr warning %SHADER_FOLDER%\%SHADERNAME%.txt
|
|
IF NOT ERRORLEVEL 1 (
|
|
echo %SHADERNAME% : error X1000: warnings treated as errors by script.
|
|
if "%CONTINUE_ON_ERROR%"=="0" goto fail
|
|
)
|
|
:noWarning_PSN
|
|
echo compilation succeeded; see %SHADERPATH%%SHADER_FOLDER%\%SHADERNAME%.cgx
|
|
goto post_PSN
|
|
|
|
:post_PSN
|
|
|
|
REM ====================================================================================
|
|
|
|
if "%COMPILE_PSP2%"=="0" goto post_PSP2
|
|
|
|
REM echo ** psp2:
|
|
|
|
set SHADER_FOLDER=psp2%SHADER_FOLDER_SUFFIX%
|
|
set PDIR=%SHADER_FOLDER%
|
|
if not exist %SHADER_FOLDER%\* mkdir %SHADER_FOLDER%
|
|
if not exist %SHADERPATH%%SHADER_FOLDER%\* %RS_TOOLSROOT%\bin\coding\nmkdir %SHADERPATH%%SHADER_FOLDER%
|
|
%RS_TOOLSROOT%\bin\coding\wave.exe -I. -D__RAGE=1 %WAVE_PLATFORMCONFIG_DEFINE% -D__XENON=0 -D__WIN32PC=0 -D__SHADERMODEL=30 -D__PSSL=0 -D__FXL=1 -D__PS3=0 -D__PSP2=1 -D__MAX=0 -DRSG_PC=0 -DRSG_PS3=0 -DRSG_XENON=0 -DRSG_DURANGO=0 -DRSG_ORBIS=0 %SHADERFILE% > %SHADER_FOLDER%\%SHADERNAME%.i
|
|
if "%CONTINUE_ON_ERROR%"=="0" if errorlevel 1 goto wave_fail
|
|
%RS_TOOLSROOT%\bin\coding\fx2cg_win32_debug.exe %SHADER_FOLDER%\%SHADERNAME%.i %SHADERPATH%%SHADER_FOLDER%\%SHADERNAME%.cgx %NO_PERFORMANCE_DUMP% %QUIET% -platform=psp2 > %SHADER_FOLDER%\%SHADERNAME%.txt
|
|
if "%CONTINUE_ON_ERROR%"=="0" if errorlevel 1 goto common_fail
|
|
type %SHADER_FOLDER%\%SHADERNAME%.txt | %RS_TOOLSROOT%\bin\coding\findstr /v succeeded
|
|
IF "%WARNING_AS_ERROR%"=="0" goto noWarning_PSP2
|
|
%RS_TOOLSROOT%\bin\coding\findstr warning %SHADER_FOLDER%\%SHADERNAME%.txt
|
|
IF NOT ERRORLEVEL 1 (
|
|
echo %SHADERNAME% : error X1000: warnings treated as errors by script.
|
|
if "%CONTINUE_ON_ERROR%"=="0" goto fail
|
|
)
|
|
:noWarning_PSP2
|
|
echo compilation succeeded; see %SHADERPATH%%SHADER_FOLDER%\%SHADERNAME%.cgx
|
|
goto post_PSP2
|
|
|
|
:post_PSP2
|
|
|
|
REM ====================================================================================
|
|
|
|
if "%COMPILE_DURANGO%"=="0" goto post_DURANGO
|
|
|
|
REM echo ** durango:
|
|
|
|
set SHADER_FOLDER=durango%SHADER_FOLDER_SUFFIX%
|
|
set PDIR=%SHADER_FOLDER%
|
|
if not exist %SHADER_FOLDER%\* mkdir %SHADER_FOLDER%
|
|
if not exist %SHADERPATH%%SHADER_FOLDER%\* %RS_TOOLSROOT%\bin\coding\nmkdir %SHADERPATH%%SHADER_FOLDER%
|
|
%RS_TOOLSROOT%\bin\coding\wave.exe -I. -D__RAGE=1 %WAVE_PLATFORMCONFIG_DEFINE% -D__XENON=0 -D__WIN32PC=1 -D__SHADERMODEL=50 -D__PSSL=0 -D__FXL=1 -D__PS3=0 -D__PSP2=0 -D__MAX=0 -DRSG_PC=0 -DRSG_PS3=0 -DRSG_XENON=0 -DRSG_DURANGO=1 -DRSG_ORBIS=0 %SHADERFILE% > %SHADER_FOLDER%\%SHADERNAME%.i
|
|
if "%CONTINUE_ON_ERROR%"=="0" if errorlevel 1 goto wave_fail
|
|
%RS_TOOLSROOT%\bin\coding\fx2cg_win32_debug.exe %SHADER_FOLDER%\%SHADERNAME%.i %SHADERPATH%%SHADER_FOLDER%\%SHADERNAME%.fxc %NO_PERFORMANCE_DUMP% %QUIET% -shadermodel=50 -platform=durango > %SHADER_FOLDER%\%SHADERNAME%.txt
|
|
if "%CONTINUE_ON_ERROR%"=="0" if errorlevel 1 goto common_fail
|
|
type %SHADER_FOLDER%\%SHADERNAME%.txt | %RS_TOOLSROOT%\bin\coding\findstr /v succeeded
|
|
IF "%WARNING_AS_ERROR%"=="0" goto noWarning_DURANGO
|
|
%RS_TOOLSROOT%\bin\coding\findstr warning %SHADER_FOLDER%\%SHADERNAME%.txt
|
|
IF NOT ERRORLEVEL 1 (
|
|
echo %SHADERNAME% : error X1000: warnings treated as errors by script.
|
|
if "%CONTINUE_ON_ERROR%"=="0" goto fail
|
|
)
|
|
:noWarning_DURANGO
|
|
echo compilation succeeded; see %SHADERPATH%%SHADER_FOLDER%\%SHADERNAME%.fxc
|
|
goto post_DURANGO
|
|
|
|
:post_DURANGO
|
|
|
|
REM ====================================================================================
|
|
|
|
if "%COMPILE_ORBIS%"=="0" goto post_ORBIS
|
|
|
|
REM echo ** orbis:
|
|
|
|
set SHADER_FOLDER=orbis%SHADER_FOLDER_SUFFIX%
|
|
set PDIR=%SHADER_FOLDER%
|
|
if not exist %SHADER_FOLDER%\* mkdir %SHADER_FOLDER%
|
|
if not exist %SHADERPATH%%SHADER_FOLDER%\* %RS_TOOLSROOT%\bin\coding\nmkdir %SHADERPATH%%SHADER_FOLDER%
|
|
%RS_TOOLSROOT%\bin\coding\wave.exe -I. -D__RAGE=1 %WAVE_PLATFORMCONFIG_DEFINE% -D__XENON=0 -D__WIN32PC=0 -D__SHADERMODEL=50 -D__PSSL=1 -D__FXL=1 -D__PS3=0 -D__PSP2=0 -D__MAX=0 -DRSG_PC=0 -DRSG_PS3=0 -DRSG_XENON=0 -DRSG_DURANGO=0 -DRSG_ORBIS=1 %SHADERFILE% > %SHADER_FOLDER%\%SHADERNAME%.i
|
|
if "%CONTINUE_ON_ERROR%"=="0" if errorlevel 1 goto wave_fail
|
|
%RS_TOOLSROOT%\bin\coding\fx2cg_win32_debug.exe %SHADER_FOLDER%\%SHADERNAME%.i %SHADERPATH%%SHADER_FOLDER%\%SHADERNAME%.fxc %NO_PERFORMANCE_DUMP% %QUIET% -shadermodel=50 -platform=orbis > %SHADER_FOLDER%\%SHADERNAME%.txt
|
|
if "%CONTINUE_ON_ERROR%"=="0" if errorlevel 1 goto common_fail
|
|
type %SHADER_FOLDER%\%SHADERNAME%.txt | %RS_TOOLSROOT%\bin\coding\findstr /v succeeded
|
|
IF "%WARNING_AS_ERROR%"=="0" goto noWarning_ORBIS
|
|
%RS_TOOLSROOT%\bin\coding\findstr warning %SHADER_FOLDER%\%SHADERNAME%.txt
|
|
IF NOT ERRORLEVEL 1 (
|
|
echo %SHADERNAME% : error X1000: warnings treated as errors by script.
|
|
if "%CONTINUE_ON_ERROR%"=="0" goto fail
|
|
)
|
|
:noWarning_ORBIS
|
|
echo compilation succeeded; see %SHADERPATH%%SHADER_FOLDER%\%SHADERNAME%.fxc
|
|
goto post_ORBIS
|
|
|
|
:post_ORBIS
|
|
|
|
REM ====================================================================================
|
|
|
|
if "%COMPILE_MAX%"=="0" goto post_MAX
|
|
|
|
REM echo ** max:
|
|
|
|
REM Don't allow folder suffic for Max since we don't do final builds here
|
|
set SHADER_FOLDER_SUFFIX=
|
|
set SHADER_FOLDER=fx_max%SHADER_FOLDER_SUFFIX%
|
|
set PDIR=%SHADER_FOLDER%
|
|
if not exist %SHADERPATH%%SHADER_FOLDER%\* mkdir %SHADERPATH%%SHADER_FOLDER%
|
|
echo %SHADERPATH%%SHADER_FOLDER%\%SHADERNAME%.fx
|
|
if "%COMPILE_MAX_NOLINES%"=="1" goto noLinesMax
|
|
%RS_TOOLSROOT%\bin\coding\wave.exe -I. -D__RAGE=1 %WAVE_PLATFORMCONFIG_DEFINE% -D__XENON=0 -D__WIN32PC=0 -D__SHADERMODEL=30 -D__PSSL=0 -D__FXL=0 -D__PS3=0 -D__PSP2=0 -D__MAX=1 -DRSG_PC=0 -DRSG_PS3=0 -DRSG_XENON=0 -DRSG_DURANGO=0 -DRSG_ORBIS=0 %SHADERFILE% > %SHADERPATH%%SHADER_FOLDER%\%SHADERNAME%.fx
|
|
goto noWarning_MAX
|
|
:noLinesMax
|
|
%RS_TOOLSROOT%\bin\coding\wave.exe -L0 -I. -D__RAGE=1 %WAVE_PLATFORMCONFIG_DEFINE% -D__XENON=0 -D__WIN32PC=0 -D__SHADERMODEL=30 -D__PSSL=0 -D__FXL=0 -D__PS3=0 -D__PSP2=0 -D__MAX=1 -DRSG_PC=0 -DRSG_PS3=0 -DRSG_XENON=0 -DRSG_DURANGO=0 -DRSG_ORBIS=0 %SHADERFILE% > %SHADERPATH%%SHADER_FOLDER%\%SHADERNAME%.fx
|
|
REM if "%CONTINUE_ON_ERROR%"=="0" if errorlevel 1 goto common_fail
|
|
REM type %SHADER_FOLDER%\%SHADERNAME%.txt | %RAGE_DIR%\base\bin\findstr /v succeeded
|
|
REM IF "%WARNING_AS_ERROR%"=="0" goto noWarning_MAX
|
|
REM %RAGE_DIR%\base\bin\findstr warning %SHADER_FOLDER%\%SHADERNAME%.txt
|
|
REM IF NOT ERRORLEVEL 1 (
|
|
REM echo %SHADERNAME% : error X1000: warnings treated as errors by script.
|
|
REM if "%CONTINUE_ON_ERROR%"=="0" goto fail
|
|
REM )
|
|
:noWarning_MAX
|
|
echo compilation succeeded; see %SHADERPATH%%SHADER_FOLDER%\%SHADERNAME%.fx
|
|
goto post_MAX
|
|
|
|
:common_fail
|
|
type %PDIR%\%SHADERNAME%.txt
|
|
echo %SHADERFILE% : error X1000: shader compilation failed
|
|
if "%CONTINUE_ON_ERROR%"=="0" goto fail
|
|
|
|
:post_MAX
|
|
|
|
REM ====================================================================================
|
|
|
|
goto end
|
|
|
|
:wave_fail
|
|
echo %SHADERFILE% : error X1000: shader preprocessing failed
|
|
|
|
:fail
|
|
if "%MAKESHADERS_SCRIPT_DIR%"=="" endlocal
|
|
exit /b 1
|
|
|
|
:end
|
|
|
|
if "%MAKESHADERS_SCRIPT_DIR%"=="" endlocal
|
|
exit /b 0
|