intel/fs: Add missing synchronization for WaW dependency
authorIan Romanick <ian.d.romanick@intel.com>
Tue, 14 Jun 2022 19:30:21 +0000 (12:30 -0700)
committerMarge Bot <emma+marge@anholt.net>
Fri, 17 Jun 2022 17:05:43 +0000 (17:05 +0000)
v2: Do the synchronization in the correct place.  Noticed by Curro.

Fixes: b5fa43952aa ("intel/fs: Better handle constant sources of FS_OPCODE_PACK_HALF_2x16_SPLIT")
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Tested-by: Felix DeGrood <felix.j.degrood@intel.com> [v1]
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17037>

src/intel/compiler/brw_fs_generator.cpp

index 5a4b2fb..a9032e4 100644 (file)
@@ -1785,7 +1785,9 @@ fs_generator::generate_pack_half_2x16_split(fs_inst *,
 
    if (y.file == IMM) {
       const uint32_t hhhh0000 = _mesa_float_to_half(y.f) << 16;
+
       brw_MOV(p, dst, brw_imm_ud(hhhh0000));
+      brw_set_default_swsb(p, tgl_swsb_regdist(1));
    } else {
       /* Give each 32-bit channel of dst the form below, where "." means
        * unchanged.