[Bf-blender-cvs] [f8328ec172a] master: Fix: Draw: Freeze Culling

Miguel Pozo noreply at git.blender.org
Tue Jan 17 15:10:40 CET 2023


Commit: f8328ec172af4da655a9bfeaefd23d4e2f864ad5
Author: Miguel Pozo
Date:   Tue Jan 17 15:10:36 2023 +0100
Branches: master
https://developer.blender.org/rBf8328ec172af4da655a9bfeaefd23d4e2f864ad5

Fix: Draw: Freeze Culling

Bind the frozen culling data as well.

Reviewed By: fclem

Differential Revision: https://developer.blender.org/D17010

===================================================================

M	source/blender/draw/intern/draw_view.cc

===================================================================

diff --git a/source/blender/draw/intern/draw_view.cc b/source/blender/draw/intern/draw_view.cc
index 82f614f20f2..5028b24c541 100644
--- a/source/blender/draw/intern/draw_view.cc
+++ b/source/blender/draw/intern/draw_view.cc
@@ -258,7 +258,8 @@ void View::compute_visibility(ObjectBoundsBuf &bounds, uint resource_len, bool d
     GPU_shader_uniform_1i(shader, "visibility_word_per_draw", word_per_draw);
     GPU_storagebuf_bind(bounds, GPU_shader_get_ssbo(shader, "bounds_buf"));
     GPU_storagebuf_bind(visibility_buf_, GPU_shader_get_ssbo(shader, "visibility_buf"));
-    GPU_uniformbuf_bind((frozen_) ? data_freeze_ : data_, DRW_VIEW_UBO_SLOT);
+    GPU_uniformbuf_bind(frozen_ ? data_freeze_ : data_, DRW_VIEW_UBO_SLOT);
+    GPU_uniformbuf_bind(frozen_ ? culling_freeze_ : culling_, DRW_VIEW_CULLING_UBO_SLOT);
     GPU_compute_dispatch(shader, divide_ceil_u(resource_len, DRW_VISIBILITY_GROUP_SIZE), 1, 1);
     GPU_memory_barrier(GPU_BARRIER_SHADER_STORAGE);
   }
@@ -266,6 +267,7 @@ void View::compute_visibility(ObjectBoundsBuf &bounds, uint resource_len, bool d
   if (frozen_) {
     /* Bind back the non frozen data. */
     GPU_uniformbuf_bind(data_, DRW_VIEW_UBO_SLOT);
+    GPU_uniformbuf_bind(culling_, DRW_VIEW_CULLING_UBO_SLOT);
   }
 
   GPU_debug_group_end();



More information about the Bf-blender-cvs mailing list