Subversion Repositories Kolibri OS

Rev

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

Rev 880 Rev 883
Line 1... Line 1...
1
int ClearPixmap(io_clear_t *io)
1
int ClearPixmap(io_clear_t *io)
2
{
2
{
3
     u32_t ifl;
3
     u32_t ifl;
4
     u32_t *ring, write;
4
     u32_t *ring;
Line 5... Line 5...
5
 
5
 
Line 6... Line 6...
6
     local_pixmap_t *dstpixmap;
6
     local_pixmap_t *dstpixmap;
Line 30... Line 30...
30
     OUTREG(R5XX_DST_WIDTH_HEIGHT,(dstpixmap->width<<16)|dstpixmap->height);
30
     OUTREG(R5XX_DST_WIDTH_HEIGHT,(dstpixmap->width<<16)|dstpixmap->height);
31
 
31
 
32
#else
32
#else
Line 33... Line 33...
33
      BEGIN_RING();
33
      BEGIN_RING(6);
34
        OUT_RING(CP_PACKET3(RADEON_CNTL_PAINT_MULTI, 4));
34
 
-
 
35
        OUT_RING(CP_PACKET3(RADEON_CNTL_PAINT_MULTI, 4));
35
 
36
 
Line 36... Line 37...
36
        OUT_RING(RADEON_GMC_DST_PITCH_OFFSET_CNTL  |
37
        OUT_RING(RADEON_GMC_DST_PITCH_OFFSET_CNTL  |
37
                 RADEON_GMC_BRUSH_SOLID_COLOR      |
38
                 RADEON_GMC_BRUSH_SOLID_COLOR      |
38
                 RADEON_GMC_DST_32BPP              |
39
                 RADEON_GMC_DST_32BPP              |
Line 77... Line 78...
77
 
78
 
78
     if ( !LineClip(&clip, &x0, &y0, &x1, &y1 ))
79
     if ( !LineClip(&clip, &x0, &y0, &x1, &y1 ))
Line 79... Line 80...
79
     {
80
     {
80
        u32_t efl;
81
        u32_t ifl;
81
        u32_t *ring, write;
82
        u32_t *ring, write;
82
 
83
 
Line 83... Line 84...
83
        efl = safe_cli();
84
        ifl = safe_cli();
Line 84... Line 85...
84
 
85
 
Line 85... Line 86...
85
#if R300_PIO
86
#if R300_PIO
Line 104... Line 105...
104
        OUTREG(R5XX_DST_LINE_START,(y0<<16)|x0);
105
        OUTREG(R5XX_DST_LINE_START,(y0<<16)|x0);
Line 105... Line 106...
105
        OUTREG(R5XX_DST_LINE_END,(y1<<16)|x1);
106
        OUTREG(R5XX_DST_LINE_END,(y1<<16)|x1);
106
#else
107
#else
107
       BEGIN_RING();
108
       BEGIN_RING(6);
108
         OUT_RING(CP_PACKET3(RADEON_CNTL_PAINT_POLYLINE, 4));
109
 
-
 
110
         OUT_RING(CP_PACKET3(RADEON_CNTL_PAINT_POLYLINE, 4));
109
         OUT_RING(RADEON_GMC_DST_PITCH_OFFSET_CNTL  |
111
         OUT_RING(RADEON_GMC_DST_PITCH_OFFSET_CNTL  |
110
                  RADEON_GMC_BRUSH_SOLID_COLOR      |
112
                  RADEON_GMC_BRUSH_SOLID_COLOR      |
111
                  RADEON_GMC_DST_32BPP              |
113
                  RADEON_GMC_DST_32BPP              |
112
                  RADEON_GMC_SRC_DATATYPE_COLOR     |
114
                  RADEON_GMC_SRC_DATATYPE_COLOR     |
113
                  R5XX_GMC_CLR_CMP_CNTL_DIS         |
115
                  R5XX_GMC_CLR_CMP_CNTL_DIS         |
Line 119... Line 121...
119
         OUT_RING((y0<<16)|x0);
121
         OUT_RING((y0<<16)|x0);
120
         OUT_RING((y1<<16)|x1);
122
         OUT_RING((y1<<16)|x1);
121
       COMMIT_RING();
123
       COMMIT_RING();
122
 
124
#endif
123
#endif
125
        safe_sti(ifl);
124
        safe_sti(efl);
-
 
125
     };
126
     };
126
     return ERR_OK;
127
     return ERR_OK;
127
}
128
}
128
 
129
 
129
int DrawRect(io_draw_t* draw)
130
int DrawRect(io_draw_t* draw)
Line 130... Line 131...
130
{
131
{
Line 152... Line 153...
152
 
153
 
153
     if( ! BlockClip( &dst_clip, &x0, &y0, &x1, &y1))
154
     if( ! BlockClip( &dst_clip, &x0, &y0, &x1, &y1))
Line 154... Line 155...
154
     {
155
     {
155
        u32_t *ring, write;
156
        u32_t *ring;
156
        u32_t ifl;
157
        u32_t ifl;
157
        int w, h;
158
        int w, h;
158
 
159
 
Line 159... Line 160...
159
        w = x1 - x0 + 1;
160
        w = x1 - x0 + 1;
160
        h = y1 - y0 + 1;
161
        h = y1 - y0 + 1;
Line 218... Line 219...
218
           }
219
           }
219
        };
220
        };
220
#else
221
#else
221
      BEGIN_RING();
222
 
222
        OUT_RING(CP_PACKET3(RADEON_CNTL_PAINT_MULTI, 4));
223
      BEGIN_RING(64);
-
 
224
 
223
 
225
        OUT_RING(CP_PACKET3(RADEON_CNTL_PAINT_MULTI, 4));
-
 
226
 
224
        OUT_RING(RADEON_GMC_DST_PITCH_OFFSET_CNTL  |
227
        OUT_RING(RADEON_GMC_DST_PITCH_OFFSET_CNTL  |
Line 225... Line 228...
225
                 RADEON_GMC_BRUSH_SOLID_COLOR      |
228
                 RADEON_GMC_BRUSH_SOLID_COLOR      |
226
                 RADEON_GMC_DST_32BPP              |
229
                 RADEON_GMC_DST_32BPP              |
227
                 RADEON_GMC_SRC_DATATYPE_COLOR     |
230
                 RADEON_GMC_SRC_DATATYPE_COLOR     |
Line 232... Line 235...
232
 
235
 
233
        OUT_RING(dstpixmap->pitch_offset);
236
        OUT_RING(dstpixmap->pitch_offset);
Line 234... Line 237...
234
        OUT_RING(draw->color);
237
        OUT_RING(draw->color);
235
        OUT_RING((draw->x0<<16)|y0);
238
        OUT_RING((x0<<16)|y0);
236
        OUT_RING((w<<16)|h);
239
        OUT_RING((w<<16)|h);
237
      COMMIT_RING();
240
        OUT_RING(CP_PACKET2());
-
 
241
        OUT_RING(CP_PACKET2());
-
 
242
 
-
 
243
        if( draw->color != draw->border)
-
 
244
        {
-
 
245
           if( y0 == draw->y0) {
-
 
246
              OUT_RING(CP_PACKET3(RADEON_CNTL_PAINT_MULTI, 4));
-
 
247
              OUT_RING(RADEON_GMC_DST_PITCH_OFFSET_CNTL  |
-
 
248
                       RADEON_GMC_BRUSH_SOLID_COLOR      |
-
 
249
                       RADEON_GMC_DST_32BPP              |
-
 
250
                       RADEON_GMC_SRC_DATATYPE_COLOR     |
-
 
251
                       R5XX_GMC_CLR_CMP_CNTL_DIS         |
-
 
252
                       R5XX_GMC_WR_MSK_DIS               |
-
 
253
                       R5XX_ROP3_P
-
 
254
                      );
-
 
255
 
-
 
256
              OUT_RING(dstpixmap->pitch_offset);
-
 
257
              OUT_RING(draw->border);
-
 
258
              OUT_RING((x0<<16)|y0);
-
 
259
              OUT_RING((w<<16)|1);
-
 
260
        OUT_RING(CP_PACKET2());
-
 
261
        OUT_RING(CP_PACKET2());
-
 
262
 
-
 
263
           //   y0++;
-
 
264
           //   h--;
-
 
265
           }
-
 
266
           if( y1 == yend ) {
-
 
267
              OUT_RING(CP_PACKET3(RADEON_CNTL_PAINT_MULTI, 4));
-
 
268
              OUT_RING(RADEON_GMC_DST_PITCH_OFFSET_CNTL  |
-
 
269
                       RADEON_GMC_BRUSH_SOLID_COLOR      |
-
 
270
                       RADEON_GMC_DST_32BPP              |
-
 
271
                       RADEON_GMC_SRC_DATATYPE_COLOR     |
-
 
272
                       R5XX_GMC_CLR_CMP_CNTL_DIS         |
-
 
273
                       R5XX_GMC_WR_MSK_DIS               |
-
 
274
                       R5XX_ROP3_P
-
 
275
                      );
-
 
276
 
-
 
277
              OUT_RING(dstpixmap->pitch_offset);
-
 
278
              OUT_RING(draw->border);
-
 
279
              OUT_RING((x0<<16)|y1);
-
 
280
              OUT_RING((w<<16)|1);
-
 
281
        OUT_RING(CP_PACKET2());
-
 
282
        OUT_RING(CP_PACKET2());
-
 
283
 
-
 
284
            //  h--;
-
 
285
           }
-
 
286
           if( (h > 0) && (x0 == draw->x0)) {
-
 
287
              OUT_RING(CP_PACKET3(RADEON_CNTL_PAINT_MULTI, 4));
-
 
288
              OUT_RING(RADEON_GMC_DST_PITCH_OFFSET_CNTL  |
-
 
289
                       RADEON_GMC_BRUSH_SOLID_COLOR      |
-
 
290
                       RADEON_GMC_DST_32BPP              |
-
 
291
                       RADEON_GMC_SRC_DATATYPE_COLOR     |
-
 
292
                       R5XX_GMC_CLR_CMP_CNTL_DIS         |
-
 
293
                       R5XX_GMC_WR_MSK_DIS               |
-
 
294
                       R5XX_ROP3_P
-
 
295
                      );
-
 
296
 
-
 
297
              OUT_RING(dstpixmap->pitch_offset);
-
 
298
              OUT_RING(draw->border);
-
 
299
              OUT_RING((x0<<16)|y0);
-
 
300
              OUT_RING((1<<16)|h);
-
 
301
        OUT_RING(CP_PACKET2());
-
 
302
        OUT_RING(CP_PACKET2());
-
 
303
 
-
 
304
           }
-
 
305
           if( (h > 0) && (x1 == xend)) {
-
 
306
              OUT_RING(CP_PACKET3(RADEON_CNTL_PAINT_MULTI, 4));
-
 
307
              OUT_RING(RADEON_GMC_DST_PITCH_OFFSET_CNTL  |
-
 
308
                       RADEON_GMC_BRUSH_SOLID_COLOR      |
-
 
309
                       RADEON_GMC_DST_32BPP              |
-
 
310
                       RADEON_GMC_SRC_DATATYPE_COLOR     |
-
 
311
                       R5XX_GMC_CLR_CMP_CNTL_DIS         |
-
 
312
                       R5XX_GMC_WR_MSK_DIS               |
-
 
313
                       R5XX_ROP3_P
-
 
314
                      );
-
 
315
 
-
 
316
              OUT_RING(dstpixmap->pitch_offset);
-
 
317
              OUT_RING(draw->border);
-
 
318
              OUT_RING((x1<<16)|y0);
-
 
319
              OUT_RING((1<<16)|h);
-
 
320
        OUT_RING(CP_PACKET2());
-
 
321
        OUT_RING(CP_PACKET2());
-
 
322
 
-
 
323
           }
-
 
324
        };
-
 
325
 
-
 
326
/*
-
 
327
 
-
 
328
        CP_REG(R5XX_DP_GUI_MASTER_CNTL,
-
 
329
                 RADEON_GMC_DST_PITCH_OFFSET_CNTL  |
-
 
330
                 RADEON_GMC_BRUSH_SOLID_COLOR      |
-
 
331
                 RADEON_GMC_DST_32BPP              |
-
 
332
                 RADEON_GMC_SRC_DATATYPE_COLOR     |
-
 
333
                 R5XX_GMC_CLR_CMP_CNTL_DIS         |
-
 
334
                 R5XX_GMC_WR_MSK_DIS               |
-
 
335
                 R5XX_ROP3_P
-
 
336
                );
-
 
337
        CP_REG(R5XX_DP_BRUSH_FRGD_CLR, draw->color);
-
 
338
        CP_REG(R5XX_DP_CNTL, R5XX_DST_X_LEFT_TO_RIGHT | R5XX_DST_Y_TOP_TO_BOTTOM);
-
 
339
 
-
 
340
        CP_REG(R5XX_DST_PITCH_OFFSET, dstpixmap->pitch_offset);
-
 
341
        CP_REG(R5XX_DST_Y_X,(y0<<16)|x0);
-
 
342
        CP_REG(R5XX_DST_WIDTH_HEIGHT,(w<<16)|h);
-
 
343
        if( draw->color != draw->border)
-
 
344
        {
-
 
345
        CP_REG(R5XX_DP_GUI_MASTER_CNTL,
-
 
346
                 RADEON_GMC_DST_PITCH_OFFSET_CNTL  |
-
 
347
                 RADEON_GMC_BRUSH_SOLID_COLOR      |
-
 
348
                 RADEON_GMC_DST_32BPP              |
-
 
349
                 RADEON_GMC_SRC_DATATYPE_COLOR     |
-
 
350
                 R5XX_GMC_CLR_CMP_CNTL_DIS         |
-
 
351
                 R5XX_GMC_WR_MSK_DIS               |
-
 
352
                 R5XX_ROP3_P
-
 
353
                );
-
 
354
           CP_REG(R5XX_DP_BRUSH_FRGD_CLR, draw->border);
-
 
355
        CP_REG(R5XX_DP_CNTL, R5XX_DST_X_LEFT_TO_RIGHT | R5XX_DST_Y_TOP_TO_BOTTOM);
-
 
356
 
-
 
357
        CP_REG(R5XX_DST_PITCH_OFFSET, dstpixmap->pitch_offset);
-
 
358
 
-
 
359
 
-
 
360
           if( y0 == draw->y0) {
-
 
361
              CP_REG(R5XX_DST_Y_X,(y0<<16)|x0);
-
 
362
              CP_REG(R5XX_DST_WIDTH_HEIGHT,(w<<16)|1);
-
 
363
              y0++;
-
 
364
              h--;
-
 
365
           }
-
 
366
           if( y1 == yend ) {
-
 
367
              CP_REG(R5XX_DST_Y_X,(y1<<16)|x0);
-
 
368
              CP_REG(R5XX_DST_WIDTH_HEIGHT,(w<<16)|1);
-
 
369
              h--;
-
 
370
           }
-
 
371
           if( (h > 0) && (x0 == draw->x0)) {
-
 
372
              CP_REG(R5XX_DST_Y_X,(y0<<16)|x0);
-
 
373
              CP_REG(R5XX_DST_WIDTH_HEIGHT,(1<<16)|h);
-
 
374
           }
-
 
375
           if( (h > 0) && (x1 == xend)) {
-
 
376
              CP_REG(R5XX_DST_Y_X,(y0<<16)|x1);
-
 
377
              CP_REG(R5XX_DST_WIDTH_HEIGHT,(1<<16)|h);
-
 
378
           }
-
 
379
        };
-
 
380
*/
-
 
381
 
-
 
382
      COMMIT_RING();
238
#endif
383
#endif
239
        safe_sti(ifl);
384
        safe_sti(ifl);
240
     };
385
     };
241
     return ERR_OK;
386
     return ERR_OK;
242
}
387
}
Line 266... Line 411...
266
     if( ! BlockClip(&dst_clip, &x0, &y0, &x1, &y1))
411
     if( ! BlockClip(&dst_clip, &x0, &y0, &x1, &y1))
Line 267... Line 412...
267
     {
412
     {
268
        u32_t *ring, write;
413
        u32_t *ring, write;
269
        u32_t ifl = safe_cli();
414
        u32_t ifl;
270
 
415
 
271
#if R300_PIO
-
 
272
 
-
 
Line 273... Line 416...
273
        int w = x1 - x0 + 1;
416
        int w = x1 - x0 + 1;
274
        int h = y1 - y0 + 1;
417
        int h = y1 - y0 + 1;
Line -... Line 418...
-
 
418
 
-
 
419
        ifl = safe_cli();
-
 
420
 
-
 
421
#if R300_PIO
275
 
422
 
Line 276... Line 423...
276
        R5xxFIFOWait(9);
423
        R5xxFIFOWait(9);
277
 
424
 
278
        OUTREG(R5XX_DP_GUI_MASTER_CNTL,
425
        OUTREG(R5XX_DP_GUI_MASTER_CNTL,
Line 348... Line 495...
348
 
495
 
349
 
496
 
Line 350... Line 497...
350
#else
497
#else
351
      BEGIN_RING();
498
      BEGIN_RING(9+10*2);
-
 
499
 
352
        OUT_RING(CP_PACKET3(RADEON_CNTL_PAINT, 7));
500
        OUT_RING(CP_PACKET3(RADEON_CNTL_PAINT, 7));
353
        OUT_RING(RADEON_GMC_DST_PITCH_OFFSET_CNTL    |
501
        OUT_RING(RADEON_GMC_DST_PITCH_OFFSET_CNTL    |
354
                 R5XX_GMC_BRUSH_8X8_MONO_FG_BG       |
502
                 R5XX_GMC_BRUSH_8X8_MONO_FG_BG       |
355
                 RADEON_GMC_DST_32BPP                |
503
                 RADEON_GMC_DST_32BPP                |
356
                 RADEON_GMC_SRC_DATATYPE_COLOR       |
504
                 RADEON_GMC_SRC_DATATYPE_COLOR       |
Line 368... Line 516...
368
 
516
 
369
        OUT_RING((y0<<16)|x0);
517
        OUT_RING((y0<<16)|x0);
Line 370... Line 518...
370
        OUT_RING((y1<<16)|x1);
518
        OUT_RING((y1<<16)|x1);
371
      COMMIT_RING();
519
 
-
 
520
        if( (fill->border & 0xFF000000) != 0)
-
 
521
        {
-
 
522
           CP_REG(R5XX_DP_GUI_MASTER_CNTL,
-
 
523
                  RADEON_GMC_DST_PITCH_OFFSET_CNTL  |
-
 
524
                  RADEON_GMC_BRUSH_SOLID_COLOR      |
-
 
525
                  RADEON_GMC_DST_32BPP              |
-
 
526
                  RADEON_GMC_SRC_DATATYPE_COLOR     |
-
 
527
                  R5XX_GMC_CLR_CMP_CNTL_DIS         |
-
 
528
                  R5XX_GMC_WR_MSK_DIS               |
-
 
529
                  R5XX_ROP3_P
-
 
530
                 );
-
 
531
 
-
 
532
           CP_REG(R5XX_DP_BRUSH_FRGD_CLR, fill->border);
-
 
533
 
-
 
534
           if( y0 == fill->y)
-
 
535
           {
-
 
536
              CP_REG(R5XX_DST_Y_X,(y0<<16)|x0);
-
 
537
              CP_REG(R5XX_DST_WIDTH_HEIGHT,(w<<16)|1);
-
 
538
              y0++;
-
 
539
              h--;
-
 
540
           }
-
 
541
           if( y1 == yend )
-
 
542
           {
-
 
543
              CP_REG(R5XX_DST_Y_X,(y1<<16)|x0);
-
 
544
              CP_REG(R5XX_DST_WIDTH_HEIGHT,(w<<16)|1);
-
 
545
              h--;
-
 
546
           }
-
 
547
           if( (h > 0) && (x0 == fill->x))
-
 
548
           {
-
 
549
              CP_REG(R5XX_DST_Y_X,(y0<<16)|x0);
-
 
550
              CP_REG(R5XX_DST_WIDTH_HEIGHT,(1<<16)|h);
-
 
551
           }
-
 
552
           if( (h > 0) && (x1 == xend))
-
 
553
           {
-
 
554
              CP_REG(R5XX_DST_Y_X,(y0<<16)|x1);
-
 
555
              CP_REG(R5XX_DST_WIDTH_HEIGHT,(1<<16)|h);
-
 
556
           }
-
 
557
        };
-
 
558
 
-
 
559
      COMMIT_RING();
372
 
560
 
Line 373... Line 561...
373
#endif
561
#endif
374
        safe_sti(ifl);
562
        safe_sti(ifl);
375
     };
563
     };
Line 412... Line 600...
412
                    &blit->w, &blit->h) )
600
                    &blit->w, &blit->h) )
413
     {
601
     {
414
        u32_t *ring, write;
602
        u32_t *ring, write;
415
 
603
        u32_t ifl;
416
        u32_t ifl = safe_cli();
604
 
-
 
605
        ifl = safe_cli();
Line 417... Line 606...
417
 
606
 
Line 418... Line 607...
418
#if R300_PIO
607
#if R300_PIO
Line 419... Line 608...
419
 
608
 
Line 441... Line 630...
441
        OUTREG(R5XX_DST_HEIGHT_WIDTH,(blit->h<<16)|blit->w);
630
        OUTREG(R5XX_DST_HEIGHT_WIDTH,(blit->h<<16)|blit->w);
442
 
631
 
443
#else
632
#else
Line 444... Line 633...
444
 
633
        BEGIN_RING(7);
-
 
634
 
Line 445... Line -...
445
        BEGIN_RING();
-
 
446
          OUT_RING(CP_PACKET3(RADEON_CNTL_BITBLT, 5));
635
          OUT_RING(CP_PACKET3(RADEON_CNTL_BITBLT, 5));
Line 447... Line 636...
447
 
636
 
448
          OUT_RING(RADEON_GMC_SRC_PITCH_OFFSET_CNTL  |
637
          OUT_RING(RADEON_GMC_SRC_PITCH_OFFSET_CNTL  |
449
                   RADEON_GMC_DST_PITCH_OFFSET_CNTL  |
638
                   RADEON_GMC_DST_PITCH_OFFSET_CNTL  |
Line 505... Line 694...
505
     {
694
     {
506
        u32_t *ring, write;
695
        u32_t *ring, write;
507
 
696
 
508
        u32_t ifl = safe_cli();
697
        u32_t ifl;
Line -... Line 698...
-
 
698
 
-
 
699
        ifl = safe_cli();
509
 
700
 
Line 510... Line 701...
510
#if R300_PIO
701
#if R300_PIO
Line 511... Line 702...
511
 
702
 
Line 524... Line 715...
524
 
715
 
525
        OUTREG(R5XX_DP_CNTL, R5XX_DST_X_LEFT_TO_RIGHT | R5XX_DST_Y_TOP_TO_BOTTOM);
716
        OUTREG(R5XX_DP_CNTL, R5XX_DST_X_LEFT_TO_RIGHT | R5XX_DST_Y_TOP_TO_BOTTOM);
Line 526... Line 717...
526
 
717
 
Line 527... Line 718...
527
        OUTREG(R5XX_CLR_CMP_CLR_SRC, 0xFF000000);
718
        OUTREG(R5XX_CLR_CMP_CLR_SRC, blit->key);
528
        OUTREG(R5XX_CLR_CMP_MASK, R5XX_CLR_CMP_MSK);
719
        OUTREG(R5XX_CLR_CMP_MASK, R5XX_CLR_CMP_MSK);
529
        OUTREG(R5XX_CLR_CMP_CNTL, R5XX_SRC_CMP_EQ_COLOR | R5XX_CLR_CMP_SRC_SOURCE);
720
        OUTREG(R5XX_CLR_CMP_CNTL, R5XX_SRC_CMP_EQ_COLOR | R5XX_CLR_CMP_SRC_SOURCE);
Line 530... Line 721...
530
 
721
 
531
        OUTREG(R5XX_DST_PITCH_OFFSET, dstpixmap->pitch_offset);
722
        OUTREG(R5XX_DST_PITCH_OFFSET, dstpixmap->pitch_offset);
Line 537... Line 728...
537
 
728
 
538
#else
729
#else
Line 539... Line 730...
539
 
730
 
Line 540... Line 731...
540
        BEGIN_RING();
731
        BEGIN_RING(10);
-
 
732
 
541
          OUT_RING(CP_PACKET3(RADEON_CNTL_TRANBLT, 8));
733
          OUT_RING(CP_PACKET3(RADEON_CNTL_TRANBLT, 8));
Line 542... Line 734...
542
 
734
 
543
          OUT_RING(RADEON_GMC_SRC_PITCH_OFFSET_CNTL  |
735
          OUT_RING(RADEON_GMC_SRC_PITCH_OFFSET_CNTL  |
544
                   RADEON_GMC_DST_PITCH_OFFSET_CNTL  |
736
                   RADEON_GMC_DST_PITCH_OFFSET_CNTL  |
Line 554... Line 746...
554
          OUT_RING(dstpixmap->pitch_offset);
746
          OUT_RING(dstpixmap->pitch_offset);
555
 
747
 
Line 556... Line 748...
556
          OUT_RING(R5XX_CLR_CMP_SRC_SOURCE | R5XX_SRC_CMP_EQ_COLOR);
748
          OUT_RING(R5XX_CLR_CMP_SRC_SOURCE | R5XX_SRC_CMP_EQ_COLOR);
557
          OUT_RING(0xFF000000);
749
          OUT_RING(blit->key);
558
          OUT_RING(0xFF000000);
750
          OUT_RING(0xFFFFFFFF);
Line 559... Line 751...
559
 
751
 
560
          OUT_RING((blit->src_x<<16)|blit->src_y);
752
          OUT_RING((blit->src_x<<16)|blit->src_y);
561
          OUT_RING((blit->dst_x<<16)|blit->dst_y);
753
          OUT_RING((blit->dst_x<<16)|blit->dst_y);