Subversion Repositories Kolibri OS

Rev

Rev 808 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
808 serge 1
 
2
3
 
4
{
5
  int x0, y0, x1, y1;
6
7
 
8
  y0 = draw->y;
9
10
 
11
  y1 = y0+draw->h-1;
12
13
 
14
//             x0, y0, x1, y1, draw->color);
15
16
 
17
  {
18
     u32 *ring, write;
19
     int w, h;
20
     u32 ifl;
21
22
 
23
     h = y1-y0+1;
24
25
 
26
27
 
28
       OUT_RING(CP_PACKET3(RADEON_CNTL_PAINT_MULTI, 4));
29
30
 
31
 
32
                RADEON_GMC_BRUSH_SOLID_COLOR      |
33
                RADEON_GMC_DST_32BPP              |
34
                RADEON_GMC_SRC_DATATYPE_COLOR     |
35
                (1 << 28)+(1 << 30) | R5XX_ROP3_P);
36
37
 
38
       OUT_RING(draw->color);
39
       OUT_RING((y0<<16)|x0);
40
       OUT_RING((w<<16)|h);
41
     COMMIT_RING();
42
43
 
44
#if 1
45
46
 
47
48
 
49
50
 
51
                                     R5XX_GMC_BRUSH_SOLID_COLOR |
52
                                     R5XX_GMC_SRC_DATATYPE_COLOR);
53
54
 
55
     OUTREG(R5XX_DP_WRITE_MASK, 0xFFFFFFFF);
56
     OUTREG(R5XX_DP_CNTL, R5XX_DST_X_LEFT_TO_RIGHT | R5XX_DST_Y_TOP_TO_BOTTOM);
57
     OUTREG(R5XX_DST_PITCH_OFFSET, rhd.dst_pitch_offset);
58
     OUTREG(R5XX_DST_Y_X,(y0<<16)|x0);
59
     OUTREG( R5XX_DST_WIDTH_HEIGHT,(w<<16)|h);
60
#endif
61
*/
62
     safe_sti(ifl);
63
  } ;
64
  return 0;
65
}
66
67
 
68
{
69
  int x0, y0, x1, y1;
70
71
 
72
  y0 = fill->y;
73
74
 
75
  y1 = y0+fill->h-1;
76
77
 
78
//             x0, y0, x1, y1);
79
80
 
81
  {
82
     u32 *ring, write;
83
     u32 ifl;
84
85
 
86
87
 
88
       OUT_RING(CP_PACKET3(RADEON_CNTL_PAINT, 7));
89
       OUT_RING(RADEON_GMC_DST_PITCH_OFFSET_CNTL    |
90
                BRUSH_MONO                          |
91
                RADEON_GMC_DST_32BPP                |
92
                RADEON_GMC_SRC_DATATYPE_COLOR       |
93
                (1 << 28)+(1 << 30) | R5XX_ROP3_P);
94
95
 
96
         OUT_RING(fill->bkcolor);
97
         OUT_RING(fill->fcolor);
98
99
 
100
         OUT_RING(fill->bmp1);
101
102
 
103
         OUT_RING((y1<<16)|x1);
104
     COMMIT_RING();
105
106
 
107
  };
108
  return 0;
109
}
110
111
 
810 serge 112
{
113
  int x0, y0, x1, y1;
114
808 serge 115
 
810 serge 116
  y0 = blit->src_y;
117
808 serge 118
 
810 serge 119
  y1 = y0+blit->h-1;
120
121
 
122
 
123
  {
124
     u32 *ring, write;
125
     int w, h;
126
     u32 ifl;
127
128
 
129
     h = y1-y0+1;
130
131
 
132
133
 
134
       OUT_RING(CP_PACKET3(RADEON_CNTL_BITBLT, 5));
135
136
 
137
                RADEON_GMC_DST_PITCH_OFFSET_CNTL  |
138
                RADEON_GMC_BRUSH_NONE             |
139
                RADEON_GMC_DST_32BPP              |
140
                RADEON_GMC_SRC_DATATYPE_COLOR     |
141
                RADEON_DP_SRC_SOURCE_MEMORY       |
142
                (1 << 28)+(1 << 30) | R5XX_ROP3_S);
143
144
 
145
       OUT_RING(rhd.dst_pitch_offset);
146
147
 
148
       OUT_RING((blit->dst_x<<16)|blit->dst_y);
149
       OUT_RING((w<<16)|h);
150
     COMMIT_RING();
151
152
 
153
  } ;
154
  return 0;
155
}
156
157
 
808 serge 158
{
159
160
 
161
162
 
163
  y0 = draw->y0;
164
165
 
166
  y1 = draw->y1;
167
168
 
169
  {
170
    u32 ifl;
171
    u32 *ring, write;
172
173
 
174
175
 
176
         OUT_RING(CP_PACKET3(RADEON_CNTL_PAINT_POLYLINE, 4));
177
         OUT_RING(RADEON_GMC_DST_PITCH_OFFSET_CNTL  |
178
                  RADEON_GMC_BRUSH_SOLID_COLOR      |
179
                  RADEON_GMC_DST_32BPP              |
180
                  RADEON_GMC_SRC_DATATYPE_COLOR     |
181
                  (1 << 28)+(1 << 30) | R5XX_ROP3_P);
182
183
 
184
         OUT_RING(draw->color);
185
         OUT_RING((y0<<16)|x0);
186
         OUT_RING((y1<<16)|x1);
187
     COMMIT_RING();
188
189
 
190
 
191
     R5xxFIFOWait(7);
192
193
 
194
                                     R5XX_GMC_BRUSH_SOLID_COLOR |
195
                                     R5XX_GMC_SRC_DATATYPE_COLOR);
196
197
 
198
199
 
200
     OUTREG(R5XX_DP_WRITE_MASK, 0xFFFFFFFF);
201
     OUTREG(R5XX_DST_PITCH_OFFSET, rhd.dst_pitch_offset);
202
203
 
204
     OUTREG(R5XX_DST_LINE_END,(y1<<16)|x1);
205
*/
206
     safe_sti(ifl);
207
208
 
209
  return 0;
210
}
211
*/