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)13uint64_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