Skip to content

Commit 6812b08

Browse files
timvpGoogleAndroid (Google) Code Review
authored andcommitted
Merge "GpuService: Add cmdFeatureOverrides" into main
2 parents 2ed31c0 + 1af4e87 commit 6812b08

3 files changed

Lines changed: 20 additions & 2 deletions

File tree

services/gpuservice/Android.bp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ cc_aconfig_library {
3939
cc_defaults {
4040
name: "libgpuservice_defaults",
4141
defaults: [
42+
"aconfig_lib_cc_static_link.defaults",
4243
"gpuservice_defaults",
4344
"libfeatureoverride_deps",
4445
"libgfxstats_deps",

services/gpuservice/GpuService.cpp

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,10 @@
2525
#include <binder/Parcel.h>
2626
#include <binder/PermissionCache.h>
2727
#include <com_android_frameworks_gpuservice_flags.h>
28+
#include <com_android_graphics_graphicsenv_flags.h>
2829
#include <cutils/properties.h>
2930
#include <cutils/multiuser.h>
31+
#include <feature_override/FeatureOverrideParser.h>
3032
#include <gpumem/GpuMem.h>
3133
#include <gpuwork/GpuWork.h>
3234
#include <gpustats/GpuStats.h>
@@ -41,6 +43,7 @@
4143
#include <memory>
4244

4345
namespace gpuservice_flags = com::android::frameworks::gpuservice::flags;
46+
namespace graphicsenv_flags = com::android::graphics::graphicsenv::flags;
4447

4548
namespace android {
4649

@@ -143,7 +146,6 @@ void GpuService::toggleAngleAsSystemDriver(bool enabled) {
143146
}
144147
}
145148

146-
147149
void GpuService::setUpdatableDriverPath(const std::string& driverPath) {
148150
IPCThreadState* ipc = IPCThreadState::self();
149151
const int pid = ipc->getCallingPid();
@@ -171,7 +173,11 @@ status_t GpuService::shellCommand(int /*in*/, int out, int err, std::vector<Stri
171173
for (size_t i = 0, n = args.size(); i < n; i++)
172174
ALOGV(" arg[%zu]: '%s'", i, String8(args[i]).c_str());
173175

174-
if (args.size() >= 1) {
176+
if (!args.empty()) {
177+
if (graphicsenv_flags::feature_overrides()) {
178+
if (args[0] == String16("featureOverrides"))
179+
return cmdFeatureOverrides(out, err);
180+
}
175181
if (args[0] == String16("vkjson")) return cmdVkjson(out, err);
176182
if (args[0] == String16("vkprofiles")) return cmdVkprofiles(out, err);
177183
if (args[0] == String16("help")) return cmdHelp(out);
@@ -235,6 +241,11 @@ status_t GpuService::doDump(int fd, const Vector<String16>& args, bool /*asProto
235241
return NO_ERROR;
236242
}
237243

244+
status_t GpuService::cmdFeatureOverrides(int out, int /*err*/) {
245+
dprintf(out, "%s\n", mFeatureOverrideParser.getFeatureOverrides().toString().c_str());
246+
return NO_ERROR;
247+
}
248+
238249
namespace {
239250

240251
status_t cmdHelp(int out) {
@@ -247,6 +258,10 @@ status_t cmdHelp(int out) {
247258
"GPU Service commands:\n"
248259
" vkjson dump Vulkan properties as JSON\n"
249260
" vkprofiles print support for select Vulkan profiles\n");
261+
if (graphicsenv_flags::feature_overrides()) {
262+
fprintf(outs,
263+
" featureOverrides update and output gpuservice's feature overrides\n");
264+
}
250265
fclose(outs);
251266
return NO_ERROR;
252267
}

services/gpuservice/include/gpuservice/GpuService.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,8 @@ class GpuService : public BnGpuService, public PriorityDumper {
8686

8787
status_t doDump(int fd, const Vector<String16>& args, bool asProto);
8888

89+
status_t cmdFeatureOverrides(int out, int /*err*/);
90+
8991
/*
9092
* Attributes
9193
*/

0 commit comments

Comments
 (0)