30#ifndef __ARM_2D_ROTATION_H__
31#define __ARM_2D_ROTATION_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
63#define arm_2dp_tile_rotate arm_2dp_tile_transform
65#define arm_2dp_gray8_tile_rotate_prepare \
66 arm_2dp_gray8_tile_transform_prepare
68#define arm_2dp_rgb565_tile_rotate_prepare \
69 arm_2dp_rgb565_tile_transform_prepare
71#define arm_2dp_cccn888_tile_rotate_prepare \
72 arm_2dp_cccn888_tile_transform_prepare
74#define arm_2dp_gray8_tile_rotate_with_opacity_prepare \
75 arm_2dp_gray8_tile_transform_with_opacity_prepare
77#define arm_2dp_rgb565_tile_rotate_with_opacity_prepare \
78 arm_2dp_rgb565_tile_transform_with_opacity_prepare
80#define arm_2dp_cccn888_tile_rotate_with_opacity_prepare \
81 arm_2dp_cccn888_tile_transform_with_opacity_prepare
83#define arm_2d_gray8_tile_rotation_with_alpha_prepare \
84 arm_2d_gray8_tile_rotation_with_opacity_prepare
86#define arm_2d_rgb565_tile_rotation_with_alpha_prepare \
87 arm_2d_rgb565_tile_rotation_with_opacity_prepare
89#define arm_2d_rgb888_tile_rotation_with_alpha_prepare \
90 arm_2d_rgb888_tile_rotation_with_opacity_prepare
92#define arm_2d_cccn888_tile_rotation_with_alpha_prepare \
93 arm_2d_cccn888_tile_rotation_with_opacity_prepare
95#define arm_2dp_gray8_tile_rotation_with_alpha \
96 arm_2dp_gray8_tile_rotation_with_opacity
98#define arm_2dp_rgb565_tile_rotation_with_alpha \
99 arm_2dp_rgb565_tile_rotation_with_opacity
101#define arm_2dp_rgb888_tile_rotation_with_alpha \
102 arm_2dp_rgb888_tile_rotation_with_opacity
104#define arm_2dp_cccn888_tile_rotation_with_alpha \
105 arm_2dp_cccn888_tile_rotation_with_opacity
107#define arm_2d_gray8_tile_rotation_with_alpha \
108 arm_2d_gray8_tile_rotation_with_opacity
110#define arm_2d_rgb565_tile_rotation_with_alpha \
111 arm_2d_rgb565_tile_rotation_with_opacity
113#define arm_2d_rgb888_tile_rotation_with_alpha \
114 arm_2d_rgb888_tile_rotation_with_opacity
116#define arm_2d_cccn888_tile_rotation_with_alpha \
117 arm_2d_cccn888_tile_rotation_with_opacity
119#define arm_2d_gray8_tile_transform_with_alpha_prepare \
120 arm_2d_gray8_tile_transform_with_opacity_prepare
122#define arm_2d_rgb565_tile_transform_with_alpha_prepare \
123 arm_2d_rgb565_tile_transform_with_opacity_prepare
125#define arm_2d_rgb888_tile_transform_with_alpha_prepare \
126 arm_2d_rgb888_tile_transform_with_opacity_prepare
128#define arm_2d_cccn888_tile_transform_with_alpha_prepare \
129 arm_2d_cccn888_tile_transform_with_opacity_prepare
131#define arm_2d_gray8_tile_transform_with_alpha \
132 arm_2d_gray8_tile_transform_with_opacity
134#define arm_2d_rgb565_tile_transform_with_alpha \
135 arm_2d_rgb565_tile_transform_with_opacity
137#define arm_2d_rgb888_tile_transform_with_alpha \
138 arm_2d_rgb888_tile_transform_with_opacity
140#define arm_2d_cccn888_tile_transform_with_alpha \
141 arm_2d_cccn888_tile_transform_with_opacity
143#define arm_2dp_gray8_tile_transform_with_alpha \
144 arm_2dp_gray8_tile_transform_with_opacity
146#define arm_2dp_rgb565_tile_transform_with_alpha \
147 arm_2dp_rgb565_tile_transform_with_opacity
149#define arm_2dp_rgb888_tile_transform_with_alpha \
150 arm_2dp_rgb888_tile_transform_with_opacity
152#define arm_2dp_cccn888_tile_transform_with_alpha \
153 arm_2dp_cccn888_tile_transform_with_opacity
155#define arm_2d_gray8_tile_scaling_with_alpha_prepare \
156 arm_2d_gray8_tile_scaling_with_opacity_prepare
158#define arm_2d_rgb565_tile_scaling_with_alpha_prepare \
159 arm_2d_rgb565_tile_scaling_with_opacity_prepare
161#define arm_2d_rgb888_tile_scaling_with_alpha_prepare \
162 arm_2d_rgb888_tile_scaling_with_opacity_prepare
164#define arm_2d_cccn888_tile_scaling_with_alpha_prepare \
165 arm_2d_cccn888_tile_scaling_with_opacity_prepare
167#define arm_2dp_gray8_tile_scaling_with_alpha \
168 arm_2dp_gray8_tile_scaling_with_opacity
170#define arm_2dp_rgb565_tile_scaling_with_alpha \
171 arm_2dp_rgb565_tile_scaling_with_opacity
173#define arm_2dp_rgb888_tile_scaling_with_alpha \
174 arm_2dp_rgb888_tile_scaling_with_opacity
176#define arm_2dp_cccn888_tile_scaling_with_alpha \
177 arm_2dp_cccn888_tile_scaling_with_opacity
179#define arm_2d_gray8_tile_scaling_with_alpha \
180 arm_2d_gray8_tile_scaling_with_opacity
182#define arm_2d_rgb565_tile_scaling_with_alpha \
183 arm_2d_rgb565_tile_scaling_with_opacity
185#define arm_2d_rgb888_tile_scaling_with_alpha \
186 arm_2d_rgb888_tile_scaling_with_opacity
188#define arm_2d_cccn888_tile_scaling_with_alpha \
189 arm_2d_cccn888_tile_scaling_with_opacity
203#define arm_2d_gray8_tile_rotation_prepare(__SRC_TILE_ADDR, \
207 arm_2dp_gray8_tile_transform_prepare( NULL, \
214#define arm_2d_rgb565_tile_rotation_prepare(__SRC_TILE_ADDR, \
218 arm_2dp_rgb565_tile_transform_prepare( NULL, \
225#define arm_2d_rgb888_tile_rotation_prepare(__SRC_TILE_ADDR, \
229 arm_2dp_cccn888_tile_transform_prepare( NULL, \
236#define arm_2d_gray8_tile_rotation_with_opacity_prepare( \
242 arm_2dp_gray8_tile_transform_with_opacity_prepare( NULL, \
250#define arm_2d_rgb565_tile_rotation_with_opacity_prepare( \
256 arm_2dp_rgb565_tile_transform_with_opacity_prepare( NULL, \
265#define arm_2d_rgb888_tile_rotation_with_opacity_prepare( \
271 arm_2dp_cccn888_tile_transform_with_opacity_prepare( NULL, \
280#define arm_2d_cccn888_tile_rotation_with_opacity_prepare( \
286 arm_2dp_cccn888_tile_transform_with_opacity_prepare( NULL, \
294#define arm_2d_gray8_tile_rotation_with_src_mask_prepare( \
299 arm_2dp_gray8_tile_transform_with_src_mask_prepare( NULL, \
306#define arm_2d_rgb565_tile_rotation_with_src_mask_prepare( \
311 arm_2dp_rgb565_tile_transform_with_src_mask_prepare( NULL, \
318#define arm_2d_cccn888_tile_rotation_with_src_mask_prepare( \
323 arm_2dp_cccn888_tile_transform_with_src_mask_prepare( NULL, \
330#define arm_2d_gray8_tile_rotation_with_src_mask_and_opacity_prepare( \
336 arm_2dp_gray8_tile_transform_with_src_mask_and_opacity_prepare( \
345#define arm_2d_rgb565_tile_rotation_with_src_mask_and_opacity_prepare( \
351 arm_2dp_rgb565_tile_transform_with_src_mask_and_opacity_prepare( \
360#define arm_2d_cccn888_tile_rotation_with_src_mask_and_opacity_prepare( \
366 arm_2dp_cccn888_tile_transform_with_src_mask_and_opacity_prepare( \
375#define arm_2d_tile_rotate( __DES_TILE_ADDR, \
378 arm_2dp_tile_transform(NULL, \
380 (__DES_REGION_ADDR), \
391#define arm_2dp_gray8_tile_rotation( __CB_ADDR, \
399 ({assert(NULL != (__CB_ADDR)); if (bIsNewFrame) { \
400 arm_2dp_gray8_tile_transform_prepare( \
408 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
410 (__DES_REGION_ADDR), \
411 (NULL,##__VA_ARGS__)); \
414#define arm_2dp_rgb565_tile_rotation( __CB_ADDR, \
422 ({assert(NULL != (__CB_ADDR)); if (bIsNewFrame) { \
423 arm_2dp_rgb565_tile_transform_prepare( \
431 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
433 (__DES_REGION_ADDR), \
434 (NULL,##__VA_ARGS__)); \
438#define arm_2dp_cccn888_tile_rotation( __CB_ADDR, \
445 ({assert(NULL != (__CB_ADDR)); if (bIsNewFrame) { \
446 arm_2dp_cccn888_tile_transform_prepare( \
454 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
456 (__DES_REGION_ADDR), \
457 (NULL,##__VA_ARGS__)); \
462#define arm_2dp_gray8_tile_rotation_with_opacity( \
471 ({assert(NULL != (__CB_ADDR)); if (bIsNewFrame) { \
472 arm_2dp_gray8_tile_transform_with_opacity_prepare( \
481 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
483 (__DES_REGION_ADDR), \
484 (NULL,##__VA_ARGS__)); \
488#define arm_2dp_rgb565_tile_rotation_with_opacity( \
497 ({assert(NULL != (__CB_ADDR)); if (bIsNewFrame) { \
498 arm_2dp_rgb565_tile_transform_with_opacity_prepare( \
507 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
509 (__DES_REGION_ADDR), \
510 (NULL,##__VA_ARGS__)); \
515#define arm_2dp_rgb888_tile_rotation_with_opacity( \
524 ({assert(NULL != (__CB_ADDR)); if (bIsNewFrame) { \
525 arm_2dp_cccn888_tile_transform_with_opacity_prepare( \
534 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
536 (__DES_REGION_ADDR), \
537 (NULL,##__VA_ARGS__)); \
540#define arm_2dp_cccn888_tile_rotation_with_opacity( \
549 ({assert(NULL != (__CB_ADDR)); if (bIsNewFrame) { \
550 arm_2dp_cccn888_tile_transform_with_opacity_prepare( \
559 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
561 (__DES_REGION_ADDR), \
562 (NULL,##__VA_ARGS__)); \
565#define arm_2dp_gray8_tile_rotation_with_src_mask( \
574 ({assert(NULL != (__CB_ADDR)); if (bIsNewFrame) { \
575 arm_2dp_gray8_tile_transform_with_src_mask_prepare( \
583 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
585 (__DES_REGION_ADDR), \
586 (NULL,##__VA_ARGS__)); \
589#define arm_2dp_rgb565_tile_rotation_with_src_mask( \
598 ({assert(NULL != (__CB_ADDR)); if (bIsNewFrame) { \
599 arm_2dp_rgb565_tile_transform_with_src_mask_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_cccn888_tile_rotation_with_src_mask( \
622 ({assert(NULL != (__CB_ADDR)); if (bIsNewFrame) { \
623 arm_2dp_cccn888_tile_transform_with_src_mask_prepare( \
631 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
633 (__DES_REGION_ADDR), \
634 (NULL,##__VA_ARGS__)); \
637#define arm_2dp_gray8_tile_rotation_with_src_mask_and_opacity( \
647 ({assert(NULL != (__CB_ADDR)); if (bIsNewFrame) { \
648 arm_2dp_gray8_tile_transform_with_src_mask_and_opacity_prepare( \
657 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
659 (__DES_REGION_ADDR), \
660 (NULL,##__VA_ARGS__)); \
663#define arm_2dp_rgb565_tile_rotation_with_src_mask_and_opacity( \
673 ({assert(NULL != (__CB_ADDR)); if (bIsNewFrame) { \
674 arm_2dp_rgb565_tile_transform_with_src_mask_and_opacity_prepare( \
683 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
685 (__DES_REGION_ADDR), \
686 (NULL,##__VA_ARGS__)); \
689#define arm_2dp_cccn888_tile_rotation_with_src_mask_and_opacity( \
699 ({assert(NULL != (__CB_ADDR)); if (bIsNewFrame) { \
700 arm_2dp_cccn888_tile_transform_with_src_mask_and_opacity_prepare( \
709 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
711 (__DES_REGION_ADDR), \
712 (NULL,##__VA_ARGS__)); \
715#define arm_2d_gray8_tile_rotation( \
723 arm_2dp_gray8_tile_transform_prepare( \
731 arm_2dp_tile_transform(NULL, \
733 (__DES_REGION_ADDR), \
734 (NULL,##__VA_ARGS__)); \
738#define arm_2d_rgb565_tile_rotation( \
746 arm_2dp_rgb565_tile_transform_prepare( \
754 arm_2dp_tile_transform(NULL, \
756 (__DES_REGION_ADDR), \
757 (NULL,##__VA_ARGS__)); \
761#define arm_2d_rgb888_tile_rotation( \
769 arm_2dp_cccn888_tile_transform_prepare( \
777 arm_2dp_tile_transform(NULL, \
779 (__DES_REGION_ADDR), \
780 (NULL,##__VA_ARGS__)); \
783#define arm_2d_gray8_tile_rotation_with_opacity( \
792 arm_2dp_gray8_tile_transform_with_opacity_prepare( \
801 arm_2dp_tile_transform(NULL, \
803 (__DES_REGION_ADDR), \
804 (NULL,##__VA_ARGS__)); \
807#define arm_2d_rgb565_tile_rotation_with_opacity( \
816 arm_2dp_rgb565_tile_transform_with_opacity_prepare( \
825 arm_2dp_tile_transform(NULL, \
827 (__DES_REGION_ADDR), \
828 (NULL,##__VA_ARGS__)); \
831#define arm_2d_rgb888_tile_rotation_with_opacity( \
840 arm_2dp_cccn888_tile_transform_with_opacity_prepare( \
849 arm_2dp_tile_transform(NULL, \
851 (__DES_REGION_ADDR), \
852 (NULL,##__VA_ARGS__)); \
855#define arm_2d_cccn888_tile_rotation_with_opacity( \
864 arm_2dp_cccn888_tile_transform_with_opacity_prepare( \
873 arm_2dp_tile_transform(NULL, \
875 (__DES_REGION_ADDR), \
876 (NULL,##__VA_ARGS__)); \
879#define arm_2d_gray8_tile_rotation_with_src_mask( \
888 arm_2dp_gray8_tile_transform_with_src_mask_prepare( \
896 arm_2dp_tile_transform(NULL, \
898 (__DES_REGION_ADDR), \
899 (NULL,##__VA_ARGS__)); \
902#define arm_2d_rgb565_tile_rotation_with_src_mask( \
911 arm_2dp_rgb565_tile_transform_with_src_mask_prepare( \
919 arm_2dp_tile_transform(NULL, \
921 (__DES_REGION_ADDR), \
922 (NULL,##__VA_ARGS__)); \
925#define arm_2d_cccn888_tile_rotation_with_src_mask( \
934 arm_2dp_cccn888_tile_transform_with_src_mask_prepare( \
942 arm_2dp_tile_transform(NULL, \
944 (__DES_REGION_ADDR), \
945 (NULL,##__VA_ARGS__)); \
948#define arm_2d_gray8_tile_rotation_with_src_mask_and_opacity( \
958 arm_2dp_gray8_tile_transform_with_src_mask_and_opacity_prepare( \
967 arm_2dp_tile_transform(NULL, \
969 (__DES_REGION_ADDR), \
970 (NULL,##__VA_ARGS__)); \
973#define arm_2d_rgb565_tile_rotation_with_src_mask_and_opacity( \
983 arm_2dp_rgb565_tile_transform_with_src_mask_and_opacity_prepare( \
992 arm_2dp_tile_transform(NULL, \
994 (__DES_REGION_ADDR), \
995 (NULL,##__VA_ARGS__)); \
998#define arm_2d_cccn888_tile_rotation_with_src_mask_and_opacity( \
1002 __DES_REGION_ADDR, \
1008 arm_2dp_cccn888_tile_transform_with_src_mask_and_opacity_prepare( \
1010 (__SRC_TILE_ADDR), \
1011 (__SRC_MASK_ADDR), \
1017 arm_2dp_tile_transform(NULL, \
1018 (__DES_TILE_ADDR), \
1019 (__DES_REGION_ADDR), \
1020 (NULL,##__VA_ARGS__)); \
1027#define arm_2d_gray8_tile_transform_prepare(__SRC_TILE_ADDR, \
1032 arm_2dp_gray8_tile_transform_prepare( NULL, \
1033 (__SRC_TILE_ADDR), \
1039#define arm_2d_rgb565_tile_transform_prepare(__SRC_TILE_ADDR, \
1044 arm_2dp_rgb565_tile_transform_prepare( NULL, \
1045 (__SRC_TILE_ADDR), \
1052#define arm_2d_rgb888_tile_transform_prepare(__SRC_TILE_ADDR, \
1057 arm_2dp_cccn888_tile_transform_prepare( NULL, \
1058 (__SRC_TILE_ADDR), \
1065#define arm_2d_gray8_tile_transform_with_opacity_prepare( \
1072 arm_2dp_gray8_tile_transform_with_opacity_prepare( NULL, \
1073 (__SRC_TILE_ADDR), \
1080#define arm_2d_rgb565_tile_transform_with_opacity_prepare( \
1087 arm_2dp_rgb565_tile_transform_with_opacity_prepare( NULL, \
1088 (__SRC_TILE_ADDR), \
1096#define arm_2d_rgb888_tile_transform_with_opacity_prepare( \
1103 arm_2dp_cccn888_tile_transform_with_opacity_prepare( NULL, \
1104 (__SRC_TILE_ADDR), \
1112#define arm_2d_cccn888_tile_transform_with_opacity_prepare( \
1119 arm_2dp_cccn888_tile_transform_with_opacity_prepare( NULL, \
1120 (__SRC_TILE_ADDR), \
1127#define arm_2d_gray8_tile_transform_with_src_mask_prepare( \
1133 arm_2dp_gray8_tile_transform_with_src_mask_prepare( NULL, \
1134 (__SRC_TILE_ADDR), \
1135 (__SRC_MASK_ADDR), \
1140#define arm_2d_rgb565_tile_transform_with_src_mask_prepare( \
1146 arm_2dp_rgb565_tile_transform_with_src_mask_prepare( NULL, \
1147 (__SRC_TILE_ADDR), \
1148 (__SRC_MASK_ADDR), \
1153#define arm_2d_cccn888_tile_transform_with_src_mask_prepare( \
1159 arm_2dp_cccn888_tile_transform_with_src_mask_prepare( NULL, \
1160 (__SRC_TILE_ADDR), \
1161 (__SRC_MASK_ADDR), \
1166#define arm_2d_gray8_tile_transform_with_src_mask_and_opacity_prepare( \
1173 arm_2dp_gray8_tile_transform_with_src_mask_and_opacity_prepare( \
1175 (__SRC_TILE_ADDR), \
1176 (__SRC_MASK_ADDR), \
1182#define arm_2d_rgb565_tile_transform_with_src_mask_and_opacity_prepare( \
1189 arm_2dp_rgb565_tile_transform_with_src_mask_and_opacity_prepare( \
1191 (__SRC_TILE_ADDR), \
1192 (__SRC_MASK_ADDR), \
1198#define arm_2d_cccn888_tile_transform_with_src_mask_and_opacity_prepare( \
1205 arm_2dp_cccn888_tile_transform_with_src_mask_and_opacity_prepare( \
1207 (__SRC_TILE_ADDR), \
1208 (__SRC_MASK_ADDR), \
1214#define arm_2d_tile_transform( __DES_TILE_ADDR, \
1215 __DES_REGION_ADDR, \
1216 __DES_CENTRE_ADDR) \
1217 arm_2dp_tile_transform(NULL, \
1218 (__DES_TILE_ADDR), \
1219 (__DES_REGION_ADDR), \
1220 (__DES_CENTRE_ADDR))
1230#define arm_2dp_gray8_tile_transform( __CB_ADDR, \
1233 __DES_REGION_ADDR, \
1239 ({assert(NULL != (__CB_ADDR)); if (bIsNewFrame) { \
1240 arm_2dp_gray8_tile_transform_prepare( \
1242 (__SRC_TILE_ADDR), \
1248 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
1249 (__DES_TILE_ADDR), \
1250 (__DES_REGION_ADDR), \
1251 (NULL,##__VA_ARGS__)); \
1254#define arm_2dp_rgb565_tile_transform( __CB_ADDR, \
1257 __DES_REGION_ADDR, \
1263 ({assert(NULL != (__CB_ADDR)); if (bIsNewFrame) { \
1264 arm_2dp_rgb565_tile_transform_prepare( \
1266 (__SRC_TILE_ADDR), \
1272 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
1273 (__DES_TILE_ADDR), \
1274 (__DES_REGION_ADDR), \
1275 (NULL,##__VA_ARGS__)); \
1279#define arm_2dp_cccn888_tile_transform( __CB_ADDR, \
1282 __DES_REGION_ADDR, \
1287 ({assert(NULL != (__CB_ADDR)); if (bIsNewFrame) { \
1288 arm_2dp_cccn888_tile_transform_prepare( \
1290 (__SRC_TILE_ADDR), \
1296 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
1297 (__DES_TILE_ADDR), \
1298 (__DES_REGION_ADDR), \
1299 (NULL,##__VA_ARGS__)); \
1303#define arm_2dp_gray8_tile_transform_with_opacity( \
1307 __DES_REGION_ADDR, \
1313 ({assert(NULL != (__CB_ADDR)); if (bIsNewFrame) { \
1314 arm_2dp_gray8_tile_transform_with_opacity_prepare( \
1316 (__SRC_TILE_ADDR), \
1323 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
1324 (__DES_TILE_ADDR), \
1325 (__DES_REGION_ADDR), \
1326 (NULL,##__VA_ARGS__)); \
1330#define arm_2dp_rgb565_tile_transform_with_opacity( \
1334 __DES_REGION_ADDR, \
1340 ({assert(NULL != (__CB_ADDR)); if (bIsNewFrame) { \
1341 arm_2dp_rgb565_tile_transform_with_opacity_prepare( \
1343 (__SRC_TILE_ADDR), \
1350 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
1351 (__DES_TILE_ADDR), \
1352 (__DES_REGION_ADDR), \
1353 (NULL,##__VA_ARGS__)); \
1356#define arm_2dp_rgb888_tile_transform_with_opacity( \
1360 __DES_REGION_ADDR, \
1366 ({assert(NULL != (__CB_ADDR)); if (bIsNewFrame) { \
1367 arm_2dp_cccn888_tile_transform_with_opacity_prepare( \
1369 (__SRC_TILE_ADDR), \
1376 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
1377 (__DES_TILE_ADDR), \
1378 (__DES_REGION_ADDR), \
1379 (NULL,##__VA_ARGS__)); \
1382#define arm_2dp_cccn888_tile_transform_with_opacity( \
1386 __DES_REGION_ADDR, \
1392 ({assert(NULL != (__CB_ADDR)); if (bIsNewFrame) { \
1393 arm_2dp_cccn888_tile_transform_with_opacity_prepare( \
1395 (__SRC_TILE_ADDR), \
1402 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
1403 (__DES_TILE_ADDR), \
1404 (__DES_REGION_ADDR), \
1405 (NULL,##__VA_ARGS__)); \
1409#define arm_2dp_gray8_tile_transform_with_src_mask( \
1414 __DES_REGION_ADDR, \
1419 ({assert(NULL != (__CB_ADDR)); if (bIsNewFrame) { \
1420 arm_2dp_gray8_tile_transform_with_src_mask_prepare( \
1422 (__SRC_TILE_ADDR), \
1423 (__SRC_MASK_ADDR), \
1426 (float)(__SCALE)); \
1428 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
1429 (__DES_TILE_ADDR), \
1430 (__DES_REGION_ADDR), \
1431 (NULL,##__VA_ARGS__)); \
1434#define arm_2dp_rgb565_tile_transform_with_src_mask( \
1439 __DES_REGION_ADDR, \
1444 ({assert(NULL != (__CB_ADDR)); if (bIsNewFrame) { \
1445 arm_2dp_rgb565_tile_transform_with_src_mask_prepare( \
1447 (__SRC_TILE_ADDR), \
1448 (__SRC_MASK_ADDR), \
1451 (float)(__SCALE)); \
1453 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
1454 (__DES_TILE_ADDR), \
1455 (__DES_REGION_ADDR), \
1456 (NULL,##__VA_ARGS__)); \
1460#define arm_2dp_cccn888_tile_transform_with_src_mask( \
1465 __DES_REGION_ADDR, \
1470 ({assert(NULL != (__CB_ADDR)); if (bIsNewFrame) { \
1471 arm_2dp_cccn888_tile_transform_with_src_mask_prepare( \
1473 (__SRC_TILE_ADDR), \
1474 (__SRC_MASK_ADDR), \
1477 (float)(__SCALE)); \
1479 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
1480 (__DES_TILE_ADDR), \
1481 (__DES_REGION_ADDR), \
1482 (NULL,##__VA_ARGS__)); \
1485#define arm_2dp_gray8_tile_transform_with_src_mask_and_opacity( \
1490 __DES_REGION_ADDR, \
1496 ({assert(NULL != (__CB_ADDR)); if (bIsNewFrame) { \
1497 arm_2dp_gray8_tile_transform_with_src_mask_and_opacity_prepare( \
1499 (__SRC_TILE_ADDR), \
1500 (__SRC_MASK_ADDR), \
1506 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
1507 (__DES_TILE_ADDR), \
1508 (__DES_REGION_ADDR), \
1509 (NULL,##__VA_ARGS__)); \
1512#define arm_2dp_rgb565_tile_transform_with_src_mask_and_opacity( \
1517 __DES_REGION_ADDR, \
1523 ({assert(NULL != (__CB_ADDR)); if (bIsNewFrame) { \
1524 arm_2dp_rgb565_tile_transform_with_src_mask_and_opacity_prepare( \
1526 (__SRC_TILE_ADDR), \
1527 (__SRC_MASK_ADDR), \
1533 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
1534 (__DES_TILE_ADDR), \
1535 (__DES_REGION_ADDR), \
1536 (NULL,##__VA_ARGS__)); \
1540#define arm_2dp_cccn888_tile_transform_with_src_mask_and_opacity( \
1545 __DES_REGION_ADDR, \
1551 ({assert(NULL != (__CB_ADDR)); if (bIsNewFrame) { \
1552 arm_2dp_cccn888_tile_transform_with_src_mask_and_opacity_prepare( \
1554 (__SRC_TILE_ADDR), \
1555 (__SRC_MASK_ADDR), \
1561 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
1562 (__DES_TILE_ADDR), \
1563 (__DES_REGION_ADDR), \
1564 (NULL,##__VA_ARGS__)); \
1568#define arm_2d_gray8_tile_transform( \
1571 __DES_REGION_ADDR, \
1575 __MSK_COLOUR, ...) \
1577 arm_2dp_gray8_tile_transform_prepare( \
1579 (__SRC_TILE_ADDR), \
1585 arm_2dp_tile_transform(NULL, \
1586 (__DES_TILE_ADDR), \
1587 (__DES_REGION_ADDR), \
1588 (NULL,##__VA_ARGS__)); \
1591#define arm_2d_rgb565_tile_transform( \
1594 __DES_REGION_ADDR, \
1598 __MSK_COLOUR, ...) \
1600 arm_2dp_rgb565_tile_transform_prepare( \
1602 (__SRC_TILE_ADDR), \
1608 arm_2dp_tile_transform(NULL, \
1609 (__DES_TILE_ADDR), \
1610 (__DES_REGION_ADDR), \
1611 (NULL,##__VA_ARGS__)); \
1615#define arm_2d_rgb888_tile_transform( \
1618 __DES_REGION_ADDR, \
1622 __MSK_COLOUR, ...) \
1624 arm_2dp_cccn888_tile_transform_prepare( \
1626 (__SRC_TILE_ADDR), \
1632 arm_2dp_tile_transform(NULL, \
1633 (__DES_TILE_ADDR), \
1634 (__DES_REGION_ADDR), \
1635 (NULL,##__VA_ARGS__)); \
1638#define arm_2d_gray8_tile_transform_with_opacity( \
1641 __DES_REGION_ADDR, \
1648 arm_2dp_gray8_tile_transform_with_opacity_prepare( \
1650 (__SRC_TILE_ADDR), \
1657 arm_2dp_tile_transform(NULL, \
1658 (__DES_TILE_ADDR), \
1659 (__DES_REGION_ADDR), \
1660 (NULL,##__VA_ARGS__)); \
1663#define arm_2d_rgb565_tile_transform_with_opacity( \
1666 __DES_REGION_ADDR, \
1673 arm_2dp_rgb565_tile_transform_with_opacity_prepare( \
1675 (__SRC_TILE_ADDR), \
1682 arm_2dp_tile_transform(NULL, \
1683 (__DES_TILE_ADDR), \
1684 (__DES_REGION_ADDR), \
1685 (NULL,##__VA_ARGS__)); \
1688#define arm_2d_rgb888_tile_transform_with_opacity( \
1691 __DES_REGION_ADDR, \
1698 arm_2dp_cccn888_tile_transform_with_opacity_prepare( \
1700 (__SRC_TILE_ADDR), \
1707 arm_2dp_tile_transform(NULL, \
1708 (__DES_TILE_ADDR), \
1709 (__DES_REGION_ADDR), \
1710 (NULL,##__VA_ARGS__)); \
1715#define arm_2d_cccn888_tile_transform_with_opacity( \
1718 __DES_REGION_ADDR, \
1725 arm_2dp_cccn888_tile_transform_with_opacity_prepare( \
1727 (__SRC_TILE_ADDR), \
1734 arm_2dp_tile_transform(NULL, \
1735 (__DES_TILE_ADDR), \
1736 (__DES_REGION_ADDR), \
1737 (NULL,##__VA_ARGS__)); \
1741#define arm_2d_gray8_tile_transform_with_src_mask( \
1745 __DES_REGION_ADDR, \
1751 arm_2dp_gray8_tile_transform_with_src_mask_prepare( \
1753 (__SRC_TILE_ADDR), \
1754 (__SRC_MASK_ADDR), \
1757 (float)(__SCALE)); \
1759 arm_2dp_tile_transform(NULL, \
1760 (__DES_TILE_ADDR), \
1761 (__DES_REGION_ADDR), \
1762 (NULL,##__VA_ARGS__)); \
1765#define arm_2d_rgb565_tile_transform_with_src_mask( \
1769 __DES_REGION_ADDR, \
1775 arm_2dp_rgb565_tile_transform_with_src_mask_prepare( \
1777 (__SRC_TILE_ADDR), \
1778 (__SRC_MASK_ADDR), \
1781 (float)(__SCALE)); \
1783 arm_2dp_tile_transform(NULL, \
1784 (__DES_TILE_ADDR), \
1785 (__DES_REGION_ADDR), \
1786 (NULL,##__VA_ARGS__)); \
1789#define arm_2d_cccn888_tile_transform_with_src_mask( \
1793 __DES_REGION_ADDR, \
1799 arm_2dp_cccn888_tile_transform_with_src_mask_prepare( \
1801 (__SRC_TILE_ADDR), \
1802 (__SRC_MASK_ADDR), \
1805 (float)(__SCALE)); \
1807 arm_2dp_tile_transform(NULL, \
1808 (__DES_TILE_ADDR), \
1809 (__DES_REGION_ADDR), \
1810 (NULL,##__VA_ARGS__)); \
1813#define arm_2d_gray8_tile_transform_with_src_mask_and_opacity( \
1817 __DES_REGION_ADDR, \
1824 arm_2dp_gray8_tile_transform_with_src_mask_and_opacity_prepare( \
1826 (__SRC_TILE_ADDR), \
1827 (__SRC_MASK_ADDR), \
1833 arm_2dp_tile_transform(NULL, \
1834 (__DES_TILE_ADDR), \
1835 (__DES_REGION_ADDR), \
1836 (NULL,##__VA_ARGS__)); \
1839#define arm_2d_rgb565_tile_transform_with_src_mask_and_opacity( \
1843 __DES_REGION_ADDR, \
1850 arm_2dp_rgb565_tile_transform_with_src_mask_and_opacity_prepare( \
1852 (__SRC_TILE_ADDR), \
1853 (__SRC_MASK_ADDR), \
1859 arm_2dp_tile_transform(NULL, \
1860 (__DES_TILE_ADDR), \
1861 (__DES_REGION_ADDR), \
1862 (NULL,##__VA_ARGS__)); \
1865#define arm_2d_cccn888_tile_transform_with_src_mask_and_opacity( \
1869 __DES_REGION_ADDR, \
1876 arm_2dp_cccn888_tile_transform_with_src_mask_and_opacity_prepare( \
1878 (__SRC_TILE_ADDR), \
1879 (__SRC_MASK_ADDR), \
1885 arm_2dp_tile_transform(NULL, \
1886 (__DES_TILE_ADDR), \
1887 (__DES_REGION_ADDR), \
1888 (NULL,##__VA_ARGS__)); \
1894#define arm_2d_gray8_tile_scaling_prepare(__SRC_TILE_ADDR, \
1898 arm_2dp_gray8_tile_transform_prepare( NULL, \
1899 (__SRC_TILE_ADDR), \
1905#define arm_2d_rgb565_tile_scaling_prepare(__SRC_TILE_ADDR, \
1909 arm_2dp_rgb565_tile_transform_prepare( NULL, \
1910 (__SRC_TILE_ADDR), \
1916#define arm_2d_rgb888_tile_scaling_prepare(__SRC_TILE_ADDR, \
1920 arm_2dp_cccn888_tile_transform_prepare( NULL, \
1921 (__SRC_TILE_ADDR), \
1929#define arm_2d_gray8_tile_scaling_with_opacity_prepare( \
1935 arm_2dp_gray8_tile_transform_with_opacity_prepare( NULL, \
1936 (__SRC_TILE_ADDR), \
1943#define arm_2d_rgb565_tile_scaling_with_opacity_prepare( \
1949 arm_2dp_rgb565_tile_transform_with_opacity_prepare( NULL, \
1950 (__SRC_TILE_ADDR), \
1958#define arm_2d_rgb888_tile_scaling_with_opacity_prepare( \
1964 arm_2dp_cccn888_tile_transform_with_opacity_prepare( NULL, \
1965 (__SRC_TILE_ADDR), \
1972#define arm_2d_cccn888_tile_scaling_with_opacity_prepare( \
1978 arm_2dp_cccn888_tile_transform_with_opacity_prepare( NULL, \
1979 (__SRC_TILE_ADDR), \
1986#define arm_2d_gray8_tile_scaling_with_src_mask_prepare( \
1991 arm_2dp_gray8_tile_transform_with_src_mask_prepare( NULL, \
1992 (__SRC_TILE_ADDR), \
1993 (__SRC_MASK_ADDR), \
1998#define arm_2d_rgb565_tile_scaling_with_src_mask_prepare( \
2003 arm_2dp_rgb565_tile_transform_with_src_mask_prepare( NULL, \
2004 (__SRC_TILE_ADDR), \
2005 (__SRC_MASK_ADDR), \
2010#define arm_2d_cccn888_tile_scaling_with_src_mask_prepare( \
2015 arm_2dp_cccn888_tile_transform_with_src_mask_prepare( NULL, \
2016 (__SRC_TILE_ADDR), \
2017 (__SRC_MASK_ADDR), \
2022#define arm_2d_gray8_tile_scaling_with_src_mask_and_opacity_prepare( \
2028 arm_2dp_gray8_tile_transform_with_src_mask_and_opacity_prepare( \
2030 (__SRC_TILE_ADDR), \
2031 (__SRC_MASK_ADDR), \
2037#define arm_2d_rgb565_tile_scaling_with_src_mask_and_opacity_prepare( \
2043 arm_2dp_rgb565_tile_transform_with_src_mask_and_opacity_prepare( \
2045 (__SRC_TILE_ADDR), \
2046 (__SRC_MASK_ADDR), \
2052#define arm_2d_cccn888_tile_scaling_with_src_mask_and_opacity_prepare( \
2058 arm_2dp_cccn888_tile_transform_with_src_mask_and_opacity_prepare( \
2060 (__SRC_TILE_ADDR), \
2061 (__SRC_MASK_ADDR), \
2067#define arm_2d_tile_scale( __DES_TILE_ADDR, \
2068 __DES_REGION_ADDR, \
2069 __DES_CENTRE_ADDR) \
2070 arm_2dp_tile_transform(NULL, \
2071 (__DES_TILE_ADDR), \
2072 (__DES_REGION_ADDR), \
2073 (__DES_CENTRE_ADDR))
2083#define arm_2dp_gray8_tile_scaling( __CB_ADDR, \
2086 __DES_REGION_ADDR, \
2091 ({assert(NULL != (__CB_ADDR)); if (bIsNewFrame) { \
2092 arm_2dp_gray8_tile_transform_prepare( \
2094 (__SRC_TILE_ADDR), \
2100 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
2101 (__DES_TILE_ADDR), \
2102 (__DES_REGION_ADDR), \
2103 (NULL,##__VA_ARGS__)); \
2106#define arm_2dp_rgb565_tile_scaling( __CB_ADDR, \
2109 __DES_REGION_ADDR, \
2114 ({assert(NULL != (__CB_ADDR)); if (bIsNewFrame) { \
2115 arm_2dp_rgb565_tile_transform_prepare( \
2117 (__SRC_TILE_ADDR), \
2123 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
2124 (__DES_TILE_ADDR), \
2125 (__DES_REGION_ADDR), \
2126 (NULL,##__VA_ARGS__)); \
2130#define arm_2dp_cccn888_tile_scaling( __CB_ADDR, \
2133 __DES_REGION_ADDR, \
2137 ({assert(NULL != (__CB_ADDR)); if (bIsNewFrame) { \
2138 arm_2dp_cccn888_tile_transform_prepare( \
2140 (__SRC_TILE_ADDR), \
2146 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
2147 (__DES_TILE_ADDR), \
2148 (__DES_REGION_ADDR), \
2149 (NULL,##__VA_ARGS__)); \
2152#define arm_2dp_gray8_tile_scaling_with_opacity( \
2156 __DES_REGION_ADDR, \
2161 ({assert(NULL != (__CB_ADDR)); if (bIsNewFrame) { \
2162 arm_2dp_gray8_tile_transform_with_opacity_prepare( \
2164 (__SRC_TILE_ADDR), \
2171 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
2172 (__DES_TILE_ADDR), \
2173 (__DES_REGION_ADDR), \
2174 (NULL,##__VA_ARGS__)); \
2177#define arm_2dp_rgb565_tile_scaling_with_opacity( \
2181 __DES_REGION_ADDR, \
2186 ({assert(NULL != (__CB_ADDR)); if (bIsNewFrame) { \
2187 arm_2dp_rgb565_tile_transform_with_opacity_prepare( \
2189 (__SRC_TILE_ADDR), \
2196 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
2197 (__DES_TILE_ADDR), \
2198 (__DES_REGION_ADDR), \
2199 (NULL,##__VA_ARGS__)); \
2202#define arm_2dp_rgb888_tile_scaling_with_opacity( \
2206 __DES_REGION_ADDR, \
2211 ({assert(NULL != (__CB_ADDR)); if (bIsNewFrame) { \
2212 arm_2dp_cccn888_tile_transform_with_opacity_prepare( \
2214 (__SRC_TILE_ADDR), \
2221 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
2222 (__DES_TILE_ADDR), \
2223 (__DES_REGION_ADDR), \
2224 (NULL,##__VA_ARGS__)); \
2227#define arm_2dp_cccn888_tile_scaling_with_opacity( \
2231 __DES_REGION_ADDR, \
2236 ({assert(NULL != (__CB_ADDR)); if (bIsNewFrame) { \
2237 arm_2dp_cccn888_tile_transform_with_opacity_prepare( \
2239 (__SRC_TILE_ADDR), \
2246 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
2247 (__DES_TILE_ADDR), \
2248 (__DES_REGION_ADDR), \
2249 (NULL,##__VA_ARGS__)); \
2253#define arm_2dp_gray8_tile_scaling_with_src_mask( \
2258 __DES_REGION_ADDR, \
2262 ({assert(NULL != (__CB_ADDR)); if (bIsNewFrame) { \
2263 arm_2dp_gray8_tile_transform_with_src_mask_prepare( \
2265 (__SRC_TILE_ADDR), \
2266 (__SRC_MASK_ADDR), \
2271 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
2272 (__DES_TILE_ADDR), \
2273 (__DES_REGION_ADDR), \
2274 (NULL,##__VA_ARGS__)); \
2277#define arm_2dp_rgb565_tile_scaling_with_src_mask( \
2282 __DES_REGION_ADDR, \
2286 ({assert(NULL != (__CB_ADDR)); if (bIsNewFrame) { \
2287 arm_2dp_rgb565_tile_transform_with_src_mask_prepare( \
2289 (__SRC_TILE_ADDR), \
2290 (__SRC_MASK_ADDR), \
2295 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
2296 (__DES_TILE_ADDR), \
2297 (__DES_REGION_ADDR), \
2298 (NULL,##__VA_ARGS__)); \
2301#define arm_2dp_cccn888_tile_scaling_with_src_mask( \
2306 __DES_REGION_ADDR, \
2310 ({assert(NULL != (__CB_ADDR)); if (bIsNewFrame) { \
2311 arm_2dp_cccn888_tile_transform_with_src_mask_prepare( \
2313 (__SRC_TILE_ADDR), \
2314 (__SRC_MASK_ADDR), \
2319 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
2320 (__DES_TILE_ADDR), \
2321 (__DES_REGION_ADDR), \
2322 (NULL,##__VA_ARGS__)); \
2325#define arm_2dp_gray8_tile_scaling_with_src_mask_and_opacity( \
2330 __DES_REGION_ADDR, \
2335 ({assert(NULL != (__CB_ADDR)); if (bIsNewFrame) { \
2336 arm_2dp_gray8_tile_transform_with_src_mask_and_opacity_prepare( \
2338 (__SRC_TILE_ADDR), \
2339 (__SRC_MASK_ADDR), \
2345 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
2346 (__DES_TILE_ADDR), \
2347 (__DES_REGION_ADDR), \
2348 (NULL,##__VA_ARGS__)); \
2351#define arm_2dp_rgb565_tile_scaling_with_src_mask_and_opacity( \
2356 __DES_REGION_ADDR, \
2361 ({assert(NULL != (__CB_ADDR)); if (bIsNewFrame) { \
2362 arm_2dp_rgb565_tile_transform_with_src_mask_and_opacity_prepare( \
2364 (__SRC_TILE_ADDR), \
2365 (__SRC_MASK_ADDR), \
2371 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
2372 (__DES_TILE_ADDR), \
2373 (__DES_REGION_ADDR), \
2374 (NULL,##__VA_ARGS__)); \
2377#define arm_2dp_cccn888_tile_scaling_with_src_mask_and_opacity( \
2382 __DES_REGION_ADDR, \
2387 ({assert(NULL != (__CB_ADDR)); if (bIsNewFrame) { \
2388 arm_2dp_cccn888_tile_transform_with_src_mask_and_opacity_prepare( \
2390 (__SRC_TILE_ADDR), \
2391 (__SRC_MASK_ADDR), \
2397 arm_2dp_tile_transform((arm_2d_op_trans_t *)(__CB_ADDR), \
2398 (__DES_TILE_ADDR), \
2399 (__DES_REGION_ADDR), \
2400 (NULL,##__VA_ARGS__)); \
2403#define arm_2d_gray8_tile_scaling( \
2406 __DES_REGION_ADDR, \
2409 __MSK_COLOUR, ...) \
2411 arm_2dp_gray8_tile_transform_prepare( \
2413 (__SRC_TILE_ADDR), \
2419 arm_2dp_tile_transform(NULL, \
2420 (__DES_TILE_ADDR), \
2421 (__DES_REGION_ADDR), \
2422 (NULL,##__VA_ARGS__)); \
2425#define arm_2d_rgb565_tile_scaling( \
2428 __DES_REGION_ADDR, \
2431 __MSK_COLOUR, ...) \
2433 arm_2dp_rgb565_tile_transform_prepare( \
2435 (__SRC_TILE_ADDR), \
2441 arm_2dp_tile_transform(NULL, \
2442 (__DES_TILE_ADDR), \
2443 (__DES_REGION_ADDR), \
2444 (NULL,##__VA_ARGS__)); \
2448#define arm_2d_rgb888_tile_scaling( \
2451 __DES_REGION_ADDR, \
2454 __MSK_COLOUR, ...) \
2456 arm_2dp_cccn888_tile_transform_prepare( \
2458 (__SRC_TILE_ADDR), \
2464 arm_2dp_tile_transform(NULL, \
2465 (__DES_TILE_ADDR), \
2466 (__DES_REGION_ADDR), \
2467 (NULL,##__VA_ARGS__)); \
2470#define arm_2d_gray8_tile_scaling_with_opacity( \
2473 __DES_REGION_ADDR, \
2479 arm_2dp_gray8_tile_transform_with_opacity_prepare( \
2481 (__SRC_TILE_ADDR), \
2488 arm_2dp_tile_transform(NULL, \
2489 (__DES_TILE_ADDR), \
2490 (__DES_REGION_ADDR), \
2491 (NULL,##__VA_ARGS__)); \
2495#define arm_2d_rgb565_tile_scaling_with_opacity( \
2498 __DES_REGION_ADDR, \
2504 arm_2dp_rgb565_tile_transform_with_opacity_prepare( \
2506 (__SRC_TILE_ADDR), \
2513 arm_2dp_tile_transform(NULL, \
2514 (__DES_TILE_ADDR), \
2515 (__DES_REGION_ADDR), \
2516 (NULL,##__VA_ARGS__)); \
2521#define arm_2d_rgb888_tile_scaling_with_opacity( \
2524 __DES_REGION_ADDR, \
2530 arm_2dp_cccn888_tile_transform_with_opacity_prepare( \
2532 (__SRC_TILE_ADDR), \
2539 arm_2dp_tile_transform(NULL, \
2540 (__DES_TILE_ADDR), \
2541 (__DES_REGION_ADDR), \
2542 (NULL,##__VA_ARGS__)); \
2545#define arm_2d_cccn888_tile_scaling_with_opacity( \
2548 __DES_REGION_ADDR, \
2554 arm_2dp_cccn888_tile_transform_with_opacity_prepare( \
2556 (__SRC_TILE_ADDR), \
2563 arm_2dp_tile_transform(NULL, \
2564 (__DES_TILE_ADDR), \
2565 (__DES_REGION_ADDR), \
2566 (NULL,##__VA_ARGS__)); \
2569#define arm_2d_gray8_tile_scaling_with_src_mask( \
2573 __DES_REGION_ADDR, \
2578 arm_2dp_gray8_tile_transform_with_src_mask_prepare( \
2580 (__SRC_TILE_ADDR), \
2581 (__SRC_MASK_ADDR), \
2586 arm_2dp_tile_transform(NULL, \
2587 (__DES_TILE_ADDR), \
2588 (__DES_REGION_ADDR), \
2589 (NULL,##__VA_ARGS__)); \
2592#define arm_2d_rgb565_tile_scaling_with_src_mask( \
2596 __DES_REGION_ADDR, \
2601 arm_2dp_rgb565_tile_transform_with_src_mask_prepare( \
2603 (__SRC_TILE_ADDR), \
2604 (__SRC_MASK_ADDR), \
2609 arm_2dp_tile_transform(NULL, \
2610 (__DES_TILE_ADDR), \
2611 (__DES_REGION_ADDR), \
2612 (NULL,##__VA_ARGS__)); \
2615#define arm_2d_cccn888_tile_scaling_with_src_mask( \
2619 __DES_REGION_ADDR, \
2624 arm_2dp_cccn888_tile_transform_with_src_mask_prepare( \
2626 (__SRC_TILE_ADDR), \
2627 (__SRC_MASK_ADDR), \
2632 arm_2dp_tile_transform(NULL, \
2633 (__DES_TILE_ADDR), \
2634 (__DES_REGION_ADDR), \
2635 (NULL,##__VA_ARGS__)); \
2638#define arm_2d_gray8_tile_scaling_with_src_mask_and_opacity( \
2642 __DES_REGION_ADDR, \
2648 arm_2dp_gray8_tile_transform_with_src_mask_and_opacity_prepare( \
2650 (__SRC_TILE_ADDR), \
2651 (__SRC_MASK_ADDR), \
2657 arm_2dp_tile_transform(NULL, \
2658 (__DES_TILE_ADDR), \
2659 (__DES_REGION_ADDR), \
2660 (NULL,##__VA_ARGS__)); \
2663#define arm_2d_rgb565_tile_scaling_with_src_mask_and_opacity( \
2667 __DES_REGION_ADDR, \
2673 arm_2dp_rgb565_tile_transform_with_src_mask_and_opacity_prepare( \
2675 (__SRC_TILE_ADDR), \
2676 (__SRC_MASK_ADDR), \
2682 arm_2dp_tile_transform(NULL, \
2683 (__DES_TILE_ADDR), \
2684 (__DES_REGION_ADDR), \
2685 (NULL,##__VA_ARGS__)); \
2688#define arm_2d_cccn888_tile_scaling_with_src_mask_and_opacity( \
2692 __DES_REGION_ADDR, \
2698 arm_2dp_cccn888_tile_transform_with_src_mask_and_opacity_prepare( \
2700 (__SRC_TILE_ADDR), \
2701 (__SRC_MASK_ADDR), \
2707 arm_2dp_tile_transform(NULL, \
2708 (__DES_TILE_ADDR), \
2709 (__DES_REGION_ADDR), \
2710 (NULL,##__VA_ARGS__)); \
2860 uint_fast8_t chFillColour);
2880 uint_fast16_t hwFillColour);
2900 uint32_t wFillColour);
2921 uint_fast8_t chFillColour,
2922 uint_fast8_t chRatio);
2943 uint_fast16_t hwFillColour,
2944 uint_fast8_t chRatio);
2965 uint32_t wFillColour,
2966 uint_fast8_t chRatio);
3048 uint_fast8_t chOpacity);
3070 uint_fast8_t chOpacity);
3092 uint_fast8_t chOpacity);
3111#if defined(__clang__)
3112# pragma clang diagnostic pop