module gfx.vulkan.renderpass; package: import gfx.bindings.vulkan; import gfx.core.rc; import gfx.graal.device; import gfx.graal.image; import gfx.graal.renderpass; import gfx.vulkan.device; class VulkanRenderPass : VulkanDevObj!(VkRenderPass, "DestroyRenderPass"), RenderPass { mixin(atomicRcCode); this(VkRenderPass vkObj, VulkanDevice dev) { super(vkObj, dev); } override @property Device device() { return dev; } } class VulkanFramebuffer : VulkanDevObj!(VkFramebuffer, "DestroyFramebuffer"), Framebuffer { mixin(atomicRcCode); this(VkFramebuffer vkObj, VulkanDevice dev, ImageView[] views) { super(vkObj, dev); _views = views; retainArr(_views); } override void dispose() { releaseArr(_views); _views = []; super.dispose(); } override @property Device device() { return dev; } ImageView[] _views; }