panfrost: Add shader_stage helper
authorAlyssa Rosenzweig <alyssa@collabora.com>
Tue, 5 Apr 2022 16:35:25 +0000 (12:35 -0400)
committerMarge Bot <emma+marge@anholt.net>
Thu, 7 Apr 2022 15:11:04 +0000 (15:11 +0000)
For Valhall, which specifies these in the shader program descriptor.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15795>

src/panfrost/lib/pan_shader.h

index 2764d25..bd10b00 100644 (file)
@@ -43,6 +43,21 @@ GENX(pan_shader_compile)(nir_shader *nir,
                          struct util_dynarray *binary,
                          struct pan_shader_info *info);
 
+#if PAN_ARCH >= 9
+static inline enum mali_shader_stage
+pan_shader_stage(const struct pan_shader_info *info)
+{
+        switch (info->stage) {
+        case MESA_SHADER_VERTEX:
+                return MALI_SHADER_STAGE_VERTEX;
+        case MESA_SHADER_FRAGMENT:
+                return MALI_SHADER_STAGE_FRAGMENT;
+        default:
+                return MALI_SHADER_STAGE_COMPUTE;
+        }
+}
+#endif
+
 #if PAN_ARCH <= 5
 static inline void
 pan_shader_prepare_midgard_rsd(const struct pan_shader_info *info,