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:
Sonicadvance1 2010-02-12 16:40:13 +00:00
parent 060bbcf067
commit 89c276c962
4 changed files with 5 additions and 1 deletions

View File

@ -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;
} }

View File

@ -45,6 +45,7 @@ public:
// Is generating interrupt ? // Is generating interrupt ?
virtual bool IsInterruptSet() {return false;} virtual bool IsInterruptSet() {return false;}
virtual ~IEXIDevice() {};
}; };

View File

@ -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();

View File

@ -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);