Skip to content

[GSD-12899] Degraded DX11-OCL sharing performance in 32.0.101.8826/8801/8724 #936

@nyanmisaka

Description

@nyanmisaka

Pre-submission Checklist

  • I am using the latest GPU driver version (download center)
  • I have searched for similar issues and found none

GPU Hardware

Intel Arc A380

GPU Detailed Information

Name           : Intel(R) Arc(TM) A380 Graphics
DriverVersion  : 32.0.101.8826 (or 8724/8801)
DriverDate     : 20260402000000.000000-000
VideoProcessor : Intel(R) Arc(TM) A380 Graphics Family
AdapterRAM     : 2147479552
PNPDeviceID    : PCI\VEN_8086&DEV_56A5&SUBSYS_50301462&REV_05\6&1C138998&0&00080009

Driver Installation Details

Manual downloaded and installed from https://www.intel.com/content/www/us/en/download/785597/intel-arc-graphics-windows.html

Windows Build Information

WindowsProductName         : Windows 10 Pro for Workstations
WindowsVersion             : 2009
OsHardwareAbstractionLayer : 10.0.19041.6456

Actual Behavior

Degraded DX11-OCL sharing performance in 32.0.101.8826/8801/8724:

We have an FFmpeg pipeline that utilizes DX11-OCL sharing to run custom OCL video filters between the D3D11VA decoder and the QSV (QuickSync) encoder, achieving zero-copy transcoding while applying color adjustments.

We have already configured CL_CONTEXT_INTEROP_USER_SYNC and manually ensured synchronization before sharing, so no additional synchronization is required from the NEO OCL driver.

The input and output images used by the OCL kernel are derived from the DX11 P010/NV12 texture with D3D11_RESOURCE_MISC_SHARED enabled, so no additional copying is required.

Therefore, I believe 1fd98c5 fix: fix D3D11 sharing syncronization is the culprit, as it has only recently appeared, and the date matches.

We bypassed this regression by downgrading the driver to 8629 WHQL.


FFmpeg FPS: ~112fps at 2160p hevc_qsv

./ffmpeg.exe -stream_loop -1 -init_hw_device d3d11va=dx11:,vendor=0x8086 -init_hw_device qsv=qs@dx11 -init_hw_device opencl=ocl@dx11 -filter_hw_device qs -hwaccel d3d11va -hwaccel_output_format d3d11 -noautorotate -threads 2 -i "E:\Sample Video\AV1\COSTA RICA IN 4K 60fps HDR (ULTRA HD) [LXb3EKWsInQ].webm" -noautoscale -an -sn -dn -c:v hevc_qsv -preset veryfast -global_quality 22 -vf "setparams=color_primaries=bt2020:color_trc=smpte2084:colorspace=bt2020nc,hwmap=derive_device=opencl:mode=read,tonemap_opencl=format=nv12:p=bt709:t=bt709:m=bt709:tonemap=bt2390:peak=0:desat=0:tonemap_mode=itp,hwmap=derive_device=qsv:mode=write:reverse=1,format=qsv" -vframes 1000 -f null -
ffmpeg version 8.1.1-Jellyfin Copyright (c) 2000-2026 the FFmpeg developers
  built with clang version 22.1.7 (https://github.com/msys2/MINGW-packages b8f306ad57e0c8f3f15aed0dc809d7e3e8e2eee9)
  configuration: --cc=clang --cxx=clang++ --pkg-config-flags=--static --extra-cflags=-I/clang64/ffbuild/include --extra-ldflags=-L/clang64/ffbuild/lib --prefix=/clang64/ffbuild/jellyfin-ffmpeg --extra-version=Jellyfin --disable-unstable --disable-ffplay --disable-debug --disable-doc --disable-sdl2 --enable-lto=thin --enable-gpl --enable-version3 --enable-schannel --enable-iconv --enable-libxml2 --enable-zlib --enable-lzma --enable-gmp --enable-chromaprint --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libharfbuzz --enable-libass --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libwebp --enable-libvpx --enable-libzimg --enable-libx264 --enable-libx265 --enable-libsvtav1 --enable-libdav1d --enable-libfdk-aac --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-opencl --enable-dxva2 --enable-d3d11va --enable-d3d12va --enable-amf --enable-libvpl --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
  libavutil      60. 26.101 / 60. 26.101
  libavcodec     62. 28.101 / 62. 28.101
  libavformat    62. 12.101 / 62. 12.101
  libavdevice    62.  3.101 / 62.  3.101
  libavfilter    11. 14.101 / 11. 14.101
  libswscale      9.  5.101 /  9.  5.101
  libswresample   6.  3.101 /  6.  3.101
[D3D11VA @ 00000286e4744dc0] Using device 8086:56a5 (Intel(R) Arc(TM) A380 Graphics).
Input #0, matroska,webm, from 'E:\Sample Video\AV1\COSTA RICA IN 4K 60fps HDR (ULTRA HD) [LXb3EKWsInQ].webm':
  Metadata:
    COMPATIBLE_BRANDS: iso6av01mp41
    MAJOR_BRAND     : dash
    MINOR_VERSION   : 0
    ENCODER         : Lavf62.3.100
  Duration: 00:05:13.81, start: 0.000000, bitrate: 25001 kb/s
  Stream #0:0: Video: av1 (libdav1d) (Main), yuv420p10le(tv, bt2020nc/bt2020/smpte2084), 3840x2160 [SAR 1:1 DAR 16:9], 59.94 fps, 59.94 tbr, 1k tbn (default)
    Metadata:
      HANDLER_NAME    : ISO Media file produced by Google Inc.
      VENDOR_ID       : [0][0][0][0]
      DURATION        : 00:05:13.780000000
    Side data:
      Content light level metadata: MaxCLL=1100, MaxFALL=180
      Mastering display metadata: has_primaries:1 has_luminance:1 r(0.6780,0.3220) g(0.2450,0.7030) b(0.1380 0.0520) wp(0.3127, 0.3290) min_luminance=0.000100, max_luminance=1000.000000
  Stream #0:1(eng): Audio: opus, 48000 Hz, stereo, fltp, start 0.007000 (default)
    Metadata:
      DURATION        : 00:05:13.808000000
Stream mapping:
  Stream #0:0 -> #0:0 (av1 (native) -> hevc (hevc_qsv))
Press [q] to stop, [?] for help
Output #0, null, to 'pipe:':
  Metadata:
    COMPATIBLE_BRANDS: iso6av01mp41
    MAJOR_BRAND     : dash
    MINOR_VERSION   : 0
    encoder         : Lavf62.12.101
  Stream #0:0: Video: hevc, qsv(tv, bt709, progressive), 3840x2160 [SAR 1:1 DAR 16:9], q=2-31, 59.94 fps, 59.94 tbn (default)
    Metadata:
      encoder         : Lavc62.28.101 hevc_qsv
      HANDLER_NAME    : ISO Media file produced by Google Inc.
      VENDOR_ID       : [0][0][0][0]
      DURATION        : 00:05:13.780000000
    Side data:
      CPB properties: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
[out#0/null @ 00000286ed837600] video:29222KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: unknown
frame= 1000 fps=112 q=28.0 Lsize=N/A time=00:00:16.61 bitrate=N/A speed=1.86x elapsed=0:00:08.93

Taskmgr MFX/VCS engine usages:
Encoder engine cannot reach full load (Another engine is used for the decoder, and the bottleneck is in the encoder for 2160p, which is expected)

Image

Expected Behavior

FFmpeg FPS: ~192fps at 2160p hevc_qsv

./ffmpeg.exe -stream_loop -1 -init_hw_device d3d11va=dx11:,vendor=0x8086 -init_hw_device qsv=qs@dx11 -init_hw_device opencl=ocl@dx11 -filter_hw_device qs -hwaccel d3d11va -hwaccel_output_format d3d11 -noautorotate -threads 2 -i "E:\Sample Video\AV1\COSTA RICA IN 4K 60fps HDR (ULTRA HD) [LXb3EKWsInQ].webm" -noautoscale -an -sn -dn -c:v hevc_qsv -preset veryfast -global_quality 22 -vf "setparams=color_primaries=bt2020:color_trc=smpte2084:colorspace=bt2020nc,hwmap=derive_device=opencl:mode=read,tonemap_opencl=format=nv12:p=bt709:t=bt709:m=bt709:tonemap=bt2390:peak=0:desat=0:tonemap_mode=itp,hwmap=derive_device=qsv:mode=write:reverse=1,format=qsv" -vframes 5000 -f null -
ffmpeg version 8.1.1-Jellyfin Copyright (c) 2000-2026 the FFmpeg developers
  built with clang version 22.1.7 (https://github.com/msys2/MINGW-packages b8f306ad57e0c8f3f15aed0dc809d7e3e8e2eee9)
  configuration: --cc=clang --cxx=clang++ --pkg-config-flags=--static --extra-cflags=-I/clang64/ffbuild/include --extra-ldflags=-L/clang64/ffbuild/lib --prefix=/clang64/ffbuild/jellyfin-ffmpeg --extra-version=Jellyfin --disable-unstable --disable-ffplay --disable-debug --disable-doc --disable-sdl2 --enable-lto=thin --enable-gpl --enable-version3 --enable-schannel --enable-iconv --enable-libxml2 --enable-zlib --enable-lzma --enable-gmp --enable-chromaprint --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libharfbuzz --enable-libass --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libwebp --enable-libvpx --enable-libzimg --enable-libx264 --enable-libx265 --enable-libsvtav1 --enable-libdav1d --enable-libfdk-aac --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-opencl --enable-dxva2 --enable-d3d11va --enable-d3d12va --enable-amf --enable-libvpl --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
  libavutil      60. 26.101 / 60. 26.101
  libavcodec     62. 28.101 / 62. 28.101
  libavformat    62. 12.101 / 62. 12.101
  libavdevice    62.  3.101 / 62.  3.101
  libavfilter    11. 14.101 / 11. 14.101
  libswscale      9.  5.101 /  9.  5.101
  libswresample   6.  3.101 /  6.  3.101
[D3D11VA @ 0000013c658f6a40] Using device 8086:56a5 (Intel(R) Arc(TM) A380 Graphics).
Input #0, matroska,webm, from 'E:\Sample Video\AV1\COSTA RICA IN 4K 60fps HDR (ULTRA HD) [LXb3EKWsInQ].webm':
  Metadata:
    COMPATIBLE_BRANDS: iso6av01mp41
    MAJOR_BRAND     : dash
    MINOR_VERSION   : 0
    ENCODER         : Lavf62.3.100
  Duration: 00:05:13.81, start: 0.000000, bitrate: 25001 kb/s
  Stream #0:0: Video: av1 (libdav1d) (Main), yuv420p10le(tv, bt2020nc/bt2020/smpte2084), 3840x2160 [SAR 1:1 DAR 16:9], 59.94 fps, 59.94 tbr, 1k tbn (default)
    Metadata:
      HANDLER_NAME    : ISO Media file produced by Google Inc.
      VENDOR_ID       : [0][0][0][0]
      DURATION        : 00:05:13.780000000
    Side data:
      Content light level metadata: MaxCLL=1100, MaxFALL=180
      Mastering display metadata: has_primaries:1 has_luminance:1 r(0.6780,0.3220) g(0.2450,0.7030) b(0.1380 0.0520) wp(0.3127, 0.3290) min_luminance=0.000100, max_luminance=1000.000000
  Stream #0:1(eng): Audio: opus, 48000 Hz, stereo, fltp, start 0.007000 (default)
    Metadata:
      DURATION        : 00:05:13.808000000
Stream mapping:
  Stream #0:0 -> #0:0 (av1 (native) -> hevc (hevc_qsv))
Press [q] to stop, [?] for help
Output #0, null, to 'pipe:':
  Metadata:
    COMPATIBLE_BRANDS: iso6av01mp41
    MAJOR_BRAND     : dash
    MINOR_VERSION   : 0
    encoder         : Lavf62.12.101
  Stream #0:0: Video: hevc, qsv(tv, bt709, progressive), 3840x2160 [SAR 1:1 DAR 16:9], q=2-31, 59.94 fps, 59.94 tbn (default)
    Metadata:
      encoder         : Lavc62.28.101 hevc_qsv
      HANDLER_NAME    : ISO Media file produced by Google Inc.
      VENDOR_ID       : [0][0][0][0]
      DURATION        : 00:05:13.780000000
    Side data:
      CPB properties: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
[out#0/null @ 0000013c6d110640] video:155961KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: unknown
frame= 5000 fps=192 q=28.0 Lsize=N/A time=00:01:23.34 bitrate=N/A speed= 3.2x elapsed=0:00:26.03

Taskmgr MFX/VCS engine usages:
Encoder engine can reach full load (Another engine is used for the decoder, and the bottleneck is in the encoder for 2160p, which is expected)

Image

Reproduction Rate

Always reproduces - 100%

Steps to Reproduce

  1. Install driver 32.0.101.8826 WHQL (or 8724/8801)
  2. Download our FFmpeg binary from
https://github.com/jellyfin/jellyfin-ffmpeg/releases/download/v8.1.1-3/jellyfin-ffmpeg_8.1.1-3_portable_win64-clang-gpl.zip
  1. Download video sample file
https://github.com/user-attachments/files/27553820/COSTA.RICA.IN.4K.60fps.HDR.ULTRA.HD.LXb3EKWsInQ.zip
  1. Run FFmpeg command:
./ffmpeg.exe -stream_loop -1 -init_hw_device d3d11va=dx11:,vendor=0x8086 -init_hw_device qsv=qs@dx11 -init_hw_device opencl=ocl@dx11 -filter_hw_device qs -hwaccel d3d11va -hwaccel_output_format d3d11 -noautorotate -threads 2 -i "COSTA RICA IN 4K 60fps HDR (ULTRA HD) [LXb3EKWsInQ].webm" -noautoscale -an -sn -dn -c:v hevc_qsv -preset veryfast -global_quality 22 -vf "setparams=color_primaries=bt2020:color_trc=smpte2084:colorspace=bt2020nc,hwmap=derive_device=opencl:mode=read,tonemap_opencl=format=nv12:p=bt709:t=bt709:m=bt709:tonemap=bt2390:peak=0:desat=0:tonemap_mode=itp,hwmap=derive_device=qsv:mode=write:reverse=1,format=qsv" -vframes 5000 -f null -
  1. Watch the FPS and MFX/VCS engine usages in taskmgr
  2. Downgrade driver to 32.0.101.8629 WHQL and retry steps 1 - 5
  3. Observations include: degraded FPS and low utilization of the MFX/VCS engine in the new version

Is this a regression?

  • Yes, this is a regression - functionality that previously worked is now broken

Last Known Working Driver Version

32.0.101.8629 WHQL

First Known Failing Driver Version

32.0.101.8724 WHQL

API Call Logs

No crash or error

Windows Event Viewer Logs

No crash or error

Crash Dumps / Minidumps

No crash or error

Source Code / Reproducer

This regression is unrelated to the OCL kernel content

Command Line / Application Details

See "Steps to Reproduce"

oneAPI Version (if applicable)

No response

System Configuration

CsProcessors          : {AMD Ryzen 7 5700G with Radeon Graphics         }
CsTotalPhysicalMemory : 33686118400
CsManufacturer        : To Be Filled By O.E.M.
CsModel               : To Be Filled By O.E.M.

Screenshots / Video

No response

Intel System Support Utility Report

igcit_ssu.txt

Additional Notes

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    OS: WindowsIssue specific to Windows operating system (Windows 10, 11)Type: BugGeneral bug report, unexpected behavior or crashType: RegressionPreviously working functionality is now broken

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions