[Mesa-dev] [PATCH 17/38] i965/fs: Migrate Gen4 send dependency workarounds to the IR builder.

Matt Turner mattst88 at gmail.com
Thu Jun 4 19:40:24 PDT 2015


On Thu, Jun 4, 2015 at 9:05 AM, Francisco Jerez <currojerez at riseup.net> wrote:
> ---
>  src/mesa/drivers/dri/i965/brw_fs.cpp | 26 +++++++++-----------------
>  src/mesa/drivers/dri/i965/brw_fs.h   |  2 +-
>  2 files changed, 10 insertions(+), 18 deletions(-)
>
> diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
> index 41015e6..e654af9 100644
> --- a/src/mesa/drivers/dri/i965/brw_fs.cpp
> +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
> @@ -418,20 +418,14 @@ fs_visitor::VARYING_PULL_CONSTANT_LOAD(const fs_reg &dst,
>   * A helper for MOV generation for fixing up broken hardware SEND dependency
>   * handling.
>   */
> -fs_inst *
> -fs_visitor::DEP_RESOLVE_MOV(int grf)
> +void
> +fs_visitor::DEP_RESOLVE_MOV(const fs_builder &bld, int grf)
>  {
> -   fs_inst *inst = MOV(brw_null_reg(), fs_reg(GRF, grf, BRW_REGISTER_TYPE_F));
> -
> -   inst->ir = NULL;
> -   inst->annotation = "send dependency resolve";
> -
>     /* The caller always wants uncompressed to emit the minimal extra
>      * dependencies, and to avoid having to deal with aligning its regs to 2.
>      */
> -   inst->exec_size = 8;
> -
> -   return inst;
> +   bld.annotate("send dependency resolve").half(0)
> +      .MOV(brw_null_reg(), fs_reg(GRF, grf, BRW_REGISTER_TYPE_F));

Should probably change brw_null_reg -> bld.null_reg_f() while we're here.


More information about the mesa-dev mailing list