1/*
2 * Copyright 1999, 2000 ATI Technologies Inc., Markham, Ontario,
3 *                      Precision Insight, Inc., Cedar Park, Texas, and
4 *                      VA Linux Systems Inc., Fremont, California.
5 *
6 * All Rights Reserved.
7 *
8 * Permission is hereby granted, free of charge, to any person obtaining
9 * a copy of this software and associated documentation files (the
10 * "Software"), to deal in the Software without restriction, including
11 * without limitation on the rights to use, copy, modify, merge,
12 * publish, distribute, sublicense, and/or sell copies of the Software,
13 * and to permit persons to whom the Software is furnished to do so,
14 * subject to the following conditions:
15 *
16 * The above copyright notice and this permission notice (including the
17 * next paragraph) shall be included in all copies or substantial
18 * portions of the Software.
19 *
20 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
21 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
22 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
23 * NON-INFRINGEMENT.  IN NO EVENT SHALL ATI, PRECISION INSIGHT, VA LINUX
24 * SYSTEMS AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
25 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
26 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
27 * OTHER DEALINGS IN THE SOFTWARE.
28 */
29
30/*
31 * Authors:
32 *   Rickard E. Faith <faith@valinux.com>
33 *   Kevin E. Martin <martin@valinux.com>
34 *
35 */
36
37#ifndef _R128_ROP_H_
38#define _R128_ROP_H_
39
40#include "r128_reg.h"
41
42static struct {
43    int rop;
44    int pattern;
45} R128_ROP[] = {
46    { R128_ROP3_ZERO, R128_ROP3_ZERO }, /* GXclear        */
47    { R128_ROP3_DSa,  R128_ROP3_DPa  }, /* Gxand          */
48    { R128_ROP3_SDna, R128_ROP3_PDna }, /* GXandReverse   */
49    { R128_ROP3_S,    R128_ROP3_P    }, /* GXcopy         */
50    { R128_ROP3_DSna, R128_ROP3_DPna }, /* GXandInverted  */
51    { R128_ROP3_D,    R128_ROP3_D    }, /* GXnoop         */
52    { R128_ROP3_DSx,  R128_ROP3_DPx  }, /* GXxor          */
53    { R128_ROP3_DSo,  R128_ROP3_DPo  }, /* GXor           */
54    { R128_ROP3_DSon, R128_ROP3_DPon }, /* GXnor          */
55    { R128_ROP3_DSxn, R128_ROP3_PDxn }, /* GXequiv        */
56    { R128_ROP3_Dn,   R128_ROP3_Dn   }, /* GXinvert       */
57    { R128_ROP3_SDno, R128_ROP3_PDno }, /* GXorReverse    */
58    { R128_ROP3_Sn,   R128_ROP3_Pn   }, /* GXcopyInverted */
59    { R128_ROP3_DSno, R128_ROP3_DPno }, /* GXorInverted   */
60    { R128_ROP3_DSan, R128_ROP3_DPan }, /* GXnand         */
61    { R128_ROP3_ONE,  R128_ROP3_ONE  }  /* GXset          */
62};
63#endif
64
65