From 0acb0f4a631775e9a30ac5960b5945ed47cea4d9 Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Tue, 14 Jun 2022 12:30:21 -0700 Subject: [PATCH] intel/fs: Add missing synchronization for WaW dependency 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 Tested-by: Felix DeGrood [v1] Part-of: (cherry picked from commit 676acfe956be79adafb7552829948b8875b86c8d) --- .pick_status.json | 2 +- src/intel/compiler/brw_fs_generator.cpp | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.pick_status.json b/.pick_status.json index 3d713173b4f..4ba5df3b538 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -1651,7 +1651,7 @@ "description": "intel/fs: Add missing synchronization for WaW dependency", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "b5fa43952aaf7a41385402ad2d21af5a17805615" }, diff --git a/src/intel/compiler/brw_fs_generator.cpp b/src/intel/compiler/brw_fs_generator.cpp index 4ca3e4cc9e9..b79670a3822 100644 --- a/src/intel/compiler/brw_fs_generator.cpp +++ b/src/intel/compiler/brw_fs_generator.cpp @@ -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.