Updated to add compute shaders with header

This commit is contained in:
Alejandro Saucedo 2020-08-25 20:44:55 +01:00
parent 2490708486
commit d0849f799b
7 changed files with 297 additions and 292 deletions

2
.ccls
View file

@ -13,7 +13,7 @@
-DDEBUG=1 -DDEBUG=1
-DKOMPUTE_INCLUDE_FOR_SYNTAX -DKOMPUTE_INCLUDE_FOR_SYNTAX
-I./external/ -I/c/Users/axsau/Programming/lib/vcpkg/installed/x64-linux/include/
-I./src/include/ -I./src/include/
-I./single_include/ -I./single_include/

View file

@ -5,6 +5,9 @@ set(CMAKE_CXX_STANDARD 17)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON) set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_CXX_FLAGS_DEBUG "-DDEBUG=1")
set(CMAKE_CXX_FLAGS_RELEASE "-DRELEASE=1")
option(KOMPUTE_OPT_BUILD_TESTS "Enable if you want to build tests" ON) option(KOMPUTE_OPT_BUILD_TESTS "Enable if you want to build tests" ON)
# Allow scripts to call main kompute Makefile # Allow scripts to call main kompute Makefile

View file

@ -132,7 +132,7 @@ def run_cli(
header_file = file_name.replace(".comp.spv", ".hpp") header_file = file_name.replace(".comp.spv", ".hpp")
header_file_define = "SHADEROP_" + header_file.replace(".", "_").upper() header_file_define = "SHADEROP_" + header_file.replace(".", "_").upper()
logger.debug(f"Converting to hpp: {file_name}") logger.debug(f"Converting to hpp: {file_name}")
with open(os.path.join(header_path, header_file), "w+") as fstream: with open(os.path.join(header_path, header_file), "w+", newline='\n') as fstream:
fstream.write(f"{SHADER_GENERATED_NOTICE}\n") fstream.write(f"{SHADER_GENERATED_NOTICE}\n")
fstream.write(f"#ifndef {header_file_define}\n") fstream.write(f"#ifndef {header_file_define}\n")
fstream.write(f"#define {header_file_define}\n\n") fstream.write(f"#define {header_file_define}\n\n")

View file

@ -3,8 +3,10 @@ find_package(fmt REQUIRED)
find_package(spdlog REQUIRED) find_package(spdlog REQUIRED)
find_package(Vulkan REQUIRED) find_package(Vulkan REQUIRED)
# In production builds all shaders are compiled into cpp files
kompute_make(build_shaders kompute_make(build_shaders
OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/include) OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/include)
# In production builds all headers are compiled into a single header
kompute_make(build_single_header kompute_make(build_single_header
OUTPUT ${PROJECT_SOURCE_DIR}/single_include) OUTPUT ${PROJECT_SOURCE_DIR}/single_include)

View file

@ -1,6 +1,6 @@
#if DEBUG #if DEBUG
#include <spdlog/fmt/bundled/ranges.h> #include <fmt/ranges.h>
#endif #endif
#include "kompute/Tensor.hpp" #include "kompute/Tensor.hpp"