• Juan Suárez Romero's avatar
    i965/fs: fix dst stride in IVB/BYT type conversions · 571cbd05
    Juan Suárez Romero authored
    When converting a DF to 32-bit conversions, we set dst stride to 2,
    to fulfill alignment restrictions because the upper Dword of every
    Qword will be written with undefined value.
    
    But in IVB/BYT, this is not necessary, as each DF conversion already
    writes 2, the first one the real value, and the second one a 0.
    That is, IVB/BYT already set stride = 2 implicitly, so we must set it to
    1 explicitly to avoid ending up with stride = 4.
    
    v2:
    - Fix typo (Matt)
    
    v3:
    - Fix stride in the destination's brw_reg, don't modity IR (Curro)
    
    v4:
    - Remove 'is_dst' argument of brw_reg_from_fs_reg() (Curro)
    - Fix comment (Curro).
    - Relax hstride assert (Curro)
    Signed-off-by: Juan Suárez Romero's avatarJuan A. Suarez Romero <jasuarez@igalia.com>
    Signed-off-by: Samuel Iglesias Gonsálvez's avatarSamuel Iglesias Gonsálvez <siglesias@igalia.com>
    [ Francisco Jerez: Minor spelling fixes. ]
    Reviewed-by: Francisco Jerez's avatarFrancisco Jerez <currojerez@riseup.net>
    571cbd05
brw_fs_generator.cpp 76 KB