diff options
author | Dave Airlie <airlied@starflyer.(none)> | 2005-08-16 20:43:16 +1000 |
---|---|---|
committer | Dave Airlie <airlied@linux.ie> | 2005-08-16 20:43:16 +1000 |
commit | 414ed537995617f4cbcab65e193f26a2b2dcfa5e (patch) | |
tree | 7bd1b77bfd80819f7253fe4cbdb0c25560d8924c /drivers/char/drm/radeon_state.c | |
parent | 282a16749ba63256bcdce2766817f46aaac4dc20 (diff) | |
download | op-kernel-dev-414ed537995617f4cbcab65e193f26a2b2dcfa5e.zip op-kernel-dev-414ed537995617f4cbcab65e193f26a2b2dcfa5e.tar.gz |
drm: add initial r300 3D support.
This adds initial r300 3D support to the radeon DRM.
From: Nicolai Haehnle, Vladimir Dergachev, and others.
Signed-off-by: David Airlie <airlied@linux.ie>
Diffstat (limited to 'drivers/char/drm/radeon_state.c')
-rw-r--r-- | drivers/char/drm/radeon_state.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/char/drm/radeon_state.c b/drivers/char/drm/radeon_state.c index 1f79e24..d57accd 100644 --- a/drivers/char/drm/radeon_state.c +++ b/drivers/char/drm/radeon_state.c @@ -2797,6 +2797,17 @@ static int radeon_cp_cmdbuf( DRM_IOCTL_ARGS ) orig_nbox = cmdbuf.nbox; + if(dev_priv->microcode_version == UCODE_R300) { + int temp; + temp=r300_do_cp_cmdbuf(dev, filp, filp_priv, &cmdbuf); + + if (orig_bufsz != 0) + drm_free(kbuf, orig_bufsz, DRM_MEM_DRIVER); + + return temp; + } + + /* microcode_version != r300 */ while ( cmdbuf.bufsz >= sizeof(header) ) { header.i = *(int *)cmdbuf.buf; |