rem: si->engine.dma.cmdbuffer[si->engine.dma.current++] = color;
add: if (si->ps.card_arch < NV40A) switch(si->dm.space) { case B_RGB15_LITTLE:  si->engine.dma.cmdbuffer[si->engine.dma.current++] = (((color & 0x0000f800) >> 1) | ((color & 0x000007c0) >> 1) | (color & 0x0000001f));  break; case B_RGB16_LITTLE: si->engine.dma.cmdbuffer[si->engine.dma.current++] = (((color & 0x0000f800) << 8) | ((color & 0x000007e0) << 5) | ((color & 0x0000001f) << 3));  break; default: si->engine.dma.cmdbuffer[si->engine.dma.current++] = color;  break; } else si->engine.dma.cmdbuffer[si->engine.dma.current++] = color;
context: status_t nv_acc_setup_rectangle_dma(uint32 color){	/* setup solid pattern:	 * wait for room in fifo for pattern cmd if needed. */	if (nv_acc_fifofree_dma(7) != B_OK) return B_ERROR;	/* now setup pattern (writing 7 32bit words) */	nv_acc_cmd_dma(NV_IMAGE_PATTERN, NV_IMAGE_PATTERN_SETSHAPE, 1);	si->engine.dma.cmdbuffer[si->engine.dma.current++] = 0x00000000; /* SetShape: 0 = 8x8, 1 = 64x1, 2 = 1x64 */	nv_acc_cmd_dma(NV_IMAGE_PATTERN, NV_IMAGE_PATTERN_SETCOLOR0, 4);	si->engine.dma.cmdbuffer[si->engine.dma.current++] = 0xffffffff; /* SetColor0 */	si->engine.dma.cmdbuffer[si->engine.dma.current++] = 0xffffffff; /* SetColor1 */	si->engine.dma.cmdbuffer[si->engine.dma.current++] = 0xffffffff; /* SetPattern[0] */	si->engine.dma.cmdbuffer[si->engine.dma.current++] = 0xffffffff; /* SetPattern[1] */	/* ROP registers (Raster OPeration):	 * wait for room in fifo for ROP cmd if needed. */	if (nv_acc_fifofree_dma(2) != B_OK) return B_ERROR;	/* now setup ROP (writing 2 32bit words) for GXcopy */	nv_acc_cmd_dma(NV_ROP5_SOLID, NV_ROP5_SOLID_SETROP5, 1);	si->engine.dma.cmdbuffer[si->engine.dma.current++] = 0xcc; /* SetRop5 */	/* setup fill color:	 * wait for room in fifo for bitmap cmd if needed. */	if (nv_acc_fifofree_dma(2) != B_OK) return B_ERROR;	/* now setup color (writing 2 32bit words) */	nv_acc_cmd_dma(NV4_GDI_RECTANGLE_TEXT, NV4_GDI_RECTANGLE_TEXT_COLOR1A, 1);	si->engine.dma.cmdbuffer[si->engine.dma.current++] = color; /* Color1A */	return B_OK;}