Skip to content
  • Rhys Perry's avatar
    nir/lower_io_to_vector: add flat mode · 5cd29dc4
    Rhys Perry authored
    
    
    This has lower_io_to_vector try to turn variables into arrays of 4-sized
    vectors when possible and fall back to the old approach when that isn't
    possible.
    
    This is so that lower_io_to_vector can guarantee that only one variable is
    used for each fragment shader output.
    
    v2: handle dual-source blending
    v3: don't try to merge structs and non-32-bit types in get_flat_type()
    v3: fix per-vertex inputs
    v3: fix and cleanup location advancement in get_flat_type() and it's
        calling code
    v4: prioritize the original mode over the flat mode
    v4: don't create flat variables to merge only one variable
    
    Signed-off-by: default avatarRhys Perry <pendingchaos02@gmail.com>
    5cd29dc4