Module: Mesa Branch: master Commit: 23ffb7c2d17f0268b209782a46e6cb838bd63585 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=23ffb7c2d17f0268b209782a46e6cb838bd63585
Author: Jose Maria Casanova Crespo <jmcasan...@igalia.com> Date: Thu Feb 22 17:36:37 2018 +0100 spirv: Calculate properly 16-bit vector sizes Range in 16-bit push constants load was being calculated wrongly using 4-bytes per element instead of 2-bytes as it should be. v2: Use glsl_get_bit_size instead of if statement (Jason Ekstrand) Reviewed-by: Jason Ekstrand <ja...@jlekstrand.net> --- src/compiler/spirv/vtn_variables.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/compiler/spirv/vtn_variables.c b/src/compiler/spirv/vtn_variables.c index 9eb85c24e9..105b33a567 100644 --- a/src/compiler/spirv/vtn_variables.c +++ b/src/compiler/spirv/vtn_variables.c @@ -683,12 +683,9 @@ vtn_type_block_size(struct vtn_builder *b, struct vtn_type *type) if (cols > 1) { vtn_assert(type->stride > 0); return type->stride * cols; - } else if (base_type == GLSL_TYPE_DOUBLE || - base_type == GLSL_TYPE_UINT64 || - base_type == GLSL_TYPE_INT64) { - return glsl_get_vector_elements(type->type) * 8; } else { - return glsl_get_vector_elements(type->type) * 4; + unsigned type_size = glsl_get_bit_size(type->type) / 8; + return glsl_get_vector_elements(type->type) * type_size; } } _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-commit