Mesa (master): llvmpipe: move lp_jit_screen_init() call after allocation of screen object

Brian Paul brianp at kemper.freedesktop.org
Tue Sep 30 18:10:24 UTC 2014


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

Author: Brian Paul <brianp at vmware.com>
Date:   Mon Sep 29 16:08:55 2014 -0600

llvmpipe: move lp_jit_screen_init() call after allocation of screen object

The screen argument isn't actually used by lp_jit_screen_init() at this
time, but let's move the call so that we pass a valid pointer.

v2: don't leak screen if lp_jit_screen_init() fails.

Reviewed-by: Roland Scheidegger <sroland at vmware.com>

---

 src/gallium/drivers/llvmpipe/lp_screen.c |    8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/gallium/drivers/llvmpipe/lp_screen.c b/src/gallium/drivers/llvmpipe/lp_screen.c
index 3025322..a264f99 100644
--- a/src/gallium/drivers/llvmpipe/lp_screen.c
+++ b/src/gallium/drivers/llvmpipe/lp_screen.c
@@ -557,9 +557,6 @@ llvmpipe_create_screen(struct sw_winsys *winsys)
        return NULL;
 #endif
 
-   if (!lp_jit_screen_init(screen))
-      return NULL;
-
 #ifdef DEBUG
    LP_DEBUG = debug_get_flags_option("LP_DEBUG", lp_debug_flags, 0 );
 #endif
@@ -570,6 +567,11 @@ llvmpipe_create_screen(struct sw_winsys *winsys)
    if (!screen)
       return NULL;
 
+   if (!lp_jit_screen_init(screen)) {
+      FREE(screen);
+      return NULL;
+   }
+
    screen->winsys = winsys;
 
    screen->base.destroy = llvmpipe_destroy_screen;




More information about the mesa-commit mailing list