Samuel Iglesias Gonsálvez <[email protected]> writes: > From: "Juan A. Suarez Romero" <[email protected]> > > The execution data size is the biggest type size of any instruction > operand. > > We will use it to know if the instruction deals with DF, because in Ivy > we need to double the execution size and regioning parameters. > > v2: > - Fix typo in commit log (Matt) > - Use static inline function instead of fs_inst's method (Curro). > - Define the result as a constant (Curro). > - Fix indentation (Matt). > - Add braces to nested control flow (Matt). > > Signed-off-by: Samuel Iglesias Gonsálvez <[email protected]>
Reviewed-by: Francisco Jerez <[email protected]> > --- > src/mesa/drivers/dri/i965/brw_fs.cpp | 6 +----- > src/mesa/drivers/dri/i965/brw_fs.h | 14 ++++++++++++++ > 2 files changed, 15 insertions(+), 5 deletions(-) > > diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp > b/src/mesa/drivers/dri/i965/brw_fs.cpp > index 13949c9d9f7..95714c16f15 100644 > --- a/src/mesa/drivers/dri/i965/brw_fs.cpp > +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp > @@ -4564,11 +4564,7 @@ get_fpu_lowered_simd_width(const struct > gen_device_info *devinfo, > !inst->force_writemask_all) { > const unsigned channels_per_grf = inst->exec_size / > DIV_ROUND_UP(inst->size_written, REG_SIZE); > - unsigned exec_type_size = 0; > - for (int i = 0; i < inst->sources; i++) { > - if (inst->src[i].file != BAD_FILE) > - exec_type_size = MAX2(exec_type_size, > type_sz(inst->src[i].type)); > - } > + const unsigned exec_type_size = get_exec_type_size(inst); > assert(exec_type_size); > > /* The hardware shifts exactly 8 channels per compressed half of the > diff --git a/src/mesa/drivers/dri/i965/brw_fs.h > b/src/mesa/drivers/dri/i965/brw_fs.h > index d0e272bb9ee..95b2b8eaa81 100644 > --- a/src/mesa/drivers/dri/i965/brw_fs.h > +++ b/src/mesa/drivers/dri/i965/brw_fs.h > @@ -501,3 +501,17 @@ fs_reg setup_imm_df(const brw::fs_builder &bld, > > enum brw_barycentric_mode brw_barycentric_mode(enum glsl_interp_mode mode, > nir_intrinsic_op op); > + > +static inline unsigned > +get_exec_type_size(const fs_inst *inst) > +{ > + unsigned exec_type_size = 0; > + > + for (int i = 0; i < inst->sources; i++) { > + if (inst->src[i].type != BAD_FILE) { > + exec_type_size = MAX2(exec_type_size, type_sz(inst->src[i].type)); > + } > + } > + > + return exec_type_size; > +} > -- > 2.11.0 > > _______________________________________________ > mesa-dev mailing list > [email protected] > https://lists.freedesktop.org/mailman/listinfo/mesa-dev
signature.asc
Description: PGP signature
_______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
