class VulkanRenderer: public NonCopyable
{
protected:
- PipelineState pipeline_state;
+ std::map<std::uintptr_t, PipelineState> pipeline_states;
+ PipelineState *current_pipeline = 0;
Semaphore *begin_semaphore = 0;
Semaphore *end_semaphore = 0;
+ VulkanRenderer();
+
void begin();
void begin(Semaphore &);
void end();
void end(Semaphore &);
+
+ void set_pipeline_key(std::uintptr_t);
+ PipelineState &get_pipeline_state() { return *current_pipeline; }
};
using RendererBackend = VulkanRenderer;