mirror of
https://github.com/bkaradzic/bgfx.cmake.git
synced 2026-02-17 21:12:35 +01:00
added Spir-V shader generator support
Vulkan support is coming...
This commit is contained in:
committed by
Joshua Brookover
parent
c5e68e3bbd
commit
4cf4edff09
@@ -60,7 +60,12 @@ function( add_bgfx_shader FILE FOLDER )
|
||||
set( GLSL_OUTPUT ${BGFX_DIR}/examples/runtime/shaders/glsl/${FILENAME}.bin )
|
||||
shaderc_parse( GLSL ${COMMON} LINUX PROFILE 120 OUTPUT ${GLSL_OUTPUT} )
|
||||
list( APPEND OUTPUTS "GLSL" )
|
||||
set( OUTPUTS_PRETTY "${OUTPUTS_PRETTY}GLSL" )
|
||||
set( OUTPUTS_PRETTY "${OUTPUTS_PRETTY}GLSL, " )
|
||||
# spirv
|
||||
set( SPIRV_OUTPUT ${BGFX_DIR}/examples/runtime/shaders/spirv/${FILENAME}.bin )
|
||||
shaderc_parse( SPIRV ${COMMON} LINUX PROFILE spirv OUTPUT ${SPIRV_OUTPUT} )
|
||||
list( APPEND OUTPUTS "SPIRV" )
|
||||
set( OUTPUTS_PRETTY "${OUTPUTS_PRETTY}SPIRV" )
|
||||
set( OUTPUT_FILES "" )
|
||||
set( COMMANDS "" )
|
||||
foreach( OUT ${OUTPUTS} )
|
||||
|
||||
@@ -47,11 +47,11 @@ function( add_shader ARG_FILE )
|
||||
set( PLATFORMS ${ARG_PLATFORMS} )
|
||||
else()
|
||||
if( MSVC )
|
||||
set( PLATFORMS dx9 dx11 glsl essl asm.js )
|
||||
set( PLATFORMS dx9 dx11 glsl essl asm.js spirv )
|
||||
elseif( APPLE )
|
||||
set( PLATFORMS metal glsl essl asm.js )
|
||||
set( PLATFORMS metal glsl essl asm.js spirv )
|
||||
else()
|
||||
set( PLATFORMS glsl essl asm.js )
|
||||
set( PLATFORMS glsl essl asm.js spirv )
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@@ -75,6 +75,7 @@ function( add_shader ARG_FILE )
|
||||
if( ARG_GLSL_VERSION )
|
||||
set( GLSL_PROFILE PROFILE ${ARG_GLSL_VERSION} )
|
||||
endif()
|
||||
set( SPIRV_PROFILE PROFILE spirv )
|
||||
|
||||
# Add commands
|
||||
set( OUTPUTS "" )
|
||||
@@ -117,6 +118,12 @@ function( add_shader ARG_FILE )
|
||||
ASM_JS
|
||||
OUTPUT ${OUTPUT}
|
||||
)
|
||||
elseif( "${PLATFORM}" STREQUAL "spirv" )
|
||||
list( APPEND OPTIONS
|
||||
LINUX
|
||||
${SPIRV_PROFILE}
|
||||
OUTPUT ${OUTPUT}
|
||||
)
|
||||
else()
|
||||
message( SEND_ERROR "add_shader given bad platform: ${PLATFORM}" )
|
||||
return()
|
||||
|
||||
Reference in New Issue
Block a user