win32: guess for now we have burn cycles copying the GPU_screen so that we keep a pristine copy for screenshots. also screenshots for savestates. the final display handling pipeline still isnt finished yet so this could change again

This commit is contained in:
zeromus 2009-08-03 05:08:37 +00:00
parent 057703e529
commit 77da6267bf
1 changed files with 4 additions and 2 deletions

View File

@ -164,6 +164,8 @@ extern LRESULT CALLBACK RamSearchProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARA
void InitRamSearch(); void InitRamSearch();
void FilterUpdate(HWND hwnd, bool user=true); void FilterUpdate(HWND hwnd, bool user=true);
CACHE_ALIGN u8 GPU_screen_unmodified_buffer[4*256*192];
CRITICAL_SECTION win_execute_sync; CRITICAL_SECTION win_execute_sync;
volatile int win_sound_samplecounter = 0; volatile int win_sound_samplecounter = 0;
@ -194,7 +196,6 @@ inline bool IsDlgCheckboxChecked(HWND hDlg, int id)
LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM); LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);
char SavName[MAX_PATH] = ""; char SavName[MAX_PATH] = "";
char ImportSavName[MAX_PATH] = ""; char ImportSavName[MAX_PATH] = "";
char szClassName[ ] = "DeSmuME"; char szClassName[ ] = "DeSmuME";
@ -925,7 +926,8 @@ void Display()
if(CommonSettings.single_core) if(CommonSettings.single_core)
{ {
video.srcBuffer = (u8*)GPU_screen; memcpy(GPU_screen_unmodified_buffer,GPU_screen,256*192*4);
video.srcBuffer = (u8*)GPU_screen_unmodified_buffer;
DoDisplay(true); DoDisplay(true);
} }
else else