aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/extras/Mesa/src/mesa/shader/arbfragparse.c
diff options
context:
space:
mode:
Diffstat (limited to 'nx-X11/extras/Mesa/src/mesa/shader/arbfragparse.c')
-rw-r--r--nx-X11/extras/Mesa/src/mesa/shader/arbfragparse.c229
1 files changed, 0 insertions, 229 deletions
diff --git a/nx-X11/extras/Mesa/src/mesa/shader/arbfragparse.c b/nx-X11/extras/Mesa/src/mesa/shader/arbfragparse.c
deleted file mode 100644
index 237c348ba..000000000
--- a/nx-X11/extras/Mesa/src/mesa/shader/arbfragparse.c
+++ /dev/null
@@ -1,229 +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_FP 0
-
-/**
- * \file arbfragparse.c
- * ARB_fragment_program parser.
- * \author Karl Rasche
- */
-
-#include "glheader.h"
-#include "context.h"
-#include "imports.h"
-#include "macros.h"
-#include "mtypes.h"
-#include "program.h"
-#include "arbprogparse.h"
-#include "arbfragparse.h"
-
-void
-_mesa_debug_fp_inst(GLint num, struct fp_instruction *fp)
-{
- GLint a;
-
- static const char *opcode_string[] = {
- "ABS", /* ARB_f_p only */
- "ADD",
- "CMP", /* ARB_f_p only */
- "COS",
- "DDX", /* NV_f_p only */
- "DDY", /* NV_f_p only */
- "DP3",
- "DP4",
- "DPH", /* ARB_f_p only */
- "DST",
- "END", /* private opcode */
- "EX2",
- "FLR",
- "FRC",
- "KIL", /* ARB_f_p only */
- "KIL_NV", /* NV_f_p only */
- "LG2",
- "LIT",
- "LRP",
- "MAD",
- "MAX",
- "MIN",
- "MOV",
- "MUL",
- "PK2H", /* NV_f_p only */
- "PK2US", /* NV_f_p only */
- "PK4B", /* NV_f_p only */
- "PK4UB", /* NV_f_p only */
- "POW",
- "PRINT", /* Mesa only */
- "RCP",
- "RFL", /* NV_f_p only */
- "RSQ",
- "SCS", /* ARB_f_p only */
- "SEQ", /* NV_f_p only */
- "SFL", /* NV_f_p only */
- "SGE", /* NV_f_p only */
- "SGT", /* NV_f_p only */
- "SIN",
- "SLE", /* NV_f_p only */
- "SLT",
- "SNE", /* NV_f_p only */
- "STR", /* NV_f_p only */
- "SUB",
- "SWZ", /* ARB_f_p only */
- "TEX",
- "TXB", /* ARB_f_p only */
- "TXD", /* NV_f_p only */
- "TXP", /* ARB_f_p only */
- "TXP_NV", /* NV_f_p only */
- "UP2H", /* NV_f_p only */
- "UP2US", /* NV_f_p only */
- "UP4B", /* NV_f_p only */
- "UP4UB", /* NV_f_p only */
- "X2D", /* NV_f_p only - 2d mat mul */
- "XPD", /* ARB_f_p only - cross product */
- };
-
- 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[fp[a].Opcode]);
-
- if (fp[a].Saturate)
- _mesa_printf("_SAT");
-
- if (fp[a].DstReg.File != 0xf) {
- if (fp[a].DstReg.WriteMask != 0xf ||
- fp[a].SrcReg[0].NegateBase)
- _mesa_printf(" %s[%d].%s%s%s%s ", file_string[fp[a].DstReg.File], fp[a].DstReg.Index,
- GET_BIT(fp[a].DstReg.WriteMask, 0) ? "x" : "",
- GET_BIT(fp[a].DstReg.WriteMask, 1) ? "y" : "",
- GET_BIT(fp[a].DstReg.WriteMask, 2) ? "z" : "",
- GET_BIT(fp[a].DstReg.WriteMask, 3) ? "w" : "");
- else
- _mesa_printf(" %s[%d] ", file_string[fp[a].DstReg.File], fp[a].DstReg.Index);
- }
-
- if (fp[a].SrcReg[0].File != 0xf) {
- if (fp[a].SrcReg[0].Swizzle != SWIZZLE_NOOP ||
- fp[a].SrcReg[0].NegateBase)
- _mesa_printf("%s[%d].%s%c%c%c%c ", file_string[fp[a].SrcReg[0].File], fp[a].SrcReg[0].Index,
- fp[a].SrcReg[0].NegateBase ? "-" : "",
- swz[GET_SWZ(fp[a].SrcReg[0].Swizzle, 0)],
- swz[GET_SWZ(fp[a].SrcReg[0].Swizzle, 1)],
- swz[GET_SWZ(fp[a].SrcReg[0].Swizzle, 2)],
- swz[GET_SWZ(fp[a].SrcReg[0].Swizzle, 3)]);
- else
- _mesa_printf("%s[%d] ", file_string[fp[a].SrcReg[0].File], fp[a].SrcReg[0].Index);
- }
-
- if (fp[a].SrcReg[1].File != 0xf) {
- if (fp[a].SrcReg[1].Swizzle != SWIZZLE_NOOP ||
- fp[a].SrcReg[1].NegateBase)
- _mesa_printf("%s[%d].%s%c%c%c%c ", file_string[fp[a].SrcReg[1].File], fp[a].SrcReg[1].Index,
- fp[a].SrcReg[1].NegateBase ? "-" : "",
- swz[GET_SWZ(fp[a].SrcReg[1].Swizzle, 0)],
- swz[GET_SWZ(fp[a].SrcReg[1].Swizzle, 1)],
- swz[GET_SWZ(fp[a].SrcReg[1].Swizzle, 2)],
- swz[GET_SWZ(fp[a].SrcReg[1].Swizzle, 3)]);
- else
- _mesa_printf("%s[%d] ", file_string[fp[a].SrcReg[1].File], fp[a].SrcReg[1].Index);
- }
-
- if (fp[a].SrcReg[2].File != 0xf) {
- if (fp[a].SrcReg[2].Swizzle != SWIZZLE_NOOP ||
- fp[a].SrcReg[2].NegateBase)
- _mesa_printf("%s[%d].%s%c%c%c%c ", file_string[fp[a].SrcReg[2].File], fp[a].SrcReg[2].Index,
- fp[a].SrcReg[1].NegateBase ? "-" : "",
- swz[GET_SWZ(fp[a].SrcReg[2].Swizzle, 0)],
- swz[GET_SWZ(fp[a].SrcReg[2].Swizzle, 1)],
- swz[GET_SWZ(fp[a].SrcReg[2].Swizzle, 2)],
- swz[GET_SWZ(fp[a].SrcReg[2].Swizzle, 3)]);
- else
- _mesa_printf("%s[%d] ", file_string[fp[a].SrcReg[2].File], fp[a].SrcReg[2].Index);
- }
-
- _mesa_printf("\n");
- }
-}
-
-
-void
-_mesa_parse_arb_fragment_program(GLcontext * ctx, GLenum target,
- const GLubyte * str, GLsizei len,
- struct fragment_program *program)
-{
- GLuint i;
- struct arb_program ap;
- (void) target;
-
- /* set the program target before parsing */
- ap.Base.Target = GL_FRAGMENT_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
- * fragment_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->NumAluInstructions = ap.NumAluInstructions;
- program->NumTexInstructions = ap.NumTexInstructions;
- program->NumTexIndirections = ap.NumTexIndirections;
-
- program->InputsRead = ap.InputsRead;
- program->OutputsWritten = ap.OutputsWritten;
- for (i = 0; i < MAX_TEXTURE_IMAGE_UNITS; i++)
- program->TexturesUsed[i] = ap.TexturesUsed[i];
-
- if (program->Parameters) {
- /* free previous program's parameters */
- _mesa_free_parameter_list(program->Parameters);
- }
- program->Parameters = ap.Parameters;
- program->FogOption = ap.FogOption;
-
-#if DEBUG_FP
- _mesa_debug_fp_inst(ap.Base.NumInstructions, ap.FPInstructions);
-#endif
-
- program->Instructions = ap.FPInstructions;
-}