frontend/va: Add support for VAConfigAttribEncMaxTileRows/Cols
authorSil Vilerino <sivileri@microsoft.com>
Fri, 22 Sep 2023 12:37:34 +0000 (08:37 -0400)
committerMarge Bot <emma+marge@anholt.net>
Fri, 20 Oct 2023 01:00:33 +0000 (01:00 +0000)
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25819>

src/gallium/frontends/va/config.c
src/gallium/include/pipe/p_video_enums.h

index dbdf9bb..f94dc6b 100644 (file)
@@ -494,6 +494,28 @@ vlVaGetConfigAttributes(VADriverContextP ctx, VAProfile profile, VAEntrypoint en
                value = encode_tile_support;
          } break;
 #endif
+#if VA_CHECK_VERSION(1, 21, 0)
+         case VAConfigAttribEncMaxTileRows:
+         {
+            int max_tile_rows = pscreen->get_video_param(pscreen, ProfileToPipe(profile),
+                                             PIPE_VIDEO_ENTRYPOINT_ENCODE,
+                                             PIPE_VIDEO_CAP_ENC_MAX_TILE_ROWS);
+            if (max_tile_rows <= 0)
+               value = VA_ATTRIB_NOT_SUPPORTED;
+            else
+               value = max_tile_rows;
+         } break;
+         case VAConfigAttribEncMaxTileCols:
+         {
+            int max_tile_cols = pscreen->get_video_param(pscreen, ProfileToPipe(profile),
+                                             PIPE_VIDEO_ENTRYPOINT_ENCODE,
+                                             PIPE_VIDEO_CAP_ENC_MAX_TILE_COLS);
+            if (max_tile_cols <= 0)
+               value = VA_ATTRIB_NOT_SUPPORTED;
+            else
+               value = max_tile_cols;
+         } break;
+#endif
          default:
             value = VA_ATTRIB_NOT_SUPPORTED;
             break;
index d4cbfa6..657fce6 100644 (file)
@@ -139,6 +139,8 @@ enum pipe_video_cap
    PIPE_VIDEO_CAP_ENC_AV1_FEATURE_EXT1 = 38,
    PIPE_VIDEO_CAP_ENC_AV1_FEATURE_EXT2 = 39,
    PIPE_VIDEO_CAP_ENC_SUPPORTS_TILE = 40,
+   PIPE_VIDEO_CAP_ENC_MAX_TILE_ROWS = 41,
+   PIPE_VIDEO_CAP_ENC_MAX_TILE_COLS = 42,
 };
 
 enum pipe_video_av1_enc_filter_mode