b9a21c3c91c47e090316e28d759194e46628ed49vboxsync/*
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int XAAHelpSolidROP(ScrnInfoPtr pScrn, int *fg, int pm, int *rop)
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync For use with solid fills emulated by solid 8x8 patterns. You
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync give it the foreground, planemask and X rop and it will replace
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync the foreground with a new one and the rop with the appropriate
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync MS triadic raster op. The function will return which components
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync (S-P) need to be enabled.
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int XAAHelpPatternROP(ScrnInfoPtr pScrn, int *fg, int *bg, int pm, int *rop)
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync For use with 8x8 opaque pattern fills. You give it the foreground,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync and background, planemask and X rop and it will replace the
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync foreground and background with new ones and the rop with the
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync appropriate MS triadic raster op. The function will return which
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync components (S-P) need to be enabled.
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ROP_PAT - Means to enable 8x8 mono patterns (all bits
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync set for solid patterns). Set the foreground and
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync background as returned by the function.
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ROP_SRC - Means a source of color == planemask should be used.
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync*/
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#ifndef _XAAROP_H
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define _XAAROP_H
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DST 0x00000001
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SRC 0x00000002
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PAT 0x00000004
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_0 0x00
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPSoon 0x01
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPSona 0x02
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PSon 0x03
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDPona 0x04
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPon 0x05
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PDSxnon 0x06
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PDSaon 0x07
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDPnaa 0x08
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PDSxon 0x09
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPna 0x0A
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PSDnaon 0x0B
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SPna 0x0C
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PDSnaon 0x0D
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PDSonon 0x0E
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_Pn 0x0F
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PDSona 0x10
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DSon 0x11
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDPxnon 0x12
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDPaon 0x13
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPSxnon 0x14
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPSaon 0x15
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PSDPSanaxx 0x16
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SSPxDSxaxn 0x17
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SPxPDxa 0x18
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDPSanaxn 0x19
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PDSPaox 0x1A
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDPSxaxn 0x1B
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PSDPaox 0x1C
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DSPDxaxn 0x1D
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PDSox 0x1E
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PDSoan 0x1F
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPSnaa 0x20
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDPxon 0x21
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DSna 0x22
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SPDnaon 0x23
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SPxDSxa 0x24
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PDSPanaxn 0x25
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDPSaox 0x26
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDPSxnox 0x27
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPSxa 0x28
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PSDPSaoxxn 0x29
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPSana 0x2A
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SSPxPDxaxn 0x2B
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SPDSoax 0x2C
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PSDnox 0x2D
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PSDPxox 0x2E
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PSDnoan 0x2F
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PSna 0x30
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDPnaon 0x31
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDPSoox 0x32
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_Sn 0x33
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SPDSaox 0x34
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SPDSxnox 0x35
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDPox 0x36
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDPoan 0x37
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PSDPoax 0x38
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SPDnox 0x39
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SPDSxox 0x3A
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SPDnoan 0x3B
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PSx 0x3C
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SPDSonox 0x3D
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SPDSnaox 0x3E
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PSan 0x3F
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PSDnaa 0x40
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPSxon 0x41
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDxPDxa 0x42
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SPDSanaxn 0x43
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDna 0x44
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPSnaon 0x45
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DSPDaox 0x46
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PSDPxaxn 0x47
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDPxa 0x48
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PDSPDaoxxn 0x49
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPSDoax 0x4A
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PDSnox 0x4B
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDPana 0x4C
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SSPxDSxoxn 0x4D
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PDSPxox 0x4E
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PDSnoan 0x4F
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PDna 0x50
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DSPnaon 0x51
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPSDaox 0x52
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SPDSxaxn 0x53
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPSonon 0x54
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_Dn 0x55
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPSox 0x56
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPSoan 0x57
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PDSPoax 0x58
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPSnox 0x59
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPx 0x5A
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPSDonox 0x5B
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPSDxox 0x5C
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPSnoan 0x5D
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPSDnaox 0x5E
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPan 0x5F
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PDSxa 0x60
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DSPDSaoxxn 0x61
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DSPDoax 0x62
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDPnox 0x63
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDPSoax 0x64
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DSPnox 0x65
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DSx 0x66
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDPSonox 0x67
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DSPDSonoxxn 0x68
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PDSxxn 0x69
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPSax 0x6A
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PSDPSoaxxn 0x6B
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDPax 0x6C
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PDSPDoaxxn 0x6D
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDPSnoax 0x6E
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PDSxnan 0x6F
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PDSana 0x70
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SSDxPDxaxn 0x71
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDPSxox 0x72
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDPnoan 0x73
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DSPDxox 0x74
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DSPnoan 0x75
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDPSnaox 0x76
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DSan 0x77
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PDSax 0x78
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DSPDSoaxxn 0x79
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPSDnoax 0x7A
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDPxnan 0x7B
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SPDSnoax 0x7C
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPSxnan 0x7D
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SPxDSxo 0x7E
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPSaan 0x7F
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPSaa 0x80
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SPxDSxon 0x81
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPSxna 0x82
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SPDSnoaxn 0x83
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDPxna 0x84
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PDSPnoaxn 0x85
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DSPDSoaxx 0x86
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PDSaxn 0x87
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DSa 0x88
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDPSnaoxn 0x89
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DSPnoa 0x8A
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DSPDxoxn 0x8B
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDPnoa 0x8C
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDPSxoxn 0x8D
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SSDxPDxax 0x8E
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PDSanan 0x8F
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PDSxna 0x90
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDPSnoaxn 0x91
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPSDPoaxx 0x92
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SPDaxn 0x93
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PSDPSoaxx 0x94
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPSaxn 0x95
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPSxx 0x96
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PSDPSonoxx 0x97
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDPSonoxn 0x98
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DSxn 0x99
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPSnax 0x9A
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDPSoaxn 0x9B
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SPDnax 0x9C
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DSPDoaxn 0x9D
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DSPDSaoxx 0x9E
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PDSxan 0x9F
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPa 0xA0
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PDSPnaoxn 0xA1
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPSnoa 0xA2
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPSDxoxn 0xA3
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PDSPonoxn 0xA4
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PDxn 0xA5
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DSPnax 0xA6
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PDSPoaxn 0xA7
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPSoa 0xA8
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPSoxn 0xA9
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_D 0xAA
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPSono 0xAB
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SPDSxax 0xAC
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPSDaoxn 0xAD
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DSPnao 0xAE
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPno 0xAF
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PDSnoa 0xB0
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PDSPxoxn 0xB1
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SSPxDSxox 0xB2
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDPanan 0xB3
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PSDnax 0xB4
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPSDoaxn 0xB5
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPSDPaoxx 0xB6
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDPxan 0xB7
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PSDPxax 0xB8
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DSPDaoxn 0xB9
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPSnao 0xBA
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DSno 0xBB
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SPDSanax 0xBC
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDxPDxan 0xBD
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPSxo 0xBE
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPSano 0xBF
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_Psa 0xC0
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SPDSnaoxn 0xC1
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SPDSonoxn 0xC2
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PSxn 0xC3
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SPDnoa 0xC4
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SPDSxoxn 0xC5
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDPnax 0xC6
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PSDPoaxn 0xC7
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDPoa 0xC8
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SPDoxn 0xC9
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPSDxax 0xCA
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SPDSaoxn 0xCB
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_S 0xCC
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDPono 0xCD
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDPnao 0xCE
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SPno 0xCF
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PSDnoa 0xD0
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PSDPxoxn 0xD1
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PDSnax 0xD2
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SPDSoaxn 0xD3
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SSPxPDxax 0xD4
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPSanan 0xD5
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PSDPSaoxx 0xD6
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPSxan 0xD7
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PDSPxax 0xD8
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDPSaoxn 0xD9
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPSDanax 0xDA
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SPxDSxan 0xDB
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SPDnao 0xDC
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDno 0xDD
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDPxo 0xDE
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDPano 0xDF
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PDSoa 0xE0
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PDSoxn 0xE1
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DSPDxax 0xE2
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PSDPaoxn 0xE3
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDPSxax 0xE4
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PDSPaoxn 0xE5
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDPSanax 0xE6
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SPxPDxan 0xE7
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SSPxDSxax 0xE8
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DSPDSanaxxn 0xE9
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPSao 0xEA
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPSxno 0xEB
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDPao 0xEC
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDPxno 0xED
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DSo 0xEE
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_SDPnoo 0xEF
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_P 0xF0
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PDSono 0xF1
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PDSnao 0xF2
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PSno 0xF3
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PSDnao 0xF4
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PDno 0xF5
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PDSxo 0xF6
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PDSano 0xF7
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PDSao 0xF8
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PDSxno 0xF9
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPo 0xFA
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPSnoo 0xFB
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PSo 0xFC
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_PSDnoo 0xFD
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_DPSoo 0xFE
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define ROP_1 0xFF
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define NO_SRC_ROP(rop) \
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync ((rop == GXnoop) || (rop == GXset) || (rop == GXclear) || (rop == GXinvert))
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT int XAAHelpSolidROP(ScrnInfoPtr pScrn, int *fg, int pm, int *rop);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT int XAAHelpPatternROP(ScrnInfoPtr pScrn, int *fg, int *bg, int pm, int *rop);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync/* XXX These four should be static, but it breaks the 6.7.0 ABI. */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT int XAACopyROP[16];
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT int XAACopyROP_PM[16];
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT int XAAPatternROP[16];
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT int XAAPatternROP_PM[16];
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT int XAAGetCopyROP(int i);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT int XAAGetCopyROP_PM(int i);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT int XAAGetPatternROP(int i);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT int XAAGetPatternROP_PM(int i);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#endif /* _XAAROP_H */