Skip to content
  • Iago Toral's avatar
    i965/fs: add shuffle_64bit_data_for_32bit_write helper · b9aa66aa
    Iago Toral authored and Samuel Iglesias Gonsálvez's avatar Samuel Iglesias Gonsálvez committed
    
    
    This does the inverse operation of shuffle_32bit_load_result_to_64bit_data
    and we will use it when we need to write 64-bit data in the layout expected
    by untyped write messages.
    
    v2 (curro):
    - Use subscript() instead of stride()
    - Assert on the input types rather than silently retyping.
    - Use offset() instead of horiz_offset(), drop the multiplier definition.
    - Drop the temporary vgrf and force_writemask_all.
    - Make component_i const.
    - Move to brw_fs_nir.cpp
    
    v3 (curro):
    - Pass dst and src by reference.
    - Simplify allocation of tmp register.
    - Move to brw_fs_nir.cpp.
    - Get rid of the temporary.
    
    v3 (Iago):
    - Check that the src and dst regions do not overlap, since that would
      typically be a bug in the caller.
    
    Reviewed-by: Kenneth Graunke's avatarKenneth Graunke <kenneth@whitecape.org>
    Reviewed-by: default avatarFrancisco Jerez <currojerez@riseup.net>
    b9aa66aa