[Mesa-dev] [PATCH 04/12] i965/fs: Pass a BAD_FILE header source to LOAD_PAYLOAD in emit_texture_gen7().

Jason Ekstrand jason at jlekstrand.net
Tue Jul 21 14:32:06 PDT 2015


On Sat, Jul 18, 2015 at 7:34 AM, Francisco Jerez <currojerez at riseup.net> wrote:
> So that it's left uninitialized by LOAD_PAYLOAD, we only need to
> reserve space for it in the message since it will be initialized
> implicitly by the generator.
> ---
>  src/mesa/drivers/dri/i965/brw_fs_visitor.cpp | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
> index 522e13e..89fcc49 100644
> --- a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
> +++ b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
> @@ -473,8 +473,9 @@ fs_visitor::emit_texture_gen7(ir_texture_opcode op, fs_reg dst,
>     if (op == ir_tg4 || offset_value.file != BAD_FILE ||
>         is_high_sampler(devinfo, sampler)) {
>        /* For general texture offsets (no txf workaround), we need a header to
> -       * put them in.  Note that for SIMD16 we're making space for two actual
> -       * hardware registers here, so the emit will have to fix up for this.
> +       * put them in.  Note that we're only reserving space for it in the
> +       * message payload as it will be initialized implicitly by the
> +       * generator.

Mind splitting this in two?  Fixing the comment above is really
unrelated to passing BAD_FILE below.
--Jason

>         *
>         * * ir4_tg4 needs to place its channel select in the header,
>         * for interaction with ARB_texture_swizzle
> @@ -483,7 +484,7 @@ fs_visitor::emit_texture_gen7(ir_texture_opcode op, fs_reg dst,
>         * need to offset the Sampler State Pointer in the header.
>         */
>        header_size = 1;
> -      sources[0] = fs_reg(GRF, alloc.allocate(1), BRW_REGISTER_TYPE_UD);
> +      sources[0] = fs_reg();
>        length++;
>     }
>
> --
> 2.4.3
>


More information about the mesa-dev mailing list