// This file is generated by generate_rops_cases.py
case JointCs(CsArgb15, CsArgb15):
	if (Composite)
		GComposite15To15((LArgb15*)d, (LArgb15*)s, x);
	else
		GRop15To15((LArgb15*)d, (LArgb15*)s, x);
	break;
case JointCs(CsArgb15, CsRgb15):
	GRop15To15((LArgb15*)d, (LRgb15*)s, x);
	break;
case JointCs(CsArgb15, CsAbgr15):
	if (Composite)
		GComposite15To15((LArgb15*)d, (LAbgr15*)s, x);
	else
		GRop15To15((LArgb15*)d, (LAbgr15*)s, x);
	break;
case JointCs(CsArgb15, CsBgr15):
	GRop15To15((LArgb15*)d, (LBgr15*)s, x);
	break;
case JointCs(CsArgb15, CsRgb16):
	GRop16To15((LArgb15*)d, (LRgb16*)s, x);
	break;
case JointCs(CsArgb15, CsBgr16):
	GRop16To15((LArgb15*)d, (LBgr16*)s, x);
	break;
case JointCs(CsArgb15, CsRgb24):
	GRop24To15((LArgb15*)d, (LRgb24*)s, x);
	break;
case JointCs(CsArgb15, CsBgr24):
	GRop24To15((LArgb15*)d, (LBgr24*)s, x);
	break;
case JointCs(CsArgb15, CsRgbx32):
	GRop24To15((LArgb15*)d, (LRgbx32*)s, x);
	break;
case JointCs(CsArgb15, CsBgrx32):
	GRop24To15((LArgb15*)d, (LBgrx32*)s, x);
	break;
case JointCs(CsArgb15, CsXrgb32):
	GRop24To15((LArgb15*)d, (LXrgb32*)s, x);
	break;
case JointCs(CsArgb15, CsXbgr32):
	GRop24To15((LArgb15*)d, (LXbgr32*)s, x);
	break;
case JointCs(CsArgb15, CsRgba32):
	if (Composite)
		GComposite32To15((LArgb15*)d, (LRgba32*)s, x);
	else
		GRop32To15((LArgb15*)d, (LRgba32*)s, x);
	break;
case JointCs(CsArgb15, CsBgra32):
	if (Composite)
		GComposite32To15((LArgb15*)d, (LBgra32*)s, x);
	else
		GRop32To15((LArgb15*)d, (LBgra32*)s, x);
	break;
case JointCs(CsArgb15, CsArgb32):
	if (Composite)
		GComposite32To15((LArgb15*)d, (LArgb32*)s, x);
	else
		GRop32To15((LArgb15*)d, (LArgb32*)s, x);
	break;
case JointCs(CsArgb15, CsAbgr32):
	if (Composite)
		GComposite32To15((LArgb15*)d, (LAbgr32*)s, x);
	else
		GRop32To15((LArgb15*)d, (LAbgr32*)s, x);
	break;
case JointCs(CsArgb15, CsBgr48):
	GRop48To15((LArgb15*)d, (LBgr48*)s, x);
	break;
case JointCs(CsArgb15, CsRgb48):
	GRop48To15((LArgb15*)d, (LRgb48*)s, x);
	break;
case JointCs(CsArgb15, CsBgra64):
	if (Composite)
		GComposite64To15((LArgb15*)d, (LBgra64*)s, x);
	else
		GRop64To15((LArgb15*)d, (LBgra64*)s, x);
	break;
case JointCs(CsArgb15, CsRgba64):
	if (Composite)
		GComposite64To15((LArgb15*)d, (LRgba64*)s, x);
	else
		GRop64To15((LArgb15*)d, (LRgba64*)s, x);
	break;
case JointCs(CsArgb15, CsAbgr64):
	if (Composite)
		GComposite64To15((LArgb15*)d, (LAbgr64*)s, x);
	else
		GRop64To15((LArgb15*)d, (LAbgr64*)s, x);
	break;
case JointCs(CsArgb15, CsArgb64):
	if (Composite)
		GComposite64To15((LArgb15*)d, (LArgb64*)s, x);
	else
		GRop64To15((LArgb15*)d, (LArgb64*)s, x);
	break;
case JointCs(CsRgb15, CsArgb15):
	if (Composite)
		GComposite15To15((LRgb15*)d, (LArgb15*)s, x);
	else
		GRop15To15((LRgb15*)d, (LArgb15*)s, x);
	break;
case JointCs(CsRgb15, CsRgb15):
	GRop15To15((LRgb15*)d, (LRgb15*)s, x);
	break;
case JointCs(CsRgb15, CsAbgr15):
	if (Composite)
		GComposite15To15((LRgb15*)d, (LAbgr15*)s, x);
	else
		GRop15To15((LRgb15*)d, (LAbgr15*)s, x);
	break;
case JointCs(CsRgb15, CsBgr15):
	GRop15To15((LRgb15*)d, (LBgr15*)s, x);
	break;
case JointCs(CsRgb15, CsRgb16):
	GRop16To15((LRgb15*)d, (LRgb16*)s, x);
	break;
case JointCs(CsRgb15, CsBgr16):
	GRop16To15((LRgb15*)d, (LBgr16*)s, x);
	break;
case JointCs(CsRgb15, CsRgb24):
	GRop24To15((LRgb15*)d, (LRgb24*)s, x);
	break;
case JointCs(CsRgb15, CsBgr24):
	GRop24To15((LRgb15*)d, (LBgr24*)s, x);
	break;
case JointCs(CsRgb15, CsRgbx32):
	GRop24To15((LRgb15*)d, (LRgbx32*)s, x);
	break;
case JointCs(CsRgb15, CsBgrx32):
	GRop24To15((LRgb15*)d, (LBgrx32*)s, x);
	break;
case JointCs(CsRgb15, CsXrgb32):
	GRop24To15((LRgb15*)d, (LXrgb32*)s, x);
	break;
case JointCs(CsRgb15, CsXbgr32):
	GRop24To15((LRgb15*)d, (LXbgr32*)s, x);
	break;
case JointCs(CsRgb15, CsRgba32):
	if (Composite)
		GComposite32To15((LRgb15*)d, (LRgba32*)s, x);
	else
		GRop32To15((LRgb15*)d, (LRgba32*)s, x);
	break;
case JointCs(CsRgb15, CsBgra32):
	if (Composite)
		GComposite32To15((LRgb15*)d, (LBgra32*)s, x);
	else
		GRop32To15((LRgb15*)d, (LBgra32*)s, x);
	break;
case JointCs(CsRgb15, CsArgb32):
	if (Composite)
		GComposite32To15((LRgb15*)d, (LArgb32*)s, x);
	else
		GRop32To15((LRgb15*)d, (LArgb32*)s, x);
	break;
case JointCs(CsRgb15, CsAbgr32):
	if (Composite)
		GComposite32To15((LRgb15*)d, (LAbgr32*)s, x);
	else
		GRop32To15((LRgb15*)d, (LAbgr32*)s, x);
	break;
case JointCs(CsRgb15, CsBgr48):
	GRop48To15((LRgb15*)d, (LBgr48*)s, x);
	break;
case JointCs(CsRgb15, CsRgb48):
	GRop48To15((LRgb15*)d, (LRgb48*)s, x);
	break;
case JointCs(CsRgb15, CsBgra64):
	if (Composite)
		GComposite64To15((LRgb15*)d, (LBgra64*)s, x);
	else
		GRop64To15((LRgb15*)d, (LBgra64*)s, x);
	break;
case JointCs(CsRgb15, CsRgba64):
	if (Composite)
		GComposite64To15((LRgb15*)d, (LRgba64*)s, x);
	else
		GRop64To15((LRgb15*)d, (LRgba64*)s, x);
	break;
case JointCs(CsRgb15, CsAbgr64):
	if (Composite)
		GComposite64To15((LRgb15*)d, (LAbgr64*)s, x);
	else
		GRop64To15((LRgb15*)d, (LAbgr64*)s, x);
	break;
case JointCs(CsRgb15, CsArgb64):
	if (Composite)
		GComposite64To15((LRgb15*)d, (LArgb64*)s, x);
	else
		GRop64To15((LRgb15*)d, (LArgb64*)s, x);
	break;
case JointCs(CsAbgr15, CsArgb15):
	if (Composite)
		GComposite15To15((LAbgr15*)d, (LArgb15*)s, x);
	else
		GRop15To15((LAbgr15*)d, (LArgb15*)s, x);
	break;
case JointCs(CsAbgr15, CsRgb15):
	GRop15To15((LAbgr15*)d, (LRgb15*)s, x);
	break;
case JointCs(CsAbgr15, CsAbgr15):
	if (Composite)
		GComposite15To15((LAbgr15*)d, (LAbgr15*)s, x);
	else
		GRop15To15((LAbgr15*)d, (LAbgr15*)s, x);
	break;
case JointCs(CsAbgr15, CsBgr15):
	GRop15To15((LAbgr15*)d, (LBgr15*)s, x);
	break;
case JointCs(CsAbgr15, CsRgb16):
	GRop16To15((LAbgr15*)d, (LRgb16*)s, x);
	break;
case JointCs(CsAbgr15, CsBgr16):
	GRop16To15((LAbgr15*)d, (LBgr16*)s, x);
	break;
case JointCs(CsAbgr15, CsRgb24):
	GRop24To15((LAbgr15*)d, (LRgb24*)s, x);
	break;
case JointCs(CsAbgr15, CsBgr24):
	GRop24To15((LAbgr15*)d, (LBgr24*)s, x);
	break;
case JointCs(CsAbgr15, CsRgbx32):
	GRop24To15((LAbgr15*)d, (LRgbx32*)s, x);
	break;
case JointCs(CsAbgr15, CsBgrx32):
	GRop24To15((LAbgr15*)d, (LBgrx32*)s, x);
	break;
case JointCs(CsAbgr15, CsXrgb32):
	GRop24To15((LAbgr15*)d, (LXrgb32*)s, x);
	break;
case JointCs(CsAbgr15, CsXbgr32):
	GRop24To15((LAbgr15*)d, (LXbgr32*)s, x);
	break;
case JointCs(CsAbgr15, CsRgba32):
	if (Composite)
		GComposite32To15((LAbgr15*)d, (LRgba32*)s, x);
	else
		GRop32To15((LAbgr15*)d, (LRgba32*)s, x);
	break;
case JointCs(CsAbgr15, CsBgra32):
	if (Composite)
		GComposite32To15((LAbgr15*)d, (LBgra32*)s, x);
	else
		GRop32To15((LAbgr15*)d, (LBgra32*)s, x);
	break;
case JointCs(CsAbgr15, CsArgb32):
	if (Composite)
		GComposite32To15((LAbgr15*)d, (LArgb32*)s, x);
	else
		GRop32To15((LAbgr15*)d, (LArgb32*)s, x);
	break;
case JointCs(CsAbgr15, CsAbgr32):
	if (Composite)
		GComposite32To15((LAbgr15*)d, (LAbgr32*)s, x);
	else
		GRop32To15((LAbgr15*)d, (LAbgr32*)s, x);
	break;
case JointCs(CsAbgr15, CsBgr48):
	GRop48To15((LAbgr15*)d, (LBgr48*)s, x);
	break;
case JointCs(CsAbgr15, CsRgb48):
	GRop48To15((LAbgr15*)d, (LRgb48*)s, x);
	break;
case JointCs(CsAbgr15, CsBgra64):
	if (Composite)
		GComposite64To15((LAbgr15*)d, (LBgra64*)s, x);
	else
		GRop64To15((LAbgr15*)d, (LBgra64*)s, x);
	break;
case JointCs(CsAbgr15, CsRgba64):
	if (Composite)
		GComposite64To15((LAbgr15*)d, (LRgba64*)s, x);
	else
		GRop64To15((LAbgr15*)d, (LRgba64*)s, x);
	break;
case JointCs(CsAbgr15, CsAbgr64):
	if (Composite)
		GComposite64To15((LAbgr15*)d, (LAbgr64*)s, x);
	else
		GRop64To15((LAbgr15*)d, (LAbgr64*)s, x);
	break;
case JointCs(CsAbgr15, CsArgb64):
	if (Composite)
		GComposite64To15((LAbgr15*)d, (LArgb64*)s, x);
	else
		GRop64To15((LAbgr15*)d, (LArgb64*)s, x);
	break;
case JointCs(CsBgr15, CsArgb15):
	if (Composite)
		GComposite15To15((LBgr15*)d, (LArgb15*)s, x);
	else
		GRop15To15((LBgr15*)d, (LArgb15*)s, x);
	break;
case JointCs(CsBgr15, CsRgb15):
	GRop15To15((LBgr15*)d, (LRgb15*)s, x);
	break;
case JointCs(CsBgr15, CsAbgr15):
	if (Composite)
		GComposite15To15((LBgr15*)d, (LAbgr15*)s, x);
	else
		GRop15To15((LBgr15*)d, (LAbgr15*)s, x);
	break;
case JointCs(CsBgr15, CsBgr15):
	GRop15To15((LBgr15*)d, (LBgr15*)s, x);
	break;
case JointCs(CsBgr15, CsRgb16):
	GRop16To15((LBgr15*)d, (LRgb16*)s, x);
	break;
case JointCs(CsBgr15, CsBgr16):
	GRop16To15((LBgr15*)d, (LBgr16*)s, x);
	break;
case JointCs(CsBgr15, CsRgb24):
	GRop24To15((LBgr15*)d, (LRgb24*)s, x);
	break;
case JointCs(CsBgr15, CsBgr24):
	GRop24To15((LBgr15*)d, (LBgr24*)s, x);
	break;
case JointCs(CsBgr15, CsRgbx32):
	GRop24To15((LBgr15*)d, (LRgbx32*)s, x);
	break;
case JointCs(CsBgr15, CsBgrx32):
	GRop24To15((LBgr15*)d, (LBgrx32*)s, x);
	break;
case JointCs(CsBgr15, CsXrgb32):
	GRop24To15((LBgr15*)d, (LXrgb32*)s, x);
	break;
case JointCs(CsBgr15, CsXbgr32):
	GRop24To15((LBgr15*)d, (LXbgr32*)s, x);
	break;
case JointCs(CsBgr15, CsRgba32):
	if (Composite)
		GComposite32To15((LBgr15*)d, (LRgba32*)s, x);
	else
		GRop32To15((LBgr15*)d, (LRgba32*)s, x);
	break;
case JointCs(CsBgr15, CsBgra32):
	if (Composite)
		GComposite32To15((LBgr15*)d, (LBgra32*)s, x);
	else
		GRop32To15((LBgr15*)d, (LBgra32*)s, x);
	break;
case JointCs(CsBgr15, CsArgb32):
	if (Composite)
		GComposite32To15((LBgr15*)d, (LArgb32*)s, x);
	else
		GRop32To15((LBgr15*)d, (LArgb32*)s, x);
	break;
case JointCs(CsBgr15, CsAbgr32):
	if (Composite)
		GComposite32To15((LBgr15*)d, (LAbgr32*)s, x);
	else
		GRop32To15((LBgr15*)d, (LAbgr32*)s, x);
	break;
case JointCs(CsBgr15, CsBgr48):
	GRop48To15((LBgr15*)d, (LBgr48*)s, x);
	break;
case JointCs(CsBgr15, CsRgb48):
	GRop48To15((LBgr15*)d, (LRgb48*)s, x);
	break;
case JointCs(CsBgr15, CsBgra64):
	if (Composite)
		GComposite64To15((LBgr15*)d, (LBgra64*)s, x);
	else
		GRop64To15((LBgr15*)d, (LBgra64*)s, x);
	break;
case JointCs(CsBgr15, CsRgba64):
	if (Composite)
		GComposite64To15((LBgr15*)d, (LRgba64*)s, x);
	else
		GRop64To15((LBgr15*)d, (LRgba64*)s, x);
	break;
case JointCs(CsBgr15, CsAbgr64):
	if (Composite)
		GComposite64To15((LBgr15*)d, (LAbgr64*)s, x);
	else
		GRop64To15((LBgr15*)d, (LAbgr64*)s, x);
	break;
case JointCs(CsBgr15, CsArgb64):
	if (Composite)
		GComposite64To15((LBgr15*)d, (LArgb64*)s, x);
	else
		GRop64To15((LBgr15*)d, (LArgb64*)s, x);
	break;
case JointCs(CsRgb16, CsArgb15):
	if (Composite)
		GComposite15To16((LRgb16*)d, (LArgb15*)s, x);
	else
		GRop15To16((LRgb16*)d, (LArgb15*)s, x);
	break;
case JointCs(CsRgb16, CsRgb15):
	GRop15To16((LRgb16*)d, (LRgb15*)s, x);
	break;
case JointCs(CsRgb16, CsAbgr15):
	if (Composite)
		GComposite15To16((LRgb16*)d, (LAbgr15*)s, x);
	else
		GRop15To16((LRgb16*)d, (LAbgr15*)s, x);
	break;
case JointCs(CsRgb16, CsBgr15):
	GRop15To16((LRgb16*)d, (LBgr15*)s, x);
	break;
case JointCs(CsRgb16, CsRgb16):
	GRop16To16((LRgb16*)d, (LRgb16*)s, x);
	break;
case JointCs(CsRgb16, CsBgr16):
	GRop16To16((LRgb16*)d, (LBgr16*)s, x);
	break;
case JointCs(CsRgb16, CsRgb24):
	GRop24To16((LRgb16*)d, (LRgb24*)s, x);
	break;
case JointCs(CsRgb16, CsBgr24):
	GRop24To16((LRgb16*)d, (LBgr24*)s, x);
	break;
case JointCs(CsRgb16, CsRgbx32):
	GRop24To16((LRgb16*)d, (LRgbx32*)s, x);
	break;
case JointCs(CsRgb16, CsBgrx32):
	GRop24To16((LRgb16*)d, (LBgrx32*)s, x);
	break;
case JointCs(CsRgb16, CsXrgb32):
	GRop24To16((LRgb16*)d, (LXrgb32*)s, x);
	break;
case JointCs(CsRgb16, CsXbgr32):
	GRop24To16((LRgb16*)d, (LXbgr32*)s, x);
	break;
case JointCs(CsRgb16, CsRgba32):
	if (Composite)
		GComposite32To16((LRgb16*)d, (LRgba32*)s, x);
	else
		GRop32To16((LRgb16*)d, (LRgba32*)s, x);
	break;
case JointCs(CsRgb16, CsBgra32):
	if (Composite)
		GComposite32To16((LRgb16*)d, (LBgra32*)s, x);
	else
		GRop32To16((LRgb16*)d, (LBgra32*)s, x);
	break;
case JointCs(CsRgb16, CsArgb32):
	if (Composite)
		GComposite32To16((LRgb16*)d, (LArgb32*)s, x);
	else
		GRop32To16((LRgb16*)d, (LArgb32*)s, x);
	break;
case JointCs(CsRgb16, CsAbgr32):
	if (Composite)
		GComposite32To16((LRgb16*)d, (LAbgr32*)s, x);
	else
		GRop32To16((LRgb16*)d, (LAbgr32*)s, x);
	break;
case JointCs(CsRgb16, CsBgr48):
	GRop48To16((LRgb16*)d, (LBgr48*)s, x);
	break;
case JointCs(CsRgb16, CsRgb48):
	GRop48To16((LRgb16*)d, (LRgb48*)s, x);
	break;
case JointCs(CsRgb16, CsBgra64):
	if (Composite)
		GComposite64To16((LRgb16*)d, (LBgra64*)s, x);
	else
		GRop64To16((LRgb16*)d, (LBgra64*)s, x);
	break;
case JointCs(CsRgb16, CsRgba64):
	if (Composite)
		GComposite64To16((LRgb16*)d, (LRgba64*)s, x);
	else
		GRop64To16((LRgb16*)d, (LRgba64*)s, x);
	break;
case JointCs(CsRgb16, CsAbgr64):
	if (Composite)
		GComposite64To16((LRgb16*)d, (LAbgr64*)s, x);
	else
		GRop64To16((LRgb16*)d, (LAbgr64*)s, x);
	break;
case JointCs(CsRgb16, CsArgb64):
	if (Composite)
		GComposite64To16((LRgb16*)d, (LArgb64*)s, x);
	else
		GRop64To16((LRgb16*)d, (LArgb64*)s, x);
	break;
case JointCs(CsBgr16, CsArgb15):
	if (Composite)
		GComposite15To16((LBgr16*)d, (LArgb15*)s, x);
	else
		GRop15To16((LBgr16*)d, (LArgb15*)s, x);
	break;
case JointCs(CsBgr16, CsRgb15):
	GRop15To16((LBgr16*)d, (LRgb15*)s, x);
	break;
case JointCs(CsBgr16, CsAbgr15):
	if (Composite)
		GComposite15To16((LBgr16*)d, (LAbgr15*)s, x);
	else
		GRop15To16((LBgr16*)d, (LAbgr15*)s, x);
	break;
case JointCs(CsBgr16, CsBgr15):
	GRop15To16((LBgr16*)d, (LBgr15*)s, x);
	break;
case JointCs(CsBgr16, CsRgb16):
	GRop16To16((LBgr16*)d, (LRgb16*)s, x);
	break;
case JointCs(CsBgr16, CsBgr16):
	GRop16To16((LBgr16*)d, (LBgr16*)s, x);
	break;
case JointCs(CsBgr16, CsRgb24):
	GRop24To16((LBgr16*)d, (LRgb24*)s, x);
	break;
case JointCs(CsBgr16, CsBgr24):
	GRop24To16((LBgr16*)d, (LBgr24*)s, x);
	break;
case JointCs(CsBgr16, CsRgbx32):
	GRop24To16((LBgr16*)d, (LRgbx32*)s, x);
	break;
case JointCs(CsBgr16, CsBgrx32):
	GRop24To16((LBgr16*)d, (LBgrx32*)s, x);
	break;
case JointCs(CsBgr16, CsXrgb32):
	GRop24To16((LBgr16*)d, (LXrgb32*)s, x);
	break;
case JointCs(CsBgr16, CsXbgr32):
	GRop24To16((LBgr16*)d, (LXbgr32*)s, x);
	break;
case JointCs(CsBgr16, CsRgba32):
	if (Composite)
		GComposite32To16((LBgr16*)d, (LRgba32*)s, x);
	else
		GRop32To16((LBgr16*)d, (LRgba32*)s, x);
	break;
case JointCs(CsBgr16, CsBgra32):
	if (Composite)
		GComposite32To16((LBgr16*)d, (LBgra32*)s, x);
	else
		GRop32To16((LBgr16*)d, (LBgra32*)s, x);
	break;
case JointCs(CsBgr16, CsArgb32):
	if (Composite)
		GComposite32To16((LBgr16*)d, (LArgb32*)s, x);
	else
		GRop32To16((LBgr16*)d, (LArgb32*)s, x);
	break;
case JointCs(CsBgr16, CsAbgr32):
	if (Composite)
		GComposite32To16((LBgr16*)d, (LAbgr32*)s, x);
	else
		GRop32To16((LBgr16*)d, (LAbgr32*)s, x);
	break;
case JointCs(CsBgr16, CsBgr48):
	GRop48To16((LBgr16*)d, (LBgr48*)s, x);
	break;
case JointCs(CsBgr16, CsRgb48):
	GRop48To16((LBgr16*)d, (LRgb48*)s, x);
	break;
case JointCs(CsBgr16, CsBgra64):
	if (Composite)
		GComposite64To16((LBgr16*)d, (LBgra64*)s, x);
	else
		GRop64To16((LBgr16*)d, (LBgra64*)s, x);
	break;
case JointCs(CsBgr16, CsRgba64):
	if (Composite)
		GComposite64To16((LBgr16*)d, (LRgba64*)s, x);
	else
		GRop64To16((LBgr16*)d, (LRgba64*)s, x);
	break;
case JointCs(CsBgr16, CsAbgr64):
	if (Composite)
		GComposite64To16((LBgr16*)d, (LAbgr64*)s, x);
	else
		GRop64To16((LBgr16*)d, (LAbgr64*)s, x);
	break;
case JointCs(CsBgr16, CsArgb64):
	if (Composite)
		GComposite64To16((LBgr16*)d, (LArgb64*)s, x);
	else
		GRop64To16((LBgr16*)d, (LArgb64*)s, x);
	break;
case JointCs(CsRgb24, CsArgb15):
	if (Composite)
		GComposite15To24((LRgb24*)d, (LArgb15*)s, x);
	else
		GRop15To24((LRgb24*)d, (LArgb15*)s, x);
	break;
case JointCs(CsRgb24, CsRgb15):
	GRop15To24((LRgb24*)d, (LRgb15*)s, x);
	break;
case JointCs(CsRgb24, CsAbgr15):
	if (Composite)
		GComposite15To24((LRgb24*)d, (LAbgr15*)s, x);
	else
		GRop15To24((LRgb24*)d, (LAbgr15*)s, x);
	break;
case JointCs(CsRgb24, CsBgr15):
	GRop15To24((LRgb24*)d, (LBgr15*)s, x);
	break;
case JointCs(CsRgb24, CsRgb16):
	GRop16To24((LRgb24*)d, (LRgb16*)s, x);
	break;
case JointCs(CsRgb24, CsBgr16):
	GRop16To24((LRgb24*)d, (LBgr16*)s, x);
	break;
case JointCs(CsRgb24, CsRgb24):
	GRop24To24((LRgb24*)d, (LRgb24*)s, x);
	break;
case JointCs(CsRgb24, CsBgr24):
	GRop24To24((LRgb24*)d, (LBgr24*)s, x);
	break;
case JointCs(CsRgb24, CsRgbx32):
	GRop24To24((LRgb24*)d, (LRgbx32*)s, x);
	break;
case JointCs(CsRgb24, CsBgrx32):
	GRop24To24((LRgb24*)d, (LBgrx32*)s, x);
	break;
case JointCs(CsRgb24, CsXrgb32):
	GRop24To24((LRgb24*)d, (LXrgb32*)s, x);
	break;
case JointCs(CsRgb24, CsXbgr32):
	GRop24To24((LRgb24*)d, (LXbgr32*)s, x);
	break;
case JointCs(CsRgb24, CsRgba32):
	if (Composite)
		GComposite32To24((LRgb24*)d, (LRgba32*)s, x);
	else
		GRop32To24((LRgb24*)d, (LRgba32*)s, x);
	break;
case JointCs(CsRgb24, CsBgra32):
	if (Composite)
		GComposite32To24((LRgb24*)d, (LBgra32*)s, x);
	else
		GRop32To24((LRgb24*)d, (LBgra32*)s, x);
	break;
case JointCs(CsRgb24, CsArgb32):
	if (Composite)
		GComposite32To24((LRgb24*)d, (LArgb32*)s, x);
	else
		GRop32To24((LRgb24*)d, (LArgb32*)s, x);
	break;
case JointCs(CsRgb24, CsAbgr32):
	if (Composite)
		GComposite32To24((LRgb24*)d, (LAbgr32*)s, x);
	else
		GRop32To24((LRgb24*)d, (LAbgr32*)s, x);
	break;
case JointCs(CsRgb24, CsBgr48):
	GRop48To24((LRgb24*)d, (LBgr48*)s, x);
	break;
case JointCs(CsRgb24, CsRgb48):
	GRop48To24((LRgb24*)d, (LRgb48*)s, x);
	break;
case JointCs(CsRgb24, CsBgra64):
	if (Composite)
		GComposite64To24((LRgb24*)d, (LBgra64*)s, x);
	else
		GRop64To24((LRgb24*)d, (LBgra64*)s, x);
	break;
case JointCs(CsRgb24, CsRgba64):
	if (Composite)
		GComposite64To24((LRgb24*)d, (LRgba64*)s, x);
	else
		GRop64To24((LRgb24*)d, (LRgba64*)s, x);
	break;
case JointCs(CsRgb24, CsAbgr64):
	if (Composite)
		GComposite64To24((LRgb24*)d, (LAbgr64*)s, x);
	else
		GRop64To24((LRgb24*)d, (LAbgr64*)s, x);
	break;
case JointCs(CsRgb24, CsArgb64):
	if (Composite)
		GComposite64To24((LRgb24*)d, (LArgb64*)s, x);
	else
		GRop64To24((LRgb24*)d, (LArgb64*)s, x);
	break;
case JointCs(CsBgr24, CsArgb15):
	if (Composite)
		GComposite15To24((LBgr24*)d, (LArgb15*)s, x);
	else
		GRop15To24((LBgr24*)d, (LArgb15*)s, x);
	break;
case JointCs(CsBgr24, CsRgb15):
	GRop15To24((LBgr24*)d, (LRgb15*)s, x);
	break;
case JointCs(CsBgr24, CsAbgr15):
	if (Composite)
		GComposite15To24((LBgr24*)d, (LAbgr15*)s, x);
	else
		GRop15To24((LBgr24*)d, (LAbgr15*)s, x);
	break;
case JointCs(CsBgr24, CsBgr15):
	GRop15To24((LBgr24*)d, (LBgr15*)s, x);
	break;
case JointCs(CsBgr24, CsRgb16):
	GRop16To24((LBgr24*)d, (LRgb16*)s, x);
	break;
case JointCs(CsBgr24, CsBgr16):
	GRop16To24((LBgr24*)d, (LBgr16*)s, x);
	break;
case JointCs(CsBgr24, CsRgb24):
	GRop24To24((LBgr24*)d, (LRgb24*)s, x);
	break;
case JointCs(CsBgr24, CsBgr24):
	GRop24To24((LBgr24*)d, (LBgr24*)s, x);
	break;
case JointCs(CsBgr24, CsRgbx32):
	GRop24To24((LBgr24*)d, (LRgbx32*)s, x);
	break;
case JointCs(CsBgr24, CsBgrx32):
	GRop24To24((LBgr24*)d, (LBgrx32*)s, x);
	break;
case JointCs(CsBgr24, CsXrgb32):
	GRop24To24((LBgr24*)d, (LXrgb32*)s, x);
	break;
case JointCs(CsBgr24, CsXbgr32):
	GRop24To24((LBgr24*)d, (LXbgr32*)s, x);
	break;
case JointCs(CsBgr24, CsRgba32):
	if (Composite)
		GComposite32To24((LBgr24*)d, (LRgba32*)s, x);
	else
		GRop32To24((LBgr24*)d, (LRgba32*)s, x);
	break;
case JointCs(CsBgr24, CsBgra32):
	if (Composite)
		GComposite32To24((LBgr24*)d, (LBgra32*)s, x);
	else
		GRop32To24((LBgr24*)d, (LBgra32*)s, x);
	break;
case JointCs(CsBgr24, CsArgb32):
	if (Composite)
		GComposite32To24((LBgr24*)d, (LArgb32*)s, x);
	else
		GRop32To24((LBgr24*)d, (LArgb32*)s, x);
	break;
case JointCs(CsBgr24, CsAbgr32):
	if (Composite)
		GComposite32To24((LBgr24*)d, (LAbgr32*)s, x);
	else
		GRop32To24((LBgr24*)d, (LAbgr32*)s, x);
	break;
case JointCs(CsBgr24, CsBgr48):
	GRop48To24((LBgr24*)d, (LBgr48*)s, x);
	break;
case JointCs(CsBgr24, CsRgb48):
	GRop48To24((LBgr24*)d, (LRgb48*)s, x);
	break;
case JointCs(CsBgr24, CsBgra64):
	if (Composite)
		GComposite64To24((LBgr24*)d, (LBgra64*)s, x);
	else
		GRop64To24((LBgr24*)d, (LBgra64*)s, x);
	break;
case JointCs(CsBgr24, CsRgba64):
	if (Composite)
		GComposite64To24((LBgr24*)d, (LRgba64*)s, x);
	else
		GRop64To24((LBgr24*)d, (LRgba64*)s, x);
	break;
case JointCs(CsBgr24, CsAbgr64):
	if (Composite)
		GComposite64To24((LBgr24*)d, (LAbgr64*)s, x);
	else
		GRop64To24((LBgr24*)d, (LAbgr64*)s, x);
	break;
case JointCs(CsBgr24, CsArgb64):
	if (Composite)
		GComposite64To24((LBgr24*)d, (LArgb64*)s, x);
	else
		GRop64To24((LBgr24*)d, (LArgb64*)s, x);
	break;
case JointCs(CsRgbx32, CsArgb15):
	if (Composite)
		GComposite15To24((LRgbx32*)d, (LArgb15*)s, x);
	else
		GRop15To24((LRgbx32*)d, (LArgb15*)s, x);
	break;
case JointCs(CsRgbx32, CsRgb15):
	GRop15To24((LRgbx32*)d, (LRgb15*)s, x);
	break;
case JointCs(CsRgbx32, CsAbgr15):
	if (Composite)
		GComposite15To24((LRgbx32*)d, (LAbgr15*)s, x);
	else
		GRop15To24((LRgbx32*)d, (LAbgr15*)s, x);
	break;
case JointCs(CsRgbx32, CsBgr15):
	GRop15To24((LRgbx32*)d, (LBgr15*)s, x);
	break;
case JointCs(CsRgbx32, CsRgb16):
	GRop16To24((LRgbx32*)d, (LRgb16*)s, x);
	break;
case JointCs(CsRgbx32, CsBgr16):
	GRop16To24((LRgbx32*)d, (LBgr16*)s, x);
	break;
case JointCs(CsRgbx32, CsRgb24):
	GRop24To24((LRgbx32*)d, (LRgb24*)s, x);
	break;
case JointCs(CsRgbx32, CsBgr24):
	GRop24To24((LRgbx32*)d, (LBgr24*)s, x);
	break;
case JointCs(CsRgbx32, CsRgbx32):
	GRop24To24((LRgbx32*)d, (LRgbx32*)s, x);
	break;
case JointCs(CsRgbx32, CsBgrx32):
	GRop24To24((LRgbx32*)d, (LBgrx32*)s, x);
	break;
case JointCs(CsRgbx32, CsXrgb32):
	GRop24To24((LRgbx32*)d, (LXrgb32*)s, x);
	break;
case JointCs(CsRgbx32, CsXbgr32):
	GRop24To24((LRgbx32*)d, (LXbgr32*)s, x);
	break;
case JointCs(CsRgbx32, CsRgba32):
	if (Composite)
		GComposite32To24((LRgbx32*)d, (LRgba32*)s, x);
	else
		GRop32To24((LRgbx32*)d, (LRgba32*)s, x);
	break;
case JointCs(CsRgbx32, CsBgra32):
	if (Composite)
		GComposite32To24((LRgbx32*)d, (LBgra32*)s, x);
	else
		GRop32To24((LRgbx32*)d, (LBgra32*)s, x);
	break;
case JointCs(CsRgbx32, CsArgb32):
	if (Composite)
		GComposite32To24((LRgbx32*)d, (LArgb32*)s, x);
	else
		GRop32To24((LRgbx32*)d, (LArgb32*)s, x);
	break;
case JointCs(CsRgbx32, CsAbgr32):
	if (Composite)
		GComposite32To24((LRgbx32*)d, (LAbgr32*)s, x);
	else
		GRop32To24((LRgbx32*)d, (LAbgr32*)s, x);
	break;
case JointCs(CsRgbx32, CsBgr48):
	GRop48To24((LRgbx32*)d, (LBgr48*)s, x);
	break;
case JointCs(CsRgbx32, CsRgb48):
	GRop48To24((LRgbx32*)d, (LRgb48*)s, x);
	break;
case JointCs(CsRgbx32, CsBgra64):
	if (Composite)
		GComposite64To24((LRgbx32*)d, (LBgra64*)s, x);
	else
		GRop64To24((LRgbx32*)d, (LBgra64*)s, x);
	break;
case JointCs(CsRgbx32, CsRgba64):
	if (Composite)
		GComposite64To24((LRgbx32*)d, (LRgba64*)s, x);
	else
		GRop64To24((LRgbx32*)d, (LRgba64*)s, x);
	break;
case JointCs(CsRgbx32, CsAbgr64):
	if (Composite)
		GComposite64To24((LRgbx32*)d, (LAbgr64*)s, x);
	else
		GRop64To24((LRgbx32*)d, (LAbgr64*)s, x);
	break;
case JointCs(CsRgbx32, CsArgb64):
	if (Composite)
		GComposite64To24((LRgbx32*)d, (LArgb64*)s, x);
	else
		GRop64To24((LRgbx32*)d, (LArgb64*)s, x);
	break;
case JointCs(CsBgrx32, CsArgb15):
	if (Composite)
		GComposite15To24((LBgrx32*)d, (LArgb15*)s, x);
	else
		GRop15To24((LBgrx32*)d, (LArgb15*)s, x);
	break;
case JointCs(CsBgrx32, CsRgb15):
	GRop15To24((LBgrx32*)d, (LRgb15*)s, x);
	break;
case JointCs(CsBgrx32, CsAbgr15):
	if (Composite)
		GComposite15To24((LBgrx32*)d, (LAbgr15*)s, x);
	else
		GRop15To24((LBgrx32*)d, (LAbgr15*)s, x);
	break;
case JointCs(CsBgrx32, CsBgr15):
	GRop15To24((LBgrx32*)d, (LBgr15*)s, x);
	break;
case JointCs(CsBgrx32, CsRgb16):
	GRop16To24((LBgrx32*)d, (LRgb16*)s, x);
	break;
case JointCs(CsBgrx32, CsBgr16):
	GRop16To24((LBgrx32*)d, (LBgr16*)s, x);
	break;
case JointCs(CsBgrx32, CsRgb24):
	GRop24To24((LBgrx32*)d, (LRgb24*)s, x);
	break;
case JointCs(CsBgrx32, CsBgr24):
	GRop24To24((LBgrx32*)d, (LBgr24*)s, x);
	break;
case JointCs(CsBgrx32, CsRgbx32):
	GRop24To24((LBgrx32*)d, (LRgbx32*)s, x);
	break;
case JointCs(CsBgrx32, CsBgrx32):
	GRop24To24((LBgrx32*)d, (LBgrx32*)s, x);
	break;
case JointCs(CsBgrx32, CsXrgb32):
	GRop24To24((LBgrx32*)d, (LXrgb32*)s, x);
	break;
case JointCs(CsBgrx32, CsXbgr32):
	GRop24To24((LBgrx32*)d, (LXbgr32*)s, x);
	break;
case JointCs(CsBgrx32, CsRgba32):
	if (Composite)
		GComposite32To24((LBgrx32*)d, (LRgba32*)s, x);
	else
		GRop32To24((LBgrx32*)d, (LRgba32*)s, x);
	break;
case JointCs(CsBgrx32, CsBgra32):
	if (Composite)
		GComposite32To24((LBgrx32*)d, (LBgra32*)s, x);
	else
		GRop32To24((LBgrx32*)d, (LBgra32*)s, x);
	break;
case JointCs(CsBgrx32, CsArgb32):
	if (Composite)
		GComposite32To24((LBgrx32*)d, (LArgb32*)s, x);
	else
		GRop32To24((LBgrx32*)d, (LArgb32*)s, x);
	break;
case JointCs(CsBgrx32, CsAbgr32):
	if (Composite)
		GComposite32To24((LBgrx32*)d, (LAbgr32*)s, x);
	else
		GRop32To24((LBgrx32*)d, (LAbgr32*)s, x);
	break;
case JointCs(CsBgrx32, CsBgr48):
	GRop48To24((LBgrx32*)d, (LBgr48*)s, x);
	break;
case JointCs(CsBgrx32, CsRgb48):
	GRop48To24((LBgrx32*)d, (LRgb48*)s, x);
	break;
case JointCs(CsBgrx32, CsBgra64):
	if (Composite)
		GComposite64To24((LBgrx32*)d, (LBgra64*)s, x);
	else
		GRop64To24((LBgrx32*)d, (LBgra64*)s, x);
	break;
case JointCs(CsBgrx32, CsRgba64):
	if (Composite)
		GComposite64To24((LBgrx32*)d, (LRgba64*)s, x);
	else
		GRop64To24((LBgrx32*)d, (LRgba64*)s, x);
	break;
case JointCs(CsBgrx32, CsAbgr64):
	if (Composite)
		GComposite64To24((LBgrx32*)d, (LAbgr64*)s, x);
	else
		GRop64To24((LBgrx32*)d, (LAbgr64*)s, x);
	break;
case JointCs(CsBgrx32, CsArgb64):
	if (Composite)
		GComposite64To24((LBgrx32*)d, (LArgb64*)s, x);
	else
		GRop64To24((LBgrx32*)d, (LArgb64*)s, x);
	break;
case JointCs(CsXrgb32, CsArgb15):
	if (Composite)
		GComposite15To24((LXrgb32*)d, (LArgb15*)s, x);
	else
		GRop15To24((LXrgb32*)d, (LArgb15*)s, x);
	break;
case JointCs(CsXrgb32, CsRgb15):
	GRop15To24((LXrgb32*)d, (LRgb15*)s, x);
	break;
case JointCs(CsXrgb32, CsAbgr15):
	if (Composite)
		GComposite15To24((LXrgb32*)d, (LAbgr15*)s, x);
	else
		GRop15To24((LXrgb32*)d, (LAbgr15*)s, x);
	break;
case JointCs(CsXrgb32, CsBgr15):
	GRop15To24((LXrgb32*)d, (LBgr15*)s, x);
	break;
case JointCs(CsXrgb32, CsRgb16):
	GRop16To24((LXrgb32*)d, (LRgb16*)s, x);
	break;
case JointCs(CsXrgb32, CsBgr16):
	GRop16To24((LXrgb32*)d, (LBgr16*)s, x);
	break;
case JointCs(CsXrgb32, CsRgb24):
	GRop24To24((LXrgb32*)d, (LRgb24*)s, x);
	break;
case JointCs(CsXrgb32, CsBgr24):
	GRop24To24((LXrgb32*)d, (LBgr24*)s, x);
	break;
case JointCs(CsXrgb32, CsRgbx32):
	GRop24To24((LXrgb32*)d, (LRgbx32*)s, x);
	break;
case JointCs(CsXrgb32, CsBgrx32):
	GRop24To24((LXrgb32*)d, (LBgrx32*)s, x);
	break;
case JointCs(CsXrgb32, CsXrgb32):
	GRop24To24((LXrgb32*)d, (LXrgb32*)s, x);
	break;
case JointCs(CsXrgb32, CsXbgr32):
	GRop24To24((LXrgb32*)d, (LXbgr32*)s, x);
	break;
case JointCs(CsXrgb32, CsRgba32):
	if (Composite)
		GComposite32To24((LXrgb32*)d, (LRgba32*)s, x);
	else
		GRop32To24((LXrgb32*)d, (LRgba32*)s, x);
	break;
case JointCs(CsXrgb32, CsBgra32):
	if (Composite)
		GComposite32To24((LXrgb32*)d, (LBgra32*)s, x);
	else
		GRop32To24((LXrgb32*)d, (LBgra32*)s, x);
	break;
case JointCs(CsXrgb32, CsArgb32):
	if (Composite)
		GComposite32To24((LXrgb32*)d, (LArgb32*)s, x);
	else
		GRop32To24((LXrgb32*)d, (LArgb32*)s, x);
	break;
case JointCs(CsXrgb32, CsAbgr32):
	if (Composite)
		GComposite32To24((LXrgb32*)d, (LAbgr32*)s, x);
	else
		GRop32To24((LXrgb32*)d, (LAbgr32*)s, x);
	break;
case JointCs(CsXrgb32, CsBgr48):
	GRop48To24((LXrgb32*)d, (LBgr48*)s, x);
	break;
case JointCs(CsXrgb32, CsRgb48):
	GRop48To24((LXrgb32*)d, (LRgb48*)s, x);
	break;
case JointCs(CsXrgb32, CsBgra64):
	if (Composite)
		GComposite64To24((LXrgb32*)d, (LBgra64*)s, x);
	else
		GRop64To24((LXrgb32*)d, (LBgra64*)s, x);
	break;
case JointCs(CsXrgb32, CsRgba64):
	if (Composite)
		GComposite64To24((LXrgb32*)d, (LRgba64*)s, x);
	else
		GRop64To24((LXrgb32*)d, (LRgba64*)s, x);
	break;
case JointCs(CsXrgb32, CsAbgr64):
	if (Composite)
		GComposite64To24((LXrgb32*)d, (LAbgr64*)s, x);
	else
		GRop64To24((LXrgb32*)d, (LAbgr64*)s, x);
	break;
case JointCs(CsXrgb32, CsArgb64):
	if (Composite)
		GComposite64To24((LXrgb32*)d, (LArgb64*)s, x);
	else
		GRop64To24((LXrgb32*)d, (LArgb64*)s, x);
	break;
case JointCs(CsXbgr32, CsArgb15):
	if (Composite)
		GComposite15To24((LXbgr32*)d, (LArgb15*)s, x);
	else
		GRop15To24((LXbgr32*)d, (LArgb15*)s, x);
	break;
case JointCs(CsXbgr32, CsRgb15):
	GRop15To24((LXbgr32*)d, (LRgb15*)s, x);
	break;
case JointCs(CsXbgr32, CsAbgr15):
	if (Composite)
		GComposite15To24((LXbgr32*)d, (LAbgr15*)s, x);
	else
		GRop15To24((LXbgr32*)d, (LAbgr15*)s, x);
	break;
case JointCs(CsXbgr32, CsBgr15):
	GRop15To24((LXbgr32*)d, (LBgr15*)s, x);
	break;
case JointCs(CsXbgr32, CsRgb16):
	GRop16To24((LXbgr32*)d, (LRgb16*)s, x);
	break;
case JointCs(CsXbgr32, CsBgr16):
	GRop16To24((LXbgr32*)d, (LBgr16*)s, x);
	break;
case JointCs(CsXbgr32, CsRgb24):
	GRop24To24((LXbgr32*)d, (LRgb24*)s, x);
	break;
case JointCs(CsXbgr32, CsBgr24):
	GRop24To24((LXbgr32*)d, (LBgr24*)s, x);
	break;
case JointCs(CsXbgr32, CsRgbx32):
	GRop24To24((LXbgr32*)d, (LRgbx32*)s, x);
	break;
case JointCs(CsXbgr32, CsBgrx32):
	GRop24To24((LXbgr32*)d, (LBgrx32*)s, x);
	break;
case JointCs(CsXbgr32, CsXrgb32):
	GRop24To24((LXbgr32*)d, (LXrgb32*)s, x);
	break;
case JointCs(CsXbgr32, CsXbgr32):
	GRop24To24((LXbgr32*)d, (LXbgr32*)s, x);
	break;
case JointCs(CsXbgr32, CsRgba32):
	if (Composite)
		GComposite32To24((LXbgr32*)d, (LRgba32*)s, x);
	else
		GRop32To24((LXbgr32*)d, (LRgba32*)s, x);
	break;
case JointCs(CsXbgr32, CsBgra32):
	if (Composite)
		GComposite32To24((LXbgr32*)d, (LBgra32*)s, x);
	else
		GRop32To24((LXbgr32*)d, (LBgra32*)s, x);
	break;
case JointCs(CsXbgr32, CsArgb32):
	if (Composite)
		GComposite32To24((LXbgr32*)d, (LArgb32*)s, x);
	else
		GRop32To24((LXbgr32*)d, (LArgb32*)s, x);
	break;
case JointCs(CsXbgr32, CsAbgr32):
	if (Composite)
		GComposite32To24((LXbgr32*)d, (LAbgr32*)s, x);
	else
		GRop32To24((LXbgr32*)d, (LAbgr32*)s, x);
	break;
case JointCs(CsXbgr32, CsBgr48):
	GRop48To24((LXbgr32*)d, (LBgr48*)s, x);
	break;
case JointCs(CsXbgr32, CsRgb48):
	GRop48To24((LXbgr32*)d, (LRgb48*)s, x);
	break;
case JointCs(CsXbgr32, CsBgra64):
	if (Composite)
		GComposite64To24((LXbgr32*)d, (LBgra64*)s, x);
	else
		GRop64To24((LXbgr32*)d, (LBgra64*)s, x);
	break;
case JointCs(CsXbgr32, CsRgba64):
	if (Composite)
		GComposite64To24((LXbgr32*)d, (LRgba64*)s, x);
	else
		GRop64To24((LXbgr32*)d, (LRgba64*)s, x);
	break;
case JointCs(CsXbgr32, CsAbgr64):
	if (Composite)
		GComposite64To24((LXbgr32*)d, (LAbgr64*)s, x);
	else
		GRop64To24((LXbgr32*)d, (LAbgr64*)s, x);
	break;
case JointCs(CsXbgr32, CsArgb64):
	if (Composite)
		GComposite64To24((LXbgr32*)d, (LArgb64*)s, x);
	else
		GRop64To24((LXbgr32*)d, (LArgb64*)s, x);
	break;
case JointCs(CsRgba32, CsArgb15):
	if (Composite)
		GComposite15To32((LRgba32*)d, (LArgb15*)s, x);
	else
		GRop15To32((LRgba32*)d, (LArgb15*)s, x);
	break;
case JointCs(CsRgba32, CsRgb15):
	GRop15To32((LRgba32*)d, (LRgb15*)s, x);
	break;
case JointCs(CsRgba32, CsAbgr15):
	if (Composite)
		GComposite15To32((LRgba32*)d, (LAbgr15*)s, x);
	else
		GRop15To32((LRgba32*)d, (LAbgr15*)s, x);
	break;
case JointCs(CsRgba32, CsBgr15):
	GRop15To32((LRgba32*)d, (LBgr15*)s, x);
	break;
case JointCs(CsRgba32, CsRgb16):
	GRop16To32((LRgba32*)d, (LRgb16*)s, x);
	break;
case JointCs(CsRgba32, CsBgr16):
	GRop16To32((LRgba32*)d, (LBgr16*)s, x);
	break;
case JointCs(CsRgba32, CsRgb24):
	GRop24To32((LRgba32*)d, (LRgb24*)s, x);
	break;
case JointCs(CsRgba32, CsBgr24):
	GRop24To32((LRgba32*)d, (LBgr24*)s, x);
	break;
case JointCs(CsRgba32, CsRgbx32):
	GRop24To32((LRgba32*)d, (LRgbx32*)s, x);
	break;
case JointCs(CsRgba32, CsBgrx32):
	GRop24To32((LRgba32*)d, (LBgrx32*)s, x);
	break;
case JointCs(CsRgba32, CsXrgb32):
	GRop24To32((LRgba32*)d, (LXrgb32*)s, x);
	break;
case JointCs(CsRgba32, CsXbgr32):
	GRop24To32((LRgba32*)d, (LXbgr32*)s, x);
	break;
case JointCs(CsRgba32, CsRgba32):
	if (Composite)
		GComposite32To32((LRgba32*)d, (LRgba32*)s, x);
	else
		GRop32To32((LRgba32*)d, (LRgba32*)s, x);
	break;
case JointCs(CsRgba32, CsBgra32):
	if (Composite)
		GComposite32To32((LRgba32*)d, (LBgra32*)s, x);
	else
		GRop32To32((LRgba32*)d, (LBgra32*)s, x);
	break;
case JointCs(CsRgba32, CsArgb32):
	if (Composite)
		GComposite32To32((LRgba32*)d, (LArgb32*)s, x);
	else
		GRop32To32((LRgba32*)d, (LArgb32*)s, x);
	break;
case JointCs(CsRgba32, CsAbgr32):
	if (Composite)
		GComposite32To32((LRgba32*)d, (LAbgr32*)s, x);
	else
		GRop32To32((LRgba32*)d, (LAbgr32*)s, x);
	break;
case JointCs(CsRgba32, CsBgr48):
	GRop48To32((LRgba32*)d, (LBgr48*)s, x);
	break;
case JointCs(CsRgba32, CsRgb48):
	GRop48To32((LRgba32*)d, (LRgb48*)s, x);
	break;
case JointCs(CsRgba32, CsBgra64):
	if (Composite)
		GComposite64To32((LRgba32*)d, (LBgra64*)s, x);
	else
		GRop64To32((LRgba32*)d, (LBgra64*)s, x);
	break;
case JointCs(CsRgba32, CsRgba64):
	if (Composite)
		GComposite64To32((LRgba32*)d, (LRgba64*)s, x);
	else
		GRop64To32((LRgba32*)d, (LRgba64*)s, x);
	break;
case JointCs(CsRgba32, CsAbgr64):
	if (Composite)
		GComposite64To32((LRgba32*)d, (LAbgr64*)s, x);
	else
		GRop64To32((LRgba32*)d, (LAbgr64*)s, x);
	break;
case JointCs(CsRgba32, CsArgb64):
	if (Composite)
		GComposite64To32((LRgba32*)d, (LArgb64*)s, x);
	else
		GRop64To32((LRgba32*)d, (LArgb64*)s, x);
	break;
case JointCs(CsBgra32, CsArgb15):
	if (Composite)
		GComposite15To32((LBgra32*)d, (LArgb15*)s, x);
	else
		GRop15To32((LBgra32*)d, (LArgb15*)s, x);
	break;
case JointCs(CsBgra32, CsRgb15):
	GRop15To32((LBgra32*)d, (LRgb15*)s, x);
	break;
case JointCs(CsBgra32, CsAbgr15):
	if (Composite)
		GComposite15To32((LBgra32*)d, (LAbgr15*)s, x);
	else
		GRop15To32((LBgra32*)d, (LAbgr15*)s, x);
	break;
case JointCs(CsBgra32, CsBgr15):
	GRop15To32((LBgra32*)d, (LBgr15*)s, x);
	break;
case JointCs(CsBgra32, CsRgb16):
	GRop16To32((LBgra32*)d, (LRgb16*)s, x);
	break;
case JointCs(CsBgra32, CsBgr16):
	GRop16To32((LBgra32*)d, (LBgr16*)s, x);
	break;
case JointCs(CsBgra32, CsRgb24):
	GRop24To32((LBgra32*)d, (LRgb24*)s, x);
	break;
case JointCs(CsBgra32, CsBgr24):
	GRop24To32((LBgra32*)d, (LBgr24*)s, x);
	break;
case JointCs(CsBgra32, CsRgbx32):
	GRop24To32((LBgra32*)d, (LRgbx32*)s, x);
	break;
case JointCs(CsBgra32, CsBgrx32):
	GRop24To32((LBgra32*)d, (LBgrx32*)s, x);
	break;
case JointCs(CsBgra32, CsXrgb32):
	GRop24To32((LBgra32*)d, (LXrgb32*)s, x);
	break;
case JointCs(CsBgra32, CsXbgr32):
	GRop24To32((LBgra32*)d, (LXbgr32*)s, x);
	break;
case JointCs(CsBgra32, CsRgba32):
	if (Composite)
		GComposite32To32((LBgra32*)d, (LRgba32*)s, x);
	else
		GRop32To32((LBgra32*)d, (LRgba32*)s, x);
	break;
case JointCs(CsBgra32, CsBgra32):
	if (Composite)
		GComposite32To32((LBgra32*)d, (LBgra32*)s, x);
	else
		GRop32To32((LBgra32*)d, (LBgra32*)s, x);
	break;
case JointCs(CsBgra32, CsArgb32):
	if (Composite)
		GComposite32To32((LBgra32*)d, (LArgb32*)s, x);
	else
		GRop32To32((LBgra32*)d, (LArgb32*)s, x);
	break;
case JointCs(CsBgra32, CsAbgr32):
	if (Composite)
		GComposite32To32((LBgra32*)d, (LAbgr32*)s, x);
	else
		GRop32To32((LBgra32*)d, (LAbgr32*)s, x);
	break;
case JointCs(CsBgra32, CsBgr48):
	GRop48To32((LBgra32*)d, (LBgr48*)s, x);
	break;
case JointCs(CsBgra32, CsRgb48):
	GRop48To32((LBgra32*)d, (LRgb48*)s, x);
	break;
case JointCs(CsBgra32, CsBgra64):
	if (Composite)
		GComposite64To32((LBgra32*)d, (LBgra64*)s, x);
	else
		GRop64To32((LBgra32*)d, (LBgra64*)s, x);
	break;
case JointCs(CsBgra32, CsRgba64):
	if (Composite)
		GComposite64To32((LBgra32*)d, (LRgba64*)s, x);
	else
		GRop64To32((LBgra32*)d, (LRgba64*)s, x);
	break;
case JointCs(CsBgra32, CsAbgr64):
	if (Composite)
		GComposite64To32((LBgra32*)d, (LAbgr64*)s, x);
	else
		GRop64To32((LBgra32*)d, (LAbgr64*)s, x);
	break;
case JointCs(CsBgra32, CsArgb64):
	if (Composite)
		GComposite64To32((LBgra32*)d, (LArgb64*)s, x);
	else
		GRop64To32((LBgra32*)d, (LArgb64*)s, x);
	break;
case JointCs(CsArgb32, CsArgb15):
	if (Composite)
		GComposite15To32((LArgb32*)d, (LArgb15*)s, x);
	else
		GRop15To32((LArgb32*)d, (LArgb15*)s, x);
	break;
case JointCs(CsArgb32, CsRgb15):
	GRop15To32((LArgb32*)d, (LRgb15*)s, x);
	break;
case JointCs(CsArgb32, CsAbgr15):
	if (Composite)
		GComposite15To32((LArgb32*)d, (LAbgr15*)s, x);
	else
		GRop15To32((LArgb32*)d, (LAbgr15*)s, x);
	break;
case JointCs(CsArgb32, CsBgr15):
	GRop15To32((LArgb32*)d, (LBgr15*)s, x);
	break;
case JointCs(CsArgb32, CsRgb16):
	GRop16To32((LArgb32*)d, (LRgb16*)s, x);
	break;
case JointCs(CsArgb32, CsBgr16):
	GRop16To32((LArgb32*)d, (LBgr16*)s, x);
	break;
case JointCs(CsArgb32, CsRgb24):
	GRop24To32((LArgb32*)d, (LRgb24*)s, x);
	break;
case JointCs(CsArgb32, CsBgr24):
	GRop24To32((LArgb32*)d, (LBgr24*)s, x);
	break;
case JointCs(CsArgb32, CsRgbx32):
	GRop24To32((LArgb32*)d, (LRgbx32*)s, x);
	break;
case JointCs(CsArgb32, CsBgrx32):
	GRop24To32((LArgb32*)d, (LBgrx32*)s, x);
	break;
case JointCs(CsArgb32, CsXrgb32):
	GRop24To32((LArgb32*)d, (LXrgb32*)s, x);
	break;
case JointCs(CsArgb32, CsXbgr32):
	GRop24To32((LArgb32*)d, (LXbgr32*)s, x);
	break;
case JointCs(CsArgb32, CsRgba32):
	if (Composite)
		GComposite32To32((LArgb32*)d, (LRgba32*)s, x);
	else
		GRop32To32((LArgb32*)d, (LRgba32*)s, x);
	break;
case JointCs(CsArgb32, CsBgra32):
	if (Composite)
		GComposite32To32((LArgb32*)d, (LBgra32*)s, x);
	else
		GRop32To32((LArgb32*)d, (LBgra32*)s, x);
	break;
case JointCs(CsArgb32, CsArgb32):
	if (Composite)
		GComposite32To32((LArgb32*)d, (LArgb32*)s, x);
	else
		GRop32To32((LArgb32*)d, (LArgb32*)s, x);
	break;
case JointCs(CsArgb32, CsAbgr32):
	if (Composite)
		GComposite32To32((LArgb32*)d, (LAbgr32*)s, x);
	else
		GRop32To32((LArgb32*)d, (LAbgr32*)s, x);
	break;
case JointCs(CsArgb32, CsBgr48):
	GRop48To32((LArgb32*)d, (LBgr48*)s, x);
	break;
case JointCs(CsArgb32, CsRgb48):
	GRop48To32((LArgb32*)d, (LRgb48*)s, x);
	break;
case JointCs(CsArgb32, CsBgra64):
	if (Composite)
		GComposite64To32((LArgb32*)d, (LBgra64*)s, x);
	else
		GRop64To32((LArgb32*)d, (LBgra64*)s, x);
	break;
case JointCs(CsArgb32, CsRgba64):
	if (Composite)
		GComposite64To32((LArgb32*)d, (LRgba64*)s, x);
	else
		GRop64To32((LArgb32*)d, (LRgba64*)s, x);
	break;
case JointCs(CsArgb32, CsAbgr64):
	if (Composite)
		GComposite64To32((LArgb32*)d, (LAbgr64*)s, x);
	else
		GRop64To32((LArgb32*)d, (LAbgr64*)s, x);
	break;
case JointCs(CsArgb32, CsArgb64):
	if (Composite)
		GComposite64To32((LArgb32*)d, (LArgb64*)s, x);
	else
		GRop64To32((LArgb32*)d, (LArgb64*)s, x);
	break;
case JointCs(CsAbgr32, CsArgb15):
	if (Composite)
		GComposite15To32((LAbgr32*)d, (LArgb15*)s, x);
	else
		GRop15To32((LAbgr32*)d, (LArgb15*)s, x);
	break;
case JointCs(CsAbgr32, CsRgb15):
	GRop15To32((LAbgr32*)d, (LRgb15*)s, x);
	break;
case JointCs(CsAbgr32, CsAbgr15):
	if (Composite)
		GComposite15To32((LAbgr32*)d, (LAbgr15*)s, x);
	else
		GRop15To32((LAbgr32*)d, (LAbgr15*)s, x);
	break;
case JointCs(CsAbgr32, CsBgr15):
	GRop15To32((LAbgr32*)d, (LBgr15*)s, x);
	break;
case JointCs(CsAbgr32, CsRgb16):
	GRop16To32((LAbgr32*)d, (LRgb16*)s, x);
	break;
case JointCs(CsAbgr32, CsBgr16):
	GRop16To32((LAbgr32*)d, (LBgr16*)s, x);
	break;
case JointCs(CsAbgr32, CsRgb24):
	GRop24To32((LAbgr32*)d, (LRgb24*)s, x);
	break;
case JointCs(CsAbgr32, CsBgr24):
	GRop24To32((LAbgr32*)d, (LBgr24*)s, x);
	break;
case JointCs(CsAbgr32, CsRgbx32):
	GRop24To32((LAbgr32*)d, (LRgbx32*)s, x);
	break;
case JointCs(CsAbgr32, CsBgrx32):
	GRop24To32((LAbgr32*)d, (LBgrx32*)s, x);
	break;
case JointCs(CsAbgr32, CsXrgb32):
	GRop24To32((LAbgr32*)d, (LXrgb32*)s, x);
	break;
case JointCs(CsAbgr32, CsXbgr32):
	GRop24To32((LAbgr32*)d, (LXbgr32*)s, x);
	break;
case JointCs(CsAbgr32, CsRgba32):
	if (Composite)
		GComposite32To32((LAbgr32*)d, (LRgba32*)s, x);
	else
		GRop32To32((LAbgr32*)d, (LRgba32*)s, x);
	break;
case JointCs(CsAbgr32, CsBgra32):
	if (Composite)
		GComposite32To32((LAbgr32*)d, (LBgra32*)s, x);
	else
		GRop32To32((LAbgr32*)d, (LBgra32*)s, x);
	break;
case JointCs(CsAbgr32, CsArgb32):
	if (Composite)
		GComposite32To32((LAbgr32*)d, (LArgb32*)s, x);
	else
		GRop32To32((LAbgr32*)d, (LArgb32*)s, x);
	break;
case JointCs(CsAbgr32, CsAbgr32):
	if (Composite)
		GComposite32To32((LAbgr32*)d, (LAbgr32*)s, x);
	else
		GRop32To32((LAbgr32*)d, (LAbgr32*)s, x);
	break;
case JointCs(CsAbgr32, CsBgr48):
	GRop48To32((LAbgr32*)d, (LBgr48*)s, x);
	break;
case JointCs(CsAbgr32, CsRgb48):
	GRop48To32((LAbgr32*)d, (LRgb48*)s, x);
	break;
case JointCs(CsAbgr32, CsBgra64):
	if (Composite)
		GComposite64To32((LAbgr32*)d, (LBgra64*)s, x);
	else
		GRop64To32((LAbgr32*)d, (LBgra64*)s, x);
	break;
case JointCs(CsAbgr32, CsRgba64):
	if (Composite)
		GComposite64To32((LAbgr32*)d, (LRgba64*)s, x);
	else
		GRop64To32((LAbgr32*)d, (LRgba64*)s, x);
	break;
case JointCs(CsAbgr32, CsAbgr64):
	if (Composite)
		GComposite64To32((LAbgr32*)d, (LAbgr64*)s, x);
	else
		GRop64To32((LAbgr32*)d, (LAbgr64*)s, x);
	break;
case JointCs(CsAbgr32, CsArgb64):
	if (Composite)
		GComposite64To32((LAbgr32*)d, (LArgb64*)s, x);
	else
		GRop64To32((LAbgr32*)d, (LArgb64*)s, x);
	break;
case JointCs(CsBgr48, CsArgb15):
	if (Composite)
		GComposite15To48((LBgr48*)d, (LArgb15*)s, x);
	else
		GRop15To48((LBgr48*)d, (LArgb15*)s, x);
	break;
case JointCs(CsBgr48, CsRgb15):
	GRop15To48((LBgr48*)d, (LRgb15*)s, x);
	break;
case JointCs(CsBgr48, CsAbgr15):
	if (Composite)
		GComposite15To48((LBgr48*)d, (LAbgr15*)s, x);
	else
		GRop15To48((LBgr48*)d, (LAbgr15*)s, x);
	break;
case JointCs(CsBgr48, CsBgr15):
	GRop15To48((LBgr48*)d, (LBgr15*)s, x);
	break;
case JointCs(CsBgr48, CsRgb16):
	GRop16To48((LBgr48*)d, (LRgb16*)s, x);
	break;
case JointCs(CsBgr48, CsBgr16):
	GRop16To48((LBgr48*)d, (LBgr16*)s, x);
	break;
case JointCs(CsBgr48, CsRgb24):
	GRop24To48((LBgr48*)d, (LRgb24*)s, x);
	break;
case JointCs(CsBgr48, CsBgr24):
	GRop24To48((LBgr48*)d, (LBgr24*)s, x);
	break;
case JointCs(CsBgr48, CsRgbx32):
	GRop24To48((LBgr48*)d, (LRgbx32*)s, x);
	break;
case JointCs(CsBgr48, CsBgrx32):
	GRop24To48((LBgr48*)d, (LBgrx32*)s, x);
	break;
case JointCs(CsBgr48, CsXrgb32):
	GRop24To48((LBgr48*)d, (LXrgb32*)s, x);
	break;
case JointCs(CsBgr48, CsXbgr32):
	GRop24To48((LBgr48*)d, (LXbgr32*)s, x);
	break;
case JointCs(CsBgr48, CsRgba32):
	if (Composite)
		GComposite32To48((LBgr48*)d, (LRgba32*)s, x);
	else
		GRop32To48((LBgr48*)d, (LRgba32*)s, x);
	break;
case JointCs(CsBgr48, CsBgra32):
	if (Composite)
		GComposite32To48((LBgr48*)d, (LBgra32*)s, x);
	else
		GRop32To48((LBgr48*)d, (LBgra32*)s, x);
	break;
case JointCs(CsBgr48, CsArgb32):
	if (Composite)
		GComposite32To48((LBgr48*)d, (LArgb32*)s, x);
	else
		GRop32To48((LBgr48*)d, (LArgb32*)s, x);
	break;
case JointCs(CsBgr48, CsAbgr32):
	if (Composite)
		GComposite32To48((LBgr48*)d, (LAbgr32*)s, x);
	else
		GRop32To48((LBgr48*)d, (LAbgr32*)s, x);
	break;
case JointCs(CsBgr48, CsBgr48):
	GRop48To48((LBgr48*)d, (LBgr48*)s, x);
	break;
case JointCs(CsBgr48, CsRgb48):
	GRop48To48((LBgr48*)d, (LRgb48*)s, x);
	break;
case JointCs(CsBgr48, CsBgra64):
	if (Composite)
		GComposite64To48((LBgr48*)d, (LBgra64*)s, x);
	else
		GRop64To48((LBgr48*)d, (LBgra64*)s, x);
	break;
case JointCs(CsBgr48, CsRgba64):
	if (Composite)
		GComposite64To48((LBgr48*)d, (LRgba64*)s, x);
	else
		GRop64To48((LBgr48*)d, (LRgba64*)s, x);
	break;
case JointCs(CsBgr48, CsAbgr64):
	if (Composite)
		GComposite64To48((LBgr48*)d, (LAbgr64*)s, x);
	else
		GRop64To48((LBgr48*)d, (LAbgr64*)s, x);
	break;
case JointCs(CsBgr48, CsArgb64):
	if (Composite)
		GComposite64To48((LBgr48*)d, (LArgb64*)s, x);
	else
		GRop64To48((LBgr48*)d, (LArgb64*)s, x);
	break;
case JointCs(CsRgb48, CsArgb15):
	if (Composite)
		GComposite15To48((LRgb48*)d, (LArgb15*)s, x);
	else
		GRop15To48((LRgb48*)d, (LArgb15*)s, x);
	break;
case JointCs(CsRgb48, CsRgb15):
	GRop15To48((LRgb48*)d, (LRgb15*)s, x);
	break;
case JointCs(CsRgb48, CsAbgr15):
	if (Composite)
		GComposite15To48((LRgb48*)d, (LAbgr15*)s, x);
	else
		GRop15To48((LRgb48*)d, (LAbgr15*)s, x);
	break;
case JointCs(CsRgb48, CsBgr15):
	GRop15To48((LRgb48*)d, (LBgr15*)s, x);
	break;
case JointCs(CsRgb48, CsRgb16):
	GRop16To48((LRgb48*)d, (LRgb16*)s, x);
	break;
case JointCs(CsRgb48, CsBgr16):
	GRop16To48((LRgb48*)d, (LBgr16*)s, x);
	break;
case JointCs(CsRgb48, CsRgb24):
	GRop24To48((LRgb48*)d, (LRgb24*)s, x);
	break;
case JointCs(CsRgb48, CsBgr24):
	GRop24To48((LRgb48*)d, (LBgr24*)s, x);
	break;
case JointCs(CsRgb48, CsRgbx32):
	GRop24To48((LRgb48*)d, (LRgbx32*)s, x);
	break;
case JointCs(CsRgb48, CsBgrx32):
	GRop24To48((LRgb48*)d, (LBgrx32*)s, x);
	break;
case JointCs(CsRgb48, CsXrgb32):
	GRop24To48((LRgb48*)d, (LXrgb32*)s, x);
	break;
case JointCs(CsRgb48, CsXbgr32):
	GRop24To48((LRgb48*)d, (LXbgr32*)s, x);
	break;
case JointCs(CsRgb48, CsRgba32):
	if (Composite)
		GComposite32To48((LRgb48*)d, (LRgba32*)s, x);
	else
		GRop32To48((LRgb48*)d, (LRgba32*)s, x);
	break;
case JointCs(CsRgb48, CsBgra32):
	if (Composite)
		GComposite32To48((LRgb48*)d, (LBgra32*)s, x);
	else
		GRop32To48((LRgb48*)d, (LBgra32*)s, x);
	break;
case JointCs(CsRgb48, CsArgb32):
	if (Composite)
		GComposite32To48((LRgb48*)d, (LArgb32*)s, x);
	else
		GRop32To48((LRgb48*)d, (LArgb32*)s, x);
	break;
case JointCs(CsRgb48, CsAbgr32):
	if (Composite)
		GComposite32To48((LRgb48*)d, (LAbgr32*)s, x);
	else
		GRop32To48((LRgb48*)d, (LAbgr32*)s, x);
	break;
case JointCs(CsRgb48, CsBgr48):
	GRop48To48((LRgb48*)d, (LBgr48*)s, x);
	break;
case JointCs(CsRgb48, CsRgb48):
	GRop48To48((LRgb48*)d, (LRgb48*)s, x);
	break;
case JointCs(CsRgb48, CsBgra64):
	if (Composite)
		GComposite64To48((LRgb48*)d, (LBgra64*)s, x);
	else
		GRop64To48((LRgb48*)d, (LBgra64*)s, x);
	break;
case JointCs(CsRgb48, CsRgba64):
	if (Composite)
		GComposite64To48((LRgb48*)d, (LRgba64*)s, x);
	else
		GRop64To48((LRgb48*)d, (LRgba64*)s, x);
	break;
case JointCs(CsRgb48, CsAbgr64):
	if (Composite)
		GComposite64To48((LRgb48*)d, (LAbgr64*)s, x);
	else
		GRop64To48((LRgb48*)d, (LAbgr64*)s, x);
	break;
case JointCs(CsRgb48, CsArgb64):
	if (Composite)
		GComposite64To48((LRgb48*)d, (LArgb64*)s, x);
	else
		GRop64To48((LRgb48*)d, (LArgb64*)s, x);
	break;
case JointCs(CsBgra64, CsArgb15):
	if (Composite)
		GComposite15To64((LBgra64*)d, (LArgb15*)s, x);
	else
		GRop15To64((LBgra64*)d, (LArgb15*)s, x);
	break;
case JointCs(CsBgra64, CsRgb15):
	GRop15To64((LBgra64*)d, (LRgb15*)s, x);
	break;
case JointCs(CsBgra64, CsAbgr15):
	if (Composite)
		GComposite15To64((LBgra64*)d, (LAbgr15*)s, x);
	else
		GRop15To64((LBgra64*)d, (LAbgr15*)s, x);
	break;
case JointCs(CsBgra64, CsBgr15):
	GRop15To64((LBgra64*)d, (LBgr15*)s, x);
	break;
case JointCs(CsBgra64, CsRgb16):
	GRop16To64((LBgra64*)d, (LRgb16*)s, x);
	break;
case JointCs(CsBgra64, CsBgr16):
	GRop16To64((LBgra64*)d, (LBgr16*)s, x);
	break;
case JointCs(CsBgra64, CsRgb24):
	GRop24To64((LBgra64*)d, (LRgb24*)s, x);
	break;
case JointCs(CsBgra64, CsBgr24):
	GRop24To64((LBgra64*)d, (LBgr24*)s, x);
	break;
case JointCs(CsBgra64, CsRgbx32):
	GRop24To64((LBgra64*)d, (LRgbx32*)s, x);
	break;
case JointCs(CsBgra64, CsBgrx32):
	GRop24To64((LBgra64*)d, (LBgrx32*)s, x);
	break;
case JointCs(CsBgra64, CsXrgb32):
	GRop24To64((LBgra64*)d, (LXrgb32*)s, x);
	break;
case JointCs(CsBgra64, CsXbgr32):
	GRop24To64((LBgra64*)d, (LXbgr32*)s, x);
	break;
case JointCs(CsBgra64, CsRgba32):
	if (Composite)
		GComposite32To64((LBgra64*)d, (LRgba32*)s, x);
	else
		GRop32To64((LBgra64*)d, (LRgba32*)s, x);
	break;
case JointCs(CsBgra64, CsBgra32):
	if (Composite)
		GComposite32To64((LBgra64*)d, (LBgra32*)s, x);
	else
		GRop32To64((LBgra64*)d, (LBgra32*)s, x);
	break;
case JointCs(CsBgra64, CsArgb32):
	if (Composite)
		GComposite32To64((LBgra64*)d, (LArgb32*)s, x);
	else
		GRop32To64((LBgra64*)d, (LArgb32*)s, x);
	break;
case JointCs(CsBgra64, CsAbgr32):
	if (Composite)
		GComposite32To64((LBgra64*)d, (LAbgr32*)s, x);
	else
		GRop32To64((LBgra64*)d, (LAbgr32*)s, x);
	break;
case JointCs(CsBgra64, CsBgr48):
	GRop48To64((LBgra64*)d, (LBgr48*)s, x);
	break;
case JointCs(CsBgra64, CsRgb48):
	GRop48To64((LBgra64*)d, (LRgb48*)s, x);
	break;
case JointCs(CsBgra64, CsBgra64):
	if (Composite)
		GComposite64To64((LBgra64*)d, (LBgra64*)s, x);
	else
		GRop64To64((LBgra64*)d, (LBgra64*)s, x);
	break;
case JointCs(CsBgra64, CsRgba64):
	if (Composite)
		GComposite64To64((LBgra64*)d, (LRgba64*)s, x);
	else
		GRop64To64((LBgra64*)d, (LRgba64*)s, x);
	break;
case JointCs(CsBgra64, CsAbgr64):
	if (Composite)
		GComposite64To64((LBgra64*)d, (LAbgr64*)s, x);
	else
		GRop64To64((LBgra64*)d, (LAbgr64*)s, x);
	break;
case JointCs(CsBgra64, CsArgb64):
	if (Composite)
		GComposite64To64((LBgra64*)d, (LArgb64*)s, x);
	else
		GRop64To64((LBgra64*)d, (LArgb64*)s, x);
	break;
case JointCs(CsRgba64, CsArgb15):
	if (Composite)
		GComposite15To64((LRgba64*)d, (LArgb15*)s, x);
	else
		GRop15To64((LRgba64*)d, (LArgb15*)s, x);
	break;
case JointCs(CsRgba64, CsRgb15):
	GRop15To64((LRgba64*)d, (LRgb15*)s, x);
	break;
case JointCs(CsRgba64, CsAbgr15):
	if (Composite)
		GComposite15To64((LRgba64*)d, (LAbgr15*)s, x);
	else
		GRop15To64((LRgba64*)d, (LAbgr15*)s, x);
	break;
case JointCs(CsRgba64, CsBgr15):
	GRop15To64((LRgba64*)d, (LBgr15*)s, x);
	break;
case JointCs(CsRgba64, CsRgb16):
	GRop16To64((LRgba64*)d, (LRgb16*)s, x);
	break;
case JointCs(CsRgba64, CsBgr16):
	GRop16To64((LRgba64*)d, (LBgr16*)s, x);
	break;
case JointCs(CsRgba64, CsRgb24):
	GRop24To64((LRgba64*)d, (LRgb24*)s, x);
	break;
case JointCs(CsRgba64, CsBgr24):
	GRop24To64((LRgba64*)d, (LBgr24*)s, x);
	break;
case JointCs(CsRgba64, CsRgbx32):
	GRop24To64((LRgba64*)d, (LRgbx32*)s, x);
	break;
case JointCs(CsRgba64, CsBgrx32):
	GRop24To64((LRgba64*)d, (LBgrx32*)s, x);
	break;
case JointCs(CsRgba64, CsXrgb32):
	GRop24To64((LRgba64*)d, (LXrgb32*)s, x);
	break;
case JointCs(CsRgba64, CsXbgr32):
	GRop24To64((LRgba64*)d, (LXbgr32*)s, x);
	break;
case JointCs(CsRgba64, CsRgba32):
	if (Composite)
		GComposite32To64((LRgba64*)d, (LRgba32*)s, x);
	else
		GRop32To64((LRgba64*)d, (LRgba32*)s, x);
	break;
case JointCs(CsRgba64, CsBgra32):
	if (Composite)
		GComposite32To64((LRgba64*)d, (LBgra32*)s, x);
	else
		GRop32To64((LRgba64*)d, (LBgra32*)s, x);
	break;
case JointCs(CsRgba64, CsArgb32):
	if (Composite)
		GComposite32To64((LRgba64*)d, (LArgb32*)s, x);
	else
		GRop32To64((LRgba64*)d, (LArgb32*)s, x);
	break;
case JointCs(CsRgba64, CsAbgr32):
	if (Composite)
		GComposite32To64((LRgba64*)d, (LAbgr32*)s, x);
	else
		GRop32To64((LRgba64*)d, (LAbgr32*)s, x);
	break;
case JointCs(CsRgba64, CsBgr48):
	GRop48To64((LRgba64*)d, (LBgr48*)s, x);
	break;
case JointCs(CsRgba64, CsRgb48):
	GRop48To64((LRgba64*)d, (LRgb48*)s, x);
	break;
case JointCs(CsRgba64, CsBgra64):
	if (Composite)
		GComposite64To64((LRgba64*)d, (LBgra64*)s, x);
	else
		GRop64To64((LRgba64*)d, (LBgra64*)s, x);
	break;
case JointCs(CsRgba64, CsRgba64):
	if (Composite)
		GComposite64To64((LRgba64*)d, (LRgba64*)s, x);
	else
		GRop64To64((LRgba64*)d, (LRgba64*)s, x);
	break;
case JointCs(CsRgba64, CsAbgr64):
	if (Composite)
		GComposite64To64((LRgba64*)d, (LAbgr64*)s, x);
	else
		GRop64To64((LRgba64*)d, (LAbgr64*)s, x);
	break;
case JointCs(CsRgba64, CsArgb64):
	if (Composite)
		GComposite64To64((LRgba64*)d, (LArgb64*)s, x);
	else
		GRop64To64((LRgba64*)d, (LArgb64*)s, x);
	break;
case JointCs(CsAbgr64, CsArgb15):
	if (Composite)
		GComposite15To64((LAbgr64*)d, (LArgb15*)s, x);
	else
		GRop15To64((LAbgr64*)d, (LArgb15*)s, x);
	break;
case JointCs(CsAbgr64, CsRgb15):
	GRop15To64((LAbgr64*)d, (LRgb15*)s, x);
	break;
case JointCs(CsAbgr64, CsAbgr15):
	if (Composite)
		GComposite15To64((LAbgr64*)d, (LAbgr15*)s, x);
	else
		GRop15To64((LAbgr64*)d, (LAbgr15*)s, x);
	break;
case JointCs(CsAbgr64, CsBgr15):
	GRop15To64((LAbgr64*)d, (LBgr15*)s, x);
	break;
case JointCs(CsAbgr64, CsRgb16):
	GRop16To64((LAbgr64*)d, (LRgb16*)s, x);
	break;
case JointCs(CsAbgr64, CsBgr16):
	GRop16To64((LAbgr64*)d, (LBgr16*)s, x);
	break;
case JointCs(CsAbgr64, CsRgb24):
	GRop24To64((LAbgr64*)d, (LRgb24*)s, x);
	break;
case JointCs(CsAbgr64, CsBgr24):
	GRop24To64((LAbgr64*)d, (LBgr24*)s, x);
	break;
case JointCs(CsAbgr64, CsRgbx32):
	GRop24To64((LAbgr64*)d, (LRgbx32*)s, x);
	break;
case JointCs(CsAbgr64, CsBgrx32):
	GRop24To64((LAbgr64*)d, (LBgrx32*)s, x);
	break;
case JointCs(CsAbgr64, CsXrgb32):
	GRop24To64((LAbgr64*)d, (LXrgb32*)s, x);
	break;
case JointCs(CsAbgr64, CsXbgr32):
	GRop24To64((LAbgr64*)d, (LXbgr32*)s, x);
	break;
case JointCs(CsAbgr64, CsRgba32):
	if (Composite)
		GComposite32To64((LAbgr64*)d, (LRgba32*)s, x);
	else
		GRop32To64((LAbgr64*)d, (LRgba32*)s, x);
	break;
case JointCs(CsAbgr64, CsBgra32):
	if (Composite)
		GComposite32To64((LAbgr64*)d, (LBgra32*)s, x);
	else
		GRop32To64((LAbgr64*)d, (LBgra32*)s, x);
	break;
case JointCs(CsAbgr64, CsArgb32):
	if (Composite)
		GComposite32To64((LAbgr64*)d, (LArgb32*)s, x);
	else
		GRop32To64((LAbgr64*)d, (LArgb32*)s, x);
	break;
case JointCs(CsAbgr64, CsAbgr32):
	if (Composite)
		GComposite32To64((LAbgr64*)d, (LAbgr32*)s, x);
	else
		GRop32To64((LAbgr64*)d, (LAbgr32*)s, x);
	break;
case JointCs(CsAbgr64, CsBgr48):
	GRop48To64((LAbgr64*)d, (LBgr48*)s, x);
	break;
case JointCs(CsAbgr64, CsRgb48):
	GRop48To64((LAbgr64*)d, (LRgb48*)s, x);
	break;
case JointCs(CsAbgr64, CsBgra64):
	if (Composite)
		GComposite64To64((LAbgr64*)d, (LBgra64*)s, x);
	else
		GRop64To64((LAbgr64*)d, (LBgra64*)s, x);
	break;
case JointCs(CsAbgr64, CsRgba64):
	if (Composite)
		GComposite64To64((LAbgr64*)d, (LRgba64*)s, x);
	else
		GRop64To64((LAbgr64*)d, (LRgba64*)s, x);
	break;
case JointCs(CsAbgr64, CsAbgr64):
	if (Composite)
		GComposite64To64((LAbgr64*)d, (LAbgr64*)s, x);
	else
		GRop64To64((LAbgr64*)d, (LAbgr64*)s, x);
	break;
case JointCs(CsAbgr64, CsArgb64):
	if (Composite)
		GComposite64To64((LAbgr64*)d, (LArgb64*)s, x);
	else
		GRop64To64((LAbgr64*)d, (LArgb64*)s, x);
	break;
case JointCs(CsArgb64, CsArgb15):
	if (Composite)
		GComposite15To64((LArgb64*)d, (LArgb15*)s, x);
	else
		GRop15To64((LArgb64*)d, (LArgb15*)s, x);
	break;
case JointCs(CsArgb64, CsRgb15):
	GRop15To64((LArgb64*)d, (LRgb15*)s, x);
	break;
case JointCs(CsArgb64, CsAbgr15):
	if (Composite)
		GComposite15To64((LArgb64*)d, (LAbgr15*)s, x);
	else
		GRop15To64((LArgb64*)d, (LAbgr15*)s, x);
	break;
case JointCs(CsArgb64, CsBgr15):
	GRop15To64((LArgb64*)d, (LBgr15*)s, x);
	break;
case JointCs(CsArgb64, CsRgb16):
	GRop16To64((LArgb64*)d, (LRgb16*)s, x);
	break;
case JointCs(CsArgb64, CsBgr16):
	GRop16To64((LArgb64*)d, (LBgr16*)s, x);
	break;
case JointCs(CsArgb64, CsRgb24):
	GRop24To64((LArgb64*)d, (LRgb24*)s, x);
	break;
case JointCs(CsArgb64, CsBgr24):
	GRop24To64((LArgb64*)d, (LBgr24*)s, x);
	break;
case JointCs(CsArgb64, CsRgbx32):
	GRop24To64((LArgb64*)d, (LRgbx32*)s, x);
	break;
case JointCs(CsArgb64, CsBgrx32):
	GRop24To64((LArgb64*)d, (LBgrx32*)s, x);
	break;
case JointCs(CsArgb64, CsXrgb32):
	GRop24To64((LArgb64*)d, (LXrgb32*)s, x);
	break;
case JointCs(CsArgb64, CsXbgr32):
	GRop24To64((LArgb64*)d, (LXbgr32*)s, x);
	break;
case JointCs(CsArgb64, CsRgba32):
	if (Composite)
		GComposite32To64((LArgb64*)d, (LRgba32*)s, x);
	else
		GRop32To64((LArgb64*)d, (LRgba32*)s, x);
	break;
case JointCs(CsArgb64, CsBgra32):
	if (Composite)
		GComposite32To64((LArgb64*)d, (LBgra32*)s, x);
	else
		GRop32To64((LArgb64*)d, (LBgra32*)s, x);
	break;
case JointCs(CsArgb64, CsArgb32):
	if (Composite)
		GComposite32To64((LArgb64*)d, (LArgb32*)s, x);
	else
		GRop32To64((LArgb64*)d, (LArgb32*)s, x);
	break;
case JointCs(CsArgb64, CsAbgr32):
	if (Composite)
		GComposite32To64((LArgb64*)d, (LAbgr32*)s, x);
	else
		GRop32To64((LArgb64*)d, (LAbgr32*)s, x);
	break;
case JointCs(CsArgb64, CsBgr48):
	GRop48To64((LArgb64*)d, (LBgr48*)s, x);
	break;
case JointCs(CsArgb64, CsRgb48):
	GRop48To64((LArgb64*)d, (LRgb48*)s, x);
	break;
case JointCs(CsArgb64, CsBgra64):
	if (Composite)
		GComposite64To64((LArgb64*)d, (LBgra64*)s, x);
	else
		GRop64To64((LArgb64*)d, (LBgra64*)s, x);
	break;
case JointCs(CsArgb64, CsRgba64):
	if (Composite)
		GComposite64To64((LArgb64*)d, (LRgba64*)s, x);
	else
		GRop64To64((LArgb64*)d, (LRgba64*)s, x);
	break;
case JointCs(CsArgb64, CsAbgr64):
	if (Composite)
		GComposite64To64((LArgb64*)d, (LAbgr64*)s, x);
	else
		GRop64To64((LArgb64*)d, (LAbgr64*)s, x);
	break;
case JointCs(CsArgb64, CsArgb64):
	if (Composite)
		GComposite64To64((LArgb64*)d, (LArgb64*)s, x);
	else
		GRop64To64((LArgb64*)d, (LArgb64*)s, x);
	break;
