Home | History | Annotate | Download | only in minigbm
      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 
     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 
     46 	return use_flags;
     47 }
     48