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:
authorJeroen Bakker <j.bakker@atmind.nl>2018-06-29 09:42:56 +0300
committerJeroen Bakker <j.bakker@atmind.nl>2018-06-29 09:42:56 +0300
commit899d100dd44c26ec8633f6d1b5540c11de9226b0 (patch)
tree03a60f846c66be816730e05c16b91e882f73967e /source/blender/draw/engines/workbench/workbench_forward.c
parentd34b0faa65f9585d7013a120523e9b87a22c60bd (diff)
Workbench: Use less GPU memory
When AA was enabled a new buffer was created. As the composite pass is already done, we can reuse earlier buffers. For the deferred rendering we reuse the color_buffer_tx and for the forward rendering we reuse the transparect_accum_tx.
Diffstat (limited to 'source/blender/draw/engines/workbench/workbench_forward.c')
-rw-r--r--source/blender/draw/engines/workbench/workbench_forward.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/source/blender/draw/engines/workbench/workbench_forward.c b/source/blender/draw/engines/workbench/workbench_forward.c
index 1a8a5461e13..9cc01149067 100644
--- a/source/blender/draw/engines/workbench/workbench_forward.c
+++ b/source/blender/draw/engines/workbench/workbench_forward.c
@@ -58,7 +58,6 @@ static struct {
struct GPUTexture *transparent_accum_tx; /* ref only, not alloced */
struct GPUTexture *transparent_revealage_tx; /* ref only, not alloced */
struct GPUTexture *composite_buffer_tx; /* ref only, not alloced */
- struct GPUTexture *effect_buffer_tx; /* ref only, not alloced */
int next_object_id;
float normal_world_matrix[3][3];
@@ -306,8 +305,6 @@ void workbench_forward_engine_init(WORKBENCH_Data *vedata)
size[0], size[1], GPU_R16F, &draw_engine_workbench_transparent);
e_data.composite_buffer_tx = DRW_texture_pool_query_2D(
size[0], size[1], GPU_R11F_G11F_B10F, &draw_engine_workbench_transparent);
- e_data.effect_buffer_tx = DRW_texture_pool_query_2D(
- size[0], size[1], GPU_RGBA16F, &draw_engine_workbench_solid);
GPU_framebuffer_ensure_config(&fbl->object_outline_fb, {
GPU_ATTACHMENT_TEXTURE(dtxl->depth),
@@ -326,7 +323,7 @@ void workbench_forward_engine_init(WORKBENCH_Data *vedata)
});
GPU_framebuffer_ensure_config(&fbl->effect_fb, {
GPU_ATTACHMENT_NONE,
- GPU_ATTACHMENT_TEXTURE(e_data.effect_buffer_tx),
+ GPU_ATTACHMENT_TEXTURE(e_data.transparent_accum_tx),
});
/* Transparency Accum */
@@ -356,7 +353,7 @@ void workbench_forward_engine_init(WORKBENCH_Data *vedata)
}
{
- workbench_aa_create_pass(vedata, &e_data.effect_buffer_tx);
+ workbench_aa_create_pass(vedata, &e_data.transparent_accum_tx);
}
/* Checker Depth */