[Mesa-dev] [PATCH] i965/skl: In opt_sampler_eot always set destination register to null

Neil Roberts neil at linux.intel.com
Thu May 7 06:20:17 PDT 2015

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.
 src/mesa/drivers/dri/i965/brw_fs.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
index 1ca7ca6..72d408b 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
@@ -2675,6 +2675,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
@@ -2712,7 +2713,6 @@ fs_visitor::opt_sampler_eot()
    tex_inst->header_present = true;
    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;

More information about the mesa-dev mailing list