Mark the imported dmabuf as cacheable in Media Libva #1929
+7
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
While generating the GMM params, we need to set the cacheable flag to true for imported dmabufs (or prime bos). This allows GmmLib to return the CoherentPATIndex, that is verified by the Xe KMD as part of vm_bind. Otherwise, the Xe KMD will return an error when it finds that the coherency mode for the default PAT index is XE_COH_NONE. This is similar to Mesa's behavior where it selects "cached_coherent" PAT index for imported dmabufs.
This patch fixes the following error (vm_bind failure) seen while running VDI test (Remote Desktop) with Qemu + Spice (uses Gstreamer) on BMG/PTL:
0:00:05.933571208 1868 0x7f27f4000b90 ERROR vadisplay vasurfaceimage.c:171:va_create_surfaces: vaCreateSurfaces: resource allocation failed
while testing with the following GStreamer pipeline: appsrc is-live=true format=time do-timestamp=true name=src ! vapostproc ! video/x-raw(memory:VAMemory),format=NV12 ! vah264enc name=encoder rate-control=16 b-frames=0 target-usage=7 min-qp=15 max-qp=35 ! appsink name=sink