Fix broken shader platform checks, add checks for iOS, Android, Orbis (#254)

* Fix broken shader platform checks, add checks for iOS, Android, Orbis, remove NaCl

* Fix formatting issue

Co-authored-by: Sandy <1013356+bwrsandman@users.noreply.github.com>

* Update cmake/bgfxToolUtils.cmake formatting

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

---------

Co-authored-by: Sandy <1013356+bwrsandman@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This commit is contained in:
Aaron Ishibashi
2024-11-17 08:59:45 -08:00
committed by GitHub
parent 2c33050257
commit ef0ed485c5

View File

@@ -364,7 +364,7 @@ if(TARGET bgfx::shaderc)
# FILE filename # FILE filename
# OUTPUT filename # OUTPUT filename
# FRAGMENT|VERTEX|COMPUTE # FRAGMENT|VERTEX|COMPUTE
# ANDROID|ASM_JS|IOS|LINUX|NACL|OSX|WINDOWS # ANDROID|ASM_JS|IOS|LINUX|OSX|WINDOWS|ORBIS
# PROFILE profile # PROFILE profile
# [O 0|1|2|3] # [O 0|1|2|3]
# [VARYINGDEF filename] # [VARYINGDEF filename]
@@ -382,7 +382,7 @@ if(TARGET bgfx::shaderc)
function(_bgfx_shaderc_parse ARG_OUT) function(_bgfx_shaderc_parse ARG_OUT)
cmake_parse_arguments( cmake_parse_arguments(
ARG ARG
"DEPENDS;ANDROID;ASM_JS;IOS;LINUX;NACL;OSX;WINDOWS;PREPROCESS;RAW;FRAGMENT;VERTEX;COMPUTE;VERBOSE;DEBUG;DISASM;WERROR" "DEPENDS;ANDROID;ASM_JS;IOS;LINUX;OSX;WINDOWS;ORBIS;PREPROCESS;RAW;FRAGMENT;VERTEX;COMPUTE;VERBOSE;DEBUG;DISASM;WERROR"
"FILE;OUTPUT;VARYINGDEF;BIN2C;PROFILE;O" "FILE;OUTPUT;VARYINGDEF;BIN2C;PROFILE;O"
"INCLUDES;DEFINES" "INCLUDES;DEFINES"
${ARGN} ${ARGN}
@@ -423,7 +423,7 @@ if(TARGET bgfx::shaderc)
# --platform # --platform
set(PLATFORM "") set(PLATFORM "")
set(PLATFORMS "ANDROID;ASM_JS;IOS;LINUX;NACL;OSX;WINDOWS") set(PLATFORMS "ANDROID;ASM_JS;IOS;LINUX;OSX;WINDOWS;ORBIS")
foreach(P ${PLATFORMS}) foreach(P ${PLATFORMS})
if(ARG_${P}) if(ARG_${P})
if(PLATFORM) if(PLATFORM)
@@ -436,20 +436,20 @@ if(TARGET bgfx::shaderc)
if(PLATFORM STREQUAL "") if(PLATFORM STREQUAL "")
message(SEND_ERROR "Call to _bgfx_shaderc_parse() must have a platform flag: ${PLATFORMS}") message(SEND_ERROR "Call to _bgfx_shaderc_parse() must have a platform flag: ${PLATFORMS}")
return() return()
elseif(PLATFORM STREQUAL ANDROID) elseif(PLATFORM STREQUAL "ANDROID")
list(APPEND CLI "--platform" "android") list(APPEND CLI "--platform" "android")
elseif(PLATFORM STREQUAL ASM_JS) elseif(PLATFORM STREQUAL "ASM_JS")
list(APPEND CLI "--platform" "asm.js") list(APPEND CLI "--platform" "asm.js")
elseif(PLATFORM STREQUAL IOS) elseif(PLATFORM STREQUAL "IOS")
list(APPEND CLI "--platform" "ios") list(APPEND CLI "--platform" "ios")
elseif(PLATFORM STREQUAL NACL) elseif(PLATFORM STREQUAL "OSX")
list(APPEND CLI "--platform" "nacl")
elseif(PLATFORM STREQUAL OSX)
list(APPEND CLI "--platform" "osx") list(APPEND CLI "--platform" "osx")
elseif(PLATFORM STREQUAL UNIX) elseif(PLATFORM STREQUAL "LINUX")
list(APPEND CLI "--platform" "linux") list(APPEND CLI "--platform" "linux")
elseif(PLATFORM STREQUAL WINDOWS) elseif(PLATFORM STREQUAL "WINDOWS")
list(APPEND CLI "--platform" "windows") list(APPEND CLI "--platform" "windows")
elseif(PLATFORM STREQUAL "ORBIS")
list(APPEND CLI "--platform" "orbis")
endif() endif()
# --preprocess # --preprocess
@@ -576,7 +576,12 @@ if(TARGET bgfx::shaderc)
cmake_parse_arguments(ARGS "${options}" "${oneValueArgs}" "${multiValueArgs}" "${ARGN}") cmake_parse_arguments(ARGS "${options}" "${oneValueArgs}" "${multiValueArgs}" "${ARGN}")
set(PROFILES 120 300_es spirv) set(PROFILES 120 300_es spirv)
if(UNIX AND NOT APPLE) if(IOS)
set(PLATFORM IOS)
list(APPEND PROFILES metal)
elseif(ANDROID)
set(PLATFORM ANDROID)
elseif(UNIX AND NOT APPLE)
set(PLATFORM LINUX) set(PLATFORM LINUX)
elseif(EMSCRIPTEN) elseif(EMSCRIPTEN)
set(PLATFORM ASM_JS) set(PLATFORM ASM_JS)
@@ -592,6 +597,9 @@ if(TARGET bgfx::shaderc)
set(PLATFORM WINDOWS) set(PLATFORM WINDOWS)
list(APPEND PROFILES s_4_0) list(APPEND PROFILES s_4_0)
list(APPEND PROFILES s_5_0) list(APPEND PROFILES s_5_0)
elseif(ORBIS) # ORBIS should be defined by a PS4 CMake toolchain
set(PLATFORM ORBIS)
list(APPEND PROFILES pssl)
else() else()
# pssl for Agc and Gnm renderers # pssl for Agc and Gnm renderers
# nvn for Nvn renderer # nvn for Nvn renderer