app.h 2.47 KB

/**************************************************************************
 *                                                                        *
 *               Copyright (C) 1995, Silicon Graphics, Inc.               *
 *                                                                        *
 *  These coded instructions, statements, and computer programs  contain  *
 *  unpublished  proprietary  information of Silicon Graphics, Inc., and  *
 *  are protected by Federal copyright  law.  They  may not be disclosed  *
 *  to  third  parties  or copied or duplicated in any form, in whole or  *
 *  in part, without the prior written consent of Silicon Graphics, Inc.  *
 *                                                                        *
 *************************************************************************/

/*
 * File:	app.h
 * Create Date:	Mon Apr 17 11:45:47 PDT 1995
 *
 */

#define	STATIC_SEGMENT		1
#define	CFB_SEGMENT			2
#define	CZB_SEGMENT			3
#define	TEXTURE_SEGMENT		4
#define	DYNAMIC_SEGMENT		5

#define	SCREEN_HT	240
#define	SCREEN_WD	320

#define START_FRAME_BUFP		0x00100000
#define START_FRAME_BUFV		0x80100000
#define START_Z_BUFP			0x00180000
#define START_Z_BUFV			0x80180000

/* this stack size is in bytes, and is a lot larger
 * than this program needs.
 */
#define	STACKSIZE	0x2000

#define	GLIST_LEN	7000
/*
 * ifdef needed because this file is included by "spec"
 */
#ifdef _LANGUAGE_C

/*
 * Layout of dynamic data.
 *
 * This structure holds the things which change per frame. It is advantageous
 * to keep dynamic data together so that we may selectively write back dirty
 * data cache lines to DRAM prior to processing by the RCP.
 *
 */
typedef struct {
	Mtx	projection;
	Mtx	viewing;
    Mtx     identity;
    Mtx     move_x;
    Mtx     move_y;
	Gfx	glist[GLIST_LEN];
} Dynamic;

extern Dynamic	dynamic;

/* these are the static display lists */

extern Gfx 	rspinit_dl[];
extern Gfx 	rdpinit_dl[];
extern Gfx	clearcfb_dl[];
extern Gfx	clearczb_dl[];
extern Gfx 	shadetri_dl[];
extern Gfx 	textri_dl[];
extern Gfx  ci_load_4b[];
extern Gfx  ci_face[];
extern Gfx  ci_face_8b[];
extern Gfx  mandrill_dl[];
extern Gfx  mandrill_face_dl[];
extern Gfx  mandrill32_dl[];
extern Gfx  mandrill4_dl[];
extern Gfx  mandrill32_face_dl[];

/* CPU addresses for the color frame buffer */

extern u16	cfb[][SCREEN_WD*SCREEN_HT];
extern u16	czb[SCREEN_WD*SCREEN_HT];

/* RSP address for the color frame buffer */

extern u16	rsp_cfb[];
extern u16	rsp_czb[];

#endif	/* _LANGUAGE_C */