Skip to content

Media Driver Shaders (EU Kernels)

Dmitry Rogozhkin edited this page Jan 11, 2019 · 11 revisions

Media codec shaders

Binary kernel Sources
media_driver/agnostic/gen8/codec/kernel/igcodeckrn_g8.c Closed source
media_driver/agnostic/gen9/codec/kernel/igcodeckrn_g9.c Closed source
media_driver/agnostic/gen9_bxt/codec/kernel/igcodeckrn_g9_bxt.c Closed source
media_driver/agnostic/gen9_kbl/codec/kernel/igcodeckrn_g9_kbl.c Closed source
media_driver/agnostic/gen10/codec/kernel/igcodeckrn_g10.c Closed source
media_driver/agnostic/gen11/codec/kernel/igcodeckrn_g11.c Closed source
media_driver/agnostic/gen11_icllp/codec/kernel/igcodeckrn_g11_icllp.c Closed source

Video processing shaders

Binary kernel Sources
media_driver/agnostic/gen8/vp/kernel/igvpkrn_g8.c Closed source
media_driver/agnostic/gen9/vp/kernel/igvpkrn_g9.c Closed source
media_driver/agnostic/gen9/vp/kernel/igvpkrn_isa_g9.c Closed source
media_driver/agnostic/gen10/vp/kernel/igvpkrn_g10.c Closed source
media_driver/agnostic/gen11_icllp/vp/kernel/igvpkrn_g11_icllp.c Open source (here)
media_driver/agnostic/gen11_icllp/vp/kernel/igvpkrn_isa_g11_icllp.c Closed source

HDR shaders

Binary kernel Sources
media_driver/agnostic/gen9/vp/kernel/igvpkrn_isa_g9.c Closed source
media_driver/agnostic/gen11_icllp/vp/kernel/igvpkrn_isa_g11_icllp.c Closed source

CMRT shaders

GPU copy shaders:

Binary kernel Sources
media_driver/agnostic/gen8/cm/cm_gpucopy_kernel_g8.h Closed source
media_driver/agnostic/gen9/cm/cm_gpucopy_kernel_g9.h Closed source
media_driver/agnostic/gen10/cm/cm_gpucopy_kernel_g10.h Closed source
media_driver/agnostic/gen11/cm/cm_gpucopy_kernel_g11lp.h Closed source

GPU init(?) shaders:

Binary kernel Sources
media_driver/agnostic/gen8/cm/cm_gpuinit_kernel_g8.h Closed source
media_driver/agnostic/gen9/cm/cm_gpuinit_kernel_g9.h Closed source
media_driver/agnostic/gen10/cm/cm_gpuinit_kernel_g10.h Closed source
media_driver/agnostic/gen11/cm/cm_gpuinit_kernel_g11lp.h Closed source

Disable shaders at compile time

To disable shaders at compile time, configure build with the option -DENABLE_KERNELS=OFF, i.e.:

cmake -DENABLE_KERNELS=OFF /path/to/media/driver

If one wish it is possible to physically remove shaders from sources to make sure they don't end up in the build. Please, refer to the following script:

# Delete (X=8, 9, …):
#   - media_driver/agnostic/gen${X}/codec/kernel
#   - media_driver/agnostic/gen${X}/vp/kernel
find . -name kernel | grep gen | xargs git rm -r

# Delete (X=8, 9, …):
#   - media_driver/agnostic/gen${X}/cm/cm_gpucopy_kernel_g${X}.h
find . -name cm_gpucopy_kernel* | xargs git rm

# Delete:
#   - media_driver/agnostic/gen9_skl/codec/cmrt_kernel
find . -name cmrt_kernel | xargs git rm -r

Mind that if folders like media_driver/agnostic/gen${X} will be removed, driver will completely lost support for the specified platform.

Build with open source shaders

To build driver with only open sources shaders, configure build with the option -DENABLE_KERNELS=ON -DENABLE_NONFREE_KERNELS=OFF, i.e.:

cmake -DENABLE_KERNELS=ON -DENABLE_NONFREE_KERNELS=OFF /path/to/media/driver

If one wish it is possible to physically remove closed source shaders from sources to make sure they don't end up in the build. Please, refer to the following script:

# Delete (X=8, 9, …):
#   - media_driver/agnostic/gen${X}/codec/kernel
#   - media_driver/agnostic/gen${X}/vp/kernel
# except:
#  - media_driver/agnostic/gen11_icllp/vp/kernel
find . -name kernel | grep gen | grep -v gen11_icllp/vp | xargs git rm -r

# Delete (X=8, 9, …):
#   - media_driver/agnostic/gen${X}/cm/cm_gpucopy_kernel_g${X}.h
find . -name cm_gpucopy_kernel* | xargs git rm

# Delete:
#   - media_driver/agnostic/gen9_skl/codec/cmrt_kernel
find . -name cmrt_kernel | xargs git rm -r

Build with closed source shaders

To build driver with closed sources shaders, configure build with the option -DENABLE_KERNELS=ON -DENABLE_NONFREE_KERNELS=ON, i.e.:

cmake -DENABLE_KERNELS=ON -DENABLE_NONFREE_KERNELS=ON /path/to/media/driver
Clone this wiki locally