diff options
| -rw-r--r-- | src/video_core/host_shaders/CMakeLists.txt | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/src/video_core/host_shaders/CMakeLists.txt b/src/video_core/host_shaders/CMakeLists.txt index 73f331d4c..28f2b8614 100644 --- a/src/video_core/host_shaders/CMakeLists.txt +++ b/src/video_core/host_shaders/CMakeLists.txt | |||
| @@ -20,6 +20,7 @@ set(SHADER_FILES | |||
| 20 | find_program(GLSLANGVALIDATOR "glslangValidator" REQUIRED) | 20 | find_program(GLSLANGVALIDATOR "glslangValidator" REQUIRED) |
| 21 | 21 | ||
| 22 | set(GLSL_FLAGS "") | 22 | set(GLSL_FLAGS "") |
| 23 | set(QUIET_FLAG "--quiet") | ||
| 23 | 24 | ||
| 24 | set(SHADER_INCLUDE ${CMAKE_CURRENT_BINARY_DIR}/include) | 25 | set(SHADER_INCLUDE ${CMAKE_CURRENT_BINARY_DIR}/include) |
| 25 | set(SHADER_DIR ${SHADER_INCLUDE}/video_core/host_shaders) | 26 | set(SHADER_DIR ${SHADER_INCLUDE}/video_core/host_shaders) |
| @@ -28,6 +29,23 @@ set(HOST_SHADERS_INCLUDE ${SHADER_INCLUDE} PARENT_SCOPE) | |||
| 28 | set(INPUT_FILE ${CMAKE_CURRENT_SOURCE_DIR}/source_shader.h.in) | 29 | set(INPUT_FILE ${CMAKE_CURRENT_SOURCE_DIR}/source_shader.h.in) |
| 29 | set(HEADER_GENERATOR ${CMAKE_CURRENT_SOURCE_DIR}/StringShaderHeader.cmake) | 30 | set(HEADER_GENERATOR ${CMAKE_CURRENT_SOURCE_DIR}/StringShaderHeader.cmake) |
| 30 | 31 | ||
| 32 | # Check if `--quiet` is available on host's glslangValidator version | ||
| 33 | # glslangValidator prints to STDERR iff an unrecognized flag is passed to it | ||
| 34 | execute_process( | ||
| 35 | COMMAND | ||
| 36 | ${GLSLANGVALIDATOR} ${QUIET_FLAG} | ||
| 37 | ERROR_VARIABLE | ||
| 38 | GLSLANG_ERROR | ||
| 39 | # STDOUT variable defined to silence unnecessary output during CMake configuration | ||
| 40 | OUTPUT_VARIABLE | ||
| 41 | GLSLANG_OUTPUT | ||
| 42 | ) | ||
| 43 | |||
| 44 | if (NOT GLSLANG_ERROR STREQUAL "") | ||
| 45 | message(WARNING "Refusing to use unavailable flag `${QUIET_FLAG}` on `${GLSLANGVALIDATOR}`") | ||
| 46 | set(QUIET_FLAG "") | ||
| 47 | endif() | ||
| 48 | |||
| 31 | foreach(FILENAME IN ITEMS ${SHADER_FILES}) | 49 | foreach(FILENAME IN ITEMS ${SHADER_FILES}) |
| 32 | string(REPLACE "." "_" SHADER_NAME ${FILENAME}) | 50 | string(REPLACE "." "_" SHADER_NAME ${FILENAME}) |
| 33 | set(SOURCE_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${FILENAME}) | 51 | set(SOURCE_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${FILENAME}) |
| @@ -55,7 +73,7 @@ foreach(FILENAME IN ITEMS ${SHADER_FILES}) | |||
| 55 | OUTPUT | 73 | OUTPUT |
| 56 | ${SPIRV_HEADER_FILE} | 74 | ${SPIRV_HEADER_FILE} |
| 57 | COMMAND | 75 | COMMAND |
| 58 | ${GLSLANGVALIDATOR} -V --quiet ${GLSL_FLAGS} --variable-name ${SPIRV_VARIABLE_NAME} -o ${SPIRV_HEADER_FILE} ${SOURCE_FILE} | 76 | ${GLSLANGVALIDATOR} -V ${QUIET_FLAG} ${GLSL_FLAGS} --variable-name ${SPIRV_VARIABLE_NAME} -o ${SPIRV_HEADER_FILE} ${SOURCE_FILE} |
| 59 | MAIN_DEPENDENCY | 77 | MAIN_DEPENDENCY |
| 60 | ${SOURCE_FILE} | 78 | ${SOURCE_FILE} |
| 61 | ) | 79 | ) |