rem: break;
add: if (si->ps.card_type != NV31) break;
context: status_t GET_OVERLAY_CONSTRAINTS	(const display_mode *dm, const overlay_buffer *ob, overlay_constraints *oc){	int offset = 0;	LOG(4,("Overlay: Get_overlay_constraints called\n"));	/* check for NULL pointers */	if ((dm == NULL) || (ob == NULL) || (oc == NULL))	{		LOG(4,("Overlay: Get_overlay_constraints: Null pointer(s) detected!\n"));		return B_ERROR;	}		/* find the buffer */	for (offset = 0; offset < MAXBUFFERS; offset++)	{		if (si->overlay.myBuffer[offset].buffer == ob->buffer) break;	}	if (offset < MAXBUFFERS)	{		/* scaler input (values are in pixels) */		oc->view.h_alignment = 0;		oc->view.v_alignment = 0;		switch (ob->space)		{			case B_YCbCr422:					if (si->ps.card_arch < NV10A)					{						/* RIVA128 and TNT need 15.						 * Note: this has to be in sync with the slopspace setup during buffer allocation.. */						oc->view.width_alignment = 15;					}					else					{						/* GeForce need 31. 						 * Note: this has to be in sync with the slopspace setup during buffer allocation.. */						oc->view.width_alignment = 31;					}					break;			default:					/* we should not be here, but set the worst-case value just to be safe anyway */					oc->view.width_alignment = 31;					break;		}		oc->view.height_alignment = 0;		oc->view.width.min = 1;		oc->view.height.min = 2; /* two fields */		oc->view.width.max = ob->width;		oc->view.height.max = ob->height;		/* scaler output restrictions */		oc->window.h_alignment = 0;		oc->window.v_alignment = 0;		oc->window.width_alignment = 0;		oc->window.height_alignment = 0;		oc->window.width.min = 2;		/* GeForce cards can output upto and including 2046 pixels in width */		//fixme: how about TNT?		if (dm->virtual_width > 2046)		{			oc->window.width.max = 2046;		}		else		{			oc->window.width.max = dm->virtual_width;		}		oc->window.height.min = 2;		/* GeForce cards can output upto and including 2046 pixels in height */		//fixme: how about TNT?		if (dm->virtual_height > 2046)		{			oc->window.height.max = 2046;		}		else		{			oc->window.height.max = dm->virtual_height;		}		/* GeForce scaling restrictions */		switch (si->ps.card_arch)		{		case NV04A:			/* Riva128-TNT2 series have an old BES engine... */			oc->h_scale.min = 1.0;			oc->v_scale.min = 1.0;			break;		case NV30A:			/* GeForceFX series have a new BES engine... */			oc->h_scale.min = 0.5;			oc->v_scale.min = 0.5;			break;		default:			/* the rest in between... */			oc->h_scale.min = 0.125;			oc->v_scale.min = 0.125;			break;		}		/* found spec on the net for GF256-GF4. Still needs confirmation... */		oc->h_scale.max = 8.0;		oc->v_scale.max = 8.0;		return B_OK;	}	else	{		/* this is no buffer of ours! */		LOG(4,("Overlay: Get_overlay_constraints: buffer is not ours, aborted!\n"));		return B_ERROR;	}}