El 01/12/17 a las 09:03, Pohjolainen, Topi escribió: > On Thu, Nov 30, 2017 at 03:07:55AM +0100, Jose Maria Casanova Crespo wrote: >> v2: Fixed calculation of scalar size for 16-bit types. (Jason Ekstrand) >> >> Signed-off-by: Jose Maria Casanova Crespo <jmcasan...@igalia.com> >> Signed-off-by: Eduardo Lima <el...@igalia.com> >> Reviewed-by: Jason Ekstrand <ja...@jlekstrand.net> >> --- >> src/intel/compiler/brw_fs.cpp | 4 ++++ >> src/intel/compiler/brw_nir.c | 16 ++++++++++++++++ >> src/intel/compiler/brw_shader.cpp | 6 ++++++ >> 3 files changed, 26 insertions(+) >> >> diff --git a/src/intel/compiler/brw_fs.cpp b/src/intel/compiler/brw_fs.cpp >> index 6772c0d5a5..6cdd2bd9f3 100644 >> --- a/src/intel/compiler/brw_fs.cpp >> +++ b/src/intel/compiler/brw_fs.cpp >> @@ -454,6 +454,10 @@ type_size_scalar(const struct glsl_type *type) >> case GLSL_TYPE_FLOAT: >> case GLSL_TYPE_BOOL: >> return type->components(); >> + case GLSL_TYPE_UINT16: >> + case GLSL_TYPE_INT16: >> + case GLSL_TYPE_FLOAT16: >> + return DIV_ROUND_UP(type->components(), 2); >> case GLSL_TYPE_DOUBLE: >> case GLSL_TYPE_UINT64: >> case GLSL_TYPE_INT64: >> diff --git a/src/intel/compiler/brw_nir.c b/src/intel/compiler/brw_nir.c >> index 8f3f77f89a..cca4b45ae6 100644 >> --- a/src/intel/compiler/brw_nir.c >> +++ b/src/intel/compiler/brw_nir.c >> @@ -843,12 +843,18 @@ brw_type_for_nir_type(const struct gen_device_info >> *devinfo, nir_alu_type type) >> case nir_type_float: >> case nir_type_float32: >> return BRW_REGISTER_TYPE_F; >> + case nir_type_float16: >> + return BRW_REGISTER_TYPE_HF; >> case nir_type_float64: >> return BRW_REGISTER_TYPE_DF; >> case nir_type_int64: >> return devinfo->gen < 8 ? BRW_REGISTER_TYPE_DF : BRW_REGISTER_TYPE_Q; >> case nir_type_uint64: >> return devinfo->gen < 8 ? BRW_REGISTER_TYPE_DF : BRW_REGISTER_TYPE_UQ; >> + case nir_type_int16: >> + return BRW_REGISTER_TYPE_W; >> + case nir_type_uint16: >> + return BRW_REGISTER_TYPE_UW; >> default: >> unreachable("unknown type"); >> } >> @@ -867,6 +873,9 @@ brw_glsl_base_type_for_nir_type(nir_alu_type type) >> case nir_type_float32: >> return GLSL_TYPE_FLOAT; >> >> + case nir_type_float16: >> + return GLSL_TYPE_FLOAT16; >> + >> case nir_type_float64: >> return GLSL_TYPE_DOUBLE; >> >> @@ -878,6 +887,13 @@ brw_glsl_base_type_for_nir_type(nir_alu_type type) >> case nir_type_uint32: >> return GLSL_TYPE_UINT; >> >> + case nir_type_int16: >> + return GLSL_TYPE_INT16; >> + >> + case nir_type_uint16: >> + return GLSL_TYPE_UINT16; >> + >> + > Extra newline.
Fixed locally, Thanks for the review. Chema > >> default: >> unreachable("bad type"); >> } >> diff --git a/src/intel/compiler/brw_shader.cpp >> b/src/intel/compiler/brw_shader.cpp >> index ba61481a0a..aa9e5f3d28 100644 >> --- a/src/intel/compiler/brw_shader.cpp >> +++ b/src/intel/compiler/brw_shader.cpp >> @@ -34,14 +34,20 @@ enum brw_reg_type >> brw_type_for_base_type(const struct glsl_type *type) >> { >> switch (type->base_type) { >> + case GLSL_TYPE_FLOAT16: >> + return BRW_REGISTER_TYPE_HF; >> case GLSL_TYPE_FLOAT: >> return BRW_REGISTER_TYPE_F; >> case GLSL_TYPE_INT: >> case GLSL_TYPE_BOOL: >> case GLSL_TYPE_SUBROUTINE: >> return BRW_REGISTER_TYPE_D; >> + case GLSL_TYPE_INT16: >> + return BRW_REGISTER_TYPE_W; >> case GLSL_TYPE_UINT: >> return BRW_REGISTER_TYPE_UD; >> + case GLSL_TYPE_UINT16: >> + return BRW_REGISTER_TYPE_UW; >> case GLSL_TYPE_ARRAY: >> return brw_type_for_base_type(type->fields.array); >> case GLSL_TYPE_STRUCT: >> -- >> 2.14.3 >> >> _______________________________________________ >> mesa-dev mailing list >> mesa-dev@lists.freedesktop.org >> https://lists.freedesktop.org/mailman/listinfo/mesa-dev > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev