Spaces:
Running
Running
Markus Tavenrath
commited on
Commit
·
9746f77
1
Parent(s):
d1c244a
Improve Vulkan shader build system (llama/9239)
Browse files* Improve Vulkan shader builds system
- Add dependency to vulkan-shaders-gen to rebuild shaders when changing the shader compilation utility.
- Add option to generate debug info for Vulkan shaders to provide shader source to Vulkan shader profiling tools
* remove not required self dependency
ggml/CMakeLists.txt
CHANGED
|
@@ -135,6 +135,7 @@ option(GGML_VULKAN "ggml: use Vulkan"
|
|
| 135 |
option(GGML_VULKAN_CHECK_RESULTS "ggml: run Vulkan op checks" OFF)
|
| 136 |
option(GGML_VULKAN_DEBUG "ggml: enable Vulkan debug output" OFF)
|
| 137 |
option(GGML_VULKAN_MEMORY_DEBUG "ggml: enable Vulkan memory debug output" OFF)
|
|
|
|
| 138 |
option(GGML_VULKAN_PERF "ggml: enable Vulkan perf output" OFF)
|
| 139 |
option(GGML_VULKAN_VALIDATE "ggml: enable Vulkan validation" OFF)
|
| 140 |
option(GGML_VULKAN_RUN_TESTS "ggml: run Vulkan tests" OFF)
|
|
|
|
| 135 |
option(GGML_VULKAN_CHECK_RESULTS "ggml: run Vulkan op checks" OFF)
|
| 136 |
option(GGML_VULKAN_DEBUG "ggml: enable Vulkan debug output" OFF)
|
| 137 |
option(GGML_VULKAN_MEMORY_DEBUG "ggml: enable Vulkan memory debug output" OFF)
|
| 138 |
+
option(GGML_VULKAN_SHADER_DEBUG_INFO "ggml: enable Vulkan shader debug info" OFF)
|
| 139 |
option(GGML_VULKAN_PERF "ggml: enable Vulkan perf output" OFF)
|
| 140 |
option(GGML_VULKAN_VALIDATE "ggml: enable Vulkan validation" OFF)
|
| 141 |
option(GGML_VULKAN_RUN_TESTS "ggml: run Vulkan tests" OFF)
|
ggml/src/CMakeLists.txt
CHANGED
|
@@ -612,6 +612,10 @@ if (GGML_VULKAN)
|
|
| 612 |
add_compile_definitions(GGML_VULKAN_MEMORY_DEBUG)
|
| 613 |
endif()
|
| 614 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 615 |
if (GGML_VULKAN_PERF)
|
| 616 |
add_compile_definitions(GGML_VULKAN_PERF)
|
| 617 |
endif()
|
|
|
|
| 612 |
add_compile_definitions(GGML_VULKAN_MEMORY_DEBUG)
|
| 613 |
endif()
|
| 614 |
|
| 615 |
+
if (GGML_VULKAN_SHADER_DEBUG_INFO)
|
| 616 |
+
add_compile_definitions(GGML_VULKAN_SHADER_DEBUG_INFO)
|
| 617 |
+
endif()
|
| 618 |
+
|
| 619 |
if (GGML_VULKAN_PERF)
|
| 620 |
add_compile_definitions(GGML_VULKAN_PERF)
|
| 621 |
endif()
|
ggml/src/vulkan-shaders/vulkan-shaders-gen.cpp
CHANGED
|
@@ -200,6 +200,11 @@ void string_to_spv(const std::string& _name, const std::string& in_fname, const
|
|
| 200 |
#else
|
| 201 |
std::vector<std::string> cmd = {GLSLC, "-fshader-stage=compute", "--target-env=vulkan1.2", "-O", in_path, "-o", out_fname};
|
| 202 |
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 203 |
for (const auto& define : defines) {
|
| 204 |
cmd.push_back("-D" + define.first + "=" + define.second);
|
| 205 |
}
|
|
|
|
| 200 |
#else
|
| 201 |
std::vector<std::string> cmd = {GLSLC, "-fshader-stage=compute", "--target-env=vulkan1.2", "-O", in_path, "-o", out_fname};
|
| 202 |
#endif
|
| 203 |
+
|
| 204 |
+
#ifdef GGML_VULKAN_SHADER_DEBUG_INFO
|
| 205 |
+
cmd.push_back("-g");
|
| 206 |
+
#endif
|
| 207 |
+
|
| 208 |
for (const auto& define : defines) {
|
| 209 |
cmd.push_back("-D" + define.first + "=" + define.second);
|
| 210 |
}
|