intel/fs: Move packHalf2x16 handling to lower_pack()

This mainly lets the software scoreboarding pass correctly mark the
instructions, without needing to resort to fragile manual handling in
the generator.

We can also make small improvements.  On Gfx 8LP-12.0, we no longer have
the restrictions about DWord alignment, so we can simply write each half
into its intended location, rather than writing it to the low DWord and
then shifting it in place.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21783>
This commit is contained in:
Kenneth Graunke
2023-03-07 20:41:55 -08:00
committed by Marge Bot
parent f5e5705c91
commit c590a3eadf
3 changed files with 33 additions and 61 deletions

View File

@@ -637,11 +637,6 @@ private:
void generate_halt(fs_inst *inst);
void generate_pack_half_2x16_split(fs_inst *inst,
struct brw_reg dst,
struct brw_reg x,
struct brw_reg y);
void generate_mov_indirect(fs_inst *inst,
struct brw_reg dst,
struct brw_reg reg,