The implementations of the ARB_shader_group_vote intrinsics will explicitly write the flag as the destination register. --- src/intel/compiler/brw_fs.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/src/intel/compiler/brw_fs.cpp b/src/intel/compiler/brw_fs.cpp index 43b6e34204..97908a4563 100644 --- a/src/intel/compiler/brw_fs.cpp +++ b/src/intel/compiler/brw_fs.cpp @@ -890,9 +890,17 @@ fs_inst::flags_written() const opcode != BRW_OPCODE_WHILE)) || opcode == FS_OPCODE_MOV_DISPATCH_TO_FLAGS) { return flag_mask(this); - } else { - return 0; + } else if (dst.file == ARF) { + if (dst.nr == BRW_ARF_FLAG + 0 && dst.subnr == 0) + return 0b0001; + if (dst.nr == BRW_ARF_FLAG + 0 && dst.subnr == 1) + return 0b0010; + if (dst.nr == BRW_ARF_FLAG + 1 && dst.subnr == 0) + return 0b0100; + if (dst.nr == BRW_ARF_FLAG + 1 && dst.subnr == 1) + return 0b1000; } + return 0; } /** -- 2.13.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev