summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar ReinUsesLisp2020-09-23 21:38:05 -0300
committerGravatar ReinUsesLisp2020-09-23 22:27:17 -0300
commit67af0323f0599585825895144bcfcaea0e10bf46 (patch)
tree6da315a3c9007eaf7f98cc4a03d702beb1c76536
parentMerge pull request #4618 from german77/GcAdapterAutoMap (diff)
downloadyuzu-67af0323f0599585825895144bcfcaea0e10bf46.tar.gz
yuzu-67af0323f0599585825895144bcfcaea0e10bf46.tar.xz
yuzu-67af0323f0599585825895144bcfcaea0e10bf46.zip
video_core: Fix instances where msbuild always regenerated host shaders
When HEADER_GENERATOR was included in the DEPENDS section of custom commands, msbuild assumed this was always modified. Changing this file is not common so we can remove it from there.
Diffstat (limited to '')
-rw-r--r--src/video_core/host_shaders/CMakeLists.txt17
-rw-r--r--src/video_core/host_shaders/StringShaderHeader.cmake2
2 files changed, 7 insertions, 12 deletions
diff --git a/src/video_core/host_shaders/CMakeLists.txt b/src/video_core/host_shaders/CMakeLists.txt
index aa62363a7..c157724a9 100644
--- a/src/video_core/host_shaders/CMakeLists.txt
+++ b/src/video_core/host_shaders/CMakeLists.txt
@@ -1,23 +1,16 @@
1set(SHADER_FILES 1set(SHADER_SOURCES
2 opengl_present.frag 2 opengl_present.frag
3 opengl_present.vert 3 opengl_present.vert
4) 4)
5 5
6set(SHADER_INCLUDE ${CMAKE_CURRENT_BINARY_DIR}/include) 6set(SHADER_INCLUDE ${CMAKE_CURRENT_BINARY_DIR}/include)
7set(HOST_SHADERS_INCLUDE ${SHADER_INCLUDE} PARENT_SCOPE)
8
9set(SHADER_DIR ${SHADER_INCLUDE}/video_core/host_shaders) 7set(SHADER_DIR ${SHADER_INCLUDE}/video_core/host_shaders)
10add_custom_command( 8set(HOST_SHADERS_INCLUDE ${SHADER_INCLUDE} PARENT_SCOPE)
11 OUTPUT
12 ${SHADER_DIR}
13 COMMAND
14 ${CMAKE_COMMAND} -E make_directory ${SHADER_DIR}
15)
16 9
17set(INPUT_FILE ${CMAKE_CURRENT_SOURCE_DIR}/source_shader.h.in) 10set(INPUT_FILE ${CMAKE_CURRENT_SOURCE_DIR}/source_shader.h.in)
18set(HEADER_GENERATOR ${CMAKE_CURRENT_SOURCE_DIR}/StringShaderHeader.cmake) 11set(HEADER_GENERATOR ${CMAKE_CURRENT_SOURCE_DIR}/StringShaderHeader.cmake)
19 12
20foreach(FILENAME IN ITEMS ${SHADER_FILES}) 13foreach(FILENAME IN ITEMS ${SHADER_SOURCES})
21 string(REPLACE "." "_" SHADER_NAME ${FILENAME}) 14 string(REPLACE "." "_" SHADER_NAME ${FILENAME})
22 set(SOURCE_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${FILENAME}) 15 set(SOURCE_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${FILENAME})
23 set(HEADER_FILE ${SHADER_DIR}/${SHADER_NAME}.h) 16 set(HEADER_FILE ${SHADER_DIR}/${SHADER_NAME}.h)
@@ -29,8 +22,8 @@ foreach(FILENAME IN ITEMS ${SHADER_FILES})
29 MAIN_DEPENDENCY 22 MAIN_DEPENDENCY
30 ${SOURCE_FILE} 23 ${SOURCE_FILE}
31 DEPENDS 24 DEPENDS
32 ${HEADER_GENERATOR}
33 ${INPUT_FILE} 25 ${INPUT_FILE}
26 # HEADER_GENERATOR should be included here but msbuild seems to assume it's always modified
34 ) 27 )
35 set(SHADER_HEADERS ${SHADER_HEADERS} ${HEADER_FILE}) 28 set(SHADER_HEADERS ${SHADER_HEADERS} ${HEADER_FILE})
36endforeach() 29endforeach()
@@ -39,5 +32,5 @@ add_custom_target(host_shaders
39 DEPENDS 32 DEPENDS
40 ${SHADER_HEADERS} 33 ${SHADER_HEADERS}
41 SOURCES 34 SOURCES
42 ${SHADER_FILES} 35 ${SHADER_SOURCES}
43) 36)
diff --git a/src/video_core/host_shaders/StringShaderHeader.cmake b/src/video_core/host_shaders/StringShaderHeader.cmake
index 368bce0ed..c0fc49768 100644
--- a/src/video_core/host_shaders/StringShaderHeader.cmake
+++ b/src/video_core/host_shaders/StringShaderHeader.cmake
@@ -8,4 +8,6 @@ string(TOUPPER ${CONTENTS_NAME} CONTENTS_NAME)
8 8
9file(READ ${SOURCE_FILE} CONTENTS) 9file(READ ${SOURCE_FILE} CONTENTS)
10 10
11get_filename_component(OUTPUT_DIR ${HEADER_FILE} DIRECTORY)
12make_directory(${OUTPUT_DIR})
11configure_file(${INPUT_FILE} ${HEADER_FILE} @ONLY) 13configure_file(${INPUT_FILE} ${HEADER_FILE} @ONLY)