Blender
V2.93
source
blender
gpu
opengl
gl_shader_interface.hh
Go to the documentation of this file.
1
/*
2
* This program is free software; you can redistribute it and/or
3
* modify it under the terms of the GNU General Public License
4
* as published by the Free Software Foundation; either version 2
5
* of the License, or (at your option) any later version.
6
*
7
* This program is distributed in the hope that it will be useful,
8
* but WITHOUT ANY WARRANTY; without even the implied warranty of
9
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10
* GNU General Public License for more details.
11
*
12
* You should have received a copy of the GNU General Public License
13
* along with this program; if not, write to the Free Software Foundation,
14
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
15
*
16
* The Original Code is Copyright (C) 2020 Blender Foundation.
17
* All rights reserved.
18
*/
19
29
#pragma once
30
31
#include "
MEM_guardedalloc.h
"
32
33
#include "
BLI_vector.hh
"
34
35
#include "
glew-mx.h
"
36
37
#include "
gpu_shader_interface.hh
"
38
39
namespace
blender::gpu
{
40
41
class
GLVaoCache;
42
46
class
GLShaderInterface
:
public
ShaderInterface
{
47
private
:
49
Vector<GLVaoCache *>
refs_;
50
51
public
:
52
GLShaderInterface
(GLuint
program
);
53
~GLShaderInterface
();
54
55
void
ref_add
(
GLVaoCache
*ref);
56
void
ref_remove
(
GLVaoCache
*ref);
57
58
MEM_CXX_CLASS_ALLOC_FUNCS
(
"GLShaderInterface"
);
59
};
60
61
}
// namespace blender::gpu
BLI_vector.hh
MEM_guardedalloc.h
Read Guarded memory(de)allocation.
blender::Vector
Definition:
BLI_vector.hh:78
blender::gpu::GLShaderInterface
Definition:
gl_shader_interface.hh:46
blender::gpu::GLShaderInterface::GLShaderInterface
GLShaderInterface(GLuint program)
Definition:
gl_shader_interface.cc:134
blender::gpu::GLShaderInterface::~GLShaderInterface
~GLShaderInterface()
Definition:
gl_shader_interface.cc:285
blender::gpu::GLShaderInterface::ref_add
void ref_add(GLVaoCache *ref)
Definition:
gl_shader_interface.cc:300
blender::gpu::GLShaderInterface::MEM_CXX_CLASS_ALLOC_FUNCS
MEM_CXX_CLASS_ALLOC_FUNCS("GLShaderInterface")
blender::gpu::GLShaderInterface::ref_remove
void ref_remove(GLVaoCache *ref)
Definition:
gl_shader_interface.cc:311
blender::gpu::GLVaoCache
Definition:
gl_batch.hh:49
blender::gpu::ShaderInterface
Definition:
gpu_shader_interface.hh:52
glew-mx.h
gpu_shader_interface.hh
blender::compositor::program
cl_program program
Definition:
COM_WorkScheduler.cc:91
blender::gpu
Definition:
gpu_backend.hh:29
Generated on Tue Jan 31 2023 14:37:24 for Blender by
doxygen
1.9.1