diff --git a/media_driver/linux/common/ddi/media_libva_util.cpp b/media_driver/linux/common/ddi/media_libva_util.cpp index c9388cc11ec..526eb71b78a 100755 --- a/media_driver/linux/common/ddi/media_libva_util.cpp +++ b/media_driver/linux/common/ddi/media_libva_util.cpp @@ -685,6 +685,15 @@ VAStatus DdiMediaUtil_AllocateSurface( } } } + // There's no VAAPI interface for modifier query yet. As a workaround, always allocate + // RGB surface as tile4. + if ((format == Media_Format_A8R8G8B8 || + format == Media_Format_B10G10R10A2 | + format == Media_Format_A8B8G8R8 || + format == Media_Format_X8R8G8B8) && !MEDIA_IS_SKU(&mediaDrvCtx->SkuTable, FtrTileY)) + { + gmmParams.Flags.Info.Tile4 = true; + } break; case TILING_X: gmmParams.Flags.Info.TiledX = true;