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