On Wed, Oct 4, 2017 at 4:58 PM, Jason Ekstrand <[email protected]> wrote:
> No shader-db change on Sky Lake.
>
> Cc: [email protected]
> ---
>  src/intel/compiler/brw_fs_cmod_propagation.cpp   | 17 +++++++++++++++++
>  src/intel/compiler/brw_vec4_cmod_propagation.cpp | 17 +++++++++++++++++
>  2 files changed, 34 insertions(+)
>
> diff --git a/src/intel/compiler/brw_fs_cmod_propagation.cpp 
> b/src/intel/compiler/brw_fs_cmod_propagation.cpp
> index db63e94..e8f1069 100644
> --- a/src/intel/compiler/brw_fs_cmod_propagation.cpp
> +++ b/src/intel/compiler/brw_fs_cmod_propagation.cpp
> @@ -150,6 +150,23 @@ opt_cmod_propagation_local(const gen_device_info 
> *devinfo, bblock_t *block)
>              if (scan_inst->saturate)
>                 break;
>
> +            /* From the Sky Lake PRM, Vol 2a, "Multiply":
> +             *
> +             *    "When multiplying integer data types, if one of the sources
> +             *    is a DW, the resulting full precision data is stored in
> +             *    the accumulator. However, if the destination data type is
> +             *    either W or DW, the low bits of the result are written to
> +             *    the destination register and the remaining high bits are
> +             *    discarded. This results in undefined Overflow and Sign
> +             *    flags. Therefore, conditional modifiers and saturation
> +             *    (.sat) cannot be used in this case.

Please indent the lines in the block quote one space more than the "

Patches 1-2 are

Reviewed-by: Matt Turner <[email protected]>
_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to