mirror of https://github.com/PCSX2/pcsx2.git
spu2-x: Fix another bug in my ini changes, and change MulShr32 again.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3075 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
parent
321b341030
commit
774f56297a
|
@ -18,18 +18,18 @@
|
|||
#include "Dialogs.h"
|
||||
#include <wx/fileconf.h>
|
||||
|
||||
wxFileConfig *spuConfig;
|
||||
wxFileConfig *spuConfig = NULL;
|
||||
wxString path(L"~/.pcsx2/inis/spu2-x.ini");
|
||||
bool pathSet = false;
|
||||
|
||||
void initIni()
|
||||
{
|
||||
spuConfig = new wxFileConfig(L"", L"", path, L"", wxCONFIG_USE_LOCAL_FILE);
|
||||
if (spuConfig == NULL) spuConfig = new wxFileConfig(L"", L"", path, L"", wxCONFIG_USE_LOCAL_FILE);
|
||||
}
|
||||
|
||||
void setIni(const wchar_t* Section)
|
||||
{
|
||||
if (spuConfig == NULL) initIni();
|
||||
initIni();
|
||||
spuConfig->SetPath(wxsFormat(L"/%s", Section));
|
||||
}
|
||||
|
||||
|
|
|
@ -262,4 +262,5 @@ void configure()
|
|||
DisplayDialog();
|
||||
WriteSettings();
|
||||
delete spuConfig;
|
||||
spuConfig = NULL;
|
||||
}
|
||||
|
|
|
@ -62,11 +62,14 @@ __forceinline s32 MulShr32( s32 srcval, s32 mulval )
|
|||
|
||||
s32 MulShr32( s32 srcval, s32 mulval )
|
||||
{
|
||||
s32 tmp;
|
||||
s32 tmp, dummy;
|
||||
__asm__(
|
||||
".att_syntax\n"
|
||||
"imull %2\n" // do eax*%2 -> edx contains high 32 bits and eax contains low 32 bits
|
||||
".att_syntax\n" : "=d" (tmp) : "a" (srcval), "g" (mulval)
|
||||
"imull %3\n" // do eax*%2 -> edx contains high 32 bits and eax contains low 32 bits
|
||||
// Note: imul changes the value of eax. You must say it to gcc.
|
||||
// Because you can not put a register in both input and the clobber list, the only
|
||||
// solution is to add the register in the output list hence the dummy value.
|
||||
".att_syntax\n" : "=d" (tmp), "=a" (dummy) : "a" (srcval), "g" (mulval) :
|
||||
);
|
||||
return tmp;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue