[Mesa-dev] [PATCH 02/10] i965/fs: Do not mark used direct surfaces in UNIFORM_PULL_CONSTANT_LOAD

Francisco Jerez currojerez at riseup.net
Fri Oct 30 06:33:44 PDT 2015


Iago Toral Quiroga <itoral at igalia.com> writes:

> Right now the generator marks direct surfaces as used but leaves marking of
> indirect surfaces to the caller. Just make the callers handle marking in both
> cases for consistency.
> ---
>  src/mesa/drivers/dri/i965/brw_fs.cpp           |  2 +-
>  src/mesa/drivers/dri/i965/brw_fs_generator.cpp | 10 ----------
>  2 files changed, 1 insertion(+), 11 deletions(-)
>
> diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
> index e55417d..88a8612 100644
> --- a/src/mesa/drivers/dri/i965/brw_fs.cpp
> +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
> @@ -1921,7 +1921,6 @@ fs_visitor::demote_pull_constants()
>                                         pull_index);
>              inst->src[i].reladdr = NULL;
>              inst->src[i].stride = 1;
> -            brw_mark_surface_used(prog_data, index);
>           } else {
>              const fs_builder ubld = ibld.exec_all().group(8, 0);
>              fs_reg offset = fs_reg((unsigned)(pull_index * 4) & ~15);
> @@ -1929,6 +1928,7 @@ fs_visitor::demote_pull_constants()
>                        dst, surf_index, offset);
>              inst->src[i].set_smear(pull_index & 3);
>           }
> +         brw_mark_surface_used(prog_data, index);
>  
>           /* Rewrite the instruction to use the temporary VGRF. */
>           inst->src[i].file = GRF;
> diff --git a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp b/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
> index 5e877e1..740003c 100644
> --- a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
> +++ b/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
> @@ -1175,8 +1175,6 @@ fs_generator::generate_uniform_pull_constant_load(fs_inst *inst,
>  
>     brw_oword_block_read(p, dst, brw_message_reg(inst->base_mrf),
>  			read_offset, surf_index);
> -
> -   brw_mark_surface_used(prog_data, surf_index);
>  }
>  
>  void
> @@ -1237,9 +1235,6 @@ fs_generator::generate_uniform_pull_constant_load_gen7(fs_inst *inst,
>                                header_present,
>                                BRW_SAMPLER_SIMD_MODE_SIMD4X2,
>                                0);
> -
> -      brw_mark_surface_used(prog_data, surf_index);
> -
>     } else {
>  
>        struct brw_reg addr = vec1(retype(brw_address_reg(0), BRW_REGISTER_TYPE_UD));
> @@ -1269,11 +1264,6 @@ fs_generator::generate_uniform_pull_constant_load_gen7(fs_inst *inst,
>                                0);
>  
>        brw_pop_insn_state(p);
> -
> -      /* visitor knows more than we do about the surface limit required,
> -       * so has already done marking.
> -       */
> -
>     }
>  }
>  
Reviewed-by: Francisco Jerez <currojerez at riseup.net>

> -- 
> 1.9.1
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 212 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20151030/2c219aab/attachment.sig>


More information about the mesa-dev mailing list