Mesa (master): svga: replace gotos with conditionals in array drawing code

Brian Paul brianp at kemper.freedesktop.org
Tue Aug 22 01:07:55 UTC 2017


Module: Mesa
Branch: master
Commit: 4d2b21a326d2e83eb8fe2b32ac39dbe776f172c8
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4d2b21a326d2e83eb8fe2b32ac39dbe776f172c8

Author: Brian Paul <brianp at vmware.com>
Date:   Fri Aug 18 21:18:47 2017 -0600

svga: replace gotos with conditionals in array drawing code

No Piglit regressions.

Reviewed-by: Charmaine Lee <charmainel at vmware.com>

---

 src/gallium/drivers/svga/svga_draw_arrays.c   | 36 +++++++++++++--------------
 src/gallium/drivers/svga/svga_draw_elements.c | 28 ++++++++++-----------
 2 files changed, 32 insertions(+), 32 deletions(-)

diff --git a/src/gallium/drivers/svga/svga_draw_arrays.c b/src/gallium/drivers/svga/svga_draw_arrays.c
index b968fb0304..19d5e50313 100644
--- a/src/gallium/drivers/svga/svga_draw_arrays.c
+++ b/src/gallium/drivers/svga/svga_draw_arrays.c
@@ -286,25 +286,25 @@ svga_hwtnl_draw_arrays(struct svga_hwtnl *hwtnl,
                                          gen_type,
                                          gen_nr,
                                          gen_size, gen_func, &gen_buf);
-      if (ret != PIPE_OK)
-         goto done;
-
-      pipe_debug_message(&svga->debug.callback, PERF_INFO,
-                         "generating temporary index buffer for drawing %s",
-                         u_prim_name(prim));
-
-      ret = svga_hwtnl_simple_draw_range_elements(hwtnl,
-                                                  gen_buf,
-                                                  gen_size,
-                                                  start,
-                                                  0,
-                                                  count - 1,
-                                                  gen_prim, 0, gen_nr,
-                                                  start_instance,
-                                                  instance_count);
-done:
-      if (gen_buf)
+      if (ret == PIPE_OK) {
+         pipe_debug_message(&svga->debug.callback, PERF_INFO,
+                            "generating temporary index buffer for drawing %s",
+                            u_prim_name(prim));
+
+         ret = svga_hwtnl_simple_draw_range_elements(hwtnl,
+                                                     gen_buf,
+                                                     gen_size,
+                                                     start,
+                                                     0,
+                                                     count - 1,
+                                                     gen_prim, 0, gen_nr,
+                                                     start_instance,
+                                                     instance_count);
+      }
+
+      if (gen_buf) {
          pipe_resource_reference(&gen_buf, NULL);
+      }
    }
 
    SVGA_STATS_TIME_POP(svga_sws(svga));
diff --git a/src/gallium/drivers/svga/svga_draw_elements.c b/src/gallium/drivers/svga/svga_draw_elements.c
index f9bb13664f..b1db871074 100644
--- a/src/gallium/drivers/svga/svga_draw_elements.c
+++ b/src/gallium/drivers/svga/svga_draw_elements.c
@@ -242,21 +242,21 @@ svga_hwtnl_draw_range_elements(struct svga_hwtnl *hwtnl,
                               prim, gen_prim,
                               count, gen_nr, gen_size,
                               gen_func, &gen_buf);
-      if (ret != PIPE_OK)
-         goto done;
-
-      ret = svga_hwtnl_simple_draw_range_elements(hwtnl,
-                                                  gen_buf,
-                                                  gen_size,
-                                                  index_bias,
-                                                  min_index,
-                                                  max_index,
-                                                  gen_prim, 0, gen_nr,
-                                                  start_instance,
-                                                  instance_count);
-done:
-      if (gen_buf)
+      if (ret == PIPE_OK) {
+         ret = svga_hwtnl_simple_draw_range_elements(hwtnl,
+                                                     gen_buf,
+                                                     gen_size,
+                                                     index_bias,
+                                                     min_index,
+                                                     max_index,
+                                                     gen_prim, 0, gen_nr,
+                                                     start_instance,
+                                                     instance_count);
+      }
+
+      if (gen_buf) {
          pipe_resource_reference(&gen_buf, NULL);
+      }
    }
 
    SVGA_STATS_TIME_POP(svga_sws(hwtnl->svga));




More information about the mesa-commit mailing list