--- src/intel/compiler/brw_fs_nir.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/src/intel/compiler/brw_fs_nir.cpp b/src/intel/compiler/brw_fs_nir.cpp index a3d193b8a44..ccf1891b925 100644 --- a/src/intel/compiler/brw_fs_nir.cpp +++ b/src/intel/compiler/brw_fs_nir.cpp @@ -346,7 +346,9 @@ fs_visitor::nir_emit_impl(nir_function_impl *impl) reg->num_array_elems == 0 ? 1 : reg->num_array_elems; unsigned size = array_elems * reg->num_components; const brw_reg_type reg_type = - brw_reg_type_from_bit_size(reg->bit_size, BRW_REGISTER_TYPE_F); + brw_reg_type_from_bit_size(reg->bit_size, + reg->bit_size == 8 ? BRW_REGISTER_TYPE_D : + BRW_REGISTER_TYPE_F); nir_locals[reg->index] = bld.vgrf(reg_type, size); } @@ -4281,7 +4283,10 @@ fs_visitor::nir_emit_intrinsic(const fs_builder &bld, nir_intrinsic_instr *instr fs_reg value = get_nir_src(instr->src[0]); if (instr->intrinsic == nir_intrinsic_vote_feq) { const unsigned bit_size = nir_src_bit_size(instr->src[0]); - value.type = brw_reg_type_from_bit_size(bit_size, BRW_REGISTER_TYPE_F); + value.type = + brw_reg_type_from_bit_size(bit_size, + bit_size == 8 ? BRW_REGISTER_TYPE_D : + BRW_REGISTER_TYPE_F); } fs_reg uniformized = bld.emit_uniformize(value); -- 2.17.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev