Renderer/ShaderBinder: Make Update take a pointer and size

This commit is contained in:
Jérôme Leclercq
2021-01-22 23:15:31 +01:00
parent e6ada6846d
commit c76d6505b0
6 changed files with 20 additions and 10 deletions

View File

@@ -30,7 +30,7 @@ namespace Nz
inline std::size_t GetPoolIndex() const;
inline const OpenGLRenderPipelineLayout& GetOwner() const;
void Update(std::initializer_list<Binding> bindings) override;
void Update(const Binding* bindings, std::size_t bindingCount) override;
OpenGLShaderBinding& operator=(const OpenGLShaderBinding&) = delete;
OpenGLShaderBinding& operator=(OpenGLShaderBinding&&) = delete;

View File

@@ -34,7 +34,8 @@ namespace Nz
ShaderBinding(ShaderBinding&&) = delete;
virtual ~ShaderBinding();
virtual void Update(std::initializer_list<Binding> bindings) = 0;
virtual void Update(const Binding* bindings, std::size_t bindingCount) = 0;
inline void Update(std::initializer_list<Binding> bindings);
ShaderBinding& operator=(const ShaderBinding&) = delete;
ShaderBinding& operator=(ShaderBinding&&) = delete;

View File

@@ -7,6 +7,11 @@
namespace Nz
{
inline void ShaderBinding::Update(std::initializer_list<Binding> bindings)
{
Update(bindings.begin(), bindings.size());
}
inline void ShaderBindingDeleter::operator()(ShaderBinding* binding)
{
binding->Release();

View File

@@ -28,7 +28,7 @@ namespace Nz
inline std::size_t GetPoolIndex() const;
inline const VulkanRenderPipelineLayout& GetOwner() const;
void Update(std::initializer_list<Binding> bindings) override;
void Update(const Binding* bindings, std::size_t bindingCount) override;
VulkanShaderBinding& operator=(const VulkanShaderBinding&) = delete;
VulkanShaderBinding& operator=(VulkanShaderBinding&&) = delete;