aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/extras/Mesa/src/mesa/shader/arbvertparse.c
diff options
context:
space:
mode:
Diffstat (limited to 'nx-X11/extras/Mesa/src/mesa/shader/arbvertparse.c')
-rw-r--r--nx-X11/extras/Mesa/src/mesa/shader/arbvertparse.c207
1 files changed, 0 insertions, 207 deletions
diff --git a/nx-X11/extras/Mesa/src/mesa/shader/arbvertparse.c b/nx-X11/extras/Mesa/src/mesa/shader/arbvertparse.c
deleted file mode 100644
index 5d1ad3de2..000000000
--- a/nx-X11/extras/Mesa/src/mesa/shader/arbvertparse.c
+++ /dev/null
@@ -1,207 +0,0 @@
-/*
- * Mesa 3-D graphics library
- * Version: 6.2
- *
- * Copyright (C) 1999-2004 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 "context.h"
-#include "arbvertparse.h"
-#include "hash.h"
-#include "imports.h"
-#include "macros.h"
-#include "mtypes.h"
-#include "program.h"
-#include "nvprogram.h"
-#include "nvvertparse.h"
-#include "nvvertprog.h"
-
-#include "arbprogparse.h"
-
-
-/**
- * XXX this is probably redundant. We've already got code like this
- * in the nvvertparse.c file. Combine/clean-up someday.
- */
-void _mesa_debug_vp_inst(GLint num, struct vp_instruction *vp)
-{
- GLint a;
- static const char *opcode_string[] = {
- "ABS",
- "ADD",
- "ARL",
- "DP3",
- "DP4",
- "DPH",
- "DST",
- "END", /* Placeholder */
- "EX2", /* ARB only */
- "EXP",
- "FLR", /* ARB */
- "FRC", /* ARB */
- "LG2", /* ARB only */
- "LIT",
- "LOG",
- "MAD",
- "MAX",
- "MIN",
- "MOV",
- "MUL",
- "POW", /* ARB only */
- "PRINT", /* Mesa only */
- "RCC",
- "RCP",
- "RSQ",
- "SGE",
- "SLT",
- "SUB",
- "SWZ", /* ARB only */
- "XPD" /* ARB only */
- };
-
- static const char *file_string[] = {
- "TEMP",
- "INPUT",
- "OUTPUT",
- "LOCAL",
- "ENV",
- "NAMED",
- "STATE",
- "WRITE_ONLY",
- "ADDR"
- };
-
- static const char swz[] = "xyzw01??";
-
- for (a=0; a<num; a++) {
- _mesa_printf("%s", opcode_string[vp[a].Opcode]);
-
- if (vp[a].DstReg.File != 0xf) {
- if (vp[a].DstReg.WriteMask != 0xf)
- _mesa_printf(" %s[%d].%s%s%s%s ", file_string[vp[a].DstReg.File], vp[a].DstReg.Index,
- GET_BIT(vp[a].DstReg.WriteMask, 0) ? "x" : "",
- GET_BIT(vp[a].DstReg.WriteMask, 1) ? "y" : "",
- GET_BIT(vp[a].DstReg.WriteMask, 2) ? "z" : "",
- GET_BIT(vp[a].DstReg.WriteMask, 3) ? "w" : "");
- else
- _mesa_printf(" %s[%d] ", file_string[vp[a].DstReg.File], vp[a].DstReg.Index);
- }
-
- if (vp[a].SrcReg[0].File != 0xf) {
- if (vp[a].SrcReg[0].Swizzle != SWIZZLE_NOOP ||
- vp[a].SrcReg[0].Negate)
- _mesa_printf("%s[%d].%s%c%c%c%c ", file_string[vp[a].SrcReg[0].File], vp[a].SrcReg[0].Index,
- vp[a].SrcReg[0].Negate ? "-" : "",
- swz[GET_SWZ(vp[a].SrcReg[0].Swizzle, 0)],
- swz[GET_SWZ(vp[a].SrcReg[0].Swizzle, 1)],
- swz[GET_SWZ(vp[a].SrcReg[0].Swizzle, 2)],
- swz[GET_SWZ(vp[a].SrcReg[0].Swizzle, 3)]);
- else
- _mesa_printf("%s[%d] ", file_string[vp[a].SrcReg[0].File], vp[a].SrcReg[0].Index);
- }
-
- if (vp[a].SrcReg[1].File != 0xf) {
- if (vp[a].SrcReg[1].Swizzle != SWIZZLE_NOOP ||
- vp[a].SrcReg[1].Negate)
- _mesa_printf("%s[%d].%s%c%c%c%c ", file_string[vp[a].SrcReg[1].File], vp[a].SrcReg[1].Index,
- vp[a].SrcReg[1].Negate ? "-" : "",
- swz[GET_SWZ(vp[a].SrcReg[1].Swizzle, 0)],
- swz[GET_SWZ(vp[a].SrcReg[1].Swizzle, 1)],
- swz[GET_SWZ(vp[a].SrcReg[1].Swizzle, 2)],
- swz[GET_SWZ(vp[a].SrcReg[1].Swizzle, 3)]);
- else
- _mesa_printf("%s[%d] ", file_string[vp[a].SrcReg[1].File], vp[a].SrcReg[1].Index);
- }
-
- if (vp[a].SrcReg[2].File != 0xf) {
- if (vp[a].SrcReg[2].Swizzle != SWIZZLE_NOOP ||
- vp[a].SrcReg[2].Negate)
- _mesa_printf("%s[%d].%s%c%c%c%c ", file_string[vp[a].SrcReg[2].File], vp[a].SrcReg[2].Index,
- vp[a].SrcReg[2].Negate ? "-" : "",
- swz[GET_SWZ(vp[a].SrcReg[2].Swizzle, 0)],
- swz[GET_SWZ(vp[a].SrcReg[2].Swizzle, 1)],
- swz[GET_SWZ(vp[a].SrcReg[2].Swizzle, 2)],
- swz[GET_SWZ(vp[a].SrcReg[2].Swizzle, 3)]);
- else
- _mesa_printf("%s[%d] ", file_string[vp[a].SrcReg[2].File], vp[a].SrcReg[2].Index);
- }
-
- _mesa_printf("\n");
- }
-}
-
-
-/**
- * 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;
-
- /* 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.
- */
- 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->InputsRead = ap.InputsRead;
- program->OutputsWritten = ap.OutputsWritten;
-
- if (program->Parameters) {
- /* free previous program's parameters */
- _mesa_free_parameter_list(program->Parameters);
- }
- program->Parameters = ap.Parameters;
-
- program->Instructions = ap.VPInstructions;
-
-#if DEBUG_VP
- _mesa_debug_vp_inst(ap.Base.NumInstructions, ap.VPInstructions);
-#endif
-
-}