[Mesa-dev] [PATCH 1/3] i965/fs: Fix off-by-one in saturate propagation.

Ian Romanick idr at freedesktop.org
Fri Apr 4 17:32:34 PDT 2014


Series is

Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

Two questions...

Are there piglit tests that exhibit the problems fixed by this series?

Do any of these need to go back to stable? (I'm assuming not...)

On 04/03/2014 05:30 PM, Matt Turner wrote:
> ip needs to be initialized to start_ip - 1, since the first thing in the
> main loop is ip++. Otherwise we would incorrectly propagate the saturate
> from the mov to the mad:
> 
>    mad     a, b, c, d
>    mov.sat x, a
>    add     y, z, a
> ---
>  src/mesa/drivers/dri/i965/brw_fs_saturate_propagation.cpp | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/mesa/drivers/dri/i965/brw_fs_saturate_propagation.cpp b/src/mesa/drivers/dri/i965/brw_fs_saturate_propagation.cpp
> index 189888e..eaecb45 100644
> --- a/src/mesa/drivers/dri/i965/brw_fs_saturate_propagation.cpp
> +++ b/src/mesa/drivers/dri/i965/brw_fs_saturate_propagation.cpp
> @@ -32,7 +32,7 @@ static bool
>  opt_saturate_propagation_local(fs_visitor *v, bblock_t *block)
>  {
>     bool progress = false;
> -   int ip = block->start_ip;
> +   int ip = block->start_ip - 1;
>  
>     for (fs_inst *inst = (fs_inst *)block->start;
>          inst != block->end->next;
> 



More information about the mesa-dev mailing list