diff options
Diffstat (limited to 'source/blender/draw/intern/draw_manager_exec.c')
-rw-r--r-- | source/blender/draw/intern/draw_manager_exec.c | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/source/blender/draw/intern/draw_manager_exec.c b/source/blender/draw/intern/draw_manager_exec.c index 1660239735b..3627b0fbf10 100644 --- a/source/blender/draw/intern/draw_manager_exec.c +++ b/source/blender/draw/intern/draw_manager_exec.c @@ -1146,13 +1146,8 @@ static void draw_shgroup(DRWShadingGroup *shgroup, DRWState pass_state) } } -static void drw_update_view(const float viewport_size[2]) +static void drw_update_view(void) { - ViewInfos *storage = &DST.view_active->storage; - copy_v2_v2(storage->viewport_size, viewport_size); - copy_v2_v2(storage->viewport_size_inverse, viewport_size); - invert_v2(storage->viewport_size_inverse); - /* TODO(fclem): update a big UBO and only bind ranges here. */ GPU_uniformbuf_update(G_draw.view_ubo, &DST.view_active->storage); GPU_uniformbuf_update(G_draw.clipping_ubo, &DST.view_active->clip_planes); @@ -1181,11 +1176,8 @@ static void drw_draw_pass_ex(DRWPass *pass, BLI_assert(DST.buffer_finish_called && "DRW_render_instance_buffer_finish had not been called before drawing"); - float viewport[4]; - GPU_viewport_size_get_f(viewport); - if (DST.view_previous != DST.view_active || DST.view_active->is_dirty || - !equals_v2v2(DST.view_active->storage.viewport_size, &viewport[2])) { - drw_update_view(&viewport[2]); + if (DST.view_previous != DST.view_active || DST.view_active->is_dirty) { + drw_update_view(); DST.view_active->is_dirty = false; DST.view_previous = DST.view_active; } |