xref: /aosp_15_r20/external/minigbm/gbm_helpers.c (revision d95af8df99a05bcb8679a54dc3ab8e5cd312b38e)
1*d95af8dfSAndroid Build Coastguard Worker /*
2*d95af8dfSAndroid Build Coastguard Worker  * Copyright 2016 The Chromium OS Authors. All rights reserved.
3*d95af8dfSAndroid Build Coastguard Worker  * Use of this source code is governed by a BSD-style license that can be
4*d95af8dfSAndroid Build Coastguard Worker  * found in the LICENSE file.
5*d95af8dfSAndroid Build Coastguard Worker  */
6*d95af8dfSAndroid Build Coastguard Worker 
7*d95af8dfSAndroid Build Coastguard Worker #include <stddef.h>
8*d95af8dfSAndroid Build Coastguard Worker #include <stdio.h>
9*d95af8dfSAndroid Build Coastguard Worker 
10*d95af8dfSAndroid Build Coastguard Worker #include "drv.h"
11*d95af8dfSAndroid Build Coastguard Worker #include "gbm.h"
12*d95af8dfSAndroid Build Coastguard Worker 
gbm_convert_usage(uint32_t usage)13*d95af8dfSAndroid Build Coastguard Worker uint64_t gbm_convert_usage(uint32_t usage)
14*d95af8dfSAndroid Build Coastguard Worker {
15*d95af8dfSAndroid Build Coastguard Worker 	uint64_t use_flags = BO_USE_NONE;
16*d95af8dfSAndroid Build Coastguard Worker 
17*d95af8dfSAndroid Build Coastguard Worker 	if (usage & GBM_BO_USE_SCANOUT)
18*d95af8dfSAndroid Build Coastguard Worker 		use_flags |= BO_USE_SCANOUT;
19*d95af8dfSAndroid Build Coastguard Worker 	if (usage & GBM_BO_USE_CURSOR)
20*d95af8dfSAndroid Build Coastguard Worker 		use_flags |= BO_USE_CURSOR;
21*d95af8dfSAndroid Build Coastguard Worker 	if (usage & GBM_BO_USE_CURSOR_64X64)
22*d95af8dfSAndroid Build Coastguard Worker 		use_flags |= BO_USE_CURSOR_64X64;
23*d95af8dfSAndroid Build Coastguard Worker 	if (usage & GBM_BO_USE_RENDERING)
24*d95af8dfSAndroid Build Coastguard Worker 		use_flags |= BO_USE_RENDERING;
25*d95af8dfSAndroid Build Coastguard Worker 	if (usage & GBM_BO_USE_TEXTURING)
26*d95af8dfSAndroid Build Coastguard Worker 		use_flags |= BO_USE_TEXTURE;
27*d95af8dfSAndroid Build Coastguard Worker 	if (usage & GBM_BO_USE_LINEAR)
28*d95af8dfSAndroid Build Coastguard Worker 		use_flags |= BO_USE_LINEAR;
29*d95af8dfSAndroid Build Coastguard Worker 	if (usage & GBM_BO_USE_CAMERA_WRITE)
30*d95af8dfSAndroid Build Coastguard Worker 		use_flags |= BO_USE_CAMERA_WRITE;
31*d95af8dfSAndroid Build Coastguard Worker 	if (usage & GBM_BO_USE_CAMERA_READ)
32*d95af8dfSAndroid Build Coastguard Worker 		use_flags |= BO_USE_CAMERA_READ;
33*d95af8dfSAndroid Build Coastguard Worker 	if (usage & GBM_BO_USE_PROTECTED)
34*d95af8dfSAndroid Build Coastguard Worker 		use_flags |= BO_USE_PROTECTED;
35*d95af8dfSAndroid Build Coastguard Worker 	if (usage & GBM_BO_USE_SW_READ_OFTEN)
36*d95af8dfSAndroid Build Coastguard Worker 		use_flags |= BO_USE_SW_READ_OFTEN;
37*d95af8dfSAndroid Build Coastguard Worker 	if (usage & GBM_BO_USE_SW_READ_RARELY)
38*d95af8dfSAndroid Build Coastguard Worker 		use_flags |= BO_USE_SW_READ_RARELY;
39*d95af8dfSAndroid Build Coastguard Worker 	if (usage & GBM_BO_USE_SW_WRITE_OFTEN)
40*d95af8dfSAndroid Build Coastguard Worker 		use_flags |= BO_USE_SW_WRITE_OFTEN;
41*d95af8dfSAndroid Build Coastguard Worker 	if (usage & GBM_BO_USE_SW_WRITE_RARELY)
42*d95af8dfSAndroid Build Coastguard Worker 		use_flags |= BO_USE_SW_WRITE_RARELY;
43*d95af8dfSAndroid Build Coastguard Worker 	if (usage & GBM_BO_USE_HW_VIDEO_DECODER)
44*d95af8dfSAndroid Build Coastguard Worker 		use_flags |= BO_USE_HW_VIDEO_DECODER;
45*d95af8dfSAndroid Build Coastguard Worker 	if (usage & GBM_BO_USE_HW_VIDEO_ENCODER)
46*d95af8dfSAndroid Build Coastguard Worker 		use_flags |= BO_USE_HW_VIDEO_ENCODER;
47*d95af8dfSAndroid Build Coastguard Worker 	if (usage & GBM_BO_USE_FRONT_RENDERING)
48*d95af8dfSAndroid Build Coastguard Worker 		use_flags |= BO_USE_FRONT_RENDERING;
49*d95af8dfSAndroid Build Coastguard Worker 	if (usage & GBM_BO_USE_GPU_DATA_BUFFER)
50*d95af8dfSAndroid Build Coastguard Worker 		use_flags |= BO_USE_GPU_DATA_BUFFER;
51*d95af8dfSAndroid Build Coastguard Worker 	if (usage & GBM_BO_USE_SENSOR_DIRECT_DATA)
52*d95af8dfSAndroid Build Coastguard Worker 		use_flags |= BO_USE_SENSOR_DIRECT_DATA;
53*d95af8dfSAndroid Build Coastguard Worker 
54*d95af8dfSAndroid Build Coastguard Worker 	return use_flags;
55*d95af8dfSAndroid Build Coastguard Worker }
56