[Mesa-dev] [PATCH 16/17] i965/fs: Stop copying the program key.

Kenneth Graunke kenneth at whitecape.org
Thu May 15 23:19:47 PDT 2014


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 at whitecape.org>
---
 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);
-- 
1.9.2



More information about the mesa-dev mailing list