summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/FramebufferManagerBase.h
diff options
context:
space:
mode:
authorPierre Bourdon <delroth@gmail.com>2015-12-21 22:48:13 +0100
committerPierre Bourdon <delroth@gmail.com>2015-12-21 22:48:13 +0100
commit4c428ed01946ab3137b910d99494ba0ca77665c7 (patch)
treef0da725626020383be61a57ab3a8f6ed41ef2142 /Source/Core/VideoCommon/FramebufferManagerBase.h
parent9039cc58606612ca9f14631d148b72cf6b13133f (diff)
parentf448c6e291cc4207e3978ff5510c66f0d4d8dd29 (diff)
Merge pull request #3372 from lioncash/framebuffer
FramebufferManagerBase: Get rid of explicit delete and new
Diffstat (limited to 'Source/Core/VideoCommon/FramebufferManagerBase.h')
-rw-r--r--Source/Core/VideoCommon/FramebufferManagerBase.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/Source/Core/VideoCommon/FramebufferManagerBase.h b/Source/Core/VideoCommon/FramebufferManagerBase.h
index 6127037268..078652feb5 100644
--- a/Source/Core/VideoCommon/FramebufferManagerBase.h
+++ b/Source/Core/VideoCommon/FramebufferManagerBase.h
@@ -4,7 +4,9 @@
#pragma once
+#include <array>
#include <list>
+#include <memory>
#include "VideoCommon/VideoCommon.h"
@@ -70,7 +72,7 @@ protected:
u32 xfbWidth = 0;
u32 xfbHeight = 0;
- XFBSourceBase* xfbSource = nullptr;
+ std::unique_ptr<XFBSourceBase> xfbSource;
};
typedef std::list<VirtualXFB> VirtualXFBListType;
@@ -78,7 +80,7 @@ protected:
static unsigned int m_EFBLayers;
private:
- virtual XFBSourceBase* CreateXFBSource(unsigned int target_width, unsigned int target_height, unsigned int layers) = 0;
+ virtual std::unique_ptr<XFBSourceBase> CreateXFBSource(unsigned int target_width, unsigned int target_height, unsigned int layers) = 0;
// TODO: figure out why OGL is different for this guy
virtual void GetTargetSize(unsigned int *width, unsigned int *height) = 0;
@@ -93,10 +95,10 @@ private:
static const XFBSourceBase* const* GetRealXFBSource(u32 xfbAddr, u32 fbWidth, u32 fbHeight, u32* xfbCount);
static const XFBSourceBase* const* GetVirtualXFBSource(u32 xfbAddr, u32 fbWidth, u32 fbHeight, u32* xfbCount);
- static XFBSourceBase *m_realXFBSource; // Only used in Real XFB mode
+ static std::unique_ptr<XFBSourceBase> m_realXFBSource; // Only used in Real XFB mode
static VirtualXFBListType m_virtualXFBList; // Only used in Virtual XFB mode
- static const XFBSourceBase* m_overlappingXFBArray[MAX_VIRTUAL_XFB];
+ static std::array<const XFBSourceBase*, MAX_VIRTUAL_XFB> m_overlappingXFBArray;
static unsigned int s_last_xfb_width;
static unsigned int s_last_xfb_height;