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