Introduce com::android::graphics::libgui::flags::edge_extension_shader()
Bug: 322036393
Test: N/A
Flag: com.android.graphics.libgui.flags.edge_extension_shader
Change-Id: I982bb8aa3848ce8503bf0150b272c60d7db2b63f
diff --git a/libs/gui/SurfaceComposerClient.cpp b/libs/gui/SurfaceComposerClient.cpp
index db8786d..2821b51 100644
--- a/libs/gui/SurfaceComposerClient.cpp
+++ b/libs/gui/SurfaceComposerClient.cpp
@@ -20,6 +20,8 @@
#include <stdint.h>
#include <sys/types.h>
+#include <com_android_graphics_libgui_flags.h>
+
#include <android/gui/BnWindowInfosReportedListener.h>
#include <android/gui/DisplayState.h>
#include <android/gui/EdgeExtensionParameters.h>
@@ -2330,6 +2332,10 @@
return *this;
}
+bool SurfaceComposerClient::flagEdgeExtensionEffectUseShader() {
+ return com::android::graphics::libgui::flags::edge_extension_shader();
+}
+
SurfaceComposerClient::Transaction& SurfaceComposerClient::Transaction::setEdgeExtensionEffect(
const sp<SurfaceControl>& sc, const gui::EdgeExtensionParameters& effect) {
layer_state_t* s = getLayerState(sc);
diff --git a/libs/gui/include/gui/SurfaceComposerClient.h b/libs/gui/include/gui/SurfaceComposerClient.h
index a10283b..95574ee 100644
--- a/libs/gui/include/gui/SurfaceComposerClient.h
+++ b/libs/gui/include/gui/SurfaceComposerClient.h
@@ -339,6 +339,8 @@
static std::optional<aidl::android::hardware::graphics::common::DisplayDecorationSupport>
getDisplayDecorationSupport(const sp<IBinder>& displayToken);
+ static bool flagEdgeExtensionEffectUseShader();
+
// ------------------------------------------------------------------------
// surface creation / destruction
diff --git a/libs/gui/libgui_flags.aconfig b/libs/gui/libgui_flags.aconfig
index 2d70052..74d806e 100644
--- a/libs/gui/libgui_flags.aconfig
+++ b/libs/gui/libgui_flags.aconfig
@@ -43,3 +43,11 @@
bug: "340933794"
is_fixed_read_only: true
} # wb_platform_api_improvements
+
+flag {
+ name: "edge_extension_shader"
+ namespace: "windowing_frontend"
+ description: "Enable edge extension via shader"
+ bug: "322036393"
+ is_fixed_read_only: true
+} # edge_extension_shader