spin.h 2.81 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:	spin.h
 *
 */

#define SPIN_READY              1

#define	PHYSICAL_SEGMENT	0  /* maps to physical address 0 */
#define	STATIC_SEGMENT		1
#define	DYNAMIC_SEGMENT		2
#define	TEXTURE_SEGMENT		3

#define	MAX_STATIC_GFX_SIZE	512

#define	SCREEN_HT	240
#define	SCREEN_WD	320

#define	STACKSIZE	0x2000	    /* in bytes */

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

/*
 * Layout of our dynamic segment
 */
typedef struct {
	Mtx	projection;
	Mtx	modeling;
	Mtx	eye;
	Mtx	viewing;
 	Mtx	view;
	Gfx	glist[1024];
} Dynamic;

extern long long int renderModeWord;

extern Dynamic	dynamic;
extern unsigned short	zbuffer[];
extern Gfx	setup_rdpstate[];
extern Gfx	setup_rspstate[];
extern Gfx	clear_zbuffer[];
extern Gfx 	regression_viewport[];

extern Gfx	*glistp;	/* global for test case procs */

extern	void BuildDisplayList(Dynamic *, int, int, float, int, int);

extern unsigned int cfb_16_a[];
extern unsigned int cfb_16_b[];

/*  
 *  Need to make these addresses available to the code segment
 */
extern Gfx	*modelList[];
extern Gfx 	square_dl[];
extern Gfx 	square1_dl[];
extern Gfx 	square2_dl[];
extern Gfx      xluramp_q_dl[];
extern Gfx 	box_dl[];
extern Gfx 	rect_box_dl[];
extern Gfx 	cone_dl[];
extern Gfx 	icosa_dl[];
extern Gfx	torus_dl[];
extern Gfx	torii_dl[];
extern Gfx 	ground_dl[];
extern Gfx 	u64_dl[];
extern Gfx 	cross_dl[];
extern Gfx 	sphere_dl[];
extern Gfx 	cylinder_dl[];
extern Gfx 	frustrum_dl[];
extern Gfx 	bumble_dl[];
extern Gfx 	pipe_dl[];
extern Gfx 	twist_dl[];
extern Gfx 	twist1_dl[];
extern Gfx 	sector_dl[];
extern Gfx 	frac_island_dl[];
extern Gfx 	triangle_dl[];
extern Gfx 	runway_dl[];
extern Gfx 	hexagonOpaInter_dl[];
extern Gfx 	hexagonTransInter_dl[];
extern Gfx 	box1Opa_dl[];
extern Gfx 	box1Trans_dl[];
extern Gfx 	big_tex_dl[];
extern Gfx 	bigger_tex_dl[];
extern Gfx 	opaDecal_dl[];
extern Gfx 	transDecal_dl[];
extern Gfx 	opaHexDecal_dl[];
extern Gfx	gorge_dl[];
extern Gfx	airport_dl[];
extern Gfx	tex_fill_rect_dl[];

#endif	/* _LANGUAGE_C */