Skip to content
  • Emma Anholt's avatar
    st: Lower uniforms in st in the !PIPE_CAP_PACKED_UNIFORMS case as well. · 771adffe
    Emma Anholt authored
    
    
    PIPE_CAP_PACKED_UNIFORMS conflates several things: Lowering uniforms i/o
    at the st level instead of the backend, packing uniforms with no padding
    at all, and lowering to UBOs.
    
    Requiring backends to lower uniforms i/o for !PIPE_CAP_PACKED_UNIFORMS
    leads to the driver needing to either link against the type size function
    in mesa/st, or duplicating it in the backend.  Given that all backends
    want this lower-io as far as I can tell, just move it to mesa/st to
    resolve the link issue and avoid the driver author needing to understand
    st's uniforms layout.
    
    Incidentally, fixes uniform layout failures in nouveau in:
    
    dEQP-GLES2.functional.shaders.struct.uniform.sampler_nested_fragment
    dEQP-GLES2.functional.shaders.struct.uniform.sampler_nested_vertex
    dEQP-GLES2.functional.shaders.struct.uniform.sampler_array_fragment
    dEQP-GLES2.functional.shaders.struct.uniform.sampler_array_vertex
    
    and I think in Lima as well.
    
    v2: fix indents
    
    Reviewed-by: Kenneth Graunke's avatarKenneth Graunke <kenneth@whitecape.org>
    771adffe