mirror of
https://github.com/bkaradzic/bgfx.cmake.git
synced 2026-02-17 13:02:33 +01:00
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:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user