2 Copyright 1999, Be Incorporated. All Rights Reserved.
3 This file may be used under the terms of the Be Sample Code License.
6 Rudolf Cornelissen 9/2003-2/2005.
11 moved DMA acceleration 'top-level' routines to be integrated in the engine:
12 it is costly to call the engine for every single function within a loop!
13 (measured with BeRoMeter 1.2.6: upto 15% speed increase on all CPU's.)
14 Leaving PIO acceleration as it is for now, for the purpose of benchmarking :-)
17 attempting DMA on NV40 and higher because without it I can't get them going ATM.
18 Maybe later we can forget about PIO mode acceleration totally (depends on 3D
19 acceleration attempts).
22 #define MODULE_BIT 0x40000000
26 void SCREEN_TO_SCREEN_BLIT_PIO(engine_token
*et
, blit_params
*list
, uint32 count
)
30 /* init acc engine for blit function */
50 void SCREEN_TO_SCREEN_SCALED_FILTERED_BLIT_PIO(engine_token
*et
, scaled_blit_params
*list
, uint32 count
)
73 void SCREEN_TO_SCREEN_TRANSPARENT_BLIT_PIO(engine_token
*et
, uint32 transparent_colour
, blit_params
*list
, uint32 count
)
81 nv_acc_transparent_blit
95 void FILL_RECTANGLE_PIO(engine_token
*et
, uint32 colorIndex
, fill_rect_params
*list
, uint32 count
)
99 /* init acc engine for fill function */
100 nv_acc_setup_rectangle(colorIndex
);
102 /* draw each rectangle */
111 (list
[i
].bottom
-list
[i
].top
)+1
117 void INVERT_RECTANGLE_PIO(engine_token
*et
, fill_rect_params
*list
, uint32 count
)
121 /* init acc engine for invert function */
122 nv_acc_setup_rect_invert();
124 /* invert each rectangle */
128 nv_acc_rectangle_invert
133 (list
[i
].bottom
-list
[i
].top
)+1
139 void FILL_SPAN_PIO(engine_token
*et
, uint32 colorIndex
, uint16
*list
, uint32 count
)
143 /* init acc engine for fill function */
144 nv_acc_setup_rectangle(colorIndex
);