Mesa (master): svga: Add a new winsys entry point to query the hw version.

Jose Fonseca jrfonseca at kemper.freedesktop.org
Wed Mar 9 13:34:41 UTC 2011


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

Author: José Fonseca <jfonseca at vmware.com>
Date:   Wed Feb 23 18:30:27 2011 +0000

svga: Add a new winsys entry point to query the hw version.

---

 src/gallium/drivers/svga/svga_screen.c |    6 ++++++
 src/gallium/drivers/svga/svga_screen.h |    2 ++
 src/gallium/drivers/svga/svga_winsys.h |    3 +++
 3 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/src/gallium/drivers/svga/svga_screen.c b/src/gallium/drivers/svga/svga_screen.c
index f4029c7..0dee8b1 100644
--- a/src/gallium/drivers/svga/svga_screen.c
+++ b/src/gallium/drivers/svga/svga_screen.c
@@ -499,6 +499,12 @@ svga_screen_create(struct svga_winsys_screen *sws)
 
    svga_init_screen_resource_functions(svgascreen);
 
+   if (sws->get_hw_version) {
+      svgascreen->hw_version = sws->get_hw_version(sws);
+   } else {
+      svgascreen->hw_version = SVGA3D_HWVERSION_WS65_B1;
+   }
+
    svgascreen->use_ps30 =
       sws->get_cap(sws, SVGA3D_DEVCAP_FRAGMENT_SHADER_VERSION, &result) &&
       result.u >= SVGA3DPSVERSION_30 ? TRUE : FALSE;
diff --git a/src/gallium/drivers/svga/svga_screen.h b/src/gallium/drivers/svga/svga_screen.h
index 86ec89d..7ef627f 100644
--- a/src/gallium/drivers/svga/svga_screen.h
+++ b/src/gallium/drivers/svga/svga_screen.h
@@ -49,6 +49,8 @@ struct svga_screen
    struct pipe_screen screen;
    struct svga_winsys_screen *sws;
 
+   SVGA3dHardwareVersion hw_version;
+
    unsigned use_ps30;
    unsigned use_vs30;
    
diff --git a/src/gallium/drivers/svga/svga_winsys.h b/src/gallium/drivers/svga/svga_winsys.h
index 5e4bdef..269659e 100644
--- a/src/gallium/drivers/svga/svga_winsys.h
+++ b/src/gallium/drivers/svga/svga_winsys.h
@@ -136,6 +136,9 @@ struct svga_winsys_screen
    void
    (*destroy)(struct svga_winsys_screen *sws);
    
+   SVGA3dHardwareVersion
+   (*get_hw_version)(struct svga_winsys_screen *sws);
+
    boolean
    (*get_cap)(struct svga_winsys_screen *sws,
               SVGA3dDevCapIndex index,




More information about the mesa-commit mailing list