X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbackends%2Fvulkan%2Fvertexsetup_backend.h;fp=source%2Fbackends%2Fvulkan%2Fvertexsetup_backend.h;h=785f5e7e284e9538713b0789d303dd065e6cdd2d;hb=99ca354f18119f82f1adeca100cd665a8f640317;hp=0000000000000000000000000000000000000000;hpb=4cd245dafe6a7ee5c93edca5aee2d146f1155309;p=libs%2Fgl.git diff --git a/source/backends/vulkan/vertexsetup_backend.h b/source/backends/vulkan/vertexsetup_backend.h new file mode 100644 index 00000000..785f5e7e --- /dev/null +++ b/source/backends/vulkan/vertexsetup_backend.h @@ -0,0 +1,44 @@ +#ifndef MSP_GL_VERTEXSETUP_BACKEND_H_ +#define MSP_GL_VERTEXSETUP_BACKEND_H_ + +#include +#include +#include +#include "handles.h" + +namespace Msp { +namespace GL { + +class VertexArray; +class VertexFormat; + +class VulkanVertexSetup: public NonCopyable +{ + friend class VulkanPipelineState; + +protected: + mutable std::vector creation_info; + mutable std::uint32_t n_bindings; + mutable VkBuffer buffers[2]; + mutable std::uint64_t offsets[2]; + + VulkanVertexSetup() = default; + VulkanVertexSetup(VulkanVertexSetup &&); + ~VulkanVertexSetup() = default; + + static void require_format(const VertexFormat &, bool) { } + void update(unsigned) const; + void update_attributes(const VertexFormat &, unsigned, void *) const; + std::uint64_t compute_hash() const; + + void unload() { } + + void set_debug_name(const std::string &) { } +}; + +using VertexSetupBackend = VulkanVertexSetup; + +} // namespace GL +} // namespace Msp + +#endif