r300: Remove GLcontext requirement from radeon_program_pair
authorNicolai Hähnle <nhaehnle@gmail.com>
Thu, 16 Jul 2009 20:23:48 +0000 (22:23 +0200)
committerNicolai Hähnle <nhaehnle@gmail.com>
Mon, 27 Jul 2009 18:32:03 +0000 (20:32 +0200)
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
src/mesa/drivers/dri/r300/compiler/r300_fragprog_emit.c
src/mesa/drivers/dri/r300/compiler/r500_fragprog_emit.c
src/mesa/drivers/dri/r300/compiler/radeon_program_pair.c
src/mesa/drivers/dri/r300/compiler/radeon_program_pair.h

index 1aeba8f4984cac69db9397cbe6381c7e20b05a6d..d6784d1c22a1b241953a25e2d48e0fa6110d1efe 100644 (file)
@@ -334,7 +334,7 @@ GLboolean r300BuildFragmentProgramHwCode(struct r300_fragment_program_compiler *
        code->node[0].alu_end = -1;
        code->node[0].tex_end = -1;
 
-       if (!radeonPairProgram(compiler->ctx, compiler->program, &pair_handler, compiler))
+       if (!radeonPairProgram(compiler->program, &pair_handler, compiler))
                return GL_FALSE;
 
        if (!finish_node(compiler))
index b5f665b66c386fe6eb7c3ab73b611013734e866b..3d5ddbb981b3eba8fad9d308679d1af5167a4a61 100644 (file)
@@ -310,7 +310,7 @@ GLboolean r500BuildFragmentProgramHwCode(struct r300_fragment_program_compiler *
        code->inst_offset = 0;
        code->inst_end = -1;
 
-       if (!radeonPairProgram(compiler->ctx, compiler->program, &pair_handler, compiler))
+       if (!radeonPairProgram(compiler->program, &pair_handler, compiler))
                return GL_FALSE;
 
        if ((code->inst[code->inst_end].inst0 & R500_INST_TYPE_MASK) != R500_INST_TYPE_OUT) {
index 3274c83d4da0d6f2b8b11b12b422a373e2f49d5f..4be948b0c112c0c029ecb4fc763a7ff4dad71835 100644 (file)
@@ -41,7 +41,7 @@
 #include "shader/prog_print.h"
 
 #define error(fmt, args...) do { \
-       _mesa_problem(s->Ctx, "%s::%s(): " fmt "\n",    \
+       fprintf(stderr, "r300 driver problem: %s::%s(): " fmt "\n",     \
                __FILE__, __FUNCTION__, ##args);        \
        s->Error = GL_TRUE;                             \
 } while(0)
@@ -120,7 +120,6 @@ struct pair_register_translation {
 };
 
 struct pair_state {
-       GLcontext *Ctx;
        struct memory_pool Pool;
        struct gl_program *Program;
        const struct radeon_pair_handler *Handler;
@@ -175,7 +174,7 @@ static GLuint get_hw_reg(struct pair_state *s, GLuint file, GLuint index)
 
        struct pair_register_translation *t = get_register(s, file, index);
        if (!t) {
-               _mesa_problem(s->Ctx, "get_hw_reg: %i[%i]\n", file, index);
+               error("get_hw_reg: %i[%i]\n", file, index);
                return 0;
        }
 
@@ -456,7 +455,7 @@ static void allocate_input_registers(struct pair_state *s)
        InputsRead &= ~FRAG_BIT_COL1;
 
        /* Texcoords */
-       for (i = 0; i < s->Ctx->Const.MaxTextureUnits; i++) {
+       for (i = 0; i < 8; i++) {
                if (InputsRead & (FRAG_BIT_TEX0 << i))
                        alloc_hw_reg(s, PROGRAM_INPUT, FRAG_ATTRIB_TEX0+i, hwindex++);
        }
@@ -877,13 +876,12 @@ static void emit_alu(struct pair_state *s)
 }
 
 
-GLboolean radeonPairProgram(GLcontext *ctx, struct gl_program *program,
+GLboolean radeonPairProgram(struct gl_program *program,
        const struct radeon_pair_handler* handler, void *userdata)
 {
        struct pair_state s;
 
        _mesa_bzero(&s, sizeof(s));
-       s.Ctx = ctx;
        memory_pool_init(&s.Pool);
        s.Program = program;
        s.Handler = handler;
index f203d4886f2026389e672d56a29c50baec953e49..9f4797663329597a0e295b6b7e839f9cebd9332a 100644 (file)
@@ -139,7 +139,7 @@ struct radeon_pair_handler {
        GLuint MaxHwTemps;
 };
 
-GLboolean radeonPairProgram(GLcontext *ctx, struct gl_program *program,
+GLboolean radeonPairProgram(struct gl_program *program,
        const struct radeon_pair_handler*, void *userdata);
 
 void radeonPrintPairInstruction(struct radeon_pair_instruction *inst);