r300g,r300c: memset the compiler struct to zeros
authorMarek Olšák <maraeo@gmail.com>
Sun, 5 Sep 2010 03:07:02 +0000 (05:07 +0200)
committerMarek Olšák <maraeo@gmail.com>
Sun, 5 Sep 2010 03:09:25 +0000 (05:09 +0200)
This should fix bogus reports "Too many temporaries." and maybe some others.

src/gallium/drivers/r300/r300_vs.c
src/mesa/drivers/dri/r300/r300_blit.c
src/mesa/drivers/dri/r300/r300_fragprog_common.c
src/mesa/drivers/dri/r300/r300_vertprog.c

index add3d552c45622704734094723c4ca5c0619376b..22c94adbda0c8e6294451bd66475a950661c90f5 100644 (file)
@@ -199,6 +199,7 @@ void r300_translate_vertex_shader(struct r300_context *r300,
     unsigned i;
 
     /* Setup the compiler */
+    memset(&compiler, 0, sizeof(compiler));
     rc_init(&compiler.Base);
 
     compiler.Base.Debug = DBG_ON(r300, DBG_VP);
index 5f261e07e62584c6cee79ffbe1ddbd9acd29e8cd..74aef765e30f95986baec159d6bbfca97ca8abde 100644 (file)
@@ -56,6 +56,7 @@ static void create_vertex_program(struct r300_context *r300)
     struct r300_vertex_program_compiler compiler;
     struct rc_instruction *inst;
 
+    memset(&compiler, 0, sizeof(compiler));
     rc_init(&compiler.Base);
 
     inst = rc_insert_new_instruction(&compiler.Base, compiler.Base.Program.Instructions.Prev);
index d0006d6c3c26088bc3318906529937aee2f37aa2..4af91f114d58fca607085ddd4aa18675e9660c73 100644 (file)
@@ -213,6 +213,7 @@ static void translate_fragment_program(GLcontext *ctx, struct r300_fragment_prog
        r300ContextPtr r300 = R300_CONTEXT(ctx);
        struct r300_fragment_program_compiler compiler;
 
+        memset(&compiler, 0, sizeof(compiler));
        rc_init(&compiler.Base);
        compiler.Base.Debug = (RADEON_DEBUG & RADEON_PIXEL) ? GL_TRUE : GL_FALSE;
 
index 4a3bbdb44d16115b5ec21a514da3b7b9bbb45acd..a16012809118815605c18bfc3df23ffe7a51e23e 100644 (file)
@@ -238,6 +238,7 @@ static struct r300_vertex_program *build_program(GLcontext *ctx,
        vp->Base = _mesa_clone_vertex_program(ctx, mesa_vp);
        memcpy(&vp->key, wanted_key, sizeof(vp->key));
 
+        memset(&compiler, 0, sizeof(compiler));
        rc_init(&compiler.Base);
        compiler.Base.Debug = (RADEON_DEBUG & RADEON_VERTS) ? GL_TRUE : GL_FALSE;