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>2017-02-19 16:31:02 +0300
committerClément Foucault <foucault.clem@gmail.com>2017-02-19 16:31:02 +0300
commit446625c5610577a6a708b7550d93bd760c4fa2d5 (patch)
treed8dfdbaba6913b0523fe8c63816729a384e38ddb /source/blender/draw
parentc8b7e7973af3d4675b0076103a727961e8c83ccc (diff)
Clay Engine: Use G.debug_value to test cache performance
Use debug 666 for cache without instance buffer caching. Use debug 667 for cache with instance buffer caching.
Diffstat (limited to 'source/blender/draw')
-rw-r--r--source/blender/draw/DRW_engine.h2
-rw-r--r--source/blender/draw/engines/clay/clay.c13
-rw-r--r--source/blender/draw/intern/DRW_render.h2
-rw-r--r--source/blender/draw/intern/draw_manager.c7
4 files changed, 6 insertions, 18 deletions
diff --git a/source/blender/draw/DRW_engine.h b/source/blender/draw/DRW_engine.h
index f5ac6e4c6c1..8ebd444b3fa 100644
--- a/source/blender/draw/DRW_engine.h
+++ b/source/blender/draw/DRW_engine.h
@@ -26,8 +26,6 @@
#ifndef __DRW_ENGINE_H__
#define __DRW_ENGINE_H__
-//#define WITH_VIEWPORT_CACHE_TEST
-
struct CollectionEngineSettings;
struct DRWPass;
struct Material;
diff --git a/source/blender/draw/engines/clay/clay.c b/source/blender/draw/engines/clay/clay.c
index 314e0c08f66..9766bccd32c 100644
--- a/source/blender/draw/engines/clay/clay.c
+++ b/source/blender/draw/engines/clay/clay.c
@@ -700,17 +700,8 @@ static void CLAY_view_draw(RenderEngine *UNUSED(engine), const bContext *context
/* TODO : tag to refresh by the deps graph */
/* ideally only refresh when objects are added/removed */
/* or render properties / materials change */
-#ifdef WITH_VIEWPORT_CACHE_TEST
- static bool once = false;
-#endif
- if (DRW_viewport_cache_is_dirty()
-#ifdef WITH_VIEWPORT_CACHE_TEST
- && !once
-#endif
- ) {
-#ifdef WITH_VIEWPORT_CACHE_TEST
- once = true;
-#endif
+ if (DRW_viewport_cache_is_dirty()) {
+
SceneLayer *sl = CTX_data_scene_layer(context);
CLAY_cache_init();
diff --git a/source/blender/draw/intern/DRW_render.h b/source/blender/draw/intern/DRW_render.h
index 83e48a02d1b..1fa3b84effd 100644
--- a/source/blender/draw/intern/DRW_render.h
+++ b/source/blender/draw/intern/DRW_render.h
@@ -52,8 +52,6 @@
#include "RE_engine.h"
-//#define WITH_VIEWPORT_CACHE_TEST
-
struct bContext;
struct GPUFrameBuffer;
struct GPUShader;
diff --git a/source/blender/draw/intern/draw_manager.c b/source/blender/draw/intern/draw_manager.c
index a834284b193..015d364fc69 100644
--- a/source/blender/draw/intern/draw_manager.c
+++ b/source/blender/draw/intern/draw_manager.c
@@ -672,9 +672,10 @@ static void shgroup_dynamic_instance(DRWShadingGroup *shgroup)
static void shgroup_dynamic_batch_from_calls(DRWShadingGroup *shgroup)
{
-#ifdef WITH_VIEWPORT_CACHE_TEST
- if (shgroup->interface->instance_vbo || shgroup->batch_geom) return;
-#endif
+ if ((shgroup->interface->instance_vbo || shgroup->batch_geom) &&
+ (G.debug_value == 667))
+ return;
+
if (shgroup->type == DRW_SHG_INSTANCE) {
shgroup_dynamic_instance(shgroup);
}