Bug: b:444260542
Test: Builds, CQ
Change-Id: I544c58d57529696c313601aafce2d75f133b874c
Signed-off-by: George D Sworo <george.d.sworo@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/6932115
Reviewed-by: Ryan Neph <ryanneph@google.com>
Reviewed-by: Miguel Quintero <miguelquintero@google.com>
Commit-Queue: Miguel Quintero <miguelquintero@google.com>
Tested-by: Ryan Neph <ryanneph@google.com>
This is needed for ARC-R container targets using arc-cros-gralloc.
Meanwhile, bump -std=c++14 to -std=c++17 for std::optional and others.
Bug: b/433317686
Test: chromium CI + android CI
Change-Id: Id9ed5f27f6788ca63d0bdb9566c54b3cd4030e16
The write permission for restricted_mtk_cma is unnecessary.
Bug: 433330646
Test: allocate a buffer with GRALLOC_USAGE_PROTECTED usage
Flag: EXEMPT: desktop-only change
Change-Id: Id99a0e03f2e1c7cbb9f15596316dd21aaebdf4a3
All of virgl, venus and gfxstream have long been able to handle the
limited blob mem usage in the legacy backend.
BUG=b:327668289
TEST=AHB cts passing with Venus on Cuttlefish on ANV
Change-Id: Ie6a26c2e5e74faac6f8db060ffcfbb2364610d41
This change modifies buffer allocation to include necessary padding
for buffers with the BO_USE_CURSOR flag. This behavior mirrors
identical logic in the i915, xe, and mtk implementations.
Bug: b/426503691
Change-Id: Ic572a970dcde0606fa9ec5844c57d3136c5d0b84
(cherry picked from commit f13b0faac8501a3bf3eb90f2fd07107728576876)
Rather than use `clang-format` from $PATH (which changes between devs),
use `cros format` which has a pinned version for all people.
Add *.cpp to the include list as not all C++ files use *.cc.
Then run format on the files to fix latent issues.
BUG=None
TEST=./presubmit.sh
Change-Id: I28e167d454a7b089bb79e932b7265fa87e4c331f
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/6475964
Commit-Queue: Mike Frysinger <vapier@chromium.org>
Tested-by: Ryan Neph <ryanneph@google.com>
Tested-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Ryan Neph <ryanneph@google.com>
Reviewed-by: Dominik Behr <dbehr@chromium.org>
Bug: None
Test: lunch brya-trunk_staging-userdebug && m libminigbm_gralloc
Change-Id: I23022dbb536ade53951fe61014c5056e114f4bbc
Everything now builds under the same minigbm name for all platforms.
Bug: 388092228
Test: Boot corsola to desktop
Flag: EXEMPT: desktop-only change
Change-Id: I00708383151f832bcccec1aad8091f422dfcf2c3
This change modifies buffer allocation to include necessary padding
for buffers with the BO_USE_CURSOR flag. This behavior mirrors
identical logic in the i915 and xe implementations.
Bug: b/420919101
Change-Id: I113162cf400116e2627b2a6bb20b560207117cf3
For bringup purpose, SS VK might be used to boot the system. To ease the
runtime vulkan icd switch, normally we preset TARGET_BOARD_PLATFORM to
pastel, so that to leave ro.hardware.vulkan unset post boot. At runtime,
we can push a real hw driver and set ro.hardware.vulkan to switch to it,
which can be safely reset after reboot.
Bug: b/417259528
Test: boot to ui with SS VK chosen by TARGET_BOARD_PLATFORM
Change-Id: I37212fadaf007c2c2d054b878f0a4f411f1a6fe8
This change modifies buffer allocation to include necessary padding
for buffers with the BO_USE_CURSOR flag. This behavior mirrors
identical logic in the i915 implementation.
Bug: b/417750580
Change-Id: I3358678fd194eff24fad2cb3749ca59bac33afb8
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/6546486
Commit-Queue: Andrew Wolfers <aswolfers@chromium.org>
Tested-by: Andrew Wolfers <aswolfers@chromium.org>
Reviewed-by: Ryan Neph <ryanneph@google.com>
Reviewed-by: Drew Davenport <ddavenport@chromium.org>
goldfish-opengl will be retired
Bug: 416327221
Test: presubmit
Change-Id: Ie7250187d9604f9c6f9d368a513493dc72aa5c58
Signed-off-by: Roman Kiryanov <rkir@google.com>
for all render/scanout formats and R8 and non YUV image source formats.
Bug: 414820115
Test: run dEQP-VK.image.swapchain_mutable.android.2d_array
Change-Id: I074f84b75f9096a77c9db90e66fcbd98672372ea
so that to avoid any residual init, vintf, libs, etc when switching
gralloc backends for incremental builds.
Bug: N/A
Test: toggle between gralloc version and m and check
Change-Id: I2c19aa115b584de938e2364e40a52c56c901adda
Android gralloc via AIDL allows use of AHB-backed external memory for
storage images with usage AHARDWAREBUFFER_USAGE_GPU_DATA_BUFFER; its
equivalents are VK_IMAGE_USAGE_STORAGE_BIT/BO_USE_GPU_DATA_BUFFER.
On older interfaces before gralloc 4.1/AIDL, BO_USE_GPU_DATA_BUFFER
is only allowed for BLOB formats; this adds it to combinations with
non-BLOB formats for the newer interfaces.
The image_storage_formats list is a subset of the formats being used
that support VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT which for anv is
power-of-two formats; here it ends up excluding the YCbCr formats.
Bug: 397763052
Test: dEQP-VK.wsi.android.[display_timing.*/ swapchain*]
Change-Id: I6b034790fa77f15fb341acfae4a45255231a5a14
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/6442090
Commit-Queue: Juston Li <justonli@google.com>
Commit-Queue: ChromeOS Auto Runner <chromeos-auto-runner@chromeos-bot.iam.gserviceaccount.com>
Reviewed-by: Ryan Neph <ryanneph@google.com>
Tested-by: Juston Li <justonli@google.com>
(cherry picked from commit db68fa51e4b7ed19546c80806da9f462c3b5c8d7)
RPL is the only Xe-supported board that was missing PCI ids that were
present in the i915 backend. Add them to Xe backend for parity.
Reformatted adlp_ids to match other arrays, no functional changes.
BUG=b:410014030
TEST=ChromeOS CQ
TEST=Android Presubmit
Change-Id: I2714133456893b59ade7572e5634716953b2bbd7
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/6454754
Reviewed-by: Matt Turner <msturner@google.com>
Auto-Submit: Ryan Neph <ryanneph@google.com>
Commit-Queue: ChromeOS Auto Retry <chromeos-auto-retry@chromeos-bot.iam.gserviceaccount.com>
Tested-by: Ryan Neph <ryanneph@google.com>
(cherry picked from commit 972cf6778f284cdf7350e0ab9492323ed4201ccf)
if the heap is available
Bug: b/406253026
Test: run android.graphics.cts.BitmapTest#testWrapHardwareBufferWithProtectedUsageFails
Flag: EXEMPT: desktop-only change
Change-Id: Ifbd1d75e63609e5e7c24e0ec6dce7aaba9f14b98
On Android, cros-codecs needs NV12 buffers that can be written to by the
CPU so that it can do MM21->NV12 de-tiling using libyuv. On Android, we
can't specify that we want NV12 buffers specifically using the gralloc
API. Instead, we ask for DRM_FORMAT_FLEX_YCbCr_420_888 and hope for the
best.
Before this CL, minigbm was returning YV12 buffers in this case on
corsola. This CL makes it so that on the mediatek backend,
DRM_FORMAT_FLEX_YCbCr_420_888 is always resolved to NV12 outside of
MT8173.
Bug: 408498122
Bug: 408503818
Test: adb -s $DUT shell codec -vpR /tmp/1080.mp4 on corsola
Test: vts-tradefed run vts --serial $DUT -m VtsHalMediaC2V1_0TargetVideoDecTest on corsola
Change-Id: Idbdba3434fdfdb0bf12aa7c92d1f9523e5870aba
Add build changes for mt8186.
Add ARM metadata types: compression, plane fds and data type.
Add mediatek_drm.h which is not available.
Bug: 388092228
Test: boot corsola with minigbm gralloc/mapper
Change-Id: I1f1e8a57f37e26694320c3ddee01fbad453f854b
Bring in from upstream:
* d30ea066 (crrev/c/6394316) intel_defines: Add ADL-N PCI ids
Get these earlier missed changes from upstream:
* 3dd534cc Add padding for i915 cursor buffers
* aec65367 virtgpu_cross_domain: Hold a lock for all of bo_create
Bug: 403278247
Test: CI
Change-Id: I0abfa7707032a4601dc456628b20a30ea498e8ea