From: Neil Roberts Date: Thu, 7 May 2015 13:20:17 +0000 (+0100) Subject: i965/skl: In opt_sampler_eot always set destination register to null X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e51bad669a4c42845c44a925bbb5d8885799c28f;p=mesa.git i965/skl: In opt_sampler_eot always set destination register to null opt_sampler_eot enables a direct write to framebuffer from a sample. In order to do this the sample message needs to have a message header so if there wasn't one already then the function adds one. In addition the function sets the destination register to null because it's no longer used. However it was only doing this in cases where it was adding a message header. This patch just moves setting the destination so that it happens even if there's a messge header. In practice this doesn't seem to make any difference but it's a bit cleaner. Reviewed-by: Anuj Phogat --- diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp index 02a1ad5a167..8dd680e1ae3 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp @@ -2668,6 +2668,7 @@ fs_visitor::opt_sampler_eot() tex_inst->offset |= fb_write->target << 24; tex_inst->eot = true; + tex_inst->dst = reg_null_ud; fb_write->remove(cfg->blocks[cfg->num_blocks - 1]); /* If a header is present, marking the eot is sufficient. Otherwise, we need @@ -2706,7 +2707,6 @@ fs_visitor::opt_sampler_eot() tex_inst->header_size = 1; tex_inst->insert_before(cfg->blocks[cfg->num_blocks - 1], new_load_payload); tex_inst->src[0] = send_header; - tex_inst->dst = reg_null_ud; return true; }