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

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


Module: Mesa
Branch: staging/20.3
Commit: f155875446fc0e43f47f939982fea8b84f63564c
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f155875446fc0e43f47f939982fea8b84f63564c

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 6b1a5dc8601..5d9e7d8573b 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -670,7 +670,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