Lines Matching full:program
27 * NVIDIA vertex program parser.
48 #include "program.h"
54 * program attributes.
92 if (parseState->ctx->Program.ErrorString[0] == 0) {
349 * Parse absolute program parameter register "c[##]"
366 /* a numbered program parameter register */
369 RETURN_ERROR1("Bad program parameter number");
398 /* a numbered program parameter register */
403 RETURN_ERROR1("Bad program parameter number");
578 /* absolute program parameter register */
802 RETURN_ERROR1("ABS illegal for vertex program 1.0");
832 RETURN_ERROR1("DPH illegal for vertex program 1.0");
834 RETURN_ERROR1("SUB illegal for vertex program 1.0");
862 /* make sure we don't reference more than one program parameter register */
866 RETURN_ERROR1("Can't reference two program parameter registers");
917 /* make sure we don't reference more than one program parameter register */
927 RETURN_ERROR1("Can only reference one program register");
951 RETURN_ERROR1("RCC illegal for vertex program 1.0");
1022 * the vertex program developer.
1114 struct prog_instruction program[])
1116 (void) program;
1134 struct prog_instruction program[])
1137 struct prog_instruction *inst = program + parseState->numInst;
1259 RETURN_ERROR1("Program too long");
1280 * Parse/compile the 'str' returning the compiled 'program'.
1281 * ctx->Program.ErrorPos will be -1 if successful. Otherwise, ErrorPos
1287 struct gl_vertex_program *program)
1295 /* Make a null-terminated copy of the program string */
1318 /* check the program header */
1337 ctx->Program.ErrorPos = 0;
1383 /* install the program */
1384 program->Base.Target = target;
1385 if (program->Base.String) {
1386 free(program->Base.String);
1388 program->Base.String = programString;
1389 program->Base.Format = GL_PROGRAM_FORMAT_ASCII_ARB;
1390 if (program->Base.Instructions) {
1391 free(program->Base.Instructions);
1393 program->Base.Instructions = newInst;
1394 program->Base.InputsRead = parseState.inputsRead;
1396 program->Base.InputsRead |= VERT_BIT_POS;
1397 program->Base.NumInstructions = parseState.numInst;
1398 program->Base.OutputsWritten = parseState.outputsWritten;
1399 program->IsPositionInvariant = parseState.isPositionInvariant;
1400 program->IsNVProgram = GL_TRUE;
1404 _mesa_fprint_program_opt(stdout, &program->Base, PROG_PRINT_NV, 0);
1408 if (program->Base.Parameters)
1409 _mesa_free_parameter_list(program->Base.Parameters);
1411 program->Base.Parameters = _mesa_new_parameter_list ();
1412 program->Base.NumParameters = 0;
1414 program->Base.IndirectRegisterFiles = parseState.indirectRegisterFiles;
1424 index = _mesa_add_state_reference(program->Base.Parameters,
1429 program->Base.NumParameters = program->Base.Parameters->NumParameters;
1431 _mesa_setup_nv_temporary_count(&program->Base);
1432 _mesa_emit_nv_temp_initialization(ctx, &program->Base);
1441 _mesa_set_program_error(ctx, ctx->Program.ErrorPos, NULL);