Data Structures |
| struct | instruction_pattern |
| struct | parse_state |
Defines |
| #define | INPUT_1V 1 |
| #define | INPUT_2V 2 |
| #define | INPUT_3V 3 |
| #define | INPUT_1S 4 |
| #define | INPUT_2S 5 |
| #define | INPUT_CC 6 |
| #define | INPUT_1V_T 7 /* one source vector, plus textureId */ |
| #define | INPUT_3V_T 8 /* one source vector, plus textureId */ |
| #define | INPUT_NONE 9 |
| #define | INPUT_1V_S 10 /* a string and a vector register */ |
| #define | OUTPUT_V 20 |
| #define | OUTPUT_S 21 |
| #define | OUTPUT_NONE 22 |
| #define | _R FLOAT32 /* float */ |
| #define | _H FLOAT16 /* half-float */ |
| #define | _X FIXED12 /* fixed */ |
| #define | _C 0x08 /* set cond codes */ |
| #define | _S 0x10 /* saturate, clamp result to [0,1] */ |
| #define | RETURN_ERROR |
| #define | RETURN_ERROR1(msg) |
| #define | RETURN_ERROR2(msg1, msg2) |
Functions |
| static void | record_error (struct parse_state *parseState, const char *msg, int lineNo) |
| static struct instruction_pattern | MatchInstruction (const GLubyte *token) |
| static GLboolean | IsLetter (GLubyte b) |
| static GLboolean | IsDigit (GLubyte b) |
| static GLboolean | IsWhitespace (GLubyte b) |
| static GLint | GetToken (struct parse_state *parseState, GLubyte *token) |
| static GLboolean | Parse_Token (struct parse_state *parseState, GLubyte *token) |
| static GLboolean | Peek_Token (struct parse_state *parseState, GLubyte *token) |
| static GLboolean | Parse_String (struct parse_state *parseState, const char *pattern) |
| static GLboolean | Parse_Identifier (struct parse_state *parseState, GLubyte *ident) |
| static GLboolean | Parse_ScalarConstant (struct parse_state *parseState, GLfloat *number) |
| static GLboolean | Parse_VectorConstant (struct parse_state *parseState, GLfloat *vec) |
| static GLuint | Parse_VectorOrScalarConstant (struct parse_state *parseState, GLfloat *vec) |
| static GLboolean | Parse_TextureImageId (struct parse_state *parseState, GLubyte *texUnit, GLubyte *texTargetBit) |
| static GLboolean | Parse_SwizzleSuffix (const GLubyte *token, GLuint swizzle[4]) |
| static GLboolean | Parse_CondCodeMask (struct parse_state *parseState, struct prog_dst_register *dstReg) |
| static GLboolean | Parse_TempReg (struct parse_state *parseState, GLint *tempRegNum) |
| static GLboolean | Parse_DummyReg (struct parse_state *parseState, GLint *regNum) |
| static GLboolean | Parse_ProgramParamReg (struct parse_state *parseState, GLint *regNum) |
| static GLboolean | Parse_FragReg (struct parse_state *parseState, GLint *tempRegNum) |
| static GLboolean | Parse_OutputReg (struct parse_state *parseState, GLint *outputRegNum) |
| static GLboolean | Parse_MaskedDstReg (struct parse_state *parseState, struct prog_dst_register *dstReg) |
| static GLboolean | Parse_VectorSrc (struct parse_state *parseState, struct prog_src_register *srcReg) |
| static GLboolean | Parse_ScalarSrcReg (struct parse_state *parseState, struct prog_src_register *srcReg) |
| static GLboolean | Parse_PrintInstruction (struct parse_state *parseState, struct prog_instruction *inst) |
| static GLboolean | Parse_InstructionSequence (struct parse_state *parseState, struct prog_instruction program[]) |
| void | _mesa_parse_nv_fragment_program (GLcontext *ctx, GLenum dstTarget, const GLubyte *str, GLsizei len, struct gl_fragment_program *program) |
| static void | PrintSrcReg (const struct gl_fragment_program *program, const struct prog_src_register *src) |
| static void | PrintTextureSrc (const struct prog_instruction *inst) |
| static void | PrintCondCode (const struct prog_dst_register *dst) |
| static void | PrintDstReg (const struct prog_dst_register *dst) |
| void | _mesa_print_nv_fragment_program (const struct gl_fragment_program *program) |
| const char * | _mesa_nv_fragment_input_register_name (GLuint i) |
| const char * | _mesa_nv_fragment_output_register_name (GLuint i) |
Variables |
| static struct instruction_pattern | Instructions [] |
| static const char * | InputRegisters [MAX_NV_FRAGMENT_PROGRAM_INPUTS+1] |
| static const char * | OutputRegisters [MAX_NV_FRAGMENT_PROGRAM_OUTPUTS+1] |
NVIDIA fragment program parser.
- Author:
- Brian Paul
Definition in file nvfragparse.c.