Merge pull request #5865 from lat9nq/conditionally-quiet
video_core: host_shaders: Don't pass --quiet to glslangValidator if unavailable
This commit is contained in:
		| @@ -20,6 +20,7 @@ set(SHADER_FILES | ||||
| find_program(GLSLANGVALIDATOR "glslangValidator" REQUIRED) | ||||
|  | ||||
| set(GLSL_FLAGS "") | ||||
| set(QUIET_FLAG "--quiet") | ||||
|  | ||||
| set(SHADER_INCLUDE ${CMAKE_CURRENT_BINARY_DIR}/include) | ||||
| set(SHADER_DIR ${SHADER_INCLUDE}/video_core/host_shaders) | ||||
| @@ -28,6 +29,23 @@ set(HOST_SHADERS_INCLUDE ${SHADER_INCLUDE} PARENT_SCOPE) | ||||
| set(INPUT_FILE ${CMAKE_CURRENT_SOURCE_DIR}/source_shader.h.in) | ||||
| set(HEADER_GENERATOR ${CMAKE_CURRENT_SOURCE_DIR}/StringShaderHeader.cmake) | ||||
|  | ||||
| # Check if `--quiet` is available on host's glslangValidator version | ||||
| # glslangValidator prints to STDERR iff an unrecognized flag is passed to it | ||||
| execute_process( | ||||
|     COMMAND | ||||
|         ${GLSLANGVALIDATOR} ${QUIET_FLAG} | ||||
|     ERROR_VARIABLE | ||||
|         GLSLANG_ERROR | ||||
|     # STDOUT variable defined to silence unnecessary output during CMake configuration | ||||
|     OUTPUT_VARIABLE | ||||
|         GLSLANG_OUTPUT | ||||
| ) | ||||
|  | ||||
| if (NOT GLSLANG_ERROR STREQUAL "") | ||||
|     message(WARNING "Refusing to use unavailable flag `${QUIET_FLAG}` on `${GLSLANGVALIDATOR}`") | ||||
|     set(QUIET_FLAG "") | ||||
| endif() | ||||
|  | ||||
| foreach(FILENAME IN ITEMS ${SHADER_FILES}) | ||||
|     string(REPLACE "." "_" SHADER_NAME ${FILENAME}) | ||||
|     set(SOURCE_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${FILENAME}) | ||||
| @@ -55,7 +73,7 @@ foreach(FILENAME IN ITEMS ${SHADER_FILES}) | ||||
|             OUTPUT | ||||
|                 ${SPIRV_HEADER_FILE} | ||||
|             COMMAND | ||||
|                 ${GLSLANGVALIDATOR} -V --quiet ${GLSL_FLAGS} --variable-name ${SPIRV_VARIABLE_NAME} -o ${SPIRV_HEADER_FILE} ${SOURCE_FILE} | ||||
|                 ${GLSLANGVALIDATOR} -V ${QUIET_FLAG} ${GLSL_FLAGS} --variable-name ${SPIRV_VARIABLE_NAME} -o ${SPIRV_HEADER_FILE} ${SOURCE_FILE} | ||||
|             MAIN_DEPENDENCY | ||||
|                 ${SOURCE_FILE} | ||||
|         ) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user