mirror of
https://github.com/wheremyfoodat/Panda3DS.git
synced 2025-06-04 21:00:31 +12:00
Add Vulkan Host-Shader compilation
Compiles Vulkan Host shaders into spirv binary files and embeds them into the application's virtual file-system.
This commit is contained in:
parent
f62f1bf9b2
commit
97b6b7f122
3 changed files with 51 additions and 1 deletions
|
@ -251,10 +251,30 @@ if(ENABLE_VULKAN)
|
|||
set(HEADER_FILES ${HEADER_FILES} ${RENDERER_VK_INCLUDE_FILES})
|
||||
source_group("Source Files\\Core\\Vulkan Renderer" FILES ${RENDERER_VK_SOURCE_FILES})
|
||||
|
||||
|
||||
set(RENDERER_VK_HOST_SHADERS_SOURCE
|
||||
"src/host_shaders/vulkan_display.frag"
|
||||
"src/host_shaders/vulkan_display.vert"
|
||||
)
|
||||
|
||||
foreach( HOST_SHADER_SOURCE ${RENDERER_VK_HOST_SHADERS_SOURCE} )
|
||||
get_filename_component( FILE_NAME ${HOST_SHADER_SOURCE} NAME )
|
||||
set( HOST_SHADER_SPIRV "${PROJECT_BINARY_DIR}/host_shaders/${FILE_NAME}.spv" )
|
||||
add_custom_command(
|
||||
OUTPUT ${HOST_SHADER_SPIRV}
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory "${PROJECT_BINARY_DIR}/host_shaders/"
|
||||
COMMAND Vulkan::glslangValidator -t --target-env vulkan1.1 -g -V "${PROJECT_SOURCE_DIR}/${HOST_SHADER_SOURCE}" -o ${HOST_SHADER_SPIRV}
|
||||
#COMMAND ${SPIRV_OPT} -O ${HOST_SHADER_SPIRV} -o ${HOST_SHADER_SPIRV}
|
||||
DEPENDS ${HOST_SHADER_SOURCE}
|
||||
)
|
||||
list( APPEND RENDERER_VK_HOST_SHADERS_SPIRV ${HOST_SHADER_SPIRV} )
|
||||
endforeach()
|
||||
|
||||
cmrc_add_resource_library(
|
||||
resources_renderer_vk
|
||||
NAMESPACE RendererVK
|
||||
WHENCE "src/host_shaders/"
|
||||
WHENCE "${PROJECT_BINARY_DIR}/host_shaders/"
|
||||
${RENDERER_VK_HOST_SHADERS_SPIRV}
|
||||
)
|
||||
endif()
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue