diff options
author | rnoland <rnoland@FreeBSD.org> | 2009-08-23 14:55:57 +0000 |
---|---|---|
committer | rnoland <rnoland@FreeBSD.org> | 2009-08-23 14:55:57 +0000 |
commit | 8a453d95085dc4d012b7b159ed76f8c71929f383 (patch) | |
tree | d0d8199ca8beecf5e95c6cd807d31ead8115789e /sys/dev/drm/radeon_drm.h | |
parent | b850005c1c5f7375c521527a8761ef4a4836ae8c (diff) | |
download | FreeBSD-src-8a453d95085dc4d012b7b159ed76f8c71929f383.zip FreeBSD-src-8a453d95085dc4d012b7b159ed76f8c71929f383.tar.gz |
Add kernel support for Radeon R6/7xx 3D.
You will still need Mesa from git and possibly an updated DDX driver,
but this is working fairly well now.
MFC after: 2 weeks
Diffstat (limited to 'sys/dev/drm/radeon_drm.h')
-rw-r--r-- | sys/dev/drm/radeon_drm.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/sys/dev/drm/radeon_drm.h b/sys/dev/drm/radeon_drm.h index 70d3aaa..2e64e29 100644 --- a/sys/dev/drm/radeon_drm.h +++ b/sys/dev/drm/radeon_drm.h @@ -497,6 +497,8 @@ typedef struct { #define DRM_RADEON_SURF_ALLOC 0x1a #define DRM_RADEON_SURF_FREE 0x1b +#define DRM_RADEON_CS 0x26 + #define DRM_IOCTL_RADEON_CP_INIT DRM_IOW( DRM_COMMAND_BASE + DRM_RADEON_CP_INIT, drm_radeon_init_t) #define DRM_IOCTL_RADEON_CP_START DRM_IO( DRM_COMMAND_BASE + DRM_RADEON_CP_START) #define DRM_IOCTL_RADEON_CP_STOP DRM_IOW( DRM_COMMAND_BASE + DRM_RADEON_CP_STOP, drm_radeon_cp_stop_t) @@ -524,6 +526,7 @@ typedef struct { #define DRM_IOCTL_RADEON_SETPARAM DRM_IOW( DRM_COMMAND_BASE + DRM_RADEON_SETPARAM, drm_radeon_setparam_t) #define DRM_IOCTL_RADEON_SURF_ALLOC DRM_IOW( DRM_COMMAND_BASE + DRM_RADEON_SURF_ALLOC, drm_radeon_surface_alloc_t) #define DRM_IOCTL_RADEON_SURF_FREE DRM_IOW( DRM_COMMAND_BASE + DRM_RADEON_SURF_FREE, drm_radeon_surface_free_t) +#define DRM_IOCTL_RADEON_CS DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_CS, struct drm_radeon_cs) typedef struct drm_radeon_init { enum { @@ -755,4 +758,23 @@ typedef struct drm_radeon_surface_free { #define DRM_RADEON_VBLANK_CRTC1 1 #define DRM_RADEON_VBLANK_CRTC2 2 +/* New interface which obsolete all previous interface. + */ +#define RADEON_CHUNK_ID_RELOCS 0x01 +#define RADEON_CHUNK_ID_IB 0x02 +#define RADEON_CHUNK_ID_OLD 0xff + +struct drm_radeon_cs_chunk { + uint32_t chunk_id; + uint32_t length_dw; + uint64_t chunk_data; +}; + +struct drm_radeon_cs { + uint32_t num_chunks; + uint32_t cs_id; + uint64_t chunks; /* this points to uint64_t * which point to + cs chunks */ +}; + #endif |