metal: Update shader compilation script with fixes for newer xcode versions and for running on older platforms

This commit is contained in:
Alex Szpakowski 2019-08-16 22:11:50 -03:00
parent 79cd6cfc94
commit 9e57e3e595
1 changed files with 11 additions and 7 deletions

View File

@ -6,13 +6,17 @@ cd `dirname "$0"`
generate_shaders() generate_shaders()
{ {
platform=$1 fileplatform=$1
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/usr/bin/metal -std=$platform-metal1.1 -Wall -O3 -o ./sdl.air ./SDL_shaders_metal.metal || exit $? compileplatform=$2
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/usr/bin/metal-ar rc sdl.metalar sdl.air || exit $? sdkplatform=$3
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/usr/bin/metallib -o sdl.metallib sdl.metalar || exit $? minversion=$4
xxd -i sdl.metallib | perl -w -p -e 's/\Aunsigned /const unsigned /;' >./SDL_shaders_metal_$platform.h xcrun -sdk $sdkplatform metal -c -std=$compileplatform-metal1.1 -m$sdkplatform-version-min=$minversion -Wall -O3 -o ./sdl.air ./SDL_shaders_metal.metal || exit $?
xcrun -sdk $sdkplatform metal-ar rc sdl.metalar sdl.air || exit $?
xcrun -sdk $sdkplatform metallib -o sdl.metallib sdl.metalar || exit $?
xxd -i sdl.metallib | perl -w -p -e 's/\Aunsigned /const unsigned /;' >./SDL_shaders_metal_$fileplatform.h
rm -f sdl.air sdl.metalar sdl.metallib rm -f sdl.air sdl.metalar sdl.metallib
} }
generate_shaders osx generate_shaders osx osx macosx 10.11
generate_shaders ios generate_shaders ios ios iphoneos 8.0
generate_shaders tvos ios appletvos 9.0