6#include <unordered_set>
9#include "render/general/resource/frame/FrameResourceManager.h"
10#include "misc/Error.h"
15 class GlobalShaderResourceBinding;
64 const std::string& sShaderResourceName,
86 const std::string& sShaderResourceName,
GpuResource* pResourceToBind);
143 std::pair<std::recursive_mutex, std::unordered_set<GlobalShaderResourceBinding*>>
mtxActiveBindings;
static constexpr unsigned int getFrameResourceCount()
Definition: FrameResourceManager.h:74
Definition: GlobalShaderResourceBindingManager.h:21
std::pair< std::recursive_mutex, std::unordered_set< GlobalShaderResourceBinding * > > mtxActiveBindings
Definition: GlobalShaderResourceBindingManager.h:143
~GlobalShaderResourceBindingManager()
Definition: GlobalShaderResourceBindingManager.cpp:75
std::optional< Error > createGlobalShaderResourceBindingSingleResource(const std::string &sShaderResourceName, GpuResource *pResourceToBind)
Definition: GlobalShaderResourceBindingManager.cpp:32
void unregisterBinding(GlobalShaderResourceBinding *pBinding)
Definition: GlobalShaderResourceBindingManager.cpp:111
std::optional< Error > createGlobalShaderResourceBindingResourcePerFrame(const std::string &sShaderResourceName, std::array< GpuResource *, FrameResourceManager::getFrameResourceCount()> vResourcesToBind)
Definition: GlobalShaderResourceBindingManager.cpp:14
std::optional< Error > onAllGraphicsPipelinesRecreatedInternalResources()
Definition: GlobalShaderResourceBindingManager.cpp:59
std::optional< Error > registerNewBinding(GlobalShaderResourceBinding *pBinding)
Definition: GlobalShaderResourceBindingManager.cpp:90
std::optional< Error > onNewGraphicsPipelineCreated(Pipeline *pNewPipeline)
Definition: GlobalShaderResourceBindingManager.cpp:42
PipelineManager *const pPipelineManager
Definition: GlobalShaderResourceBindingManager.h:146
Definition: GlobalShaderResourceBinding.h:27
Definition: GpuResource.h:16
Definition: PipelineManager.h:54
Definition: Pipeline.h:20
Definition: Renderer.h:43