New rules based order
All checks were successful
CI / React UI Build (push) Successful in 11s
CI / Native Windows Build And Tests (push) Successful in 2m53s
CI / Windows Release Package (push) Successful in 3m18s

This commit is contained in:
Aiden
2026-05-12 02:35:15 +10:00
parent c0d7e84495
commit 511b67c9bc
18 changed files with 772 additions and 150 deletions

View File

@@ -0,0 +1,33 @@
#pragma once
#include "RuntimeShaderArtifact.h"
#include "RuntimeSlangShaderCompiler.h"
#include <atomic>
#include <functional>
#include <string>
#include <thread>
class RuntimeShaderBridge
{
public:
using ArtifactCallback = std::function<void(const RuntimeShaderArtifact&)>;
using ErrorCallback = std::function<void(const std::string&)>;
RuntimeShaderBridge() = default;
RuntimeShaderBridge(const RuntimeShaderBridge&) = delete;
RuntimeShaderBridge& operator=(const RuntimeShaderBridge&) = delete;
~RuntimeShaderBridge();
void Start(const std::string& shaderId, ArtifactCallback onArtifactReady, ErrorCallback onError);
void Stop();
private:
void ThreadMain();
RuntimeSlangShaderCompiler mCompiler;
std::thread mThread;
std::atomic<bool> mStopping{ false };
ArtifactCallback mOnArtifactReady;
ErrorCallback mOnError;
};