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 Workeruint64_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