Commit graph

1853 commits

Author SHA1 Message Date
Yiwei Zhang
a0cb38aa68 minigbm: update OWNERS
Make it more up to date.

BUG=n/a
TEST=n/a

Change-Id: I0416c2dd02c3ee24155bb94d7b96ca1130098e50
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/5505016
Reviewed-by: Satoshi Niwa <niwa@chromium.org>
Commit-Queue: Yiwei Zhang <zzyiwei@chromium.org>
Tested-by: Yiwei Zhang <zzyiwei@chromium.org>
2024-05-01 08:09:47 +00:00
Yiwei Zhang
8291bfe6f1 minigbm: format fix
BUG=n/a
TEST=./presubmit.sh

Change-Id: Ic581ebe770c648ee344cfbe20ba6655786a2088e
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/5505015
Tested-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Satoshi Niwa <niwa@chromium.org>
Commit-Queue: Yiwei Zhang <zzyiwei@chromium.org>
2024-05-01 08:09:45 +00:00
Xin Li
7d44c6d7a1 [automerger skipped] Empty merge of Android 24Q2 Release (ab/11526283) to aosp-main-future am: d13b794490 -s ours
am skip reason: Merged-In Id5aba2d004ce50074a6698d481949aa696fe52c4 with SHA-1 c48e2c8c7b is already in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/external/minigbm/+/27143311

Change-Id: Ib93d880dd92451df53bf7981b787108a71d57851
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-04-29 23:46:07 +00:00
Yiwei Zhang
772c24c476 msm: pad extra for YV12 to align with freedreno fdl_layout
BUG=b:285941238
TEST=android.media.decoder.cts.DecodeAccuracyTest

Change-Id: Iab3c1c9a67af2033fd45b7ee254b2cbdc927684c
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/5460257
Tested-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Commit-Queue: Yiwei Zhang <zzyiwei@chromium.org>
2024-04-29 23:20:14 +00:00
Xin Li
d13b794490 Empty merge of Android 24Q2 Release (ab/11526283) to aosp-main-future
Bug: 337098550
Merged-In: Id5aba2d004ce50074a6698d481949aa696fe52c4
Change-Id: Ib985c9702145c6973178ec98cef74edb4983e0d7
2024-04-29 11:50:13 -07:00
Marcin Radomski
94c98ebc15 minigbm: add bindgen-generated Rust bindings am: 65742c01dd am: c48e2c8c7b
Original change: https://android-review.googlesource.com/c/platform/external/minigbm/+/3000518

Change-Id: Idd8fc0fbc28fefacbb0e5947d2c58a4167718693
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-03-19 00:48:08 +00:00
Marcin Radomski
c48e2c8c7b minigbm: add bindgen-generated Rust bindings am: 65742c01dd
Original change: https://android-review.googlesource.com/c/platform/external/minigbm/+/3000518

Change-Id: Id5aba2d004ce50074a6698d481949aa696fe52c4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-03-19 00:32:15 +00:00
Marcin Radomski
65742c01dd minigbm: add bindgen-generated Rust bindings
This provides the bindings necessary to use the Rust gbm crate within
Android source tree. Bindgen flags used in the rust_bindgen definition,
as well as the workaround described in wrapper.h were based on upstream
gbm-sys crate's build.rs [1].

Looking at other rust_bindgen modules, they are generally defined
alongside the native module they provide bindings to.

Details: go/drm-gbm-rust-crates-for-android

[1] 606c4260e0/gbm-sys/build.rs (L78)

Bug: b/328181805
Test: lunch aosp_cf_x86_64_only_phone-trunk_staging-userdebug && m
Test: m libgbm_sys
Change-Id: I3065f7fe35f4a86b72ac90c34476da6304155daf
2024-03-18 18:48:46 +00:00
Carlos Santa
2c062d8347 minigbm: Add support for CCS Media Compression on MTL
BUG=b:201620358
TEST=null_platform_test -m I915_FORMAT_MOD_4_TILED_MTL_MC_CCS success

cat /sys/kernel/debug/dri/1/i915_display_info during rendering

uapi: [FB:434] XR24 little-endian (0x34325258),0x10000000000000e,1920x1200, visible=visible, src=1920.000000x1200.000000+0.000000+0.000000, dst=1920x1200+0+0, rotation=0 (0x00000001)
                hw: [FB:434] XR24 little-endian (0x34325258),0x10000000000000e,1920x1200, visible=yes, src=1920.000000x1200.000000+0.000000+0.000000, dst=1920x1200+0+0, rotation=0 (0x00000001)
        [PLANE:47:plane 2A]: type=OVL

and make sure the modifier shows 0x10000000000000e

v3: Rebased the patch as per latest tip and fixes.

Credits-to: Bai, Guangyao <guangyao.bai@intel.com>
		Heikkila, Juha-pekka <juha-pekka.heikkila@intel.com>
		Ma, Zhaoliang <zhaoliang.ma@intel.com>

Change-Id: I9d9391a2f9b1f8d78f2a70b729f1fcc86b76679d
Signed-off-by: Lobo, Melanie <melanie.lobo@intel.com>
Signed-off-by: Santa, Carlos <carlos.santa@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/5351727
Commit-Queue: Vidya Srinivas <vidya.srinivas@intel.com>
Reviewed-by: Dominik Behr <dbehr@chromium.org>
2024-03-18 06:25:17 +00:00
Jiyong Park
2da8bb7db6 Merge "Link libdrm statically" into main am: 66c52b3f63 am: dbf33c2826
Original change: https://android-review.googlesource.com/c/platform/external/minigbm/+/2997157

Change-Id: Ibe801c4ad2b650632c2b51a30b2216eb2d302a60
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-03-13 00:54:31 +00:00
Roman Stratiienko
dd62167b6f cros_gralloc: Remove Android.bp files
Android.bp files are maintained in the AOSP fork repository.

Change-Id: I492e0c2154b22cd4cda85e379df2578b352c23df
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/4961034
Commit-Queue: Jason Macnak <natsu@google.com>
Reviewed-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Jason Macnak <natsu@google.com>
2024-03-13 00:34:56 +00:00
Jiyong Park
dbf33c2826 Merge "Link libdrm statically" into main am: 66c52b3f63
Original change: https://android-review.googlesource.com/c/platform/external/minigbm/+/2997157

Change-Id: Ia616fd580fd666b3982c49feb67bd04bb380882a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-03-13 00:12:04 +00:00
Jiyong Park
66c52b3f63 Merge "Link libdrm statically" into main 2024-03-13 00:01:23 +00:00
Sadaf Ebrahimi
1d225427a9 Edit METADATA file am: 9a9728ccf0 am: 65506a52c3
Original change: https://android-review.googlesource.com/c/platform/external/minigbm/+/3001417

Change-Id: I7bb418ca6b3e1c46ec84edeb109c8d5d493349b9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-03-12 21:58:30 +00:00
Sadaf Ebrahimi
65506a52c3 Edit METADATA file am: 9a9728ccf0
Original change: https://android-review.googlesource.com/c/platform/external/minigbm/+/3001417

Change-Id: I4d9a3b2666d6d11d24db7a63abcbb500349f0707
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-03-12 21:16:04 +00:00
Marcin Radomski
6063078add Merge remote-tracking branch 'cros/main' am: b1dc373138 am: c220ea3280
Original change: https://android-review.googlesource.com/c/platform/external/minigbm/+/3000517

Change-Id: Ie83476cc2c1062e77ef9fb6a19ba9d060241c416
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-03-12 18:41:26 +00:00
Marcin Radomski
c220ea3280 Merge remote-tracking branch 'cros/main' am: b1dc373138
Original change: https://android-review.googlesource.com/c/platform/external/minigbm/+/3000517

Change-Id: I8dbdf6c867ad73da527df9476ef8c5ca1b3d6b3f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-03-12 17:57:52 +00:00
Sadaf Ebrahimi
9a9728ccf0 Edit METADATA file
Version field was empty.

Bug: 329270863
Test: TreeHugger
Change-Id: I0f92f4a139d986cc63c967a47e0577b83622a23f
2024-03-12 17:54:01 +00:00
Marcin Radomski
b1dc373138 Merge remote-tracking branch 'cros/main'
To pull in https://crrev.com/c/5352370 and https://crrev.com/c/5352371.

Additionally, add backend_mock.c to Android.bp. It was added in
https://crrev.com/c/4923791, and drv.c uses symbols defined there
unconditionally.

The one merge conflict was an i915->is_media_compression_enabled assert
in i915_num_planes_from_modifier [1] that was removed upstream in
https://crrev.com/c/5118242. The assertion referenced a flag that was
set through an ENABLE_INTEL_MEDIA_COMPRESSION environment variable.
There are no references to that variable in AOSP sources.

[1] https://cs.android.com/android/platform/superproject/main/+/main:external/minigbm/i915.c;l=591;drc=350c09cf0fa662928e208eb6749a1f3ca34dac9f

Bug: b/328181805
Test: lunch aosp_cf_x86_64_only_phone-trunk_staging-userdebug
Test: m && cvd start && atest SurfaceFlinger_test
Change-Id: I8faba268580ad984af92a63c47366d6a69e8c9d0
2024-03-12 14:52:29 +00:00
Marcin Radomski
40b28f098a minigbm: add gbm_{bo,surface}_create_with_modifiers2
Rationale: this will help get Rust gbm bindings into Android
(go/drm-gbm-rust-crates-for-android) without needing minigbm-specific
patches to upstream Rust code.

Upstream Mesa gbm defines those functions as variants with an extra
"flags" argument[2][3] (these don't exist in the mesa version checked
into Chromium though). The definitions added in this CL provide variants
that fail for any non-zero flags.

[1] https://crates.io/crates/gbm
[2] b7d6d90dab/src/gbm/main/gbm.h (L303)
[3] b7d6d90dab/src/gbm/main/gbm.h (L443)

Bug: 328363177
Test: cros build-packages --board=amd64-generic minigbm drm-tests
Change-Id: I9284d597e2d4de5ff9b677db0a0ffe6d274e4f57
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/5352371
Reviewed-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Commit-Queue: Marcin Radomski <dextero@google.com>
Tested-by: Marcin Radomski <dextero@google.com>
2024-03-12 11:19:37 +00:00
Marcin Radomski
3b508e145f minigbm: use int instead of size_t for plane index
Rationale: this will help get Rust gbm bindings into Android
(go/drm-gbm-rust-crates-for-android) without needing minigbm-specific
patches to upstream Rust code.

Mesa gbm defines the plane argument for some functions as int rather
than size_t. While this doesn't bother C/C++ compilers too much,
attempting to use bindgen-generated Rust bindings to minigbm with gbm
Rust crate[1] fails.

[1] https://crates.io/crates/gbm

Bug: 328363177
Test: cros build-packages --board=amd64-generic minigbm drm-tests
Change-Id: I5938633e0936bf1b9aafb856bfb966ceb1fb1a2b
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/5352370
Reviewed-by: Dominik Behr <dbehr@chromium.org>
Commit-Queue: Marcin Radomski <dextero@google.com>
Tested-by: Marcin Radomski <dextero@google.com>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
2024-03-12 11:19:34 +00:00
Jason Macnak
e950d82ae2 drv: Use __func__ instead of __FILE__
... to avoid needing a basename() which is dropped from string.h
in musl.

Bug: b/328316038
Test: android build
Change-Id: Ib619b9c45a30ce69be30270fe7da0f13421179be
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/5352313
Commit-Queue: Dominik Behr <dbehr@chromium.org>
Auto-Submit: Jason Macnak <natsu@google.com>
Reviewed-by: Dominik Behr <dbehr@chromium.org>
Tested-by: Jason Macnak <natsu@google.com>
Reviewed-by: Dawn Han <dawnhan@google.com>
2024-03-12 00:27:45 +00:00
Justin Green
1b84258e66 mediatek: Add AR30 overlay support
Add support for AR30 overlays to select MTK devices.

BUG=b:325625530
TEST=Tested by running MT2T->AR30 image processing tests on MT8188G.

Change-Id: I570ee740e49b5d9c61a1e1d0da777fdcc937321d
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/5345669
Reviewed-by: Miguel Casas-Sanchez <mcasas@chromium.org>
Commit-Queue: Justin Green <greenjustin@google.com>
Reviewed-by: Jeffrey Kardatzke <jkardatzke@google.com>
Tested-by: Justin Green <greenjustin@google.com>
2024-03-11 19:08:31 +00:00
Jiyong Park
e8329c44a1 Link libdrm statically
Bug: 326147655
Test: check the existence of libdrm.so
Change-Id: I950ffb24b4a72a5349d0842e498932c3557a2378
2024-03-11 15:49:58 +09:00
Vidya Srinivas
8441cb7b81 Revert "minigbm: Add support for CCS Media Compression on MTL"
Revert reason: Seeing regression with media compression patches.
Video playback is falling back to SW decode.
Reverting media compression for now.

This reverts commit 4492f45651.

Change-Id: I20b84a90f7e7b49559db6fe04e976db159ddfb17
Signed-off-by: Vidya Srinivas <vidya.srinivas@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/5343756
Reviewed-by: Hirokazu Honda <hiroh@chromium.org>
Commit-Queue: Hirokazu Honda <hiroh@chromium.org>
2024-03-05 18:04:26 +00:00
Vidya Srinivas
5769945228 Revert "minigbm: Fix Alignment issues for MTL Media Compression"
Revert reason: Seeing regression with media compression patches.
Video playback is falling back to SW decode.
Reverting media compression for now.

This reverts commit 33b8c3eb40.

Change-Id: I7f544acc0248887763afeefa056b42f15bdd2b88
Signed-off-by: Vidya Srinivas <vidya.srinivas@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/5343755
Reviewed-by: Hirokazu Honda <hiroh@chromium.org>
Commit-Queue: Hirokazu Honda <hiroh@chromium.org>
2024-03-05 18:04:24 +00:00
Vidya Srinivas
33b8c3eb40 minigbm: Fix Alignment issues for MTL Media Compression
Credits-to: Bai, Guangyao <guangyao.bai@intel.com>
	    Heikkila, Juha-pekka <juha-pekka.heikkila@intel.com>

BUG=b:201620358
TEST=vaapi_unittest --gtest_filter=*VaapiMinigbmTest*
--single-process-tests

Change-Id: Ib8e261a1e53e9678dfd56d61646a024dd648d9e2
Signed-off-by: Melanie Lobo <melanie.lobo@intel.com>
Signed-off-by: Vidya Srinivas <vidya.srinivas@intel.com>
Signed-off-by: Zhaoliang Ma <zhaoliang.ma@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/5312160
Reviewed-by: Dominik Behr <dbehr@chromium.org>
Commit-Queue: ChromeOS Auto Retry <chromeos-auto-retry@chromeos-bot.iam.gserviceaccount.com>
2024-02-29 01:00:07 +00:00
Carlos Santa
4492f45651 minigbm: Add support for CCS Media Compression on MTL
BUG=b:201620358
TEST=null_platform_test -m I915_FORMAT_MOD_4_TILED_MTL_MC_CCS success

cat /sys/kernel/debug/dri/1/i915_display_info during rendering

uapi: [FB:434] XR24 little-endian (0x34325258),0x10000000000000e,1920x1200, visible=visible, src=1920.000000x1200.000000+0.000000+0.000000, dst=1920x1200+0+0, rotation=0 (0x00000001)
                hw: [FB:434] XR24 little-endian (0x34325258),0x10000000000000e,1920x1200, visible=yes, src=1920.000000x1200.000000+0.000000+0.000000, dst=1920x1200+0+0, rotation=0 (0x00000001)
        [PLANE:47:plane 2A]: type=OVL

and make sure the modifier shows 0x10000000000000e

v2: Rebased the patch as per latest tip.

Change-Id: I7a63b471f932afca082d23f26d9d2c10200e8c80
Signed-off-by: Carlos Santa <carlos.santa@intel.com>
Signed-off-by: Vidya Srinivas <vidya.srinivas@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/5312159
Commit-Queue: ChromeOS Auto Retry <chromeos-auto-retry@chromeos-bot.iam.gserviceaccount.com>
Reviewed-by: Dominik Behr <dbehr@chromium.org>
2024-02-29 01:00:04 +00:00
Jason Macnak
bca615781a gralloc: Sync with AOSP
Bug: b/321158178
Test: untested, AOSP already builds
Change-Id: I0f405f840baf3da755b39a3a3c1028ecbc0915c4
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/5258793
Commit-Queue: Jason Macnak <natsu@google.com>
Tested-by: Jason Macnak <natsu@google.com>
Reviewed-by: Dawn Han <dawnhan@google.com>
2024-02-27 18:49:17 +00:00
Ap, Kamal
768057a63e i915.c: Add 2 additional ADL-N PCI ids
Ref:https://cgit.freedesktop.org/drm-intel/commit/?h=drm-intel-next&id=425b463859eda4f4c071e517267acdd1c0d731bd

BUG=b:325995751
TEST=Boot on Nissa

Change-Id: Ia8bc74b3b365db37271644bf3c56e070afb7403d
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/5312155
Reviewed-by: Lalith Rajendran <lalithkraj@google.com>
Commit-Queue: Kamal Ap <kamal.ap@intel.corp-partner.google.com>
Tested-by: Kamal Ap <kamal.ap@intel.corp-partner.google.com>
Reviewed-by: Dominik Behr <dbehr@chromium.org>
2024-02-26 18:09:13 +00:00
Chia-I Wu
eae1fe7e8b i915: make is_mtl a special case for bo cache
i915 kmd has a special case for MTL in shmem_object_init:

  if (HAS_LLC(i915) || (GRAPHICS_VER_FULL(i915) >= IP_VER(12, 70)))
    cache_level = I915_CACHE_LLC;

Meanwhile, its i915_gem_object_pin_to_display_plane has:

  ret = i915_gem_object_set_cache_level(obj,
    HAS_WT(i915) ?
    I915_CACHE_WT : I915_CACHE_NONE);

Let's report GBM_BO_MAP_CACHE_CACHED on MTL unless BO_USE_SCANOUT is
set.

BUG=b:325368420
TEST=no artifact in Camera FOV Calibration of CtsVerifier on rex
TEST=android.hardware.cts.CameraTest#testPreviewFpsRange

Change-Id: I0b3b3f13769bbd1db6f4f7194e58afc0f151eb47
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/5313949
Reviewed-by: Dawn Han <dawnhan@google.com>
Tested-by: Chia-I Wu <olv@google.com>
Commit-Queue: Chia-I Wu <olv@google.com>
2024-02-21 23:50:50 +00:00
Jooyung Han
9a3094261b Expose .rc/.xml for CF gralloc apex am: 9c5a81e4f1 am: 4eceb378d6
Original change: https://android-review.googlesource.com/c/platform/external/minigbm/+/2960348

Change-Id: I93299e00ed2f80f03164e666227c9c72037c8377
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-13 11:31:29 +00:00
Jooyung Han
4eceb378d6 Expose .rc/.xml for CF gralloc apex am: 9c5a81e4f1
Original change: https://android-review.googlesource.com/c/platform/external/minigbm/+/2960348

Change-Id: Iaf3c8fb843e004a894ec2c86707b633cf7af4d07
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-13 10:52:06 +00:00
Hang Nguyen
0c9b2096a9 i915.c: Allocate Intel compressed buffers with modifiers
Before the CL, the environment variable
|ENABLE_INTEL_MEDIA_COMPRESSION| control minigbm's behaviour
to allocate the appropriate Intel media compressed buffers.
This variable is set accordingly to a feature flag in chrome
to support video decoding.

This CL removes the environment variable and will let chrome
pass the DRM specific modifier via
gbm_bo_create_with_modifiers() instead. With the modifier
passed, the CL includes the change to have the driver
compute the metadata for the compressed buffers.

BUG=b:315390307
TEST=Video playyback on chrome with MC support.

Change-Id: I9671443cd233295dcb904d6edc995efd19c1013a
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/5118242
Tested-by: Hang Nguyen <hnt@chromium.org>
Commit-Queue: Hang Nguyen <hnt@chromium.org>
Reviewed-by: Dominik Behr <dbehr@chromium.org>
2024-02-07 01:57:48 +00:00
Jooyung Han
9c5a81e4f1 Expose .rc/.xml for CF gralloc apex
Bug: 312358547
Test: allocator HAL service works from CF
Change-Id: I0d7a58b23af1150a98856be7ad4ffc1e1efb42b8
2024-02-06 16:13:00 +09:00
Chia-I Wu
d5420cce7f i915: report GBM_BO_MAP_CACHE_WC for scanout
If a bo has BO_USE_SCANOUT, and it is ever scanned out, the kernel
driver changes its cache level to WC.  But the change is not reflected
in the guest.  Let's be conservative and report GBM_BO_MAP_CACHE_WC when
BO_USE_SCANOUT is set.

BUG=b:323433235
TEST=Squid works properly with cross-domain on volteer

Change-Id: I9325ffc0cfef8778917e13d5021ae884ac7a6dfb
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/5255422
Reviewed-by: Dominik Behr <dbehr@chromium.org>
Tested-by: Yiwei Zhang <zzyiwei@chromium.org>
Commit-Queue: Yiwei Zhang <zzyiwei@chromium.org>
2024-02-05 20:52:25 +00:00
Chia-I Wu
e701ddbf02 i915: report GBM_BO_MAP_CACHE_CACHED iff has_llc
BUG=b:239718180, b:306548532
TEST=no artifact in Camera FOV Calibration of CtsVerifier on rex

Change-Id: Ia6a0d689fefe20e52db2c62328c97f4aa3558b63
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/5254324
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Tested-by: Chia-I Wu <olv@google.com>
Commit-Queue: Chia-I Wu <olv@google.com>
Reviewed-by: Rob Clark <robdclark@chromium.org>
2024-02-01 17:40:22 +00:00
Rob Clark
958cd774ae minigbm: Add an API to return cache attributes
Crosvm currently makes the simplistic assumption that if driver==i915
then cached mappings to guest should be used for minigbm allocated
buffers.  But this may not always be the correct choice.  And other
drivers can do cached mappings to, in certain cases.  But on ARM devices
in particular, we should be consistent in cachability when it comes to
CPU mappings.  So add a new minigbm API which crosvm can use to
determine how to map to guest.

BUG=b:239718180, b:306548532
TEST=no artifact in Camera FOV Calibration of CtsVerifier on rex

Change-Id: I5c9b6346270f6a2eb83e6637a911f2153f6120ff
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/3777567
Tested-by: Chia-I Wu <olv@google.com>
Auto-Submit: Rob Clark <robdclark@chromium.org>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Commit-Queue: Chia-I Wu <olv@google.com>
2024-02-01 17:40:19 +00:00
Fritz Koenig
e81321da13 mediatek: Add support for P010 allocation
Bug: b:278935312
Change-Id: Ia7f8a12d4edd60b1f1336787455942f1c750cda0
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/5241804
Tested-by: Fritz Koenig <frkoenig@chromium.org>
Commit-Queue: Fritz Koenig <frkoenig@chromium.org>
Reviewed-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Fei Shao <fshao@chromium.org>
2024-01-31 02:04:58 +00:00
Kaiyi Li
4baf42e47c virtgpu: define capset ids as macros
... to avoid using magic numbers.

TEST=compile
BUG=b:322199104

Change-Id: I8522596f2cb2d0e9bdc381440c7e9ad3bbaa3165
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/5246254
Tested-by: Kaiyi Li <kaiyili@google.com>
Commit-Queue: Kaiyi Li <kaiyili@google.com>
Reviewed-by: Dominik Behr <dbehr@chromium.org>
Auto-Submit: Kaiyi Li <kaiyili@google.com>
2024-01-31 01:44:11 +00:00
dawnhan
56f157bb8a minigbm: add unit test for minigbm public apis
This is the first change to add unit tests for the public APIs in
minigbm.
Only tests 3 APIs here for now, and just added some very simple input
for each api testing.

The ultimate goal would be cover more APIs and the input combinations.

BUG=b:304380938
TEST=cros_workon_make --board=guybrush minigbm --test
TEST=cros_run_unit_tests --board guybrush --packages "minigbm"
TEST=CQ

Change-Id: Id15806b7bc6cd9c4764bf08becec6546d72bb117
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/4923791
Commit-Queue: Dawn Han <dawnhan@google.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Tested-by: Dawn Han <dawnhan@google.com>
2024-01-30 20:59:57 +00:00
Kaiyi Li
52c63ae1a7 virtgpu virgl: assume 0 caps for unrecognized capset IDs
minigbm gralloc + gfxstream on the host will always fail the get caps
ioctl, but gralloc itself still works fine.

TEST=build and run the emulator
BUG=b:322199104

Change-Id: I35ebbdddbfb050ead76d61626f13f028cf909229
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/5241884
Auto-Submit: Kaiyi Li <kaiyili@google.com>
Commit-Queue: Kaiyi Li <kaiyili@google.com>
Tested-by: Kaiyi Li <kaiyili@google.com>
Reviewed-by: Dominik Behr <dbehr@chromium.org>
2024-01-30 20:55:34 +00:00
Jason Macnak
3a1e511437 gralloc: Avoid using std::optional in shared memory metadata
... to ensure the metadata is trivially copyable.

Bug: b/321158178
Test: vts -m VtsHalGraphicsAllocatorAidl_TargetTest
Test: vts -m VtsHalGraphicsMapperV4_0Target
Test: vts -m VtsHalGraphicsMapperStableC_TargetTest
Change-Id: Ib8cc1147692fa1e056108987339aff3e222ab0d7
2024-01-23 13:52:17 -08:00
Jason Macnak
92eb16bb24 gralloc: Move buffer metadata accessing into cros_gralloc_buffer
... to hide cros_gralloc_buffer_metadata from the AIDL/HIDL Apis.
No functional change expected.

Bug: b/321158178
Test: vts -m VtsHalGraphicsAllocatorAidl_TargetTest
Test: vts -m VtsHalGraphicsMapperV4_0Target
Test: vts -m VtsHalGraphicsMapperStableC_TargetTest
Change-Id: I33f17670a331385b0afe0e179cab8985b7fe78b9
2024-01-23 13:52:17 -08:00
Jason Macnak
bd616875b5 gralloc: Move buffer metadata initialization into common layer
... to dedup and support upcoming change to metadata initialization.

Bug: b/321158178
Test: vts -m VtsHalGraphicsAllocatorAidl_TargetTest
Test: vts -m VtsHalGraphicsMapperV4_0Target
Test: vts -m VtsHalGraphicsMapperStableC_TargetTest
Change-Id: Ib00873babcb2ec8816b0d319e675d6884594f618
2024-01-23 13:52:14 -08:00
John Reck
3c3a857928 Merge "Support an additional option to initialize the dataspace" into main am: c0d35dea72 am: 3bf344f827 am: 936378aa49
Original change: https://android-review.googlesource.com/c/platform/external/minigbm/+/2864908

Change-Id: Ic0deff9919736b28b1547e380a4dab82a052faef
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-11 18:10:39 +00:00
John Reck
936378aa49 Merge "Support an additional option to initialize the dataspace" into main am: c0d35dea72 am: 3bf344f827
Original change: https://android-review.googlesource.com/c/platform/external/minigbm/+/2864908

Change-Id: If58d06361f065c8a2c7f0966fb18480591bff20b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-11 17:36:28 +00:00
John Reck
3bf344f827 Merge "Support an additional option to initialize the dataspace" into main am: c0d35dea72
Original change: https://android-review.googlesource.com/c/platform/external/minigbm/+/2864908

Change-Id: I9355ece266d7b3a85c4daef3953eec4e2bfba199
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-11 17:04:43 +00:00
John Reck
c0d35dea72 Merge "Support an additional option to initialize the dataspace" into main 2023-12-11 16:30:57 +00:00
John Reck
46f078c8b0 Support an additional option to initialize the dataspace
Test: atest AHardwareBufferTest#Allocate2WithExtras
Change-Id: Ic0620087c331beaf758c1fb56ae6b343a1b68345
2023-12-08 14:48:09 -05:00