On Fri, Mar 20, 2015 at 1:12 PM, Matt Turner <matts...@gmail.com> wrote: > On Fri, Mar 20, 2015 at 11:24 AM, Jason Ekstrand <ja...@jlekstrand.net> wrote: >> FS instructions with NIR on i965: >> total instructions in shared programs: 2663561 -> 2619051 (-1.67%) >> instructions in affected programs: 1612965 -> 1568455 (-2.76%) >> helped: 5455 >> HURT: 12 >> >> FS instructions with NIR on g4x: >> total instructions in shared programs: 2352633 -> 2307908 (-1.90%) >> instructions in affected programs: 1441842 -> 1397117 (-3.10%) >> helped: 5463 >> HURT: 11 >> >> FS instructions with NIR on ilk: >> total instructions in shared programs: 3997305 -> 3934278 (-1.58%) >> instructions in affected programs: 2189409 -> 2126382 (-2.88%) >> helped: 8969 >> HURT: 22 >> >> FS instructions with NIR on hsw (snb and ivb were similar): >> total instructions in shared programs: 4109389 -> 4109242 (-0.00%) >> instructions in affected programs: 109869 -> 109722 (-0.13%) >> helped: 339 >> HURT: 190 >> >> No SIMD16 programs were gained or lost on any platform >> --- >> src/mesa/drivers/dri/i965/brw_fs_nir.cpp | 6 +++--- >> 1 file changed, 3 insertions(+), 3 deletions(-) >> >> diff --git a/src/mesa/drivers/dri/i965/brw_fs_nir.cpp >> b/src/mesa/drivers/dri/i965/brw_fs_nir.cpp >> index 5fa528c..f79143d 100644 >> --- a/src/mesa/drivers/dri/i965/brw_fs_nir.cpp >> +++ b/src/mesa/drivers/dri/i965/brw_fs_nir.cpp >> @@ -522,7 +522,7 @@ fs_visitor::nir_emit_if(nir_if *if_stmt) >> /* first, put the condition into f0 */ >> fs_inst *inst = emit(MOV(reg_null_d, >> retype(get_nir_src(if_stmt->condition), >> - BRW_REGISTER_TYPE_UD))); >> + BRW_REGISTER_TYPE_D))); >> inst->conditional_mod = BRW_CONDITIONAL_NZ; >> >> emit(IF(BRW_PREDICATE_NORMAL)); >> @@ -598,9 +598,9 @@ static brw_reg_type >> brw_type_for_nir_type(nir_alu_type type) >> { >> switch (type) { >> - case nir_type_bool: >> case nir_type_unsigned: >> return BRW_REGISTER_TYPE_UD; >> + case nir_type_bool: >> case nir_type_int: >> return BRW_REGISTER_TYPE_D; >> case nir_type_float: >> @@ -1280,7 +1280,7 @@ fs_visitor::nir_emit_alu(nir_alu_instr *instr) >> fs_reg masked = vgrf(glsl_type::int_type); >> emit(AND(masked, result, fs_reg(1))); >> masked.negate = true; >> - emit(MOV(result, masked)); >> + emit(MOV(retype(result, BRW_REGISTER_TYPE_D), masked)); > > This hunk isn't necessary. masked is vgrf(glsl_type::int_type).
This hunk retypes result, not masked. --Jason > > With that hunk dropped, > > Reviewed-by: Matt Turner <matts...@gmail.com> _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev