--- /dev/null
+#ifndef MSP_GL_MODULE_BACKEND_H_
+#define MSP_GL_MODULE_BACKEND_H_
+
+#include "handles.h"
+
+namespace Msp {
+namespace GL {
+
+class Device;
+
+class VulkanSpirVModule
+{
+ friend class VulkanProgram;
+
+protected:
+ Device &device;
+ VkShaderModule handle = 0;
+
+ VulkanSpirVModule();
+ VulkanSpirVModule(VulkanSpirVModule &&);
+ ~VulkanSpirVModule();
+
+ void create();
+};
+
+using SpirVModuleBackend = VulkanSpirVModule;
+
+unsigned get_vulkan_stage(unsigned);
+
+} // namespace GL
+} // namespace Msp
+
+#endif