From: Dave Airlie Date: Tue, 1 Feb 2022 07:49:25 +0000 (+1000) Subject: glsl/types: fix dword slots calc for float16 matricies. X-Git-Tag: upstream/22.3.5~1240 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=55d2b82cc09953b104d46edc12524945e82eb45f;p=platform%2Fupstream%2Fmesa.git glsl/types: fix dword slots calc for float16 matricies. The current uniform query uploader for mat3 calcs things as if the vector elements are f16vec4 wide, so fix the calcs here to do the same. Fixes GTF-GL46.gtf21.GL.mat3.mat3arraysimple_frag on llvmpipe when 16-bit uniform lowering is allowed. Reviewed-by: Marek Olšák Part-of: --- diff --git a/src/compiler/glsl_types.cpp b/src/compiler/glsl_types.cpp index c890928..63190ee 100644 --- a/src/compiler/glsl_types.cpp +++ b/src/compiler/glsl_types.cpp @@ -2968,7 +2968,7 @@ glsl_type::count_dword_slots(bool is_bindless) const case GLSL_TYPE_UINT16: case GLSL_TYPE_INT16: case GLSL_TYPE_FLOAT16: - return DIV_ROUND_UP(this->components(), 2); + return DIV_ROUND_UP(this->vector_elements, 2) * this->matrix_columns; case GLSL_TYPE_UINT8: case GLSL_TYPE_INT8: return DIV_ROUND_UP(this->components(), 4);