- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
Hello,
We are working on porting a libraries, mainly based on OneVPL, from a NUC Element 11th Gen (Tiger Lake) to a NUC Element 12th Gen (Alder Lake) in Linux and we are not able to make the blitter engine working.
Indeed, under Tiger Lake, we used to use the function vaCopy(), in the libVA library, to do buffer copies from linear memory format to tile memory format.
With the Alder Lake, the functionality seems to not working. The function vaCopy() always returns invalid parameters (VA_STATUS_ERROR_INVALID_PARAMETER).
We are actually using the following libraries:
- Linux kernel 5.17.1
- libVA : 2.13.0
- gmmlib : intel-gmmlib-22.0.1
- media-driver : intel_medis-22.1.1
- Ubuntu server 21.10
- Ubuntu kernel : 5.17.0-051700-generic
- product: 12th Gen Intel(R) Core(TM) i7-1265U
- Intel oneAPI Base Toolkit for Linux: Version: 2022.1.2
Could you help us?
Thanks,
Nicolas
링크가 복사됨
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
Hi,
Good day to you.
We are not clear about the exact issue that you are facing.
To help you better, can you share the exact steps that you followed along with a sample reproducer code so that we can try reproducing the issue from our side.
Thanks and Regards,
Jyothis V James
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
To use the blitter engine (copy engine), we use the libVA library in Linux.
In the va.h file, line 5180, there is the function:
VAStatus vaCopy(VADisplay dpy, VACopyObject * dst, VACopyObject * src, VACopyOption option);
We use the following value:
parameters:
VADisplay dpy : ... // we put a valid current VADisplay here
(VACopyObject*) poDst: {obj_type = VACopyObjectSurface, object = {surface_id = 1, buffer_id = 1}, va_reserved = {0, 0, 0, 0, 0, 0, 0, 0}}
(VACopyObject*) poSrc: {obj_type = VACopyObjectSurface, object = {surface_id = 0, buffer_id = 0}, va_reserved = {0, 0, 0, 0, 0, 0, 0, 0}}
(VACopyOption) option: {bits = {va_copy_sync = 1, va_copy_mode = 1, reserved = 0}, value = 5}
On Tiger Lake, the operation is working properly.
On Alder Lake, it always fails, returning VA_STATUS_ERROR_INVALID_PARAMETER (0x00000012)
Also, when looking at the Intel Media Driver, it seems that the McpyDevice hasn`t been registered in the RegisterHal for the Alder Lake.
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
Hello,
This proposed patch seems to fix the problem: McpyDevice interface is missing with ADLP and ADLS (vaCopy fails) · Issue #1381 · intel/media-driver · GitHub
It looks as the code to enable the copy engine for Alder Lake is missing in the Intel Media Driver.
Thanks,
Nicolas
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
Hi,
Good day to you.
Glad to know that your issue is resolved. Thanks for sharing the solution with the community.
If you need any additional information, please post a new question as this thread will no longer be monitored by Intel.
Regards,
Jyothis V James
