Skip to content

freedreno/turnip: GL uniforms vec3 loads fix, UBO i/o vectorizing

Emma Anholt requested to merge anholt/mesa:fd-io-vectorize into master

Fixes a bug in freedreno in the default GL uniform block where PIPE_CAP_PACKED_UNIOFORMS causes us to have uniform vectors straddling a vec4 boundary and they will load incorrectly if not promoted to the constant file. To keep this fix from blowing up shader-db too badly, we fix up the align_mul/offsets we generate as much as we can, both at the NIR generation level and after the fact using the i/o vectorizer.

overall shader-db (affecting only shaders where alignment bugs were fixed):

    total instructions in shared programs: 8019997 -> 8755851 (9.18%)
    total cat6 in shared programs: 87683 -> 97027 (10.66%)
Edited by Emma Anholt

Merge request reports