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