gfx.h 1.88 KB
/*====================================================================
 * gfx.h
 *
 * Synopsis:
 *
 * Graphics constants and structures.
 *
 *
 * Copyright 1993, Silicon Graphics, Inc.
 * All Rights Reserved.
 *
 * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics,
 * Inc.; the contents of this file may not be disclosed to third
 * parties, copied or duplicated in any form, in whole or in part,
 * without the prior written permission of Silicon Graphics, Inc.
 *
 * RESTRICTED RIGHTS LEGEND:
 * Use, duplication or disclosure by the Government is subject to
 * restrictions as set forth in subdivision (c)(1)(ii) of the Rights
 * in Technical Data and Computer Software clause at DFARS
 * 252.227-7013, and/or in similar or successor clauses in the FAR,
 * DOD or NASA FAR Supplement. Unpublished - rights reserved under the
 * Copyright Laws of the United States.
 *====================================================================*/


#ifndef __simplegfx__
#define __simplegfx__

#include "sched.h"

#define	SCREEN_HT	240
#define	SCREEN_WD	320


/*
 * Layout of our dynamic segment
 */
typedef struct {
	Mtx	projection;
	Mtx	viewing;
        Mtx     model1;
	Gfx	glist[2000];	/* buffer to hold display list */
} Dynamic;

typedef union {    

    struct {
        short   type;
    } gen;
    
    struct {
        short   type;
    } done;
    
    OSScMsg      app;
    
} GFXMsg;

typedef struct {
    OSScTask    task;
    Dynamic     dp;
    GFXMsg      msg;
    u16		*cfb;
} GFXInfo;


/* some static display lists: */
extern Gfx	rdpstateinit_dl[];
extern Gfx	setup_rdpstate[];
extern Gfx	setup_rspstate[];


/* frame buffer, zbuffer: */
extern unsigned short cfb_16_a[];
extern unsigned short cfb_16_b[];

/* yield buffer: */
extern u64	gfxYieldBuf[];

/* matrix stack buffer: */
extern u64          dram_stack[];

void createGfxTask(GFXInfo *i);
void initGFX(void); 
#endif /* __simplegfx__ */