From 6b372e3a22cbcdcb17a6239238189d6659418516 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Foucault?= Date: Wed, 8 Feb 2017 21:44:13 +0100 Subject: Clay Engine: support for overrides (not working yet) --- source/blender/gpu/GPU_viewport.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'source/blender/gpu/GPU_viewport.h') diff --git a/source/blender/gpu/GPU_viewport.h b/source/blender/gpu/GPU_viewport.h index e44657a4647..9de16f64ca1 100644 --- a/source/blender/gpu/GPU_viewport.h +++ b/source/blender/gpu/GPU_viewport.h @@ -44,6 +44,7 @@ typedef struct GPUViewport GPUViewport; #define MAX_BUFFERS 8 #define MAX_TEXTURES 16 #define MAX_PASSES 16 +#define MAX_STORAGE 2 /* extend if needed */ /* All FramebufferLists are just the same pointers with different names */ typedef struct FramebufferList { @@ -58,6 +59,10 @@ typedef struct PassList { struct DRWPass *passes[MAX_TEXTURES]; } PassList; +typedef struct StorageList { + void *storage[MAX_STORAGE]; /* custom structs from the engine */ +} StorageList; + /* Buffer and textures used by the viewport by default */ typedef struct DefaultFramebufferList { struct GPUFrameBuffer *default_fb; @@ -74,11 +79,11 @@ typedef struct DefaultPassList { } DefaultPassList; GPUViewport *GPU_viewport_create(void); -void GPU_viewport_bind(GPUViewport *viewport, const rcti *rect); +void GPU_viewport_bind(GPUViewport *viewport, const rcti *rect, const char *engine); void GPU_viewport_unbind(GPUViewport *viewport); void GPU_viewport_free(GPUViewport *viewport); -void GPU_viewport_get_engine_data(GPUViewport *viewport, void **fbs, void **txs, void **pss); +void GPU_viewport_get_engine_data(GPUViewport *viewport, void **fbs, void **txs, void **pss, void **str); /* debug */ bool GPU_viewport_debug_depth_create(GPUViewport *viewport, int width, int height, char err_out[256]); -- cgit v1.2.3