remove final imports.h and imports.c bits
[mesa.git] / src / mesa / program / arbprogparse.c
index 53f661f64f4296467c187358ba500d782c2f8aff..42f84944a1efe23b8cba865a18ba2034c01a7794 100644 (file)
@@ -52,7 +52,7 @@ having three separate program parameter arrays.
 
 
 #include "main/glheader.h"
-#include "main/imports.h"
+
 #include "main/context.h"
 #include "main/mtypes.h"
 #include "arbprogparse.h"
@@ -78,6 +78,7 @@ _mesa_parse_arb_fragment_program(struct gl_context* ctx, GLenum target,
    memset(&prog, 0, sizeof(prog));
    memset(&state, 0, sizeof(state));
    state.prog = &prog;
+   state.mem_ctx = program;
 
    if (!_mesa_parse_arb_program(ctx, target, (const GLubyte*) str, len,
                                &state)) {
@@ -85,44 +86,44 @@ _mesa_parse_arb_fragment_program(struct gl_context* ctx, GLenum target,
       return;
    }
 
-   free(program->String);
+   ralloc_free(program->String);
 
    /* Copy the relevant contents of the arb_program struct into the
     * fragment_program struct.
     */
    program->String          = prog.String;
-   program->NumInstructions = prog.NumInstructions;
-   program->NumTemporaries  = prog.NumTemporaries;
-   program->NumParameters   = prog.NumParameters;
-   program->NumAttributes   = prog.NumAttributes;
-   program->NumAddressRegs  = prog.NumAddressRegs;
-   program->NumNativeInstructions = prog.NumNativeInstructions;
-   program->NumNativeTemporaries = prog.NumNativeTemporaries;
-   program->NumNativeParameters = prog.NumNativeParameters;
-   program->NumNativeAttributes = prog.NumNativeAttributes;
-   program->NumNativeAddressRegs = prog.NumNativeAddressRegs;
-   program->NumAluInstructions   = prog.NumAluInstructions;
-   program->NumTexInstructions   = prog.NumTexInstructions;
-   program->NumTexIndirections   = prog.NumTexIndirections;
-   program->NumNativeAluInstructions = prog.NumAluInstructions;
-   program->NumNativeTexInstructions = prog.NumTexInstructions;
-   program->NumNativeTexIndirections = prog.NumTexIndirections;
+   program->arb.NumInstructions = prog.arb.NumInstructions;
+   program->arb.NumTemporaries  = prog.arb.NumTemporaries;
+   program->arb.NumParameters   = prog.arb.NumParameters;
+   program->arb.NumAttributes   = prog.arb.NumAttributes;
+   program->arb.NumAddressRegs  = prog.arb.NumAddressRegs;
+   program->arb.NumNativeInstructions = prog.arb.NumNativeInstructions;
+   program->arb.NumNativeTemporaries = prog.arb.NumNativeTemporaries;
+   program->arb.NumNativeParameters = prog.arb.NumNativeParameters;
+   program->arb.NumNativeAttributes = prog.arb.NumNativeAttributes;
+   program->arb.NumNativeAddressRegs = prog.arb.NumNativeAddressRegs;
+   program->arb.NumAluInstructions   = prog.arb.NumAluInstructions;
+   program->arb.NumTexInstructions   = prog.arb.NumTexInstructions;
+   program->arb.NumTexIndirections   = prog.arb.NumTexIndirections;
+   program->arb.NumNativeAluInstructions = prog.arb.NumAluInstructions;
+   program->arb.NumNativeTexInstructions = prog.arb.NumTexInstructions;
+   program->arb.NumNativeTexIndirections = prog.arb.NumTexIndirections;
    program->info.inputs_read      = prog.info.inputs_read;
-   program->OutputsWritten  = prog.OutputsWritten;
-   program->IndirectRegisterFiles = prog.IndirectRegisterFiles;
+   program->info.outputs_written = prog.info.outputs_written;
+   program->arb.IndirectRegisterFiles = prog.arb.IndirectRegisterFiles;
    for (i = 0; i < MAX_TEXTURE_IMAGE_UNITS; i++) {
       program->TexturesUsed[i] = prog.TexturesUsed[i];
       if (prog.TexturesUsed[i])
          program->SamplersUsed |= (1 << i);
    }
    program->ShadowSamplers = prog.ShadowSamplers;
-   program->OriginUpperLeft = state.option.OriginUpperLeft;
-   program->PixelCenterInteger = state.option.PixelCenterInteger;
+   program->info.fs.origin_upper_left = state.option.OriginUpperLeft;
+   program->info.fs.pixel_center_integer = state.option.PixelCenterInteger;
 
    program->info.fs.uses_discard = state.fragment.UsesKill;
 
-   free(program->Instructions);
-   program->Instructions = prog.Instructions;
+   ralloc_free(program->arb.Instructions);
+   program->arb.Instructions = prog.arb.Instructions;
 
    if (program->Parameters)
       _mesa_free_parameter_list(program->Parameters);
@@ -170,6 +171,7 @@ _mesa_parse_arb_vertex_program(struct gl_context *ctx, GLenum target,
    memset(&prog, 0, sizeof(prog));
    memset(&state, 0, sizeof(state));
    state.prog = &prog;
+   state.mem_ctx = program;
 
    if (!_mesa_parse_arb_program(ctx, target, (const GLubyte*) str, len,
                                &state)) {
@@ -177,33 +179,32 @@ _mesa_parse_arb_vertex_program(struct gl_context *ctx, GLenum target,
       return;
    }
 
-   if ((ctx->_Shader->Flags & GLSL_NO_OPT) == 0)
-      _mesa_optimize_program(ctx, &prog);
+   _mesa_optimize_program(&prog, program);
 
-   free(program->String);
+   ralloc_free(program->String);
 
-   /* Copy the relevant contents of the arb_program struct into the 
+   /* Copy the relevant contents of the arb_program struct into the
     * vertex_program struct.
     */
    program->String          = prog.String;
-   program->NumInstructions = prog.NumInstructions;
-   program->NumTemporaries  = prog.NumTemporaries;
-   program->NumParameters   = prog.NumParameters;
-   program->NumAttributes   = prog.NumAttributes;
-   program->NumAddressRegs  = prog.NumAddressRegs;
-   program->NumNativeInstructions = prog.NumNativeInstructions;
-   program->NumNativeTemporaries = prog.NumNativeTemporaries;
-   program->NumNativeParameters = prog.NumNativeParameters;
-   program->NumNativeAttributes = prog.NumNativeAttributes;
-   program->NumNativeAddressRegs = prog.NumNativeAddressRegs;
+   program->arb.NumInstructions = prog.arb.NumInstructions;
+   program->arb.NumTemporaries  = prog.arb.NumTemporaries;
+   program->arb.NumParameters   = prog.arb.NumParameters;
+   program->arb.NumAttributes   = prog.arb.NumAttributes;
+   program->arb.NumAddressRegs  = prog.arb.NumAddressRegs;
+   program->arb.NumNativeInstructions = prog.arb.NumNativeInstructions;
+   program->arb.NumNativeTemporaries = prog.arb.NumNativeTemporaries;
+   program->arb.NumNativeParameters = prog.arb.NumNativeParameters;
+   program->arb.NumNativeAttributes = prog.arb.NumNativeAttributes;
+   program->arb.NumNativeAddressRegs = prog.arb.NumNativeAddressRegs;
    program->info.inputs_read     = prog.info.inputs_read;
-   program->OutputsWritten = prog.OutputsWritten;
-   program->IndirectRegisterFiles = prog.IndirectRegisterFiles;
-   program->IsPositionInvariant = (state.option.PositionInvariant)
+   program->info.outputs_written = prog.info.outputs_written;
+   program->arb.IndirectRegisterFiles = prog.arb.IndirectRegisterFiles;
+   program->arb.IsPositionInvariant = (state.option.PositionInvariant)
       ? GL_TRUE : GL_FALSE;
 
-   free(program->Instructions);
-   program->Instructions = prog.Instructions;
+   ralloc_free(program->arb.Instructions);
+   program->arb.Instructions = prog.arb.Instructions;
 
    if (program->Parameters)
       _mesa_free_parameter_list(program->Parameters);