(svn r4099) -Codechange: [OSX] the cocoa video driver speedup of around 1000% now also applies to Intel macs
This commit is contained in:
		| @@ -1464,20 +1464,15 @@ static void QZ_DrawScreen(void) | ||||
| 	uint width; | ||||
| 	uint pitch; | ||||
| 	uint y; | ||||
|  | ||||
| 	src = _cocoa_video_data.pixels; | ||||
| 	dst = (uint8*)_cocoa_video_data.realpixels; | ||||
| 	width  = _cocoa_video_data.width; | ||||
| 	pitch  = _cocoa_video_data.pitch; | ||||
|  | ||||
| #if 1 | ||||
| 	// PPC appears to handle updating of rectangles right | ||||
| 	{ | ||||
| 	uint num_dirty_rects; | ||||
| 	uint length_drawn; | ||||
| 	uint left; | ||||
| 	uint i; | ||||
|  | ||||
| 	src = _cocoa_video_data.pixels; | ||||
| 	dst = (uint8*)_cocoa_video_data.realpixels; | ||||
| 	width  = _cocoa_video_data.width; | ||||
| 	pitch  = _cocoa_video_data.pitch; | ||||
| 	num_dirty_rects = _cocoa_video_data.num_dirty_rects; | ||||
|  | ||||
| 	/* Check if we need to do anything */ | ||||
| @@ -1503,15 +1498,7 @@ static void QZ_DrawScreen(void) | ||||
| 	} | ||||
|  | ||||
| 	_cocoa_video_data.num_dirty_rects = 0; | ||||
| 	} | ||||
| #else | ||||
| 	// it appears that Intel based macs didn't like to only update parts of the screen at a time, so they still update everything at each frame | ||||
| 	// we need to switch to use Quartz exclusively (no QuickDraw commands at all) to fix this | ||||
| 	// to use Quartz exclusively, we should use 16 or 32 bit graphics since 8 bit coloured graphic support sucks | ||||
| 	height  = _cocoa_video_data.height; | ||||
| 	QZ_WaitForVerticalBlank(); | ||||
| 	for (y = 0; y < height; y++) memcpy(dst + y * pitch, src + y * width, width); | ||||
| #endif | ||||
|  | ||||
| } | ||||
|  | ||||
| static int QZ_ListFullscreenModes(OTTDPoint* mode_list, int max_modes) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 bjarni
					bjarni