summaryrefslogtreecommitdiff
path: root/linux/r128_drm.h
diff options
context:
space:
mode:
Diffstat (limited to 'linux/r128_drm.h')
-rw-r--r--linux/r128_drm.h44
1 files changed, 26 insertions, 18 deletions
diff --git a/linux/r128_drm.h b/linux/r128_drm.h
index 756e33c3..68a55d5d 100644
--- a/linux/r128_drm.h
+++ b/linux/r128_drm.h
@@ -94,7 +94,7 @@
#define R128_LOCAL_TEX_HEAP 0
#define R128_AGP_TEX_HEAP 1
#define R128_NR_TEX_HEAPS 2
-#define R128_NR_TEX_REGIONS 16
+#define R128_NR_TEX_REGIONS 64
#define R128_LOG_TEX_GRANULARITY 16
#define R128_NR_CONTEXT_REGS 12
@@ -147,11 +147,11 @@ typedef struct {
} drm_r128_texture_regs_t;
-typedef struct drm_r128_tex_region {
+typedef struct drm_tex_region {
unsigned char next, prev;
unsigned char in_use;
int age;
-} drm_r128_tex_region_t;
+} drm_tex_region_t;
typedef struct drm_r128_sarea {
/* The channel for communication of state information to the kernel
@@ -173,7 +173,7 @@ typedef struct drm_r128_sarea {
unsigned int last_frame;
unsigned int last_dispatch;
- drm_r128_tex_region_t tex_list[R128_NR_TEX_HEAPS][R128_NR_TEX_REGIONS+1];
+ drm_tex_region_t tex_list[R128_NR_TEX_HEAPS][R128_NR_TEX_REGIONS+1];
int tex_age[R128_NR_TEX_HEAPS];
int ctx_owner;
} drm_r128_sarea_t;
@@ -196,12 +196,10 @@ typedef struct drm_r128_init {
unsigned int fb_bpp;
unsigned int front_offset, front_pitch;
- unsigned int front_x, front_y;
unsigned int back_offset, back_pitch;
- unsigned int back_x, back_y;
unsigned int depth_bpp;
unsigned int depth_offset, depth_pitch;
- unsigned int depth_x, depth_y;
+ unsigned int span_offset;
unsigned int fb_offset;
unsigned int mmio_offset;
@@ -221,8 +219,6 @@ typedef struct drm_r128_clear {
int x, y, w, h;
unsigned int clear_color;
unsigned int clear_depth;
- unsigned int color_mask;
- unsigned int depth_mask;
} drm_r128_clear_t;
typedef struct drm_r128_vertex {
@@ -240,21 +236,33 @@ typedef struct drm_r128_indices {
int discard; /* Client finished with buffer? */
} drm_r128_indices_t;
-typedef struct drm_r128_blit_rect {
- int index;
- unsigned short x, y;
- unsigned short width, height;
- int padding;
-} drm_r128_blit_rect_t;
-
typedef struct drm_r128_blit {
+ int idx;
int pitch;
int offset;
int format;
- drm_r128_blit_rect_t *rects;
- int count;
+ unsigned short x, y;
+ unsigned short width, height;
} drm_r128_blit_t;
+typedef struct drm_r128_depth {
+ enum {
+ R128_WRITE_SPAN = 0x01,
+ R128_WRITE_PIXELS = 0x02,
+ R128_READ_SPAN = 0x03,
+ R128_READ_PIXELS = 0x04
+ } func;
+ int n;
+ int *x;
+ int *y;
+ unsigned int *buffer;
+ unsigned char *mask;
+} drm_r128_depth_t;
+
+typedef struct drm_r128_stipple {
+ unsigned int *mask;
+} drm_r128_stipple_t;
+
typedef struct drm_r128_packet {
unsigned int *buffer;
int count;