Skip to content
  • Erico Nunes's avatar
    lima/ppir: lower texture projection · d2901de0
    Erico Nunes authored
    
    
    Lower texture projection in ppir using nir_lower_tex and nir_lower_tex.
    This will insert a mul with the coordinate division before the load
    varying.
    
    Even though the lima pp supports projection in the load varying
    instruction while loading the coordinates (from a register or a
    varying), it requires that both the coordinates and projector be
    components in a single register.
    nir currently handles them in separate ssa, and attempting to merge them
    manually may end up in worse code than just doing the coordinate
    division manually. So for now let's just lower the projection to add
    support for it in lima.
    In the future, an optimization pass may be implemented in lima to ensure
    that both coords and projector come in the same register, then this
    lowering may be disabled and in this case lima may use the built-in
    projection and save the mul instruction from lowering.
    
    Signed-off-by: default avatarErico Nunes <nunes.erico@gmail.com>
    Reviewed-by: default avatarQiang Yu <yuq825@gmail.com>
    d2901de0