Screen usage flag types
Types of usage flags
Synopsis:
#include <screen/screen.h>
enum {
SCREEN_USAGE_DISPLAY = (1 << 0),
SCREEN_USAGE_READ = (1 << 1),
SCREEN_USAGE_WRITE = (1 << 2),
SCREEN_USAGE_NATIVE = (1 << 3),
SCREEN_USAGE_OPENGL_ES2 = (1 << 5),
SCREEN_USAGE_OPENGL_ES3 = (1 << 11),
SCREEN_USAGE_OPENVG = (1 << 6),
SCREEN_USAGE_VIDEO = (1 << 7),
SCREEN_USAGE_CAPTURE = (1 << 8),
SCREEN_USAGE_ROTATION = (1 << 9),
SCREEN_USAGE_OVERLAY = (1 << 10),
SCREEN_USAGE_COMPRESSION = (1 << 12),
SCREEN_USAGE_PHYSICAL = (1 << 13),
SCREEN_USAGE_VULKAN = (1 << 14),
SCREEN_USAGE_PROTECTION = (1 << 15)
};
Data:
- SCREEN_USAGE_DISPLAY
- Internal use only; do not use.
- SCREEN_USAGE_READ
- Flag to indicate that the CPU can read from the buffer(s) associated with the API object.
- SCREEN_USAGE_WRITE
- Flag to indicate that the CPU can write to the buffer(s) associated with the API object.
- SCREEN_USAGE_NATIVE
- Flag to indicate that buffer(s) associated with the API object can be used for native API operations.
- SCREEN_USAGE_OPENGL_ES2
- Flag to indicate that OpenGL ES 2.X is used for rendering the buffer associated with the API object.
- SCREEN_USAGE_OPENGL_ES3
- Flag to indicate that OpenGL ES 3.X is used for rendering the buffer associated with the API object.
- SCREEN_USAGE_OPENVG
- Flag to indicate that OpenVG is used for rendering the buffer associated with the API object.
- SCREEN_USAGE_VIDEO
- Flag to indicate that the buffer can be written to by a video decoder.
- SCREEN_USAGE_CAPTURE
- Flag to indicate that the buffer can be written to by capture devices (such as cameras, analog-to-digital-converters, ...), and read by a hardware video encoder.
- SCREEN_USAGE_ROTATION
- Flag to indicate that the buffer can be reconfigured from landscape to portrait orientation without reallocation.
- SCREEN_USAGE_OVERLAY
- Flag to suggest the use of a display overlay.
- SCREEN_USAGE_COMPRESSION
- Flag to suggest that a compressed version of the buffer format be used.
- SCREEN_USAGE_PHYSICAL
- Flag to indicate that the buffer should be physically contiguous and the physical address should be provided.
- SCREEN_USAGE_VULKAN
- Flag to indicate that Vulkan is used for rendering the buffer associated with the API object.
- SCREEN_USAGE_PROTECTION
- Flag to indicate that the buffer(s) associated with the API object must be protected by both the OS and relevant hardware.
Library:
libscreenDescription:
Usage flags are used when allocating buffers; they indicate to Screen how the application intends to use the buffers. Depending on the usage, different constraints such as width, height, stride granularity or special alignment must be observed. The usage is also valuable in determining the amount of caching that can be set on a particular buffer.
Page updated: