From 8c41a14c5ef0b8d2b0f1a1cd094f5abc41fa48f8 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Sat, 19 Nov 2005 15:36:28 +0000 Subject: Remove the _mesa_parse_arb_vertex/fragment_program() functions into arbprogparse.c and remove arbvertparse.[ch] and arbfragparse.[ch]. Clean up quite a bit of the arb parsing code. Rewrite parser extension code to avoid a mess of string operations every time the parser was used. --- src/mesa/shader/arbvertparse.c | 96 ------------------------------------------ 1 file changed, 96 deletions(-) delete mode 100644 src/mesa/shader/arbvertparse.c (limited to 'src/mesa/shader/arbvertparse.c') diff --git a/src/mesa/shader/arbvertparse.c b/src/mesa/shader/arbvertparse.c deleted file mode 100644 index 253f2937ed..0000000000 --- a/src/mesa/shader/arbvertparse.c +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Mesa 3-D graphics library - * Version: 6.5 - * - * Copyright (C) 1999-2005 Brian Paul All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#define DEBUG_VP 0 - -/** - * \file arbvertparse.c - * ARB_vertex_program parser. - * \author Karl Rasche - */ - -#include "glheader.h" -#include "imports.h" -#include "program.h" -#include "arbprogparse.h" -#include "arbvertparse.h" - - -/** - * Parse the vertex program string. If success, update the given - * vertex_program object with the new program. Else, leave the vertex_program - * object unchanged. - */ -void -_mesa_parse_arb_vertex_program(GLcontext * ctx, GLenum target, - const GLubyte * str, GLsizei len, - struct vertex_program *program) -{ - struct arb_program ap; - (void) target; - struct prog_instruction *newInstructions; - - /* set the program target before parsing */ - ap.Base.Target = GL_VERTEX_PROGRAM_ARB; - - if (!_mesa_parse_arb_program(ctx, str, len, &ap)) { - /* Error in the program. Just return. */ - return; - } - - /* Copy the relevant contents of the arb_program struct into the - * vertex_program struct. - */ - /* copy instruction buffer */ - newInstructions = (struct prog_instruction *) - _mesa_malloc(ap.Base.NumInstructions * sizeof(struct prog_instruction)); - if (!newInstructions) { - _mesa_error(ctx, GL_OUT_OF_MEMORY, "glProgramStringARB"); - return; - } - _mesa_memcpy(newInstructions, ap.VPInstructions, - ap.Base.NumInstructions * sizeof(struct prog_instruction)); - if (program->Base.Instructions) - _mesa_free(program->Base.Instructions); - program->Base.Instructions = newInstructions; - program->Base.String = ap.Base.String; - program->Base.NumInstructions = ap.Base.NumInstructions; - program->Base.NumTemporaries = ap.Base.NumTemporaries; - program->Base.NumParameters = ap.Base.NumParameters; - program->Base.NumAttributes = ap.Base.NumAttributes; - program->Base.NumAddressRegs = ap.Base.NumAddressRegs; - program->IsPositionInvariant = ap.HintPositionInvariant; - program->Base.InputsRead = ap.Base.InputsRead; - program->Base.OutputsWritten = ap.Base.OutputsWritten; - - if (program->Base.Parameters) { - /* free previous program's parameters */ - _mesa_free_parameter_list(program->Base.Parameters); - } - program->Base.Parameters = ap.Base.Parameters; - -#if DEBUG_VP - _mesa_print_program(&program->Base); -#endif -} -- cgit v1.2.3