ps2sdk  1.1
A collection of Open Source libraries used for developing applications on Sony's PlayStation 2® (PS2).
Zbuffer.c
Go to the documentation of this file.
1 /*
2 # _____ ___ ____ ___ ____
3 # ____| | ____| | | |____|
4 # | ___| |____ ___| ____| | \ PS2DEV Open Source Project.
5 #-----------------------------------------------------------------------
6 # (c) 2009 Lion
7 # Licenced under Academic Free License version 2.0
8 # Review ps2sdk README & LICENSE files for further details.
9 */
10 
11 #include <errno.h>
12 #include <stdio.h>
13 #include <kernel.h>
14 #include <libgs.h>
15 
16 #include "internal.h"
17 
18 extern QWORD GsPrimWorkArea[];
19 
20 void GsSetDefaultZBufferEnv(GS_ZENV *zenv, u8 update_mask)
21 {
22  zenv->update_mask = update_mask;
23 }
24 
25 void GsSetDefaultZBufferEnvAddress(GS_ZENV *zenv, unsigned short vram_addr, unsigned char psm)
26 {
27  zenv->vram_addr=vram_addr;
28  zenv->psm=psm;
29 }
30 
32 {
33  QWORD *p;
35  gs_setGIF_TAG(((GS_GIF_TAG *)&p[0]), 1,1,0,0,GS_GIF_PACKED,1,gif_rd_ad);
36  gs_setR_ZBUF_1(((GS_R_ZBUF *)&p[1]), zenv->vram_addr, zenv->psm, zenv->update_mask);
37 
39  GsDmaWait();
40 }
41 
43 {
44  QWORD *p;
46  gs_setGIF_TAG(((GS_GIF_TAG *)&p[0]), 4,1,0,0,GS_GIF_PACKED,1,gif_rd_ad);
47  gs_setR_ZBUF_2(((GS_R_ZBUF *)&p[1]), zenv->vram_addr, zenv->psm, zenv->update_mask);
48 
50  GsDmaWait();
51 }
void GsPutZBufferEnv2(GS_ZENV *zenv)
Definition: Zbuffer.c:42
void GsSetDefaultZBufferEnvAddress(GS_ZENV *zenv, unsigned short vram_addr, unsigned char psm)
Definition: Zbuffer.c:25
QWORD GsPrimWorkArea[]
Definition: packets.c:18
void GsPutZBufferEnv1(GS_ZENV *zenv)
Definition: Zbuffer.c:31
void GsSetDefaultZBufferEnv(GS_ZENV *zenv, u8 update_mask)
Definition: Zbuffer.c:20
#define UNCACHED_SEG(x)
Definition: kernel.h:35
void GsDmaWait(void)
Definition: dma.c:148
void GsDmaSend(const void *addr, u32 qwords)
Definition: dma.c:88
#define gs_setGIF_TAG(p, _nloop, _eop, _pre, _prim, _flg, _nreg, _reg)
Definition: libgs.h:1870
#define gs_setR_ZBUF_1(p, _fb_addr, _psm, _update_mask)
Definition: libgs.h:1802
#define gif_rd_ad
Definition: libgs.h:326
@ GS_GIF_PACKED
Definition: libgs.h:181
#define gs_setR_ZBUF_2(p, _fb_addr, _psm, _update_mask)
Definition: libgs.h:1806
u8 update_mask
Definition: libgs.h:1936
u16 vram_addr
Definition: libgs.h:1934
u8 psm
Definition: libgs.h:1935
Definition: libgs.h:333
unsigned char u8
Definition: tamtypes.h:23