Merge "Remove flinger_headers"
diff --git a/flinger_headers/Android.bp b/flinger_headers/Android.bp
deleted file mode 100644
index 200c68a..0000000
--- a/flinger_headers/Android.bp
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright (C) 2017 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.
-
-cc_library_headers {
- name: "wayland_flinger_headers",
- vendor_available: true,
- export_include_dirs: ["."],
-}
diff --git a/flinger_headers/ArcInputBridgeProtocol.h b/flinger_headers/ArcInputBridgeProtocol.h
deleted file mode 100644
index ffc71ec..0000000
--- a/flinger_headers/ArcInputBridgeProtocol.h
+++ /dev/null
@@ -1,343 +0,0 @@
-/*
- * Copyright 2017 The Chromium Authors.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- */
-#ifndef _RUNTIME_ARC_INPUT_BRIDGE_PROTOCOL_H
-#define _RUNTIME_ARC_INPUT_BRIDGE_PROTOCOL_H
-
-#include <cstdint>
-
-// Hack: major/minor may be defined by stdlib in error.
-// see https://sourceware.org/bugzilla/show_bug.cgi?id=19239
-#undef major
-#undef minor
-
-namespace arc {
-
-// Location of the named pipe for communicating events
-static const char* kArcInputBridgePipe = "/var/run/inputbridge/inputbridge";
-
-enum class InputEventType {
- RESET = 0,
-
- POINTER_ENTER,
- POINTER_MOVE,
- POINTER_MOVE_RELATIVE,
- POINTER_LEAVE,
- POINTER_BUTTON,
- POINTER_SCROLL_X,
- POINTER_SCROLL_Y,
- POINTER_SCROLL_DISCRETE,
- POINTER_SCROLL_STOP,
- POINTER_FRAME,
-
- TOUCH_DOWN,
- TOUCH_MOVE,
- TOUCH_UP,
- TOUCH_CANCEL,
- TOUCH_SHAPE,
- TOUCH_TOOL_TYPE,
- TOUCH_FORCE,
- TOUCH_TILT,
- TOUCH_FRAME,
-
- GESTURE_PINCH_BEGIN,
- GESTURE_PINCH_UPDATE,
- GESTURE_PINCH_END,
-
- GESTURE_SWIPE_BEGIN,
- GESTURE_SWIPE_UPDATE,
- GESTURE_SWIPE_END,
-
- KEY,
- KEY_MODIFIERS,
- KEY_RESET,
-
- GAMEPAD_CONNECTED,
- GAMEPAD_DISCONNECTED,
- GAMEPAD_AXIS_INFO,
- GAMEPAD_ACTIVATED,
- GAMEPAD_AXIS,
- GAMEPAD_BUTTON,
- GAMEPAD_FRAME,
-
- // event for reporting the state of a switch, such as a lid switch
- SWITCH,
-
- // event for reporting dimensions and properties of the display
- DISPLAY_METRICS,
-
- KEY_CHARACTER_MAP_NAME,
-} __attribute__((packed));
-
-struct PointerArgs {
- float x;
- float y;
- bool discrete;
-} __attribute__((packed));
-
-struct KeyArgs {
- // Linux KEY_ scan code as it was received from the kernel.
- uint32_t scanCode;
- // 0 = released, 1 = pressed.
- uint32_t state;
- // serial number of this key events in wayland.
- uint32_t serial;
-} __attribute__((packed));
-
-struct MetaArgs {
- // Android AMETA_ bitmask of meta state.
- uint32_t metaState;
-};
-
-struct ButtonArgs {
- // Android AMOTION_EVENT_BUTTON_ code
- uint32_t code;
- // 0 = released, 1 = pressed.
- uint32_t state;
-};
-
-enum class TouchToolType { TOUCH = 0, PEN, ERASER } __attribute__((packed));
-
-struct TouchArgs {
- int32_t id;
- union {
- float x;
- float major;
- float force;
- TouchToolType tool;
- };
- union {
- float y;
- float minor;
- };
-} __attribute__((packed));
-
-struct GestureArgs {
- uint32_t fingers;
- bool cancelled;
-} __attribute__((packed));
-
-struct GesturePinchArgs {
- float scale;
-} __attribute__((packed));
-
-struct GestureSwipeArgs {
- float dx;
- float dy;
-} __attribute__((packed));
-
-struct GamepadDeviceInfoArgs {
- int32_t id;
- char name[256];
- uint16_t bustype;
- uint16_t vendorId;
- uint16_t productId;
- uint16_t version;
-} __attribute__((packed));
-
-struct GamepadAxisInfoArgs {
- int32_t id;
- // evdev ABS_CNT axis index.
- uint32_t index;
- // For the definition of the variables below, see input_absinfo.
- int32_t minValue;
- int32_t maxValue;
- int32_t flat;
- int32_t fuzz;
- int32_t resolution;
-} __attribute__((packed));
-
-struct GamepadArgs {
- int32_t id;
- union {
- // Used by GAMEPAD_BUTTON and GAMEPAD_AXIS respectively
- int32_t button;
- int32_t axis;
- };
- bool pressed;
- float value;
-} __attribute__((packed));
-
-struct SwitchArgs {
- // Switch ID defined at bionic/libc/kernel/uapi/linux/input.h.
- int32_t switchCode;
- // Switch value defined at frameworks/native/include/android/input.h.
- int32_t state;
-} __attribute__((packed));
-
-struct DisplayMetricsArgs {
- int32_t width;
- int32_t height;
- float ui_scale;
-} __attribute__((packed));
-
-struct KeyCharacterMapNameArgs {
- // XKB layout name. The longest one we have is "us(workman-intl)" (16
- // characters) so it should be sufficient. KCM converter will also check the
- // name doesn't exceed the limit at build time.
- char name[32];
-} __attribute__((packed));
-
-struct RelativePointerArgs {
- float dx;
- float dy;
-} __attribute__((packed));
-
-// Union-like class describing an event. The InputEventType describes which
-// of member of the union contains the data of this event.
-struct BridgeInputEvent {
- uint64_t timestamp;
- int32_t displayId;
-
- InputEventType type;
-
- union {
- PointerArgs pointer;
- KeyArgs key;
- TouchArgs touch;
- MetaArgs meta;
- ButtonArgs button;
- GestureArgs gesture;
- GesturePinchArgs gesture_pinch;
- GestureSwipeArgs gesture_swipe;
- GamepadDeviceInfoArgs gamepad_device_info;
- GamepadAxisInfoArgs gamepad_axis_info;
- GamepadArgs gamepad;
- SwitchArgs switches;
- DisplayMetricsArgs display_metrics;
- KeyCharacterMapNameArgs key_character_map_name;
- RelativePointerArgs relativePointer;
- };
-
- static BridgeInputEvent ResetEvent(uint64_t timestamp) {
- return {timestamp, -1, InputEventType::RESET, {}};
- }
-
- static BridgeInputEvent KeyEvent(uint64_t timestamp, uint32_t scanCode,
- uint32_t state, uint32_t serial) {
- BridgeInputEvent event{timestamp, -1, InputEventType::KEY, {}};
- event.key = {scanCode, state, serial};
- return event;
- }
-
- static BridgeInputEvent KeyModifiersEvent(uint64_t timestamp, uint32_t modifiers) {
- BridgeInputEvent event{timestamp, -1, InputEventType::KEY_MODIFIERS, {}};
- event.meta = {modifiers};
- return event;
- }
-
- static BridgeInputEvent PointerEvent(uint64_t timestamp, InputEventType type, float x = 0,
- float y = 0, bool discrete = false) {
- BridgeInputEvent event{timestamp, -1, type, {}};
- event.pointer = {x, y, discrete};
- return event;
- }
-
- static BridgeInputEvent PointerButtonEvent(uint64_t timestamp, uint32_t code, uint32_t state) {
- BridgeInputEvent event{timestamp, -1, InputEventType::POINTER_BUTTON, {}};
- event.button = {code, state};
- return event;
- }
-
- static BridgeInputEvent PinchBeginEvent(uint64_t timestamp) {
- return {timestamp, -1, InputEventType::GESTURE_PINCH_BEGIN, {}};
- }
-
- static BridgeInputEvent PinchUpdateEvent(uint64_t timestamp, float scale) {
- BridgeInputEvent event{timestamp, -1, InputEventType::GESTURE_PINCH_UPDATE, {}};
- event.gesture_pinch.scale = scale;
- return event;
- }
-
- static BridgeInputEvent PinchEndEvent(uint64_t timestamp, bool cancelled) {
- BridgeInputEvent event{timestamp, -1, InputEventType::GESTURE_PINCH_END, {}};
- event.gesture.cancelled = cancelled;
- return event;
- }
-
- static BridgeInputEvent SwipeBeginEvent(uint64_t timestamp, uint32_t fingers) {
- BridgeInputEvent event{timestamp, -1, InputEventType::GESTURE_SWIPE_BEGIN, {}};
- event.gesture.fingers = fingers;
- return event;
- }
-
- static BridgeInputEvent SwipeUpdateEvent(uint64_t timestamp, float dx, float dy) {
- BridgeInputEvent event{timestamp, -1, InputEventType::GESTURE_SWIPE_UPDATE, {}};
- event.gesture_swipe.dx = dx;
- event.gesture_swipe.dy = dy;
- return event;
- }
-
- static BridgeInputEvent SwipeEndEvent(uint64_t timestamp, bool cancelled) {
- BridgeInputEvent event{timestamp, -1, InputEventType::GESTURE_SWIPE_END, {}};
- event.gesture.cancelled = cancelled;
- return event;
- }
-
- static BridgeInputEvent GamepadConnectedEvent(int32_t id) {
- BridgeInputEvent event{0, -1, InputEventType::GAMEPAD_CONNECTED, {}};
- event.gamepad.id = id;
- return event;
- }
-
- static BridgeInputEvent GamepadDisconnectedEvent(int32_t id) {
- BridgeInputEvent event{0, -1, InputEventType::GAMEPAD_DISCONNECTED, {}};
- event.gamepad.id = id;
- return event;
- }
-
- static BridgeInputEvent GamepadAxisEvent(uint64_t timestamp, int32_t id, int32_t axis,
- float value) {
- BridgeInputEvent event{timestamp, -1, InputEventType::GAMEPAD_AXIS, {}};
- event.gamepad.id = id;
- event.gamepad.axis = axis;
- event.gamepad.value = value;
- return event;
- }
-
- static BridgeInputEvent GamepadButtonEvent(uint64_t timestamp, int32_t id, int32_t button,
- bool pressed, float value) {
- BridgeInputEvent event{timestamp, -1, InputEventType::GAMEPAD_BUTTON, {}};
- event.gamepad.id = id;
- event.gamepad.button = button;
- event.gamepad.pressed = pressed;
- event.gamepad.value = value;
- return event;
- }
-
- static BridgeInputEvent GamepadFrameEvent(uint64_t timestamp, int32_t id) {
- BridgeInputEvent event{timestamp, -1, InputEventType::GAMEPAD_FRAME, {}};
- event.gamepad.id = id;
- return event;
- }
-
- static BridgeInputEvent SwitchEvent(uint64_t timestamp, int32_t switchCode, int32_t state) {
- BridgeInputEvent event{timestamp, -1, InputEventType::SWITCH, {}};
- event.switches.switchCode = switchCode;
- event.switches.state = state;
- return event;
- }
-} __attribute__((packed));
-
-} // namespace arc
-
-#endif // _RUNTIME_ARC_INPUT_BRIDGE_PROTOCOL_H
diff --git a/flinger_headers/README b/flinger_headers/README
deleted file mode 100644
index 6d12f56..0000000
--- a/flinger_headers/README
+++ /dev/null
@@ -1,5 +0,0 @@
-These header files are extensions to inputflinger and surfaceflinger that are
-only used by ARC++. They are too light to create a separate project for them, so
-put them under an isolated folder in external/wayland-protocols, because
-wayland stuff in vendor/google_arc implement them, and
-inputflinger/surfaceflinger can't depend on code under vendor/.
diff --git a/flinger_headers/hwcomposer2_arc_private.h b/flinger_headers/hwcomposer2_arc_private.h
deleted file mode 100644
index 844311d..0000000
--- a/flinger_headers/hwcomposer2_arc_private.h
+++ /dev/null
@@ -1,323 +0,0 @@
-/*
- * Copyright 2017 The Chromium Authors.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- */
-
-#ifndef ANDROID_SF_PRIVATE_HWCOMPOSER2_ARC_PRIVATE_H
-#define ANDROID_SF_PRIVATE_HWCOMPOSER2_ARC_PRIVATE_H
-
-__BEGIN_DECLS
-
-/* Optional ARC private capabilities. The particular set of supported private
- * capabilities for a given device may be retrieved using
- * getArcPrivateCapabilities. */
-typedef enum {
- HWC2_ARC_PRIVATE_CAPABILITY_INVALID = 0,
-
- /* Specifies that the device supports ARC attribute data. Decoding the data
- * is an implementation detail for the device. Note that ordinarily the
- * Android framework does not send this data. It is assumed that a vendor
- * that wants this data has also modified the framework to send it. */
- HWC2_ARC_PRIVATE_CAPABILITY_ATTRIBUTES = 1,
-
- /* Specifies that the device is an ARC windowing composer. A windowing
- * composer generates windowed output inside some external
- * implementation-defined windowing environment. It means that there is no
- * longer a single output frame buffer being used. The device must handle
- * all composition, and the client must not do so. The client cannot do any
- * culling of layers either -- it may not have full knowledge of what is
- * actually visible or not. */
- HWC2_ARC_PRIVATE_CAPABILITY_WINDOWING_COMPOSER = 2,
-} hwc2_arc_private_capability_t;
-
-/* ARC private function descriptors for use with getFunction.
- * The first entry needs to be maintained so there is no overlap with the
- * constants there. */
-typedef enum {
- HWC2_ARC_PRIVATE_FUNCTION_GET_CAPABILITIES = 0x10000,
-
- // For HWC2_ARC_PRIVATE_CAPABILITY_WINDOWING_COMPOSER
- HWC2_ARC_PRIVATE_FUNCTION_GET_DISPLAY_ATTRIBUTE,
-
- // For HWC2_ARC_PRIVATE_CAPABILITY_ATTRIBUTES
- HWC2_ARC_PRIVATE_FUNCTION_SET_LAYER_ATTRIBUTES,
-
- // For HWC2_ARC_PRIVATE_CAPABILITY_WINDOWING_COMPOSER
- HWC2_ARC_PRIVATE_FUNCTION_SET_LAYER_HIDDEN,
-
- // For HWC2_ARC_PRIVATE_CAPABILITY_ATTRIBUTES
- HWC2_ARC_PRIVATE_FUNCTION_ATTRIBUTES_SHOULD_FORCE_UPDATE,
-} hwc2_arc_private_function_descriptor_t;
-
-typedef enum {
- HWC2_ARC_PRIVATE_DISPLAY_ATTRIBUTE_INVALID = 0,
- HWC2_ARC_PRIVATE_DISPLAY_ATTRIBUTE_OUTPUT_ROTATION = 1,
-} hwc2_arc_private_display_attribute_t;
-
-typedef enum {
- HWC2_ARC_PRIVATE_HIDDEN_INVALID = 0,
- HWC2_ARC_PRIVATE_HIDDEN_ENABLE = 1,
- HWC2_ARC_PRIVATE_HIDDEN_DISABLE = 2,
-} hwc2_arc_private_hidden_t;
-
-/*
- * Stringification Functions
- */
-
-#ifdef HWC2_INCLUDE_STRINGIFICATION
-
-static inline const char* getArcPrivateCapabilityName(hwc2_arc_private_capability_t capability)
-{
- switch (capability) {
- case HWC2_ARC_PRIVATE_CAPABILITY_INVALID:
- return "Invalid";
- case HWC2_ARC_PRIVATE_CAPABILITY_ATTRIBUTES:
- return "ArcAttributes";
- case HWC2_ARC_PRIVATE_CAPABILITY_WINDOWING_COMPOSER:
- return "ArcWindowingComposer";
- default:
- return "Unknown";
- }
-}
-
-static inline const char* getArcPrivateFunctionDescriptorName(
- hwc2_arc_private_function_descriptor_t desc)
-{
- switch (desc) {
- case HWC2_ARC_PRIVATE_FUNCTION_GET_CAPABILITIES:
- return "ArcGetCapabilities";
- case HWC2_ARC_PRIVATE_FUNCTION_GET_DISPLAY_ATTRIBUTE:
- return "ArcGetDisplayAttribute";
- case HWC2_ARC_PRIVATE_FUNCTION_SET_LAYER_ATTRIBUTES:
- return "ArcSetLayerAttributes";
- case HWC2_ARC_PRIVATE_FUNCTION_SET_LAYER_HIDDEN:
- return "ArcSetLayerHidden";
- case HWC2_ARC_PRIVATE_FUNCTION_ATTRIBUTES_SHOULD_FORCE_UPDATE:
- return "ArcAttributesShouldForceUpdate";
- default:
- return "Unknown";
- }
-}
-
-static inline const char* getArcPrivateDisplayAttributeName(hwc2_arc_private_display_attribute_t attribute)
-{
- switch (attribute) {
- case HWC2_ARC_PRIVATE_DISPLAY_ATTRIBUTE_INVALID:
- return "Invalid";
- case HWC2_ARC_PRIVATE_DISPLAY_ATTRIBUTE_OUTPUT_ROTATION:
- return "OutputRotation";
- default:
- return "Unknown";
- }
-}
-
-static inline const char* getArcPrivateHiddenName(hwc2_arc_private_hidden_t hidden)
-{
- switch (hidden) {
- case HWC2_ARC_PRIVATE_HIDDEN_INVALID:
- return "Invalid";
- case HWC2_ARC_PRIVATE_HIDDEN_ENABLE:
- return "Enable";
- case HWC2_ARC_PRIVATE_HIDDEN_DISABLE:
- return "Disable";
- default:
- return "Unknown";
- }
-}
-
-#endif // HWC2_INCLUDE_STRINGIFICATION
-
-/*
- * C++11 features
- */
-
-#ifdef HWC2_USE_CPP11
-__END_DECLS
-
-#ifdef HWC2_INCLUDE_STRINGIFICATION
-#include <string>
-#endif
-
-namespace HWC2 {
-
-enum class ArcPrivateCapability : int32_t {
- Invalid = HWC2_ARC_PRIVATE_CAPABILITY_INVALID,
- Attributes = HWC2_ARC_PRIVATE_CAPABILITY_ATTRIBUTES,
- WindowingComposer = HWC2_ARC_PRIVATE_CAPABILITY_WINDOWING_COMPOSER,
-};
-TO_STRING(hwc2_arc_private_capability_t, ArcPrivateCapability, getArcPrivateCapabilityName)
-
-enum class ArcPrivateFunctionDescriptor : int32_t {
- // Since we are extending the HWC2 FunctionDescriptor, we duplicate
- // all of its
- GetCapabilities = HWC2_ARC_PRIVATE_FUNCTION_GET_CAPABILITIES,
- GetDisplayAttribute = HWC2_ARC_PRIVATE_FUNCTION_GET_DISPLAY_ATTRIBUTE,
- SetLayerAttributes = HWC2_ARC_PRIVATE_FUNCTION_SET_LAYER_ATTRIBUTES,
- SetLayerHidden = HWC2_ARC_PRIVATE_FUNCTION_SET_LAYER_HIDDEN,
- AttributesShouldForceUpdate = HWC2_ARC_PRIVATE_FUNCTION_ATTRIBUTES_SHOULD_FORCE_UPDATE,
-};
-TO_STRING(hwc2_arc_private_function_descriptor_t, ArcPrivateFunctionDescriptor,
- getArcPrivateFunctionDescriptorName)
-
-enum class ArcPrivateDisplayAttribute : int32_t {
- Invalid = HWC2_ARC_PRIVATE_DISPLAY_ATTRIBUTE_INVALID,
- OutputRotation = HWC2_ARC_PRIVATE_DISPLAY_ATTRIBUTE_OUTPUT_ROTATION,
-};
-TO_STRING(hwc2_arc_private_display_attribute_t, ArcPrivateDisplayAttribute,
- getArcPrivateDisplayAttributeName)
-
-enum class ArcPrivateHidden : int32_t {
- Invalid = HWC2_ARC_PRIVATE_HIDDEN_INVALID,
- Enable = HWC2_ARC_PRIVATE_HIDDEN_ENABLE,
- Disable = HWC2_ARC_PRIVATE_HIDDEN_DISABLE,
-};
-TO_STRING(hwc2_arc_private_hidden_t, ArcPrivateHidden, getArcPrivateHiddenName)
-
-} // namespace HWC2
-
-__BEGIN_DECLS
-#endif // HWC2_USE_CPP11
-
-/*
- * ARC Private device Functions
- *
- * All of these functions take as their first parameter a device pointer, so
- * this parameter is omitted from the described parameter lists.
- */
-
-/* arcGetCapabilities(..., outCount, outCapabilities)
- * Descriptor: HWC2_ARC_PRIVATE_FUNCTION_GET_CAPABILITIES
- *
- * Gets additional capabilities supported by the device.
- *
- * Parameters:
- * outCount - if outCapabilities was NULL, the number of capabilities which
- * would have been returned; if outCapabilities was not NULL, the number
- * of capabilities returned, which must not exceed the value stored in
- * outCount priort to the call; pointer will be non-NULL
- * outCapabilities - an array of capabilities
- * */
-typedef void (*HWC2_ARC_PRIVATE_PFN_GET_CAPABILITIES)(hwc2_device_t* device, uint32_t* outCount,
- int32_t* /*hwc2_arc_private_capability_t*/ outCapabilities);
-
-/*
- * ARC Private display functions
- *
- * All of these functions take as their first two parameters a device pointer,
- * and a display handle for the display. These parameters are omitted from the
- * described parameter lists.
- */
-
-/* arcGetDisplayAttributes(..., attribute, outValue)
- * Descriptor: HWC2_ARC_PRIVATE_FUNCTION_GET_DISPLAY_ATTRIBUTE
- * Provided by HWC2 devices which support
- * HWC2_ARC_PRIVATE_CAPABILITY_WINDOWING_COMPOSER
- *
- * Gets additional display attribute data.
- *
- * Parameters:
- * attribute - The attribute to get
- * outValue - A location to store the value of the attribute
- *
- * Returns HWC2_ERROR_NONE if a value was set, or HWC2_ERROR_BAD_DISPLAY, or
- * HWC2_ERROR_BAD_PARAMETER
- */
-typedef int32_t /*hwc2_error_t*/ (*HWC2_ARC_PRIVATE_PFN_GET_DISPLAY_ATTRIBUTE)(
- hwc2_device_t* device, hwc2_display_t display, const int32_t attribute, int32_t* outValue);
-
-/*
- * ARC Private layer Functions
- *
- * These are functions which operate on layers, but which do not modify state
- * that must be validated before use. See also 'Layer State Functions' below.
- *
- * All of these functions take as their first three parameters a device pointer,
- * a display handle for the display which contains the layer, and a layer
- * handle, so these parameters are omitted from the described parameter lists.
- */
-
-/* arcSetLayerAttributes(..., numElements, ids, sizes, values)
- * Descriptor: HWC2_ARC_PRIVATE_FUNCTION_SET_LAYER_ATTRIBUTES
- * Provided by HWC2 devices which support
- * HWC2_ARC_PRIVATE_CAPABILITY_ATTRIBUTES
- *
- * Sets additional surface data in the form of id/value pairs sent down by the
- * framework. The meaning of each attribute is opaque to the client, and is
- * assumed to be understood by the device implementation.
- *
- * Parameters:
- * numElements - the number of elements in each array.
- * ids - an array of surface attribute ids
- * sizes - an array of sizes, giving the size in bytes of each value
- * values - an array of pointers to the data for each value
- *
- * Returns HWC2_ERROR_NONE or one of the following errors:
- * HWC2_ERROR_BAD_LAYER - an invalid layer handle was passed in
- */
-typedef int32_t /*hwc2_error_t*/ (*HWC2_ARC_PRIVATE_PFN_SET_LAYER_ATTRIBUTES)(hwc2_device_t* device,
- hwc2_display_t display, hwc2_layer_t layer, uint32_t numElements, const int32_t* ids,
- const uint32_t* sizes, const uint8_t** values);
-
-/* arcSetLayerHidden(..., hidden)
- * Descriptor: HWC2_ARC_PRIVATE_FUNCTION_SET_LAYER_HIDDEN
- * Provided by HWC2 devices which support
- * HWC2_ARC_PRIVATE_CAPABILITY_WINDOWING_COMPOSER
- *
- * Indicates whether the layer should be hidden or not. This flag is set by the
- * window manager.
- *
- * Parameters:
- * hidden - the setting to use.
- *
- * Returns HWC2_ERROR_NONE or one of the following errors:
- * HWC2_ERROR_BAD_LAYER - an invalid layer handle was passed in
- */
-typedef int32_t /*hwc2_error_t*/ (*HWC2_ARC_PRIVATE_PFN_SET_LAYER_HIDDEN)(
- hwc2_device_t* device, hwc2_display_t display, hwc2_layer_t layer,
- int32_t /* hwc2_arc_private_hidden_t */ hidden);
-
-/* arcAttributesShouldForceUpdate(..., numElements, ids, sizes, values, outShouldForceUpdate)
- * Descriptor: HWC2_ARC_PRIVATE_FUNCTION_ATTRIBUTES_SHOULD_FORCE_UPDATE
- * Provided by HWC2 devices which support
- * HWC2_ARC_PRIVATE_CAPABILITY_ATTRIBUTES
- *
- * Outputs to |outShouldForceUpdate| whether to send geometry updates without
- * waiting for a matching buffer, given the specified layer attributes.
- *
- * Parameters:
- * numElements - the number of elements in each array.
- * ids - an array of surface attribute ids
- * sizes - an array of sizes, giving the size in bytes of each value
- * values - an array of pointers to the data for each value
- * outShouldForceUpdate - whether to send geometry updates without waiting
- * for a matching buffer
- *
- * Returns HWC2_ERROR_NONE or one of the following errors:
- * HWC2_ERROR_BAD_LAYER - an invalid layer handle was passed in
- */
-typedef int32_t /*hwc2_error_t*/ (*HWC2_ARC_PRIVATE_PFN_ATTRIBUTES_SHOULD_FORCE_UPDATE)(
- hwc2_device_t* device, hwc2_display_t display, hwc2_layer_t layer,
- uint32_t numElements, const int32_t* ids, const uint32_t* sizes,
- const uint8_t** values, bool* outShouldForceUpdate);
-
-__END_DECLS
-
-#endif