Commit: 40945fc28342cb58d1aa834453b38bdafb93ff8e
Author: Miguel Pozo
Date:   Tue Oct 11 22:50:09 2022 +0200
Branches: tmp-workbench-rewrite2
https://developer.blender.org/rB40945fc28342cb58d1aa834453b38bdafb93ff8e

matcaps: avoid the extra copy

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

M       source/blender/draw/engines/workbench/workbench_engine.cc

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

diff --git a/source/blender/draw/engines/workbench/workbench_engine.cc 
b/source/blender/draw/engines/workbench/workbench_engine.cc
index 43946f4b498..d1fe5a07b78 100644
--- a/source/blender/draw/engines/workbench/workbench_engine.cc
+++ b/source/blender/draw/engines/workbench/workbench_engine.cc
@@ -139,19 +139,21 @@ class Instance {
           ImBuf *matcap_specular = studio_light->matcap_specular.ibuf;
           if (matcap_diffuse && matcap_diffuse->rect_float) {
             current_matcap = studio_light->name;
-            int size = matcap_diffuse->x * matcap_diffuse->y * 4;
             int layers = 1;
-            Vector<float> load_buffer = {};
-            load_buffer.extend(matcap_diffuse->rect_float, size);
+            float *buffer = matcap_diffuse->rect_float;
+            Vector<float> combined_buffer = {};
             if (matcap_specular && matcap_specular->rect_float) {
-              load_buffer.extend(matcap_specular->rect_float, size);
+              int size = matcap_diffuse->x * matcap_diffuse->y * 4;
+              combined_buffer.extend(matcap_diffuse->rect_float, size);
+              combined_buffer.extend(matcap_specular->rect_float, size);
+              buffer = combined_buffer.begin();
               layers++;
             }
             resources.matcap_tx = Texture(current_matcap.c_str(),
                                           GPU_RGBA16F,
                                           int2(matcap_diffuse->x, 
matcap_diffuse->y),
                                           layers,
-                                          load_buffer.begin());
+                                          buffer);
           }
         }
       }

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
List details, subscription details or unsubscribe:
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to