| @ECHO OFF | |
| REM | |
| REM Copyright (c) 2017 The Chromium Project Authors. All rights reserved. | |
| REM Use of this source code is governed by a BSD-style license that can be | |
| REM found in the LICENSE file. | |
| REM | |
| PATH %ProgramFiles(x86)%\Windows Kits\8.1\bin\x86;%DXSDK_DIR%\Utilities\bin\x86;%PATH% | |
| setlocal | |
| set errorCount=0 | |
| set successCount=0 | |
| set debug=0 | |
| if "%1" == "debug" ( | |
| set debug=1 | |
| ) | |
| if "%1" == "release" ( | |
| set debug=0 | |
| ) | |
| :: | Input file | Entry point | Type | Output file | Debug | | |
| call:BuildShader vertex_shader.hlsl vertex vs_4_0_level_9_3 vertex_shader.h %debug% | |
| call:BuildShader flip_pixel_shader.hlsl flip_pixel ps_4_0_level_9_3 flip_pixel_shader.h %debug% | |
| call:BuildShader geometry_shader.hlsl geometry gs_5_0 geometry_shader.h %debug% | |
| echo. | |
| if %successCount% GTR 0 ( | |
| echo %successCount% shaders compiled successfully. | |
| ) | |
| if %errorCount% GTR 0 ( | |
| echo There were %errorCount% shader compilation errors. | |
| ) | |
| endlocal | |
| exit /b | |
| :BuildShader | |
| set input=%~1 | |
| set entry=%~2 | |
| set type=%~3 | |
| set output=%~4 | |
| set debug=%~5 | |
| if %debug% == 0 ( | |
| set "buildCMD=fxc /nologo /E %entry% /T %type% /Fh %output% %input%" | |
| ) else ( | |
| set "buildCMD=fxc /nologo /Zi /Od /E %entry% /T %type% /Fh %output% %input%" | |
| ) | |
| set error=0 | |
| %buildCMD% || set error=1 | |
| if %error% == 0 ( | |
| set /a successCount=%successCount%+1 | |
| ) else ( | |
| set /a errorCount=%errorCount%+1 | |
| ) | |
| exit /b |