File indexing completed on 2023-09-24 08:07:33
0001 #!/bin/bash 0002 0003 glslang=$(PATH=./glslang/bin:$PATH which glslangValidator 2> /dev/null) 0004 result=0 0005 0006 shaderdir=$1 0007 0008 if [ -z $glslang ]; then 0009 echo "Error: glslangValidator not found, cannot validate shaders!" 0010 exit 1 0011 fi 0012 0013 function print_error 0014 { 0015 echo "While validating $1:" 0016 echo "$2" 0017 result=1 0018 } 0019 0020 function validate_vert 0021 { 0022 output=$(cat "$shaderdir/header_desktop.glsl" "$shaderdir/$1" | $glslang --stdin -S vert -l -DVALIDATING) 0023 if [ $? -ne 0 ]; then print_error "$1" "$output"; fi 0024 output=$(cat "$shaderdir/header_desktop_core.glsl" "$shaderdir/$1" | $glslang --stdin -S vert -l -DVALIDATING) 0025 if [ $? -ne 0 ]; then print_error "$1" "$output"; fi 0026 output=$(cat "$shaderdir/header_es2.glsl" "$shaderdir/$1" | $glslang --stdin -S vert -l -DVALIDATING) 0027 if [ $? -ne 0 ]; then print_error "$1" "$output"; fi 0028 output=$(cat "$shaderdir/header_es3.glsl" "$shaderdir/$1" | $glslang --stdin -S vert -l -DVALIDATING) 0029 if [ $? -ne 0 ]; then print_error "$1" "$output"; fi 0030 } 0031 0032 function validate_frag 0033 { 0034 output=$(cat "$shaderdir/header_desktop.glsl" "$shaderdir/sdf.glsl" "$shaderdir/$1" | $glslang --stdin -S frag -l -DVALIDATING) 0035 if [ $? -ne 0 ]; then print_error "$1" "$output"; fi 0036 output=$(cat "$shaderdir/header_desktop_core.glsl" "$shaderdir/sdf.glsl" "$shaderdir/$1" | $glslang --stdin -S frag -l -DVALIDATING) 0037 if [ $? -ne 0 ]; then print_error "$1" "$output"; fi 0038 output=$(cat "$shaderdir/header_es2.glsl" "$shaderdir/sdf.glsl" "$shaderdir/$1" | $glslang --stdin -S frag -l -DVALIDATING) 0039 if [ $? -ne 0 ]; then print_error "$1" "$output"; fi 0040 output=$(cat "$shaderdir/header_es3.glsl" "$shaderdir/sdf.glsl" "$shaderdir/$1" | $glslang --stdin -S frag -l -DVALIDATING) 0041 if [ $? -ne 0 ]; then print_error "$1" "$output"; fi 0042 } 0043 0044 validate_vert "piechart.vert" 0045 validate_frag "piechart.frag" 0046 validate_vert "linechart.vert" 0047 validate_frag "linechart.frag" 0048 0049 if [ $result -eq 0 ]; then 0050 echo "Successfully validated shaders, no errors found." 0051 fi 0052 exit $result