mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
81 lines
2.5 KiB
81 lines
2.5 KiB
/*
|
|
** Copyright 1995-2095, 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.
|
|
*/
|
|
|
|
extern const GLubyte __glsCharType[256];
|
|
|
|
#define __GLS_CHAR_GRAPHIC_BIT 0x01
|
|
#define __GLS_CHAR_SPACE_BIT 0x02
|
|
#define __GLS_CHAR_TOKEN_BIT 0x04
|
|
|
|
#define __GLS_CHAR_IS_GRAPHIC(inChar) \
|
|
(__glsCharType[inChar] & __GLS_CHAR_GRAPHIC_BIT)
|
|
#define __GLS_CHAR_IS_SPACE(inChar) \
|
|
(__glsCharType[inChar] & __GLS_CHAR_SPACE_BIT)
|
|
#define __GLS_CHAR_IS_TOKEN(inChar) \
|
|
(__glsCharType[inChar] & __GLS_CHAR_TOKEN_BIT)
|
|
|
|
#if __GLS_MSB_FIRST
|
|
#define __GLS_BINARY_SWAP0 GLS_BINARY_MSB_FIRST
|
|
#define __GLS_BINARY_SWAP1 GLS_BINARY_LSB_FIRST
|
|
#define __GLS_COUNT_SMALL(inWord) (inWord & 0x0000ffff)
|
|
#define __GLS_OP_SMALL(inWord) (inWord >> 16)
|
|
#else /* !__GLS_MSB_FIRST */
|
|
#define __GLS_BINARY_SWAP0 GLS_BINARY_LSB_FIRST
|
|
#define __GLS_BINARY_SWAP1 GLS_BINARY_MSB_FIRST
|
|
#define __GLS_COUNT_SMALL(inWord) (inWord >> 16)
|
|
#define __GLS_OP_SMALL(inWord) (inWord & 0x0000ffff)
|
|
#endif /* __GLS_MSB_FIRST */
|
|
|
|
#define __GLS_COMMAND_JUMP(inPC) ((__GLSbinCommand_jump *)inPC)
|
|
#define __GLS_HEAD_LARGE(inPC) ((__GLSbinCommandHead_large *)inPC)
|
|
#define __GLS_JUMP_ALLOC (sizeof(__GLSbinCommand_jump) + 4)
|
|
|
|
typedef struct {
|
|
GLushort opSmall;
|
|
GLushort countSmall;
|
|
} __GLSbinCommandHead_small;
|
|
|
|
typedef struct {
|
|
GLushort opSmall;
|
|
GLushort countSmall;
|
|
GLuint opLarge;
|
|
GLuint countLarge;
|
|
} __GLSbinCommandHead_large;
|
|
|
|
typedef struct {
|
|
GLint major;
|
|
GLint minor;
|
|
} __GLSversion;
|
|
|
|
typedef struct {
|
|
__GLSbinCommandHead_large head;
|
|
__GLSversion version;
|
|
} __GLSbinCommand_BeginGLS;
|
|
|
|
extern GLSenum __glsBinCommand_BeginGLS_getType(
|
|
__GLSbinCommand_BeginGLS *inCommand, __GLSversion *outVersion
|
|
);
|
|
|
|
typedef struct {
|
|
__GLSbinCommandHead_large head;
|
|
GLuint pad;
|
|
GLubyte *dest;
|
|
} __GLSbinCommand_jump;
|
|
|
|
typedef struct {
|
|
__GLSbinCommandHead_small head;
|
|
} __GLSbinCommand_pad;
|