+1

On 3/12/21 11:10 AM, Carsten Haitzler wrote:
raster pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=5b48077b19072457304814a14899c3c75c455f02

commit 5b48077b19072457304814a14899c3c75c455f02
Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com>
Date:   Fri Mar 12 16:09:56 2021 +0000

     comp - fps debug - dont use null pixel ptrs for debug data
@fix
---
  src/bin/e_comp.c | 70 +++++++++++++++++++++++++++++---------------------------
  1 file changed, 36 insertions(+), 34 deletions(-)

diff --git a/src/bin/e_comp.c b/src/bin/e_comp.c
index 9b7f1842a..fbdc1e13e 100644
--- a/src/bin/e_comp.c
+++ b/src/bin/e_comp.c
@@ -570,43 +570,45 @@ e_comp_fps_update(void)
          evas_object_image_alpha_set(e_comp->canvas->fps_gr, EINA_TRUE);
          pixstride = evas_object_image_stride_get(e_comp->canvas->fps_gr);
          pix = evas_object_image_data_get(e_comp->canvas->fps_gr, EINA_TRUE);
-
-        memset(pix, 0, pixstride * pixh);
-
-        // go backwards from newest to oldest
-        start = e_comp->frame_event_now + E_COMP_FRAME_EVENT_COUNT - 1;
-        end = e_comp->frame_event_now + E_COMP_FRAME_EVENT_COUNT ;
-        for (i = start;;)
+        if (pix)
            {
-             iind = i % E_COMP_FRAME_EVENT_COUNT;
-             i--;
-             if (iind == (end % E_COMP_FRAME_EVENT_COUNT)) break;
-
-             info0 = e_comp->frame_events[iind].info[0];
-             px = (t - e_comp->frame_events[iind].t) * pixscale;
-             px = pixw - px - 1;
-             if (px < 0) break;
-             if (info0 == E_COMP_FRAME_EVENT_RENDER2_END)
-               _e_comp_fps_draw_point(pix, pixstride, pixw, 0, 0xffffffff, px);
-             else if (info0 == E_COMP_FRAME_EVENT_RENDER2_BEGIN)
-               _e_comp_fps_draw_point(pix, pixstride, pixw, 1, 0xffffee88, px);
-             else if (info0 == E_COMP_FRAME_EVENT_RENDER_END)
-               _e_comp_fps_draw_point(pix, pixstride, pixw, 2, 0xffff9944, px);
-             else if (info0 == E_COMP_FRAME_EVENT_RENDER_BEGIN)
-               _e_comp_fps_draw_point(pix, pixstride, pixw, 3, 0xffff4433, px);
-             else if (info0 == E_COMP_FRAME_EVENT_IDLE_ENTER)
-               _e_comp_fps_draw_point(pix, pixstride, pixw, 4, 0xff994499, px);
-             else if (info0 == E_COMP_FRAME_EVENT_IDLE_EXIT)
-               _e_comp_fps_draw_point(pix, pixstride, pixw, 5, 0xffff88ff, px);
-             else if (info0 == E_COMP_FRAME_EVENT_HANDLE_DAMAGE)
-               _e_comp_fps_draw_point(pix, pixstride, pixw, 6, 0xff44ff22, px);
-             else if (info0 == E_COMP_FRAME_EVENT_CLIENT_DAMAGE)
-               _e_comp_fps_draw_point(pix, pixstride, pixw, 7, 0xff4466ff, px);
+             memset(pix, 0, pixstride * pixh);
+
+             // go backwards from newest to oldest
+             start = e_comp->frame_event_now + E_COMP_FRAME_EVENT_COUNT - 1;
+             end = e_comp->frame_event_now + E_COMP_FRAME_EVENT_COUNT ;
+             for (i = start;;)
+               {
+                  iind = i % E_COMP_FRAME_EVENT_COUNT;
+                  i--;
+                  if (iind == (end % E_COMP_FRAME_EVENT_COUNT)) break;
+
+                  info0 = e_comp->frame_events[iind].info[0];
+                  px = (t - e_comp->frame_events[iind].t) * pixscale;
+                  px = pixw - px - 1;
+                  if (px < 0) break;
+                  if (info0 == E_COMP_FRAME_EVENT_RENDER2_END)
+                    _e_comp_fps_draw_point(pix, pixstride, pixw, 0, 
0xffffffff, px);
+                  else if (info0 == E_COMP_FRAME_EVENT_RENDER2_BEGIN)
+                    _e_comp_fps_draw_point(pix, pixstride, pixw, 1, 
0xffffee88, px);
+                  else if (info0 == E_COMP_FRAME_EVENT_RENDER_END)
+                    _e_comp_fps_draw_point(pix, pixstride, pixw, 2, 
0xffff9944, px);
+                  else if (info0 == E_COMP_FRAME_EVENT_RENDER_BEGIN)
+                    _e_comp_fps_draw_point(pix, pixstride, pixw, 3, 
0xffff4433, px);
+                  else if (info0 == E_COMP_FRAME_EVENT_IDLE_ENTER)
+                    _e_comp_fps_draw_point(pix, pixstride, pixw, 4, 
0xff994499, px);
+                  else if (info0 == E_COMP_FRAME_EVENT_IDLE_EXIT)
+                    _e_comp_fps_draw_point(pix, pixstride, pixw, 5, 
0xffff88ff, px);
+                  else if (info0 == E_COMP_FRAME_EVENT_HANDLE_DAMAGE)
+                    _e_comp_fps_draw_point(pix, pixstride, pixw, 6, 
0xff44ff22, px);
+                  else if (info0 == E_COMP_FRAME_EVENT_CLIENT_DAMAGE)
+                    _e_comp_fps_draw_point(pix, pixstride, pixw, 7, 
0xff4466ff, px);
+               }
+             evas_object_image_data_set(e_comp->canvas->fps_gr, pix);
+             evas_object_image_data_update_add(e_comp->canvas->fps_gr,
+                                               0, 0, pixw, pixh);
            }
- evas_object_image_data_set(e_comp->canvas->fps_gr, pix);
-        evas_object_image_data_update_add(e_comp->canvas->fps_gr,
-                                          0, 0, pixw, pixh);
          evas_object_color_set(e_comp->canvas->fps_bg, 0, 0, 0, 192);
          evas_object_geometry_set(e_comp->canvas->fps_bg, bx, by, bw, bh);
          evas_object_geometry_set(e_comp->canvas->fps_gr, gx, gy, gw, gh);



_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to