Mesa (master): gallium/radeon: add the kernel version into the renderer string

Marek Olšák mareko at kemper.freedesktop.org
Thu May 26 14:54:10 UTC 2016


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

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Wed May 25 01:00:53 2016 +0200

gallium/radeon: add the kernel version into the renderer string

Example:
Gallium 0.4 on AMD TONGA (DRM 3.2.0 / 4.5.0, LLVM 3.9.0)

My kernel version is pretty long already (4.5.0-amd-01025-g32791c1)
and adding "kernel" into the string would make too it long for glxinfo
to display.

Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>

---

 src/gallium/drivers/radeon/r600_pipe_common.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/src/gallium/drivers/radeon/r600_pipe_common.c b/src/gallium/drivers/radeon/r600_pipe_common.c
index 8d9c5a5..c00e584 100644
--- a/src/gallium/drivers/radeon/r600_pipe_common.c
+++ b/src/gallium/drivers/radeon/r600_pipe_common.c
@@ -37,6 +37,7 @@
 #include "vl/vl_video_buffer.h"
 #include "radeon/radeon_video.h"
 #include <inttypes.h>
+#include <sys/utsname.h>
 
 #ifndef HAVE_LLVM
 #define HAVE_LLVM 0
@@ -938,10 +939,15 @@ struct pipe_resource *r600_resource_create_common(struct pipe_screen *screen,
 bool r600_common_screen_init(struct r600_common_screen *rscreen,
 			     struct radeon_winsys *ws)
 {
-	char llvm_string[32] = {};
+	char llvm_string[32] = {}, kernel_version[128] = {};
+	struct utsname uname_data;
 
 	ws->query_info(ws, &rscreen->info);
 
+	if (uname(&uname_data) == 0)
+		snprintf(kernel_version, sizeof(kernel_version),
+			 " / %s", uname_data.release);
+
 #if HAVE_LLVM
 	snprintf(llvm_string, sizeof(llvm_string),
 		 ", LLVM %i.%i.%i", (HAVE_LLVM >> 8) & 0xff,
@@ -949,10 +955,10 @@ bool r600_common_screen_init(struct r600_common_screen *rscreen,
 #endif
 
 	snprintf(rscreen->renderer_string, sizeof(rscreen->renderer_string),
-		 "%s (DRM %i.%i.%i%s)",
+		 "%s (DRM %i.%i.%i%s%s)",
 		 r600_get_chip_name(rscreen), rscreen->info.drm_major,
 		 rscreen->info.drm_minor, rscreen->info.drm_patchlevel,
-		 llvm_string);
+		 kernel_version, llvm_string);
 
 	rscreen->b.get_name = r600_get_name;
 	rscreen->b.get_vendor = r600_get_vendor;




More information about the mesa-commit mailing list