1*61046927SAndroid Build Coastguard Worker /* 2*61046927SAndroid Build Coastguard Worker * Copyright 2024 Google LLC 3*61046927SAndroid Build Coastguard Worker * SPDX-License-Identifier: MIT 4*61046927SAndroid Build Coastguard Worker */ 5*61046927SAndroid Build Coastguard Worker 6*61046927SAndroid Build Coastguard Worker #include "gfxstream/guest/GfxStreamGralloc.h" 7*61046927SAndroid Build Coastguard Worker 8*61046927SAndroid Build Coastguard Worker #if defined(__ANDROID__) 9*61046927SAndroid Build Coastguard Worker 10*61046927SAndroid Build Coastguard Worker #include <string> 11*61046927SAndroid Build Coastguard Worker 12*61046927SAndroid Build Coastguard Worker #include "GrallocGoldfish.h" 13*61046927SAndroid Build Coastguard Worker #include "GrallocMinigbm.h" 14*61046927SAndroid Build Coastguard Worker #include "android-base/properties.h" 15*61046927SAndroid Build Coastguard Worker 16*61046927SAndroid Build Coastguard Worker namespace gfxstream { 17*61046927SAndroid Build Coastguard Worker createPlatformGralloc(int32_t descriptor)18*61046927SAndroid Build Coastguard WorkerGralloc* createPlatformGralloc(int32_t descriptor) { 19*61046927SAndroid Build Coastguard Worker const std::string value = android::base::GetProperty("ro.hardware.gralloc", ""); 20*61046927SAndroid Build Coastguard Worker if (value == "minigbm") { 21*61046927SAndroid Build Coastguard Worker auto gralloc = new MinigbmGralloc(descriptor); 22*61046927SAndroid Build Coastguard Worker return gralloc; 23*61046927SAndroid Build Coastguard Worker } 24*61046927SAndroid Build Coastguard Worker return new GoldfishGralloc(); 25*61046927SAndroid Build Coastguard Worker } 26*61046927SAndroid Build Coastguard Worker 27*61046927SAndroid Build Coastguard Worker } // namespace gfxstream 28*61046927SAndroid Build Coastguard Worker 29*61046927SAndroid Build Coastguard Worker #endif 30