Vulkan: Initial VKUniformBuffer.

Only supports uploading data to a uniform buffer.
Requirement for push constants #104880.

Pull Request #105129
This commit is contained in:
2023-02-23 14:51:34 +01:00
parent f5c0b2433f
commit afd0ab5cce
4 changed files with 41 additions and 5 deletions

View File

@@ -9,9 +9,13 @@
#include "gpu_uniform_buffer_private.hh"
#include "vk_buffer.hh"
namespace blender::gpu {
class VKUniformBuffer : public UniformBuf {
VKBuffer buffer_;
public:
VKUniformBuffer(int size, const char *name) : UniformBuf(size, name)
{
@@ -22,6 +26,19 @@ class VKUniformBuffer : public UniformBuf {
void bind(int slot) override;
void bind_as_ssbo(int slot) override;
void unbind() override;
VkBuffer vk_handle() const
{
return buffer_.vk_handle();
}
size_t size_in_bytes() const
{
return size_in_bytes_;
}
private:
void allocate(VKContext &context);
};
} // namespace blender::gpu