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/intern/gpu_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/intern/gpu_backend.hh')
-rw-r--r--source/blender/gpu/intern/gpu_backend.hh11
1 files changed, 7 insertions, 4 deletions
diff --git a/source/blender/gpu/intern/gpu_backend.hh b/source/blender/gpu/intern/gpu_backend.hh
index 6ab0e32a754..f63f3cead2b 100644
--- a/source/blender/gpu/intern/gpu_backend.hh
+++ b/source/blender/gpu/intern/gpu_backend.hh
@@ -25,14 +25,16 @@
#pragma once
-#include "gpu_batch_private.hh"
-#include "gpu_context_private.hh"
-#include "gpu_drawlist_private.hh"
-#include "gpu_shader_private.hh"
+struct GPUContext;
namespace blender {
namespace gpu {
+class Batch;
+class DrawList;
+class Shader;
+class UniformBuf;
+
class GPUBackend {
public:
virtual ~GPUBackend(){};
@@ -46,6 +48,7 @@ class GPUBackend {
// virtual FrameBuffer *framebuffer_alloc(void) = 0;
virtual Shader *shader_alloc(const char *name) = 0;
// virtual Texture *texture_alloc(void) = 0;
+ virtual UniformBuf *uniformbuf_alloc(int size, const char *name) = 0;
};
} // namespace gpu