From 834f8f7b5cb9b5d9e437c7a3935bfdcc236c422a Mon Sep 17 00:00:00 2001 From: iwubcode Date: Sun, 28 May 2023 20:59:02 -0500 Subject: VideoBackends: add support to allow rendering to multiple output textures --- Source/Core/VideoBackends/Software/SWTexture.cpp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'Source/Core/VideoBackends/Software/SWTexture.cpp') diff --git a/Source/Core/VideoBackends/Software/SWTexture.cpp b/Source/Core/VideoBackends/Software/SWTexture.cpp index 0e3ebbde55..0ada0502f0 100644 --- a/Source/Core/VideoBackends/Software/SWTexture.cpp +++ b/Source/Core/VideoBackends/Software/SWTexture.cpp @@ -159,17 +159,20 @@ void SWStagingTexture::Flush() } SWFramebuffer::SWFramebuffer(AbstractTexture* color_attachment, AbstractTexture* depth_attachment, + std::vector additional_color_attachments, AbstractTextureFormat color_format, AbstractTextureFormat depth_format, u32 width, u32 height, u32 layers, u32 samples) - : AbstractFramebuffer(color_attachment, depth_attachment, color_format, depth_format, width, - height, layers, samples) + : AbstractFramebuffer(color_attachment, depth_attachment, + std::move(additional_color_attachments), color_format, depth_format, + width, height, layers, samples) { } -std::unique_ptr SWFramebuffer::Create(SWTexture* color_attachment, - SWTexture* depth_attachment) +std::unique_ptr +SWFramebuffer::Create(SWTexture* color_attachment, SWTexture* depth_attachment, + std::vector additional_color_attachments) { - if (!ValidateConfig(color_attachment, depth_attachment)) + if (!ValidateConfig(color_attachment, depth_attachment, additional_color_attachments)) return nullptr; const AbstractTextureFormat color_format = @@ -182,7 +185,8 @@ std::unique_ptr SWFramebuffer::Create(SWTexture* color_attachment const u32 layers = either_attachment->GetLayers(); const u32 samples = either_attachment->GetSamples(); - return std::make_unique(color_attachment, depth_attachment, color_format, + return std::make_unique(color_attachment, depth_attachment, + std::move(additional_color_attachments), color_format, depth_format, width, height, layers, samples); } -- cgit v1.2.3