On Saturday, January 26, 2019 7:47:42 AM PST Oscar Blumberg wrote:
> Missing check for shader stage in the fs_visitor would corrupt the
> cs_prog_data.push information and trigger crashes / corruption later
> when uploading the CS state.
> ---
>  src/intel/compiler/brw_fs_nir.cpp | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/src/intel/compiler/brw_fs_nir.cpp 
> b/src/intel/compiler/brw_fs_nir.cpp
> index bdc883e53..21b03a089 100644
> --- a/src/intel/compiler/brw_fs_nir.cpp
> +++ b/src/intel/compiler/brw_fs_nir.cpp
> @@ -3779,8 +3779,9 @@ fs_visitor::nir_emit_intrinsic(const fs_builder &bld, 
> nir_intrinsic_instr *instr
>                                   BRW_REGISTER_TYPE_UD);
>        const fs_reg data = retype(get_nir_src(instr->src[2]),
>                                   BRW_REGISTER_TYPE_UD);
> -
> -      brw_wm_prog_data(prog_data)->has_side_effects = true;
> +      
> +      if (stage == MESA_SHADER_FRAGMENT)
> +         brw_wm_prog_data(prog_data)->has_side_effects = true;
>  
>        emit_untyped_write(bld, image, addr, data, 1,
>                           instr->num_components);
> 

Good catch, thanks so much for the fix!  I'm running it through a quick
set of testing (though it looks obviously correct), assuming that all
comes back green I'll push this shortly.

Reviewed-by: Kenneth Graunke <[email protected]>

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to