19 OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BltBuffer,
22 IN UINTN DestinationX,
23 IN UINTN DestinationY,
32 UINT32 *DestinationWalker;
35 UINTN PixelsPerScanLine;
39 PixelsPerScanLine = Configure->PixelsPerScanLine;
41 Destination = (UINT32 *)BltBuffer
42 + DestinationY * DeltaPixels + DestinationX;
43 Source = (UINT32 *)Configure->FrameBuffer
44 + SourceY * PixelsPerScanLine + SourceX;
45 if (Configure->PixelFormat == PixelBlueGreenRedReserved8BitPerColor) {
47 CopyMem (Destination, Source, WidthInBytes);
48 Source += PixelsPerScanLine;
49 Destination += DeltaPixels;
54 DestinationWalker = (UINT32 *)Configure->LineBuffer;
55 SourceWalker = (UINT32 *)Source;
56 for (IndexX = 0; IndexX < Width; IndexX++) {
57 Uint32 = *SourceWalker++;
58 *DestinationWalker++ =
60 (((Uint32 << Configure->PixelShl[0]) >> Configure->PixelShr[0]) &
61 Configure->PixelMasks.RedMask) |
62 (((Uint32 << Configure->PixelShl[1]) >> Configure->PixelShr[1]) &
63 Configure->PixelMasks.GreenMask) |
64 (((Uint32 << Configure->PixelShl[2]) >> Configure->PixelShr[2]) &
65 Configure->PixelMasks.BlueMask)
69 CopyMem (Destination, Configure->LineBuffer, WidthInBytes);
70 Source += PixelsPerScanLine;
71 Destination += DeltaPixels;
82 OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BltBuffer,
85 IN UINTN DestinationX,
86 IN UINTN DestinationY,
95 UINT32 *DestinationWalker;
97 UINTN PixelsPerScanLine;
100 PixelsPerScanLine = Configure->PixelsPerScanLine;
102 Destination = (UINT32 *)BltBuffer
103 + DestinationY * DeltaPixels + DestinationX;
104 Source = (UINT32 *)Configure->FrameBuffer
105 + (Configure->Width - SourceY - 1);
107 if (Configure->PixelFormat == PixelBlueGreenRedReserved8BitPerColor) {
109 DestinationWalker = Destination;
110 SourceWalker = Source;
111 for (IndexX = SourceX; IndexX < SourceX + Width; IndexX++) {
112 *DestinationWalker++ = SourceWalker[IndexX * PixelsPerScanLine];
116 Destination += DeltaPixels;
121 DestinationWalker = Destination;
122 SourceWalker = Source;
123 for (IndexX = SourceX; IndexX < SourceX + Width; IndexX++) {
124 Uint32 = SourceWalker[IndexX * PixelsPerScanLine];
125 *DestinationWalker++ =
127 (((Uint32 << Configure->PixelShl[0]) >> Configure->PixelShr[0]) &
128 Configure->PixelMasks.RedMask) |
129 (((Uint32 << Configure->PixelShl[1]) >> Configure->PixelShr[1]) &
130 Configure->PixelMasks.GreenMask) |
131 (((Uint32 << Configure->PixelShl[2]) >> Configure->PixelShr[2]) &
132 Configure->PixelMasks.BlueMask)
137 Destination += DeltaPixels;
148 OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BltBuffer,
151 IN UINTN DestinationX,
152 IN UINTN DestinationY,
160 UINT32 *SourceWalker;
161 UINT32 *DestinationWalker;
163 UINTN PixelsPerScanLine;
166 PixelsPerScanLine = Configure->PixelsPerScanLine;
168 SourceX = Configure->Width - SourceX - Width;
169 SourceY = Configure->Height - SourceY - Height;
171 Destination = (UINT32 *)BltBuffer
172 + DestinationY * DeltaPixels + DestinationX;
173 Source = (UINT32 *)Configure->FrameBuffer
174 + (SourceY + (Height - 1)) * PixelsPerScanLine + SourceX;
176 if (Configure->PixelFormat == PixelBlueGreenRedReserved8BitPerColor) {
178 DestinationWalker = Destination;
179 SourceWalker = Source + (Width - 1);
180 for (IndexX = 0; IndexX < Width; IndexX++) {
181 *DestinationWalker++ = *SourceWalker--;
184 Source -= PixelsPerScanLine;
185 Destination += DeltaPixels;
190 DestinationWalker = Destination;
191 SourceWalker = Source + (Width - 1);
192 for (IndexX = 0; IndexX < Width; IndexX++) {
193 Uint32 = *SourceWalker--;
194 *DestinationWalker++ =
196 (((Uint32 << Configure->PixelShl[0]) >> Configure->PixelShr[0]) &
197 Configure->PixelMasks.RedMask) |
198 (((Uint32 << Configure->PixelShl[1]) >> Configure->PixelShr[1]) &
199 Configure->PixelMasks.GreenMask) |
200 (((Uint32 << Configure->PixelShl[2]) >> Configure->PixelShr[2]) &
201 Configure->PixelMasks.BlueMask)
205 Source -= PixelsPerScanLine;
206 Destination += DeltaPixels;
217 OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BltBuffer,
220 IN UINTN DestinationX,
221 IN UINTN DestinationY,
229 UINT32 *SourceWalker;
230 UINT32 *DestinationWalker;
233 UINTN PixelsPerScanLine;
236 PixelsPerScanLine = Configure->PixelsPerScanLine;
238 Destination = (UINT32 *)BltBuffer
239 + DestinationY * DeltaPixels + DestinationX;
240 Source = (UINT32 *)Configure->FrameBuffer
243 if (Configure->PixelFormat == PixelBlueGreenRedReserved8BitPerColor) {
245 DestinationWalker = Destination;
246 SourceWalker = Source;
247 LastX = Configure->Height - SourceX - 1;
248 for (IndexX = 0; IndexX < Width; IndexX++) {
249 *DestinationWalker++ = SourceWalker[(LastX - IndexX) * PixelsPerScanLine];
253 Destination += DeltaPixels;
258 DestinationWalker = Destination;
259 SourceWalker = Source;
260 LastX = Configure->Height - SourceX - 1;
261 for (IndexX = 0; IndexX < Width; IndexX++) {
262 Uint32 = SourceWalker[(LastX - IndexX) * PixelsPerScanLine];
263 *DestinationWalker++ =
265 (((Uint32 << Configure->PixelShl[0]) >> Configure->PixelShr[0]) &
266 Configure->PixelMasks.RedMask) |
267 (((Uint32 << Configure->PixelShl[1]) >> Configure->PixelShr[1]) &
268 Configure->PixelMasks.GreenMask) |
269 (((Uint32 << Configure->PixelShl[2]) >> Configure->PixelShr[2]) &
270 Configure->PixelMasks.BlueMask)
275 Destination += DeltaPixels;
RETURN_STATUS BlitLibVideoToBuffer90(IN OC_BLIT_CONFIGURE *Configure, OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BltBuffer, IN UINTN SourceX, IN UINTN SourceY, IN UINTN DestinationX, IN UINTN DestinationY, IN UINTN Width, IN UINTN Height, IN UINTN DeltaPixels)
RETURN_STATUS BlitLibVideoToBuffer270(IN OC_BLIT_CONFIGURE *Configure, OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BltBuffer, IN UINTN SourceX, IN UINTN SourceY, IN UINTN DestinationX, IN UINTN DestinationY, IN UINTN Width, IN UINTN Height, IN UINTN DeltaPixels)
RETURN_STATUS BlitLibVideoToBuffer0(IN OC_BLIT_CONFIGURE *Configure, OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BltBuffer, IN UINTN SourceX, IN UINTN SourceY, IN UINTN DestinationX, IN UINTN DestinationY, IN UINTN Width, IN UINTN Height, IN UINTN DeltaPixels)
RETURN_STATUS BlitLibVideoToBuffer180(IN OC_BLIT_CONFIGURE *Configure, OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BltBuffer, IN UINTN SourceX, IN UINTN SourceY, IN UINTN DestinationX, IN UINTN DestinationY, IN UINTN Width, IN UINTN Height, IN UINTN DeltaPixels)