Add compute shader support

This commit is contained in:
2026-03-16 12:58:09 +01:00
parent 3a7b137165
commit df0da96c38
2 changed files with 3 additions and 8 deletions

View File

@@ -58,7 +58,7 @@ public:
static bool IsEntryShader(const fs::path& p)
{
const auto ext = ToLower(p.extension().string());
return ext == ".vert" || ext == ".frag";
return ext == ".vert" || ext == ".frag" || ext == ".comp";
}
static bool IsIncludeOnlyShader(const fs::path& p)
@@ -114,6 +114,7 @@ private:
const auto ext = ToLower(p.extension().string());
if (ext == ".vert") return EShLangVertex;
if (ext == ".frag") return EShLangFragment;
if (ext == ".comp") return EShLangCompute;
throw std::runtime_error("Unknown entry shader stage extension: " + p.string());
}

View File

@@ -1,6 +1,3 @@
// main.cpp (updated)
// Standard
#include <filesystem>
#include <fstream>
#include <string>
@@ -8,16 +5,12 @@
#include <cctype>
#include <chrono>
#include <stdexcept>
#include <cstdlib>
// Manifest
#include <nlohmann/json.hpp>
// Logging
#include <spdlog/spdlog.h>
#include <spdlog/sinks/stdout_color_sinks.h>
// Your shader compiler header
#include "ShaderCompiler.h"
namespace fs = std::filesystem;
@@ -122,6 +115,7 @@ int main(int argc, char** argv) {
if (args.clean && fs::exists(args.output)) {
spdlog::info("Cleaning output dir: {}", args.output.string());
fs::remove_all(args.output);
return 0;
}
fs::create_directories(args.output);