svga/drm: Implement svga_winsys_screen::get_hw_version.
authorJosé Fonseca <jfonseca@vmware.com>
Tue, 10 May 2011 15:36:35 +0000 (16:36 +0100)
committerJosé Fonseca <jfonseca@vmware.com>
Tue, 10 May 2011 15:36:35 +0000 (16:36 +0100)
src/gallium/winsys/svga/drm/vmw_screen_svga.c

index d96b2b97427281c6edafeb4b3fde9fc62538d9a0..c362aa399382e1bfca9650277df3de0f4ba3abf1 100644 (file)
@@ -201,6 +201,19 @@ vmw_svga_winsys_destroy(struct svga_winsys_screen *sws)
 }
 
 
+static SVGA3dHardwareVersion
+vmw_svga_winsys_get_hw_version(struct svga_winsys_screen *sws)
+{
+   struct vmw_winsys_screen *vws = vmw_winsys_screen(sws);
+
+   if (!vws->ioctl.fifo_map) {
+      return 0;
+   }
+
+   return vws->ioctl.fifo_map[SVGA_FIFO_3D_HWVERSION];
+}
+
+
 static boolean
 vmw_svga_winsys_get_cap(struct svga_winsys_screen *sws,
                         SVGA3dDevCapIndex index,
@@ -276,6 +289,7 @@ boolean
 vmw_winsys_screen_init_svga(struct vmw_winsys_screen *vws)
 {
    vws->base.destroy = vmw_svga_winsys_destroy;
+   vws->base.get_hw_version = vmw_svga_winsys_get_hw_version;
    vws->base.get_cap = vmw_svga_winsys_get_cap;
    vws->base.context_create = vmw_svga_winsys_context_create;
    vws->base.surface_create = vmw_svga_winsys_surface_create;