Revert previous change, but increase padding/alignment in case x64 machines care
This commit is contained in:
parent
b7b9c992ec
commit
b4021afc58
|
@ -85,24 +85,24 @@ void FCEU_KillVirtualVideo(void)
|
||||||
int FCEU_InitVirtualVideo(void)
|
int FCEU_InitVirtualVideo(void)
|
||||||
{
|
{
|
||||||
if(!XBuf) /* Some driver code may allocate XBuf externally. */
|
if(!XBuf) /* Some driver code may allocate XBuf externally. */
|
||||||
/* 256 bytes per scanline, * 240 scanline maximum, +8 for alignment,
|
/* 256 bytes per scanline, * 240 scanline maximum, +16 for alignment,
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef _USE_SHARED_MEMORY_
|
#ifdef _USE_SHARED_MEMORY_
|
||||||
|
|
||||||
mapXBuf = CreateFileMapping((HANDLE)0xFFFFFFFF,NULL,PAGE_READWRITE, 0, 256 * 256 + 8, "fceu.XBuf");
|
mapXBuf = CreateFileMapping((HANDLE)0xFFFFFFFF,NULL,PAGE_READWRITE, 0, 256 * 256 + 16, "fceu.XBuf");
|
||||||
|
|
||||||
if(mapXBuf == NULL || GetLastError() == ERROR_ALREADY_EXISTS)
|
if(mapXBuf == NULL || GetLastError() == ERROR_ALREADY_EXISTS)
|
||||||
{
|
{
|
||||||
CloseHandle(mapXBuf);
|
CloseHandle(mapXBuf);
|
||||||
mapXBuf = NULL;
|
mapXBuf = NULL;
|
||||||
XBuf = (uint8*) (FCEU_malloc(256 * 256 + 8));
|
XBuf = (uint8*) (FCEU_malloc(256 * 256 + 16));
|
||||||
XBackBuf = (uint8*) (FCEU_malloc(256 * 256 + 8));
|
XBackBuf = (uint8*) (FCEU_malloc(256 * 256 + 16));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
XBuf = (uint8 *)MapViewOfFile(mapXBuf, FILE_MAP_WRITE, 0, 0, 0);
|
XBuf = (uint8 *)MapViewOfFile(mapXBuf, FILE_MAP_WRITE, 0, 0, 0);
|
||||||
XBackBuf = (uint8*) (FCEU_malloc(256 * 256 + 8));
|
XBackBuf = (uint8*) (FCEU_malloc(256 * 256 + 16));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!XBuf || !XBackBuf)
|
if (!XBuf || !XBackBuf)
|
||||||
|
@ -112,8 +112,8 @@ int FCEU_InitVirtualVideo(void)
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
if(!(XBuf= (uint8*) (FCEU_malloc(256 * 256 + 8))) ||
|
if(!(XBuf= (uint8*) (FCEU_malloc(256 * 256 + 16))) ||
|
||||||
!(XBackBuf= (uint8*) (FCEU_malloc(256 * 256 + 8))))
|
!(XBackBuf= (uint8*) (FCEU_malloc(256 * 256 + 16))))
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -124,8 +124,8 @@ int FCEU_InitVirtualVideo(void)
|
||||||
|
|
||||||
if( sizeof(uint8*) == 4 )
|
if( sizeof(uint8*) == 4 )
|
||||||
{
|
{
|
||||||
uint8 m = *XBuf;
|
unsigned m = (unsigned)XBuf;
|
||||||
m = ( 4 - m) & 3;
|
m = ( 8 - m) & 7;
|
||||||
XBuf+=m;
|
XBuf+=m;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue