chromium/device/vr/windows/generate_shaders.bat

@ECHO OFF
REM
REM Copyright 2017 The Chromium Project Authors
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