summaryrefslogtreecommitdiff
path: root/linux/r128_drm.h
diff options
context:
space:
mode:
authorKevin E Martin <kem@kem.org>2001-01-05 22:57:55 +0000
committerKevin E Martin <kem@kem.org>2001-01-05 22:57:55 +0000
commit0994e635b2f002c8e9f177037a46c26ccd98c59d (patch)
treeff9f8c1c8c5197f1690297bbaa70a8b364e6bdff /linux/r128_drm.h
parent833af23c5d21b1ab139327861d25d96dcd91af6f (diff)
Merged ati-5-0-0
Diffstat (limited to 'linux/r128_drm.h')
-rw-r--r--linux/r128_drm.h41
1 files changed, 22 insertions, 19 deletions
diff --git a/linux/r128_drm.h b/linux/r128_drm.h
index 68a55d5d..94dba1ed 100644
--- a/linux/r128_drm.h
+++ b/linux/r128_drm.h
@@ -30,8 +30,8 @@
*
*/
-#ifndef _R128_DRM_H_
-#define _R128_DRM_H_
+#ifndef __R128_DRM_H__
+#define __R128_DRM_H__
/* WARNING: If you change any of these defines, make sure to change the
* defines in the X server file (r128_sarea.h)
@@ -69,21 +69,13 @@
/* Vertex/indirect buffer size
*/
-#if 1
#define R128_BUFFER_SIZE 16384
-#else
-#define R128_BUFFER_SIZE (128 * 1024)
-#endif
/* Byte offsets for indirect buffer data
*/
#define R128_INDEX_PRIM_OFFSET 20
#define R128_HOSTDATA_BLIT_OFFSET 32
-/* 2048x2048 @ 32bpp texture requires this many indirect buffers
- */
-#define R128_MAX_BLIT_BUFFERS ((2048 * 2048 * 4) / R128_BUFFER_SIZE)
-
/* Keep these small for testing.
*/
#define R128_NR_SAREA_CLIPRECTS 12
@@ -98,7 +90,9 @@
#define R128_LOG_TEX_GRANULARITY 16
#define R128_NR_CONTEXT_REGS 12
-#define R128_TEX_MAXLEVELS 11
+
+#define R128_MAX_TEXTURE_LEVELS 11
+#define R128_MAX_TEXTURE_UNITS 2
#endif /* __R128_SAREA_DEFINES__ */
@@ -137,12 +131,13 @@ typedef struct {
unsigned int scale_3d_cntl;
} drm_r128_context_regs_t;
-/* Setup registers for each texture unit */
+/* Setup registers for each texture unit
+ */
typedef struct {
unsigned int tex_cntl;
unsigned int tex_combine_cntl;
unsigned int tex_size_pitch;
- unsigned int tex_offset[R128_TEX_MAXLEVELS];
+ unsigned int tex_offset[R128_MAX_TEXTURE_LEVELS];
unsigned int tex_border_color;
} drm_r128_texture_regs_t;
@@ -158,7 +153,7 @@ typedef struct drm_r128_sarea {
* on firing a vertex buffer.
*/
drm_r128_context_regs_t context_state;
- drm_r128_texture_regs_t tex_state[R128_NR_TEX_HEAPS];
+ drm_r128_texture_regs_t tex_state[R128_MAX_TEXTURE_UNITS];
unsigned int dirty;
unsigned int vertsize;
unsigned int vc_format;
@@ -214,6 +209,13 @@ typedef struct drm_r128_cce_stop {
int idle;
} drm_r128_cce_stop_t;
+typedef struct drm_r128_fullscreen {
+ enum {
+ R128_INIT_FULLSCREEN = 0x01,
+ R128_CLEANUP_FULLSCREEN = 0x02
+ } func;
+} drm_r128_fullscreen_t;
+
typedef struct drm_r128_clear {
unsigned int flags;
int x, y, w, h;
@@ -263,10 +265,11 @@ typedef struct drm_r128_stipple {
unsigned int *mask;
} drm_r128_stipple_t;
-typedef struct drm_r128_packet {
- unsigned int *buffer;
- int count;
- int flags;
-} drm_r128_packet_t;
+typedef struct drm_r128_indirect {
+ int idx;
+ int start;
+ int end;
+ int discard;
+} drm_r128_indirect_t;
#endif