Intel Open-Source Vulkan Driver Merges Initial AV1 Decode Support

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • phoronix
    Administrator
    • Jan 2007
    • 67050

    Intel Open-Source Vulkan Driver Merges Initial AV1 Decode Support

    Phoronix: Intel Open-Source Vulkan Driver Merges Initial AV1 Decode Support

    Merged this Friday night for Mesa 25.0 is initial Vulkan Video AV1 decode support for Intel's open-source "ANV" Vulkan Linux driver...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite
  • lyamc
    Senior Member
    • Jun 2020
    • 517

    #2
    Every time I see something like vulkan getting some feature I just think that it's great because there's even less of a reason to use anything Directx adjacent.

    Comment

    • the-burrito-triangle
      Phoronix Member
      • Jul 2024
      • 73

      #3
      Correction: Tiger Lake (and Rocket Lake) is "Gen 11" CPU with "Gen 12" / Xe GPU. Alder Lake has Gen 12 CPU with Gen 12.5 GPU, IIRC. Just saying.
      Last edited by the-burrito-triangle; 10 January 2025, 10:34 PM.

      Comment

      • Atirage21
        Junior Member
        • Dec 2012
        • 28

        #4
        My intel i5 5300u (5th generation - Broadwell ) with hd 5500 have also support of vulkan only in linux (not in windows due to missing driver). So it would be maybe the oldest cpu with av1 after? https://www.intel.com/content/www/us...fications.html
        Last edited by Atirage21; 10 January 2025, 10:42 PM.

        Comment

        • the-burrito-triangle
          Phoronix Member
          • Jul 2024
          • 73

          #5
          Originally posted by lyamc View Post
          Every time I see something like vulkan getting some feature I just think that it's great because there's even less of a reason to use anything Directx adjacent.
          Well, as far as GPU video decoding goes... I don't see this being very power efficient on Intel parts: 1) Intel has terrible Vulkan performance (while OpenGL perf. is fantastic). 2) Intel has a hardware video decoding engine on die. Considering points 1) and 2), the native HW decoding is going to be more performant. Now, if there is a CODEC *not* supported by the HW decode engine, then great; let's do this Vulkan stuff. But Xe first gen GPUs already support VAProfileAV1Profile0, so unless this AV1 Vulkan decoding adds support for more profiles, it really is a waste of effort.
          Last edited by the-burrito-triangle; 10 January 2025, 10:48 PM.

          Comment

          • the-burrito-triangle
            Phoronix Member
            • Jul 2024
            • 73

            #6
            Here's the output for a RKL Xe (GT0, 32EU) iGPU:

            VAEntrypointVLD=HW decode
            VAEntrypointEncSlice=HW encode

            Code:
            $vainfo
            Trying display: wayland
            libva info: VA-API version 1.20.0
            libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so
            libva info: Found init function __vaDriverInit_1_20
            libva info: va_openDriver() returns 0
            vainfo: VA-API version: 1.20 (libva 2.20.1)
            vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 23.4.3 ()
            vainfo: Supported profile and entrypoints
            VAProfileNone : VAEntrypointVideoProc
            VAProfileNone : VAEntrypointStats
            VAProfileMPEG2Simple : VAEntrypointVLD
            VAProfileMPEG2Simple : VAEntrypointEncSlice
            VAProfileMPEG2Main : VAEntrypointVLD
            VAProfileMPEG2Main : VAEntrypointEncSlice
            VAProfileH264Main : VAEntrypointVLD
            VAProfileH264Main : VAEntrypointEncSlice
            VAProfileH264Main : VAEntrypointFEI
            VAProfileH264Main : VAEntrypointEncSliceLP
            VAProfileH264High : VAEntrypointVLD
            VAProfileH264High : VAEntrypointEncSlice
            VAProfileH264High : VAEntrypointFEI
            VAProfileH264High : VAEntrypointEncSliceLP
            VAProfileVC1Simple : VAEntrypointVLD
            VAProfileVC1Main : VAEntrypointVLD
            VAProfileVC1Advanced : VAEntrypointVLD
            VAProfileJPEGBaseline : VAEntrypointVLD
            VAProfileJPEGBaseline : VAEntrypointEncPicture
            VAProfileH264ConstrainedBaseline: VAEntrypointVLD
            VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
            VAProfileH264ConstrainedBaseline: VAEntrypointFEI
            VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
            VAProfileHEVCMain : VAEntrypointVLD
            VAProfileHEVCMain : VAEntrypointEncSlice
            VAProfileHEVCMain : VAEntrypointFEI
            VAProfileHEVCMain : VAEntrypointEncSliceLP
            VAProfileHEVCMain10 : VAEntrypointVLD
            VAProfileHEVCMain10 : VAEntrypointEncSlice
            VAProfileHEVCMain10 : VAEntrypointEncSliceLP
            VAProfileVP9Profile0 : VAEntrypointVLD
            VAProfileVP9Profile0 : VAEntrypointEncSliceLP
            VAProfileVP9Profile1 : VAEntrypointVLD
            VAProfileVP9Profile1 : VAEntrypointEncSliceLP
            VAProfileVP9Profile2 : VAEntrypointVLD
            VAProfileVP9Profile2 : VAEntrypointEncSliceLP
            VAProfileVP9Profile3 : VAEntrypointVLD
            VAProfileVP9Profile3 : VAEntrypointEncSliceLP
            VAProfileHEVCMain12 : VAEntrypointVLD
            VAProfileHEVCMain12 : VAEntrypointEncSlice
            VAProfileHEVCMain422_10 : VAEntrypointVLD
            VAProfileHEVCMain422_10 : VAEntrypointEncSlice
            VAProfileHEVCMain422_12 : VAEntrypointVLD
            VAProfileHEVCMain422_12 : VAEntrypointEncSlice
            VAProfileHEVCMain444 : VAEntrypointVLD
            VAProfileHEVCMain444 : VAEntrypointEncSliceLP
            VAProfileHEVCMain444_10 : VAEntrypointVLD
            VAProfileHEVCMain444_10 : VAEntrypointEncSliceLP
            VAProfileHEVCMain444_12 : VAEntrypointVLD
            VAProfileHEVCSccMain : VAEntrypointVLD
            VAProfileHEVCSccMain : VAEntrypointEncSliceLP
            VAProfileHEVCSccMain10 : VAEntrypointVLD
            VAProfileHEVCSccMain10 : VAEntrypointEncSliceLP
            VAProfileHEVCSccMain444 : VAEntrypointVLD
            VAProfileHEVCSccMain444 : VAEntrypointEncSliceLP
            VAProfileAV1Profile0 : VAEntrypointVLD
            VAProfileHEVCSccMain444_10 : VAEntrypointVLD
            VAProfileHEVCSccMain444_10 : VAEntrypointEncSliceLP

            Comment

            • isaacx123
              Junior Member
              • Nov 2020
              • 20

              #7
              Originally posted by Atirage21 View Post
              My intel i5 5300u (5th generation - Broadwell ) with hd 5500 have also support of vulkan only in linux (not in windows due to missing driver). So it would be maybe the oldest cpu with av1 after? https://www.intel.com/content/www/us...fications.html
              The hardware itself has to support AV1 HW decoding, Intel introduced AV1 HW decoding support with Tiger Lake, so no, the iGPU inside your i5 5300u doesn't support it.

              Comment

              • ezst036
                Senior Member
                • Feb 2018
                • 673

                #8
                I suspect I'm about to structure this question incorrectly, however I am still curious:

                With the proliferation of hardware decoding engines, why would anybody want avoid the decode engine and choose to decode using the GPU/shaders/vulkan where it is supported?

                For example, if you have an Arc or a Battlemage, why use Vulkan instead of the decoder portion of the chip?

                Comment

                • archerallstars
                  Junior Member
                  • May 2022
                  • 33

                  #9
                  It has come to the point that, should I buy Intel or AMD GPU now If I mainly use Linux? Seems like AMD catches up with Intel in Linux's video, while Intel's gaming is not too bad at all now. And they also expand their video capabilities further.​​​

                  Comment

                  • pWe00Iri3e7Z9lHOX2Qx
                    Senior Member
                    • Jul 2020
                    • 1469

                    #10
                    Originally posted by ezst036 View Post
                    I suspect I'm about to structure this question incorrectly, however I am still curious:

                    With the proliferation of hardware decoding engines, why would anybody want avoid the decode engine and choose to decode using the GPU/shaders/vulkan where it is supported?

                    For example, if you have an Arc or a Battlemage, why use Vulkan instead of the decoder portion of the chip?
                    I've admittedly paid close to zero attention to Vulkan Video so far, but isn't that what it is doing? It still uses / requires the media block on the (i/d)GPU for hardware accelerated decode / encode. You just get to do it from the same API that you are using for 3D / compute, and it will probably eventually be more flexible than VAAPI.

                    Comment

                    Working...
                    X