gfx.h 2.24 KB
/*====================================================================
 * gfx.h
 *
 * Synopsis:
 *
 * mostly pinched from rdpcov written by hsa.
 *
 * 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 __gfxh__
#define __gfxh__

#include "music.h"
#include "sched.h"

#define	SCREEN_HT	240
#define	SCREEN_WD	320

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

/*
 * Layout of our dynamic segment
 */
#define NUM_GFX_CMDS 0x1000

typedef struct {
	Mtx	projection;
	Mtx	modeling;
	Mtx	viewing;
        Mtx     identity;
        Mtx     model1;
        Mtx     model2;
        Mtx     model3;
        Mtx     model4;
	Gfx	glist[NUM_GFX_CMDS];
} 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;

extern Dynamic	dynamic;
extern unsigned short	zbuffer[];
extern Gfx	setup_rdpstate[];
extern Gfx	setup_rspstate[];
extern Gfx	model1_matrix[];
extern Gfx	model2_matrix[];
extern Gfx	model3_matrix[];
extern Gfx	triangle_matrix[];
extern Gfx	clear_zbuffer[];

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

extern unsigned short cfb_16_a[];
extern unsigned short cfb_16_b[];

extern Gfx 	logo_dl[];
extern Gfx 	bg33_dl[];
extern Gfx 	onetri_dl[];

extern u64	gfxYieldBuf[];

void    initGFX(void);
void    createGfxTask(GFXInfo *i);

#endif	/* _LANGUAGE_C */

#endif