i965/fs: Stop copying the program key.
authorKenneth Graunke <kenneth@whitecape.org>
Wed, 14 May 2014 08:32:54 +0000 (01:32 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Mon, 19 May 2014 06:35:20 +0000 (23:35 -0700)
We already have a perfectly good copy of the program key, and nobody is
going to modify it.  The only reason we copied it was because the
brw_wm_compile structure embedded the key rather than pointing to it.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Chris Forbes <chrisf@ijw.co.nz>
src/mesa/drivers/dri/i965/brw_wm.c

index 1664b18b0ee2d8ef6c26ffd4711d105a5512e8f7..dfd008ee416d0c95f978fb01cab1c58db23e7482 100644 (file)
@@ -174,14 +174,12 @@ bool do_wm_prog(struct brw_context *brw,
       rzalloc_array(NULL, const float *, param_count);
    c->prog_data.base.nr_params = param_count;
 
-   memcpy(&c->key, key, sizeof(*key));
-
    c->prog_data.barycentric_interp_modes =
-      brw_compute_barycentric_interp_modes(brw, c->key.flat_shade,
-                                           c->key.persample_shading,
+      brw_compute_barycentric_interp_modes(brw, key->flat_shade,
+                                           key->persample_shading,
                                            &fp->program);
 
-   program = brw_wm_fs_emit(brw, mem_ctx, &c->key, &c->prog_data,
+   program = brw_wm_fs_emit(brw, mem_ctx, key, &c->prog_data,
                             &fp->program, prog, &program_size);
    if (program == NULL) {
       ralloc_free(mem_ctx);
@@ -197,7 +195,7 @@ bool do_wm_prog(struct brw_context *brw,
       fprintf(stderr, "\n");
 
    brw_upload_cache(&brw->cache, BRW_WM_PROG,
-                   &c->key, sizeof(c->key),
+                   key, sizeof(struct brw_wm_prog_key),
                    program, program_size,
                    &c->prog_data, sizeof(c->prog_data),
                    &brw->wm.base.prog_offset, &brw->wm.prog_data);