[Mesa-dev] [PATCH 07/19] intel/fs: Add explicit last_rt flag to fb writes orthogonal to eot.
Ilia Mirkin
imirkin at alum.mit.edu
Fri May 18 23:49:33 UTC 2018
Just an observation -- old code was based on eot || other cond. New code
seems to set last_rt only when eot is set. Is there a last_rt setting
missing? Or was the extra condition superfluous before?
On Fri, May 18, 2018, 19:35 Jason Ekstrand <jason at jlekstrand.net> wrote:
> 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 aa94629..471ef64 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
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20180518/a6fd1286/attachment.html>
More information about the mesa-dev
mailing list