diff options
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_wm.c | 10 |
1 files 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 1664b18b0ee..dfd008ee416 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); |