#define MSP_GL_DEVICE_BACKEND_H_
#include <msp/core/noncopyable.h>
+#include <msp/core/refptr.h>
#include <msp/graphics/vulkancontext.h>
#include "descriptorpool.h"
#include "destroyqueue.h"
#include "device.h"
#include "framebuffer.h"
#include "framebuffer_backend.h"
+#include "renderpass.h"
#include "vulkan.h"
using namespace std;
++i;
}
- VkRenderPass render_pass = device.get_pipeline_cache().get_render_pass(self.format, false, false, false);
+ RenderPass render_pass;
+ render_pass.framebuffer = &self;
+ render_pass.update(device);
VkFramebufferCreateInfo framebuffer_info = { };
framebuffer_info.sType = VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO;
- framebuffer_info.renderPass = handle_cast<::VkRenderPass>(render_pass);
+ framebuffer_info.renderPass = handle_cast<::VkRenderPass>(render_pass.handle);
framebuffer_info.attachmentCount = self.format.size();
framebuffer_info.pAttachments = handle_cast<::VkImageView *>(vk_attachments);
framebuffer_info.width = self.width;
#include <msp/core/hash.h>
-#include "blend.h"
-#include "depthtest.h"
#include "device.h"
#include "framebuffer.h"
#include "pipelinecache.h"
#include "pipelinestate.h"
-#include "stenciltest.h"
#include "vulkan.h"
using namespace std;