# --- T2-COPYRIGHT-BEGIN --- # t2/package/*/xf86-video-rendition/03-rop-table.patch # Copyright (C) 2026 The T2 SDE Project # SPDX-License-Identifier: GPL-2.0 or patched project license # --- T2-COPYRIGHT-END --- --- a/src/accelX.c 2026-07-12 13:25:39.916000718 +0200 +++ b/src/accelX.c 2026-07-12 13:25:53.292968887 +0200 @@ -108,16 +108,17 @@ * global data */ -static int Rop2Rop[]={ +/* X calls the source "reverse" and the destination "inverted": GXandReverse is + S & ~D, GXandInverted is ~S & D. cmd2d.h names the operands explicitly, so + ROP_AND_SND is S & ~D and ROP_AND_NSD is ~S & D. */ +static int Rop2Rop[]={ ROP_ALLBITS0, ROP_AND_SD, ROP_AND_SND, ROP_S, /* GXclear, GXand, GXandReverse, GXcopy, */ ROP_AND_NSD, ROP_D, ROP_XOR_SD, ROP_OR_SD, /* GXandInverted, GXnoop, GXxor, GXor, */ - ROP_NOR_SD, ROP_S, ROP_NOT_D, ROP_NOT_S, - /* suppose I have some problems understanding what invert and revers means - ROP_NOR_SD, ROP_S, ROP_NOT_S, ROP_NOT_D, */ - /* GXnor, GXequiv, GXinvert, GXorReverse, */ - ROP_NOT_S, ROP_XNOR_SD, ROP_NAND_SD, ROP_ALLBITS1 }; + ROP_NOR_SD, ROP_XNOR_SD, ROP_NOT_D, ROP_OR_SND, + /* GXnor, GXequiv, GXinvert, GXorReverse, */ + ROP_NOT_S, ROP_OR_NSD, ROP_NAND_SD, ROP_ALLBITS1 }; /* GXcopyInverted, GXorInverted, GXnand, GXset */