intel / intel/media-driver

[Bug]: The vaGetImage()/vaPutImage() pair performance is lower than then vaDeriveImage()

Open
#1,619 8 comments 0 reactions 1 assignee Assigned to @MicroYY View on GitHub
Common
Dominant language
C
Stars
1.2k
Forks
383
Avg merge
8d 18h
Merged PRs (30d)
4

Description

### Which component impacted?

_No response_

### Is it regression? Good in old configuration?

None

### What happened?

When we want to dump a surface from GPU to CPU side, the vaGetImage()/vaPutImage() pair performance is lower than then the manner using vaDeriveImage().

So far as we know, the vaGetImage()/vaPutImage() pair should be the first choice for downloading and uploading the surface from CPU to GPU side, especially on the DGPU mode. And when we use vaGetImage()/vaPutImage() to implement surface mapping, we can provide the direction and read only, write only hint to optimize the mapping performance.

But currently, the vaGetImage()/vaPutImage() performance is about 20% lower than the vaDeriveImage() when mapping the same surface.

On TGL+ platform.

### What's the usage scenario when you are seeing the problem?

Others

### What impacted?

_No response_

### Debug Information

_No response_

### Do you want to contribute a patch to fix the issue?

None

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.