diff options
author | Thomas Hellstrom <thellstrom@vmware.com> | 2012-11-21 06:18:31 -0500 |
---|---|---|
committer | Thomas Hellstrom <thellstrom@vmware.com> | 2014-01-17 01:52:29 -0500 |
commit | d8c08b2b87b9669bf9aafa732ecd60ae5640b3dc (patch) | |
tree | 357df7382dcaeac412834e2e242160d6de6f805d /drivers/gpu/drm/vmwgfx | |
parent | 74c10d1cd55a3a6b49556a524230e7a97b6de145 (diff) |
drm/vmwgfx: Enable 3D for new hardware version
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Zack Rusin <zackr@vmware.com>
Diffstat (limited to 'drivers/gpu/drm/vmwgfx')
-rw-r--r-- | drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c b/drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c index 01baffd90549..6ccd993e26bf 100644 --- a/drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c | |||
@@ -35,6 +35,23 @@ bool vmw_fifo_have_3d(struct vmw_private *dev_priv) | |||
35 | uint32_t fifo_min, hwversion; | 35 | uint32_t fifo_min, hwversion; |
36 | const struct vmw_fifo_state *fifo = &dev_priv->fifo; | 36 | const struct vmw_fifo_state *fifo = &dev_priv->fifo; |
37 | 37 | ||
38 | if (!(dev_priv->capabilities & SVGA_CAP_3D)) | ||
39 | return false; | ||
40 | |||
41 | if (dev_priv->capabilities & SVGA_CAP_GBOBJECTS) { | ||
42 | uint32_t result; | ||
43 | |||
44 | if (!dev_priv->has_mob) | ||
45 | return false; | ||
46 | |||
47 | mutex_lock(&dev_priv->hw_mutex); | ||
48 | vmw_write(dev_priv, SVGA_REG_DEV_CAP, SVGA3D_DEVCAP_3D); | ||
49 | result = vmw_read(dev_priv, SVGA_REG_DEV_CAP); | ||
50 | mutex_unlock(&dev_priv->hw_mutex); | ||
51 | |||
52 | return (result != 0); | ||
53 | } | ||
54 | |||
38 | if (!(dev_priv->capabilities & SVGA_CAP_EXTENDED_FIFO)) | 55 | if (!(dev_priv->capabilities & SVGA_CAP_EXTENDED_FIFO)) |
39 | return false; | 56 | return false; |
40 | 57 | ||