Mesa (master): r600g: add family retrival

Jerome Glisse glisse at kemper.freedesktop.org
Wed Jul 21 21:06:50 UTC 2010


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

Author: Dave Airlie <airlied at redhat.com>
Date:   Wed Jul 21 15:39:01 2010 +1000

r600g: add family retrival

allow pipe driver to get the family of the gpu.

---

 src/gallium/drivers/r600/r600_screen.c |    8 +++++++-
 src/gallium/drivers/r600/radeon.h      |    2 ++
 src/gallium/winsys/r600/drm/radeon.c   |    5 +++++
 3 files changed, 14 insertions(+), 1 deletions(-)

diff --git a/src/gallium/drivers/r600/r600_screen.c b/src/gallium/drivers/r600/r600_screen.c
index 20758b0..dec6fa8 100644
--- a/src/gallium/drivers/r600/r600_screen.c
+++ b/src/gallium/drivers/r600/r600_screen.c
@@ -41,7 +41,13 @@ static const char* r600_get_vendor(struct pipe_screen* pscreen)
 
 static const char* r600_get_name(struct pipe_screen* pscreen)
 {
-	return "R600/R700 (HD2XXX,HD3XXX,HD4XXX)";
+	struct r600_screen *screen = r600_screen(pscreen);
+	enum radeon_family family = radeon_get_family(screen->rw);
+
+	if (family >= CHIP_R600 && family < CHIP_RV770)
+		return "R600 (HD2XXX,HD3XXX)";
+	else
+		return "R700 (HD4XXX)";
 }
 
 static int r600_get_param(struct pipe_screen* pscreen, enum pipe_cap param)
diff --git a/src/gallium/drivers/r600/radeon.h b/src/gallium/drivers/r600/radeon.h
index 2a82aad..3a8405f 100644
--- a/src/gallium/drivers/r600/radeon.h
+++ b/src/gallium/drivers/r600/radeon.h
@@ -77,6 +77,8 @@ enum radeon_family {
 	CHIP_LAST,
 };
 
+enum radeon_family radeon_get_family(struct radeon *rw);
+
 /*
  * radeon object functions
  */
diff --git a/src/gallium/winsys/r600/drm/radeon.c b/src/gallium/winsys/r600/drm/radeon.c
index f2113c5..7e65669 100644
--- a/src/gallium/winsys/r600/drm/radeon.c
+++ b/src/gallium/winsys/r600/drm/radeon.c
@@ -25,6 +25,11 @@
 #include "radeon_drm.h"
 #include "r600d.h"
 
+enum radeon_family radeon_get_family(struct radeon *radeon)
+{
+	return radeon->family;
+}
+
 static int radeon_get_device(struct radeon *radeon)
 {
 	struct drm_radeon_info info;




More information about the mesa-commit mailing list