Rev 808 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 808 | Rev 810 | ||
---|---|---|---|
Line 98... | Line 98... | ||
98 | 98 | ||
Line 99... | Line 99... | ||
99 | OUT_RING(fill->bmp0); |
99 | OUT_RING(fill->bmp0); |
100 | OUT_RING(fill->bmp1); |
100 | OUT_RING(fill->bmp1); |
Line 101... | Line -... | ||
101 | - | ||
102 | // OUT_RING(0xCCCC3333); |
- | |
103 | // OUT_RING(0xCCCC3333); |
- | |
104 | // OUT_RING(~0x11884422); |
- | |
105 | // OUT_RING(~0x11884422); |
- | |
106 | - | ||
107 | // OUT_RING(0x88112244); |
- | |
108 | // OUT_RING(0x88112244); |
- | |
109 | 101 | ||
110 | OUT_RING((y0<<16)|x0); |
102 | OUT_RING((y0<<16)|x0); |
111 | OUT_RING((y1<<16)|x1); |
103 | OUT_RING((y1<<16)|x1); |
Line 112... | Line 104... | ||
112 | COMMIT_RING(); |
104 | COMMIT_RING(); |
113 | 105 | ||
114 | safe_sti(ifl); |
106 | safe_sti(ifl); |
115 | }; |
107 | }; |
Line -... | Line 108... | ||
- | 108 | return 0; |
|
- | 109 | } |
|
- | 110 | ||
- | 111 | int Blit(blit_t *blit) |
|
- | 112 | { |
|
- | 113 | int x0, y0, x1, y1; |
|
- | 114 | ||
- | 115 | x0 = blit->src_x; |
|
- | 116 | y0 = blit->src_y; |
|
- | 117 | ||
Line -... | Line 118... | ||
- | 118 | x1 = x0+blit->w-1; |
|
- | 119 | y1 = y0+blit->h-1; |
|
- | 120 | ||
- | 121 | ||
- | 122 | if( ! BlockClip( &x0, &y0, &x1, &y1)) |
|
- | 123 | { |
|
- | 124 | u32 *ring, write; |
|
- | 125 | int w, h; |
|
- | 126 | u32 ifl; |
|
- | 127 | ||
- | 128 | w = x1-x0+1; |
|
- | 129 | h = y1-y0+1; |
|
- | 130 | ||
- | 131 | ifl = safe_cli(); |
|
- | 132 | ||
- | 133 | BEGIN_RING(); |
|
- | 134 | OUT_RING(CP_PACKET3(RADEON_CNTL_BITBLT, 5)); |
|
- | 135 | ||
- | 136 | OUT_RING(RADEON_GMC_SRC_PITCH_OFFSET_CNTL | |
|
- | 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 | OUT_RING(rhd.dst_pitch_offset); |
|
- | 145 | OUT_RING(rhd.dst_pitch_offset); |
|
- | 146 | ||
- | 147 | OUT_RING((x0<<16)|y0); |
|
- | 148 | OUT_RING((blit->dst_x<<16)|blit->dst_y); |
|
- | 149 | OUT_RING((w<<16)|h); |
|
- | 150 | COMMIT_RING(); |
|
- | 151 | ||
Line 116... | Line 152... | ||
116 | return 0; |
152 | safe_sti(ifl); |
117 | } |
153 | } ; |
Line 118... | Line 154... | ||
118 | 154 | return 0; |