[Mesa-dev] [PATCH 07/53] intel/fs: Add explicit last_rt flag to fb writes orthogonal to eot.
Jason Ekstrand
jason at jlekstrand.net
Thu May 24 21:55:49 UTC 2018
From: Francisco Jerez <currojerez at riseup.net>
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
---
src/intel/compiler/brw_fs.cpp | 1 +
src/intel/compiler/brw_fs_generator.cpp | 6 +-----
src/intel/compiler/brw_fs_visitor.cpp | 2 ++
src/intel/compiler/brw_ir_fs.h | 1 +
4 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/intel/compiler/brw_fs.cpp b/src/intel/compiler/brw_fs.cpp
index 8d92786..d67c0a4 100644
--- a/src/intel/compiler/brw_fs.cpp
+++ b/src/intel/compiler/brw_fs.cpp
@@ -3246,6 +3246,7 @@ fs_visitor::emit_repclear_shader()
}
}
write->eot = true;
+ write->last_rt = true;
calculate_cfg();
diff --git a/src/intel/compiler/brw_fs_generator.cpp b/src/intel/compiler/brw_fs_generator.cpp
index f310a84..f49ab44 100644
--- a/src/intel/compiler/brw_fs_generator.cpp
+++ b/src/intel/compiler/brw_fs_generator.cpp
@@ -289,10 +289,6 @@ fs_generator::fire_fb_write(fs_inst *inst,
*/
const uint32_t surf_index = inst->target;
- bool last_render_target = inst->eot ||
- (prog_data->dual_src_blend && dispatch_width == 16);
-
-
brw_fb_WRITE(p,
payload,
implied_header,
@@ -301,7 +297,7 @@ fs_generator::fire_fb_write(fs_inst *inst,
nr,
0,
inst->eot,
- last_render_target,
+ inst->last_rt,
inst->header_size != 0);
brw_mark_surface_used(&prog_data->base, surf_index);
diff --git a/src/intel/compiler/brw_fs_visitor.cpp b/src/intel/compiler/brw_fs_visitor.cpp
index 41dbd76..a24808e 100644
--- a/src/intel/compiler/brw_fs_visitor.cpp
+++ b/src/intel/compiler/brw_fs_visitor.cpp
@@ -103,6 +103,7 @@ fs_visitor::emit_dummy_fs()
fs_inst *write;
write = bld.emit(FS_OPCODE_FB_WRITE);
write->eot = true;
+ write->last_rt = true;
if (devinfo->gen >= 6) {
write->base_mrf = 2;
write->mlen = 4 * reg_width;
@@ -459,6 +460,7 @@ fs_visitor::emit_fb_writes()
inst->target = 0;
}
+ inst->last_rt = true;
inst->eot = true;
}
diff --git a/src/intel/compiler/brw_ir_fs.h b/src/intel/compiler/brw_ir_fs.h
index f06a33c..92dad26 100644
--- a/src/intel/compiler/brw_ir_fs.h
+++ b/src/intel/compiler/brw_ir_fs.h
@@ -374,6 +374,7 @@ public:
uint8_t sources; /**< Number of fs_reg sources. */
+ bool last_rt:1;
bool pi_noperspective:1; /**< Pixel interpolator noperspective flag */
};
--
2.5.0.400.gff86faf
More information about the mesa-dev
mailing list