[Mesa-dev] [PATCH] i965: Don't try to decode types for non-existent src1.

Alejandro Piñeiro apinheiro at igalia.com
Sat Oct 7 17:12:57 UTC 2017


Reviewed-by: Alejandro Piñeiro <apinheiro at igalia.com>

On 07/10/17 15:37, Kenneth Graunke wrote:
> KHR-GL45.shader_ballot_tests.ShaderBallotBitmasks has a MOV that hits
> this validation path.  MOVs don't have a src1 file, but calling
> brw_inst_src1_type() was tripping on src1.file being BRW_IMMEDIATE_VALUE
> and the hw_type being something invalid for immediates.
>
> To work around this, just pretend src1 is src0 if there isn't a src1.
>
> Fixes: 2572c2771d0cab0b9bc489d354ede44dfc88547b (i965: Validate "Special
>        Requirements for Handling Double Precision Data Types")
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102680
> ---
>  src/intel/compiler/brw_eu_validate.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/src/intel/compiler/brw_eu_validate.c b/src/intel/compiler/brw_eu_validate.c
> index 8568f712d77..9f72c650ddb 100644
> --- a/src/intel/compiler/brw_eu_validate.c
> +++ b/src/intel/compiler/brw_eu_validate.c
> @@ -1225,7 +1225,8 @@ special_requirements_for_handling_double_precision_data_types(
>      */
>     if (devinfo->gen >= 8) {
>        enum brw_reg_type src0_type = brw_inst_src0_type(devinfo, inst);
> -      enum brw_reg_type src1_type = brw_inst_src1_type(devinfo, inst);
> +      enum brw_reg_type src1_type =
> +         num_sources > 1 ? brw_inst_src1_type(devinfo, inst) : src0_type;
>        unsigned src0_type_size = brw_reg_type_to_size(src0_type);
>        unsigned src1_type_size = brw_reg_type_to_size(src1_type);
>  



More information about the mesa-dev mailing list