Intel: Add support for Xe KMD
Xe KMD is a fresh KMD implementation for Intel GPUs, you can read more about it in here: https://patchwork.freedesktop.org/series/112188/
Xe KMD will only support Tigerlake and newer platforms, so here I have added Xe KMD support for Iris and ANV, to properly work it is necessary to enable Xe KMD in build time with in run time it will check if you have i915 or Xe KMD loaded and take the appropriate code paths.-Dintel-xe-kmd=enabled
then
It is functional enough to run Gnome, browser, OpenGL games, Vulkan games... but eventual crashes and bugs are expected at this time. No work has been done so far in optimizing for the new driver.
The plan is to merge this in chunks of smaller merge requests, but this merge request will be kept updated to easily allow testing.
Xe KMD UAPI will probably change a bit during its review process and the plan is to not block these patches but merge and fix on top as UAPI evolves.
TODO list:
- port Intel tools to Xe KMD
- Performance counters support is missing in the KMD UAPI, so wait for UAPI and then port Perfetto
- remove i915_drm.h code and includes from common code in the remaining places
- analyze and improve performance
MRs:
-
!20423 (merged) -
!20428 (merged) -
!20437 (merged) -
!20773 (merged) -
!20948 (merged) -
!21255 (merged) -
!21256 (merged) -
!21389 (merged) -
!21368 (merged) -
!21369 (merged) -
!21688 (merged) -
!21494 (merged) -
!21699 (merged) -
!21698 (merged) -
!21700 (merged) -
!21773 (merged) -
!21885 (merged) -
!21887 (merged) -
!21937 (merged) -
!21965 (merged) -
!21966 (merged) -
!21972 (merged) -
!22058 (merged) -
!22059 (merged) -
!22112 (merged) -
!22171 (merged) -
!22060 (merged) -
!22219 (merged) -
!22172 (merged) -
!22476 (merged) -
!22477 (merged) -
!22240 (merged) -
!22906 (merged) -
!23139 (merged) -
!22969 (merged) -
!22544 (merged) -
!23781 (merged) -
!23787 (merged) -
!23905 (merged) -
!24336 (merged) -
!23817 (merged)