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 <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14817>
This commit is contained in:
Dave Airlie 2022-02-01 17:49:25 +10:00 committed by Marge Bot
parent 3570e94bcc
commit 55d2b82cc0

View file

@ -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);