blob: 5bd0e152598eb759accf38209aea9d47a7a5e423 [file] [log] [blame]
/*
* Copyright (C) 2023 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.hardware.power;
@VintfStability
@Backing(type="int")
enum SessionMode {
/**
* This mode indicates that the work of this hint session is not
* critical to perceived performance, despite its CPU intensity,
* and can be safely scheduled to prefer power efficiency.
*/
POWER_EFFICIENCY,
/**
* This mode indicates that the threads associated with this hint session
* are part of the graphics pipeline, implying that they are on a critical path
* which will be called of higher priority in terms of CPU resources and scheduling.
*/
GRAPHICS_PIPELINE,
/**
* This mode indicates that the session does not intend to report CPU timing
* information, and that it instead will rely entirely on information from
* SurfaceFlinger. This mode is only supported for sessions that have
* GRAPHICS_PIPELINE enabled.
*/
AUTO_CPU,
/**
* This mode indicates that the session does not intend to report GPU timing
* information, and that it instead will rely entirely on information from
* SurfaceFlinger. This mode is only supported for sessions that have
* GRAPHICS_PIPELINE enabled.
*/
AUTO_GPU,
}