Arm-2D
2D Image Processing Library for Cortex-M Processors
arm_2d_alpha_blending.h
1
/*
2
* Copyright (C) 2022 Arm Limited or its affiliates. All rights reserved.
3
*
4
* SPDX-License-Identifier: Apache-2.0
5
*
6
* Licensed under the Apache License, Version 2.0 (the License); you may
7
* not use this file except in compliance with the License.
8
* You may obtain a copy of the License at
9
*
10
* www.apache.org/licenses/LICENSE-2.0
11
*
12
* Unless required by applicable law or agreed to in writing, software
13
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
14
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
* See the License for the specific language governing permissions and
16
* limitations under the License.
17
*/
18
19
/* ----------------------------------------------------------------------
20
* Project: Arm-2D Library
21
* Title: arm_2d_alpha_blending.h
22
* Description: Public header file to contain the alpha related APIs
23
*
24
* $Date: 17. May 2024
25
* $Revision: V.1.7.0
26
*
27
* Target Processor: Cortex-M cores
28
* -------------------------------------------------------------------- */
29
30
#ifndef __ARM_2D_ALPHA_BLENDING_H__
31
#define __ARM_2D_ALPHA_BLENDING_H__
32
33
/*============================ INCLUDES ======================================*/
34
35
#include "arm_2d_types.h"
36
37
#ifdef __cplusplus
38
extern
"C"
{
39
#endif
40
41
#if defined(__clang__)
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 "-Wmissing-declarations"
46
# pragma clang diagnostic ignored "-Wpadded"
47
# pragma clang diagnostic ignored "-Wc11-extensions"
48
#endif
49
50
/*============================ MACROS ========================================*/
51
52
/*!
53
* \addtogroup Deprecated
54
* @{
55
*/
56
#define arm_2d_rgb565_fill_colour_with_alpha \
57
arm_2d_rgb565_fill_colour_with_opacity
58
59
#define arm_2d_rgb888_fill_colour_with_alpha \
60
arm_2d_rgb888_fill_colour_with_opacity
61
62
#define arm_2d_cccn888_fill_colour_with_alpha \
63
arm_2d_cccn888_fill_colour_with_opacity
64
65
#define arm_2d_gray8_fill_colour_with_alpha_mask \
66
arm_2d_gray8_fill_colour_with_mask
67
68
#define arm_2d_rgb565_fill_colour_with_alpha_mask \
69
arm_2d_rgb565_fill_colour_with_mask
70
71
#define arm_2d_rgb888_fill_colour_with_alpha_mask \
72
arm_2d_rgb888_fill_colour_with_mask
73
74
#define arm_2d_cccn888_fill_colour_with_alpha_mask \
75
arm_2d_cccn888_fill_colour_with_mask
76
77
#define arm_2d_gray8_fill_colour_with_alpha_mask_and_opacity \
78
arm_2d_gray8_fill_colour_with_mask_and_opacity
79
80
#define arm_2d_rgb565_fill_colour_with_alpha_mask_and_opacity \
81
arm_2d_rgb565_fill_colour_with_mask_and_opacity
82
83
#define arm_2d_rgb888_fill_colour_with_alpha_mask_and_opacity \
84
arm_2d_rgb888_fill_colour_with_mask_and_opacity
85
86
#define arm_2d_cccn888_fill_colour_with_alpha_mask_and_opacity \
87
arm_2d_cccn888_fill_colour_with_mask_and_opacity
88
89
#define arm_2d_gray8_alpha_blending_with_colour_masking \
90
arm_2d_gray8_tile_copy_with_colour_keying_and_opacity
91
92
#define arm_2d_rgb565_alpha_blending_with_colour_masking \
93
arm_2d_rgb565_tile_copy_with_colour_keying_and_opacity
94
95
#define arm_2d_rgb888_alpha_blending_with_colour_masking \
96
arm_2d_rgb888_tile_copy_with_colour_keying_and_opacity
97
98
#define arm_2d_cccn888_alpha_blending_with_colour_masking \
99
arm_2d_cccn888_tile_copy_with_colour_keying_and_opacity
100
101
#define arm_2d_gray8_tile_copy_with_alpha_masks \
102
arm_2d_gray8_tile_copy_with_masks
103
104
#define arm_2d_rgb565_tile_copy_with_alpha_masks \
105
arm_2d_rgb565_tile_copy_with_masks
106
107
#define arm_2d_cccn888_tile_copy_with_alpha_masks \
108
arm_2d_cccn888_tile_copy_with_masks
109
110
#define arm_2d_rgb888_tile_copy_with_alpha_mask \
111
arm_2d_rgb888_tile_copy_with_masks
112
113
114
#define arm_2dp_gray8_alpha_blending arm_2dp_gray8_tile_copy_with_opacity
115
#define arm_2dp_rgb565_alpha_blending arm_2dp_rgb565_tile_copy_with_opacity
116
#define arm_2dp_cccn888_alpha_blending arm_2dp_cccn888_tile_copy_with_opacity
117
#define arm_2dp_rgb888_alpha_blending arm_2dp_cccn888_tile_copy_with_opacity
118
#define arm_2d_gray8_alpha_blending arm_2d_gray8_tile_copy_with_opacity
119
#define arm_2d_rgb565_alpha_blending arm_2d_rgb565_tile_copy_with_opacity
120
#define arm_2d_cccn888_alpha_blending arm_2d_cccn888_tile_copy_with_opacity
121
#define arm_2d_rgb888_alpha_blending arm_2d_cccn888_tile_copy_with_opacity
122
123
124
#define arm_2dp_gray8_alpha_blending_with_colour_keying \
125
arm_2dp_gray8_tile_copy_with_colour_keying_and_opacity
126
#define arm_2dp_rgb565_alpha_blending_with_colour_keying \
127
arm_2dp_rgb565_tile_copy_with_colour_keying_and_opacity
128
#define arm_2dp_cccn888_alpha_blending_with_colour_keying \
129
arm_2dp_cccn888_tile_copy_with_colour_keying_and_opacity
130
#define arm_2d_gray8_alpha_blending_with_colour_keying \
131
arm_2d_gray8_tile_copy_with_colour_keying_and_opacity
132
#define arm_2d_rgb565_alpha_blending_with_colour_keying \
133
arm_2d_rgb565_tile_copy_with_colour_keying_and_opacity
134
#define arm_2d_cccn888_alpha_blending_with_colour_keying \
135
arm_2d_cccn888_tile_copy_with_colour_keying_and_opacity
136
137
/*! @} */
138
139
/*!
140
* \addtogroup gAlpha 4 Alpha Blending Operations
141
* @{
142
*/
143
144
/*============================ MACROFIED FUNCTIONS ===========================*/
145
146
#define arm_2d_gray8_tile_copy_with_opacity( \
147
__SRC_ADDR,
/* source tile address */
\
148
__DES_ADDR,
/* target tile address */
\
149
__REGION_ADDR,
/* region address */
\
150
__ALPHA)
/* alpha */
\
151
arm_2dp_gray8_tile_copy_with_opacity( NULL, \
152
(__SRC_ADDR), \
153
(__DES_ADDR), \
154
(__REGION_ADDR), \
155
(__ALPHA))
156
157
#define arm_2d_rgb565_tile_copy_with_opacity( \
158
__SRC_ADDR,
/* source tile address */
\
159
__DES_ADDR,
/* target tile address */
\
160
__REGION_ADDR,
/* region address */
\
161
__ALPHA)
/* alpha */
\
162
arm_2dp_rgb565_tile_copy_with_opacity( NULL, \
163
(__SRC_ADDR), \
164
(__DES_ADDR), \
165
(__REGION_ADDR), \
166
(__ALPHA))
167
168
#define arm_2d_rgb888_tile_copy_with_opacity( \
169
__SRC_ADDR,
/* source tile address */
\
170
__DES_ADDR,
/* target tile address */
\
171
__REGION_ADDR,
/* region address */
\
172
__ALPHA)
/* alpha */
\
173
arm_2dp_cccn888_tile_copy_with_opacity( NULL, \
174
(__SRC_ADDR), \
175
(__DES_ADDR), \
176
(__REGION_ADDR), \
177
(__ALPHA))
178
179
#define arm_2d_cccn888_tile_copy_with_opacity( \
180
__SRC_ADDR,
/* source tile address */
\
181
__DES_ADDR,
/* target tile address */
\
182
__REGION_ADDR,
/* region address */
\
183
__ALPHA)
/* alpha */
\
184
arm_2dp_cccn888_tile_copy_with_opacity( NULL, \
185
(__SRC_ADDR), \
186
(__DES_ADDR), \
187
(__REGION_ADDR), \
188
(__ALPHA))
189
190
191
#define arm_2d_gray8_fill_colour_with_opacity( \
192
__DES_ADDR,
/* target tile address */
\
193
__REGION_ADDR,
/* region address */
\
194
__COLOUR,
/* colour */
\
195
__ALPHA)
/* alpha */
\
196
arm_2dp_gray8_fill_colour_with_opacity( NULL, \
197
(__DES_ADDR), \
198
(__REGION_ADDR), \
199
(__COLOUR), \
200
(__ALPHA))
201
202
#define arm_2d_rgb565_fill_colour_with_opacity( \
203
__DES_ADDR,
/* target tile address */
\
204
__REGION_ADDR,
/* region address */
\
205
__COLOUR,
/* colour */
\
206
__ALPHA)
/* alpha */
\
207
arm_2dp_rgb565_fill_colour_with_opacity( NULL, \
208
(__DES_ADDR), \
209
(__REGION_ADDR), \
210
(__COLOUR), \
211
(__ALPHA))
212
213
#define arm_2d_rgb888_fill_colour_with_opacity( \
214
__DES_ADDR,
/* target tile address */
\
215
__REGION_ADDR,
/* region address */
\
216
__COLOUR,
/* colour */
\
217
__ALPHA)
/* alpha */
\
218
arm_2dp_cccn888_fill_colour_with_opacity( NULL, \
219
(__DES_ADDR), \
220
(__REGION_ADDR), \
221
(arm_2d_color_cccn888_t){(__COLOUR).tValue}, \
222
(__ALPHA))
223
224
225
#define arm_2d_cccn888_fill_colour_with_opacity( \
226
__DES_ADDR,
/* target tile address */
\
227
__REGION_ADDR,
/* region address */
\
228
__COLOUR,
/* colour */
\
229
__ALPHA)
/* alpha */
\
230
arm_2dp_cccn888_fill_colour_with_opacity( NULL, \
231
(__DES_ADDR), \
232
(__REGION_ADDR), \
233
(__COLOUR), \
234
(__ALPHA))
235
236
#define arm_2d_gray8_fill_colour_with_a2_mask( \
237
__TARGET_ADDR,
/* target tile address*/
\
238
__REGION_ADDR,
/* target region address*/
\
239
__ALPHA_ADDR,
/* alpha tile address */
\
240
__COLOUR)
/* colour */
\
241
arm_2dp_gray8_fill_colour_with_a2_mask( \
242
NULL, \
243
(__TARGET_ADDR), \
244
(__REGION_ADDR), \
245
(__ALPHA_ADDR), \
246
(__COLOUR))
247
248
#define arm_2d_rgb565_fill_colour_with_a2_mask( \
249
__TARGET_ADDR,
/* target tile address*/
\
250
__REGION_ADDR,
/* target region address*/
\
251
__ALPHA_ADDR,
/* alpha tile address */
\
252
__COLOUR)
/* colour */
\
253
arm_2dp_rgb565_fill_colour_with_a2_mask( \
254
NULL, \
255
(__TARGET_ADDR), \
256
(__REGION_ADDR), \
257
(__ALPHA_ADDR), \
258
(__COLOUR))
259
260
#define arm_2d_rgb888_fill_colour_with_a2_mask( \
261
__TARGET_ADDR,
/* target tile address*/
\
262
__REGION_ADDR,
/* target region address*/
\
263
__ALPHA_ADDR,
/* alpha tile address */
\
264
__COLOUR)
/* colour */
\
265
arm_2dp_cccn888_fill_colour_with_a2_mask( \
266
NULL, \
267
(__TARGET_ADDR), \
268
(__REGION_ADDR), \
269
(__ALPHA_ADDR), \
270
(arm_2d_color_cccn888_t){(__COLOUR).tValue})
271
272
#define arm_2d_cccn888_fill_colour_with_a2_mask( \
273
__TARGET_ADDR,
/* target tile address*/
\
274
__REGION_ADDR,
/* target region address*/
\
275
__ALPHA_ADDR,
/* alpha tile address */
\
276
__COLOUR)
/* colour */
\
277
arm_2dp_cccn888_fill_colour_with_a2_mask( \
278
NULL, \
279
(__TARGET_ADDR), \
280
(__REGION_ADDR), \
281
(__ALPHA_ADDR), \
282
(__COLOUR))
283
284
#define arm_2d_gray8_fill_colour_with_a4_mask( \
285
__TARGET_ADDR,
/* target tile address*/
\
286
__REGION_ADDR,
/* target region address*/
\
287
__ALPHA_ADDR,
/* alpha tile address */
\
288
__COLOUR)
/* colour */
\
289
arm_2dp_gray8_fill_colour_with_a4_mask( \
290
NULL, \
291
(__TARGET_ADDR), \
292
(__REGION_ADDR), \
293
(__ALPHA_ADDR), \
294
(__COLOUR))
295
296
#define arm_2d_rgb565_fill_colour_with_a4_mask( \
297
__TARGET_ADDR,
/* target tile address*/
\
298
__REGION_ADDR,
/* target region address*/
\
299
__ALPHA_ADDR,
/* alpha tile address */
\
300
__COLOUR)
/* colour */
\
301
arm_2dp_rgb565_fill_colour_with_a4_mask( \
302
NULL, \
303
(__TARGET_ADDR), \
304
(__REGION_ADDR), \
305
(__ALPHA_ADDR), \
306
(__COLOUR))
307
308
#define arm_2d_rgb888_fill_colour_with_a4_mask( \
309
__TARGET_ADDR,
/* target tile address*/
\
310
__REGION_ADDR,
/* target region address*/
\
311
__ALPHA_ADDR,
/* alpha tile address */
\
312
__COLOUR)
/* colour */
\
313
arm_2dp_cccn888_fill_colour_with_a4_mask( \
314
NULL, \
315
(__TARGET_ADDR), \
316
(__REGION_ADDR), \
317
(__ALPHA_ADDR), \
318
(arm_2d_color_cccn888_t){(__COLOUR).tValue})
319
320
#define arm_2d_cccn888_fill_colour_with_a4_mask( \
321
__TARGET_ADDR,
/* target tile address*/
\
322
__REGION_ADDR,
/* target region address*/
\
323
__ALPHA_ADDR,
/* alpha tile address */
\
324
__COLOUR)
/* colour */
\
325
arm_2dp_cccn888_fill_colour_with_a4_mask( \
326
NULL, \
327
(__TARGET_ADDR), \
328
(__REGION_ADDR), \
329
(__ALPHA_ADDR), \
330
(__COLOUR))
331
332
#define arm_2d_gray8_fill_colour_with_mask( \
333
__TARGET_ADDR,
/* target tile address*/
\
334
__REGION_ADDR,
/* target region address*/
\
335
__ALPHA_ADDR,
/* alpha tile address */
\
336
__COLOUR)
/* colour */
\
337
arm_2dp_gray8_fill_colour_with_mask( \
338
NULL, \
339
(__TARGET_ADDR), \
340
(__REGION_ADDR), \
341
(__ALPHA_ADDR), \
342
(__COLOUR))
343
344
#define arm_2d_rgb565_fill_colour_with_mask( \
345
__TARGET_ADDR,
/* target tile address*/
\
346
__REGION_ADDR,
/* target region address*/
\
347
__ALPHA_ADDR,
/* alpha tile address */
\
348
__COLOUR)
/* colour */
\
349
arm_2dp_rgb565_fill_colour_with_mask( \
350
NULL, \
351
(__TARGET_ADDR), \
352
(__REGION_ADDR), \
353
(__ALPHA_ADDR), \
354
(__COLOUR))
355
356
#define arm_2d_rgb888_fill_colour_with_mask( \
357
__TARGET_ADDR,
/* target tile address*/
\
358
__REGION_ADDR,
/* target region address*/
\
359
__ALPHA_ADDR,
/* alpha tile address */
\
360
__COLOUR)
/* colour */
\
361
arm_2dp_cccn888_fill_colour_with_mask( \
362
NULL, \
363
(__TARGET_ADDR), \
364
(__REGION_ADDR), \
365
(__ALPHA_ADDR), \
366
(arm_2d_color_cccn888_t){(__COLOUR).tValue})
367
368
#define arm_2d_cccn888_fill_colour_with_mask( \
369
__TARGET_ADDR,
/* target tile address*/
\
370
__REGION_ADDR,
/* target region address*/
\
371
__ALPHA_ADDR,
/* alpha tile address */
\
372
__COLOUR)
/* colour */
\
373
arm_2dp_cccn888_fill_colour_with_mask( \
374
NULL, \
375
(__TARGET_ADDR), \
376
(__REGION_ADDR), \
377
(__ALPHA_ADDR), \
378
(__COLOUR))
379
380
#define arm_2d_gray8_fill_colour_with_a8_mask \
381
arm_2d_gray8_fill_colour_with_mask
382
#define arm_2d_rgb565_fill_colour_with_a8_mask \
383
arm_2d_rgb565_fill_colour_with_mask
384
#define arm_2d_rgb888_fill_colour_with_a8_mask \
385
arm_2d_rgb888_fill_colour_with_mask
386
#define arm_2d_cccn888_fill_colour_with_a8_mask \
387
arm_2d_cccn888_fill_colour_with_mask
388
389
#define arm_2d_gray8_fill_colour_with_a2_mask_and_opacity( \
390
__TARGET_ADDR,
/* target tile address*/
\
391
__REGION_ADDR,
/* target region address*/
\
392
__ALPHA_ADDR,
/* alpha tile address */
\
393
__COLOUR,
/* colour */
\
394
__OPACITY) \
395
arm_2dp_gray8_fill_colour_with_a2_mask_and_opacity( \
396
NULL, \
397
(__TARGET_ADDR), \
398
(__REGION_ADDR), \
399
(__ALPHA_ADDR), \
400
(__COLOUR), \
401
(__OPACITY))
402
403
#define arm_2d_rgb565_fill_colour_with_a2_mask_and_opacity( \
404
__TARGET_ADDR,
/* target tile address*/
\
405
__REGION_ADDR,
/* target region address*/
\
406
__ALPHA_ADDR,
/* alpha tile address */
\
407
__COLOUR,
/* colour */
\
408
__OPACITY) \
409
arm_2dp_rgb565_fill_colour_with_a2_mask_and_opacity( \
410
NULL, \
411
(__TARGET_ADDR), \
412
(__REGION_ADDR), \
413
(__ALPHA_ADDR), \
414
(__COLOUR), \
415
(__OPACITY))
416
417
#define arm_2d_rgb888_fill_colour_with_a2_mask_and_opacity( \
418
__TARGET_ADDR,
/* target tile address*/
\
419
__REGION_ADDR,
/* target region address*/
\
420
__ALPHA_ADDR,
/* alpha tile address */
\
421
__COLOUR,
/* colour */
\
422
__OPACITY) \
423
arm_2dp_cccn888_fill_colour_with_a2_mask_and_opacity( \
424
NULL, \
425
(__TARGET_ADDR), \
426
(__REGION_ADDR), \
427
(__ALPHA_ADDR), \
428
(arm_2d_color_cccn888_t){(__COLOUR).tValue}, \
429
(__OPACITY))
430
431
#define arm_2d_cccn888_fill_colour_with_a2_mask_and_opacity( \
432
__TARGET_ADDR,
/* target tile address*/
\
433
__REGION_ADDR,
/* target region address*/
\
434
__ALPHA_ADDR,
/* alpha tile address */
\
435
__COLOUR,
/* colour */
\
436
__OPACITY) \
437
arm_2dp_cccn888_fill_colour_with_a2_mask_and_opacity( \
438
NULL, \
439
(__TARGET_ADDR), \
440
(__REGION_ADDR), \
441
(__ALPHA_ADDR), \
442
(__COLOUR), \
443
(__OPACITY))
444
445
#define arm_2d_gray8_fill_colour_with_a4_mask_and_opacity( \
446
__TARGET_ADDR,
/* target tile address*/
\
447
__REGION_ADDR,
/* target region address*/
\
448
__ALPHA_ADDR,
/* alpha tile address */
\
449
__COLOUR,
/* colour */
\
450
__OPACITY) \
451
arm_2dp_gray8_fill_colour_with_a4_mask_and_opacity( \
452
NULL, \
453
(__TARGET_ADDR), \
454
(__REGION_ADDR), \
455
(__ALPHA_ADDR), \
456
(__COLOUR), \
457
(__OPACITY))
458
459
#define arm_2d_rgb565_fill_colour_with_a4_mask_and_opacity( \
460
__TARGET_ADDR,
/* target tile address*/
\
461
__REGION_ADDR,
/* target region address*/
\
462
__ALPHA_ADDR,
/* alpha tile address */
\
463
__COLOUR,
/* colour */
\
464
__OPACITY) \
465
arm_2dp_rgb565_fill_colour_with_a4_mask_and_opacity( \
466
NULL, \
467
(__TARGET_ADDR), \
468
(__REGION_ADDR), \
469
(__ALPHA_ADDR), \
470
(__COLOUR), \
471
(__OPACITY))
472
473
#define arm_2d_rgb888_fill_colour_with_a4_mask_and_opacity( \
474
__TARGET_ADDR,
/* target tile address*/
\
475
__REGION_ADDR,
/* target region address*/
\
476
__ALPHA_ADDR,
/* alpha tile address */
\
477
__COLOUR,
/* colour */
\
478
__OPACITY) \
479
arm_2dp_cccn888_fill_colour_with_a4_mask_and_opacity( \
480
NULL, \
481
(__TARGET_ADDR), \
482
(__REGION_ADDR), \
483
(__ALPHA_ADDR), \
484
(arm_2d_color_cccn888_t){(__COLOUR).tValue}, \
485
(__OPACITY))
486
487
#define arm_2d_cccn888_fill_colour_with_a4_mask_and_opacity( \
488
__TARGET_ADDR,
/* target tile address*/
\
489
__REGION_ADDR,
/* target region address*/
\
490
__ALPHA_ADDR,
/* alpha tile address */
\
491
__COLOUR,
/* colour */
\
492
__OPACITY) \
493
arm_2dp_cccn888_fill_colour_with_a4_mask_and_opacity( \
494
NULL, \
495
(__TARGET_ADDR), \
496
(__REGION_ADDR), \
497
(__ALPHA_ADDR), \
498
(__COLOUR), \
499
(__OPACITY))
500
501
#define arm_2d_gray8_fill_colour_with_mask_and_opacity( \
502
__TARGET_ADDR,
/* target tile address*/
\
503
__REGION_ADDR,
/* target region address*/
\
504
__ALPHA_ADDR,
/* alpha tile address */
\
505
__COLOUR,
/* colour */
\
506
__OPACITY) \
507
arm_2dp_gray8_fill_colour_with_mask_and_opacity( \
508
NULL, \
509
(__TARGET_ADDR), \
510
(__REGION_ADDR), \
511
(__ALPHA_ADDR), \
512
(__COLOUR), \
513
(__OPACITY))
514
515
#define arm_2d_rgb565_fill_colour_with_mask_and_opacity( \
516
__TARGET_ADDR,
/* target tile address*/
\
517
__REGION_ADDR,
/* target region address*/
\
518
__ALPHA_ADDR,
/* alpha tile address */
\
519
__COLOUR,
/* colour */
\
520
__OPACITY) \
521
arm_2dp_rgb565_fill_colour_with_mask_and_opacity( \
522
NULL, \
523
(__TARGET_ADDR), \
524
(__REGION_ADDR), \
525
(__ALPHA_ADDR), \
526
(__COLOUR), \
527
(__OPACITY))
528
529
#define arm_2d_rgb888_fill_colour_with_mask_and_opacity( \
530
__TARGET_ADDR,
/* target tile address*/
\
531
__REGION_ADDR,
/* target region address*/
\
532
__ALPHA_ADDR,
/* alpha tile address */
\
533
__COLOUR,
/* colour */
\
534
__OPACITY) \
535
arm_2dp_cccn888_fill_colour_with_mask_and_opacity( \
536
NULL, \
537
(__TARGET_ADDR), \
538
(__REGION_ADDR), \
539
(__ALPHA_ADDR), \
540
(arm_2d_color_cccn888_t){(__COLOUR).tValue}, \
541
(__OPACITY))
542
543
#define arm_2d_cccn888_fill_colour_with_mask_and_opacity( \
544
__TARGET_ADDR,
/* target tile address*/
\
545
__REGION_ADDR,
/* target region address*/
\
546
__ALPHA_ADDR,
/* alpha tile address */
\
547
__COLOUR,
/* colour */
\
548
__OPACITY) \
549
arm_2dp_cccn888_fill_colour_with_mask_and_opacity( \
550
NULL, \
551
(__TARGET_ADDR), \
552
(__REGION_ADDR), \
553
(__ALPHA_ADDR), \
554
(__COLOUR), \
555
(__OPACITY))
556
557
#define arm_2d_gray8_fill_colour_with_a8_mask_and_opacity \
558
arm_2d_gray8_fill_colour_with_mask_and_opacity
559
#define arm_2d_rgb565_fill_colour_with_a8_mask_and_opacity \
560
arm_2d_rgb565_fill_colour_with_mask_and_opacity
561
#define arm_2d_rgb888_fill_colour_with_a8_mask_and_opacity \
562
arm_2d_rgb888_fill_colour_with_mask_and_opacity
563
#define arm_2d_cccn888_fill_colour_with_a8_mask_and_opacity \
564
arm_2d_cccn888_fill_colour_with_mask_and_opacity
565
566
#define arm_2d_gray8_tile_copy_with_colour_keying_and_opacity( \
567
__SRC_ADDR,
/* source tile address */
\
568
__DES_ADDR,
/* target tile address */
\
569
__REGION_ADDR,
/* region address */
\
570
__ALPHA,
/* colour */
\
571
__COLOUR)
/* alpha */
\
572
arm_2dp_gray8_tile_copy_with_colour_keying_and_opacity( \
573
NULL, \
574
(__SRC_ADDR), \
575
(__DES_ADDR), \
576
(__REGION_ADDR), \
577
(__ALPHA), \
578
(__COLOUR))
579
580
#define arm_2d_rgb565_tile_copy_with_colour_keying_and_opacity( \
581
__SRC_ADDR,
/* source tile address */
\
582
__DES_ADDR,
/* target tile address */
\
583
__REGION_ADDR,
/* region address */
\
584
__ALPHA,
/* colour */
\
585
__COLOUR)
/* alpha */
\
586
arm_2dp_rgb565_tile_copy_with_colour_keying_and_opacity( \
587
NULL, \
588
(__SRC_ADDR), \
589
(__DES_ADDR), \
590
(__REGION_ADDR), \
591
(__ALPHA), \
592
(__COLOUR))
593
594
#define arm_2d_rgb888_tile_copy_with_colour_keying_and_opacity( \
595
__SRC_ADDR,
/* source tile address */
\
596
__DES_ADDR,
/* target tile address */
\
597
__REGION_ADDR,
/* region address */
\
598
__ALPHA,
/* colour */
\
599
__COLOUR)
/* alpha */
\
600
arm_2dp_cccn888_tile_copy_with_colour_keying_and_opacity( \
601
NULL, \
602
(__SRC_ADDR), \
603
(__DES_ADDR), \
604
(__REGION_ADDR), \
605
(__ALPHA), \
606
(arm_2d_color_cccn888_t){(__COLOUR).tValue})
607
608
#define arm_2d_cccn888_tile_copy_with_colour_keying_and_opacity( \
609
__SRC_ADDR,
/* source tile address */
\
610
__DES_ADDR,
/* target tile address */
\
611
__REGION_ADDR,
/* region address */
\
612
__ALPHA,
/* colour */
\
613
__COLOUR)
/* alpha */
\
614
arm_2dp_cccn888_tile_copy_with_colour_keying_and_opacity( \
615
NULL, \
616
(__SRC_ADDR), \
617
(__DES_ADDR), \
618
(__REGION_ADDR), \
619
(__ALPHA), \
620
(__COLOUR))
621
622
#define arm_2d_gray8_tile_copy_with_colour_keying_and_opacity( \
623
__SRC_ADDR,
/* source tile address */
\
624
__DES_ADDR,
/* target tile address */
\
625
__REGION_ADDR,
/* region address */
\
626
__ALPHA,
/* colour */
\
627
__COLOUR)
/* alpha */
\
628
arm_2dp_gray8_tile_copy_with_colour_keying_and_opacity( \
629
NULL, \
630
(__SRC_ADDR), \
631
(__DES_ADDR), \
632
(__REGION_ADDR), \
633
(__ALPHA), \
634
(__COLOUR))
635
636
#define arm_2d_rgb565_tile_copy_with_colour_keying_and_opacity( \
637
__SRC_ADDR,
/* source tile address */
\
638
__DES_ADDR,
/* target tile address */
\
639
__REGION_ADDR,
/* region address */
\
640
__ALPHA,
/* colour */
\
641
__COLOUR)
/* alpha */
\
642
arm_2dp_rgb565_tile_copy_with_colour_keying_and_opacity( \
643
NULL, \
644
(__SRC_ADDR), \
645
(__DES_ADDR), \
646
(__REGION_ADDR), \
647
(__ALPHA), \
648
(__COLOUR))
649
650
#define arm_2d_rgb888_tile_copy_with_colour_keying_and_opacity( \
651
__SRC_ADDR,
/* source tile address */
\
652
__DES_ADDR,
/* target tile address */
\
653
__REGION_ADDR,
/* region address */
\
654
__ALPHA,
/* colour */
\
655
__COLOUR)
/* alpha */
\
656
arm_2dp_cccn888_tile_copy_with_colour_keying_and_opacity( \
657
NULL, \
658
(__SRC_ADDR), \
659
(__DES_ADDR), \
660
(__REGION_ADDR), \
661
(__ALPHA), \
662
(arm_2d_color_cccn888_t){(__COLOUR).tValue})
663
664
#define arm_2d_cccn888_tile_copy_with_colour_keying_and_opacity( \
665
__SRC_ADDR,
/* source tile address */
\
666
__DES_ADDR,
/* target tile address */
\
667
__REGION_ADDR,
/* region address */
\
668
__ALPHA,
/* colour */
\
669
__COLOUR)
/* alpha */
\
670
arm_2dp_cccn888_tile_copy_with_colour_keying_and_opacity( \
671
NULL, \
672
(__SRC_ADDR), \
673
(__DES_ADDR), \
674
(__REGION_ADDR), \
675
(__ALPHA), \
676
(__COLOUR))
677
678
#define arm_2d_gray8_tile_copy_with_masks( \
679
__SRC_ADDR,
/* source tile address */
\
680
__SRC_MSK_ADDR,
/* source mask address */
\
681
__DES_ADDR,
/* target tile address */
\
682
__DES_MSK_ADDR,
/* target mask address */
\
683
__REGION,
/* region address */
\
684
__MODE)
/* copy mode */
\
685
arm_2dp_gray8_tile_copy_with_masks( \
686
NULL, \
687
(__SRC_ADDR), \
688
(__SRC_MSK_ADDR), \
689
(__DES_ADDR), \
690
(__DES_MSK_ADDR), \
691
(__REGION), \
692
(__MODE))
693
694
#define arm_2d_rgb565_tile_copy_with_masks( \
695
__SRC_ADDR,
/* source tile address */
\
696
__SRC_MSK_ADDR,
/* source mask address */
\
697
__DES_ADDR,
/* target tile address */
\
698
__DES_MSK_ADDR,
/* target mask address */
\
699
__REGION,
/* region address */
\
700
__MODE)
/* copy mode */
\
701
arm_2dp_rgb565_tile_copy_with_masks( \
702
NULL, \
703
(__SRC_ADDR), \
704
(__SRC_MSK_ADDR), \
705
(__DES_ADDR), \
706
(__DES_MSK_ADDR), \
707
(__REGION), \
708
(__MODE))
709
710
#define arm_2d_rgb888_tile_copy_with_masks \
711
arm_2d_cccn888_tile_copy_with_masks
712
713
#define arm_2d_cccn888_tile_copy_with_masks( \
714
__SRC_ADDR,
/* source tile address */
\
715
__SRC_MSK_ADDR,
/* source mask address */
\
716
__DES_ADDR,
/* target tile address */
\
717
__DES_MSK_ADDR,
/* target mask address */
\
718
__REGION,
/* region address */
\
719
__MODE)
/* copy mode */
\
720
arm_2dp_cccn888_tile_copy_with_masks( \
721
NULL, \
722
(__SRC_ADDR), \
723
(__SRC_MSK_ADDR), \
724
(__DES_ADDR), \
725
(__DES_MSK_ADDR), \
726
(__REGION), \
727
(__MODE))
728
729
#define arm_2d_gray8_tile_copy_with_src_mask( \
730
__SRC_ADDR,
/* source tile address */
\
731
__SRC_MSK_ADDR,
/* source mask address */
\
732
__DES_ADDR,
/* target tile address */
\
733
__REGION,
/* region address */
\
734
__MODE)
/* copy mode */
\
735
arm_2dp_gray8_tile_copy_with_src_mask( \
736
NULL, \
737
(__SRC_ADDR), \
738
(__SRC_MSK_ADDR), \
739
(__DES_ADDR), \
740
(__REGION), \
741
(__MODE))
742
743
744
#define arm_2d_rgb565_tile_copy_with_src_mask( \
745
__SRC_ADDR,
/* source tile address */
\
746
__SRC_MSK_ADDR,
/* source mask address */
\
747
__DES_ADDR,
/* target tile address */
\
748
__REGION,
/* region address */
\
749
__MODE)
/* copy mode */
\
750
arm_2dp_rgb565_tile_copy_with_src_mask( \
751
NULL, \
752
(__SRC_ADDR), \
753
(__SRC_MSK_ADDR), \
754
(__DES_ADDR), \
755
(__REGION), \
756
(__MODE))
757
758
759
#define arm_2d_rgb888_tile_copy_with_src_mask \
760
arm_2d_cccn888_tile_copy_with_src_mask
761
762
#define arm_2d_cccn888_tile_copy_with_src_mask( \
763
__SRC_ADDR,
/* source tile address */
\
764
__SRC_MSK_ADDR,
/* source mask address */
\
765
__DES_ADDR,
/* target tile address */
\
766
__REGION,
/* region address */
\
767
__MODE)
/* copy mode */
\
768
arm_2dp_cccn888_tile_copy_with_src_mask( \
769
NULL, \
770
(__SRC_ADDR), \
771
(__SRC_MSK_ADDR), \
772
(__DES_ADDR), \
773
(__REGION), \
774
(__MODE))
775
776
#define arm_2d_gray8_tile_copy_with_src_mask_only( \
777
__SRC_ADDR,
/* source tile address */
\
778
__SRC_MSK_ADDR,
/* source mask address */
\
779
__DES_ADDR,
/* target tile address */
\
780
__REGION)
/* region address */
\
781
arm_2dp_gray8_tile_copy_with_src_mask_only( \
782
NULL, \
783
(__SRC_ADDR), \
784
(__SRC_MSK_ADDR), \
785
(__DES_ADDR), \
786
(__REGION))
787
788
789
#define arm_2d_rgb565_tile_copy_with_src_mask_only( \
790
__SRC_ADDR,
/* source tile address */
\
791
__SRC_MSK_ADDR,
/* source mask address */
\
792
__DES_ADDR,
/* target tile address */
\
793
__REGION)
/* region address */
\
794
arm_2dp_rgb565_tile_copy_with_src_mask_only( \
795
NULL, \
796
(__SRC_ADDR), \
797
(__SRC_MSK_ADDR), \
798
(__DES_ADDR), \
799
(__REGION))
800
801
802
#define arm_2d_rgb888_tile_copy_with_src_mask_only \
803
arm_2d_cccn888_tile_copy_with_src_mask_only
804
805
#define arm_2d_cccn888_tile_copy_with_src_mask_only( \
806
__SRC_ADDR,
/* source tile address */
\
807
__SRC_MSK_ADDR,
/* source mask address */
\
808
__DES_ADDR,
/* target tile address */
\
809
__REGION)
/* region address */
\
810
arm_2dp_cccn888_tile_copy_with_src_mask_only( \
811
NULL, \
812
(__SRC_ADDR), \
813
(__SRC_MSK_ADDR), \
814
(__DES_ADDR), \
815
(__REGION))
816
817
#define arm_2d_gray8_tile_copy_with_src_mask_and_x_mirror( \
818
__SRC_ADDR,
/* source tile address */
\
819
__SRC_MSK_ADDR,
/* source mask address */
\
820
__DES_ADDR,
/* target tile address */
\
821
__REGION)
/* region address */
\
822
arm_2dp_gray8_tile_copy_with_src_mask_and_x_mirror( \
823
NULL, \
824
(__SRC_ADDR), \
825
(__SRC_MSK_ADDR), \
826
(__DES_ADDR), \
827
(__REGION))
828
829
830
#define arm_2d_rgb565_tile_copy_with_src_mask_and_x_mirror( \
831
__SRC_ADDR,
/* source tile address */
\
832
__SRC_MSK_ADDR,
/* source mask address */
\
833
__DES_ADDR,
/* target tile address */
\
834
__REGION)
/* region address */
\
835
arm_2dp_rgb565_tile_copy_with_src_mask_and_x_mirror( \
836
NULL, \
837
(__SRC_ADDR), \
838
(__SRC_MSK_ADDR), \
839
(__DES_ADDR), \
840
(__REGION))
841
842
843
#define arm_2d_rgb888_tile_copy_with_src_mask_and_x_mirror \
844
arm_2d_cccn888_tile_copy_with_src_mask_and_x_mirror
845
846
#define arm_2d_cccn888_tile_copy_with_src_mask_and_x_mirror( \
847
__SRC_ADDR,
/* source tile address */
\
848
__SRC_MSK_ADDR,
/* source mask address */
\
849
__DES_ADDR,
/* target tile address */
\
850
__REGION)
/* region address */
\
851
arm_2dp_cccn888_tile_copy_with_src_mask_and_x_mirror( \
852
NULL, \
853
(__SRC_ADDR), \
854
(__SRC_MSK_ADDR), \
855
(__DES_ADDR), \
856
(__REGION))
857
858
#define arm_2d_gray8_tile_copy_with_src_mask_and_y_mirror( \
859
__SRC_ADDR,
/* source tile address */
\
860
__SRC_MSK_ADDR,
/* source mask address */
\
861
__DES_ADDR,
/* target tile address */
\
862
__REGION)
/* region address */
\
863
arm_2dp_gray8_tile_copy_with_src_mask_and_y_mirror( \
864
NULL, \
865
(__SRC_ADDR), \
866
(__SRC_MSK_ADDR), \
867
(__DES_ADDR), \
868
(__REGION))
869
870
871
#define arm_2d_rgb565_tile_copy_with_src_mask_and_y_mirror( \
872
__SRC_ADDR,
/* source tile address */
\
873
__SRC_MSK_ADDR,
/* source mask address */
\
874
__DES_ADDR,
/* target tile address */
\
875
__REGION)
/* region address */
\
876
arm_2dp_rgb565_tile_copy_with_src_mask_and_y_mirror( \
877
NULL, \
878
(__SRC_ADDR), \
879
(__SRC_MSK_ADDR), \
880
(__DES_ADDR), \
881
(__REGION))
882
883
884
#define arm_2d_rgb888_tile_copy_with_src_mask_and_y_mirror \
885
arm_2d_cccn888_tile_copy_with_src_mask_and_y_mirror
886
887
#define arm_2d_cccn888_tile_copy_with_src_mask_and_y_mirror( \
888
__SRC_ADDR,
/* source tile address */
\
889
__SRC_MSK_ADDR,
/* source mask address */
\
890
__DES_ADDR,
/* target tile address */
\
891
__REGION)
/* region address */
\
892
arm_2dp_cccn888_tile_copy_with_src_mask_and_y_mirror( \
893
NULL, \
894
(__SRC_ADDR), \
895
(__SRC_MSK_ADDR), \
896
(__DES_ADDR), \
897
(__REGION))
898
899
#define arm_2d_gray8_tile_copy_with_src_mask_and_xy_mirror( \
900
__SRC_ADDR,
/* source tile address */
\
901
__SRC_MSK_ADDR,
/* source mask address */
\
902
__DES_ADDR,
/* target tile address */
\
903
__REGION)
/* region address */
\
904
arm_2dp_gray8_tile_copy_with_src_mask_and_xy_mirror( \
905
NULL, \
906
(__SRC_ADDR), \
907
(__SRC_MSK_ADDR), \
908
(__DES_ADDR), \
909
(__REGION))
910
911
912
#define arm_2d_rgb565_tile_copy_with_src_mask_and_xy_mirror( \
913
__SRC_ADDR,
/* source tile address */
\
914
__SRC_MSK_ADDR,
/* source mask address */
\
915
__DES_ADDR,
/* target tile address */
\
916
__REGION)
/* region address */
\
917
arm_2dp_rgb565_tile_copy_with_src_mask_and_xy_mirror( \
918
NULL, \
919
(__SRC_ADDR), \
920
(__SRC_MSK_ADDR), \
921
(__DES_ADDR), \
922
(__REGION))
923
924
925
#define arm_2d_rgb888_tile_copy_with_src_mask_and_xy_mirror \
926
arm_2d_cccn888_tile_copy_with_src_mask_and_xy_mirror
927
928
#define arm_2d_cccn888_tile_copy_with_src_mask_and_xy_mirror( \
929
__SRC_ADDR,
/* source tile address */
\
930
__SRC_MSK_ADDR,
/* source mask address */
\
931
__DES_ADDR,
/* target tile address */
\
932
__REGION)
/* region address */
\
933
arm_2dp_cccn888_tile_copy_with_src_mask_and_xy_mirror( \
934
NULL, \
935
(__SRC_ADDR), \
936
(__SRC_MSK_ADDR), \
937
(__DES_ADDR), \
938
(__REGION))
939
940
#define arm_2d_gray8_tile_fill_with_src_mask_only( \
941
__SRC_ADDR,
/* source tile address */
\
942
__SRC_MSK_ADDR,
/* source mask address */
\
943
__DES_ADDR,
/* target tile address */
\
944
__REGION)
/* region address */
\
945
arm_2dp_gray8_tile_fill_with_src_mask_only( \
946
NULL, \
947
(__SRC_ADDR), \
948
(__SRC_MSK_ADDR), \
949
(__DES_ADDR), \
950
(__REGION))
951
952
953
#define arm_2d_rgb565_tile_fill_with_src_mask_only( \
954
__SRC_ADDR,
/* source tile address */
\
955
__SRC_MSK_ADDR,
/* source mask address */
\
956
__DES_ADDR,
/* target tile address */
\
957
__REGION)
/* region address */
\
958
arm_2dp_rgb565_tile_fill_with_src_mask_only( \
959
NULL, \
960
(__SRC_ADDR), \
961
(__SRC_MSK_ADDR), \
962
(__DES_ADDR), \
963
(__REGION))
964
965
966
#define arm_2d_rgb888_tile_fill_with_src_mask_only \
967
arm_2d_cccn888_tile_fill_with_src_mask_only
968
969
#define arm_2d_cccn888_tile_fill_with_src_mask_only( \
970
__SRC_ADDR,
/* source tile address */
\
971
__SRC_MSK_ADDR,
/* source mask address */
\
972
__DES_ADDR,
/* target tile address */
\
973
__REGION)
/* region address */
\
974
arm_2dp_cccn888_tile_fill_with_src_mask_only( \
975
NULL, \
976
(__SRC_ADDR), \
977
(__SRC_MSK_ADDR), \
978
(__DES_ADDR), \
979
(__REGION))
980
981
#define arm_2d_gray8_tile_fill_with_src_mask_and_x_mirror( \
982
__SRC_ADDR,
/* source tile address */
\
983
__SRC_MSK_ADDR,
/* source mask address */
\
984
__DES_ADDR,
/* target tile address */
\
985
__REGION)
/* region address */
\
986
arm_2dp_gray8_tile_fill_with_src_mask_and_x_mirror( \
987
NULL, \
988
(__SRC_ADDR), \
989
(__SRC_MSK_ADDR), \
990
(__DES_ADDR), \
991
(__REGION))
992
993
994
#define arm_2d_rgb565_tile_fill_with_src_mask_and_x_mirror( \
995
__SRC_ADDR,
/* source tile address */
\
996
__SRC_MSK_ADDR,
/* source mask address */
\
997
__DES_ADDR,
/* target tile address */
\
998
__REGION)
/* region address */
\
999
arm_2dp_rgb565_tile_fill_with_src_mask_and_x_mirror( \
1000
NULL, \
1001
(__SRC_ADDR), \
1002
(__SRC_MSK_ADDR), \
1003
(__DES_ADDR), \
1004
(__REGION))
1005
1006
1007
#define arm_2d_rgb888_tile_fill_with_src_mask_and_x_mirror \
1008
arm_2d_cccn888_tile_fill_with_src_mask_and_x_mirror
1009
1010
#define arm_2d_cccn888_tile_fill_with_src_mask_and_x_mirror( \
1011
__SRC_ADDR,
/* source tile address */
\
1012
__SRC_MSK_ADDR,
/* source mask address */
\
1013
__DES_ADDR,
/* target tile address */
\
1014
__REGION)
/* region address */
\
1015
arm_2dp_cccn888_tile_fill_with_src_mask_and_x_mirror( \
1016
NULL, \
1017
(__SRC_ADDR), \
1018
(__SRC_MSK_ADDR), \
1019
(__DES_ADDR), \
1020
(__REGION))
1021
1022
#define arm_2d_gray8_tile_fill_with_src_mask_and_y_mirror( \
1023
__SRC_ADDR,
/* source tile address */
\
1024
__SRC_MSK_ADDR,
/* source mask address */
\
1025
__DES_ADDR,
/* target tile address */
\
1026
__REGION)
/* region address */
\
1027
arm_2dp_gray8_tile_fill_with_src_mask_and_y_mirror( \
1028
NULL, \
1029
(__SRC_ADDR), \
1030
(__SRC_MSK_ADDR), \
1031
(__DES_ADDR), \
1032
(__REGION))
1033
1034
1035
#define arm_2d_rgb565_tile_fill_with_src_mask_and_y_mirror( \
1036
__SRC_ADDR,
/* source tile address */
\
1037
__SRC_MSK_ADDR,
/* source mask address */
\
1038
__DES_ADDR,
/* target tile address */
\
1039
__REGION)
/* region address */
\
1040
arm_2dp_rgb565_tile_fill_with_src_mask_and_y_mirror( \
1041
NULL, \
1042
(__SRC_ADDR), \
1043
(__SRC_MSK_ADDR), \
1044
(__DES_ADDR), \
1045
(__REGION))
1046
1047
1048
#define arm_2d_rgb888_tile_fill_with_src_mask_and_y_mirror \
1049
arm_2d_cccn888_tile_fill_with_src_mask_and_y_mirror
1050
1051
#define arm_2d_cccn888_tile_fill_with_src_mask_and_y_mirror( \
1052
__SRC_ADDR,
/* source tile address */
\
1053
__SRC_MSK_ADDR,
/* source mask address */
\
1054
__DES_ADDR,
/* target tile address */
\
1055
__REGION)
/* region address */
\
1056
arm_2dp_cccn888_tile_fill_with_src_mask_and_y_mirror( \
1057
NULL, \
1058
(__SRC_ADDR), \
1059
(__SRC_MSK_ADDR), \
1060
(__DES_ADDR), \
1061
(__REGION))
1062
1063
#define arm_2d_gray8_tile_fill_with_src_mask_and_xy_mirror( \
1064
__SRC_ADDR,
/* source tile address */
\
1065
__SRC_MSK_ADDR,
/* source mask address */
\
1066
__DES_ADDR,
/* target tile address */
\
1067
__REGION)
/* region address */
\
1068
arm_2dp_gray8_tile_fill_with_src_mask_and_xy_mirror( \
1069
NULL, \
1070
(__SRC_ADDR), \
1071
(__SRC_MSK_ADDR), \
1072
(__DES_ADDR), \
1073
(__REGION))
1074
1075
1076
#define arm_2d_rgb565_tile_fill_with_src_mask_and_xy_mirror( \
1077
__SRC_ADDR,
/* source tile address */
\
1078
__SRC_MSK_ADDR,
/* source mask address */
\
1079
__DES_ADDR,
/* target tile address */
\
1080
__REGION)
/* region address */
\
1081
arm_2dp_rgb565_tile_fill_with_src_mask_and_xy_mirror( \
1082
NULL, \
1083
(__SRC_ADDR), \
1084
(__SRC_MSK_ADDR), \
1085
(__DES_ADDR), \
1086
(__REGION))
1087
1088
1089
#define arm_2d_rgb888_tile_fill_with_src_mask_and_xy_mirror \
1090
arm_2d_cccn888_tile_fill_with_src_mask_and_xy_mirror
1091
1092
#define arm_2d_cccn888_tile_fill_with_src_mask_and_xy_mirror( \
1093
__SRC_ADDR,
/* source tile address */
\
1094
__SRC_MSK_ADDR,
/* source mask address */
\
1095
__DES_ADDR,
/* target tile address */
\
1096
__REGION)
/* region address */
\
1097
arm_2dp_cccn888_tile_fill_with_src_mask_and_xy_mirror( \
1098
NULL, \
1099
(__SRC_ADDR), \
1100
(__SRC_MSK_ADDR), \
1101
(__DES_ADDR), \
1102
(__REGION))
1103
1104
#define arm_2d_gray8_tile_copy_with_masks_only( \
1105
__SRC_ADDR,
/* source tile address */
\
1106
__SRC_MSK_ADDR,
/* source mask address */
\
1107
__DES_ADDR,
/* target tile address */
\
1108
__DES_MSK_ADDR,
/* target mask address */
\
1109
__REGION)
/* region address */
\
1110
arm_2dp_gray8_tile_copy_with_masks_only( \
1111
NULL, \
1112
(__SRC_ADDR), \
1113
(__SRC_MSK_ADDR), \
1114
(__DES_ADDR), \
1115
(__DES_MSK_ADDR), \
1116
(__REGION))
1117
1118
1119
#define arm_2d_rgb565_tile_copy_with_masks_only( \
1120
__SRC_ADDR,
/* source tile address */
\
1121
__SRC_MSK_ADDR,
/* source mask address */
\
1122
__DES_ADDR,
/* target tile address */
\
1123
__DES_MSK_ADDR,
/* target mask address */
\
1124
__REGION)
/* region address */
\
1125
arm_2dp_rgb565_tile_copy_with_masks_only( \
1126
NULL, \
1127
(__SRC_ADDR), \
1128
(__SRC_MSK_ADDR), \
1129
(__DES_ADDR), \
1130
(__DES_MSK_ADDR), \
1131
(__REGION))
1132
1133
1134
#define arm_2d_rgb888_tile_copy_with_masks_only \
1135
arm_2d_cccn888_tile_copy_with_masks_only
1136
1137
#define arm_2d_cccn888_tile_copy_with_masks_only( \
1138
__SRC_ADDR,
/* source tile address */
\
1139
__SRC_MSK_ADDR,
/* source mask address */
\
1140
__DES_ADDR,
/* target tile address */
\
1141
__DES_MSK_ADDR,
/* target mask address */
\
1142
__REGION)
/* region address */
\
1143
arm_2dp_cccn888_tile_copy_with_masks_only( \
1144
NULL, \
1145
(__SRC_ADDR), \
1146
(__SRC_MSK_ADDR), \
1147
(__DES_ADDR), \
1148
(__DES_MSK_ADDR), \
1149
(__REGION))
1150
1151
#define arm_2d_gray8_tile_copy_with_masks_and_x_mirror( \
1152
__SRC_ADDR,
/* source tile address */
\
1153
__SRC_MSK_ADDR,
/* source mask address */
\
1154
__DES_ADDR,
/* target tile address */
\
1155
__DES_MSK_ADDR,
/* target mask address */
\
1156
__REGION)
/* region address */
\
1157
arm_2dp_gray8_tile_copy_with_masks_and_x_mirror( \
1158
NULL, \
1159
(__SRC_ADDR), \
1160
(__SRC_MSK_ADDR), \
1161
(__DES_ADDR), \
1162
(__DES_MSK_ADDR), \
1163
(__REGION))
1164
1165
1166
#define arm_2d_rgb565_tile_copy_with_masks_and_x_mirror( \
1167
__SRC_ADDR,
/* source tile address */
\
1168
__SRC_MSK_ADDR,
/* source mask address */
\
1169
__DES_ADDR,
/* target tile address */
\
1170
__DES_MSK_ADDR,
/* target mask address */
\
1171
__REGION)
/* region address */
\
1172
arm_2dp_rgb565_tile_copy_with_masks_and_x_mirror( \
1173
NULL, \
1174
(__SRC_ADDR), \
1175
(__SRC_MSK_ADDR), \
1176
(__DES_ADDR), \
1177
(__DES_MSK_ADDR), \
1178
(__REGION))
1179
1180
1181
#define arm_2d_rgb888_tile_copy_with_masks_and_x_mirror \
1182
arm_2d_cccn888_tile_copy_with_masks_and_x_mirror
1183
1184
#define arm_2d_cccn888_tile_copy_with_masks_and_x_mirror( \
1185
__SRC_ADDR,
/* source tile address */
\
1186
__SRC_MSK_ADDR,
/* source mask address */
\
1187
__DES_ADDR,
/* target tile address */
\
1188
__DES_MSK_ADDR,
/* target mask address */
\
1189
__REGION)
/* region address */
\
1190
arm_2dp_cccn888_tile_copy_with_masks_and_x_mirror( \
1191
NULL, \
1192
(__SRC_ADDR), \
1193
(__SRC_MSK_ADDR), \
1194
(__DES_ADDR), \
1195
(__DES_MSK_ADDR), \
1196
(__REGION))
1197
1198
#define arm_2d_gray8_tile_copy_with_masks_and_y_mirror( \
1199
__SRC_ADDR,
/* source tile address */
\
1200
__SRC_MSK_ADDR,
/* source mask address */
\
1201
__DES_ADDR,
/* target tile address */
\
1202
__DES_MSK_ADDR,
/* target mask address */
\
1203
__REGION)
/* region address */
\
1204
arm_2dp_gray8_tile_copy_with_masks_and_y_mirror( \
1205
NULL, \
1206
(__SRC_ADDR), \
1207
(__SRC_MSK_ADDR), \
1208
(__DES_ADDR), \
1209
(__DES_MSK_ADDR), \
1210
(__REGION))
1211
1212
1213
#define arm_2d_rgb565_tile_copy_with_masks_and_y_mirror( \
1214
__SRC_ADDR,
/* source tile address */
\
1215
__SRC_MSK_ADDR,
/* source mask address */
\
1216
__DES_ADDR,
/* target tile address */
\
1217
__DES_MSK_ADDR,
/* target mask address */
\
1218
__REGION)
/* region address */
\
1219
arm_2dp_rgb565_tile_copy_with_masks_and_y_mirror( \
1220
NULL, \
1221
(__SRC_ADDR), \
1222
(__SRC_MSK_ADDR), \
1223
(__DES_ADDR), \
1224
(__DES_MSK_ADDR), \
1225
(__REGION))
1226
1227
1228
#define arm_2d_rgb888_tile_copy_with_masks_and_y_mirror \
1229
arm_2d_cccn888_tile_copy_with_masks_and_y_mirror
1230
1231
#define arm_2d_cccn888_tile_copy_with_masks_and_y_mirror( \
1232
__SRC_ADDR,
/* source tile address */
\
1233
__SRC_MSK_ADDR,
/* source mask address */
\
1234
__DES_ADDR,
/* target tile address */
\
1235
__DES_MSK_ADDR,
/* target mask address */
\
1236
__REGION)
/* region address */
\
1237
arm_2dp_cccn888_tile_copy_with_masks_and_y_mirror( \
1238
NULL, \
1239
(__SRC_ADDR), \
1240
(__SRC_MSK_ADDR), \
1241
(__DES_ADDR), \
1242
(__DES_MSK_ADDR), \
1243
(__REGION))
1244
1245
#define arm_2d_gray8_tile_copy_with_masks_and_xy_mirror( \
1246
__SRC_ADDR,
/* source tile address */
\
1247
__SRC_MSK_ADDR,
/* source mask address */
\
1248
__DES_ADDR,
/* target tile address */
\
1249
__DES_MSK_ADDR,
/* target mask address */
\
1250
__REGION)
/* region address */
\
1251
arm_2dp_gray8_tile_copy_with_masks_and_xy_mirror( \
1252
NULL, \
1253
(__SRC_ADDR), \
1254
(__SRC_MSK_ADDR), \
1255
(__DES_ADDR), \
1256
(__DES_MSK_ADDR), \
1257
(__REGION))
1258
1259
1260
#define arm_2d_rgb565_tile_copy_with_masks_and_xy_mirror( \
1261
__SRC_ADDR,
/* source tile address */
\
1262
__SRC_MSK_ADDR,
/* source mask address */
\
1263
__DES_ADDR,
/* target tile address */
\
1264
__DES_MSK_ADDR,
/* target mask address */
\
1265
__REGION)
/* region address */
\
1266
arm_2dp_rgb565_tile_copy_with_masks_and_xy_mirror( \
1267
NULL, \
1268
(__SRC_ADDR), \
1269
(__SRC_MSK_ADDR), \
1270
(__DES_ADDR), \
1271
(__DES_MSK_ADDR), \
1272
(__REGION))
1273
1274
1275
#define arm_2d_rgb888_tile_copy_with_masks_and_xy_mirror \
1276
arm_2d_cccn888_tile_copy_with_masks_and_xy_mirror
1277
1278
#define arm_2d_cccn888_tile_copy_with_masks_and_xy_mirror( \
1279
__SRC_ADDR,
/* source tile address */
\
1280
__SRC_MSK_ADDR,
/* source mask address */
\
1281
__DES_ADDR,
/* target tile address */
\
1282
__DES_MSK_ADDR,
/* target mask address */
\
1283
__REGION)
/* region address */
\
1284
arm_2dp_cccn888_tile_copy_with_masks_and_xy_mirror( \
1285
NULL, \
1286
(__SRC_ADDR), \
1287
(__SRC_MSK_ADDR), \
1288
(__DES_ADDR), \
1289
(__DES_MSK_ADDR), \
1290
(__REGION))
1291
1292
#define arm_2d_gray8_tile_fill_with_masks_only( \
1293
__SRC_ADDR,
/* source tile address */
\
1294
__SRC_MSK_ADDR,
/* source mask address */
\
1295
__DES_ADDR,
/* target tile address */
\
1296
__DES_MSK_ADDR,
/* target mask address */
\
1297
__REGION)
/* region address */
\
1298
arm_2dp_gray8_tile_fill_with_masks_only( \
1299
NULL, \
1300
(__SRC_ADDR), \
1301
(__SRC_MSK_ADDR), \
1302
(__DES_ADDR), \
1303
(__DES_MSK_ADDR), \
1304
(__REGION))
1305
1306
1307
#define arm_2d_rgb565_tile_fill_with_masks_only( \
1308
__SRC_ADDR,
/* source tile address */
\
1309
__SRC_MSK_ADDR,
/* source mask address */
\
1310
__DES_ADDR,
/* target tile address */
\
1311
__DES_MSK_ADDR,
/* target mask address */
\
1312
__REGION)
/* region address */
\
1313
arm_2dp_rgb565_tile_fill_with_masks_only( \
1314
NULL, \
1315
(__SRC_ADDR), \
1316
(__SRC_MSK_ADDR), \
1317
(__DES_ADDR), \
1318
(__DES_MSK_ADDR), \
1319
(__REGION))
1320
1321
1322
#define arm_2d_rgb888_tile_fill_with_masks_only \
1323
arm_2d_cccn888_tile_fill_with_masks_only
1324
1325
#define arm_2d_cccn888_tile_fill_with_masks_only( \
1326
__SRC_ADDR,
/* source tile address */
\
1327
__SRC_MSK_ADDR,
/* source mask address */
\
1328
__DES_ADDR,
/* target tile address */
\
1329
__DES_MSK_ADDR,
/* target mask address */
\
1330
__REGION)
/* region address */
\
1331
arm_2dp_cccn888_tile_fill_with_masks_only( \
1332
NULL, \
1333
(__SRC_ADDR), \
1334
(__SRC_MSK_ADDR), \
1335
(__DES_ADDR), \
1336
(__DES_MSK_ADDR), \
1337
(__REGION))
1338
1339
#define arm_2d_gray8_tile_fill_with_masks_and_x_mirror( \
1340
__SRC_ADDR,
/* source tile address */
\
1341
__SRC_MSK_ADDR,
/* source mask address */
\
1342
__DES_ADDR,
/* target tile address */
\
1343
__DES_MSK_ADDR,
/* target mask address */
\
1344
__REGION)
/* region address */
\
1345
arm_2dp_gray8_tile_fill_with_masks_and_x_mirror( \
1346
NULL, \
1347
(__SRC_ADDR), \
1348
(__SRC_MSK_ADDR), \
1349
(__DES_ADDR), \
1350
(__DES_MSK_ADDR), \
1351
(__REGION))
1352
1353
1354
#define arm_2d_rgb565_tile_fill_with_masks_and_x_mirror( \
1355
__SRC_ADDR,
/* source tile address */
\
1356
__SRC_MSK_ADDR,
/* source mask address */
\
1357
__DES_ADDR,
/* target tile address */
\
1358
__DES_MSK_ADDR,
/* target mask address */
\
1359
__REGION)
/* region address */
\
1360
arm_2dp_rgb565_tile_fill_with_masks_and_x_mirror( \
1361
NULL, \
1362
(__SRC_ADDR), \
1363
(__SRC_MSK_ADDR), \
1364
(__DES_ADDR), \
1365
(__DES_MSK_ADDR), \
1366
(__REGION))
1367
1368
1369
#define arm_2d_rgb888_tile_fill_with_masks_and_x_mirror \
1370
arm_2d_cccn888_tile_fill_with_masks_and_x_mirror
1371
1372
#define arm_2d_cccn888_tile_fill_with_masks_and_x_mirror( \
1373
__SRC_ADDR,
/* source tile address */
\
1374
__SRC_MSK_ADDR,
/* source mask address */
\
1375
__DES_ADDR,
/* target tile address */
\
1376
__DES_MSK_ADDR,
/* target mask address */
\
1377
__REGION)
/* region address */
\
1378
arm_2dp_cccn888_tile_fill_with_masks_and_x_mirror( \
1379
NULL, \
1380
(__SRC_ADDR), \
1381
(__SRC_MSK_ADDR), \
1382
(__DES_ADDR), \
1383
(__DES_MSK_ADDR), \
1384
(__REGION))
1385
1386
#define arm_2d_gray8_tile_fill_with_masks_and_y_mirror( \
1387
__SRC_ADDR,
/* source tile address */
\
1388
__SRC_MSK_ADDR,
/* source mask address */
\
1389
__DES_ADDR,
/* target tile address */
\
1390
__DES_MSK_ADDR,
/* target mask address */
\
1391
__REGION)
/* region address */
\
1392
arm_2dp_gray8_tile_fill_with_masks_and_y_mirror( \
1393
NULL, \
1394
(__SRC_ADDR), \
1395
(__SRC_MSK_ADDR), \
1396
(__DES_ADDR), \
1397
(__DES_MSK_ADDR), \
1398
(__REGION))
1399
1400
1401
#define arm_2d_rgb565_tile_fill_with_masks_and_y_mirror( \
1402
__SRC_ADDR,
/* source tile address */
\
1403
__SRC_MSK_ADDR,
/* source mask address */
\
1404
__DES_ADDR,
/* target tile address */
\
1405
__DES_MSK_ADDR,
/* target mask address */
\
1406
__REGION)
/* region address */
\
1407
arm_2dp_rgb565_tile_fill_with_masks_and_y_mirror( \
1408
NULL, \
1409
(__SRC_ADDR), \
1410
(__SRC_MSK_ADDR), \
1411
(__DES_ADDR), \
1412
(__DES_MSK_ADDR), \
1413
(__REGION))
1414
1415
1416
#define arm_2d_rgb888_tile_fill_with_masks_and_y_mirror \
1417
arm_2d_cccn888_tile_fill_with_masks_and_y_mirror
1418
1419
#define arm_2d_cccn888_tile_fill_with_masks_and_y_mirror( \
1420
__SRC_ADDR,
/* source tile address */
\
1421
__SRC_MSK_ADDR,
/* source mask address */
\
1422
__DES_ADDR,
/* target tile address */
\
1423
__DES_MSK_ADDR,
/* target mask address */
\
1424
__REGION)
/* region address */
\
1425
arm_2dp_cccn888_tile_fill_with_masks_and_y_mirror( \
1426
NULL, \
1427
(__SRC_ADDR), \
1428
(__SRC_MSK_ADDR), \
1429
(__DES_ADDR), \
1430
(__DES_MSK_ADDR), \
1431
(__REGION))
1432
1433
#define arm_2d_gray8_tile_fill_with_masks_and_xy_mirror( \
1434
__SRC_ADDR,
/* source tile address */
\
1435
__SRC_MSK_ADDR,
/* source mask address */
\
1436
__DES_ADDR,
/* target tile address */
\
1437
__DES_MSK_ADDR,
/* target mask address */
\
1438
__REGION)
/* region address */
\
1439
arm_2dp_gray8_tile_fill_with_masks_and_xy_mirror( \
1440
NULL, \
1441
(__SRC_ADDR), \
1442
(__SRC_MSK_ADDR), \
1443
(__DES_ADDR), \
1444
(__DES_MSK_ADDR), \
1445
(__REGION))
1446
1447
1448
#define arm_2d_rgb565_tile_fill_with_masks_and_xy_mirror( \
1449
__SRC_ADDR,
/* source tile address */
\
1450
__SRC_MSK_ADDR,
/* source mask address */
\
1451
__DES_ADDR,
/* target tile address */
\
1452
__DES_MSK_ADDR,
/* target mask address */
\
1453
__REGION)
/* region address */
\
1454
arm_2dp_rgb565_tile_fill_with_masks_and_xy_mirror( \
1455
NULL, \
1456
(__SRC_ADDR), \
1457
(__SRC_MSK_ADDR), \
1458
(__DES_ADDR), \
1459
(__DES_MSK_ADDR), \
1460
(__REGION))
1461
1462
1463
#define arm_2d_rgb888_tile_fill_with_masks_and_xy_mirror \
1464
arm_2d_cccn888_tile_fill_with_masks_and_xy_mirror
1465
1466
#define arm_2d_cccn888_tile_fill_with_masks_and_xy_mirror( \
1467
__SRC_ADDR,
/* source tile address */
\
1468
__SRC_MSK_ADDR,
/* source mask address */
\
1469
__DES_ADDR,
/* target tile address */
\
1470
__DES_MSK_ADDR,
/* target mask address */
\
1471
__REGION)
/* region address */
\
1472
arm_2dp_cccn888_tile_fill_with_masks_and_xy_mirror( \
1473
NULL, \
1474
(__SRC_ADDR), \
1475
(__SRC_MSK_ADDR), \
1476
(__DES_ADDR), \
1477
(__DES_MSK_ADDR), \
1478
(__REGION))
1479
1480
1481
#define arm_2d_gray8_tile_copy_with_des_mask( \
1482
__SRC_ADDR,
/* source tile address */
\
1483
__DES_ADDR,
/* target tile address */
\
1484
__DES_MSK_ADDR,
/* target mask address */
\
1485
__REGION,
/* region address */
\
1486
__MODE)
/* copy mode */
\
1487
arm_2dp_gray8_tile_copy_with_des_mask( \
1488
NULL, \
1489
(__SRC_ADDR), \
1490
(__DES_ADDR), \
1491
(__DES_MSK_ADDR), \
1492
(__REGION), \
1493
(__MODE))
1494
1495
#define arm_2d_rgb565_tile_copy_with_des_mask( \
1496
__SRC_ADDR,
/* source tile address */
\
1497
__DES_ADDR,
/* target tile address */
\
1498
__DES_MSK_ADDR,
/* target mask address */
\
1499
__REGION,
/* region address */
\
1500
__MODE)
/* copy mode */
\
1501
arm_2dp_rgb565_tile_copy_with_des_mask( \
1502
NULL, \
1503
(__SRC_ADDR), \
1504
(__DES_ADDR), \
1505
(__DES_MSK_ADDR), \
1506
(__REGION), \
1507
(__MODE))
1508
1509
#define arm_2d_rgb888_tile_copy_with_des_mask \
1510
arm_2d_cccn888_tile_copy_with_des_mask
1511
1512
#define arm_2d_cccn888_tile_copy_with_des_mask( \
1513
__SRC_ADDR,
/* source tile address */
\
1514
__DES_ADDR,
/* target tile address */
\
1515
__DES_MSK_ADDR,
/* target mask address */
\
1516
__REGION,
/* region address */
\
1517
__MODE)
/* copy mode */
\
1518
arm_2dp_cccn888_tile_copy_with_des_mask( \
1519
NULL, \
1520
(__SRC_ADDR), \
1521
(__DES_ADDR), \
1522
(__DES_MSK_ADDR), \
1523
(__REGION), \
1524
(__MODE))
1525
1526
1527
#define arm_2d_gray8_tile_copy_with_des_mask_only( \
1528
__SRC_ADDR,
/* source tile address */
\
1529
__DES_ADDR,
/* target tile address */
\
1530
__DES_MSK_ADDR,
/* target mask address */
\
1531
__REGION)
/* region address */
\
1532
arm_2dp_gray8_tile_copy_with_des_mask_only( \
1533
NULL, \
1534
(__SRC_ADDR), \
1535
(__DES_ADDR), \
1536
(__DES_MSK_ADDR), \
1537
(__REGION))
1538
1539
1540
#define arm_2d_rgb565_tile_copy_with_des_mask_only( \
1541
__SRC_ADDR,
/* source tile address */
\
1542
__DES_ADDR,
/* target tile address */
\
1543
__DES_MSK_ADDR,
/* target mask address */
\
1544
__REGION)
/* region address */
\
1545
arm_2dp_rgb565_tile_copy_with_des_mask_only( \
1546
NULL, \
1547
(__SRC_ADDR), \
1548
(__DES_ADDR), \
1549
(__DES_MSK_ADDR), \
1550
(__REGION))
1551
1552
1553
#define arm_2d_rgb888_tile_copy_with_des_mask_only \
1554
arm_2d_cccn888_tile_copy_with_des_mask_only
1555
1556
#define arm_2d_cccn888_tile_copy_with_des_mask_only( \
1557
__SRC_ADDR,
/* source tile address */
\
1558
__DES_ADDR,
/* target tile address */
\
1559
__DES_MSK_ADDR,
/* target mask address */
\
1560
__REGION)
/* region address */
\
1561
arm_2dp_cccn888_tile_copy_with_des_mask_only( \
1562
NULL, \
1563
(__SRC_ADDR), \
1564
(__DES_ADDR), \
1565
(__DES_MSK_ADDR), \
1566
(__REGION))
1567
1568
#define arm_2d_gray8_tile_copy_with_des_mask_and_x_mirror( \
1569
__SRC_ADDR,
/* source tile address */
\
1570
__DES_ADDR,
/* target tile address */
\
1571
__DES_MSK_ADDR,
/* target mask address */
\
1572
__REGION)
/* region address */
\
1573
arm_2dp_gray8_tile_copy_with_des_mask_and_x_mirror( \
1574
NULL, \
1575
(__SRC_ADDR), \
1576
(__DES_ADDR), \
1577
(__DES_MSK_ADDR), \
1578
(__REGION))
1579
1580
1581
#define arm_2d_rgb565_tile_copy_with_des_mask_and_x_mirror( \
1582
__SRC_ADDR,
/* source tile address */
\
1583
__DES_ADDR,
/* target tile address */
\
1584
__DES_MSK_ADDR,
/* target mask address */
\
1585
__REGION)
/* region address */
\
1586
arm_2dp_rgb565_tile_copy_with_des_mask_and_x_mirror( \
1587
NULL, \
1588
(__SRC_ADDR), \
1589
(__DES_ADDR), \
1590
(__DES_MSK_ADDR), \
1591
(__REGION))
1592
1593
1594
#define arm_2d_rgb888_tile_copy_with_des_mask_and_x_mirror \
1595
arm_2d_cccn888_tile_copy_with_des_mask_and_x_mirror
1596
1597
#define arm_2d_cccn888_tile_copy_with_des_mask_and_x_mirror( \
1598
__SRC_ADDR,
/* source tile address */
\
1599
__DES_ADDR,
/* target tile address */
\
1600
__DES_MSK_ADDR,
/* target mask address */
\
1601
__REGION)
/* region address */
\
1602
arm_2dp_cccn888_tile_copy_with_des_mask_and_x_mirror( \
1603
NULL, \
1604
(__SRC_ADDR), \
1605
(__DES_ADDR), \
1606
(__DES_MSK_ADDR), \
1607
(__REGION))
1608
1609
#define arm_2d_gray8_tile_copy_with_des_mask_and_y_mirror( \
1610
__SRC_ADDR,
/* source tile address */
\
1611
__DES_ADDR,
/* target tile address */
\
1612
__DES_MSK_ADDR,
/* target mask address */
\
1613
__REGION)
/* region address */
\
1614
arm_2dp_gray8_tile_copy_with_des_mask_and_y_mirror( \
1615
NULL, \
1616
(__SRC_ADDR), \
1617
(__DES_ADDR), \
1618
(__DES_MSK_ADDR), \
1619
(__REGION))
1620
1621
1622
#define arm_2d_rgb565_tile_copy_with_des_mask_and_y_mirror( \
1623
__SRC_ADDR,
/* source tile address */
\
1624
__DES_ADDR,
/* target tile address */
\
1625
__DES_MSK_ADDR,
/* target mask address */
\
1626
__REGION)
/* region address */
\
1627
arm_2dp_rgb565_tile_copy_with_des_mask_and_y_mirror( \
1628
NULL, \
1629
(__SRC_ADDR), \
1630
(__DES_ADDR), \
1631
(__DES_MSK_ADDR), \
1632
(__REGION))
1633
1634
1635
#define arm_2d_rgb888_tile_copy_with_des_mask_and_y_mirror \
1636
arm_2d_cccn888_tile_copy_with_des_mask_and_y_mirror
1637
1638
#define arm_2d_cccn888_tile_copy_with_des_mask_and_y_mirror( \
1639
__SRC_ADDR,
/* source tile address */
\
1640
__DES_ADDR,
/* target tile address */
\
1641
__DES_MSK_ADDR,
/* target mask address */
\
1642
__REGION)
/* region address */
\
1643
arm_2dp_cccn888_tile_copy_with_des_mask_and_y_mirror( \
1644
NULL, \
1645
(__SRC_ADDR), \
1646
(__DES_ADDR), \
1647
(__DES_MSK_ADDR), \
1648
(__REGION))
1649
1650
#define arm_2d_gray8_tile_copy_with_des_mask_and_xy_mirror( \
1651
__SRC_ADDR,
/* source tile address */
\
1652
__DES_ADDR,
/* target tile address */
\
1653
__DES_MSK_ADDR,
/* target mask address */
\
1654
__REGION)
/* region address */
\
1655
arm_2dp_gray8_tile_copy_with_des_mask_and_xy_mirror( \
1656
NULL, \
1657
(__SRC_ADDR), \
1658
(__DES_ADDR), \
1659
(__DES_MSK_ADDR), \
1660
(__REGION))
1661
1662
1663
#define arm_2d_rgb565_tile_copy_with_des_mask_and_xy_mirror( \
1664
__SRC_ADDR,
/* source tile address */
\
1665
__DES_ADDR,
/* target tile address */
\
1666
__DES_MSK_ADDR,
/* target mask address */
\
1667
__REGION)
/* region address */
\
1668
arm_2dp_rgb565_tile_copy_with_des_mask_and_xy_mirror( \
1669
NULL, \
1670
(__SRC_ADDR), \
1671
(__DES_ADDR), \
1672
(__DES_MSK_ADDR), \
1673
(__REGION))
1674
1675
1676
#define arm_2d_rgb888_tile_copy_with_des_mask_and_xy_mirror \
1677
arm_2d_cccn888_tile_copy_with_des_mask_and_xy_mirror
1678
1679
#define arm_2d_cccn888_tile_copy_with_des_mask_and_xy_mirror( \
1680
__SRC_ADDR,
/* source tile address */
\
1681
__DES_ADDR,
/* target tile address */
\
1682
__DES_MSK_ADDR,
/* target mask address */
\
1683
__REGION)
/* region address */
\
1684
arm_2dp_cccn888_tile_copy_with_des_mask_and_xy_mirror( \
1685
NULL, \
1686
(__SRC_ADDR), \
1687
(__DES_ADDR), \
1688
(__DES_MSK_ADDR), \
1689
(__REGION))
1690
1691
#define arm_2d_gray8_tile_fill_with_des_mask_only( \
1692
__SRC_ADDR,
/* source tile address */
\
1693
__DES_ADDR,
/* target tile address */
\
1694
__DES_MSK_ADDR,
/* target mask address */
\
1695
__REGION)
/* region address */
\
1696
arm_2dp_gray8_tile_fill_with_des_mask_only( \
1697
NULL, \
1698
(__SRC_ADDR), \
1699
(__DES_ADDR), \
1700
(__DES_MSK_ADDR), \
1701
(__REGION))
1702
1703
1704
#define arm_2d_rgb565_tile_fill_with_des_mask_only( \
1705
__SRC_ADDR,
/* source tile address */
\
1706
__DES_ADDR,
/* target tile address */
\
1707
__DES_MSK_ADDR,
/* target mask address */
\
1708
__REGION)
/* region address */
\
1709
arm_2dp_rgb565_tile_fill_with_des_mask_only( \
1710
NULL, \
1711
(__SRC_ADDR), \
1712
(__DES_ADDR), \
1713
(__DES_MSK_ADDR), \
1714
(__REGION))
1715
1716
1717
#define arm_2d_rgb888_tile_fill_with_des_mask_only \
1718
arm_2d_cccn888_tile_fill_with_des_mask_only
1719
1720
#define arm_2d_cccn888_tile_fill_with_des_mask_only( \
1721
__SRC_ADDR,
/* source tile address */
\
1722
__DES_ADDR,
/* target tile address */
\
1723
__DES_MSK_ADDR,
/* target mask address */
\
1724
__REGION)
/* region address */
\
1725
arm_2dp_cccn888_tile_fill_with_des_mask_only( \
1726
NULL, \
1727
(__SRC_ADDR), \
1728
(__DES_ADDR), \
1729
(__DES_MSK_ADDR), \
1730
(__REGION))
1731
1732
#define arm_2d_gray8_tile_fill_with_des_mask_and_x_mirror( \
1733
__SRC_ADDR,
/* source tile address */
\
1734
__DES_ADDR,
/* target tile address */
\
1735
__DES_MSK_ADDR,
/* target mask address */
\
1736
__REGION)
/* region address */
\
1737
arm_2dp_gray8_tile_fill_with_des_mask_and_x_mirror( \
1738
NULL, \
1739
(__SRC_ADDR), \
1740
(__DES_ADDR), \
1741
(__DES_MSK_ADDR), \
1742
(__REGION))
1743
1744
1745
#define arm_2d_rgb565_tile_fill_with_des_mask_and_x_mirror( \
1746
__SRC_ADDR,
/* source tile address */
\
1747
__DES_ADDR,
/* target tile address */
\
1748
__DES_MSK_ADDR,
/* target mask address */
\
1749
__REGION)
/* region address */
\
1750
arm_2dp_rgb565_tile_fill_with_des_mask_and_x_mirror( \
1751
NULL, \
1752
(__SRC_ADDR), \
1753
(__DES_ADDR), \
1754
(__DES_MSK_ADDR), \
1755
(__REGION))
1756
1757
1758
#define arm_2d_rgb888_tile_fill_with_des_mask_and_x_mirror \
1759
arm_2d_cccn888_tile_fill_with_des_mask_and_x_mirror
1760
1761
#define arm_2d_cccn888_tile_fill_with_des_mask_and_x_mirror( \
1762
__SRC_ADDR,
/* source tile address */
\
1763
__DES_ADDR,
/* target tile address */
\
1764
__DES_MSK_ADDR,
/* target mask address */
\
1765
__REGION)
/* region address */
\
1766
arm_2dp_cccn888_tile_fill_with_des_mask_and_x_mirror( \
1767
NULL, \
1768
(__SRC_ADDR), \
1769
(__DES_ADDR), \
1770
(__DES_MSK_ADDR), \
1771
(__REGION))
1772
1773
#define arm_2d_gray8_tile_fill_with_des_mask_and_y_mirror( \
1774
__SRC_ADDR,
/* source tile address */
\
1775
__DES_ADDR,
/* target tile address */
\
1776
__DES_MSK_ADDR,
/* target mask address */
\
1777
__REGION)
/* region address */
\
1778
arm_2dp_gray8_tile_fill_with_des_mask_and_y_mirror( \
1779
NULL, \
1780
(__SRC_ADDR), \
1781
(__DES_ADDR), \
1782
(__DES_MSK_ADDR), \
1783
(__REGION))
1784
1785
1786
#define arm_2d_rgb565_tile_fill_with_des_mask_and_y_mirror( \
1787
__SRC_ADDR,
/* source tile address */
\
1788
__DES_ADDR,
/* target tile address */
\
1789
__DES_MSK_ADDR,
/* target mask address */
\
1790
__REGION)
/* region address */
\
1791
arm_2dp_rgb565_tile_fill_with_des_mask_and_y_mirror( \
1792
NULL, \
1793
(__SRC_ADDR), \
1794
(__DES_ADDR), \
1795
(__DES_MSK_ADDR), \
1796
(__REGION))
1797
1798
1799
#define arm_2d_rgb888_tile_fill_with_des_mask_and_y_mirror \
1800
arm_2d_cccn888_tile_fill_with_des_mask_and_y_mirror
1801
1802
#define arm_2d_cccn888_tile_fill_with_des_mask_and_y_mirror( \
1803
__SRC_ADDR,
/* source tile address */
\
1804
__DES_ADDR,
/* target tile address */
\
1805
__DES_MSK_ADDR,
/* target mask address */
\
1806
__REGION)
/* region address */
\
1807
arm_2dp_cccn888_tile_fill_with_des_mask_and_y_mirror( \
1808
NULL, \
1809
(__SRC_ADDR), \
1810
(__DES_ADDR), \
1811
(__DES_MSK_ADDR), \
1812
(__REGION))
1813
1814
#define arm_2d_gray8_tile_fill_with_des_mask_and_xy_mirror( \
1815
__SRC_ADDR,
/* source tile address */
\
1816
__DES_ADDR,
/* target tile address */
\
1817
__DES_MSK_ADDR,
/* target mask address */
\
1818
__REGION)
/* region address */
\
1819
arm_2dp_gray8_tile_fill_with_des_mask_and_xy_mirror( \
1820
NULL, \
1821
(__SRC_ADDR), \
1822
(__DES_ADDR), \
1823
(__DES_MSK_ADDR), \
1824
(__REGION))
1825
1826
1827
#define arm_2d_rgb565_tile_fill_with_des_mask_and_xy_mirror( \
1828
__SRC_ADDR,
/* source tile address */
\
1829
__DES_ADDR,
/* target tile address */
\
1830
__DES_MSK_ADDR,
/* target mask address */
\
1831
__REGION)
/* region address */
\
1832
arm_2dp_rgb565_tile_fill_with_des_mask_and_xy_mirror( \
1833
NULL, \
1834
(__SRC_ADDR), \
1835
(__DES_ADDR), \
1836
(__DES_MSK_ADDR), \
1837
(__REGION))
1838
1839
1840
#define arm_2d_rgb888_tile_fill_with_des_mask_and_xy_mirror \
1841
arm_2d_cccn888_tile_fill_with_des_mask_and_xy_mirror
1842
1843
#define arm_2d_cccn888_tile_fill_with_des_mask_and_xy_mirror( \
1844
__SRC_ADDR,
/* source tile address */
\
1845
__DES_ADDR,
/* target tile address */
\
1846
__DES_MSK_ADDR,
/* target mask address */
\
1847
__REGION)
/* region address */
\
1848
arm_2dp_cccn888_tile_fill_with_des_mask_and_xy_mirror( \
1849
NULL, \
1850
(__SRC_ADDR), \
1851
(__DES_ADDR), \
1852
(__DES_MSK_ADDR), \
1853
(__REGION))
1854
1855
1856
/*============================ TYPES =========================================*/
1857
1858
/*!
1859
* \brief control block for alpha-blending operations
1860
* \note arm_2d_op_alpha_t inherits from arm_2d_op_src_t explicitly
1861
*/
1862
typedef
struct
arm_2d_op_alpha_t
{
1863
inherit
(
arm_2d_op_core_t
);
//!< base
1864
struct
{
1865
const
arm_2d_tile_t
*ptTile;
//!< target tile
1866
const
arm_2d_region_t
*ptRegion;
//!< target region
1867
}
Target
;
//!< target
1868
struct
{
1869
const
arm_2d_tile_t
*ptTile;
//!< source tile
1870
}
Source
;
//!< source
1871
uint32_t
wMode
;
//!< copy mode
1872
uint8_t
chRatio
;
//!< opacity
1873
}
arm_2d_op_alpha_t
;
1874
1875
1876
/*!
1877
* \brief control block for alpha-blending-with-colour-keying operations
1878
* \note arm_2d_op_alpha_cl_key_t inherits from arm_2d_op_src_t explicitly
1879
*/
1880
typedef
struct
arm_2d_op_alpha_cl_key_t
{
1881
inherit
(
arm_2d_op_core_t
);
//!< base
1882
struct
{
1883
const
arm_2d_tile_t
*ptTile;
//!< target tile
1884
const
arm_2d_region_t
*ptRegion;
//!< target region
1885
}
Target
;
//!< target
1886
struct
{
1887
const
arm_2d_tile_t
*ptTile;
//!< source tile
1888
}
Source
;
//!< source
1889
uint32_t
wMode
;
//!< copy mode
1890
uint8_t
chRatio
;
//!< opacity
1891
1892
union
{
1893
uint8_t chColour;
//!< 8bit key colour
1894
uint16_t hwColour;
//!< 16bit key colour
1895
uint32_t wColour;
//!< 32bit key colour
1896
};
1897
}
arm_2d_op_alpha_cl_key_t
;
1898
1899
1900
/*!
1901
* \brief control block for colour-filling-with-mask operations
1902
* \note arm_2d_op_fill_cl_msk_t inherits from arm_2d_op_src_t explicitly
1903
*/
1904
typedef
struct
arm_2d_op_fill_cl_msk_t
{
1905
inherit
(
arm_2d_op_core_t
);
//!< base
1906
struct
{
1907
const
arm_2d_tile_t
*ptTile;
//!< target tile
1908
const
arm_2d_region_t
*ptRegion;
//!< target region
1909
}
Target
;
//!< target
1910
struct
{
1911
const
arm_2d_tile_t
*ptTile;
//!< Alpha Mask tile
1912
}
Mask
;
//!< mask
1913
uint32_t
wMode
;
//!< copy mode
1914
1915
union
{
1916
uint8_t chColour;
//!< 8bit key colour
1917
uint16_t hwColour;
//!< 16bit key colour
1918
uint32_t wColour;
//!< 32bit key colour
1919
};
1920
}
arm_2d_op_fill_cl_msk_t
;
1921
1922
1923
/*!
1924
* \brief control block for colour-filling-with-mask-and-opacity operations
1925
* \note arm_2d_op_fill_cl_msk_t inherits from arm_2d_op_src_t explicitly
1926
*/
1927
typedef
struct
arm_2d_op_fill_cl_msk_opc_t
{
1928
inherit
(
arm_2d_op_core_t
);
//!< core
1929
struct
{
1930
const
arm_2d_tile_t
*ptTile;
//!< target tile
1931
const
arm_2d_region_t
*ptRegion;
//!< target region
1932
}
Target
;
//!< target
1933
struct
{
1934
const
arm_2d_tile_t
*ptTile;
//!< Alpha Mask tile
1935
}
Mask
;
//!< mask
1936
uint32_t
wMode
;
//!< copy mode
1937
union
{
1938
uint8_t chColour;
//!< 8bit key colour
1939
uint16_t hwColour;
//!< 16bit key colour
1940
uint32_t wColour;
//!< 32bit key colour
1941
};
1942
union
{
1943
uint8_t chRatio;
//!< opacity
1944
uint8_t chOpacity;
1945
};
1946
}
arm_2d_op_fill_cl_msk_opc_t
;
1947
1948
/*!
1949
* \brief control block for colour-filling-with-opacity operations
1950
* \note arm_2d_op_fill_cl_t inherits from arm_2d_op_t explicitly
1951
*/
1952
typedef
struct
arm_2d_op_fill_cl_opc_t
{
1953
inherit
(
arm_2d_op_core_t
);
//!< base
1954
struct
{
1955
const
arm_2d_tile_t
*ptTile;
//!< target tile
1956
const
arm_2d_region_t
*ptRegion;
//!< target region
1957
}
Target
;
//!< target
1958
union
{
1959
uint8_t chColour;
//!< 8bit key colour
1960
uint16_t hwColour;
//!< 16bit key colour
1961
uint32_t wColour;
//!< 32bit key colour
1962
};
1963
uint8_t
chRatio
;
//!< opacity
1964
}
arm_2d_op_fill_cl_opc_t
;
1965
1966
/*!
1967
* \brief control block for copy with masks operations
1968
*
1969
*/
1970
typedef
arm_2d_op_src_msk_t
arm_2d_op_cp_msk_t
;
1971
1972
/*============================ GLOBAL VARIABLES ==============================*/
1973
/*============================ PROTOTYPES ====================================*/
1974
1975
/*----------------------------------------------------------------------------*
1976
* Copy tile to destination with specified transparency ratio (0~255) *
1977
*----------------------------------------------------------------------------*/
1978
1979
/*!
1980
* \brief blend a source tile to a target tile with a specified opacity
1981
* \param[in] ptOP the control block, NULL means using the default control block
1982
* \param[in] ptSource the source tile
1983
* \param[in] ptTarget the target tile
1984
* \param[in] ptRegion the target region
1985
* \param[in] chRatio the opacity
1986
* \return arm_fsm_rt_t the operation result
1987
*/
1988
extern
1989
ARM_NONNULL(2,3)
1990
arm_fsm_rt_t
arm_2dp_gray8_tile_copy_with_opacity
(
arm_2d_op_alpha_t
*ptOP,
1991
const
arm_2d_tile_t
*ptSource,
1992
const
arm_2d_tile_t
*ptTarget,
1993
const
arm_2d_region_t
*ptRegion,
1994
uint_fast8_t chRatio);
1995
1996
/*!
1997
* \brief blend a source tile to a target tile with a specified opacity
1998
* \param[in] ptOP the control block, NULL means using the default control block
1999
* \param[in] ptSource the source tile
2000
* \param[in] ptTarget the target tile
2001
* \param[in] ptRegion the target region
2002
* \param[in] chRatio the opacity
2003
* \return arm_fsm_rt_t the operation result
2004
*/
2005
extern
2006
ARM_NONNULL(2,3)
2007
arm_fsm_rt_t
arm_2dp_rgb565_tile_copy_with_opacity
(
arm_2d_op_alpha_t
*ptOP,
2008
const
arm_2d_tile_t
*ptSource,
2009
const
arm_2d_tile_t
*ptTarget,
2010
const
arm_2d_region_t
*ptRegion,
2011
uint_fast8_t chRatio);
2012
2013
/*!
2014
* \brief blend a source tile to a target tile with a specified opacity
2015
* \param[in] ptOP the control block, NULL means using the default control block
2016
* \param[in] ptSource the source tile
2017
* \param[in] ptTarget the target tile
2018
* \param[in] ptRegion the target region
2019
* \param[in] chRatio the opacity
2020
* \return arm_fsm_rt_t the operation result
2021
*/
2022
extern
2023
ARM_NONNULL(2,3)
2024
arm_fsm_rt_t
arm_2dp_cccn888_tile_copy_with_opacity
(
arm_2d_op_alpha_t
*ptOP,
2025
const
arm_2d_tile_t
*ptSource,
2026
const
arm_2d_tile_t
*ptTarget,
2027
const
arm_2d_region_t
*ptRegion,
2028
uint_fast8_t chRatio);
2029
2030
2031
/*----------------------------------------------------------------------------*
2032
* Fill a specified region with a given colour and transparency ratio (0~255) *
2033
*----------------------------------------------------------------------------*/
2034
2035
/*!
2036
* \brief fill a target tile with a given gray8 colour and a specified opacity
2037
* \param[in] ptOP the control block, NULL means using the default control block
2038
* \param[in] ptTarget the target tile
2039
* \param[in] ptRegion the target region
2040
* \param[in] tColour a gray8 colour
2041
* \param[in] chRatio the opacity
2042
* \return arm_fsm_rt_t the operation result
2043
*/
2044
extern
2045
ARM_NONNULL(2)
2046
arm_fsm_rt_t
arm_2dp_gray8_fill_colour_with_opacity
(
2047
arm_2d_op_fill_cl_opc_t
*ptOP,
2048
const
arm_2d_tile_t
*ptTarget,
2049
const
arm_2d_region_t
*ptRegion,
2050
arm_2d_color_gray8_t
tColour,
2051
uint_fast8_t chRatio);
2052
2053
/*!
2054
* \brief fill a target tile with a given rgb565 colour and a specified opacity
2055
* \param[in] ptOP the control block, NULL means using the default control block
2056
* \param[in] ptTarget the target tile
2057
* \param[in] ptRegion the target region
2058
* \param[in] tColour a rgb565 colour
2059
* \param[in] chRatio the opacity
2060
* \return arm_fsm_rt_t the operation result
2061
*/
2062
extern
2063
ARM_NONNULL(2)
2064
arm_fsm_rt_t
arm_2dp_rgb565_fill_colour_with_opacity
(
2065
arm_2d_op_fill_cl_opc_t
*ptOP,
2066
const
arm_2d_tile_t
*ptTarget,
2067
const
arm_2d_region_t
*ptRegion,
2068
arm_2d_color_rgb565_t
tColour,
2069
uint_fast8_t chRatio);
2070
2071
/*!
2072
* \brief fill a target tile with a given cccn888 colour and a specified opacity
2073
* \param[in] ptOP the control block, NULL means using the default control block
2074
* \param[in] ptTarget the target tile
2075
* \param[in] ptRegion the target region
2076
* \param[in] tColour a cccn888 colour
2077
* \param[in] chRatio the opacity
2078
* \return arm_fsm_rt_t the operation result
2079
*/
2080
extern
2081
ARM_NONNULL(2)
2082
arm_fsm_rt_t
arm_2dp_cccn888_fill_colour_with_opacity
(
2083
arm_2d_op_fill_cl_opc_t
*ptOP,
2084
const
arm_2d_tile_t
*ptTarget,
2085
const
arm_2d_region_t
*ptRegion,
2086
arm_2d_color_cccn888_t
tColour,
2087
uint_fast8_t chRatio);
2088
2089
/*----------------------------------------------------------------------------*
2090
* Fill tile with a specified colour and an a2 mask *
2091
*----------------------------------------------------------------------------*/
2092
2093
/*!
2094
* \brief fill a target tile with a given gray8 colour and an a2 mask on target side
2095
* \param[in] ptOP the control block, NULL means using the default control block
2096
* \param[in] ptTarget the target tile
2097
* \param[in] ptRegion the target region
2098
* \param[in] ptAlpha the mask on the target side
2099
* \param[in] tColour a gray8 colour
2100
* \return arm_fsm_rt_t the operation result
2101
*/
2102
extern
2103
ARM_NONNULL(2,4)
2104
arm_fsm_rt_t
arm_2dp_gray8_fill_colour_with_a2_mask
(
2105
arm_2d_op_fill_cl_msk_t
*ptOP,
2106
const
arm_2d_tile_t
*ptTarget,
2107
const
arm_2d_region_t
*ptRegion,
2108
const
arm_2d_tile_t
*ptAlpha,
2109
arm_2d_color_gray8_t
tColour);
2110
2111
/*!
2112
* \brief fill a target tile with a given rgb565 colour and an a2 mask on target side
2113
* \param[in] ptOP the control block, NULL means using the default control block
2114
* \param[in] ptTarget the target tile
2115
* \param[in] ptRegion the target region
2116
* \param[in] ptAlpha the mask on the target side
2117
* \param[in] tColour a rgb565 colour
2118
* \return arm_fsm_rt_t the operation result
2119
*/
2120
extern
2121
ARM_NONNULL(2,4)
2122
arm_fsm_rt_t
arm_2dp_rgb565_fill_colour_with_a2_mask
(
2123
arm_2d_op_fill_cl_msk_t
*ptOP,
2124
const
arm_2d_tile_t
*ptTarget,
2125
const
arm_2d_region_t
*ptRegion,
2126
const
arm_2d_tile_t
*ptAlpha,
2127
arm_2d_color_rgb565_t
tColour);
2128
2129
/*!
2130
* \brief fill a target tile with a given cccn888 colour and an a2 mask on target side
2131
* \param[in] ptOP the control block, NULL means using the default control block
2132
* \param[in] ptTarget the target tile
2133
* \param[in] ptRegion the target region
2134
* \param[in] ptAlpha the mask on the target side
2135
* \param[in] tColour a cccn888 colour
2136
* \return arm_fsm_rt_t the operation result
2137
*/
2138
extern
2139
ARM_NONNULL(2,4)
2140
arm_fsm_rt_t
arm_2dp_cccn888_fill_colour_with_a2_mask
(
2141
arm_2d_op_fill_cl_msk_t
*ptOP,
2142
const
arm_2d_tile_t
*ptTarget,
2143
const
arm_2d_region_t
*ptRegion,
2144
const
arm_2d_tile_t
*ptAlpha,
2145
arm_2d_color_cccn888_t
tColour);
2146
2147
2148
/*----------------------------------------------------------------------------*
2149
* Fill tile with a specified colour and an a4 mask *
2150
*----------------------------------------------------------------------------*/
2151
2152
/*!
2153
* \brief fill a target tile with a given gray8 colour and an a4 mask on target side
2154
* \param[in] ptOP the control block, NULL means using the default control block
2155
* \param[in] ptTarget the target tile
2156
* \param[in] ptRegion the target region
2157
* \param[in] ptAlpha the mask on the target side
2158
* \param[in] tColour a gray8 colour
2159
* \return arm_fsm_rt_t the operation result
2160
*/
2161
extern
2162
ARM_NONNULL(2,4)
2163
arm_fsm_rt_t
arm_2dp_gray8_fill_colour_with_a4_mask
(
2164
arm_2d_op_fill_cl_msk_t
*ptOP,
2165
const
arm_2d_tile_t
*ptTarget,
2166
const
arm_2d_region_t
*ptRegion,
2167
const
arm_2d_tile_t
*ptAlpha,
2168
arm_2d_color_gray8_t
tColour);
2169
2170
/*!
2171
* \brief fill a target tile with a given rgb565 colour and an a4 mask on target side
2172
* \param[in] ptOP the control block, NULL means using the default control block
2173
* \param[in] ptTarget the target tile
2174
* \param[in] ptRegion the target region
2175
* \param[in] ptAlpha the mask on the target side
2176
* \param[in] tColour a rgb565 colour
2177
* \return arm_fsm_rt_t the operation result
2178
*/
2179
extern
2180
ARM_NONNULL(2,4)
2181
arm_fsm_rt_t
arm_2dp_rgb565_fill_colour_with_a4_mask
(
2182
arm_2d_op_fill_cl_msk_t
*ptOP,
2183
const
arm_2d_tile_t
*ptTarget,
2184
const
arm_2d_region_t
*ptRegion,
2185
const
arm_2d_tile_t
*ptAlpha,
2186
arm_2d_color_rgb565_t
tColour);
2187
2188
/*!
2189
* \brief fill a target tile with a given cccn888 colour and an a4 mask on target side
2190
* \param[in] ptOP the control block, NULL means using the default control block
2191
* \param[in] ptTarget the target tile
2192
* \param[in] ptRegion the target region
2193
* \param[in] ptAlpha the mask on the target side
2194
* \param[in] tColour a cccn888 colour
2195
* \return arm_fsm_rt_t the operation result
2196
*/
2197
extern
2198
ARM_NONNULL(2,4)
2199
arm_fsm_rt_t
arm_2dp_cccn888_fill_colour_with_a4_mask
(
2200
arm_2d_op_fill_cl_msk_t
*ptOP,
2201
const
arm_2d_tile_t
*ptTarget,
2202
const
arm_2d_region_t
*ptRegion,
2203
const
arm_2d_tile_t
*ptAlpha,
2204
arm_2d_color_cccn888_t
tColour);
2205
2206
/*----------------------------------------------------------------------------*
2207
* Fill tile with a specified colour and an a8 mask *
2208
*----------------------------------------------------------------------------*/
2209
2210
/*!
2211
* \brief fill a target tile with a given gray8 colour and a mask on target side
2212
* \param[in] ptOP the control block, NULL means using the default control block
2213
* \param[in] ptTarget the target tile
2214
* \param[in] ptRegion the target region
2215
* \param[in] ptAlpha the mask on the target side
2216
* \param[in] tColour a gray8 colour
2217
* \return arm_fsm_rt_t the operation result
2218
*/
2219
extern
2220
ARM_NONNULL(2,4)
2221
arm_fsm_rt_t
arm_2dp_gray8_fill_colour_with_mask
(
2222
arm_2d_op_fill_cl_msk_t
*ptOP,
2223
const
arm_2d_tile_t
*ptTarget,
2224
const
arm_2d_region_t
*ptRegion,
2225
const
arm_2d_tile_t
*ptAlpha,
2226
arm_2d_color_gray8_t
tColour);
2227
2228
/*!
2229
* \brief fill a target tile with a given rgb565 colour and a mask on target side
2230
* \param[in] ptOP the control block, NULL means using the default control block
2231
* \param[in] ptTarget the target tile
2232
* \param[in] ptRegion the target region
2233
* \param[in] ptAlpha the mask on the target side
2234
* \param[in] tColour a rgb565 colour
2235
* \return arm_fsm_rt_t the operation result
2236
*/
2237
extern
2238
ARM_NONNULL(2,4)
2239
arm_fsm_rt_t
arm_2dp_rgb565_fill_colour_with_mask
(
2240
arm_2d_op_fill_cl_msk_t
*ptOP,
2241
const
arm_2d_tile_t
*ptTarget,
2242
const
arm_2d_region_t
*ptRegion,
2243
const
arm_2d_tile_t
*ptAlpha,
2244
arm_2d_color_rgb565_t
tColour);
2245
2246
/*!
2247
* \brief fill a target tile with a given cccn888 colour and a mask on target side
2248
* \param[in] ptOP the control block, NULL means using the default control block
2249
* \param[in] ptTarget the target tile
2250
* \param[in] ptRegion the target region
2251
* \param[in] ptAlpha the mask on the target side
2252
* \param[in] tColour a cccn888 colour
2253
* \return arm_fsm_rt_t the operation result
2254
*/
2255
extern
2256
ARM_NONNULL(2,4)
2257
arm_fsm_rt_t
arm_2dp_cccn888_fill_colour_with_mask
(
2258
arm_2d_op_fill_cl_msk_t
*ptOP,
2259
const
arm_2d_tile_t
*ptTarget,
2260
const
arm_2d_region_t
*ptRegion,
2261
const
arm_2d_tile_t
*ptAlpha,
2262
arm_2d_color_cccn888_t
tColour);
2263
2264
2265
/*----------------------------------------------------------------------------*
2266
* Fill tile with a specified colour, an a2 mask and a specified opacity *
2267
*----------------------------------------------------------------------------*/
2268
2269
/*!
2270
* \brief fill a target tile with a given gray8 colour, an a2 mask on target side and an opacity
2271
* \param[in] ptOP the control block, NULL means using the default control block
2272
* \param[in] ptTarget the target tile
2273
* \param[in] ptRegion the target region
2274
* \param[in] ptAlpha the mask on the target side
2275
* \param[in] tColour a gray8 colour
2276
* \param[in] chOpacity the opacity
2277
* \return arm_fsm_rt_t the operation result
2278
*/
2279
extern
2280
ARM_NONNULL(2,4)
2281
arm_fsm_rt_t
arm_2dp_gray8_fill_colour_with_a2_mask_and_opacity
(
2282
arm_2d_op_fill_cl_msk_opc_t
*ptOP,
2283
const
arm_2d_tile_t
*ptTarget,
2284
const
arm_2d_region_t
*ptRegion,
2285
const
arm_2d_tile_t
*ptAlpha,
2286
arm_2d_color_gray8_t
tColour,
2287
uint8_t chOpacity);
2288
2289
/*!
2290
* \brief fill a target tile with a given rgb565 colour, an a2 mask on target side and an opacity
2291
* \param[in] ptOP the control block, NULL means using the default control block
2292
* \param[in] ptTarget the target tile
2293
* \param[in] ptRegion the target region
2294
* \param[in] ptAlpha the mask on the target side
2295
* \param[in] tColour a rgb565 colour
2296
* \param[in] chOpacity the opacity
2297
* \return arm_fsm_rt_t the operation result
2298
*/
2299
extern
2300
ARM_NONNULL(2,4)
2301
arm_fsm_rt_t
arm_2dp_rgb565_fill_colour_with_a2_mask_and_opacity
(
2302
arm_2d_op_fill_cl_msk_opc_t
*ptOP,
2303
const
arm_2d_tile_t
*ptTarget,
2304
const
arm_2d_region_t
*ptRegion,
2305
const
arm_2d_tile_t
*ptAlpha,
2306
arm_2d_color_rgb565_t
tColour,
2307
uint8_t chOpacity);
2308
2309
/*!
2310
* \brief fill a target tile with a given cccn888 colour, an a2 mask on target side and an opacity
2311
* \param[in] ptOP the control block, NULL means using the default control block
2312
* \param[in] ptTarget the target tile
2313
* \param[in] ptRegion the target region
2314
* \param[in] ptAlpha the mask on the target side
2315
* \param[in] tColour a cccn888 colour
2316
* \param[in] chOpacity the opacity
2317
* \return arm_fsm_rt_t the operation result
2318
*/
2319
extern
2320
ARM_NONNULL(2,4)
2321
arm_fsm_rt_t
arm_2dp_cccn888_fill_colour_with_a2_mask_and_opacity
(
2322
arm_2d_op_fill_cl_msk_opc_t
*ptOP,
2323
const
arm_2d_tile_t
*ptTarget,
2324
const
arm_2d_region_t
*ptRegion,
2325
const
arm_2d_tile_t
*ptAlpha,
2326
arm_2d_color_cccn888_t
tColour,
2327
uint8_t chOpacity);
2328
2329
/*----------------------------------------------------------------------------*
2330
* Fill tile with a specified colour, an a4 mask and a specified opacity *
2331
*----------------------------------------------------------------------------*/
2332
2333
/*!
2334
* \brief fill a target tile with a given gray8 colour, an a4 mask on target side and an opacity
2335
* \param[in] ptOP the control block, NULL means using the default control block
2336
* \param[in] ptTarget the target tile
2337
* \param[in] ptRegion the target region
2338
* \param[in] ptAlpha the mask on the target side
2339
* \param[in] tColour a gray8 colour
2340
* \param[in] chOpacity the opacity
2341
* \return arm_fsm_rt_t the operation result
2342
*/
2343
extern
2344
ARM_NONNULL(2,4)
2345
arm_fsm_rt_t
arm_2dp_gray8_fill_colour_with_a4_mask_and_opacity
(
2346
arm_2d_op_fill_cl_msk_opc_t
*ptOP,
2347
const
arm_2d_tile_t
*ptTarget,
2348
const
arm_2d_region_t
*ptRegion,
2349
const
arm_2d_tile_t
*ptAlpha,
2350
arm_2d_color_gray8_t
tColour,
2351
uint8_t chOpacity);
2352
2353
/*!
2354
* \brief fill a target tile with a given rgb565 colour, an a4 mask on target side and an opacity
2355
* \param[in] ptOP the control block, NULL means using the default control block
2356
* \param[in] ptTarget the target tile
2357
* \param[in] ptRegion the target region
2358
* \param[in] ptAlpha the mask on the target side
2359
* \param[in] tColour a rgb565 colour
2360
* \param[in] chOpacity the opacity
2361
* \return arm_fsm_rt_t the operation result
2362
*/
2363
extern
2364
ARM_NONNULL(2,4)
2365
arm_fsm_rt_t
arm_2dp_rgb565_fill_colour_with_a4_mask_and_opacity
(
2366
arm_2d_op_fill_cl_msk_opc_t
*ptOP,
2367
const
arm_2d_tile_t
*ptTarget,
2368
const
arm_2d_region_t
*ptRegion,
2369
const
arm_2d_tile_t
*ptAlpha,
2370
arm_2d_color_rgb565_t
tColour,
2371
uint8_t chOpacity);
2372
2373
/*!
2374
* \brief fill a target tile with a given cccn888 colour, an a4 mask on target side and an opacity
2375
* \param[in] ptOP the control block, NULL means using the default control block
2376
* \param[in] ptTarget the target tile
2377
* \param[in] ptRegion the target region
2378
* \param[in] ptAlpha the mask on the target side
2379
* \param[in] tColour a cccn888 colour
2380
* \param[in] chOpacity the opacity
2381
* \return arm_fsm_rt_t the operation result
2382
*/
2383
extern
2384
ARM_NONNULL(2,4)
2385
arm_fsm_rt_t
arm_2dp_cccn888_fill_colour_with_a4_mask_and_opacity
(
2386
arm_2d_op_fill_cl_msk_opc_t
*ptOP,
2387
const
arm_2d_tile_t
*ptTarget,
2388
const
arm_2d_region_t
*ptRegion,
2389
const
arm_2d_tile_t
*ptAlpha,
2390
arm_2d_color_cccn888_t
tColour,
2391
uint8_t chOpacity);
2392
2393
/*----------------------------------------------------------------------------*
2394
* Fill tile with a specified colour, an alpha mask and a specified opacity *
2395
*----------------------------------------------------------------------------*/
2396
2397
/*!
2398
* \brief fill a target tile with a given gray8 colour, a mask on target side and an opacity
2399
* \param[in] ptOP the control block, NULL means using the default control block
2400
* \param[in] ptTarget the target tile
2401
* \param[in] ptRegion the target region
2402
* \param[in] ptAlpha the mask on the target side
2403
* \param[in] tColour a gray8 colour
2404
* \param[in] chOpacity the opacity
2405
* \return arm_fsm_rt_t the operation result
2406
*/
2407
extern
2408
ARM_NONNULL(2,4)
2409
arm_fsm_rt_t
arm_2dp_gray8_fill_colour_with_mask_and_opacity
(
2410
arm_2d_op_fill_cl_msk_opc_t
*ptOP,
2411
const
arm_2d_tile_t
*ptTarget,
2412
const
arm_2d_region_t
*ptRegion,
2413
const
arm_2d_tile_t
*ptAlpha,
2414
arm_2d_color_gray8_t
tColour,
2415
uint8_t chOpacity);
2416
2417
/*!
2418
* \brief fill a target tile with a given rgb565 colour, a mask on target side and an opacity
2419
* \param[in] ptOP the control block, NULL means using the default control block
2420
* \param[in] ptTarget the target tile
2421
* \param[in] ptRegion the target region
2422
* \param[in] ptAlpha the mask on the target side
2423
* \param[in] tColour a rgb565 colour
2424
* \param[in] chOpacity the opacity
2425
* \return arm_fsm_rt_t the operation result
2426
*/
2427
extern
2428
ARM_NONNULL(2,4)
2429
arm_fsm_rt_t
arm_2dp_rgb565_fill_colour_with_mask_and_opacity
(
2430
arm_2d_op_fill_cl_msk_opc_t
*ptOP,
2431
const
arm_2d_tile_t
*ptTarget,
2432
const
arm_2d_region_t
*ptRegion,
2433
const
arm_2d_tile_t
*ptAlpha,
2434
arm_2d_color_rgb565_t
tColour,
2435
uint8_t chOpacity);
2436
2437
/*!
2438
* \brief fill a target tile with a given cccn888 colour, a mask on target side and an opacity
2439
* \param[in] ptOP the control block, NULL means using the default control block
2440
* \param[in] ptTarget the target tile
2441
* \param[in] ptRegion the target region
2442
* \param[in] ptAlpha the mask on the target side
2443
* \param[in] tColour a cccn888 colour
2444
* \param[in] chOpacity the opacity
2445
* \return arm_fsm_rt_t the operation result
2446
*/
2447
extern
2448
ARM_NONNULL(2,4)
2449
arm_fsm_rt_t
arm_2dp_cccn888_fill_colour_with_mask_and_opacity
(
2450
arm_2d_op_fill_cl_msk_opc_t
*ptOP,
2451
const
arm_2d_tile_t
*ptTarget,
2452
const
arm_2d_region_t
*ptRegion,
2453
const
arm_2d_tile_t
*ptAlpha,
2454
arm_2d_color_cccn888_t
tColour,
2455
uint8_t chOpacity);
2456
2457
/*----------------------------------------------------------------------------*
2458
* Blend tile and background with a specified transparency ratio(0~255) and *
2459
* colour keying *
2460
*----------------------------------------------------------------------------*/
2461
2462
/*!
2463
* \brief blend a source tile to a target tile with a opacity and colour keying
2464
* \param[in] ptOP the control block, NULL means using the default control block
2465
* \param[in] ptSource the source tile
2466
* \param[in] ptTarget the target tile
2467
* \param[in] ptRegion the target region
2468
* \param[in] chRatio the opacity
2469
* \param[in] tColour the key colour
2470
* \return arm_fsm_rt_t the operation result
2471
*/
2472
extern
2473
ARM_NONNULL(2,3)
2474
arm_fsm_rt_t
arm_2dp_gray8_tile_copy_with_colour_keying_and_opacity
(
2475
arm_2d_op_alpha_cl_key_t
*ptOP,
2476
const
arm_2d_tile_t
*ptSource,
2477
const
arm_2d_tile_t
*ptTarget,
2478
const
arm_2d_region_t
*ptRegion,
2479
uint_fast8_t chRatio,
2480
arm_2d_color_gray8_t
tColour);
2481
2482
/*!
2483
* \brief blend a source tile to a target tile with a opacity and colour keying
2484
* \param[in] ptOP the control block, NULL means using the default control block
2485
* \param[in] ptSource the source tile
2486
* \param[in] ptTarget the target tile
2487
* \param[in] ptRegion the target region
2488
* \param[in] chRatio the opacity
2489
* \param[in] tColour the key colour
2490
* \return arm_fsm_rt_t the operation result
2491
*/
2492
extern
2493
ARM_NONNULL(2,3)
2494
arm_fsm_rt_t
arm_2dp_rgb565_tile_copy_with_colour_keying_and_opacity
(
2495
arm_2d_op_alpha_cl_key_t
*ptOP,
2496
const
arm_2d_tile_t
*ptSource,
2497
const
arm_2d_tile_t
*ptTarget,
2498
const
arm_2d_region_t
*ptRegion,
2499
uint_fast8_t chRatio,
2500
arm_2d_color_rgb565_t
tColour);
2501
2502
/*!
2503
* \brief blend a source tile to a target tile with a opacity and colour keying
2504
* \param[in] ptOP the control block, NULL means using the default control block
2505
* \param[in] ptSource the source tile
2506
* \param[in] ptTarget the target tile
2507
* \param[in] ptRegion the target region
2508
* \param[in] chRatio the opacity
2509
* \param[in] tColour the key colour
2510
* \return arm_fsm_rt_t the operation result
2511
*/
2512
extern
2513
ARM_NONNULL(2,3)
2514
arm_fsm_rt_t
arm_2dp_cccn888_tile_copy_with_colour_keying_and_opacity
(
2515
arm_2d_op_alpha_cl_key_t
*ptOP,
2516
const
arm_2d_tile_t
*ptSource,
2517
const
arm_2d_tile_t
*ptTarget,
2518
const
arm_2d_region_t
*ptRegion,
2519
uint_fast8_t chRatio,
2520
arm_2d_color_cccn888_t
tColour);
2521
2522
/*----------------------------------------------------------------------------*
2523
* Copy tile to target tile with a source mask, a target mask and a given mode*
2524
*----------------------------------------------------------------------------*/
2525
2526
/*!
2527
* \brief copy a source tile to a target tile with masks in a given mode
2528
* \param[in] ptOP the control block, NULL means using the default control block
2529
* \param[in] ptSource the source tile
2530
* \param[in] ptSrcMask the mask on the source side
2531
* \param[in] ptTarget the target tile
2532
* \param[in] ptDesMask the mask on the target side
2533
* \param[in] ptRegion the target region
2534
* \param[in] wMode the copy mode
2535
* \return arm_fsm_rt_t the operation result
2536
*/
2537
extern
2538
ARM_NONNULL(2,3,4,5)
2539
arm_fsm_rt_t
arm_2dp_gray8_tile_copy_with_masks
(
2540
arm_2d_op_cp_msk_t
*ptOP,
2541
const
arm_2d_tile_t
*ptSource,
2542
const
arm_2d_tile_t
*ptSrcMask,
2543
const
arm_2d_tile_t
*ptTarget,
2544
const
arm_2d_tile_t
*ptDesMask,
2545
const
arm_2d_region_t
*ptRegion,
2546
uint32_t wMode);
2547
2548
/*!
2549
* \brief copy a source tile to a target tile with masks in a given mode
2550
* \param[in] ptOP the control block, NULL means using the default control block
2551
* \param[in] ptSource the source tile
2552
* \param[in] ptSrcMask the mask on the source side
2553
* \param[in] ptTarget the target tile
2554
* \param[in] ptDesMask the mask on the target side
2555
* \param[in] ptRegion the target region
2556
* \param[in] wMode the copy mode
2557
* \return arm_fsm_rt_t the operation result
2558
*/
2559
extern
2560
ARM_NONNULL(2,3,4,5)
2561
arm_fsm_rt_t
arm_2dp_rgb565_tile_copy_with_masks
(
2562
arm_2d_op_cp_msk_t
*ptOP,
2563
const
arm_2d_tile_t
*ptSource,
2564
const
arm_2d_tile_t
*ptSrcMask,
2565
const
arm_2d_tile_t
*ptTarget,
2566
const
arm_2d_tile_t
*ptDesMask,
2567
const
arm_2d_region_t
*ptRegion,
2568
uint32_t wMode);
2569
2570
/*!
2571
* \brief copy a source tile to a target tile with masks in a given mode
2572
* \param[in] ptOP the control block, NULL means using the default control block
2573
* \param[in] ptSource the source tile
2574
* \param[in] ptSrcMask the mask on the source side
2575
* \param[in] ptTarget the target tile
2576
* \param[in] ptDesMask the mask on the target side
2577
* \param[in] ptRegion the target region
2578
* \param[in] wMode the copy mode
2579
* \return arm_fsm_rt_t the operation result
2580
*/
2581
extern
2582
ARM_NONNULL(2,3,4,5)
2583
arm_fsm_rt_t
arm_2dp_cccn888_tile_copy_with_masks
(
2584
arm_2d_op_cp_msk_t
*ptOP,
2585
const
arm_2d_tile_t
*ptSource,
2586
const
arm_2d_tile_t
*ptSrcMask,
2587
const
arm_2d_tile_t
*ptTarget,
2588
const
arm_2d_tile_t
*ptDesMask,
2589
const
arm_2d_region_t
*ptRegion,
2590
uint32_t wMode);
2591
2592
/*----------------------------------------------------------------------------*
2593
* Copy tile to target tile with a source mask and a target mask *
2594
*----------------------------------------------------------------------------*/
2595
2596
/*!
2597
* \brief copy a source tile to a target tile with masks
2598
* \param[in] ptOP the control block, NULL means using the default control block
2599
* \param[in] ptSource the source tile
2600
* \param[in] ptSrcMask the mask on the source side
2601
* \param[in] ptTarget the target tile
2602
* \param[in] ptDesMask the mask on the target side
2603
* \param[in] ptRegion the target region
2604
* \return arm_fsm_rt_t the operation result
2605
*/
2606
extern
2607
ARM_NONNULL(2,3,4,5)
2608
arm_fsm_rt_t
arm_2dp_gray8_tile_copy_with_masks_only
(
2609
arm_2d_op_cp_msk_t
*ptOP,
2610
const
arm_2d_tile_t
*ptSource,
2611
const
arm_2d_tile_t
*ptSrcMask,
2612
const
arm_2d_tile_t
*ptTarget,
2613
const
arm_2d_tile_t
*ptDesMask,
2614
const
arm_2d_region_t
*ptRegion);
2615
2616
/*!
2617
* \brief copy a source tile to a target tile with masks
2618
* \param[in] ptOP the control block, NULL means using the default control block
2619
* \param[in] ptSource the source tile
2620
* \param[in] ptSrcMask the mask on the source side
2621
* \param[in] ptTarget the target tile
2622
* \param[in] ptDesMask the mask on the target side
2623
* \param[in] ptRegion the target region
2624
* \return arm_fsm_rt_t the operation result
2625
*/
2626
extern
2627
ARM_NONNULL(2,3,4,5)
2628
arm_fsm_rt_t
arm_2dp_rgb565_tile_copy_with_masks_only
(
2629
arm_2d_op_cp_msk_t
*ptOP,
2630
const
arm_2d_tile_t
*ptSource,
2631
const
arm_2d_tile_t
*ptSrcMask,
2632
const
arm_2d_tile_t
*ptTarget,
2633
const
arm_2d_tile_t
*ptDesMask,
2634
const
arm_2d_region_t
*ptRegion);
2635
2636
/*!
2637
* \brief copy a source tile to a target tile with masks
2638
* \param[in] ptOP the control block, NULL means using the default control block
2639
* \param[in] ptSource the source tile
2640
* \param[in] ptSrcMask the mask on the source side
2641
* \param[in] ptTarget the target tile
2642
* \param[in] ptDesMask the mask on the target side
2643
* \param[in] ptRegion the target region
2644
* \return arm_fsm_rt_t the operation result
2645
*/
2646
extern
2647
ARM_NONNULL(2,3,4,5)
2648
arm_fsm_rt_t
arm_2dp_cccn888_tile_copy_with_masks_only
(
2649
arm_2d_op_cp_msk_t
*ptOP,
2650
const
arm_2d_tile_t
*ptSource,
2651
const
arm_2d_tile_t
*ptSrcMask,
2652
const
arm_2d_tile_t
*ptTarget,
2653
const
arm_2d_tile_t
*ptDesMask,
2654
const
arm_2d_region_t
*ptRegion);
2655
2656
2657
/*----------------------------------------------------------------------------*
2658
* Copy tile to target tile with a source mask, a target mask and x-mirroring *
2659
*----------------------------------------------------------------------------*/
2660
2661
/*!
2662
* \brief copy a source tile to a target tile with masks and x-mirroring
2663
* \param[in] ptOP the control block, NULL means using the default control block
2664
* \param[in] ptSource the source tile
2665
* \param[in] ptSrcMask the mask on the source side
2666
* \param[in] ptTarget the target tile
2667
* \param[in] ptDesMask the mask on the target side
2668
* \param[in] ptRegion the target region
2669
* \return arm_fsm_rt_t the operation result
2670
*/
2671
extern
2672
ARM_NONNULL(2,3,4,5)
2673
arm_fsm_rt_t
arm_2dp_gray8_tile_copy_with_masks_and_x_mirror
(
2674
arm_2d_op_cp_msk_t
*ptOP,
2675
const
arm_2d_tile_t
*ptSource,
2676
const
arm_2d_tile_t
*ptSrcMask,
2677
const
arm_2d_tile_t
*ptTarget,
2678
const
arm_2d_tile_t
*ptDesMask,
2679
const
arm_2d_region_t
*ptRegion);
2680
2681
/*!
2682
* \brief copy a source tile to a target tile with masks and x-mirroring
2683
* \param[in] ptOP the control block, NULL means using the default control block
2684
* \param[in] ptSource the source tile
2685
* \param[in] ptSrcMask the mask on the source side
2686
* \param[in] ptTarget the target tile
2687
* \param[in] ptDesMask the mask on the target side
2688
* \param[in] ptRegion the target region
2689
* \return arm_fsm_rt_t the operation result
2690
*/
2691
extern
2692
ARM_NONNULL(2,3,4,5)
2693
arm_fsm_rt_t
arm_2dp_rgb565_tile_copy_with_masks_and_x_mirror
(
2694
arm_2d_op_cp_msk_t
*ptOP,
2695
const
arm_2d_tile_t
*ptSource,
2696
const
arm_2d_tile_t
*ptSrcMask,
2697
const
arm_2d_tile_t
*ptTarget,
2698
const
arm_2d_tile_t
*ptDesMask,
2699
const
arm_2d_region_t
*ptRegion);
2700
2701
/*!
2702
* \brief copy a source tile to a target tile with masks and x-mirroring
2703
* \param[in] ptOP the control block, NULL means using the default control block
2704
* \param[in] ptSource the source tile
2705
* \param[in] ptSrcMask the mask on the source side
2706
* \param[in] ptTarget the target tile
2707
* \param[in] ptDesMask the mask on the target side
2708
* \param[in] ptRegion the target region
2709
* \return arm_fsm_rt_t the operation result
2710
*/
2711
extern
2712
ARM_NONNULL(2,3,4,5)
2713
arm_fsm_rt_t
arm_2dp_cccn888_tile_copy_with_masks_and_x_mirror
(
2714
arm_2d_op_cp_msk_t
*ptOP,
2715
const
arm_2d_tile_t
*ptSource,
2716
const
arm_2d_tile_t
*ptSrcMask,
2717
const
arm_2d_tile_t
*ptTarget,
2718
const
arm_2d_tile_t
*ptDesMask,
2719
const
arm_2d_region_t
*ptRegion);
2720
2721
2722
/*----------------------------------------------------------------------------*
2723
* Copy tile to target tile with a source mask, a target mask and y-mirroring *
2724
*----------------------------------------------------------------------------*/
2725
2726
/*!
2727
* \brief copy a source tile to a target tile with masks and y-mirroring
2728
* \param[in] ptOP the control block, NULL means using the default control block
2729
* \param[in] ptSource the source tile
2730
* \param[in] ptSrcMask the mask on the source side
2731
* \param[in] ptTarget the target tile
2732
* \param[in] ptDesMask the mask on the target side
2733
* \param[in] ptRegion the target region
2734
* \return arm_fsm_rt_t the operation result
2735
*/
2736
extern
2737
ARM_NONNULL(2,3,4,5)
2738
arm_fsm_rt_t
arm_2dp_gray8_tile_copy_with_masks_and_y_mirror
(
2739
arm_2d_op_cp_msk_t
*ptOP,
2740
const
arm_2d_tile_t
*ptSource,
2741
const
arm_2d_tile_t
*ptSrcMask,
2742
const
arm_2d_tile_t
*ptTarget,
2743
const
arm_2d_tile_t
*ptDesMask,
2744
const
arm_2d_region_t
*ptRegion);
2745
2746
/*!
2747
* \brief copy a source tile to a target tile with masks and y-mirroring
2748
* \param[in] ptOP the control block, NULL means using the default control block
2749
* \param[in] ptSource the source tile
2750
* \param[in] ptSrcMask the mask on the source side
2751
* \param[in] ptTarget the target tile
2752
* \param[in] ptDesMask the mask on the target side
2753
* \param[in] ptRegion the target region
2754
* \return arm_fsm_rt_t the operation result
2755
*/
2756
extern
2757
ARM_NONNULL(2,3,4,5)
2758
arm_fsm_rt_t
arm_2dp_rgb565_tile_copy_with_masks_and_y_mirror
(
2759
arm_2d_op_cp_msk_t
*ptOP,
2760
const
arm_2d_tile_t
*ptSource,
2761
const
arm_2d_tile_t
*ptSrcMask,
2762
const
arm_2d_tile_t
*ptTarget,
2763
const
arm_2d_tile_t
*ptDesMask,
2764
const
arm_2d_region_t
*ptRegion);
2765
2766
/*!
2767
* \brief copy a source tile to a target tile with masks and y-mirroring
2768
* \param[in] ptOP the control block, NULL means using the default control block
2769
* \param[in] ptSource the source tile
2770
* \param[in] ptSrcMask the mask on the source side
2771
* \param[in] ptTarget the target tile
2772
* \param[in] ptDesMask the mask on the target side
2773
* \param[in] ptRegion the target region
2774
* \return arm_fsm_rt_t the operation result
2775
*/
2776
extern
2777
ARM_NONNULL(2,3,4,5)
2778
arm_fsm_rt_t
arm_2dp_cccn888_tile_copy_with_masks_and_y_mirror
(
2779
arm_2d_op_cp_msk_t
*ptOP,
2780
const
arm_2d_tile_t
*ptSource,
2781
const
arm_2d_tile_t
*ptSrcMask,
2782
const
arm_2d_tile_t
*ptTarget,
2783
const
arm_2d_tile_t
*ptDesMask,
2784
const
arm_2d_region_t
*ptRegion);
2785
2786
2787
/*----------------------------------------------------------------------------*
2788
* Copy tile to target tile with a source mask, a target mask and xy-mirroring *
2789
*----------------------------------------------------------------------------*/
2790
2791
/*!
2792
* \brief copy a source tile to a target tile with masks and xy-mirroring
2793
* \param[in] ptOP the control block, NULL means using the default control block
2794
* \param[in] ptSource the source tile
2795
* \param[in] ptSrcMask the mask on the source side
2796
* \param[in] ptTarget the target tile
2797
* \param[in] ptDesMask the mask on the target side
2798
* \param[in] ptRegion the target region
2799
* \return arm_fsm_rt_t the operation result
2800
*/
2801
extern
2802
ARM_NONNULL(2,3,4,5)
2803
arm_fsm_rt_t
arm_2dp_gray8_tile_copy_with_masks_and_xy_mirror
(
2804
arm_2d_op_cp_msk_t
*ptOP,
2805
const
arm_2d_tile_t
*ptSource,
2806
const
arm_2d_tile_t
*ptSrcMask,
2807
const
arm_2d_tile_t
*ptTarget,
2808
const
arm_2d_tile_t
*ptDesMask,
2809
const
arm_2d_region_t
*ptRegion);
2810
2811
/*!
2812
* \brief copy a source tile to a target tile with masks and xy-mirroring
2813
* \param[in] ptOP the control block, NULL means using the default control block
2814
* \param[in] ptSource the source tile
2815
* \param[in] ptSrcMask the mask on the source side
2816
* \param[in] ptTarget the target tile
2817
* \param[in] ptDesMask the mask on the target side
2818
* \param[in] ptRegion the target region
2819
* \return arm_fsm_rt_t the operation result
2820
*/
2821
extern
2822
ARM_NONNULL(2,3,4,5)
2823
arm_fsm_rt_t
arm_2dp_rgb565_tile_copy_with_masks_and_xy_mirror
(
2824
arm_2d_op_cp_msk_t
*ptOP,
2825
const
arm_2d_tile_t
*ptSource,
2826
const
arm_2d_tile_t
*ptSrcMask,
2827
const
arm_2d_tile_t
*ptTarget,
2828
const
arm_2d_tile_t
*ptDesMask,
2829
const
arm_2d_region_t
*ptRegion);
2830
2831
/*!
2832
* \brief copy a source tile to a target tile with masks and xy-mirroring
2833
* \param[in] ptOP the control block, NULL means using the default control block
2834
* \param[in] ptSource the source tile
2835
* \param[in] ptSrcMask the mask on the source side
2836
* \param[in] ptTarget the target tile
2837
* \param[in] ptDesMask the mask on the target side
2838
* \param[in] ptRegion the target region
2839
* \return arm_fsm_rt_t the operation result
2840
*/
2841
extern
2842
ARM_NONNULL(2,3,4,5)
2843
arm_fsm_rt_t
arm_2dp_cccn888_tile_copy_with_masks_and_xy_mirror
(
2844
arm_2d_op_cp_msk_t
*ptOP,
2845
const
arm_2d_tile_t
*ptSource,
2846
const
arm_2d_tile_t
*ptSrcMask,
2847
const
arm_2d_tile_t
*ptTarget,
2848
const
arm_2d_tile_t
*ptDesMask,
2849
const
arm_2d_region_t
*ptRegion);
2850
2851
/*----------------------------------------------------------------------------*
2852
* Fill tile to target tile with a source mask and a target mask *
2853
*----------------------------------------------------------------------------*/
2854
2855
/*!
2856
* \brief fill a source tile to a target tile with masks
2857
* \param[in] ptOP the control block, NULL means using the default control block
2858
* \param[in] ptSource the source tile
2859
* \param[in] ptSrcMask the mask on the source side
2860
* \param[in] ptTarget the target tile
2861
* \param[in] ptDesMask the mask on the target side
2862
* \param[in] ptRegion the target region
2863
* \return arm_fsm_rt_t the operation result
2864
*/
2865
extern
2866
ARM_NONNULL(2,3,4,5)
2867
arm_fsm_rt_t
arm_2dp_gray8_tile_fill_with_masks_only
(
2868
arm_2d_op_cp_msk_t
*ptOP,
2869
const
arm_2d_tile_t
*ptSource,
2870
const
arm_2d_tile_t
*ptSrcMask,
2871
const
arm_2d_tile_t
*ptTarget,
2872
const
arm_2d_tile_t
*ptDesMask,
2873
const
arm_2d_region_t
*ptRegion);
2874
2875
/*!
2876
* \brief fill a source tile to a target tile with masks
2877
* \param[in] ptOP the control block, NULL means using the default control block
2878
* \param[in] ptSource the source tile
2879
* \param[in] ptSrcMask the mask on the source side
2880
* \param[in] ptTarget the target tile
2881
* \param[in] ptDesMask the mask on the target side
2882
* \param[in] ptRegion the target region
2883
* \return arm_fsm_rt_t the operation result
2884
*/
2885
extern
2886
ARM_NONNULL(2,3,4,5)
2887
arm_fsm_rt_t
arm_2dp_rgb565_tile_fill_with_masks_only
(
2888
arm_2d_op_cp_msk_t
*ptOP,
2889
const
arm_2d_tile_t
*ptSource,
2890
const
arm_2d_tile_t
*ptSrcMask,
2891
const
arm_2d_tile_t
*ptTarget,
2892
const
arm_2d_tile_t
*ptDesMask,
2893
const
arm_2d_region_t
*ptRegion);
2894
2895
/*!
2896
* \brief fill a source tile to a target tile with masks
2897
* \param[in] ptOP the control block, NULL means using the default control block
2898
* \param[in] ptSource the source tile
2899
* \param[in] ptSrcMask the mask on the source side
2900
* \param[in] ptTarget the target tile
2901
* \param[in] ptDesMask the mask on the target side
2902
* \param[in] ptRegion the target region
2903
* \return arm_fsm_rt_t the operation result
2904
*/
2905
extern
2906
ARM_NONNULL(2,3,4,5)
2907
arm_fsm_rt_t
arm_2dp_cccn888_tile_fill_with_masks_only
(
2908
arm_2d_op_cp_msk_t
*ptOP,
2909
const
arm_2d_tile_t
*ptSource,
2910
const
arm_2d_tile_t
*ptSrcMask,
2911
const
arm_2d_tile_t
*ptTarget,
2912
const
arm_2d_tile_t
*ptDesMask,
2913
const
arm_2d_region_t
*ptRegion);
2914
2915
2916
/*----------------------------------------------------------------------------*
2917
* Fill tile to target tile with a source mask, a target mask and x-mirroring *
2918
*----------------------------------------------------------------------------*/
2919
2920
/*!
2921
* \brief fill a source tile to a target tile with masks and x-mirroring
2922
* \param[in] ptOP the control block, NULL means using the default control block
2923
* \param[in] ptSource the source tile
2924
* \param[in] ptSrcMask the mask on the source side
2925
* \param[in] ptTarget the target tile
2926
* \param[in] ptDesMask the mask on the target side
2927
* \param[in] ptRegion the target region
2928
* \return arm_fsm_rt_t the operation result
2929
*/
2930
extern
2931
ARM_NONNULL(2,3,4,5)
2932
arm_fsm_rt_t
arm_2dp_gray8_tile_fill_with_masks_and_x_mirror
(
2933
arm_2d_op_cp_msk_t
*ptOP,
2934
const
arm_2d_tile_t
*ptSource,
2935
const
arm_2d_tile_t
*ptSrcMask,
2936
const
arm_2d_tile_t
*ptTarget,
2937
const
arm_2d_tile_t
*ptDesMask,
2938
const
arm_2d_region_t
*ptRegion);
2939
2940
/*!
2941
* \brief fill a source tile to a target tile with masks and x-mirroring
2942
* \param[in] ptOP the control block, NULL means using the default control block
2943
* \param[in] ptSource the source tile
2944
* \param[in] ptSrcMask the mask on the source side
2945
* \param[in] ptTarget the target tile
2946
* \param[in] ptDesMask the mask on the target side
2947
* \param[in] ptRegion the target region
2948
* \return arm_fsm_rt_t the operation result
2949
*/
2950
extern
2951
ARM_NONNULL(2,3,4,5)
2952
arm_fsm_rt_t
arm_2dp_rgb565_tile_fill_with_masks_and_x_mirror
(
2953
arm_2d_op_cp_msk_t
*ptOP,
2954
const
arm_2d_tile_t
*ptSource,
2955
const
arm_2d_tile_t
*ptSrcMask,
2956
const
arm_2d_tile_t
*ptTarget,
2957
const
arm_2d_tile_t
*ptDesMask,
2958
const
arm_2d_region_t
*ptRegion);
2959
2960
/*!
2961
* \brief fill a source tile to a target tile with masks and x-mirroring
2962
* \param[in] ptOP the control block, NULL means using the default control block
2963
* \param[in] ptSource the source tile
2964
* \param[in] ptSrcMask the mask on the source side
2965
* \param[in] ptTarget the target tile
2966
* \param[in] ptDesMask the mask on the target side
2967
* \param[in] ptRegion the target region
2968
* \return arm_fsm_rt_t the operation result
2969
*/
2970
extern
2971
ARM_NONNULL(2,3,4,5)
2972
arm_fsm_rt_t
arm_2dp_cccn888_tile_fill_with_masks_and_x_mirror
(
2973
arm_2d_op_cp_msk_t
*ptOP,
2974
const
arm_2d_tile_t
*ptSource,
2975
const
arm_2d_tile_t
*ptSrcMask,
2976
const
arm_2d_tile_t
*ptTarget,
2977
const
arm_2d_tile_t
*ptDesMask,
2978
const
arm_2d_region_t
*ptRegion);
2979
2980
2981
/*----------------------------------------------------------------------------*
2982
* Fill tile to target tile with a source mask, a target mask and y-mirroring *
2983
*----------------------------------------------------------------------------*/
2984
2985
/*!
2986
* \brief fill a source tile to a target tile with masks and y-mirroring
2987
* \param[in] ptOP the control block, NULL means using the default control block
2988
* \param[in] ptSource the source tile
2989
* \param[in] ptSrcMask the mask on the source side
2990
* \param[in] ptTarget the target tile
2991
* \param[in] ptDesMask the mask on the target side
2992
* \param[in] ptRegion the target region
2993
* \return arm_fsm_rt_t the operation result
2994
*/
2995
extern
2996
ARM_NONNULL(2,3,4,5)
2997
arm_fsm_rt_t
arm_2dp_gray8_tile_fill_with_masks_and_y_mirror
(
2998
arm_2d_op_cp_msk_t
*ptOP,
2999
const
arm_2d_tile_t
*ptSource,
3000
const
arm_2d_tile_t
*ptSrcMask,
3001
const
arm_2d_tile_t
*ptTarget,
3002
const
arm_2d_tile_t
*ptDesMask,
3003
const
arm_2d_region_t
*ptRegion);
3004
3005
/*!
3006
* \brief fill a source tile to a target tile with masks and y-mirroring
3007
* \param[in] ptOP the control block, NULL means using the default control block
3008
* \param[in] ptSource the source tile
3009
* \param[in] ptSrcMask the mask on the source side
3010
* \param[in] ptTarget the target tile
3011
* \param[in] ptDesMask the mask on the target side
3012
* \param[in] ptRegion the target region
3013
* \return arm_fsm_rt_t the operation result
3014
*/
3015
extern
3016
ARM_NONNULL(2,3,4,5)
3017
arm_fsm_rt_t
arm_2dp_rgb565_tile_fill_with_masks_and_y_mirror
(
3018
arm_2d_op_cp_msk_t
*ptOP,
3019
const
arm_2d_tile_t
*ptSource,
3020
const
arm_2d_tile_t
*ptSrcMask,
3021
const
arm_2d_tile_t
*ptTarget,
3022
const
arm_2d_tile_t
*ptDesMask,
3023
const
arm_2d_region_t
*ptRegion);
3024
3025
/*!
3026
* \brief fill a source tile to a target tile with masks and y-mirroring
3027
* \param[in] ptOP the control block, NULL means using the default control block
3028
* \param[in] ptSource the source tile
3029
* \param[in] ptSrcMask the mask on the source side
3030
* \param[in] ptTarget the target tile
3031
* \param[in] ptDesMask the mask on the target side
3032
* \param[in] ptRegion the target region
3033
* \return arm_fsm_rt_t the operation result
3034
*/
3035
extern
3036
ARM_NONNULL(2,3,4,5)
3037
arm_fsm_rt_t
arm_2dp_cccn888_tile_fill_with_masks_and_y_mirror
(
3038
arm_2d_op_cp_msk_t
*ptOP,
3039
const
arm_2d_tile_t
*ptSource,
3040
const
arm_2d_tile_t
*ptSrcMask,
3041
const
arm_2d_tile_t
*ptTarget,
3042
const
arm_2d_tile_t
*ptDesMask,
3043
const
arm_2d_region_t
*ptRegion);
3044
3045
3046
/*----------------------------------------------------------------------------*
3047
* Fill tile to target tile with a source mask, a target mask and xy-mirroring *
3048
*----------------------------------------------------------------------------*/
3049
3050
/*!
3051
* \brief fill a source tile to a target tile with masks and xy-mirroring
3052
* \param[in] ptOP the control block, NULL means using the default control block
3053
* \param[in] ptSource the source tile
3054
* \param[in] ptSrcMask the mask on the source side
3055
* \param[in] ptTarget the target tile
3056
* \param[in] ptDesMask the mask on the target side
3057
* \param[in] ptRegion the target region
3058
* \return arm_fsm_rt_t the operation result
3059
*/
3060
extern
3061
ARM_NONNULL(2,3,4,5)
3062
arm_fsm_rt_t
arm_2dp_gray8_tile_fill_with_masks_and_xy_mirror
(
3063
arm_2d_op_cp_msk_t
*ptOP,
3064
const
arm_2d_tile_t
*ptSource,
3065
const
arm_2d_tile_t
*ptSrcMask,
3066
const
arm_2d_tile_t
*ptTarget,
3067
const
arm_2d_tile_t
*ptDesMask,
3068
const
arm_2d_region_t
*ptRegion);
3069
3070
/*!
3071
* \brief fill a source tile to a target tile with masks and xy-mirroring
3072
* \param[in] ptOP the control block, NULL means using the default control block
3073
* \param[in] ptSource the source tile
3074
* \param[in] ptSrcMask the mask on the source side
3075
* \param[in] ptTarget the target tile
3076
* \param[in] ptDesMask the mask on the target side
3077
* \param[in] ptRegion the target region
3078
* \return arm_fsm_rt_t the operation result
3079
*/
3080
extern
3081
ARM_NONNULL(2,3,4,5)
3082
arm_fsm_rt_t
arm_2dp_rgb565_tile_fill_with_masks_and_xy_mirror
(
3083
arm_2d_op_cp_msk_t
*ptOP,
3084
const
arm_2d_tile_t
*ptSource,
3085
const
arm_2d_tile_t
*ptSrcMask,
3086
const
arm_2d_tile_t
*ptTarget,
3087
const
arm_2d_tile_t
*ptDesMask,
3088
const
arm_2d_region_t
*ptRegion);
3089
3090
/*!
3091
* \brief fill a source tile to a target tile with masks and xy-mirroring
3092
* \param[in] ptOP the control block, NULL means using the default control block
3093
* \param[in] ptSource the source tile
3094
* \param[in] ptSrcMask the mask on the source side
3095
* \param[in] ptTarget the target tile
3096
* \param[in] ptDesMask the mask on the target side
3097
* \param[in] ptRegion the target region
3098
* \return arm_fsm_rt_t the operation result
3099
*/
3100
extern
3101
ARM_NONNULL(2,3,4,5)
3102
arm_fsm_rt_t
arm_2dp_cccn888_tile_fill_with_masks_and_xy_mirror
(
3103
arm_2d_op_cp_msk_t
*ptOP,
3104
const
arm_2d_tile_t
*ptSource,
3105
const
arm_2d_tile_t
*ptSrcMask,
3106
const
arm_2d_tile_t
*ptTarget,
3107
const
arm_2d_tile_t
*ptDesMask,
3108
const
arm_2d_region_t
*ptRegion);
3109
3110
3111
/*----------------------------------------------------------------------------*
3112
* Copy tile to destination with a source mask and a specified mode *
3113
*----------------------------------------------------------------------------*/
3114
/*!
3115
* \brief copy a source tile to a target tile with a source mask in a given mode
3116
* \param[in] ptOP the control block, NULL means using the default control block
3117
* \param[in] ptSource the source tile
3118
* \param[in] ptSrcMask the mask on the source side
3119
* \param[in] ptTarget the target tile
3120
* \param[in] ptRegion the target region
3121
* \param[in] wMode the copy mode
3122
* \return arm_fsm_rt_t the operation result
3123
*/
3124
extern
3125
ARM_NONNULL(2,3,4)
3126
arm_fsm_rt_t
arm_2dp_gray8_tile_copy_with_src_mask
(
3127
arm_2d_op_cp_msk_t
*ptOP,
3128
const
arm_2d_tile_t
*ptSource,
3129
const
arm_2d_tile_t
*ptSrcMask,
3130
const
arm_2d_tile_t
*ptTarget,
3131
const
arm_2d_region_t
*ptRegion,
3132
uint32_t wMode);
3133
3134
/*!
3135
* \brief copy a source tile to a target tile with a source mask in a given mode
3136
* \param[in] ptOP the control block, NULL means using the default control block
3137
* \param[in] ptSource the source tile
3138
* \param[in] ptSrcMask the mask on the source side
3139
* \param[in] ptTarget the target tile
3140
* \param[in] ptRegion the target region
3141
* \param[in] wMode the copy mode
3142
* \return arm_fsm_rt_t the operation result
3143
*/
3144
extern
3145
ARM_NONNULL(2,3,4)
3146
arm_fsm_rt_t
arm_2dp_rgb565_tile_copy_with_src_mask
(
3147
arm_2d_op_cp_msk_t
*ptOP,
3148
const
arm_2d_tile_t
*ptSource,
3149
const
arm_2d_tile_t
*ptSrcMask,
3150
const
arm_2d_tile_t
*ptTarget,
3151
const
arm_2d_region_t
*ptRegion,
3152
uint32_t wMode);
3153
3154
/*!
3155
* \brief copy a source tile to a target tile with a source mask in a given mode
3156
* \param[in] ptOP the control block, NULL means using the default control block
3157
* \param[in] ptSource the source tile
3158
* \param[in] ptSrcMask the mask on the source side
3159
* \param[in] ptTarget the target tile
3160
* \param[in] ptRegion the target region
3161
* \param[in] wMode the copy mode
3162
* \return arm_fsm_rt_t the operation result
3163
*/
3164
extern
3165
ARM_NONNULL(2,3,4)
3166
arm_fsm_rt_t
arm_2dp_cccn888_tile_copy_with_src_mask
(
3167
arm_2d_op_cp_msk_t
*ptOP,
3168
const
arm_2d_tile_t
*ptSource,
3169
const
arm_2d_tile_t
*ptSrcMask,
3170
const
arm_2d_tile_t
*ptTarget,
3171
const
arm_2d_region_t
*ptRegion,
3172
uint32_t wMode);
3173
3174
3175
3176
/*----------------------------------------------------------------------------*
3177
* Copy tile to destination with a specified source mask *
3178
*----------------------------------------------------------------------------*/
3179
/*!
3180
* \brief copy a source tile to a target tile with a source mask
3181
* \param[in] ptOP the control block, NULL means using the default control block
3182
* \param[in] ptSource the source tile
3183
* \param[in] ptSrcMask the mask on the source side
3184
* \param[in] ptTarget the target tile
3185
* \param[in] ptRegion the target region
3186
* \return arm_fsm_rt_t the operation result
3187
*/
3188
extern
3189
ARM_NONNULL(2,3,4)
3190
arm_fsm_rt_t
arm_2dp_gray8_tile_copy_with_src_mask_only
(
3191
arm_2d_op_cp_msk_t
*ptOP,
3192
const
arm_2d_tile_t
*ptSource,
3193
const
arm_2d_tile_t
*ptSrcMask,
3194
const
arm_2d_tile_t
*ptTarget,
3195
const
arm_2d_region_t
*ptRegion);
3196
3197
/*!
3198
* \brief copy a source tile to a target tile with a source mask
3199
* \param[in] ptOP the control block, NULL means using the default control block
3200
* \param[in] ptSource the source tile
3201
* \param[in] ptSrcMask the mask on the source side
3202
* \param[in] ptTarget the target tile
3203
* \param[in] ptRegion the target region
3204
* \return arm_fsm_rt_t the operation result
3205
*/
3206
extern
3207
ARM_NONNULL(2,3,4)
3208
arm_fsm_rt_t
arm_2dp_rgb565_tile_copy_with_src_mask_only
(
3209
arm_2d_op_cp_msk_t
*ptOP,
3210
const
arm_2d_tile_t
*ptSource,
3211
const
arm_2d_tile_t
*ptSrcMask,
3212
const
arm_2d_tile_t
*ptTarget,
3213
const
arm_2d_region_t
*ptRegion);
3214
3215
/*!
3216
* \brief copy a source tile to a target tile with a source mask
3217
* \param[in] ptOP the control block, NULL means using the default control block
3218
* \param[in] ptSource the source tile
3219
* \param[in] ptSrcMask the mask on the source side
3220
* \param[in] ptTarget the target tile
3221
* \param[in] ptRegion the target region
3222
* \param[in] wMode the copy mode
3223
* \return arm_fsm_rt_t the operation result
3224
*/
3225
extern
3226
ARM_NONNULL(2,3,4)
3227
arm_fsm_rt_t
arm_2dp_cccn888_tile_copy_with_src_mask_only
(
3228
arm_2d_op_cp_msk_t
*ptOP,
3229
const
arm_2d_tile_t
*ptSource,
3230
const
arm_2d_tile_t
*ptSrcMask,
3231
const
arm_2d_tile_t
*ptTarget,
3232
const
arm_2d_region_t
*ptRegion);
3233
3234
3235
/*----------------------------------------------------------------------------*
3236
* Copy tile to destination with a specified source mask and x-mirroring *
3237
*----------------------------------------------------------------------------*/
3238
/*!
3239
* \brief copy a source tile to a target tile with a source mask and x-mirroring
3240
* \param[in] ptOP the control block, NULL means using the default control block
3241
* \param[in] ptSource the source tile
3242
* \param[in] ptSrcMask the mask on the source side
3243
* \param[in] ptTarget the target tile
3244
* \param[in] ptRegion the target region
3245
* \return arm_fsm_rt_t the operation result
3246
*/
3247
extern
3248
ARM_NONNULL(2,3,4)
3249
arm_fsm_rt_t
arm_2dp_gray8_tile_copy_with_src_mask_and_x_mirror
(
3250
arm_2d_op_cp_msk_t
*ptOP,
3251
const
arm_2d_tile_t
*ptSource,
3252
const
arm_2d_tile_t
*ptSrcMask,
3253
const
arm_2d_tile_t
*ptTarget,
3254
const
arm_2d_region_t
*ptRegion);
3255
3256
/*!
3257
* \brief copy a source tile to a target tile with a source mask and x-mirroring
3258
* \param[in] ptOP the control block, NULL means using the default control block
3259
* \param[in] ptSource the source tile
3260
* \param[in] ptSrcMask the mask on the source side
3261
* \param[in] ptTarget the target tile
3262
* \param[in] ptRegion the target region
3263
* \return arm_fsm_rt_t the operation result
3264
*/
3265
extern
3266
ARM_NONNULL(2,3,4)
3267
arm_fsm_rt_t
arm_2dp_rgb565_tile_copy_with_src_mask_and_x_mirror
(
3268
arm_2d_op_cp_msk_t
*ptOP,
3269
const
arm_2d_tile_t
*ptSource,
3270
const
arm_2d_tile_t
*ptSrcMask,
3271
const
arm_2d_tile_t
*ptTarget,
3272
const
arm_2d_region_t
*ptRegion);
3273
3274
/*!
3275
* \brief copy a source tile to a target tile with a source mask and x-mirroring
3276
* \param[in] ptOP the control block, NULL means using the default control block
3277
* \param[in] ptSource the source tile
3278
* \param[in] ptSrcMask the mask on the source side
3279
* \param[in] ptTarget the target tile
3280
* \param[in] ptRegion the target region
3281
* \param[in] wMode the copy mode
3282
* \return arm_fsm_rt_t the operation result
3283
*/
3284
extern
3285
ARM_NONNULL(2,3,4)
3286
arm_fsm_rt_t
arm_2dp_cccn888_tile_copy_with_src_mask_and_x_mirror
(
3287
arm_2d_op_cp_msk_t
*ptOP,
3288
const
arm_2d_tile_t
*ptSource,
3289
const
arm_2d_tile_t
*ptSrcMask,
3290
const
arm_2d_tile_t
*ptTarget,
3291
const
arm_2d_region_t
*ptRegion);
3292
3293
/*----------------------------------------------------------------------------*
3294
* Copy tile to destination with a specified source mask and y-mirroring *
3295
*----------------------------------------------------------------------------*/
3296
/*!
3297
* \brief copy a source tile to a target tile with a source mask and y-mirroring
3298
* \param[in] ptOP the control block, NULL means using the default control block
3299
* \param[in] ptSource the source tile
3300
* \param[in] ptSrcMask the mask on the source side
3301
* \param[in] ptTarget the target tile
3302
* \param[in] ptRegion the target region
3303
* \return arm_fsm_rt_t the operation result
3304
*/
3305
extern
3306
ARM_NONNULL(2,3,4)
3307
arm_fsm_rt_t
arm_2dp_gray8_tile_copy_with_src_mask_and_y_mirror
(
3308
arm_2d_op_cp_msk_t
*ptOP,
3309
const
arm_2d_tile_t
*ptSource,
3310
const
arm_2d_tile_t
*ptSrcMask,
3311
const
arm_2d_tile_t
*ptTarget,
3312
const
arm_2d_region_t
*ptRegion);
3313
3314
/*!
3315
* \brief copy a source tile to a target tile with a source mask and y-mirroring
3316
* \param[in] ptOP the control block, NULL means using the default control block
3317
* \param[in] ptSource the source tile
3318
* \param[in] ptSrcMask the mask on the source side
3319
* \param[in] ptTarget the target tile
3320
* \param[in] ptRegion the target region
3321
* \return arm_fsm_rt_t the operation result
3322
*/
3323
extern
3324
ARM_NONNULL(2,3,4)
3325
arm_fsm_rt_t
arm_2dp_rgb565_tile_copy_with_src_mask_and_y_mirror
(
3326
arm_2d_op_cp_msk_t
*ptOP,
3327
const
arm_2d_tile_t
*ptSource,
3328
const
arm_2d_tile_t
*ptSrcMask,
3329
const
arm_2d_tile_t
*ptTarget,
3330
const
arm_2d_region_t
*ptRegion);
3331
3332
/*!
3333
* \brief copy a source tile to a target tile with a source mask and y-mirroring
3334
* \param[in] ptOP the control block, NULL means using the default control block
3335
* \param[in] ptSource the source tile
3336
* \param[in] ptSrcMask the mask on the source side
3337
* \param[in] ptTarget the target tile
3338
* \param[in] ptRegion the target region
3339
* \param[in] wMode the copy mode
3340
* \return arm_fsm_rt_t the operation result
3341
*/
3342
extern
3343
ARM_NONNULL(2,3,4)
3344
arm_fsm_rt_t
arm_2dp_cccn888_tile_copy_with_src_mask_and_y_mirror
(
3345
arm_2d_op_cp_msk_t
*ptOP,
3346
const
arm_2d_tile_t
*ptSource,
3347
const
arm_2d_tile_t
*ptSrcMask,
3348
const
arm_2d_tile_t
*ptTarget,
3349
const
arm_2d_region_t
*ptRegion);
3350
3351
3352
/*----------------------------------------------------------------------------*
3353
* Copy tile to destination with a specified source mask and xy-mirroring *
3354
*----------------------------------------------------------------------------*/
3355
/*!
3356
* \brief copy a source tile to a target tile with a source mask and xy-mirroring
3357
* \param[in] ptOP the control block, NULL means using the default control block
3358
* \param[in] ptSource the source tile
3359
* \param[in] ptSrcMask the mask on the source side
3360
* \param[in] ptTarget the target tile
3361
* \param[in] ptRegion the target region
3362
* \return arm_fsm_rt_t the operation result
3363
*/
3364
extern
3365
ARM_NONNULL(2,3,4)
3366
arm_fsm_rt_t
arm_2dp_gray8_tile_copy_with_src_mask_and_xy_mirror
(
3367
arm_2d_op_cp_msk_t
*ptOP,
3368
const
arm_2d_tile_t
*ptSource,
3369
const
arm_2d_tile_t
*ptSrcMask,
3370
const
arm_2d_tile_t
*ptTarget,
3371
const
arm_2d_region_t
*ptRegion);
3372
3373
/*!
3374
* \brief copy a source tile to a target tile with a source mask and xy-mirroring
3375
* \param[in] ptOP the control block, NULL means using the default control block
3376
* \param[in] ptSource the source tile
3377
* \param[in] ptSrcMask the mask on the source side
3378
* \param[in] ptTarget the target tile
3379
* \param[in] ptRegion the target region
3380
* \return arm_fsm_rt_t the operation result
3381
*/
3382
extern
3383
ARM_NONNULL(2,3,4)
3384
arm_fsm_rt_t
arm_2dp_rgb565_tile_copy_with_src_mask_and_xy_mirror
(
3385
arm_2d_op_cp_msk_t
*ptOP,
3386
const
arm_2d_tile_t
*ptSource,
3387
const
arm_2d_tile_t
*ptSrcMask,
3388
const
arm_2d_tile_t
*ptTarget,
3389
const
arm_2d_region_t
*ptRegion);
3390
3391
/*!
3392
* \brief copy a source tile to a target tile with a source mask and xy-mirroring
3393
* \param[in] ptOP the control block, NULL means using the default control block
3394
* \param[in] ptSource the source tile
3395
* \param[in] ptSrcMask the mask on the source side
3396
* \param[in] ptTarget the target tile
3397
* \param[in] ptRegion the target region
3398
* \param[in] wMode the copy mode
3399
* \return arm_fsm_rt_t the operation result
3400
*/
3401
extern
3402
ARM_NONNULL(2,3,4)
3403
arm_fsm_rt_t
arm_2dp_cccn888_tile_copy_with_src_mask_and_xy_mirror
(
3404
arm_2d_op_cp_msk_t
*ptOP,
3405
const
arm_2d_tile_t
*ptSource,
3406
const
arm_2d_tile_t
*ptSrcMask,
3407
const
arm_2d_tile_t
*ptTarget,
3408
const
arm_2d_region_t
*ptRegion);
3409
3410
/*----------------------------------------------------------------------------*
3411
* Fill tile to destination with a specified source mask *
3412
*----------------------------------------------------------------------------*/
3413
/*!
3414
* \brief fill a source tile to a target tile with a source mask
3415
* \param[in] ptOP the control block, NULL means using the default control block
3416
* \param[in] ptSource the source tile
3417
* \param[in] ptSrcMask the mask on the source side
3418
* \param[in] ptTarget the target tile
3419
* \param[in] ptRegion the target region
3420
* \return arm_fsm_rt_t the operation result
3421
*/
3422
extern
3423
ARM_NONNULL(2,3,4)
3424
arm_fsm_rt_t
arm_2dp_gray8_tile_fill_with_src_mask_only
(
3425
arm_2d_op_cp_msk_t
*ptOP,
3426
const
arm_2d_tile_t
*ptSource,
3427
const
arm_2d_tile_t
*ptSrcMask,
3428
const
arm_2d_tile_t
*ptTarget,
3429
const
arm_2d_region_t
*ptRegion);
3430
3431
/*!
3432
* \brief fill a source tile to a target tile with a source mask
3433
* \param[in] ptOP the control block, NULL means using the default control block
3434
* \param[in] ptSource the source tile
3435
* \param[in] ptSrcMask the mask on the source side
3436
* \param[in] ptTarget the target tile
3437
* \param[in] ptRegion the target region
3438
* \return arm_fsm_rt_t the operation result
3439
*/
3440
extern
3441
ARM_NONNULL(2,3,4)
3442
arm_fsm_rt_t
arm_2dp_rgb565_tile_fill_with_src_mask_only
(
3443
arm_2d_op_cp_msk_t
*ptOP,
3444
const
arm_2d_tile_t
*ptSource,
3445
const
arm_2d_tile_t
*ptSrcMask,
3446
const
arm_2d_tile_t
*ptTarget,
3447
const
arm_2d_region_t
*ptRegion);
3448
3449
/*!
3450
* \brief fill a source tile to a target tile with a source mask
3451
* \param[in] ptOP the control block, NULL means using the default control block
3452
* \param[in] ptSource the source tile
3453
* \param[in] ptSrcMask the mask on the source side
3454
* \param[in] ptTarget the target tile
3455
* \param[in] ptRegion the target region
3456
* \param[in] wMode the fill mode
3457
* \return arm_fsm_rt_t the operation result
3458
*/
3459
extern
3460
ARM_NONNULL(2,3,4)
3461
arm_fsm_rt_t
arm_2dp_cccn888_tile_fill_with_src_mask_only
(
3462
arm_2d_op_cp_msk_t
*ptOP,
3463
const
arm_2d_tile_t
*ptSource,
3464
const
arm_2d_tile_t
*ptSrcMask,
3465
const
arm_2d_tile_t
*ptTarget,
3466
const
arm_2d_region_t
*ptRegion);
3467
3468
3469
/*----------------------------------------------------------------------------*
3470
* Fill tile to destination with a specified source mask and x-mirroring *
3471
*----------------------------------------------------------------------------*/
3472
/*!
3473
* \brief fill a source tile to a target tile with a source mask and x-mirroring
3474
* \param[in] ptOP the control block, NULL means using the default control block
3475
* \param[in] ptSource the source tile
3476
* \param[in] ptSrcMask the mask on the source side
3477
* \param[in] ptTarget the target tile
3478
* \param[in] ptRegion the target region
3479
* \return arm_fsm_rt_t the operation result
3480
*/
3481
extern
3482
ARM_NONNULL(2,3,4)
3483
arm_fsm_rt_t
arm_2dp_gray8_tile_fill_with_src_mask_and_x_mirror
(
3484
arm_2d_op_cp_msk_t
*ptOP,
3485
const
arm_2d_tile_t
*ptSource,
3486
const
arm_2d_tile_t
*ptSrcMask,
3487
const
arm_2d_tile_t
*ptTarget,
3488
const
arm_2d_region_t
*ptRegion);
3489
3490
/*!
3491
* \brief fill a source tile to a target tile with a source mask and x-mirroring
3492
* \param[in] ptOP the control block, NULL means using the default control block
3493
* \param[in] ptSource the source tile
3494
* \param[in] ptSrcMask the mask on the source side
3495
* \param[in] ptTarget the target tile
3496
* \param[in] ptRegion the target region
3497
* \return arm_fsm_rt_t the operation result
3498
*/
3499
extern
3500
ARM_NONNULL(2,3,4)
3501
arm_fsm_rt_t
arm_2dp_rgb565_tile_fill_with_src_mask_and_x_mirror
(
3502
arm_2d_op_cp_msk_t
*ptOP,
3503
const
arm_2d_tile_t
*ptSource,
3504
const
arm_2d_tile_t
*ptSrcMask,
3505
const
arm_2d_tile_t
*ptTarget,
3506
const
arm_2d_region_t
*ptRegion);
3507
3508
/*!
3509
* \brief fill a source tile to a target tile with a source mask and x-mirroring
3510
* \param[in] ptOP the control block, NULL means using the default control block
3511
* \param[in] ptSource the source tile
3512
* \param[in] ptSrcMask the mask on the source side
3513
* \param[in] ptTarget the target tile
3514
* \param[in] ptRegion the target region
3515
* \param[in] wMode the fill mode
3516
* \return arm_fsm_rt_t the operation result
3517
*/
3518
extern
3519
ARM_NONNULL(2,3,4)
3520
arm_fsm_rt_t
arm_2dp_cccn888_tile_fill_with_src_mask_and_x_mirror
(
3521
arm_2d_op_cp_msk_t
*ptOP,
3522
const
arm_2d_tile_t
*ptSource,
3523
const
arm_2d_tile_t
*ptSrcMask,
3524
const
arm_2d_tile_t
*ptTarget,
3525
const
arm_2d_region_t
*ptRegion);
3526
3527
/*----------------------------------------------------------------------------*
3528
* Fill tile to destination with a specified source mask and y-mirroring *
3529
*----------------------------------------------------------------------------*/
3530
/*!
3531
* \brief fill a source tile to a target tile with a source mask and y-mirroring
3532
* \param[in] ptOP the control block, NULL means using the default control block
3533
* \param[in] ptSource the source tile
3534
* \param[in] ptSrcMask the mask on the source side
3535
* \param[in] ptTarget the target tile
3536
* \param[in] ptRegion the target region
3537
* \return arm_fsm_rt_t the operation result
3538
*/
3539
extern
3540
ARM_NONNULL(2,3,4)
3541
arm_fsm_rt_t
arm_2dp_gray8_tile_fill_with_src_mask_and_y_mirror
(
3542
arm_2d_op_cp_msk_t
*ptOP,
3543
const
arm_2d_tile_t
*ptSource,
3544
const
arm_2d_tile_t
*ptSrcMask,
3545
const
arm_2d_tile_t
*ptTarget,
3546
const
arm_2d_region_t
*ptRegion);
3547
3548
/*!
3549
* \brief fill a source tile to a target tile with a source mask and y-mirroring
3550
* \param[in] ptOP the control block, NULL means using the default control block
3551
* \param[in] ptSource the source tile
3552
* \param[in] ptSrcMask the mask on the source side
3553
* \param[in] ptTarget the target tile
3554
* \param[in] ptRegion the target region
3555
* \return arm_fsm_rt_t the operation result
3556
*/
3557
extern
3558
ARM_NONNULL(2,3,4)
3559
arm_fsm_rt_t
arm_2dp_rgb565_tile_fill_with_src_mask_and_y_mirror
(
3560
arm_2d_op_cp_msk_t
*ptOP,
3561
const
arm_2d_tile_t
*ptSource,
3562
const
arm_2d_tile_t
*ptSrcMask,
3563
const
arm_2d_tile_t
*ptTarget,
3564
const
arm_2d_region_t
*ptRegion);
3565
3566
/*!
3567
* \brief fill a source tile to a target tile with a source mask and y-mirroring
3568
* \param[in] ptOP the control block, NULL means using the default control block
3569
* \param[in] ptSource the source tile
3570
* \param[in] ptSrcMask the mask on the source side
3571
* \param[in] ptTarget the target tile
3572
* \param[in] ptRegion the target region
3573
* \param[in] wMode the fill mode
3574
* \return arm_fsm_rt_t the operation result
3575
*/
3576
extern
3577
ARM_NONNULL(2,3,4)
3578
arm_fsm_rt_t
arm_2dp_cccn888_tile_fill_with_src_mask_and_y_mirror
(
3579
arm_2d_op_cp_msk_t
*ptOP,
3580
const
arm_2d_tile_t
*ptSource,
3581
const
arm_2d_tile_t
*ptSrcMask,
3582
const
arm_2d_tile_t
*ptTarget,
3583
const
arm_2d_region_t
*ptRegion);
3584
3585
3586
/*----------------------------------------------------------------------------*
3587
* Fill tile to destination with a specified source mask and xy-mirroring *
3588
*----------------------------------------------------------------------------*/
3589
/*!
3590
* \brief fill a source tile to a target tile with a source mask and xy-mirroring
3591
* \param[in] ptOP the control block, NULL means using the default control block
3592
* \param[in] ptSource the source tile
3593
* \param[in] ptSrcMask the mask on the source side
3594
* \param[in] ptTarget the target tile
3595
* \param[in] ptRegion the target region
3596
* \return arm_fsm_rt_t the operation result
3597
*/
3598
extern
3599
ARM_NONNULL(2,3,4)
3600
arm_fsm_rt_t
arm_2dp_gray8_tile_fill_with_src_mask_and_xy_mirror
(
3601
arm_2d_op_cp_msk_t
*ptOP,
3602
const
arm_2d_tile_t
*ptSource,
3603
const
arm_2d_tile_t
*ptSrcMask,
3604
const
arm_2d_tile_t
*ptTarget,
3605
const
arm_2d_region_t
*ptRegion);
3606
3607
/*!
3608
* \brief fill a source tile to a target tile with a source mask and xy-mirroring
3609
* \param[in] ptOP the control block, NULL means using the default control block
3610
* \param[in] ptSource the source tile
3611
* \param[in] ptSrcMask the mask on the source side
3612
* \param[in] ptTarget the target tile
3613
* \param[in] ptRegion the target region
3614
* \return arm_fsm_rt_t the operation result
3615
*/
3616
extern
3617
ARM_NONNULL(2,3,4)
3618
arm_fsm_rt_t
arm_2dp_rgb565_tile_fill_with_src_mask_and_xy_mirror
(
3619
arm_2d_op_cp_msk_t
*ptOP,
3620
const
arm_2d_tile_t
*ptSource,
3621
const
arm_2d_tile_t
*ptSrcMask,
3622
const
arm_2d_tile_t
*ptTarget,
3623
const
arm_2d_region_t
*ptRegion);
3624
3625
/*!
3626
* \brief fill a source tile to a target tile with a source mask and xy-mirroring
3627
* \param[in] ptOP the control block, NULL means using the default control block
3628
* \param[in] ptSource the source tile
3629
* \param[in] ptSrcMask the mask on the source side
3630
* \param[in] ptTarget the target tile
3631
* \param[in] ptRegion the target region
3632
* \param[in] wMode the fill mode
3633
* \return arm_fsm_rt_t the operation result
3634
*/
3635
extern
3636
ARM_NONNULL(2,3,4)
3637
arm_fsm_rt_t
arm_2dp_cccn888_tile_fill_with_src_mask_and_xy_mirror
(
3638
arm_2d_op_cp_msk_t
*ptOP,
3639
const
arm_2d_tile_t
*ptSource,
3640
const
arm_2d_tile_t
*ptSrcMask,
3641
const
arm_2d_tile_t
*ptTarget,
3642
const
arm_2d_region_t
*ptRegion);
3643
3644
3645
/*----------------------------------------------------------------------------*
3646
* Copy tile to destination with a target mask and a specified mode *
3647
*----------------------------------------------------------------------------*/
3648
3649
/*!
3650
* \brief copy a source tile to a target tile with a target mask in a given mode
3651
* \param[in] ptOP the control block, NULL means using the default control block
3652
* \param[in] ptSource the source tile
3653
* \param[in] ptTarget the target tile
3654
* \param[in] ptDesMask the mask on the target side
3655
* \param[in] ptRegion the target region
3656
* \param[in] wMode the copy mode
3657
* \return arm_fsm_rt_t the operation result
3658
*/
3659
extern
3660
ARM_NONNULL(2,3,4)
3661
arm_fsm_rt_t
arm_2dp_gray8_tile_copy_with_des_mask
(
3662
arm_2d_op_cp_msk_t
*ptOP,
3663
const
arm_2d_tile_t
*ptSource,
3664
const
arm_2d_tile_t
*ptTarget,
3665
const
arm_2d_tile_t
*ptDesMask,
3666
const
arm_2d_region_t
*ptRegion,
3667
uint32_t wMode);
3668
3669
/*!
3670
* \brief copy a source tile to a target tile with a target mask in a given mode
3671
* \param[in] ptOP the control block, NULL means using the default control block
3672
* \param[in] ptSource the source tile
3673
* \param[in] ptTarget the target tile
3674
* \param[in] ptDesMask the mask on the target side
3675
* \param[in] ptRegion the target region
3676
* \param[in] wMode the copy mode
3677
* \return arm_fsm_rt_t the operation result
3678
*/
3679
extern
3680
ARM_NONNULL(2,3,4)
3681
arm_fsm_rt_t
arm_2dp_rgb565_tile_copy_with_des_mask
(
3682
arm_2d_op_cp_msk_t
*ptOP,
3683
const
arm_2d_tile_t
*ptSource,
3684
const
arm_2d_tile_t
*ptTarget,
3685
const
arm_2d_tile_t
*ptDesMask,
3686
const
arm_2d_region_t
*ptRegion,
3687
uint32_t wMode);
3688
3689
/*!
3690
* \brief copy a source tile to a target tile with a target mask in a given mode
3691
* \param[in] ptOP the control block, NULL means using the default control block
3692
* \param[in] ptSource the source tile
3693
* \param[in] ptTarget the target tile
3694
* \param[in] ptDesMask the mask on the target side
3695
* \param[in] ptRegion the target region
3696
* \param[in] wMode the copy mode
3697
* \return arm_fsm_rt_t the operation result
3698
*/
3699
extern
3700
ARM_NONNULL(2,3,4)
3701
arm_fsm_rt_t
arm_2dp_cccn888_tile_copy_with_des_mask
(
3702
arm_2d_op_cp_msk_t
*ptOP,
3703
const
arm_2d_tile_t
*ptSource,
3704
const
arm_2d_tile_t
*ptTarget,
3705
const
arm_2d_tile_t
*ptDesMask,
3706
const
arm_2d_region_t
*ptRegion,
3707
uint32_t wMode);
3708
3709
/*----------------------------------------------------------------------------*
3710
* Copy tile to target tile with a source tile and a target mask *
3711
*----------------------------------------------------------------------------*/
3712
3713
/*!
3714
* \brief copy a source tile to a target tile with a target mask
3715
* \param[in] ptOP the control block, NULL means using the default control block
3716
* \param[in] ptSource the source tile
3717
* \param[in] ptTarget the target tile
3718
* \param[in] ptDesMask the mask on the target side
3719
* \param[in] ptRegion the target region
3720
* \return arm_fsm_rt_t the operation result
3721
*/
3722
extern
3723
ARM_NONNULL(2,3,4,5)
3724
arm_fsm_rt_t
arm_2dp_gray8_tile_copy_with_des_mask_only
(
3725
arm_2d_op_cp_msk_t
*ptOP,
3726
const
arm_2d_tile_t
*ptSource,
3727
const
arm_2d_tile_t
*ptTarget,
3728
const
arm_2d_tile_t
*ptDesMask,
3729
const
arm_2d_region_t
*ptRegion);
3730
3731
/*!
3732
* \brief copy a source tile to a target tile with a target mask
3733
* \param[in] ptOP the control block, NULL means using the default control block
3734
* \param[in] ptSource the source tile
3735
* \param[in] ptTarget the target tile
3736
* \param[in] ptDesMask the mask on the target side
3737
* \param[in] ptRegion the target region
3738
* \return arm_fsm_rt_t the operation result
3739
*/
3740
extern
3741
ARM_NONNULL(2,3,4,5)
3742
arm_fsm_rt_t
arm_2dp_rgb565_tile_copy_with_des_mask_only
(
3743
arm_2d_op_cp_msk_t
*ptOP,
3744
const
arm_2d_tile_t
*ptSource,
3745
const
arm_2d_tile_t
*ptTarget,
3746
const
arm_2d_tile_t
*ptDesMask,
3747
const
arm_2d_region_t
*ptRegion);
3748
3749
/*!
3750
* \brief copy a source tile to a target tile with a target mask
3751
* \param[in] ptOP the control block, NULL means using the default control block
3752
* \param[in] ptSource the source tile
3753
* \param[in] ptTarget the target tile
3754
* \param[in] ptDesMask the mask on the target side
3755
* \param[in] ptRegion the target region
3756
* \return arm_fsm_rt_t the operation result
3757
*/
3758
extern
3759
ARM_NONNULL(2,3,4,5)
3760
arm_fsm_rt_t
arm_2dp_cccn888_tile_copy_with_des_mask_only
(
3761
arm_2d_op_cp_msk_t
*ptOP,
3762
const
arm_2d_tile_t
*ptSource,
3763
const
arm_2d_tile_t
*ptTarget,
3764
const
arm_2d_tile_t
*ptDesMask,
3765
const
arm_2d_region_t
*ptRegion);
3766
3767
3768
/*----------------------------------------------------------------------------*
3769
* Copy tile to target tile with a source mask, a target mask and x-mirroring *
3770
*----------------------------------------------------------------------------*/
3771
3772
/*!
3773
* \brief copy a source tile to a target tile with a target mask and x-mirroring
3774
* \param[in] ptOP the control block, NULL means using the default control block
3775
* \param[in] ptSource the source tile
3776
* \param[in] ptTarget the target tile
3777
* \param[in] ptDesMask the mask on the target side
3778
* \param[in] ptRegion the target region
3779
* \return arm_fsm_rt_t the operation result
3780
*/
3781
extern
3782
ARM_NONNULL(2,3,4,5)
3783
arm_fsm_rt_t
arm_2dp_gray8_tile_copy_with_des_mask_and_x_mirror
(
3784
arm_2d_op_cp_msk_t
*ptOP,
3785
const
arm_2d_tile_t
*ptSource,
3786
const
arm_2d_tile_t
*ptTarget,
3787
const
arm_2d_tile_t
*ptDesMask,
3788
const
arm_2d_region_t
*ptRegion);
3789
3790
/*!
3791
* \brief copy a source tile to a target tile with a target mask and x-mirroring
3792
* \param[in] ptOP the control block, NULL means using the default control block
3793
* \param[in] ptSource the source tile
3794
* \param[in] ptTarget the target tile
3795
* \param[in] ptDesMask the mask on the target side
3796
* \param[in] ptRegion the target region
3797
* \return arm_fsm_rt_t the operation result
3798
*/
3799
extern
3800
ARM_NONNULL(2,3,4,5)
3801
arm_fsm_rt_t
arm_2dp_rgb565_tile_copy_with_des_mask_and_x_mirror
(
3802
arm_2d_op_cp_msk_t
*ptOP,
3803
const
arm_2d_tile_t
*ptSource,
3804
const
arm_2d_tile_t
*ptTarget,
3805
const
arm_2d_tile_t
*ptDesMask,
3806
const
arm_2d_region_t
*ptRegion);
3807
3808
/*!
3809
* \brief copy a source tile to a target tile with a target mask and x-mirroring
3810
* \param[in] ptOP the control block, NULL means using the default control block
3811
* \param[in] ptSource the source tile
3812
* \param[in] ptTarget the target tile
3813
* \param[in] ptDesMask the mask on the target side
3814
* \param[in] ptRegion the target region
3815
* \return arm_fsm_rt_t the operation result
3816
*/
3817
extern
3818
ARM_NONNULL(2,3,4,5)
3819
arm_fsm_rt_t
arm_2dp_cccn888_tile_copy_with_des_mask_and_x_mirror
(
3820
arm_2d_op_cp_msk_t
*ptOP,
3821
const
arm_2d_tile_t
*ptSource,
3822
const
arm_2d_tile_t
*ptTarget,
3823
const
arm_2d_tile_t
*ptDesMask,
3824
const
arm_2d_region_t
*ptRegion);
3825
3826
3827
/*----------------------------------------------------------------------------*
3828
* Copy tile to target tile with a source tile, a target mask and y-mirroring *
3829
*----------------------------------------------------------------------------*/
3830
3831
/*!
3832
* \brief copy a source tile to a target tile with a target mask and y-mirroring
3833
* \param[in] ptOP the control block, NULL means using the default control block
3834
* \param[in] ptSource the source tile
3835
* \param[in] ptTarget the target tile
3836
* \param[in] ptDesMask the mask on the target side
3837
* \param[in] ptRegion the target region
3838
* \return arm_fsm_rt_t the operation result
3839
*/
3840
extern
3841
ARM_NONNULL(2,3,4,5)
3842
arm_fsm_rt_t
arm_2dp_gray8_tile_copy_with_des_mask_and_y_mirror
(
3843
arm_2d_op_cp_msk_t
*ptOP,
3844
const
arm_2d_tile_t
*ptSource,
3845
const
arm_2d_tile_t
*ptTarget,
3846
const
arm_2d_tile_t
*ptDesMask,
3847
const
arm_2d_region_t
*ptRegion);
3848
3849
/*!
3850
* \brief copy a source tile to a target tile with a target mask and y-mirroring
3851
* \param[in] ptOP the control block, NULL means using the default control block
3852
* \param[in] ptSource the source tile
3853
* \param[in] ptTarget the target tile
3854
* \param[in] ptDesMask the mask on the target side
3855
* \param[in] ptRegion the target region
3856
* \return arm_fsm_rt_t the operation result
3857
*/
3858
extern
3859
ARM_NONNULL(2,3,4,5)
3860
arm_fsm_rt_t
arm_2dp_rgb565_tile_copy_with_des_mask_and_y_mirror
(
3861
arm_2d_op_cp_msk_t
*ptOP,
3862
const
arm_2d_tile_t
*ptSource,
3863
const
arm_2d_tile_t
*ptTarget,
3864
const
arm_2d_tile_t
*ptDesMask,
3865
const
arm_2d_region_t
*ptRegion);
3866
3867
/*!
3868
* \brief copy a source tile to a target tile with a target mask and y-mirroring
3869
* \param[in] ptOP the control block, NULL means using the default control block
3870
* \param[in] ptSource the source tile
3871
* \param[in] ptTarget the target tile
3872
* \param[in] ptDesMask the mask on the target side
3873
* \param[in] ptRegion the target region
3874
* \return arm_fsm_rt_t the operation result
3875
*/
3876
extern
3877
ARM_NONNULL(2,3,4,5)
3878
arm_fsm_rt_t
arm_2dp_cccn888_tile_copy_with_des_mask_and_y_mirror
(
3879
arm_2d_op_cp_msk_t
*ptOP,
3880
const
arm_2d_tile_t
*ptSource,
3881
const
arm_2d_tile_t
*ptTarget,
3882
const
arm_2d_tile_t
*ptDesMask,
3883
const
arm_2d_region_t
*ptRegion);
3884
3885
3886
/*----------------------------------------------------------------------------*
3887
* Copy tile to target tile with a source tile, a target mask and xy-mirroring*
3888
*----------------------------------------------------------------------------*/
3889
3890
/*!
3891
* \brief copy a source tile to a target tile with a target mask and xy-mirroring
3892
* \param[in] ptOP the control block, NULL means using the default control block
3893
* \param[in] ptSource the source tile
3894
* \param[in] ptTarget the target tile
3895
* \param[in] ptDesMask the mask on the target side
3896
* \param[in] ptRegion the target region
3897
* \return arm_fsm_rt_t the operation result
3898
*/
3899
extern
3900
ARM_NONNULL(2,3,4,5)
3901
arm_fsm_rt_t
arm_2dp_gray8_tile_copy_with_des_mask_and_xy_mirror
(
3902
arm_2d_op_cp_msk_t
*ptOP,
3903
const
arm_2d_tile_t
*ptSource,
3904
const
arm_2d_tile_t
*ptTarget,
3905
const
arm_2d_tile_t
*ptDesMask,
3906
const
arm_2d_region_t
*ptRegion);
3907
3908
/*!
3909
* \brief copy a source tile to a target tile with a target mask and xy-mirroring
3910
* \param[in] ptOP the control block, NULL means using the default control block
3911
* \param[in] ptSource the source tile
3912
* \param[in] ptTarget the target tile
3913
* \param[in] ptDesMask the mask on the target side
3914
* \param[in] ptRegion the target region
3915
* \return arm_fsm_rt_t the operation result
3916
*/
3917
extern
3918
ARM_NONNULL(2,3,4,5)
3919
arm_fsm_rt_t
arm_2dp_rgb565_tile_copy_with_des_mask_and_xy_mirror
(
3920
arm_2d_op_cp_msk_t
*ptOP,
3921
const
arm_2d_tile_t
*ptSource,
3922
const
arm_2d_tile_t
*ptTarget,
3923
const
arm_2d_tile_t
*ptDesMask,
3924
const
arm_2d_region_t
*ptRegion);
3925
3926
/*!
3927
* \brief copy a source tile to a target tile with a target mask and xy-mirroring
3928
* \param[in] ptOP the control block, NULL means using the default control block
3929
* \param[in] ptSource the source tile
3930
* \param[in] ptTarget the target tile
3931
* \param[in] ptDesMask the mask on the target side
3932
* \param[in] ptRegion the target region
3933
* \return arm_fsm_rt_t the operation result
3934
*/
3935
extern
3936
ARM_NONNULL(2,3,4,5)
3937
arm_fsm_rt_t
arm_2dp_cccn888_tile_copy_with_des_mask_and_xy_mirror
(
3938
arm_2d_op_cp_msk_t
*ptOP,
3939
const
arm_2d_tile_t
*ptSource,
3940
const
arm_2d_tile_t
*ptTarget,
3941
const
arm_2d_tile_t
*ptDesMask,
3942
const
arm_2d_region_t
*ptRegion);
3943
3944
/*----------------------------------------------------------------------------*
3945
* Fill tile to target tile with a source tile and a target mask *
3946
*----------------------------------------------------------------------------*/
3947
3948
/*!
3949
* \brief fill a source tile to a target tile with a target mask
3950
* \param[in] ptOP the control block, NULL means using the default control block
3951
* \param[in] ptSource the source tile
3952
* \param[in] ptTarget the target tile
3953
* \param[in] ptDesMask the mask on the target side
3954
* \param[in] ptRegion the target region
3955
* \return arm_fsm_rt_t the operation result
3956
*/
3957
extern
3958
ARM_NONNULL(2,3,4,5)
3959
arm_fsm_rt_t
arm_2dp_gray8_tile_fill_with_des_mask_only
(
3960
arm_2d_op_cp_msk_t
*ptOP,
3961
const
arm_2d_tile_t
*ptSource,
3962
const
arm_2d_tile_t
*ptTarget,
3963
const
arm_2d_tile_t
*ptDesMask,
3964
const
arm_2d_region_t
*ptRegion);
3965
3966
/*!
3967
* \brief fill a source tile to a target tile with a target mask
3968
* \param[in] ptOP the control block, NULL means using the default control block
3969
* \param[in] ptSource the source tile
3970
* \param[in] ptTarget the target tile
3971
* \param[in] ptDesMask the mask on the target side
3972
* \param[in] ptRegion the target region
3973
* \return arm_fsm_rt_t the operation result
3974
*/
3975
extern
3976
ARM_NONNULL(2,3,4,5)
3977
arm_fsm_rt_t
arm_2dp_rgb565_tile_fill_with_des_mask_only
(
3978
arm_2d_op_cp_msk_t
*ptOP,
3979
const
arm_2d_tile_t
*ptSource,
3980
const
arm_2d_tile_t
*ptTarget,
3981
const
arm_2d_tile_t
*ptDesMask,
3982
const
arm_2d_region_t
*ptRegion);
3983
3984
/*!
3985
* \brief fill a source tile to a target tile with a target mask
3986
* \param[in] ptOP the control block, NULL means using the default control block
3987
* \param[in] ptSource the source tile
3988
* \param[in] ptTarget the target tile
3989
* \param[in] ptDesMask the mask on the target side
3990
* \param[in] ptRegion the target region
3991
* \return arm_fsm_rt_t the operation result
3992
*/
3993
extern
3994
ARM_NONNULL(2,3,4,5)
3995
arm_fsm_rt_t
arm_2dp_cccn888_tile_fill_with_des_mask_only
(
3996
arm_2d_op_cp_msk_t
*ptOP,
3997
const
arm_2d_tile_t
*ptSource,
3998
const
arm_2d_tile_t
*ptTarget,
3999
const
arm_2d_tile_t
*ptDesMask,
4000
const
arm_2d_region_t
*ptRegion);
4001
4002
4003
/*----------------------------------------------------------------------------*
4004
* Fill tile to target tile with a source tile, a target mask and x-mirroring *
4005
*----------------------------------------------------------------------------*/
4006
4007
/*!
4008
* \brief fill a source tile to a target tile with a target mask and x-mirroring
4009
* \param[in] ptOP the control block, NULL means using the default control block
4010
* \param[in] ptSource the source tile
4011
* \param[in] ptTarget the target tile
4012
* \param[in] ptDesMask the mask on the target side
4013
* \param[in] ptRegion the target region
4014
* \return arm_fsm_rt_t the operation result
4015
*/
4016
extern
4017
ARM_NONNULL(2,3,4,5)
4018
arm_fsm_rt_t
arm_2dp_gray8_tile_fill_with_des_mask_and_x_mirror
(
4019
arm_2d_op_cp_msk_t
*ptOP,
4020
const
arm_2d_tile_t
*ptSource,
4021
const
arm_2d_tile_t
*ptTarget,
4022
const
arm_2d_tile_t
*ptDesMask,
4023
const
arm_2d_region_t
*ptRegion);
4024
4025
/*!
4026
* \brief fill a source tile to a target tile with a target mask and x-mirroring
4027
* \param[in] ptOP the control block, NULL means using the default control block
4028
* \param[in] ptSource the source tile
4029
* \param[in] ptTarget the target tile
4030
* \param[in] ptDesMask the mask on the target side
4031
* \param[in] ptRegion the target region
4032
* \return arm_fsm_rt_t the operation result
4033
*/
4034
extern
4035
ARM_NONNULL(2,3,4,5)
4036
arm_fsm_rt_t
arm_2dp_rgb565_tile_fill_with_des_mask_and_x_mirror
(
4037
arm_2d_op_cp_msk_t
*ptOP,
4038
const
arm_2d_tile_t
*ptSource,
4039
const
arm_2d_tile_t
*ptTarget,
4040
const
arm_2d_tile_t
*ptDesMask,
4041
const
arm_2d_region_t
*ptRegion);
4042
4043
/*!
4044
* \brief fill a source tile to a target tile with a target mask and x-mirroring
4045
* \param[in] ptOP the control block, NULL means using the default control block
4046
* \param[in] ptSource the source tile
4047
* \param[in] ptTarget the target tile
4048
* \param[in] ptDesMask the mask on the target side
4049
* \param[in] ptRegion the target region
4050
* \return arm_fsm_rt_t the operation result
4051
*/
4052
extern
4053
ARM_NONNULL(2,3,4,5)
4054
arm_fsm_rt_t
arm_2dp_cccn888_tile_fill_with_des_mask_and_x_mirror
(
4055
arm_2d_op_cp_msk_t
*ptOP,
4056
const
arm_2d_tile_t
*ptSource,
4057
const
arm_2d_tile_t
*ptTarget,
4058
const
arm_2d_tile_t
*ptDesMask,
4059
const
arm_2d_region_t
*ptRegion);
4060
4061
4062
/*----------------------------------------------------------------------------*
4063
* Fill tile to target tile with a source tile, a target mask and y-mirroring *
4064
*----------------------------------------------------------------------------*/
4065
4066
/*!
4067
* \brief fill a source tile to a target tile with a target mask and y-mirroring
4068
* \param[in] ptOP the control block, NULL means using the default control block
4069
* \param[in] ptSource the source tile
4070
* \param[in] ptTarget the target tile
4071
* \param[in] ptDesMask the mask on the target side
4072
* \param[in] ptRegion the target region
4073
* \return arm_fsm_rt_t the operation result
4074
*/
4075
extern
4076
ARM_NONNULL(2,3,4,5)
4077
arm_fsm_rt_t
arm_2dp_gray8_tile_fill_with_des_mask_and_y_mirror
(
4078
arm_2d_op_cp_msk_t
*ptOP,
4079
const
arm_2d_tile_t
*ptSource,
4080
const
arm_2d_tile_t
*ptTarget,
4081
const
arm_2d_tile_t
*ptDesMask,
4082
const
arm_2d_region_t
*ptRegion);
4083
4084
/*!
4085
* \brief fill a source tile to a target tile with a target mask and y-mirroring
4086
* \param[in] ptOP the control block, NULL means using the default control block
4087
* \param[in] ptSource the source tile
4088
* \param[in] ptTarget the target tile
4089
* \param[in] ptDesMask the mask on the target side
4090
* \param[in] ptRegion the target region
4091
* \return arm_fsm_rt_t the operation result
4092
*/
4093
extern
4094
ARM_NONNULL(2,3,4,5)
4095
arm_fsm_rt_t
arm_2dp_rgb565_tile_fill_with_des_mask_and_y_mirror
(
4096
arm_2d_op_cp_msk_t
*ptOP,
4097
const
arm_2d_tile_t
*ptSource,
4098
const
arm_2d_tile_t
*ptTarget,
4099
const
arm_2d_tile_t
*ptDesMask,
4100
const
arm_2d_region_t
*ptRegion);
4101
4102
/*!
4103
* \brief fill a source tile to a target tile with a target mask and y-mirroring
4104
* \param[in] ptOP the control block, NULL means using the default control block
4105
* \param[in] ptSource the source tile
4106
* \param[in] ptTarget the target tile
4107
* \param[in] ptDesMask the mask on the target side
4108
* \param[in] ptRegion the target region
4109
* \return arm_fsm_rt_t the operation result
4110
*/
4111
extern
4112
ARM_NONNULL(2,3,4,5)
4113
arm_fsm_rt_t
arm_2dp_cccn888_tile_fill_with_des_mask_and_y_mirror
(
4114
arm_2d_op_cp_msk_t
*ptOP,
4115
const
arm_2d_tile_t
*ptSource,
4116
const
arm_2d_tile_t
*ptTarget,
4117
const
arm_2d_tile_t
*ptDesMask,
4118
const
arm_2d_region_t
*ptRegion);
4119
4120
4121
/*----------------------------------------------------------------------------*
4122
* Fill tile to target tile with a source tile, a target mask and xy-mirroring*
4123
*----------------------------------------------------------------------------*/
4124
4125
/*!
4126
* \brief fill a source tile to a target tile with a target mask and xy-mirroring
4127
* \param[in] ptOP the control block, NULL means using the default control block
4128
* \param[in] ptSource the source tile
4129
* \param[in] ptTarget the target tile
4130
* \param[in] ptDesMask the mask on the target side
4131
* \param[in] ptRegion the target region
4132
* \return arm_fsm_rt_t the operation result
4133
*/
4134
extern
4135
ARM_NONNULL(2,3,4,5)
4136
arm_fsm_rt_t
arm_2dp_gray8_tile_fill_with_des_mask_and_xy_mirror
(
4137
arm_2d_op_cp_msk_t
*ptOP,
4138
const
arm_2d_tile_t
*ptSource,
4139
const
arm_2d_tile_t
*ptTarget,
4140
const
arm_2d_tile_t
*ptDesMask,
4141
const
arm_2d_region_t
*ptRegion);
4142
4143
/*!
4144
* \brief fill a source tile to a target tile with target mask and xy-mirroring
4145
* \param[in] ptOP the control block, NULL means using the default control block
4146
* \param[in] ptSource the source tile
4147
* \param[in] ptTarget the target tile
4148
* \param[in] ptDesMask the mask on the target side
4149
* \param[in] ptRegion the target region
4150
* \return arm_fsm_rt_t the operation result
4151
*/
4152
extern
4153
ARM_NONNULL(2,3,4,5)
4154
arm_fsm_rt_t
arm_2dp_rgb565_tile_fill_with_des_mask_and_xy_mirror
(
4155
arm_2d_op_cp_msk_t
*ptOP,
4156
const
arm_2d_tile_t
*ptSource,
4157
const
arm_2d_tile_t
*ptTarget,
4158
const
arm_2d_tile_t
*ptDesMask,
4159
const
arm_2d_region_t
*ptRegion);
4160
4161
/*!
4162
* \brief fill a source tile to a target tile with a target mask and xy-mirroring
4163
* \param[in] ptOP the control block, NULL means using the default control block
4164
* \param[in] ptSource the source tile
4165
* \param[in] ptTarget the target tile
4166
* \param[in] ptDesMask the mask on the target side
4167
* \param[in] ptRegion the target region
4168
* \return arm_fsm_rt_t the operation result
4169
*/
4170
extern
4171
ARM_NONNULL(2,3,4,5)
4172
arm_fsm_rt_t
arm_2dp_cccn888_tile_fill_with_des_mask_and_xy_mirror
(
4173
arm_2d_op_cp_msk_t
*ptOP,
4174
const
arm_2d_tile_t
*ptSource,
4175
const
arm_2d_tile_t
*ptTarget,
4176
const
arm_2d_tile_t
*ptDesMask,
4177
const
arm_2d_region_t
*ptRegion);
4178
4179
/*! @} */
4180
4181
/*========================= POST INCLUDES ====================================*/
4182
#include "__arm_2d_fill_colour_with_mask_and_mirroring.h"
4183
#include "__arm_2d_fill_colour_with_horizontal_line_mask.h"
4184
#include "__arm_2d_fill_colour_with_vertical_line_mask.h"
4185
#include "__arm_2d_tile_copy_with_source_mask_and_opacity.h"
4186
4187
#if defined(__clang__)
4188
#pragma clang diagnostic pop
4189
#endif
4190
4191
#ifdef __cplusplus
4192
}
4193
#endif
4194
4195
#endif
Library
Include
arm_2d_alpha_blending.h