Subversion Repositories Kolibri OS

Rev

Rev 868 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 868 Rev 876
Line 165... Line 165...
165
}RHD_t, *RHDPtr;
165
}RHD_t, *RHDPtr;
166
 
166
 
Line 167... Line 167...
167
extern RHD_t rhd;
167
extern RHD_t rhd;
Line 168... Line -...
168
 
-
 
169
typedef struct
-
 
170
{
-
 
171
  int xmin;
-
 
172
  int ymin;
-
 
173
  int xmax;
-
 
174
  int ymax;
-
 
175
}clip_t, *PTRclip;
-
 
176
 
-
 
177
 
-
 
178
typedef struct
-
 
179
{
-
 
180
  u32_t   width;
-
 
181
  u32_t   height;
-
 
182
  u32_t   format;
-
 
183
  u32_t   flags;
-
 
184
  u32_t   pitch_offset;
-
 
185
  u32_t   pitch;
-
 
186
  u32_t   offset;
-
 
187
  void*   raw;
-
 
188
  void*   usermap;
-
 
Line -... Line 168...
-
 
168
 
-
 
169
 
-
 
170
 
-
 
171
#define R5XX_DP_BRUSH_BKGD_CLR            0x1478
-
 
172
#define R5XX_DP_BRUSH_FRGD_CLR            0x147c
-
 
173
#define R5XX_BRUSH_DATA0                  0x1480
-
 
174
#define R5XX_BRUSH_DATA1                  0x1484
-
 
175
 
-
 
176
# define RADEON_GMC_SRC_PITCH_OFFSET_CNTL (1 << 0)
-
 
177
#	define RADEON_GMC_DST_PITCH_OFFSET_CNTL	(1 << 1)
-
 
178
# define RADEON_GMC_BRUSH_SOLID_COLOR     (13 << 4)
-
 
179
# define RADEON_GMC_BRUSH_NONE            (15 << 4)
-
 
180
# define RADEON_GMC_DST_16BPP             (4 << 8)
-
 
181
# define RADEON_GMC_DST_24BPP             (5 << 8)
-
 
182
# define RADEON_GMC_DST_32BPP             (6 << 8)
-
 
183
# define RADEON_GMC_DST_DATATYPE_SHIFT     8
-
 
184
# define RADEON_GMC_SRC_DATATYPE_COLOR    (3 << 12)
-
 
185
# define RADEON_DP_SRC_SOURCE_MEMORY      (2 << 24)
-
 
186
# define RADEON_DP_SRC_SOURCE_HOST_DATA   (3 << 24)
-
 
187
# define RADEON_GMC_CLR_CMP_CNTL_DIS      (1 << 28)
-
 
188
# define RADEON_GMC_WR_MSK_DIS            (1 << 30)
-
 
189
# define RADEON_ROP3_S                 0x00cc0000
-
 
190
# define RADEON_ROP3_P                 0x00f00000
-
 
191
 
-
 
192
#define RADEON_CP_PACKET0              0x00000000
-
 
193
#define RADEON_CP_PACKET1              0x40000000
-
 
194
#define RADEON_CP_PACKET2              0x80000000
-
 
195
#define RADEON_CP_PACKET3              0xC0000000
-
 
196
 
-
 
197
# define RADEON_CNTL_PAINT             0x00009100
-
 
198
# define RADEON_CNTL_BITBLT            0x00009200
-
 
199
# define RADEON_CNTL_TRANBLT           0x00009C00
-
 
200
 
-
 
201
# define RADEON_CNTL_PAINT_POLYLINE    0x00009500
-
 
202
# define RADEON_CNTL_PAINT_MULTI       0x00009A00
-
 
203
 
-
 
204
#define CP_PACKET0(reg, n)            \
-
 
205
	(RADEON_CP_PACKET0 | ((n) << 16) | ((reg) >> 2))
-
 
206
 
-
 
207
#define CP_PACKET1(reg0, reg1)            \
189
}pixmap_t;
208
	(RADEON_CP_PACKET1 | (((reg1) >> 2) << 11) | ((reg0) >> 2))
-
 
209
 
-
 
210
#define CP_PACKET2()              \
-
 
211
  (RADEON_CP_PACKET2)
-
 
212
 
-
 
213
#define CP_PACKET3( pkt, n )            \
-
 
214
	(RADEON_CP_PACKET3 | (pkt) | ((n) << 16))
-
 
215
 
-
 
216
#define BEGIN_RING( n ) do {            \
-
 
217
  ring = rhd.ring_base;                 \
-
 
218
  write = rhd.ring_wp;                  \
-
 
219
} while (0)
-
 
220
 
-
 
221
#define ADVANCE_RING()
-
 
222
 
-
 
223
#define OUT_RING( x ) do {        \
-
 
224
	ring[write++] = (x);						\
-
 
225
} while (0)
-
 
226
 
-
 
227
#define OUT_RING_REG(reg, val)            \
-
 
228
do {									\
-
 
229
    OUT_RING(CP_PACKET0(reg, 0));					\
-
 
230
    OUT_RING(val);							\
-
 
231
} while (0)
-
 
232
 
-
 
233
#define DRM_MEMORYBARRIER()  __asm volatile("lock; addl $0,0(%%esp)" : : : "memory");
-
 
234
 
-
 
235
#define COMMIT_RING() do {                            \
-
 
236
  rhd.ring_wp = write & 0x1FFF;                       \
-
 
237
  /* Flush writes to ring */                          \
-
 
238
  DRM_MEMORYBARRIER();                                \
-
 
239
  /*GET_RING_HEAD( dev_priv );          */            \
-
 
240
  OUTREG( RADEON_CP_RB_WPTR, rhd.ring_wp);            \
-
 
241
	/* read from PCI bus to ensure correct posting */		\
-
 
242
  INREG( RADEON_CP_RB_RPTR );                         \
-
 
243
} while (0)
Line 190... Line 244...
190
 
244
 
191
#define   PX_LOCK            1
245
 
192
 
246
 
193
typedef struct {
247
typedef struct {