svga: eliminate unneeded gotos in svga_validate_surface_view()
authorBrian Paul <brianp@vmware.com>
Thu, 22 Sep 2016 18:26:55 +0000 (12:26 -0600)
committerBrian Paul <brianp@vmware.com>
Sat, 24 Sep 2016 01:54:42 +0000 (19:54 -0600)
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
src/gallium/drivers/svga/svga_surface.c

index 7cc7ef1b4528c6f52ff1e805f369bf61647a0619..935384150cc8f38d01d130b6718aacd522b1c607 100644 (file)
@@ -426,14 +426,12 @@ svga_validate_surface_view(struct svga_context *svga, struct svga_surface *s)
                   "same resource used in shaderResource and renderTarget 0x%x\n",
                   s->handle);
          s = create_backed_surface_view(svga, s);
-         if (!s)
-            goto done;
-
+         /* s may be null here if the function failed */
          break;
       }
    }
 
-   if (s->view_id == SVGA3D_INVALID_ID) {
+   if (s && s->view_id == SVGA3D_INVALID_ID) {
       SVGA3dResourceType resType;
       SVGA3dRenderTargetViewDesc desc;
 
@@ -478,14 +476,13 @@ svga_validate_surface_view(struct svga_context *svga, struct svga_surface *s)
       if (ret != PIPE_OK) {
          util_bitmask_clear(svga->surface_view_id_bm, s->view_id);
          s->view_id = SVGA3D_INVALID_ID;
-         goto done;
+         s = NULL;
       }
    }
    
-done:
    SVGA_STATS_TIME_POP(svga_sws(svga));
 
-   return &s->base;
+   return s ? &s->base : NULL;
 }