summaryrefslogtreecommitdiff
path: root/services/surfaceflinger/SurfaceFlingerConfig.h
diff options
context:
space:
mode:
Diffstat (limited to 'services/surfaceflinger/SurfaceFlingerConfig.h')
-rw-r--r--services/surfaceflinger/SurfaceFlingerConfig.h145
1 files changed, 0 insertions, 145 deletions
diff --git a/services/surfaceflinger/SurfaceFlingerConfig.h b/services/surfaceflinger/SurfaceFlingerConfig.h
deleted file mode 100644
index 7c3348e3bd..0000000000
--- a/services/surfaceflinger/SurfaceFlingerConfig.h
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Copyright 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.
- */
-
-#pragma once
-
-#include <cstdlib>
-
-#include <ui/ConfigStoreTypes.h>
-#include <ui/GraphicTypes.h>
-
-namespace android::surfaceflinger {
-
-class Factory;
-
-struct Config final {
- Factory* factory = nullptr;
-
- std::string hwcServiceName;
- pid_t pid;
-
- float emulatedDisplayDensity = 0;
- float internalDisplayDensity = 0;
-
- // If fences from sync Framework are supported.
- bool hasSyncFramework = true;
-
- // The offset in nanoseconds to use when VsyncController timestamps present
- // fence signaling time.
- int64_t dispSyncPresentTimeOffset = 0;
-
- // Some hardware can do RGB->YUV conversion more efficiently in hardware
- // controlled by HWC than in hardware controlled by the video encoder. This
- // instruct VirtualDisplaySurface to use HWC for such conversion on GL
- // composition.
- bool useHwcForRgbToYuv = false;
-
- // Controls the number of buffers SurfaceFlinger will allocate for use in
- // FramebufferSurface
- int64_t maxFrameBufferAcquiredBuffers = 2;
-
- // Controls the minimum acquired buffers SurfaceFlinger will suggest via
- // ISurfaceComposer.getMaxAcquiredBufferCount().
- int64_t minAcquiredBuffers = 1;
-
- // Controls the maximum width and height in pixels that the graphics
- // pipeline can support for GPU fallback composition. For example, 8k
- // devices with 4k GPUs, or 4k devices with 2k GPUs.
- uint32_t maxGraphicsWidth = 0;
- uint32_t maxGraphicsHeight = 0;
-
- // Whether to enable wide color gamut (e.g. Display P3) for internal
- // displays that support it. If false, wide color modes are filtered out
- // for all internal displays.
- bool mSupportsWideColor = false;
- bool supportsWideColor = false;
-
- // The data space and pixel format that SurfaceFlinger expects hardware
- // composer to composite efficiently. Meaning under most scenarios,
- // hardware composer will accept layers with the data space and pixel
- // format.
- ui::Dataspace defaultCompositionDataspace = ui::Dataspace::V0_SRGB;
- ui::PixelFormat defaultCompositionPixelFormat = ui::PixelFormat::RGBA_8888;
-
- // The data space and pixel format that SurfaceFlinger expects hardware
- // composer to composite efficiently for wide color gamut surfaces. Meaning
- // under most scenarios, hardware composer will accept layers with the data
- // space and pixel format.
- ui::Dataspace wideColorGamutCompositionDataspace = ui::Dataspace::V0_SRGB;
- ui::PixelFormat wideColorGamutCompositionPixelFormat = ui::PixelFormat::RGBA_8888;
-
- ui::Dataspace colorSpaceAgnosticDataspace = ui::Dataspace::UNKNOWN;
-
- ui::DisplayPrimaries internalDisplayPrimaries{};
-
- bool layerCachingEnabled = false;
- bool useContextPriority = true;
- bool isUserBuild = true;
- bool backpressureGpuComposition = true;
-
- // If blurs should be enabled on this device.
- bool supportsBlur = false;
- bool lumaSampling = true;
-
- // If set, disables reusing client composition buffers. This can be set by
- // debug.sf.disable_client_composition_cache
- bool disableClientCompositionCache = false;
-
- // If set, composition engine tries to predict the composition strategy
- // provided by HWC based on the previous frame. If the strategy can be
- // predicted, gpu composition will run parallel to the hwc validateDisplay
- // call and re-run if the predition is incorrect.
- bool predictCompositionStrategy = true;
-
- // If true, then any layer with a SMPTE 170M transfer function is decoded
- // using the sRGB transfer instead. This is mainly to preserve legacy
- // behavior, where implementations treated SMPTE 170M as sRGB prior to
- // color management being implemented, and now implementations rely on this
- // behavior to increase contrast for some media sources.
- bool treat170mAsSrgb = false;
-
- // Allows to ignore physical orientation provided through hwc API in favour
- // of 'ro.surface_flinger.primary_display_orientation'.
- // TODO(b/246793311): Clean up a temporary property
- bool ignoreHwcPhysicalDisplayOrientation = false;
-
- bool trebleTestingOverride = false;
-
- struct {
- // Show spinner with refresh rate overlay
- bool showSpinner = false;
-
- // Show render rate with refresh rate overlay
- bool showRenderRate = false;
-
- // Show render rate overlay offseted to the middle of the screen (e.g.
- // for circular displays)
- bool showInMiddle = false;
- } refreshRateOverlay;
-
- bool ignoreHdrCameraLayers = false;
- bool enableTransactionTracing = true;
- bool layerLifecycleManagerEnabled = false;
- bool legacyFrontEndEnabled = true;
-
- static Config makeDefault(Factory* factory);
- static Config makeProduction(Factory* factory);
-
-private:
- Config();
-};
-
-} // namespace android::surfaceflinger