Fix a Memory leak in CoreAudio backend, around 2MB. Stops OpenCL from trying to decode CMPR textures, as it fails horribly. Fixes a memory leak in EXI devices, where the destructor wouldn't be called, causing a 32MB leak with memory cards(if you have two), and maybe a bit more from the other EXI devices
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5042 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
060bbcf067
commit
89c276c962
|
@ -138,6 +138,7 @@ bool CoreAudioSound::CoreAudioInit()
|
||||||
if(err)
|
if(err)
|
||||||
printf("Error while closing component\n");
|
printf("Error while closing component\n");
|
||||||
|
|
||||||
|
free(soundStruct);
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,6 +45,7 @@ public:
|
||||||
|
|
||||||
// Is generating interrupt ?
|
// Is generating interrupt ?
|
||||||
virtual bool IsInterruptSet() {return false;}
|
virtual bool IsInterruptSet() {return false;}
|
||||||
|
virtual ~IEXIDevice() {};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -33,7 +33,7 @@ class CEXIMemoryCard : public IEXIDevice
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CEXIMemoryCard(const std::string& _rName, const std::string& _rFilename, int card_index);
|
CEXIMemoryCard(const std::string& _rName, const std::string& _rFilename, int card_index);
|
||||||
virtual ~CEXIMemoryCard();
|
~CEXIMemoryCard();
|
||||||
void SetCS(int cs);
|
void SetCS(int cs);
|
||||||
void Update();
|
void Update();
|
||||||
bool IsInterruptSet();
|
bool IsInterruptSet();
|
||||||
|
|
|
@ -162,6 +162,8 @@ PC_TexFormat TexDecoder_Decode_OpenCL(u8 *dst, const u8 *src, int width, int hei
|
||||||
formatResult = PC_TEX_FMT_BGRA32;
|
formatResult = PC_TEX_FMT_BGRA32;
|
||||||
break;
|
break;
|
||||||
case GX_TF_CMPR:
|
case GX_TF_CMPR:
|
||||||
|
// Doesn't decode correctly
|
||||||
|
return PC_TEX_FMT_NONE;
|
||||||
kernelToRun = Decoders[7].kernel;
|
kernelToRun = Decoders[7].kernel;
|
||||||
sizeOfSrc = sizeof(u8) / 2.0f;
|
sizeOfSrc = sizeof(u8) / 2.0f;
|
||||||
sizeOfDst = sizeof(u32);
|
sizeOfDst = sizeof(u32);
|
||||||
|
|
Loading…
Reference in New Issue