1 /*---------------------------------------------------------------------------*
2   Project:  Dolphin GX library
3   File:	    GXCpu2Efb.h
4 
5   Copyright 1998- 2002 Nintendo. All rights reserved.
6 
7   These coded instructions, statements, and computer programs contain
8   proprietary information of Nintendo of America Inc. and/or Nintendo
9   Company Ltd., and are protected by Federal copyright law.  They may
10   not be disclosed to third parties or copied or duplicated in any form,
11   in whole or in part, without the prior written consent of Nintendo.
12 
13   $Log: GXCpu2Efb.h,v $
14   Revision 1.2  2006/02/04 11:56:46  hashida
15   (none)
16 
17   Revision 1.1.1.1  2005/12/29 06:53:28  hiratsu
18   Initial import.
19 
20   Revision 1.1.1.1  2005/05/12 02:41:07  yasuh-to
21   Ported from dolphin source tree.
22 
23 
24     4     2002/07/24 9:06 Hirose
25     Resolved version conflicts.
26 
27     3     2000/12/04 6:22p Hirose
28     updated prototypes for GXPeekZ/GXPokeZ.
29     added GXCompressZ/GXDecompressZ
30 
31     2     2000/06/08 3:59p Carl
32     Made GXPokeZMode similar to GXSetZMode.
33     Eliminated GXPokeZUpdate.
34 
35     1     1999/10/06 2:24a Yasu
36     Initial Version
37   $NoKeywords: $
38  *---------------------------------------------------------------------------*/
39 #ifndef __GXCPU2EFB_H__
40 #define __GXCPU2EFB_H__
41 
42 #ifdef __cplusplus
43 extern "C" {
44 #endif
45 
46 /*---------------------------------------------------------------------------*/
47 #include <revolution/types.h>
48 #include <revolution/gx/GXEnum.h>
49 
50 /*---------------------------------------------------------------------------*/
51 void GXPokeAlphaMode    ( GXCompare func, u8 threshold );
52 void GXPokeAlphaRead    ( GXAlphaReadMode mode );
53 void GXPokeAlphaUpdate  ( GXBool update_enable );
54 void GXPokeBlendMode    ( GXBlendMode type, GXBlendFactor src_factor,
55                           GXBlendFactor dst_factor, GXLogicOp op );
56 void GXPokeColorUpdate  ( GXBool update_enable );
57 void GXPokeDstAlpha     ( GXBool enable, u8 alpha );
58 void GXPokeDither       ( GXBool dither );
59 void GXPokeZMode        ( GXBool compare_enable, GXCompare func,
60                           GXBool update_enable );
61 
62 void GXPokeZ    ( u16 x, u16 y, u32 z );
63 void GXPeekZ    ( u16 x, u16 y, u32* z );
64 void GXPokeARGB ( u16 x, u16 y, u32 color );
65 void GXPeekARGB ( u16 x, u16 y, u32* color );
66 
67 u32  GXCompressZ16      ( u32 z24, GXZFmt16 zfmt );
68 u32  GXDecompressZ16    ( u32 z16, GXZFmt16 zfmt );
69 
70 /*---------------------------------------------------------------------------*/
71 #ifdef __cplusplus
72 }
73 #endif
74 
75 #endif // __GXCPU2EFB_H__
76