30#ifndef __ARM_2D_TRANSFORM_H__
31#define __ARM_2D_TRANSFORM_H__
35#include "arm_2d_types.h"
42# pragma clang diagnostic push
43# pragma clang diagnostic ignored "-Wunknown-warning-option"
44# pragma clang diagnostic ignored "-Wreserved-identifier"
45# pragma clang diagnostic ignored "-Wsign-conversion"
46# pragma clang diagnostic ignored "-Wpadded"
47# pragma clang diagnostic ignored "-Wgnu-zero-variadic-macro-arguments"
55#define arm_2d_op_rotate_t arm_2d_op_trans_t
56#define arm_2d_op_rotate_opacity_t arm_2d_op_trans_opa_t
64#define arm_2dp_gray8_tile_transform_with_opacity_prepare \
65 arm_2dp_gray8_tile_transform_with_colour_keying_and_opacity_prepare
67#define arm_2dp_rgb565_tile_transform_with_opacity_prepare \
68 arm_2dp_rgb565_tile_transform_with_colour_keying_and_opacity_prepare
70#define arm_2dp_cccn888_tile_transform_with_opacity_prepare \
71 arm_2dp_cccn888_tile_transform_with_colour_keying_and_opacity_prepare
73#define arm_2dp_gray8_tile_transform_prepare \
74 arm_2dp_gray8_tile_transform_with_colour_keying_prepare
76#define arm_2dp_rgb565_tile_transform_prepare \
77 arm_2dp_rgb565_tile_transform_with_colour_keying_prepare
79#define arm_2dp_cccn888_tile_transform_prepare \
80 arm_2dp_cccn888_tile_transform_with_colour_keying_prepare
82#define arm_2dp_tile_rotate arm_2dp_tile_transform
84#define arm_2dp_gray8_tile_rotate_prepare \
85 arm_2dp_gray8_tile_transform_with_colour_keying_prepare
87#define arm_2dp_rgb565_tile_rotate_prepare \
88 arm_2dp_rgb565_tile_transform_with_colour_keying_prepare
90#define arm_2dp_cccn888_tile_rotate_prepare \
91 arm_2dp_cccn888_tile_transform_with_colour_keying_prepare
93#define arm_2d_rgb888_tile_rotation_prepare \
94 arm_2d_cccn888_tile_rotation_prepare
96#define arm_2d_gray8_tile_rotation_prepare \
97 arm_2d_gray8_tile_rotation_with_colour_keying_prepare
99#define arm_2d_rgb565_tile_rotation_prepare \
100 arm_2d_rgb565_tile_rotation_with_colour_keying_prepare
102#define arm_2d_cccn888_tile_rotation_prepare \
103 arm_2d_cccn888_tile_rotation_with_colour_keying_prepare
105#define arm_2dp_gray8_tile_rotate_with_opacity_prepare \
106 arm_2dp_gray8_tile_transform_with_colour_keying_and_opacity_prepare
108#define arm_2dp_rgb565_tile_rotate_with_opacity_prepare \
109 arm_2dp_rgb565_tile_transform_with_colour_keying_and_opacity_prepare
111#define arm_2dp_cccn888_tile_rotate_with_opacity_prepare \
112 arm_2dp_cccn888_tile_transform_with_colour_keying_and_opacity_prepare
114#define arm_2d_gray8_tile_rotation_with_alpha_prepare \
115 arm_2d_gray8_tile_rotation_with_opacity_prepare
117#define arm_2d_rgb565_tile_rotation_with_alpha_prepare \
118 arm_2d_rgb565_tile_rotation_with_opacity_prepare
120#define arm_2d_rgb888_tile_rotation_with_alpha_prepare \
121 arm_2d_rgb888_tile_rotation_with_opacity_prepare
123#define arm_2d_cccn888_tile_rotation_with_alpha_prepare \
124 arm_2d_cccn888_tile_rotation_with_opacity_prepare
126#define arm_2d_rgb888_tile_rotation_with_opacity_prepare \
127 arm_2d_cccn888_tile_rotation_with_opacity_prepare
129#define arm_2dp_gray8_tile_rotation \
130 arm_2dp_gray8_tile_rotation_with_colour_keying
132#define arm_2dp_rgb565_tile_rotation \
133 arm_2dp_rgb565_tile_rotation_with_colour_keying
135#define arm_2dp_cccn888_tile_rotation \
136 arm_2dp_cccn888_tile_rotation_with_colour_keying
138#define arm_2d_gray8_tile_rotation \
139 arm_2d_gray8_tile_rotation_with_colour_keying
141#define arm_2d_rgb565_tile_rotation \
142 arm_2d_rgb565_tile_rotation_with_colour_keying
144#define arm_2d_cccn888_tile_rotation \
145 arm_2d_cccn888_tile_rotation_with_colour_keying
147#define arm_2d_rgb888_tile_rotation_with_colour_keying \
148 arm_2d_cccn888_tile_rotation_with_colour_keying
150#define arm_2dp_gray8_tile_rotation_with_alpha \
151 arm_2dp_gray8_tile_rotation_with_opacity
153#define arm_2dp_rgb565_tile_rotation_with_alpha \
154 arm_2dp_rgb565_tile_rotation_with_opacity
156#define arm_2dp_rgb888_tile_rotation_with_alpha \
157 arm_2dp_cccn888_tile_rotation_with_opacity
159#define arm_2dp_rgb888_tile_rotation_with_opacity \
160 arm_2dp_cccn888_tile_rotation_with_opacity
162#define arm_2dp_cccn888_tile_rotation_with_alpha \
163 arm_2dp_cccn888_tile_rotation_with_opacity
165#define arm_2d_gray8_tile_rotation_with_alpha \
166 arm_2d_gray8_tile_rotation_with_opacity
168#define arm_2d_rgb565_tile_rotation_with_alpha \
169 arm_2d_rgb565_tile_rotation_with_opacity
171#define arm_2d_rgb888_tile_rotation_with_alpha \
172 arm_2d_rgb888_tile_rotation_with_opacity
174#define arm_2d_cccn888_tile_rotation_with_alpha \
175 arm_2d_cccn888_tile_rotation_with_opacity
177#define arm_2d_rgb888_tile_rotation_with_opacity \
178 arm_2d_cccn888_tile_rotation_with_opacity
180#define arm_2d_gray8_tile_transform_prepare \
181 arm_2d_gray8_tile_transform_with_colour_keying_prepare
183#define arm_2d_rgb565_tile_transform_prepare \
184 arm_2d_rgb565_tile_transform_with_colour_keying_prepare
186#define arm_2d_cccn888_tile_transform_prepare \
187 arm_2d_cccn888_tile_transform_with_colour_keying_prepare
189#define arm_2d_rgb888_tile_transform_prepare \
190 arm_2d_cccn888_tile_transform_prepare
192#define arm_2d_gray8_tile_transform_with_alpha_prepare \
193 arm_2d_gray8_tile_transform_with_opacity_prepare
195#define arm_2d_rgb565_tile_transform_with_alpha_prepare \
196 arm_2d_rgb565_tile_transform_with_opacity_prepare
198#define arm_2d_rgb888_tile_transform_with_alpha_prepare \
199 arm_2d_rgb888_tile_transform_with_opacity_prepare
201#define arm_2d_cccn888_tile_transform_with_alpha_prepare \
202 arm_2d_cccn888_tile_transform_with_opacity_prepare
204#define arm_2d_rgb888_tile_transform_with_opacity_prepare \
205 arm_2d_cccn888_tile_transform_with_opacity_prepare
207#define arm_2d_gray8_tile_transform_with_alpha \
208 arm_2d_gray8_tile_transform_with_opacity
210#define arm_2d_rgb565_tile_transform_with_alpha \
211 arm_2d_rgb565_tile_transform_with_opacity
213#define arm_2d_rgb888_tile_transform_with_alpha \
214 arm_2d_rgb888_tile_transform_with_opacity
216#define arm_2d_cccn888_tile_transform_with_alpha \
217 arm_2d_cccn888_tile_transform_with_opacity
219#define arm_2d_rgb888_tile_transform_with_opacity \
220 arm_2d_cccn888_tile_transform_with_opacity
222#define arm_2dp_gray8_tile_transform \
223 arm_2dp_gray8_tile_transform_with_colour_keying
225#define arm_2dp_rgb565_tile_transform \
226 arm_2dp_rgb565_tile_transform_with_colour_keying
228#define arm_2dp_cccn888_tile_transform \
229 arm_2dp_cccn888_tile_transform_with_colour_keying
231#define arm_2d_gray8_tile_transform \
232 arm_2d_gray8_tile_transform_with_colour_keying
234#define arm_2d_rgb565_tile_transform \
235 arm_2d_rgb565_tile_transform_with_colour_keying
237#define arm_2d_cccn888_tile_transform \
238 arm_2d_cccn888_tile_transform_with_colour_keying
240#define arm_2dp_gray8_tile_transform_with_alpha \
241 arm_2dp_gray8_tile_transform_with_opacity
243#define arm_2dp_rgb565_tile_transform_with_alpha \
244 arm_2dp_rgb565_tile_transform_with_opacity
246#define arm_2dp_rgb888_tile_transform_with_alpha \
247 arm_2dp_rgb888_tile_transform_with_opacity
249#define arm_2dp_cccn888_tile_transform_with_alpha \
250 arm_2dp_cccn888_tile_transform_with_opacity
252#define arm_2dp_rgb888_tile_transform_with_opacity \
253 arm_2dp_cccn888_tile_transform_with_opacity
255#define arm_2d_gray8_tile_scaling_prepare \
256 arm_2d_gray8_tile_scaling_with_colour_keying_prepare
258#define arm_2d_rgb565_tile_scaling_prepare \
259 arm_2d_rgb565_tile_scaling_with_colour_keying_prepare
261#define arm_2d_cccn888_tile_scaling_prepare \
262 arm_2d_cccn888_tile_scaling_with_colour_keying_prepare
264#define arm_2d_rgb888_tile_scaling_prepare \
265 arm_2d_cccn888_tile_scaling_with_colour_keying_prepare
268#define arm_2d_gray8_tile_scaling_with_alpha_prepare \
269 arm_2d_gray8_tile_scaling_with_opacity_prepare
271#define arm_2d_rgb565_tile_scaling_with_alpha_prepare \
272 arm_2d_rgb565_tile_scaling_with_opacity_prepare
274#define arm_2d_rgb888_tile_scaling_with_alpha_prepare \
275 arm_2d_rgb888_tile_scaling_with_opacity_prepare
277#define arm_2d_cccn888_tile_scaling_with_alpha_prepare \
278 arm_2d_cccn888_tile_scaling_with_opacity_prepare
280#define arm_2d_rgb888_tile_scaling_with_opacity_prepare \
281 arm_2d_cccn888_tile_scaling_with_opacity_prepare
283#define arm_2dp_gray8_tile_scaling_with_alpha \
284 arm_2dp_gray8_tile_scaling_with_opacity
286#define arm_2dp_rgb565_tile_scaling_with_alpha \
287 arm_2dp_rgb565_tile_scaling_with_opacity
289#define arm_2dp_rgb888_tile_scaling_with_alpha \
290 arm_2dp_rgb888_tile_scaling_with_opacity
292#define arm_2dp_cccn888_tile_scaling_with_alpha \
293 arm_2dp_cccn888_tile_scaling_with_opacity
295#define arm_2dp_rgb888_tile_scaling_with_opacity \
296 arm_2dp_cccn888_tile_scaling_with_opacity
298#define arm_2d_gray8_tile_scaling_with_alpha \
299 arm_2d_gray8_tile_scaling_with_opacity
301#define arm_2d_rgb565_tile_scaling_with_alpha \
302 arm_2d_rgb565_tile_scaling_with_opacity
304#define arm_2d_rgb888_tile_scaling_with_alpha \
305 arm_2d_rgb888_tile_scaling_with_opacity
307#define arm_2d_cccn888_tile_scaling_with_alpha \
308 arm_2d_cccn888_tile_scaling_with_opacity
310#define arm_2d_rgb888_tile_scaling_with_opacity \
311 arm_2d_cccn888_tile_scaling_with_opacity
313#define arm_2dp_gray8_tile_scaling \
314 arm_2dp_gray8_tile_scaling_with_colour_keying
316#define arm_2dp_rgb565_tile_scaling \
317 arm_2dp_rgb565_tile_scaling_with_colour_keying
319#define arm_2dp_cccn888_tile_scaling \
320 arm_2dp_cccn888_tile_scaling_with_colour_keying
322#define arm_2d_gray8_tile_scaling \
323 arm_2d_gray8_tile_scaling_with_colour_keying
325#define arm_2d_rgb565_tile_scaling \
326 arm_2d_rgb565_tile_scaling_with_colour_keying
328#define arm_2d_cccn888_tile_scaling \
329 arm_2d_cccn888_tile_scaling_with_colour_keying
331#define arm_2d_rgb888_tile_scaling \
332 arm_2d_cccn888_tile_scaling_with_colour_keying
347#define arm_2d_gray8_tile_rotation_with_colour_keying_prepare( __SRC_TILE_ADDR,\
351 arm_2dp_gray8_tile_transform_with_colour_keying_prepare( NULL, \
358#define arm_2d_rgb565_tile_rotation_with_colour_keying_prepare( __SRC_TILE_ADDR,\
362 arm_2dp_rgb565_tile_transform_with_colour_keying_prepare( NULL, \
369#define arm_2d_cccn888_tile_rotation_with_colour_keying_prepare(__SRC_TILE_ADDR,\
373 arm_2dp_cccn888_tile_transform_with_colour_keying_prepare( NULL, \
380#define arm_2d_gray8_tile_rotation_only_prepare(__SRC_TILE_ADDR, \
383 arm_2dp_gray8_tile_transform_only_prepare( NULL, \
389#define arm_2d_rgb565_tile_rotation_only_prepare( __SRC_TILE_ADDR, \
392 arm_2dp_rgb565_tile_transform_with_colour_keying_prepare( NULL, \
398#define arm_2d_cccn888_tile_rotation_only_prepare( __SRC_TILE_ADDR, \
401 arm_2dp_cccn888_tile_transform_with_colour_keying_prepare( NULL, \
407#define arm_2d_gray8_tile_rotation_with_opacity_prepare( \
413 arm_2dp_gray8_tile_transform_with_colour_keying_and_opacity_prepare(\
422#define arm_2d_rgb565_tile_rotation_with_opacity_prepare( \
428 arm_2dp_rgb565_tile_transform_with_colour_keying_and_opacity_prepare(\
438#define arm_2d_cccn888_tile_rotation_with_opacity_prepare( \
444 arm_2dp_cccn888_tile_transform_with_colour_keying_and_opacity_prepare(\
454#define arm_2d_gray8_tile_rotation_only_with_opacity_prepare( \
459 arm_2dp_gray8_tile_transform_only_with_opacity_prepare( \
467#define arm_2d_rgb565_tile_rotation_only_with_opacity_prepare( \
472 arm_2dp_rgb565_tile_transform_only_with_opacity_prepare( \
480#define arm_2d_cccn888_tile_rotation_only_with_opacity_prepare( \
485 arm_2dp_cccn888_tile_transform_only_with_opacity_prepare( \
494#define arm_2d_gray8_tile_rotation_with_src_mask_prepare( \
499 arm_2dp_gray8_tile_transform_with_src_mask_prepare( NULL, \
506#define arm_2d_rgb565_tile_rotation_with_src_mask_prepare( \
511 arm_2dp_rgb565_tile_transform_with_src_mask_prepare( NULL, \
518#define arm_2d_cccn888_tile_rotation_with_src_mask_prepare( \
523 arm_2dp_cccn888_tile_transform_with_src_mask_prepare( NULL, \
530#define arm_2d_gray8_tile_rotation_with_src_mask_and_opacity_prepare( \
536 arm_2dp_gray8_tile_transform_with_src_mask_and_opacity_prepare( \
545#define arm_2d_rgb565_tile_rotation_with_src_mask_and_opacity_prepare( \
551 arm_2dp_rgb565_tile_transform_with_src_mask_and_opacity_prepare( \
560#define arm_2d_cccn888_tile_rotation_with_src_mask_and_opacity_prepare( \
566 arm_2dp_cccn888_tile_transform_with_src_mask_and_opacity_prepare( \
575#define arm_2d_tile_rotate( __DES_TILE_ADDR, \
578 arm_2dp_tile_transform(NULL, \
580 (__DES_REGION_ADDR), \
590#define arm_2dp_gray8_tile_rotation_with_colour_keying( __CB_ADDR, \
598 ({ if (bIsNewFrame) { \
599 arm_2dp_gray8_tile_transform_with_colour_keying_prepare( \
607 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
609 (__DES_REGION_ADDR), \
610 (NULL,##__VA_ARGS__)); \
613#define arm_2dp_rgb565_tile_rotation_with_colour_keying(__CB_ADDR, \
621 ({ if (bIsNewFrame) { \
622 arm_2dp_rgb565_tile_transform_with_colour_keying_prepare( \
630 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
632 (__DES_REGION_ADDR), \
633 (NULL,##__VA_ARGS__)); \
637#define arm_2dp_cccn888_tile_rotation_with_colour_keying(__CB_ADDR, \
645 ({ if (bIsNewFrame) { \
646 arm_2dp_cccn888_tile_transform_with_colour_keying_prepare( \
654 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
656 (__DES_REGION_ADDR), \
657 (NULL,##__VA_ARGS__)); \
660#define arm_2dp_gray8_tile_rotation_only( __CB_ADDR, \
667 ({ if (bIsNewFrame) { \
668 arm_2dp_gray8_tile_transform_only_prepare( \
675 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
677 (__DES_REGION_ADDR), \
678 (NULL,##__VA_ARGS__)); \
681#define arm_2dp_rgb565_tile_rotation_only( __CB_ADDR, \
688 ({ if (bIsNewFrame) { \
689 arm_2dp_rgb565_tile_transform_only_prepare( \
696 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
698 (__DES_REGION_ADDR), \
699 (NULL,##__VA_ARGS__)); \
703#define arm_2dp_cccn888_tile_rotation_only( __CB_ADDR, \
710 ({ if (bIsNewFrame) { \
711 arm_2dp_cccn888_tile_transform_only_prepare( \
718 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
720 (__DES_REGION_ADDR), \
721 (NULL,##__VA_ARGS__)); \
724#define arm_2dp_gray8_tile_rotation_with_opacity( \
733 ({ if (bIsNewFrame) { \
734 arm_2dp_gray8_tile_transform_with_colour_keying_and_opacity_prepare(\
743 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
745 (__DES_REGION_ADDR), \
746 (NULL,##__VA_ARGS__)); \
750#define arm_2dp_rgb565_tile_rotation_with_opacity( \
759 ({ if (bIsNewFrame) { \
760 arm_2dp_rgb565_tile_transform_with_colour_keying_and_opacity_prepare(\
769 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
771 (__DES_REGION_ADDR), \
772 (NULL,##__VA_ARGS__)); \
775#define arm_2dp_cccn888_tile_rotation_with_opacity( \
784 ({ if (bIsNewFrame) { \
785 arm_2dp_cccn888_tile_transform_with_colour_keying_and_opacity_prepare(\
794 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
796 (__DES_REGION_ADDR), \
797 (NULL,##__VA_ARGS__)); \
800#define arm_2dp_gray8_tile_rotation_only_with_opacity( \
808 ({ if (bIsNewFrame) { \
809 arm_2dp_gray8_tile_transform_only_with_opacity_prepare( \
817 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
819 (__DES_REGION_ADDR), \
820 (NULL,##__VA_ARGS__)); \
823#define arm_2dp_rgb565_tile_rotation_only_with_opacity( \
831 ({ if (bIsNewFrame) { \
832 arm_2dp_rgb565_tile_transform_only_with_opacity_prepare( \
840 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
842 (__DES_REGION_ADDR), \
843 (NULL,##__VA_ARGS__)); \
846#define arm_2dp_cccn888_tile_rotation_only_with_opacity( \
854 ({ if (bIsNewFrame) { \
855 arm_2dp_cccn888_tile_transform_only_with_opacity_prepare( \
863 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
865 (__DES_REGION_ADDR), \
866 (NULL,##__VA_ARGS__)); \
869#define arm_2dp_gray8_tile_rotation_with_src_mask( \
878 ({ if (bIsNewFrame) { \
879 arm_2dp_gray8_tile_transform_with_src_mask_prepare( \
887 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
889 (__DES_REGION_ADDR), \
890 (NULL,##__VA_ARGS__)); \
893#define arm_2dp_rgb565_tile_rotation_with_src_mask( \
902 ({ if (bIsNewFrame) { \
903 arm_2dp_rgb565_tile_transform_with_src_mask_prepare( \
911 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
913 (__DES_REGION_ADDR), \
914 (NULL,##__VA_ARGS__)); \
917#define arm_2dp_cccn888_tile_rotation_with_src_mask( \
926 ({ if (bIsNewFrame) { \
927 arm_2dp_cccn888_tile_transform_with_src_mask_prepare( \
935 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
937 (__DES_REGION_ADDR), \
938 (NULL,##__VA_ARGS__)); \
941#define arm_2dp_gray8_tile_rotation_with_src_mask_and_opacity( \
951 ({ if (bIsNewFrame) { \
952 arm_2dp_gray8_tile_transform_with_src_mask_and_opacity_prepare( \
961 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
963 (__DES_REGION_ADDR), \
964 (NULL,##__VA_ARGS__)); \
967#define arm_2dp_rgb565_tile_rotation_with_src_mask_and_opacity( \
977 ({ if (bIsNewFrame) { \
978 arm_2dp_rgb565_tile_transform_with_src_mask_and_opacity_prepare( \
987 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
989 (__DES_REGION_ADDR), \
990 (NULL,##__VA_ARGS__)); \
993#define arm_2dp_cccn888_tile_rotation_with_src_mask_and_opacity( \
1003 ({ if (bIsNewFrame) { \
1004 arm_2dp_cccn888_tile_transform_with_src_mask_and_opacity_prepare( \
1006 (__SRC_TILE_ADDR), \
1007 (__SRC_MASK_ADDR), \
1013 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
1014 (__DES_TILE_ADDR), \
1015 (__DES_REGION_ADDR), \
1016 (NULL,##__VA_ARGS__)); \
1019#define arm_2d_gray8_tile_rotation_with_colour_keying( \
1022 __DES_REGION_ADDR, \
1025 __MSK_COLOUR, ...) \
1027 arm_2dp_gray8_tile_transform_with_colour_keying_prepare( \
1029 (__SRC_TILE_ADDR), \
1035 arm_2dp_tile_transform(NULL, \
1036 (__DES_TILE_ADDR), \
1037 (__DES_REGION_ADDR), \
1038 (NULL,##__VA_ARGS__)); \
1042#define arm_2d_rgb565_tile_rotation_with_colour_keying( \
1045 __DES_REGION_ADDR, \
1048 __MSK_COLOUR, ...) \
1050 arm_2dp_rgb565_tile_transform_with_colour_keying_prepare( \
1052 (__SRC_TILE_ADDR), \
1058 arm_2dp_tile_transform(NULL, \
1059 (__DES_TILE_ADDR), \
1060 (__DES_REGION_ADDR), \
1061 (NULL,##__VA_ARGS__)); \
1064#define arm_2d_cccn888_tile_rotation_with_colour_keying( \
1067 __DES_REGION_ADDR, \
1070 __MSK_COLOUR, ...) \
1072 arm_2dp_cccn888_tile_transform_with_colour_keying_prepare( \
1074 (__SRC_TILE_ADDR), \
1080 arm_2dp_tile_transform(NULL, \
1081 (__DES_TILE_ADDR), \
1082 (__DES_REGION_ADDR), \
1083 (NULL,##__VA_ARGS__)); \
1087#define arm_2d_gray8_tile_rotation_only( \
1090 __DES_REGION_ADDR, \
1095 arm_2dp_gray8_tile_transform_only_prepare( \
1097 (__SRC_TILE_ADDR), \
1102 arm_2dp_tile_transform(NULL, \
1103 (__DES_TILE_ADDR), \
1104 (__DES_REGION_ADDR), \
1105 (NULL,##__VA_ARGS__)); \
1109#define arm_2d_rgb565_tile_rotation_only( \
1112 __DES_REGION_ADDR, \
1117 arm_2dp_rgb565_tile_transform_only_prepare( \
1119 (__SRC_TILE_ADDR), \
1124 arm_2dp_tile_transform(NULL, \
1125 (__DES_TILE_ADDR), \
1126 (__DES_REGION_ADDR), \
1127 (NULL,##__VA_ARGS__)); \
1131#define arm_2d_cccn888_tile_rotation_only( \
1134 __DES_REGION_ADDR, \
1139 arm_2dp_cccn888_tile_transform_only_prepare( \
1141 (__SRC_TILE_ADDR), \
1146 arm_2dp_tile_transform(NULL, \
1147 (__DES_TILE_ADDR), \
1148 (__DES_REGION_ADDR), \
1149 (NULL,##__VA_ARGS__)); \
1152#define arm_2d_gray8_tile_rotation_with_opacity( \
1155 __DES_REGION_ADDR, \
1161 arm_2dp_gray8_tile_transform_with_colour_keying_and_opacity_prepare(\
1163 (__SRC_TILE_ADDR), \
1170 arm_2dp_tile_transform(NULL, \
1171 (__DES_TILE_ADDR), \
1172 (__DES_REGION_ADDR), \
1173 (NULL,##__VA_ARGS__)); \
1176#define arm_2d_rgb565_tile_rotation_with_opacity( \
1179 __DES_REGION_ADDR, \
1185 arm_2dp_rgb565_tile_transform_with_colour_keying_and_opacity_prepare(\
1187 (__SRC_TILE_ADDR), \
1194 arm_2dp_tile_transform(NULL, \
1195 (__DES_TILE_ADDR), \
1196 (__DES_REGION_ADDR), \
1197 (NULL,##__VA_ARGS__)); \
1200#define arm_2d_cccn888_tile_rotation_with_opacity( \
1203 __DES_REGION_ADDR, \
1209 arm_2dp_cccn888_tile_transform_with_colour_keying_and_opacity_prepare(\
1211 (__SRC_TILE_ADDR), \
1218 arm_2dp_tile_transform(NULL, \
1219 (__DES_TILE_ADDR), \
1220 (__DES_REGION_ADDR), \
1221 (NULL,##__VA_ARGS__)); \
1224#define arm_2d_gray8_tile_rotation_only_with_opacity( \
1227 __DES_REGION_ADDR, \
1232 arm_2dp_gray8_tile_transform_only_with_opacity_prepare( \
1234 (__SRC_TILE_ADDR), \
1240 arm_2dp_tile_transform(NULL, \
1241 (__DES_TILE_ADDR), \
1242 (__DES_REGION_ADDR), \
1243 (NULL,##__VA_ARGS__)); \
1246#define arm_2d_rgb565_tile_rotation_only_with_opacity( \
1249 __DES_REGION_ADDR, \
1254 arm_2dp_rgb565_tile_transform_only_with_opacity_prepare( \
1256 (__SRC_TILE_ADDR), \
1262 arm_2dp_tile_transform(NULL, \
1263 (__DES_TILE_ADDR), \
1264 (__DES_REGION_ADDR), \
1265 (NULL,##__VA_ARGS__)); \
1268#define arm_2d_cccn888_tile_rotation_only_with_opacity( \
1271 __DES_REGION_ADDR, \
1276 arm_2dp_cccn888_tile_transform_only_with_opacity_prepare( \
1278 (__SRC_TILE_ADDR), \
1284 arm_2dp_tile_transform(NULL, \
1285 (__DES_TILE_ADDR), \
1286 (__DES_REGION_ADDR), \
1287 (NULL,##__VA_ARGS__)); \
1290#define arm_2d_gray8_tile_rotation_with_src_mask( \
1294 __DES_REGION_ADDR, \
1299 arm_2dp_gray8_tile_transform_with_src_mask_prepare( \
1301 (__SRC_TILE_ADDR), \
1302 (__SRC_MASK_ADDR), \
1307 arm_2dp_tile_transform(NULL, \
1308 (__DES_TILE_ADDR), \
1309 (__DES_REGION_ADDR), \
1310 (NULL,##__VA_ARGS__)); \
1313#define arm_2d_rgb565_tile_rotation_with_src_mask( \
1317 __DES_REGION_ADDR, \
1322 arm_2dp_rgb565_tile_transform_with_src_mask_prepare( \
1324 (__SRC_TILE_ADDR), \
1325 (__SRC_MASK_ADDR), \
1330 arm_2dp_tile_transform(NULL, \
1331 (__DES_TILE_ADDR), \
1332 (__DES_REGION_ADDR), \
1333 (NULL,##__VA_ARGS__)); \
1336#define arm_2d_cccn888_tile_rotation_with_src_mask( \
1340 __DES_REGION_ADDR, \
1345 arm_2dp_cccn888_tile_transform_with_src_mask_prepare( \
1347 (__SRC_TILE_ADDR), \
1348 (__SRC_MASK_ADDR), \
1353 arm_2dp_tile_transform(NULL, \
1354 (__DES_TILE_ADDR), \
1355 (__DES_REGION_ADDR), \
1356 (NULL,##__VA_ARGS__)); \
1359#define arm_2d_gray8_tile_rotation_with_src_mask_and_opacity( \
1363 __DES_REGION_ADDR, \
1369 arm_2dp_gray8_tile_transform_with_src_mask_and_opacity_prepare( \
1371 (__SRC_TILE_ADDR), \
1372 (__SRC_MASK_ADDR), \
1378 arm_2dp_tile_transform(NULL, \
1379 (__DES_TILE_ADDR), \
1380 (__DES_REGION_ADDR), \
1381 (NULL,##__VA_ARGS__)); \
1384#define arm_2d_rgb565_tile_rotation_with_src_mask_and_opacity( \
1388 __DES_REGION_ADDR, \
1394 arm_2dp_rgb565_tile_transform_with_src_mask_and_opacity_prepare( \
1396 (__SRC_TILE_ADDR), \
1397 (__SRC_MASK_ADDR), \
1403 arm_2dp_tile_transform(NULL, \
1404 (__DES_TILE_ADDR), \
1405 (__DES_REGION_ADDR), \
1406 (NULL,##__VA_ARGS__)); \
1409#define arm_2d_cccn888_tile_rotation_with_src_mask_and_opacity( \
1413 __DES_REGION_ADDR, \
1419 arm_2dp_cccn888_tile_transform_with_src_mask_and_opacity_prepare( \
1421 (__SRC_TILE_ADDR), \
1422 (__SRC_MASK_ADDR), \
1428 arm_2dp_tile_transform(NULL, \
1429 (__DES_TILE_ADDR), \
1430 (__DES_REGION_ADDR), \
1431 (NULL,##__VA_ARGS__)); \
1438#define arm_2d_gray8_tile_transform_with_colour_keying_prepare( __SRC_TILE_ADDR,\
1443 arm_2dp_gray8_tile_transform_with_colour_keying_prepare( NULL, \
1444 (__SRC_TILE_ADDR), \
1450#define arm_2d_rgb565_tile_transform_with_colour_keying_prepare(__SRC_TILE_ADDR,\
1455 arm_2dp_rgb565_tile_transform_with_colour_keying_prepare( NULL, \
1456 (__SRC_TILE_ADDR), \
1463#define arm_2d_cccn888_tile_transform_with_colour_keying_prepare( \
1469 arm_2dp_cccn888_tile_transform_with_colour_keying_prepare( NULL, \
1470 (__SRC_TILE_ADDR), \
1476#define arm_2d_gray8_tile_transform_only_prepare( __SRC_TILE_ADDR, \
1480 arm_2dp_gray8_tile_transform_only_prepare( NULL, \
1481 (__SRC_TILE_ADDR), \
1486#define arm_2d_rgb565_tile_transform_only_prepare( __SRC_TILE_ADDR, \
1490 arm_2dp_rgb565_tile_transform_only_prepare( NULL, \
1491 (__SRC_TILE_ADDR), \
1496#define arm_2d_cccn888_tile_transform_only_prepare( __SRC_TILE_ADDR, \
1500 arm_2dp_cccn888_tile_transform_only_prepare( NULL, \
1501 (__SRC_TILE_ADDR), \
1506#define arm_2d_gray8_tile_transform_with_opacity_prepare( \
1513 arm_2dp_gray8_tile_transform_with_colour_keying_and_opacity_prepare(\
1515 (__SRC_TILE_ADDR), \
1522#define arm_2d_rgb565_tile_transform_with_opacity_prepare( \
1529 arm_2dp_rgb565_tile_transform_with_colour_keying_and_opacity_prepare(\
1531 (__SRC_TILE_ADDR), \
1538#define arm_2d_cccn888_tile_transform_with_opacity_prepare( \
1545 arm_2dp_cccn888_tile_transform_with_colour_keying_and_opacity_prepare(\
1547 (__SRC_TILE_ADDR), \
1554#define arm_2d_gray8_tile_transform_only_with_opacity_prepare( \
1560 arm_2dp_gray8_tile_transform_only_with_opacity_prepare( \
1562 (__SRC_TILE_ADDR), \
1568#define arm_2d_rgb565_tile_transform_only_with_opacity_prepare( \
1574 arm_2dp_rgb565_tile_transform_only_with_opacity_prepare( \
1576 (__SRC_TILE_ADDR), \
1582#define arm_2d_cccn888_tile_transform_only_with_opacity_prepare( \
1588 arm_2dp_cccn888_tile_transform_only_with_opacity_prepare( \
1590 (__SRC_TILE_ADDR), \
1597#define arm_2d_gray8_tile_transform_with_src_mask_prepare( \
1603 arm_2dp_gray8_tile_transform_with_src_mask_prepare( NULL, \
1604 (__SRC_TILE_ADDR), \
1605 (__SRC_MASK_ADDR), \
1610#define arm_2d_rgb565_tile_transform_with_src_mask_prepare( \
1616 arm_2dp_rgb565_tile_transform_with_src_mask_prepare( NULL, \
1617 (__SRC_TILE_ADDR), \
1618 (__SRC_MASK_ADDR), \
1623#define arm_2d_cccn888_tile_transform_with_src_mask_prepare( \
1629 arm_2dp_cccn888_tile_transform_with_src_mask_prepare( NULL, \
1630 (__SRC_TILE_ADDR), \
1631 (__SRC_MASK_ADDR), \
1636#define arm_2d_gray8_tile_transform_with_src_mask_and_opacity_prepare( \
1643 arm_2dp_gray8_tile_transform_with_src_mask_and_opacity_prepare( \
1645 (__SRC_TILE_ADDR), \
1646 (__SRC_MASK_ADDR), \
1652#define arm_2d_rgb565_tile_transform_with_src_mask_and_opacity_prepare( \
1659 arm_2dp_rgb565_tile_transform_with_src_mask_and_opacity_prepare( \
1661 (__SRC_TILE_ADDR), \
1662 (__SRC_MASK_ADDR), \
1668#define arm_2d_cccn888_tile_transform_with_src_mask_and_opacity_prepare( \
1675 arm_2dp_cccn888_tile_transform_with_src_mask_and_opacity_prepare( \
1677 (__SRC_TILE_ADDR), \
1678 (__SRC_MASK_ADDR), \
1684#define arm_2d_tile_transform( __DES_TILE_ADDR, \
1685 __DES_REGION_ADDR, \
1686 __DES_CENTRE_ADDR) \
1687 arm_2dp_tile_transform(NULL, \
1688 (__DES_TILE_ADDR), \
1689 (__DES_REGION_ADDR), \
1690 (__DES_CENTRE_ADDR))
1700#define arm_2dp_gray8_tile_transform_with_colour_keying(__CB_ADDR, \
1703 __DES_REGION_ADDR, \
1709 ({ if (bIsNewFrame) { \
1710 arm_2dp_gray8_tile_transform_with_colour_keying_prepare( \
1712 (__SRC_TILE_ADDR), \
1718 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
1719 (__DES_TILE_ADDR), \
1720 (__DES_REGION_ADDR), \
1721 (NULL,##__VA_ARGS__)); \
1724#define arm_2dp_rgb565_tile_transform_with_colour_keying( __CB_ADDR, \
1727 __DES_REGION_ADDR, \
1733 ({ if (bIsNewFrame) { \
1734 arm_2dp_rgb565_tile_transform_with_colour_keying_prepare( \
1736 (__SRC_TILE_ADDR), \
1742 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
1743 (__DES_TILE_ADDR), \
1744 (__DES_REGION_ADDR), \
1745 (NULL,##__VA_ARGS__)); \
1749#define arm_2dp_cccn888_tile_transform_with_colour_keying( __CB_ADDR, \
1752 __DES_REGION_ADDR, \
1758 ({ if (bIsNewFrame) { \
1759 arm_2dp_cccn888_tile_transform_with_colour_keying_prepare( \
1761 (__SRC_TILE_ADDR), \
1767 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
1768 (__DES_TILE_ADDR), \
1769 (__DES_REGION_ADDR), \
1770 (NULL,##__VA_ARGS__)); \
1773#define arm_2dp_gray8_tile_transform_only( __CB_ADDR, \
1776 __DES_REGION_ADDR, \
1781 ({ if (bIsNewFrame) { \
1782 arm_2dp_gray8_tile_transform_only_prepare( \
1784 (__SRC_TILE_ADDR), \
1787 (float)(__SCALE)); \
1789 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
1790 (__DES_TILE_ADDR), \
1791 (__DES_REGION_ADDR), \
1792 (NULL,##__VA_ARGS__)); \
1795#define arm_2dp_rgb565_tile_transform_only( __CB_ADDR, \
1798 __DES_REGION_ADDR, \
1803 ({ if (bIsNewFrame) { \
1804 arm_2dp_rgb565_tile_transform_only_prepare( \
1806 (__SRC_TILE_ADDR), \
1809 (float)(__SCALE)); \
1811 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
1812 (__DES_TILE_ADDR), \
1813 (__DES_REGION_ADDR), \
1814 (NULL,##__VA_ARGS__)); \
1817#define arm_2dp_cccn888_tile_transform_only(__CB_ADDR, \
1820 __DES_REGION_ADDR, \
1825 ({ if (bIsNewFrame) { \
1826 arm_2dp_cccn888_tile_transform_only_prepare( \
1828 (__SRC_TILE_ADDR), \
1831 (float)(__SCALE)); \
1833 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
1834 (__DES_TILE_ADDR), \
1835 (__DES_REGION_ADDR), \
1836 (NULL,##__VA_ARGS__)); \
1840#define arm_2d_gray8_tile_transform_only( __SRC_TILE_ADDR, \
1842 __DES_REGION_ADDR, \
1848 arm_2dp_gray8_tile_transform_only_prepare( \
1850 (__SRC_TILE_ADDR), \
1853 (float)(__SCALE)); \
1854 arm_2dp_tile_transform(NULL, \
1855 (__DES_TILE_ADDR), \
1856 (__DES_REGION_ADDR), \
1857 (NULL,##__VA_ARGS__)); \
1860#define arm_2d_rgb565_tile_transform_only( __SRC_TILE_ADDR, \
1862 __DES_REGION_ADDR, \
1868 arm_2dp_rgb565_tile_transform_only_prepare( \
1870 (__SRC_TILE_ADDR), \
1873 (float)(__SCALE)); \
1874 arm_2dp_tile_transform(NULL, \
1875 (__DES_TILE_ADDR), \
1876 (__DES_REGION_ADDR), \
1877 (NULL,##__VA_ARGS__)); \
1880#define arm_2d_cccn888_tile_transform_only( __SRC_TILE_ADDR, \
1882 __DES_REGION_ADDR, \
1888 arm_2dp_cccn888_tile_transform_only_prepare( \
1890 (__SRC_TILE_ADDR), \
1893 (float)(__SCALE)); \
1894 arm_2dp_tile_transform(NULL, \
1895 (__DES_TILE_ADDR), \
1896 (__DES_REGION_ADDR), \
1897 (NULL,##__VA_ARGS__)); \
1900#define arm_2dp_gray8_tile_transform_with_opacity( \
1904 __DES_REGION_ADDR, \
1910 ({ if (bIsNewFrame) { \
1911 arm_2dp_gray8_tile_transform_with_colour_keying_and_opacity_prepare(\
1913 (__SRC_TILE_ADDR), \
1920 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
1921 (__DES_TILE_ADDR), \
1922 (__DES_REGION_ADDR), \
1923 (NULL,##__VA_ARGS__)); \
1927#define arm_2dp_rgb565_tile_transform_with_opacity( \
1931 __DES_REGION_ADDR, \
1937 ({ if (bIsNewFrame) { \
1938 arm_2dp_rgb565_tile_transform_with_colour_keying_and_opacity_prepare(\
1940 (__SRC_TILE_ADDR), \
1947 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
1948 (__DES_TILE_ADDR), \
1949 (__DES_REGION_ADDR), \
1950 (NULL,##__VA_ARGS__)); \
1953#define arm_2dp_cccn888_tile_transform_with_opacity( \
1957 __DES_REGION_ADDR, \
1963 ({ if (bIsNewFrame) { \
1964 arm_2dp_cccn888_tile_transform_with_colour_keying_and_opacity_prepare(\
1966 (__SRC_TILE_ADDR), \
1973 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
1974 (__DES_TILE_ADDR), \
1975 (__DES_REGION_ADDR), \
1976 (NULL,##__VA_ARGS__)); \
1979#define arm_2dp_gray8_tile_transform_xy_with_opacity( \
1983 __DES_REGION_ADDR, \
1990 ({ if (bIsNewFrame) { \
1991 arm_2dp_gray8_tile_transform_xy_with_colour_keying_and_opacity_prepare( \
1993 (__SRC_TILE_ADDR), \
1996 (float)(__SCALE_X), \
1997 (float)(__SCALE_Y), \
2001 arm_2dp_tile_transform_xy((arm_2d_op_trans_t *)(__CB_ADDR), \
2002 (__DES_TILE_ADDR), \
2003 (__DES_REGION_ADDR), \
2004 (NULL,##__VA_ARGS__)); \
2007#define arm_2dp_rgb565_tile_transform_xy_with_opacity( \
2011 __DES_REGION_ADDR, \
2018 ({ if (bIsNewFrame) { \
2019 arm_2dp_rgb565_tile_transform_xy_with_colour_keying_and_opacity_prepare(\
2021 (__SRC_TILE_ADDR), \
2024 (float)(__SCALE_X), \
2025 (float)(__SCALE_Y), \
2029 arm_2dp_tile_transform_xy((arm_2d_op_trans_t *)(__CB_ADDR), \
2030 (__DES_TILE_ADDR), \
2031 (__DES_REGION_ADDR), \
2032 (NULL,##__VA_ARGS__)); \
2035#define arm_2dp_cccn888_tile_transform_xy_with_opacity( \
2039 __DES_REGION_ADDR, \
2046 ({ if (bIsNewFrame) { \
2047 arm_2dp_cccn888_tile_transform_xy_with_colour_keying_and_opacity_prepare(\
2049 (__SRC_TILE_ADDR), \
2052 (float)(__SCALE_X), \
2053 (float)(__SCALE_Y), \
2057 arm_2dp_tile_transform_xy((arm_2d_op_trans_t *)(__CB_ADDR), \
2058 (__DES_TILE_ADDR), \
2059 (__DES_REGION_ADDR), \
2060 (NULL,##__VA_ARGS__)); \
2063#define arm_2dp_gray8_tile_transform_only_with_opacity( \
2067 __DES_REGION_ADDR, \
2072 ({ if (bIsNewFrame) { \
2073 arm_2dp_gray8_tile_transform_only_with_opacity_prepare( \
2075 (__SRC_TILE_ADDR), \
2081 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
2082 (__DES_TILE_ADDR), \
2083 (__DES_REGION_ADDR), \
2084 (NULL,##__VA_ARGS__)); \
2087#define arm_2dp_rgb565_tile_transform_only_with_opacity( \
2091 __DES_REGION_ADDR, \
2096 ({ if (bIsNewFrame) { \
2097 arm_2dp_rgb565_tile_transform_only_with_opacity_prepare( \
2099 (__SRC_TILE_ADDR), \
2105 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
2106 (__DES_TILE_ADDR), \
2107 (__DES_REGION_ADDR), \
2108 (NULL,##__VA_ARGS__)); \
2111#define arm_2dp_cccn888_tile_transform_only_with_opacity( \
2115 __DES_REGION_ADDR, \
2120 ({ if (bIsNewFrame) { \
2121 arm_2dp_cccn888_tile_transform_only_with_opacity_prepare( \
2123 (__SRC_TILE_ADDR), \
2129 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
2130 (__DES_TILE_ADDR), \
2131 (__DES_REGION_ADDR), \
2132 (NULL,##__VA_ARGS__)); \
2135#define arm_2dp_gray8_tile_transform_xy_only_with_opacity( \
2139 __DES_REGION_ADDR, \
2145 ({ if (bIsNewFrame) { \
2146 arm_2dp_gray8_tile_transform_xy_only_with_opacity_prepare( \
2148 (__SRC_TILE_ADDR), \
2151 (float)(__SCALE_X), \
2152 (float)(__SCALE_Y), \
2155 arm_2dp_tile_transform_xy((arm_2d_op_trans_t *)(__CB_ADDR), \
2156 (__DES_TILE_ADDR), \
2157 (__DES_REGION_ADDR), \
2158 (NULL,##__VA_ARGS__)); \
2161#define arm_2dp_rgb565_tile_transform_xy_only_with_opacity( \
2165 __DES_REGION_ADDR, \
2171 ({ if (bIsNewFrame) { \
2172 arm_2dp_rgb565_tile_transform_xy_only_with_opacity_prepare( \
2174 (__SRC_TILE_ADDR), \
2177 (float)(__SCALE_X), \
2178 (float)(__SCALE_Y), \
2181 arm_2dp_tile_transform_xy((arm_2d_op_trans_t *)(__CB_ADDR), \
2182 (__DES_TILE_ADDR), \
2183 (__DES_REGION_ADDR), \
2184 (NULL,##__VA_ARGS__)); \
2187#define arm_2dp_cccn888_tile_transform_xy_only_with_opacity( \
2191 __DES_REGION_ADDR, \
2197 ({ if (bIsNewFrame) { \
2198 arm_2dp_cccn888_tile_transform_xy_only_with_opacity_prepare( \
2200 (__SRC_TILE_ADDR), \
2203 (float)(__SCALE_X), \
2204 (float)(__SCALE_Y), \
2207 arm_2dp_tile_transform_xy((arm_2d_op_trans_t *)(__CB_ADDR), \
2208 (__DES_TILE_ADDR), \
2209 (__DES_REGION_ADDR), \
2210 (NULL,##__VA_ARGS__)); \
2213#define arm_2dp_gray8_fill_colour_with_mask_opacity_and_transform( \
2217 __DES_REGION_ADDR, \
2223 ({ if (bIsNewFrame) { \
2224 arm_2dp_gray8_fill_colour_with_mask_opacity_and_transform_prepare( \
2233 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
2234 (__DES_TILE_ADDR), \
2235 (__DES_REGION_ADDR), \
2236 (NULL,##__VA_ARGS__)); \
2239#define arm_2dp_rgb565_fill_colour_with_mask_opacity_and_transform( \
2243 __DES_REGION_ADDR, \
2249 ({ if (bIsNewFrame) { \
2250 arm_2dp_rgb565_fill_colour_with_mask_opacity_and_transform_prepare( \
2259 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
2260 (__DES_TILE_ADDR), \
2261 (__DES_REGION_ADDR), \
2262 (NULL,##__VA_ARGS__)); \
2265#define arm_2dp_rgb888_fill_colour_with_mask_opacity_and_transform( \
2269 __DES_REGION_ADDR, \
2275 ({ if (bIsNewFrame) { \
2276 arm_2dp_cccn888_fill_colour_with_mask_opacity_and_transform_prepare(\
2285 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
2286 (__DES_TILE_ADDR), \
2287 (__DES_REGION_ADDR), \
2288 (NULL,##__VA_ARGS__)); \
2291#define arm_2dp_cccn888_fill_colour_with_mask_opacity_and_transform( \
2295 __DES_REGION_ADDR, \
2301 ({ if (bIsNewFrame) { \
2302 arm_2dp_cccn888_fill_colour_with_mask_opacity_and_transform_prepare(\
2311 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
2312 (__DES_TILE_ADDR), \
2313 (__DES_REGION_ADDR), \
2314 (NULL,##__VA_ARGS__)); \
2317#define arm_2dp_gray8_fill_colour_with_mask_opacity_and_transform_xy( \
2321 __DES_REGION_ADDR, \
2328 ({ if (bIsNewFrame) { \
2329 arm_2dp_gray8_fill_colour_with_mask_opacity_and_transform_xy_prepare( \
2334 (float)(__SCALE_X), \
2335 (float)(__SCALE_Y), \
2339 arm_2dp_tile_transform_xy((arm_2d_op_trans_t *)(__CB_ADDR), \
2340 (__DES_TILE_ADDR), \
2341 (__DES_REGION_ADDR), \
2342 (NULL,##__VA_ARGS__)); \
2345#define arm_2dp_rgb565_fill_colour_with_mask_opacity_and_transform_xy( \
2349 __DES_REGION_ADDR, \
2356 ({ if (bIsNewFrame) { \
2357 arm_2dp_rgb565_fill_colour_with_mask_opacity_and_transform_xy_prepare( \
2362 (float)(__SCALE_X), \
2363 (float)(__SCALE_Y), \
2367 arm_2dp_tile_transform_xy((arm_2d_op_trans_t *)(__CB_ADDR), \
2368 (__DES_TILE_ADDR), \
2369 (__DES_REGION_ADDR), \
2370 (NULL,##__VA_ARGS__)); \
2373#define arm_2dp_cccn888_fill_colour_with_mask_opacity_and_transform_xy( \
2377 __DES_REGION_ADDR, \
2384 ({ if (bIsNewFrame) { \
2385 arm_2dp_cccn888_fill_colour_with_mask_opacity_and_transform_xy_prepare( \
2390 (float)(__SCALE_X), \
2391 (float)(__SCALE_Y), \
2395 arm_2dp_tile_transform_xy((arm_2d_op_trans_t *)(__CB_ADDR), \
2396 (__DES_TILE_ADDR), \
2397 (__DES_REGION_ADDR), \
2398 (NULL,##__VA_ARGS__)); \
2402#define arm_2d_gray8_fill_colour_with_mask_opacity_and_transform( \
2405 __DES_REGION_ADDR, \
2411 ({arm_2dp_gray8_fill_colour_with_mask_opacity_and_transform_prepare(\
2419 arm_2dp_tile_transform(NULL, \
2420 (__DES_TILE_ADDR), \
2421 (__DES_REGION_ADDR), \
2422 (NULL,##__VA_ARGS__));})
2424#define arm_2d_rgb565_fill_colour_with_mask_opacity_and_transform( \
2427 __DES_REGION_ADDR, \
2433 ({arm_2dp_rgb565_fill_colour_with_mask_opacity_and_transform_prepare(\
2441 arm_2dp_tile_transform(NULL, \
2442 (__DES_TILE_ADDR), \
2443 (__DES_REGION_ADDR), \
2444 (NULL,##__VA_ARGS__));})
2446#define arm_2d_rgb888_fill_colour_with_mask_opacity_and_transform( \
2449 __DES_REGION_ADDR, \
2455 ({arm_2dp_cccn888_fill_colour_with_mask_opacity_and_transform_prepare(\
2463 arm_2dp_tile_transform(NULL, \
2464 (__DES_TILE_ADDR), \
2465 (__DES_REGION_ADDR), \
2466 (NULL,##__VA_ARGS__));})
2468#define arm_2d_cccn888_fill_colour_with_mask_opacity_and_transform( \
2471 __DES_REGION_ADDR, \
2477 ({arm_2dp_cccn888_fill_colour_with_mask_opacity_and_transform_prepare(\
2485 arm_2dp_tile_transform(NULL, \
2486 (__DES_TILE_ADDR), \
2487 (__DES_REGION_ADDR), \
2488 (NULL,##__VA_ARGS__));})
2491#define arm_2dp_gray8_tile_transform_with_src_mask( \
2496 __DES_REGION_ADDR, \
2501 ({ if (bIsNewFrame) { \
2502 arm_2dp_gray8_tile_transform_with_src_mask_prepare( \
2504 (__SRC_TILE_ADDR), \
2505 (__SRC_MASK_ADDR), \
2508 (float)(__SCALE)); \
2510 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
2511 (__DES_TILE_ADDR), \
2512 (__DES_REGION_ADDR), \
2513 (NULL,##__VA_ARGS__)); \
2516#define arm_2dp_rgb565_tile_transform_with_src_mask( \
2521 __DES_REGION_ADDR, \
2526 ({ if (bIsNewFrame) { \
2527 arm_2dp_rgb565_tile_transform_with_src_mask_prepare( \
2529 (__SRC_TILE_ADDR), \
2530 (__SRC_MASK_ADDR), \
2533 (float)(__SCALE)); \
2535 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
2536 (__DES_TILE_ADDR), \
2537 (__DES_REGION_ADDR), \
2538 (NULL,##__VA_ARGS__)); \
2542#define arm_2dp_cccn888_tile_transform_with_src_mask( \
2547 __DES_REGION_ADDR, \
2552 ({ if (bIsNewFrame) { \
2553 arm_2dp_cccn888_tile_transform_with_src_mask_prepare( \
2555 (__SRC_TILE_ADDR), \
2556 (__SRC_MASK_ADDR), \
2559 (float)(__SCALE)); \
2561 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
2562 (__DES_TILE_ADDR), \
2563 (__DES_REGION_ADDR), \
2564 (NULL,##__VA_ARGS__)); \
2567#define arm_2dp_gray8_tile_transform_with_src_mask_and_opacity( \
2572 __DES_REGION_ADDR, \
2578 ({ if (bIsNewFrame) { \
2579 arm_2dp_gray8_tile_transform_with_src_mask_and_opacity_prepare( \
2581 (__SRC_TILE_ADDR), \
2582 (__SRC_MASK_ADDR), \
2588 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
2589 (__DES_TILE_ADDR), \
2590 (__DES_REGION_ADDR), \
2591 (NULL,##__VA_ARGS__)); \
2594#define arm_2dp_rgb565_tile_transform_with_src_mask_and_opacity( \
2599 __DES_REGION_ADDR, \
2605 ({ if (bIsNewFrame) { \
2606 arm_2dp_rgb565_tile_transform_with_src_mask_and_opacity_prepare( \
2608 (__SRC_TILE_ADDR), \
2609 (__SRC_MASK_ADDR), \
2615 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
2616 (__DES_TILE_ADDR), \
2617 (__DES_REGION_ADDR), \
2618 (NULL,##__VA_ARGS__)); \
2622#define arm_2dp_cccn888_tile_transform_with_src_mask_and_opacity( \
2627 __DES_REGION_ADDR, \
2633 ({ if (bIsNewFrame) { \
2634 arm_2dp_cccn888_tile_transform_with_src_mask_and_opacity_prepare( \
2636 (__SRC_TILE_ADDR), \
2637 (__SRC_MASK_ADDR), \
2643 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
2644 (__DES_TILE_ADDR), \
2645 (__DES_REGION_ADDR), \
2646 (NULL,##__VA_ARGS__)); \
2649#define arm_2dp_gray8_tile_transform_xy_with_src_mask_and_opacity( \
2654 __DES_REGION_ADDR, \
2661 ({ if (bIsNewFrame) { \
2662 arm_2dp_gray8_tile_transform_xy_with_src_mask_and_opacity_prepare( \
2664 (__SRC_TILE_ADDR), \
2665 (__SRC_MASK_ADDR), \
2668 (float)(__SCALE_X), \
2669 (float)(__SCALE_Y), \
2672 arm_2dp_tile_transform_xy((arm_2d_op_trans_t *)(__CB_ADDR), \
2673 (__DES_TILE_ADDR), \
2674 (__DES_REGION_ADDR), \
2675 (NULL,##__VA_ARGS__)); \
2678#define arm_2dp_rgb565_tile_transform_xy_with_src_mask_and_opacity( \
2683 __DES_REGION_ADDR, \
2690 ({ if (bIsNewFrame) { \
2691 arm_2dp_rgb565_tile_transform_xy_with_src_mask_and_opacity_prepare( \
2693 (__SRC_TILE_ADDR), \
2694 (__SRC_MASK_ADDR), \
2697 (float)(__SCALE_X), \
2698 (float)(__SCALE_Y), \
2701 arm_2dp_tile_transform_xy((arm_2d_op_trans_t *)(__CB_ADDR), \
2702 (__DES_TILE_ADDR), \
2703 (__DES_REGION_ADDR), \
2704 (NULL,##__VA_ARGS__)); \
2707#define arm_2dp_cccn888_tile_transform_xy_with_src_mask_and_opacity( \
2712 __DES_REGION_ADDR, \
2719 ({ if (bIsNewFrame) { \
2720 arm_2dp_cccn888_tile_transform_xy_with_src_mask_and_opacity_prepare(\
2722 (__SRC_TILE_ADDR), \
2723 (__SRC_MASK_ADDR), \
2726 (float)(__SCALE_X), \
2727 (float)(__SCALE_Y), \
2730 arm_2dp_tile_transform_xy((arm_2d_op_trans_t *)(__CB_ADDR), \
2731 (__DES_TILE_ADDR), \
2732 (__DES_REGION_ADDR), \
2733 (NULL,##__VA_ARGS__)); \
2736#define arm_2d_gray8_tile_transform_with_colour_keying( \
2739 __DES_REGION_ADDR, \
2743 __MSK_COLOUR, ...) \
2745 arm_2dp_gray8_tile_transform_with_colour_keying_prepare( \
2747 (__SRC_TILE_ADDR), \
2753 arm_2dp_tile_transform(NULL, \
2754 (__DES_TILE_ADDR), \
2755 (__DES_REGION_ADDR), \
2756 (NULL,##__VA_ARGS__)); \
2759#define arm_2d_rgb565_tile_transform_with_colour_keying( \
2762 __DES_REGION_ADDR, \
2766 __MSK_COLOUR, ...) \
2768 arm_2dp_rgb565_tile_transform_with_colour_keying_prepare( \
2770 (__SRC_TILE_ADDR), \
2776 arm_2dp_tile_transform(NULL, \
2777 (__DES_TILE_ADDR), \
2778 (__DES_REGION_ADDR), \
2779 (NULL,##__VA_ARGS__)); \
2782#define arm_2d_cccn888_tile_transform_with_colour_keying( \
2785 __DES_REGION_ADDR, \
2789 __MSK_COLOUR, ...) \
2791 arm_2dp_cccn888_tile_transform_with_colour_keying_prepare( \
2793 (__SRC_TILE_ADDR), \
2799 arm_2dp_tile_transform(NULL, \
2800 (__DES_TILE_ADDR), \
2801 (__DES_REGION_ADDR), \
2802 (NULL,##__VA_ARGS__)); \
2805#define arm_2d_gray8_tile_transform_with_opacity( \
2808 __DES_REGION_ADDR, \
2815 arm_2dp_gray8_tile_transform_with_colour_keying_and_opacity_prepare(\
2817 (__SRC_TILE_ADDR), \
2824 arm_2dp_tile_transform(NULL, \
2825 (__DES_TILE_ADDR), \
2826 (__DES_REGION_ADDR), \
2827 (NULL,##__VA_ARGS__)); \
2830#define arm_2d_rgb565_tile_transform_with_opacity( \
2833 __DES_REGION_ADDR, \
2840 arm_2dp_rgb565_tile_transform_with_colour_keying_and_opacity_prepare(\
2842 (__SRC_TILE_ADDR), \
2849 arm_2dp_tile_transform(NULL, \
2850 (__DES_TILE_ADDR), \
2851 (__DES_REGION_ADDR), \
2852 (NULL,##__VA_ARGS__)); \
2855#define arm_2d_cccn888_tile_transform_with_opacity( \
2858 __DES_REGION_ADDR, \
2865 arm_2dp_cccn888_tile_transform_with_colour_keying_and_opacity_prepare(\
2867 (__SRC_TILE_ADDR), \
2874 arm_2dp_tile_transform(NULL, \
2875 (__DES_TILE_ADDR), \
2876 (__DES_REGION_ADDR), \
2877 (NULL,##__VA_ARGS__)); \
2880#define arm_2d_gray8_tile_transform_only_with_opacity( \
2883 __DES_REGION_ADDR, \
2889 arm_2dp_gray8_tile_transform_only_with_opacity_prepare( \
2891 (__SRC_TILE_ADDR), \
2897 arm_2dp_tile_transform(NULL, \
2898 (__DES_TILE_ADDR), \
2899 (__DES_REGION_ADDR), \
2900 (NULL,##__VA_ARGS__)); \
2903#define arm_2d_rgb565_tile_transform_only_with_opacity( \
2906 __DES_REGION_ADDR, \
2912 arm_2dp_rgb565_tile_transform_only_with_opacity_prepare( \
2914 (__SRC_TILE_ADDR), \
2920 arm_2dp_tile_transform(NULL, \
2921 (__DES_TILE_ADDR), \
2922 (__DES_REGION_ADDR), \
2923 (NULL,##__VA_ARGS__)); \
2926#define arm_2d_cccn888_tile_transform_only_with_opacity( \
2929 __DES_REGION_ADDR, \
2935 arm_2dp_cccn888_tile_transform_only_with_opacity_prepare( \
2937 (__SRC_TILE_ADDR), \
2943 arm_2dp_tile_transform(NULL, \
2944 (__DES_TILE_ADDR), \
2945 (__DES_REGION_ADDR), \
2946 (NULL,##__VA_ARGS__)); \
2949#define arm_2d_gray8_tile_transform_with_src_mask( \
2953 __DES_REGION_ADDR, \
2959 arm_2dp_gray8_tile_transform_with_src_mask_prepare( \
2961 (__SRC_TILE_ADDR), \
2962 (__SRC_MASK_ADDR), \
2965 (float)(__SCALE)); \
2967 arm_2dp_tile_transform(NULL, \
2968 (__DES_TILE_ADDR), \
2969 (__DES_REGION_ADDR), \
2970 (NULL,##__VA_ARGS__)); \
2973#define arm_2d_rgb565_tile_transform_with_src_mask( \
2977 __DES_REGION_ADDR, \
2983 arm_2dp_rgb565_tile_transform_with_src_mask_prepare( \
2985 (__SRC_TILE_ADDR), \
2986 (__SRC_MASK_ADDR), \
2989 (float)(__SCALE)); \
2991 arm_2dp_tile_transform(NULL, \
2992 (__DES_TILE_ADDR), \
2993 (__DES_REGION_ADDR), \
2994 (NULL,##__VA_ARGS__)); \
2997#define arm_2d_cccn888_tile_transform_with_src_mask( \
3001 __DES_REGION_ADDR, \
3007 arm_2dp_cccn888_tile_transform_with_src_mask_prepare( \
3009 (__SRC_TILE_ADDR), \
3010 (__SRC_MASK_ADDR), \
3013 (float)(__SCALE)); \
3015 arm_2dp_tile_transform(NULL, \
3016 (__DES_TILE_ADDR), \
3017 (__DES_REGION_ADDR), \
3018 (NULL,##__VA_ARGS__)); \
3021#define arm_2d_gray8_tile_transform_with_src_mask_and_opacity( \
3025 __DES_REGION_ADDR, \
3032 arm_2dp_gray8_tile_transform_with_src_mask_and_opacity_prepare( \
3034 (__SRC_TILE_ADDR), \
3035 (__SRC_MASK_ADDR), \
3041 arm_2dp_tile_transform(NULL, \
3042 (__DES_TILE_ADDR), \
3043 (__DES_REGION_ADDR), \
3044 (NULL,##__VA_ARGS__)); \
3047#define arm_2d_rgb565_tile_transform_with_src_mask_and_opacity( \
3051 __DES_REGION_ADDR, \
3058 arm_2dp_rgb565_tile_transform_with_src_mask_and_opacity_prepare( \
3060 (__SRC_TILE_ADDR), \
3061 (__SRC_MASK_ADDR), \
3067 arm_2dp_tile_transform(NULL, \
3068 (__DES_TILE_ADDR), \
3069 (__DES_REGION_ADDR), \
3070 (NULL,##__VA_ARGS__)); \
3073#define arm_2d_cccn888_tile_transform_with_src_mask_and_opacity( \
3077 __DES_REGION_ADDR, \
3084 arm_2dp_cccn888_tile_transform_with_src_mask_and_opacity_prepare( \
3086 (__SRC_TILE_ADDR), \
3087 (__SRC_MASK_ADDR), \
3093 arm_2dp_tile_transform(NULL, \
3094 (__DES_TILE_ADDR), \
3095 (__DES_REGION_ADDR), \
3096 (NULL,##__VA_ARGS__)); \
3103#define arm_2d_gray8_tile_scaling_with_colour_keying_prepare( __SRC_TILE_ADDR,\
3107 arm_2dp_gray8_tile_transform_with_colour_keying_prepare( NULL, \
3108 (__SRC_TILE_ADDR), \
3114#define arm_2d_rgb565_tile_scaling_with_colour_keying_prepare( __SRC_TILE_ADDR,\
3118 arm_2dp_rgb565_tile_transform_with_colour_keying_prepare( NULL, \
3119 (__SRC_TILE_ADDR), \
3125#define arm_2d_cccn888_tile_scaling_with_colour_keying_prepare( __SRC_TILE_ADDR,\
3129 arm_2dp_cccn888_tile_transform_with_colour_keying_prepare( NULL, \
3130 (__SRC_TILE_ADDR), \
3136#define arm_2d_gray8_tile_scaling_only_prepare( __SRC_TILE_ADDR, \
3139 arm_2dp_gray8_tile_transform_only_prepare( NULL, \
3140 (__SRC_TILE_ADDR), \
3145#define arm_2d_rgb565_tile_scaling_only_prepare( __SRC_TILE_ADDR, \
3148 arm_2dp_rgb565_tile_transform_only_prepare( NULL, \
3149 (__SRC_TILE_ADDR), \
3154#define arm_2d_cccn888_tile_scaling_only_prepare( __SRC_TILE_ADDR, \
3157 arm_2dp_cccn888_tile_transform_only_prepare( NULL, \
3158 (__SRC_TILE_ADDR), \
3163#define arm_2d_gray8_tile_scaling_with_opacity_prepare( \
3169 arm_2dp_gray8_tile_transform_with_colour_keying_and_opacity_prepare(\
3171 (__SRC_TILE_ADDR), \
3178#define arm_2d_rgb565_tile_scaling_with_opacity_prepare( \
3184 arm_2dp_rgb565_tile_transform_with_colour_keying_and_opacity_prepare(\
3186 (__SRC_TILE_ADDR), \
3193#define arm_2d_cccn888_tile_scaling_with_opacity_prepare( \
3199 arm_2dp_cccn888_tile_transform_with_colour_keying_and_opacity_prepare(\
3201 (__SRC_TILE_ADDR), \
3208#define arm_2d_gray8_tile_scaling_only_with_opacity_prepare( \
3213 arm_2dp_gray8_tile_transform_only_with_opacity_prepare( \
3215 (__SRC_TILE_ADDR), \
3221#define arm_2d_rgb565_tile_scaling_only_with_opacity_prepare( \
3226 arm_2dp_rgb565_tile_transform_only_with_opacity_prepare( \
3228 (__SRC_TILE_ADDR), \
3234#define arm_2d_cccn888_tile_scaling_only_with_opacity_prepare( \
3239 arm_2dp_cccn888_tile_transform_only_with_opacity_prepare( \
3241 (__SRC_TILE_ADDR), \
3247#define arm_2d_gray8_tile_scaling_with_src_mask_prepare( \
3252 arm_2dp_gray8_tile_transform_with_src_mask_prepare( NULL, \
3253 (__SRC_TILE_ADDR), \
3254 (__SRC_MASK_ADDR), \
3259#define arm_2d_rgb565_tile_scaling_with_src_mask_prepare( \
3264 arm_2dp_rgb565_tile_transform_with_src_mask_prepare( NULL, \
3265 (__SRC_TILE_ADDR), \
3266 (__SRC_MASK_ADDR), \
3271#define arm_2d_cccn888_tile_scaling_with_src_mask_prepare( \
3276 arm_2dp_cccn888_tile_transform_with_src_mask_prepare( NULL, \
3277 (__SRC_TILE_ADDR), \
3278 (__SRC_MASK_ADDR), \
3283#define arm_2d_gray8_tile_scaling_with_src_mask_and_opacity_prepare( \
3289 arm_2dp_gray8_tile_transform_with_src_mask_and_opacity_prepare( \
3291 (__SRC_TILE_ADDR), \
3292 (__SRC_MASK_ADDR), \
3298#define arm_2d_rgb565_tile_scaling_with_src_mask_and_opacity_prepare( \
3304 arm_2dp_rgb565_tile_transform_with_src_mask_and_opacity_prepare( \
3306 (__SRC_TILE_ADDR), \
3307 (__SRC_MASK_ADDR), \
3313#define arm_2d_cccn888_tile_scaling_with_src_mask_and_opacity_prepare( \
3319 arm_2dp_cccn888_tile_transform_with_src_mask_and_opacity_prepare( \
3321 (__SRC_TILE_ADDR), \
3322 (__SRC_MASK_ADDR), \
3328#define arm_2d_tile_scale( __DES_TILE_ADDR, \
3329 __DES_REGION_ADDR, \
3330 __DES_CENTRE_ADDR) \
3331 arm_2dp_tile_transform(NULL, \
3332 (__DES_TILE_ADDR), \
3333 (__DES_REGION_ADDR), \
3334 (__DES_CENTRE_ADDR))
3344#define arm_2dp_gray8_tile_scaling_with_colour_keying( __CB_ADDR, \
3347 __DES_REGION_ADDR, \
3352 ({ if (bIsNewFrame) { \
3353 arm_2dp_gray8_tile_transform_with_colour_keying_prepare( \
3355 (__SRC_TILE_ADDR), \
3361 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
3362 (__DES_TILE_ADDR), \
3363 (__DES_REGION_ADDR), \
3364 (NULL,##__VA_ARGS__)); \
3367#define arm_2dp_rgb565_tile_scaling_with_colour_keying( __CB_ADDR, \
3370 __DES_REGION_ADDR, \
3375 ({ if (bIsNewFrame) { \
3376 arm_2dp_rgb565_tile_transform_with_colour_keying_prepare( \
3378 (__SRC_TILE_ADDR), \
3384 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
3385 (__DES_TILE_ADDR), \
3386 (__DES_REGION_ADDR), \
3387 (NULL,##__VA_ARGS__)); \
3390#define arm_2dp_cccn888_tile_scaling_with_colour_keying( __CB_ADDR, \
3393 __DES_REGION_ADDR, \
3398 ({ if (bIsNewFrame) { \
3399 arm_2dp_cccn888_tile_transform_with_colour_keying_prepare( \
3401 (__SRC_TILE_ADDR), \
3407 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
3408 (__DES_TILE_ADDR), \
3409 (__DES_REGION_ADDR), \
3410 (NULL,##__VA_ARGS__)); \
3413#define arm_2dp_gray8_tile_scaling_only( __CB_ADDR, \
3416 __DES_REGION_ADDR, \
3420 ({ if (bIsNewFrame) { \
3421 arm_2dp_gray8_tile_transform_only_prepare( \
3423 (__SRC_TILE_ADDR), \
3428 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
3429 (__DES_TILE_ADDR), \
3430 (__DES_REGION_ADDR), \
3431 (NULL,##__VA_ARGS__)); \
3434#define arm_2dp_rgb565_tile_scaling_only( __CB_ADDR, \
3437 __DES_REGION_ADDR, \
3441 ({ if (bIsNewFrame) { \
3442 arm_2dp_rgb565_tile_transform_only_prepare( \
3444 (__SRC_TILE_ADDR), \
3449 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
3450 (__DES_TILE_ADDR), \
3451 (__DES_REGION_ADDR), \
3452 (NULL,##__VA_ARGS__)); \
3455#define arm_2dp_cccn888_tile_scaling_only( __CB_ADDR, \
3458 __DES_REGION_ADDR, \
3462 ({ if (bIsNewFrame) { \
3463 arm_2dp_cccn888_tile_transform_only_prepare( \
3465 (__SRC_TILE_ADDR), \
3470 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
3471 (__DES_TILE_ADDR), \
3472 (__DES_REGION_ADDR), \
3473 (NULL,##__VA_ARGS__)); \
3476#define arm_2dp_gray8_tile_scaling_with_opacity( \
3480 __DES_REGION_ADDR, \
3485 ({ if (bIsNewFrame) { \
3486 arm_2dp_gray8_tile_transform_with_colour_keying_and_opacity_prepare(\
3488 (__SRC_TILE_ADDR), \
3495 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
3496 (__DES_TILE_ADDR), \
3497 (__DES_REGION_ADDR), \
3498 (NULL,##__VA_ARGS__)); \
3501#define arm_2dp_rgb565_tile_scaling_with_opacity( \
3505 __DES_REGION_ADDR, \
3510 ({ if (bIsNewFrame) { \
3511 arm_2dp_rgb565_tile_transform_with_colour_keying_and_opacity_prepare(\
3513 (__SRC_TILE_ADDR), \
3520 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
3521 (__DES_TILE_ADDR), \
3522 (__DES_REGION_ADDR), \
3523 (NULL,##__VA_ARGS__)); \
3526#define arm_2dp_cccn888_tile_scaling_with_opacity( \
3530 __DES_REGION_ADDR, \
3535 ({ if (bIsNewFrame) { \
3536 arm_2dp_cccn888_tile_transform_with_colour_keying_and_opacity_prepare(\
3538 (__SRC_TILE_ADDR), \
3545 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
3546 (__DES_TILE_ADDR), \
3547 (__DES_REGION_ADDR), \
3548 (NULL,##__VA_ARGS__)); \
3551#define arm_2dp_gray8_tile_scaling_only_with_opacity( \
3555 __DES_REGION_ADDR, \
3559 ({ if (bIsNewFrame) { \
3560 arm_2dp_gray8_tile_transform_only_with_opacity_prepare( \
3562 (__SRC_TILE_ADDR), \
3568 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
3569 (__DES_TILE_ADDR), \
3570 (__DES_REGION_ADDR), \
3571 (NULL,##__VA_ARGS__)); \
3574#define arm_2dp_rgb565_tile_scaling_only_with_opacity( \
3578 __DES_REGION_ADDR, \
3582 ({ if (bIsNewFrame) { \
3583 arm_2dp_rgb565_tile_transform_only_with_opacity_prepare( \
3585 (__SRC_TILE_ADDR), \
3591 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
3592 (__DES_TILE_ADDR), \
3593 (__DES_REGION_ADDR), \
3594 (NULL,##__VA_ARGS__)); \
3597#define arm_2dp_cccn888_tile_scaling_only_with_opacity( \
3601 __DES_REGION_ADDR, \
3605 ({ if (bIsNewFrame) { \
3606 arm_2dp_cccn888_tile_transform_only_with_opacity_prepare( \
3608 (__SRC_TILE_ADDR), \
3614 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
3615 (__DES_TILE_ADDR), \
3616 (__DES_REGION_ADDR), \
3617 (NULL,##__VA_ARGS__)); \
3620#define arm_2dp_gray8_tile_scaling_with_src_mask( \
3625 __DES_REGION_ADDR, \
3629 ({ if (bIsNewFrame) { \
3630 arm_2dp_gray8_tile_transform_with_src_mask_prepare( \
3632 (__SRC_TILE_ADDR), \
3633 (__SRC_MASK_ADDR), \
3638 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
3639 (__DES_TILE_ADDR), \
3640 (__DES_REGION_ADDR), \
3641 (NULL,##__VA_ARGS__)); \
3644#define arm_2dp_rgb565_tile_scaling_with_src_mask( \
3649 __DES_REGION_ADDR, \
3653 ({ if (bIsNewFrame) { \
3654 arm_2dp_rgb565_tile_transform_with_src_mask_prepare( \
3656 (__SRC_TILE_ADDR), \
3657 (__SRC_MASK_ADDR), \
3662 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
3663 (__DES_TILE_ADDR), \
3664 (__DES_REGION_ADDR), \
3665 (NULL,##__VA_ARGS__)); \
3668#define arm_2dp_cccn888_tile_scaling_with_src_mask( \
3673 __DES_REGION_ADDR, \
3677 ({ if (bIsNewFrame) { \
3678 arm_2dp_cccn888_tile_transform_with_src_mask_prepare( \
3680 (__SRC_TILE_ADDR), \
3681 (__SRC_MASK_ADDR), \
3686 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
3687 (__DES_TILE_ADDR), \
3688 (__DES_REGION_ADDR), \
3689 (NULL,##__VA_ARGS__)); \
3692#define arm_2dp_gray8_tile_scaling_with_src_mask_and_opacity( \
3697 __DES_REGION_ADDR, \
3702 ({ if (bIsNewFrame) { \
3703 arm_2dp_gray8_tile_transform_with_src_mask_and_opacity_prepare( \
3705 (__SRC_TILE_ADDR), \
3706 (__SRC_MASK_ADDR), \
3712 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
3713 (__DES_TILE_ADDR), \
3714 (__DES_REGION_ADDR), \
3715 (NULL,##__VA_ARGS__)); \
3718#define arm_2dp_rgb565_tile_scaling_with_src_mask_and_opacity( \
3723 __DES_REGION_ADDR, \
3728 ({ if (bIsNewFrame) { \
3729 arm_2dp_rgb565_tile_transform_with_src_mask_and_opacity_prepare( \
3731 (__SRC_TILE_ADDR), \
3732 (__SRC_MASK_ADDR), \
3738 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
3739 (__DES_TILE_ADDR), \
3740 (__DES_REGION_ADDR), \
3741 (NULL,##__VA_ARGS__)); \
3744#define arm_2dp_cccn888_tile_scaling_with_src_mask_and_opacity( \
3749 __DES_REGION_ADDR, \
3754 ({ if (bIsNewFrame) { \
3755 arm_2dp_cccn888_tile_transform_with_src_mask_and_opacity_prepare( \
3757 (__SRC_TILE_ADDR), \
3758 (__SRC_MASK_ADDR), \
3764 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
3765 (__DES_TILE_ADDR), \
3766 (__DES_REGION_ADDR), \
3767 (NULL,##__VA_ARGS__)); \
3770#define arm_2d_gray8_tile_scaling_with_colour_keying( \
3773 __DES_REGION_ADDR, \
3776 __MSK_COLOUR, ...) \
3778 arm_2dp_gray8_tile_transform_with_colour_keying_prepare( \
3780 (__SRC_TILE_ADDR), \
3786 arm_2dp_tile_transform(NULL, \
3787 (__DES_TILE_ADDR), \
3788 (__DES_REGION_ADDR), \
3789 (NULL,##__VA_ARGS__)); \
3792#define arm_2d_rgb565_tile_scaling_with_colour_keying( \
3795 __DES_REGION_ADDR, \
3798 __MSK_COLOUR, ...) \
3800 arm_2dp_rgb565_tile_transform_with_colour_keying_prepare( \
3802 (__SRC_TILE_ADDR), \
3808 arm_2dp_tile_transform(NULL, \
3809 (__DES_TILE_ADDR), \
3810 (__DES_REGION_ADDR), \
3811 (NULL,##__VA_ARGS__)); \
3814#define arm_2d_cccn888_tile_scaling_with_colour_keying( \
3817 __DES_REGION_ADDR, \
3820 __MSK_COLOUR, ...) \
3822 arm_2dp_cccn888_tile_transform_with_colour_keying_prepare( \
3824 (__SRC_TILE_ADDR), \
3830 arm_2dp_tile_transform(NULL, \
3831 (__DES_TILE_ADDR), \
3832 (__DES_REGION_ADDR), \
3833 (NULL,##__VA_ARGS__)); \
3836#define arm_2d_gray8_tile_scaling_only( \
3839 __DES_REGION_ADDR, \
3844 arm_2dp_gray8_tile_transform_only_prepare( \
3846 (__SRC_TILE_ADDR), \
3851 arm_2dp_tile_transform(NULL, \
3852 (__DES_TILE_ADDR), \
3853 (__DES_REGION_ADDR), \
3854 (NULL,##__VA_ARGS__)); \
3857#define arm_2d_rgb565_tile_scaling_only( \
3860 __DES_REGION_ADDR, \
3865 arm_2dp_rgb565_tile_transform_only_prepare( \
3867 (__SRC_TILE_ADDR), \
3872 arm_2dp_tile_transform(NULL, \
3873 (__DES_TILE_ADDR), \
3874 (__DES_REGION_ADDR), \
3875 (NULL,##__VA_ARGS__)); \
3878#define arm_2d_cccn888_tile_scaling_only( \
3881 __DES_REGION_ADDR, \
3886 arm_2dp_cccn888_tile_transform_only_prepare( \
3888 (__SRC_TILE_ADDR), \
3893 arm_2dp_tile_transform(NULL, \
3894 (__DES_TILE_ADDR), \
3895 (__DES_REGION_ADDR), \
3896 (NULL,##__VA_ARGS__)); \
3899#define arm_2d_gray8_tile_scaling_with_opacity( \
3902 __DES_REGION_ADDR, \
3908 arm_2dp_gray8_tile_transform_with_colour_keying_and_opacity_prepare(\
3910 (__SRC_TILE_ADDR), \
3917 arm_2dp_tile_transform(NULL, \
3918 (__DES_TILE_ADDR), \
3919 (__DES_REGION_ADDR), \
3920 (NULL,##__VA_ARGS__)); \
3924#define arm_2d_rgb565_tile_scaling_with_opacity( \
3927 __DES_REGION_ADDR, \
3933 arm_2dp_rgb565_tile_transform_with_colour_keying_and_opacity_prepare(\
3935 (__SRC_TILE_ADDR), \
3942 arm_2dp_tile_transform(NULL, \
3943 (__DES_TILE_ADDR), \
3944 (__DES_REGION_ADDR), \
3945 (NULL,##__VA_ARGS__)); \
3948#define arm_2d_cccn888_tile_scaling_with_opacity( \
3951 __DES_REGION_ADDR, \
3957 arm_2dp_cccn888_tile_transform_with_colour_keying_and_opacity_prepare(\
3959 (__SRC_TILE_ADDR), \
3966 arm_2dp_tile_transform(NULL, \
3967 (__DES_TILE_ADDR), \
3968 (__DES_REGION_ADDR), \
3969 (NULL,##__VA_ARGS__)); \
3972#define arm_2d_gray8_tile_scaling_only_with_opacity( \
3975 __DES_REGION_ADDR, \
3980 arm_2dp_gray8_tile_transform_only_with_opacity_prepare( \
3982 (__SRC_TILE_ADDR), \
3988 arm_2dp_tile_transform(NULL, \
3989 (__DES_TILE_ADDR), \
3990 (__DES_REGION_ADDR), \
3991 (NULL,##__VA_ARGS__)); \
3994#define arm_2d_rgb565_tile_scaling_only_with_opacity( \
3997 __DES_REGION_ADDR, \
4002 arm_2dp_rgb565_tile_transform_only_with_opacity_prepare( \
4004 (__SRC_TILE_ADDR), \
4010 arm_2dp_tile_transform(NULL, \
4011 (__DES_TILE_ADDR), \
4012 (__DES_REGION_ADDR), \
4013 (NULL,##__VA_ARGS__)); \
4016#define arm_2d_cccn888_tile_scaling_only_with_opacity( \
4019 __DES_REGION_ADDR, \
4024 arm_2dp_cccn888_tile_transform_only_with_opacity_prepare( \
4026 (__SRC_TILE_ADDR), \
4032 arm_2dp_tile_transform(NULL, \
4033 (__DES_TILE_ADDR), \
4034 (__DES_REGION_ADDR), \
4035 (NULL,##__VA_ARGS__)); \
4038#define arm_2d_gray8_tile_scaling_with_src_mask( \
4042 __DES_REGION_ADDR, \
4047 arm_2dp_gray8_tile_transform_with_src_mask_prepare( \
4049 (__SRC_TILE_ADDR), \
4050 (__SRC_MASK_ADDR), \
4055 arm_2dp_tile_transform(NULL, \
4056 (__DES_TILE_ADDR), \
4057 (__DES_REGION_ADDR), \
4058 (NULL,##__VA_ARGS__)); \
4061#define arm_2d_rgb565_tile_scaling_with_src_mask( \
4065 __DES_REGION_ADDR, \
4070 arm_2dp_rgb565_tile_transform_with_src_mask_prepare( \
4072 (__SRC_TILE_ADDR), \
4073 (__SRC_MASK_ADDR), \
4078 arm_2dp_tile_transform(NULL, \
4079 (__DES_TILE_ADDR), \
4080 (__DES_REGION_ADDR), \
4081 (NULL,##__VA_ARGS__)); \
4084#define arm_2d_cccn888_tile_scaling_with_src_mask( \
4088 __DES_REGION_ADDR, \
4093 arm_2dp_cccn888_tile_transform_with_src_mask_prepare( \
4095 (__SRC_TILE_ADDR), \
4096 (__SRC_MASK_ADDR), \
4101 arm_2dp_tile_transform(NULL, \
4102 (__DES_TILE_ADDR), \
4103 (__DES_REGION_ADDR), \
4104 (NULL,##__VA_ARGS__)); \
4107#define arm_2d_gray8_tile_scaling_with_src_mask_and_opacity( \
4111 __DES_REGION_ADDR, \
4117 arm_2dp_gray8_tile_transform_with_src_mask_and_opacity_prepare( \
4119 (__SRC_TILE_ADDR), \
4120 (__SRC_MASK_ADDR), \
4126 arm_2dp_tile_transform(NULL, \
4127 (__DES_TILE_ADDR), \
4128 (__DES_REGION_ADDR), \
4129 (NULL,##__VA_ARGS__)); \
4132#define arm_2d_rgb565_tile_scaling_with_src_mask_and_opacity( \
4136 __DES_REGION_ADDR, \
4142 arm_2dp_rgb565_tile_transform_with_src_mask_and_opacity_prepare( \
4144 (__SRC_TILE_ADDR), \
4145 (__SRC_MASK_ADDR), \
4151 arm_2dp_tile_transform(NULL, \
4152 (__DES_TILE_ADDR), \
4153 (__DES_REGION_ADDR), \
4154 (NULL,##__VA_ARGS__)); \
4157#define arm_2d_cccn888_tile_scaling_with_src_mask_and_opacity( \
4161 __DES_REGION_ADDR, \
4167 arm_2dp_cccn888_tile_transform_with_src_mask_and_opacity_prepare( \
4169 (__SRC_TILE_ADDR), \
4170 (__SRC_MASK_ADDR), \
4176 arm_2dp_tile_transform(NULL, \
4177 (__DES_TILE_ADDR), \
4178 (__DES_REGION_ADDR), \
4179 (NULL,##__VA_ARGS__)); \
4227 uint32_t bInvalid : 1;
4257 uint32_t bInvalid : 1;
4293 uint32_t bInvalid : 1;
4327 uint32_t bInvalid : 1;
4368 uint_fast8_t chFillColour);
4390 uint_fast8_t chFillColour);
4411 uint_fast16_t hwFillColour);
4433 uint_fast16_t hwFillColour);
4454 uint32_t wFillColour);
4476 uint32_t wFillColour);
4615 uint_fast8_t chFillColour,
4616 uint_fast8_t chRatio);
4639 uint_fast8_t chFillColour,
4640 uint_fast8_t chOpacity);
4662 uint_fast16_t hwFillColour,
4663 uint_fast8_t chRatio);
4686 uint_fast16_t hwFillColour,
4687 uint_fast8_t chOpacity);
4709 uint32_t wFillColour,
4710 uint_fast8_t chRatio);
4733 uint32_t wFillColour,
4734 uint_fast8_t chOpacity);
4755 uint_fast8_t chRatio);
4776 uint_fast8_t chOpacity);
4797 uint_fast8_t chRatio);
4818 uint_fast8_t chOpacity);
4839 uint_fast8_t chRatio);
4860 uint_fast8_t chOpacity);
5012 uint_fast8_t chOpacity);
5036 uint_fast8_t chOpacity);
5059 uint_fast8_t chOpacity);
5083 uint_fast8_t chOpacity);
5106 uint_fast8_t chOpacity);
5130 uint_fast8_t chOpacity);
5153 uint_fast8_t chFillColour,
5154 uint_fast8_t chOpacity);
5179 uint_fast8_t chFillColour,
5180 uint_fast8_t chOpacity);
5203 uint_fast16_t hwFillColour,
5204 uint_fast8_t chOpacity);
5228 uint_fast16_t hwFillColour,
5229 uint_fast8_t chOpacity);
5252 uint32_t wFillColour,
5253 uint_fast8_t chOpacity);
5277 uint32_t wFillColour,
5278 uint_fast8_t chOpacity);
5314#include "__arm_2d_tile_2xssaa_transform.h"
5316#if defined(__clang__)
5317# pragma clang diagnostic pop