swr: include llvm version and vector width in renderer string
authorTim Rowley <timothy.o.rowley@intel.com>
Mon, 5 Dec 2016 17:32:19 +0000 (11:32 -0600)
committerTim Rowley <timothy.o.rowley@intel.com>
Mon, 5 Dec 2016 19:42:39 +0000 (13:42 -0600)
Uses llvmpipe's string formating.

Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
src/gallium/drivers/swr/swr_screen.cpp

index 75a9d0227a89280ffa8687e4a0cf4a099a9f57a1..539acf1c8a8466d646c42969a8fae87c559120ce 100644 (file)
@@ -35,6 +35,7 @@
 #include "util/u_inlines.h"
 #include "util/u_cpu_detect.h"
 #include "util/u_format_s3tc.h"
+#include "util/u_string.h"
 
 #include "state_tracker/sw_winsys.h"
 
@@ -67,7 +68,11 @@ extern "C" {
 static const char *
 swr_get_name(struct pipe_screen *screen)
 {
-   return "SWR";
+   static char buf[100];
+   util_snprintf(buf, sizeof(buf), "SWR (LLVM %u.%u, %u bits)",
+                 HAVE_LLVM >> 8, HAVE_LLVM & 0xff,
+                 lp_native_vector_width );
+   return buf;
 }
 
 static const char *
@@ -940,6 +945,11 @@ swr_create_screen_internal(struct sw_winsys *winsys)
       g_GlobalKnobs.MAX_PRIMS_PER_DRAW.Value(49152);
    }
 
+   if (!lp_build_init()) {
+      FREE(screen);
+      return NULL;
+   }
+
    screen->winsys = winsys;
    screen->base.get_name = swr_get_name;
    screen->base.get_vendor = swr_get_vendor;