diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2017-04-03 20:32:05 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2017-04-03 22:52:42 +0300 |
commit | 4a8aaab0b2ab84455450fcdd1e39e190862b0bb6 (patch) | |
tree | 8980b25eae7e18bcae6931d08a2848e7c0de1661 /source/blender/gpu | |
parent | ccd8353d58d769d435822e7dac25d8fdf317d6df (diff) |
Draw Manager: Use engine type pointer instead of engine name.
Faster search
Diffstat (limited to 'source/blender/gpu')
-rw-r--r-- | source/blender/gpu/GPU_viewport.h | 6 | ||||
-rw-r--r-- | source/blender/gpu/intern/gpu_viewport.c | 8 |
2 files changed, 7 insertions, 7 deletions
diff --git a/source/blender/gpu/GPU_viewport.h b/source/blender/gpu/GPU_viewport.h index 06102a5c07e..2411fe755af 100644 --- a/source/blender/gpu/GPU_viewport.h +++ b/source/blender/gpu/GPU_viewport.h @@ -64,7 +64,7 @@ typedef struct StorageList { } StorageList; typedef struct ViewportEngineData { - char engine_name[32]; + void *engine_type; FramebufferList *fbl; TextureList *txl; @@ -83,8 +83,8 @@ void GPU_viewport_bind(GPUViewport *viewport, const rcti *rect); void GPU_viewport_unbind(GPUViewport *viewport); void GPU_viewport_free(GPUViewport *viewport); -void *GPU_viewport_engine_data_create(GPUViewport *viewport, const char *engine_name); -void *GPU_viewport_engine_data_get(GPUViewport *viewport, const char *engine_name); +void *GPU_viewport_engine_data_create(GPUViewport *viewport, void *engine_type); +void *GPU_viewport_engine_data_get(GPUViewport *viewport, void *engine_type); void *GPU_viewport_framebuffer_list_get(GPUViewport *viewport); void *GPU_viewport_texture_list_get(GPUViewport *viewport); void GPU_viewport_size_get(GPUViewport *viewport, int *size); diff --git a/source/blender/gpu/intern/gpu_viewport.c b/source/blender/gpu/intern/gpu_viewport.c index 659a9cea825..7c2cb8cd4bb 100644 --- a/source/blender/gpu/intern/gpu_viewport.c +++ b/source/blender/gpu/intern/gpu_viewport.c @@ -79,11 +79,11 @@ GPUViewport *GPU_viewport_create(void) return viewport; } -void *GPU_viewport_engine_data_create(GPUViewport *viewport, const char *engine_name) +void *GPU_viewport_engine_data_create(GPUViewport *viewport, void *engine_type) { LinkData *ld = MEM_callocN(sizeof(LinkData), "LinkData"); ViewportEngineData *data = MEM_callocN(sizeof(ViewportEngineData), "ViewportEngineData"); - BLI_strncpy(data->engine_name, engine_name, 32); + data->engine_type = engine_type; data->fbl = MEM_callocN(sizeof(FramebufferList), "FramebufferList"); data->txl = MEM_callocN(sizeof(TextureList), "TextureList"); @@ -119,11 +119,11 @@ static void GPU_viewport_engines_data_free(GPUViewport *viewport) } } -void *GPU_viewport_engine_data_get(GPUViewport *viewport, const char *engine_name) +void *GPU_viewport_engine_data_get(GPUViewport *viewport, void *engine_type) { for (LinkData *link = viewport->data.first; link; link = link->next) { ViewportEngineData *vdata = link->data; - if (STREQ(engine_name, vdata->engine_name)) { + if (vdata->engine_type == engine_type) { return vdata; } } |