Files
aurora/lib/gfx/pipeline_cache.hpp
2026-06-04 23:43:13 -06:00

34 lines
733 B
C++

#pragma once
#include "common.hpp"
#include <functional>
namespace aurora::gfx::clear {
struct PipelineConfig;
} // namespace aurora::gfx::clear
namespace aurora::gx {
struct PipelineConfig;
} // namespace aurora::gx
namespace aurora::rmlui {
struct PipelineConfig;
} // namespace aurora::rmlui
namespace aurora::gfx {
using NewPipelineCallback = std::function<wgpu::RenderPipeline()>;
void initialize_pipeline_cache();
void shutdown_pipeline_cache();
void begin_pipeline_frame();
void end_pipeline_frame();
template <typename Config>
PipelineRef find_pipeline(ShaderType type, const Config& config, NewPipelineCallback&& cb);
bool get_pipeline(PipelineRef ref, wgpu::RenderPipeline& pipeline);
} // namespace aurora::gfx