From 8b994d0f3bb4249fc33a9fe1a6fcad1755fbba20 Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Wed, 14 May 2014 01:32:54 -0700 Subject: [PATCH] i965/fs: Stop copying the program key. 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 Reviewed-by: Chris Forbes --- src/mesa/drivers/dri/i965/brw_wm.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_wm.c b/src/mesa/drivers/dri/i965/brw_wm.c index 1664b18..dfd008e 100644 --- a/src/mesa/drivers/dri/i965/brw_wm.c +++ b/src/mesa/drivers/dri/i965/brw_wm.c @@ -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); -- 2.7.4