Mesa (staging/20.3): radv: fix exporting multiviews with NGG

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Dec 7 17:23:53 UTC 2020


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

Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Fri Nov 27 15:29:34 2020 +0100

radv: fix exporting multiviews with NGG

If a subpass uses multiview but the fragment shader doesn't load it
we still have to export it.

Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02 at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7815>
(cherry picked from commit fadcf13c8bad5bc07e7fffaca7197adda66b4bd7)

---

 .pick_status.json                 | 2 +-
 src/amd/vulkan/radv_shader_args.c | 7 ++++++-
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/.pick_status.json b/.pick_status.json
index 3819308b55e..0aab452d13c 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -157,7 +157,7 @@
         "description": "radv: fix exporting multiviews with NGG",
         "nominated": true,
         "nomination_type": 0,
-        "resolution": 0,
+        "resolution": 1,
         "master_sha": null,
         "because_sha": null
     },
diff --git a/src/amd/vulkan/radv_shader_args.c b/src/amd/vulkan/radv_shader_args.c
index c6070dfe8ef..ef6e170899a 100644
--- a/src/amd/vulkan/radv_shader_args.c
+++ b/src/amd/vulkan/radv_shader_args.c
@@ -89,11 +89,16 @@ static bool needs_view_index_sgpr(struct radv_shader_args *args,
 		if (args->shader_info->needs_multiview_view_index || (!args->options->key.vs_common_out.as_es && args->options->key.has_multiview_view_index))
 			return true;
 		break;
-	case MESA_SHADER_GEOMETRY:
 	case MESA_SHADER_TESS_CTRL:
 		if (args->shader_info->needs_multiview_view_index)
 			return true;
 		break;
+	case MESA_SHADER_GEOMETRY:
+		if (args->shader_info->needs_multiview_view_index ||
+		    (args->options->key.vs_common_out.as_ngg &&
+		     args->options->key.has_multiview_view_index))
+			return true;
+		break;
 	default:
 		break;
 	}



More information about the mesa-commit mailing list