minigbm: passthrough SENSOR_DIRECT_DATA via gbm frontend
BUG=b:238609372 TEST=vts -m VtsHalSensorsV2_1TargetTest Change-Id: I37834f80d71e453e6e29b88198efc1584c109456 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/3773926 Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org> Commit-Queue: Jason Macnak <natsu@google.com> Tested-by: Jason Macnak <natsu@google.com>
This commit is contained in:
parent
d0cce89e65
commit
80f664c422
8 changed files with 16 additions and 6 deletions
3
amdgpu.c
3
amdgpu.c
|
|
@ -425,7 +425,8 @@ static int amdgpu_init(struct driver *drv)
|
|||
*/
|
||||
drv_modify_combination(drv, DRM_FORMAT_R8, &metadata,
|
||||
BO_USE_CAMERA_READ | BO_USE_CAMERA_WRITE | BO_USE_HW_VIDEO_DECODER |
|
||||
BO_USE_HW_VIDEO_ENCODER | BO_USE_GPU_DATA_BUFFER);
|
||||
BO_USE_HW_VIDEO_ENCODER | BO_USE_GPU_DATA_BUFFER |
|
||||
BO_USE_SENSOR_DIRECT_DATA);
|
||||
|
||||
/*
|
||||
* The following formats will be allocated by the DRI backend and may be potentially tiled.
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ static int dumb_driver_init(struct driver *drv)
|
|||
drv_modify_combination(drv, DRM_FORMAT_R8, &LINEAR_METADATA,
|
||||
BO_USE_HW_VIDEO_ENCODER | BO_USE_HW_VIDEO_DECODER |
|
||||
BO_USE_CAMERA_READ | BO_USE_CAMERA_WRITE |
|
||||
BO_USE_GPU_DATA_BUFFER);
|
||||
BO_USE_GPU_DATA_BUFFER | BO_USE_SENSOR_DIRECT_DATA);
|
||||
drv_modify_combination(drv, DRM_FORMAT_NV12, &LINEAR_METADATA,
|
||||
BO_USE_HW_VIDEO_ENCODER | BO_USE_HW_VIDEO_DECODER |
|
||||
BO_USE_CAMERA_READ | BO_USE_CAMERA_WRITE);
|
||||
|
|
|
|||
5
gbm.h
5
gbm.h
|
|
@ -300,6 +300,11 @@ enum gbm_bo_flags {
|
|||
* object.
|
||||
*/
|
||||
GBM_BO_USE_GPU_DATA_BUFFER = (1 << 18),
|
||||
|
||||
/**
|
||||
* The buffer will be used as a sensor direct report output.
|
||||
*/
|
||||
GBM_BO_USE_SENSOR_DIRECT_DATA = (1 << 19),
|
||||
};
|
||||
|
||||
int
|
||||
|
|
|
|||
|
|
@ -48,6 +48,8 @@ uint64_t gbm_convert_usage(uint32_t usage)
|
|||
use_flags |= BO_USE_FRONT_RENDERING;
|
||||
if (usage & GBM_BO_USE_GPU_DATA_BUFFER)
|
||||
use_flags |= BO_USE_GPU_DATA_BUFFER;
|
||||
if (usage & GBM_BO_USE_SENSOR_DIRECT_DATA)
|
||||
use_flags |= BO_USE_SENSOR_DIRECT_DATA;
|
||||
|
||||
return use_flags;
|
||||
}
|
||||
|
|
|
|||
3
i915.c
3
i915.c
|
|
@ -235,7 +235,8 @@ static int i915_add_combinations(struct driver *drv)
|
|||
*/
|
||||
drv_modify_combination(drv, DRM_FORMAT_R8, &metadata_linear,
|
||||
BO_USE_CAMERA_READ | BO_USE_CAMERA_WRITE | BO_USE_HW_VIDEO_DECODER |
|
||||
BO_USE_HW_VIDEO_ENCODER | BO_USE_GPU_DATA_BUFFER);
|
||||
BO_USE_HW_VIDEO_ENCODER | BO_USE_GPU_DATA_BUFFER |
|
||||
BO_USE_SENSOR_DIRECT_DATA);
|
||||
|
||||
const uint64_t render_not_linear = unset_flags(render, linear_mask);
|
||||
const uint64_t scanout_and_render_not_linear = render_not_linear | BO_USE_SCANOUT;
|
||||
|
|
|
|||
|
|
@ -110,7 +110,7 @@ static int mediatek_init(struct driver *drv)
|
|||
drv_modify_combination(drv, DRM_FORMAT_R8, &metadata,
|
||||
BO_USE_HW_VIDEO_DECODER | BO_USE_HW_VIDEO_ENCODER |
|
||||
BO_USE_CAMERA_READ | BO_USE_CAMERA_WRITE |
|
||||
BO_USE_GPU_DATA_BUFFER);
|
||||
BO_USE_GPU_DATA_BUFFER | BO_USE_SENSOR_DIRECT_DATA);
|
||||
|
||||
/* NV12 format for encoding and display. */
|
||||
drv_modify_combination(drv, DRM_FORMAT_NV12, &metadata,
|
||||
|
|
|
|||
3
msm.c
3
msm.c
|
|
@ -260,7 +260,8 @@ static int msm_init(struct driver *drv)
|
|||
*/
|
||||
drv_modify_combination(drv, DRM_FORMAT_R8, &LINEAR_METADATA,
|
||||
BO_USE_CAMERA_READ | BO_USE_CAMERA_WRITE | BO_USE_HW_VIDEO_DECODER |
|
||||
BO_USE_HW_VIDEO_ENCODER | BO_USE_GPU_DATA_BUFFER);
|
||||
BO_USE_HW_VIDEO_ENCODER | BO_USE_GPU_DATA_BUFFER |
|
||||
BO_USE_SENSOR_DIRECT_DATA);
|
||||
|
||||
/*
|
||||
* Android also frequently requests YV12 formats for some camera implementations
|
||||
|
|
|
|||
|
|
@ -108,7 +108,7 @@ static int rockchip_init(struct driver *drv)
|
|||
drv_add_combination(drv, DRM_FORMAT_R8, &metadata,
|
||||
BO_USE_CAMERA_READ | BO_USE_CAMERA_WRITE | BO_USE_SW_MASK |
|
||||
BO_USE_LINEAR | BO_USE_HW_VIDEO_DECODER | BO_USE_HW_VIDEO_ENCODER |
|
||||
BO_USE_GPU_DATA_BUFFER);
|
||||
BO_USE_GPU_DATA_BUFFER | BO_USE_SENSOR_DIRECT_DATA);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue