Files
video-shader-toys/src/runtime/SupportedShaderCatalog.h
Aiden f461a05c65
Some checks failed
CI / Native Windows Build And Tests (push) Failing after 16s
CI / React UI Build (push) Successful in 38s
CI / Windows Release Package (push) Has been skipped
Clean up
2026-05-18 14:19:29 +10:00

40 lines
859 B
C++

#pragma once
#include "ShaderTypes.h"
#include <filesystem>
#include <map>
#include <string>
#include <vector>
namespace RenderCadenceCompositor
{
struct SupportedShaderSummary
{
std::string id;
std::string name;
std::string description;
std::string category;
};
struct ShaderSupportResult
{
bool supported = false;
std::string reason;
};
ShaderSupportResult CheckStatelessSinglePassShaderSupport(const ShaderPackage& shaderPackage);
class SupportedShaderCatalog
{
public:
bool Load(const std::filesystem::path& shaderRoot, unsigned maxTemporalHistoryFrames, std::string& error);
const std::vector<SupportedShaderSummary>& Shaders() const { return mShaders; }
const ShaderPackage* FindPackage(const std::string& shaderId) const;
private:
std::vector<SupportedShaderSummary> mShaders;
std::map<std::string, ShaderPackage> mPackagesById;
};
}