Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2020-08-21 13:30:55 +0300
committerClément Foucault <foucault.clem@gmail.com>2020-08-21 15:16:42 +0300
commitc4f122ac8f167c5296be9ee23344765f181e6314 (patch)
treed6a627aa2f3f4d43bd334556a0a37bd3c89ac66a /source/blender/gpu/opengl/gl_backend.hh
parent7edd8a7738481b3d4f0720a173dca2a1853996d6 (diff)
GPUUniformBuf: GL backend isolation
This is in preparation of vulkan backend. We move all opengl functionnalities behind an abstract class. This also cleansup the "dynamic" ubo create and rename it to `GPU_uniformbuf_from_list()` Contains, no functional change. Part of T68990 Vulkan support.
Diffstat (limited to 'source/blender/gpu/opengl/gl_backend.hh')
-rw-r--r--source/blender/gpu/opengl/gl_backend.hh11
1 files changed, 11 insertions, 0 deletions
diff --git a/source/blender/gpu/opengl/gl_backend.hh b/source/blender/gpu/opengl/gl_backend.hh
index 63a14af6612..0234c1a3f63 100644
--- a/source/blender/gpu/opengl/gl_backend.hh
+++ b/source/blender/gpu/opengl/gl_backend.hh
@@ -31,6 +31,7 @@
#include "gl_context.hh"
#include "gl_drawlist.hh"
#include "gl_shader.hh"
+#include "gl_uniform_buffer.hh"
namespace blender {
namespace gpu {
@@ -40,6 +41,11 @@ class GLBackend : public GPUBackend {
GLSharedOrphanLists shared_orphan_list_;
public:
+ static GLBackend *get(void)
+ {
+ return static_cast<GLBackend *>(GPUBackend::get());
+ }
+
GPUContext *context_alloc(void *ghost_window)
{
return new GLContext(ghost_window, shared_orphan_list_);
@@ -60,6 +66,11 @@ class GLBackend : public GPUBackend {
return new GLShader(name);
};
+ UniformBuf *uniformbuf_alloc(int size, const char *name)
+ {
+ return new GLUniformBuf(size, name);
+ };
+
/* TODO remove */
void buf_free(GLuint buf_id);
void tex_free(GLuint tex_id);