Mir
include
renderers
gl
mir
renderer
gl
texture_source.h
Go to the documentation of this file.
1
/*
2
* Copyright © 2015 Canonical Ltd.
3
*
4
* This program is free software: you can redistribute it and/or modify it
5
* 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: Alexandros Frantzis <alexandros.frantzis@canonical.com>
17
*/
18
19
#ifndef MIR_RENDERER_GL_TEXTURE_SOURCE_H_
20
#define MIR_RENDERER_GL_TEXTURE_SOURCE_H_
21
22
namespace
mir
23
{
24
namespace
renderer
25
{
26
namespace
gl
27
{
28
29
//FIXME: (kdub) we're not hiding the differences in texture upload approaches between our platforms
30
// very well with this interface.
31
class
TextureSource
32
{
33
public
:
34
virtual
~TextureSource
() =
default
;
35
36
// \warning deprecated, provided for convenience and legacy transition.
37
//will call bind() and then secure_for_render()
38
virtual
void
gl_bind_to_texture
() = 0;
39
//Uploads texture.
40
virtual
void
bind
() = 0;
41
//add synchronization points to the command stream to ensure resources
42
//are present during the draw. Will not upload texture.
43
//should be called if an already uploaded texture is reused.
44
virtual
void
secure_for_render
() = 0;
45
46
protected
:
47
TextureSource
() =
default
;
48
TextureSource
(
TextureSource
const
&) =
delete
;
49
TextureSource
&
operator=
(
TextureSource
const
&) =
delete
;
50
};
51
52
}
53
}
54
}
55
56
#endif
mir
AutoUnblockThread is a helper thread class that can gracefully shutdown at destruction time...
Definition:
blob.h:26
mir::renderer::gl::TextureSource
Definition:
texture_source.h:31
mir::renderer::gl::TextureSource::secure_for_render
virtual void secure_for_render()=0
mir::renderer::gl::TextureSource::operator=
TextureSource & operator=(TextureSource const &)=delete
mir::renderer::gl::TextureSource::TextureSource
TextureSource()=default
mir::renderer::gl::TextureSource::gl_bind_to_texture
virtual void gl_bind_to_texture()=0
mir::renderer::gl::TextureSource::~TextureSource
virtual ~TextureSource()=default
mir::renderer::gl::TextureSource::bind
virtual void bind()=0
Copyright © 2012-2018 Canonical Ltd.
Generated on Sat Mar 31 14:22:42 UTC 2018