Mesa (staging/21.0): intel/fs: QUAD_SWIZZLE requires packed data

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Jan 25 18:08:53 UTC 2021


Module: Mesa
Branch: staging/21.0
Commit: 88a5bbb3419c3eff7b4cfb894f585a2d69c6feef
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=88a5bbb3419c3eff7b4cfb894f585a2d69c6feef

Author: Jason Ekstrand <jason at jlekstrand.net>
Date:   Tue Oct 27 00:36:53 2020 -0500

intel/fs: QUAD_SWIZZLE requires packed data

We could probably support some strides if we tried hard enough but the
whole point of this opcode is to accelerate things with crazy Align16 or
crazy regions.  It's ok if we have to emit an extra MOV to get a packed
source.

Fixes: 8b4a5e641bc3 "intel/fs: Add support for subgroup quad operations"
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7329>
(cherry picked from commit 58bcb5401d85b4a21f6d9ea4eb7bff8e1ed7110f)

---

 .pick_status.json                              | 2 +-
 src/intel/compiler/brw_fs_copy_propagation.cpp | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/.pick_status.json b/.pick_status.json
index b0caee692fc..51b0136816e 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -184,7 +184,7 @@
         "description": "intel/fs: QUAD_SWIZZLE requires packed data",
         "nominated": true,
         "nomination_type": 1,
-        "resolution": 0,
+        "resolution": 1,
         "master_sha": null,
         "because_sha": "8b4a5e641bc3cb9cf0cfe7d0487926127fc25de7"
     },
diff --git a/src/intel/compiler/brw_fs_copy_propagation.cpp b/src/intel/compiler/brw_fs_copy_propagation.cpp
index 917c3abfe9e..6896987055f 100644
--- a/src/intel/compiler/brw_fs_copy_propagation.cpp
+++ b/src/intel/compiler/brw_fs_copy_propagation.cpp
@@ -437,6 +437,7 @@ instruction_requires_packed_data(fs_inst *inst)
    case FS_OPCODE_DDX_COARSE:
    case FS_OPCODE_DDY_FINE:
    case FS_OPCODE_DDY_COARSE:
+   case SHADER_OPCODE_QUAD_SWIZZLE:
       return true;
    default:
       return false;



More information about the mesa-commit mailing list