win32: fix osd compositing pipeline for singlecore
This commit is contained in:
parent
a39c62b129
commit
d5b938452c
|
@ -15,6 +15,7 @@ adelikat
|
|||
matusz
|
||||
pa__
|
||||
gocha
|
||||
nitsuja
|
||||
|
||||
Contributors
|
||||
------------
|
||||
|
@ -40,4 +41,3 @@ Thanks to our super testers for this release
|
|||
nash679
|
||||
pokefan999
|
||||
dottorleo
|
||||
lbalbalba
|
|
@ -11,6 +11,7 @@ General/Core:
|
|||
bug: fix cflash directory support for non-windows
|
||||
bug: fix freeze in cart irq
|
||||
bug: correctly emulate dma to/from tcm
|
||||
bug: fix in thumb LSR carryflag
|
||||
enh: add guitar grip emulation
|
||||
enh: add more powerful antigrain-based drawing library and rewrite OSD system
|
||||
enh: ideas-style debugging prints
|
||||
|
@ -23,6 +24,7 @@ Graphics:
|
|||
bug: fix color overflow in capture blending
|
||||
bug: fix disp fifo capture
|
||||
bug: fix simultaneous vram display and capture via same bank
|
||||
bug: fix 3d overflow acknowledge registers
|
||||
bug: change 3d cores to use 18bit color
|
||||
bug: swrast: add clear image and scroll emulation
|
||||
bug: swrast: add fog emulation
|
||||
|
|
|
@ -120,7 +120,7 @@ static void Agg_init_fonts()
|
|||
|
||||
AggDraw_Desmume aggDraw;
|
||||
|
||||
T_AGG_RGB555 agg_targetScreen(GPU_screen, 256, 384, 512);
|
||||
T_AGG_RGBA agg_targetScreen(0, 256, 384, 1024);
|
||||
|
||||
static u32 luaBuffer[256*192*2];
|
||||
T_AGG_RGBA agg_targetLua((u8*)luaBuffer, 256, 384, 1024);
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
/* AboutBox.cpp
|
||||
|
||||
Copyright (C) 2008-2009 shash
|
||||
Copyright (C) 2009 DeSmuME team
|
||||
|
||||
This file is part of DeSmuME
|
||||
|
||||
|
@ -43,6 +44,7 @@ const char *team[] = {
|
|||
"matusz",
|
||||
"pa__",
|
||||
"gocha",
|
||||
"nitsuja",
|
||||
"",
|
||||
"Contributors",
|
||||
"------------",
|
||||
|
@ -67,7 +69,6 @@ const char *team[] = {
|
|||
"nash679",
|
||||
"pokefan999",
|
||||
"dottorleo",
|
||||
"lbalbalba",
|
||||
"",
|
||||
"average time from bug checkin to bugreport:",
|
||||
"23 seconds",
|
||||
|
|
|
@ -165,9 +165,6 @@ extern LRESULT CALLBACK RamSearchProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARA
|
|||
void InitRamSearch();
|
||||
void FilterUpdate(HWND hwnd, bool user=true);
|
||||
|
||||
CACHE_ALIGN u8 GPU_screen_unmodified_buffer[4*256*192];
|
||||
|
||||
|
||||
CRITICAL_SECTION win_execute_sync;
|
||||
volatile int win_sound_samplecounter = 0;
|
||||
|
||||
|
@ -871,18 +868,6 @@ static void DoDisplay(bool firstTime)
|
|||
{
|
||||
Lock lock (win_backbuffer_sync);
|
||||
|
||||
if(firstTime)
|
||||
{
|
||||
//on single core systems, draw straight to the screen
|
||||
//we only do this once per emulated frame because we don't want to waste time redrawing
|
||||
//on such lousy computers
|
||||
if(CommonSettings.single_core)
|
||||
{
|
||||
aggDraw.hud->attach(video.srcBuffer, 256, 384, 512);
|
||||
DoDisplay_DrawHud();
|
||||
}
|
||||
}
|
||||
|
||||
//convert pixel format to 32bpp for compositing
|
||||
//why do we do this over and over? well, we are compositing to
|
||||
//filteredbuffer32bpp, and it needs to get refreshed each frame..
|
||||
|
@ -891,6 +876,18 @@ static void DoDisplay(bool firstTime)
|
|||
for(int i=0;i<size;i++)
|
||||
video.buffer[i] = RGB15TO24_REVERSE(src[i]);
|
||||
|
||||
if(firstTime)
|
||||
{
|
||||
//on single core systems, draw straight to the screen
|
||||
//we only do this once per emulated frame because we don't want to waste time redrawing
|
||||
//on such lousy computers
|
||||
if(CommonSettings.single_core)
|
||||
{
|
||||
aggDraw.hud->attach((u8*)video.buffer, 256, 384, 1024);
|
||||
DoDisplay_DrawHud();
|
||||
}
|
||||
}
|
||||
|
||||
//apply user's filter
|
||||
video.filter();
|
||||
|
||||
|
@ -952,8 +949,7 @@ void Display()
|
|||
|
||||
if(CommonSettings.single_core)
|
||||
{
|
||||
memcpy(GPU_screen_unmodified_buffer,GPU_screen,256*192*4);
|
||||
video.srcBuffer = (u8*)GPU_screen_unmodified_buffer;
|
||||
video.srcBuffer = (u8*)GPU_screen;
|
||||
DoDisplay(true);
|
||||
}
|
||||
else
|
||||
|
@ -1890,10 +1886,11 @@ int _main()
|
|||
KillDisplay();
|
||||
|
||||
SaveRecentRoms();
|
||||
NDS_DeInit();
|
||||
DRV_AviEnd();
|
||||
WAV_End();
|
||||
|
||||
NDS_DeInit();
|
||||
|
||||
//------SHUTDOWN
|
||||
|
||||
#ifdef DEBUG
|
||||
|
|
Loading…
Reference in New Issue