No description
Find a file
Carlos Santa 3ab89b0247 xe: add initial Xe kmd support for gen12 xelp
Adds a new intel backend for interfacing with the Xe kernel driver.
Currently only tested on gen12 (Xe1; e.g. TGL, ADL, MTL).

Test 1: drm-tests (natively): stop ui and then run:
	- mapped_texture_test
	- null_platform_test -m [I915_FORMAT_MOD_X_TILED|I915_FORMAT_MOD_Y_TILED]
	- plane_test (by default it uses NV12)

Test 2: full OS: boot to UI, execute webGL and/or YouTube successfully and watch
the terminal: TERM=xterm watch -n1 -d cat /sys/kernel/debug/dri/0/i915_display_info
for color formats and display plane usage

v1: Carlos Santa <carlos.santa@intel.corp-partner.google.com>
v2: Ryan Neph <ryanneph@google.com>
  - formatting fixes
  - remove deprecated #ifdef I915_SCANOUT_Y_TILED conditional compilation
  - add missing backend_xe implementations
  - mimic i915_add_combinations
    - Match formatting, order of operations, and add the missing combo for
      YVU420_ANDROID + USE_CAMERA_WRITE.
    - In a future CL, we'll factor this into a common function called by both
      backends.
  - simplify xe_bo_map()
    - The conditional body is always taken, so remove the conditional entirely.
  - mark late-gen12 as mtl_or_newer until proper version handling is used.

BUG=b:358427077
TEST=drm-tests (see above)

Change-Id: I1eaa1dcce6cee706a421b3c4d6a532a6b83f8564
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/6245159
Tested-by: Ryan Neph <ryanneph@google.com>
Commit-Queue: Ryan Neph <ryanneph@google.com>
Reviewed-by: Matt Turner <msturner@google.com>
Reviewed-by: Lina Versace <linyaa@google.com>
2025-02-10 11:07:50 -08:00
cros_gralloc cros_gralloc: Avoid using masks in handle_usage() 2024-10-15 16:19:58 +00:00
external xe: add initial Xe kmd support for gen12 xelp 2025-02-10 11:07:50 -08:00
.clang-format minigbm: add clang-format and presubmit hooks 2017-03-31 10:40:27 -07:00
amdgpu.c dri: pass use_flags to dri_bo_create_with_modifiers 2024-09-04 02:19:39 +00:00
backend_mock.c minigbm: format fix 2024-05-01 08:09:45 +00:00
common.mk minigbm: Update common.mk to unbreak gcc and bfd builds 2024-09-03 12:44:03 +00:00
DIR_METADATA DIR_METADATA: Add V2 Test Plans. 2022-11-30 01:25:57 +00:00
dri.c dri: pass use_flags to dri_bo_create_with_modifiers 2024-09-04 02:19:39 +00:00
dri.h dri: pass use_flags to dri_bo_create_with_modifiers 2024-09-04 02:19:39 +00:00
drv.c xe: add initial Xe kmd support for gen12 xelp 2025-02-10 11:07:50 -08:00
drv.h i915: Remove media compression support 2024-09-25 15:34:16 +00:00
drv_array_helpers.c minigbm: refactor driver helpers 2021-10-01 18:35:11 +00:00
drv_array_helpers.h minigbm: refactor driver helpers 2021-10-01 18:35:11 +00:00
drv_helpers.c xe: add initial Xe kmd support for gen12 xelp 2025-02-10 11:07:50 -08:00
drv_helpers.h Revert "gralloc: Error when locking buffer alloc'd without CPU_ usage" 2024-10-08 20:42:45 +00:00
drv_priv.h minigbm: Add an API to return cache attributes 2024-02-01 17:40:19 +00:00
dumb_driver.c minigbm: Add more dumb drivers 2022-12-07 14:36:24 +00:00
gbm.c minigbm: add gbm_{bo,surface}_create_with_modifiers2 2024-03-12 11:19:37 +00:00
gbm.h minigbm: #define MINIGBM_HAS_GBM_BO_GET_MAP_INFO 2024-06-18 03:02:33 +00:00
gbm_helpers.c minigbm: passthrough SENSOR_DIRECT_DATA via gbm frontend 2022-07-26 23:41:35 +00:00
gbm_helpers.h minigbm: standardize naming of buffer creation flags 2017-10-02 17:27:17 -07:00
gbm_priv.h minigbm: add clang-format and presubmit hooks 2017-03-31 10:40:27 -07:00
gbm_unittest.cc minigbm: format fix 2024-05-01 08:09:45 +00:00
i915.c [i915] Use write-combining for offset map case. 2025-01-09 22:30:59 -08:00
intel_defines.h xe: add initial Xe kmd support for gen12 xelp 2025-02-10 11:07:50 -08:00
LICENSE minigbm: Add a LICENSE file 2017-04-21 21:57:32 -07:00
Makefile xe: add initial Xe kmd support for gen12 xelp 2025-02-10 11:07:50 -08:00
mediatek.c minigbm: Fix 10bit protected allocations on MTK 2024-10-28 07:50:21 +00:00
minigbm_helpers.c minigbm: clean up legacy gbm_get_default_device_fd usage 2023-03-09 05:06:53 +00:00
minigbm_helpers.h minigbm: clean up legacy gbm_get_default_device_fd usage 2023-03-09 05:06:53 +00:00
msm.c msm: pad extra for YV12 to align with freedreno fdl_layout 2024-04-29 23:20:14 +00:00
OWNERS Remove marcheu@chromium.org from OWNERS 2024-11-21 20:10:59 +00:00
PRESUBMIT.cfg minigbm: fix typo in PRESUBMIT.cfg 2017-05-20 03:55:21 -07:00
presubmit.sh minigbm: i915: use local i915 drm header 2020-11-25 22:35:14 +00:00
rockchip.c minigbm: clean up bo.handles 2023-04-09 18:57:40 +00:00
testrunner.cc minigbm: add unit test for minigbm public apis 2024-01-30 20:59:57 +00:00
util.h xe: add initial Xe kmd support for gen12 xelp 2025-02-10 11:07:50 -08:00
vc4.c minigbm: clean up bo.handles 2023-04-09 18:57:40 +00:00
virtgpu.c drv/virtgpu: add log level for logging 2022-07-14 08:48:27 +00:00
virtgpu.h Add format filtering for virgl gfxstream 2024-08-01 15:42:33 +00:00
virtgpu_cross_domain.c virtgpu_cross_domain: fix planar size calculation 2024-09-11 02:25:27 +00:00
virtgpu_virgl.c Initialize emulated_metadata fields to avoid uninitialized warnings 2024-08-27 00:06:40 +00:00
xe.c xe: add initial Xe kmd support for gen12 xelp 2025-02-10 11:07:50 -08:00