Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
808 serge 1
 
2
#define DRAW_RECT  2
3
#define LINE_2P    3
4
#define BLIT       4
810 serge 5
808 serge 6
 
810 serge 7
 
808 serge 8
typedef unsigned int u32_t;
9
10
 
11
{
12
  int x;
13
  int y;
14
  int w;
15
  int h;
16
  u32 color;
17
}draw_t;
18
19
 
20
{
21
  int x;
22
  int y;
23
  int w;
24
  int h;
25
26
 
27
  color_t fcolor;
28
29
 
30
  u32_t   bmp1;
31
}fill_t;
32
33
 
34
{
35
  int src_x;
810 serge 36
  int src_y;
37
  int dst_x;
38
  int dst_y;
39
  int w;
40
  int h;
41
}blit_t;
42
43
 
44
{
45
  int x0;
808 serge 46
  int y0;
47
  int x1;
48
  int y1;
49
  u32 color;
50
}line2p_t;
51
52
 
53
int BlockClip( int *x1, int *y1, int *x2, int* y2);
54
55
 
56
int FillRect(fill_t * fill);
57
58
 
59
60
 
810 serge 61
808 serge 62
 
63
#	define RADEON_GMC_DST_PITCH_OFFSET_CNTL	(1 << 1)
64
#	define RADEON_GMC_BRUSH_SOLID_COLOR	(13 << 4)
65
#	define RADEON_GMC_BRUSH_NONE		(15 << 4)
66
#	define RADEON_GMC_DST_16BPP		(4 << 8)
67
#	define RADEON_GMC_DST_24BPP		(5 << 8)
68
#	define RADEON_GMC_DST_32BPP		(6 << 8)
69
#	define RADEON_GMC_DST_DATATYPE_SHIFT	8
70
#	define RADEON_GMC_SRC_DATATYPE_COLOR	(3 << 12)
71
#	define RADEON_DP_SRC_SOURCE_MEMORY	(2 << 24)
72
#	define RADEON_DP_SRC_SOURCE_HOST_DATA	(3 << 24)
73
#	define RADEON_GMC_CLR_CMP_CNTL_DIS	(1 << 28)
74
#	define RADEON_GMC_WR_MSK_DIS		(1 << 30)
75
#	define RADEON_ROP3_S			0x00cc0000
76
# define RADEON_ROP3_P      0x00f00000
77
78
 
79
80
 
81
# define RADEON_CNTL_BITBLT            0x00009200
810 serge 82
83
 
808 serge 84
# define RADEON_CNTL_PAINT_MULTI       0x00009A00
85
86
 
87
	(RADEON_CP_PACKET3 | (pkt) | ((n) << 16))
88
89
 
90
  ring = rhd.ring_base;                 \
91
  write = rhd.ring_wp;                  \
92
} while (0)
93
94
 
95
	ring[write++] = (x);						\
96
} while (0)
97
98
 
99
100
 
101
  rhd.ring_wp = write & 0x1FFF;                       \
102
  /* Flush writes to ring */                          \
103
  DRM_MEMORYBARRIER();                                \
104
  /*GET_RING_HEAD( dev_priv );          */            \
105
  OUTREG( RADEON_CP_RB_WPTR, rhd.ring_wp);            \
106
	/* read from PCI bus to ensure correct posting */		\
107
  INREG( RADEON_CP_RB_RPTR );                         \
108
} while (0)
109