Mir
hardware_buffer_stream.h
Go to the documentation of this file.
1 /*
2  * Copyright © 2017 Canonical Ltd.
3  *
4  * This program is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU Lesser General Public License version 2 or 3
6  * as published by the Free Software Foundation.
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU Lesser General Public License for more details.
12  *
13  * You should have received a copy of the GNU Lesser General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>.
15  *
16  * Authored by: Kevin DuBois <kevin.dubois@canonical.com>
17  */
18 
19 #ifndef MIR_CLIENT_EXTENSIONS_HARDWARE_BUFFER_STREAM_H_
20 #define MIR_CLIENT_EXTENSIONS_HARDWARE_BUFFER_STREAM_H_
21 
25 
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29 
30 //This extension should probably not be published.
31 //Mesa's egl will use MirPresentationChain + MirBuffer, so there's no need
32 //for a 'hardware' buffer stream publicly.
33 //Internally, its useful in playground/ and the nested server until we switch upstream
34 //driver stacks to the mir egl platform.
35 
36 #pragma GCC diagnostic push
37 #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
38 typedef MirBufferStream* (*MirExtensionGetHardwareBufferStream)(
39  MirRenderSurface* rs,
40  int width, int height,
42 #pragma GCC diagnostic pop
43 
45 {
48 
49 static inline MirExtensionHardwareBufferStreamV1 const* mir_extension_hardware_buffer_stream_v1(
50  MirConnection* connection)
51 {
53  connection, "mir_extension_hardware_buffer_stream", 1);
54 }
55 
56 #ifdef __cplusplus
57 }
58 #endif
59 #endif /* MIR_CLIENT_EXTENSIONS_HARDWARE_BUFFER_STREAM_H_ */
MirExtensionHardwareBufferStreamV1
Definition: hardware_buffer_stream.h:44
format
MirPixelFormat the EGL implementation will now set correct pixel format
Definition: mir_connection.h:350
mir_buffer_stream.h
MirPixelFormat
MirPixelFormat
32-bit pixel formats (8888): The order of components in the enum matches the order of the components ...
Definition: common.h:244
mir_connection_request_extension
void const * mir_connection_request_extension(MirConnection *connection, char const *interface, int version)
Request a Mir extension.
MirConnection
struct MirConnection MirConnection
Definition: client_types.h:41
height
int height
Definition: client_types.h:179
MirRenderSurface
struct MirRenderSurface MirRenderSurface
Definition: client_types.h:57
MirExtensionHardwareBufferStreamV1::get_hardware_buffer_stream
MirExtensionGetHardwareBufferStream get_hardware_buffer_stream
Definition: hardware_buffer_stream.h:46
mir_extension_core.h
mir_render_surface.h
MirExtensionHardwareBufferStreamV1
struct MirExtensionHardwareBufferStreamV1 MirExtensionHardwareBufferStreamV1
MirExtensionGetHardwareBufferStream
MirBufferStream *(* MirExtensionGetHardwareBufferStream)(MirRenderSurface *rs, int width, int height, MirPixelFormat format)
Definition: hardware_buffer_stream.h:38
MirBufferStream
struct MirBufferStream MirBufferStream
Definition: client_types.h:49
width
int width
Definition: client_types.h:178

Copyright © 2012-2019 Canonical Ltd.
Generated on Fri Dec 6 02:23:43 UTC 2019
This documentation is licensed under the GPL version 2 or 3.