diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2020-08-21 13:30:55 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2020-08-21 15:16:42 +0300 |
commit | c4f122ac8f167c5296be9ee23344765f181e6314 (patch) | |
tree | d6a627aa2f3f4d43bd334556a0a37bd3c89ac66a /source/blender/gpu/opengl/gl_backend.hh | |
parent | 7edd8a7738481b3d4f0720a173dca2a1853996d6 (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.hh | 11 |
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); |