i965/fs: shuffle_32bit_load_result_to_16bit_data now skips components
authorJose Maria Casanova Crespo <jmcasanova@igalia.com>
Mon, 26 Feb 2018 19:28:34 +0000 (20:28 +0100)
committerJason Ekstrand <jason.ekstrand@intel.com>
Thu, 1 Mar 2018 05:37:40 +0000 (21:37 -0800)
commit2dd94f462b0069fc3a20c9a93a9cfe97dd079837
tree39b4939968f415a2a81a886d51bffc22d7fa9f35
parent67d7dd594ecd6f15ba3d126a4bb92d4222c4168d
i965/fs: shuffle_32bit_load_result_to_16bit_data now skips components

This helper used to load 16bit components from 32-bits read now allows
skipping components with the new parameter first_component. The semantics
now skip components until we reach the first_component, and then reads the
number of components passed to the function.

All previous uses of the helper are updated to use 0 as first_component.
This will allow read 16-bit components when the first one is not aligned
32-bit. Enabling more usages of untyped_reads with 16-bit types.

v2: (Jason Ektrand)
    Change parameters order to first_component, num_components

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
src/intel/compiler/brw_fs.cpp
src/intel/compiler/brw_fs.h
src/intel/compiler/brw_fs_nir.cpp