Arm-2D
2D Image Processing Library for Cortex-M Processors
Loading...
Searching...
No Matches
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: #include "arm_2d.h"
22
* Description: Public header file to contain the alpha related APIs
23
*
24
* $Date: 07. Feb 2023
25
* $Revision: V.1.4.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_alpha_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
uint8_t
chRatio
;
//!< opacity
1943
}
arm_2d_op_alpha_fill_cl_msk_opc_t
;
1944
1945
/*!
1946
* \brief control block for colour-filling-with-opacity operations
1947
* \note arm_2d_op_fill_cl_t inherits from arm_2d_op_t explicitly
1948
*/
1949
typedef
struct
arm_2d_op_fill_cl_opc_t
{
1950
inherit
(
arm_2d_op_core_t
);
//!< base
1951
struct
{
1952
const
arm_2d_tile_t
*ptTile;
//!< target tile
1953
const
arm_2d_region_t
*ptRegion;
//!< target region
1954
}
Target
;
//!< target
1955
union
{
1956
uint8_t chColour;
//!< 8bit key colour
1957
uint16_t hwColour;
//!< 16bit key colour
1958
uint32_t wColour;
//!< 32bit key colour
1959
};
1960
uint8_t
chRatio
;
//!< opacity
1961
}
arm_2d_op_fill_cl_opc_t
;
1962
1963
/*!
1964
* \brief control block for copy with masks operations
1965
*
1966
*/
1967
typedef
arm_2d_op_src_msk_t
arm_2d_op_cp_msk_t
;
1968
1969
/*============================ GLOBAL VARIABLES ==============================*/
1970
/*============================ PROTOTYPES ====================================*/
1971
1972
/*----------------------------------------------------------------------------*
1973
* Copy tile to destination with specified transparency ratio (0~255) *
1974
*----------------------------------------------------------------------------*/
1975
1976
/*!
1977
* \brief blend a source tile to a target tile with a specified opacity
1978
* \param[in] ptOP the control block, NULL means using the default control block
1979
* \param[in] ptSource the source tile
1980
* \param[in] ptTarget the target tile
1981
* \param[in] ptRegion the target region
1982
* \param[in] chRatio the opacity
1983
* \return arm_fsm_rt_t the operation result
1984
*/
1985
extern
1986
ARM_NONNULL(2,3)
1987
arm_fsm_rt_t
arm_2dp_gray8_tile_copy_with_opacity
(
arm_2d_op_alpha_t
*ptOP,
1988
const
arm_2d_tile_t
*ptSource,
1989
const
arm_2d_tile_t
*ptTarget,
1990
const
arm_2d_region_t
*ptRegion,
1991
uint_fast8_t chRatio);
1992
1993
/*!
1994
* \brief blend a source tile to a target tile with a specified opacity
1995
* \param[in] ptOP the control block, NULL means using the default control block
1996
* \param[in] ptSource the source tile
1997
* \param[in] ptTarget the target tile
1998
* \param[in] ptRegion the target region
1999
* \param[in] chRatio the opacity
2000
* \return arm_fsm_rt_t the operation result
2001
*/
2002
extern
2003
ARM_NONNULL(2,3)
2004
arm_fsm_rt_t
arm_2dp_rgb565_tile_copy_with_opacity
(
arm_2d_op_alpha_t
*ptOP,
2005
const
arm_2d_tile_t
*ptSource,
2006
const
arm_2d_tile_t
*ptTarget,
2007
const
arm_2d_region_t
*ptRegion,
2008
uint_fast8_t chRatio);
2009
2010
/*!
2011
* \brief blend a source tile to a target tile with a specified opacity
2012
* \param[in] ptOP the control block, NULL means using the default control block
2013
* \param[in] ptSource the source tile
2014
* \param[in] ptTarget the target tile
2015
* \param[in] ptRegion the target region
2016
* \param[in] chRatio the opacity
2017
* \return arm_fsm_rt_t the operation result
2018
*/
2019
extern
2020
ARM_NONNULL(2,3)
2021
arm_fsm_rt_t
arm_2dp_cccn888_tile_copy_with_opacity
(
arm_2d_op_alpha_t
*ptOP,
2022
const
arm_2d_tile_t
*ptSource,
2023
const
arm_2d_tile_t
*ptTarget,
2024
const
arm_2d_region_t
*ptRegion,
2025
uint_fast8_t chRatio);
2026
2027
2028
/*----------------------------------------------------------------------------*
2029
* Fill a specified region with a given colour and transparency ratio (0~255) *
2030
*----------------------------------------------------------------------------*/
2031
2032
/*!
2033
* \brief fill a target tile with a given gray8 colour and a specified opacity
2034
* \param[in] ptOP the control block, NULL means using the default control block
2035
* \param[in] ptTarget the target tile
2036
* \param[in] ptRegion the target region
2037
* \param[in] tColour a gray8 colour
2038
* \param[in] chRatio the opacity
2039
* \return arm_fsm_rt_t the operation result
2040
*/
2041
extern
2042
ARM_NONNULL(2)
2043
arm_fsm_rt_t
arm_2dp_gray8_fill_colour_with_opacity
(
2044
arm_2d_op_fill_cl_opc_t
*ptOP,
2045
const
arm_2d_tile_t
*ptTarget,
2046
const
arm_2d_region_t
*ptRegion,
2047
arm_2d_color_gray8_t
tColour,
2048
uint_fast8_t chRatio);
2049
2050
/*!
2051
* \brief fill a target tile with a given rgb565 colour and a specified opacity
2052
* \param[in] ptOP the control block, NULL means using the default control block
2053
* \param[in] ptTarget the target tile
2054
* \param[in] ptRegion the target region
2055
* \param[in] tColour a rgb565 colour
2056
* \param[in] chRatio the opacity
2057
* \return arm_fsm_rt_t the operation result
2058
*/
2059
extern
2060
ARM_NONNULL(2)
2061
arm_fsm_rt_t
arm_2dp_rgb565_fill_colour_with_opacity
(
2062
arm_2d_op_fill_cl_opc_t
*ptOP,
2063
const
arm_2d_tile_t
*ptTarget,
2064
const
arm_2d_region_t
*ptRegion,
2065
arm_2d_color_rgb565_t
tColour,
2066
uint_fast8_t chRatio);
2067
2068
/*!
2069
* \brief fill a target tile with a given cccn888 colour and a specified opacity
2070
* \param[in] ptOP the control block, NULL means using the default control block
2071
* \param[in] ptTarget the target tile
2072
* \param[in] ptRegion the target region
2073
* \param[in] tColour a cccn888 colour
2074
* \param[in] chRatio the opacity
2075
* \return arm_fsm_rt_t the operation result
2076
*/
2077
extern
2078
ARM_NONNULL(2)
2079
arm_fsm_rt_t
arm_2dp_cccn888_fill_colour_with_opacity
(
2080
arm_2d_op_fill_cl_opc_t
*ptOP,
2081
const
arm_2d_tile_t
*ptTarget,
2082
const
arm_2d_region_t
*ptRegion,
2083
arm_2d_color_cccn888_t
tColour,
2084
uint_fast8_t chRatio);
2085
2086
/*----------------------------------------------------------------------------*
2087
* Fill tile with a specified colour and an a2 mask *
2088
*----------------------------------------------------------------------------*/
2089
2090
/*!
2091
* \brief fill a target tile with a given gray8 colour and an a2 mask on target side
2092
* \param[in] ptOP the control block, NULL means using the default control block
2093
* \param[in] ptTarget the target tile
2094
* \param[in] ptRegion the target region
2095
* \param[in] ptAlpha the mask on the target side
2096
* \param[in] tColour a gray8 colour
2097
* \return arm_fsm_rt_t the operation result
2098
*/
2099
extern
2100
ARM_NONNULL(2,4)
2101
arm_fsm_rt_t
arm_2dp_gray8_fill_colour_with_a2_mask
(
2102
arm_2d_op_fill_cl_msk_t
*ptOP,
2103
const
arm_2d_tile_t
*ptTarget,
2104
const
arm_2d_region_t
*ptRegion,
2105
const
arm_2d_tile_t
*ptAlpha,
2106
arm_2d_color_gray8_t
tColour);
2107
2108
/*!
2109
* \brief fill a target tile with a given rgb565 colour and an a2 mask on target side
2110
* \param[in] ptOP the control block, NULL means using the default control block
2111
* \param[in] ptTarget the target tile
2112
* \param[in] ptRegion the target region
2113
* \param[in] ptAlpha the mask on the target side
2114
* \param[in] tColour a rgb565 colour
2115
* \return arm_fsm_rt_t the operation result
2116
*/
2117
extern
2118
ARM_NONNULL(2,4)
2119
arm_fsm_rt_t
arm_2dp_rgb565_fill_colour_with_a2_mask
(
2120
arm_2d_op_fill_cl_msk_t
*ptOP,
2121
const
arm_2d_tile_t
*ptTarget,
2122
const
arm_2d_region_t
*ptRegion,
2123
const
arm_2d_tile_t
*ptAlpha,
2124
arm_2d_color_rgb565_t
tColour);
2125
2126
/*!
2127
* \brief fill a target tile with a given cccn888 colour and an a2 mask on target side
2128
* \param[in] ptOP the control block, NULL means using the default control block
2129
* \param[in] ptTarget the target tile
2130
* \param[in] ptRegion the target region
2131
* \param[in] ptAlpha the mask on the target side
2132
* \param[in] tColour a cccn888 colour
2133
* \return arm_fsm_rt_t the operation result
2134
*/
2135
extern
2136
ARM_NONNULL(2,4)
2137
arm_fsm_rt_t
arm_2dp_cccn888_fill_colour_with_a2_mask
(
2138
arm_2d_op_fill_cl_msk_t
*ptOP,
2139
const
arm_2d_tile_t
*ptTarget,
2140
const
arm_2d_region_t
*ptRegion,
2141
const
arm_2d_tile_t
*ptAlpha,
2142
arm_2d_color_cccn888_t
tColour);
2143
2144
2145
/*----------------------------------------------------------------------------*
2146
* Fill tile with a specified colour and an a4 mask *
2147
*----------------------------------------------------------------------------*/
2148
2149
/*!
2150
* \brief fill a target tile with a given gray8 colour and an a4 mask on target side
2151
* \param[in] ptOP the control block, NULL means using the default control block
2152
* \param[in] ptTarget the target tile
2153
* \param[in] ptRegion the target region
2154
* \param[in] ptAlpha the mask on the target side
2155
* \param[in] tColour a gray8 colour
2156
* \return arm_fsm_rt_t the operation result
2157
*/
2158
extern
2159
ARM_NONNULL(2,4)
2160
arm_fsm_rt_t
arm_2dp_gray8_fill_colour_with_a4_mask
(
2161
arm_2d_op_fill_cl_msk_t
*ptOP,
2162
const
arm_2d_tile_t
*ptTarget,
2163
const
arm_2d_region_t
*ptRegion,
2164
const
arm_2d_tile_t
*ptAlpha,
2165
arm_2d_color_gray8_t
tColour);
2166
2167
/*!
2168
* \brief fill a target tile with a given rgb565 colour and an a4 mask on target side
2169
* \param[in] ptOP the control block, NULL means using the default control block
2170
* \param[in] ptTarget the target tile
2171
* \param[in] ptRegion the target region
2172
* \param[in] ptAlpha the mask on the target side
2173
* \param[in] tColour a rgb565 colour
2174
* \return arm_fsm_rt_t the operation result
2175
*/
2176
extern
2177
ARM_NONNULL(2,4)
2178
arm_fsm_rt_t
arm_2dp_rgb565_fill_colour_with_a4_mask
(
2179
arm_2d_op_fill_cl_msk_t
*ptOP,
2180
const
arm_2d_tile_t
*ptTarget,
2181
const
arm_2d_region_t
*ptRegion,
2182
const
arm_2d_tile_t
*ptAlpha,
2183
arm_2d_color_rgb565_t
tColour);
2184
2185
/*!
2186
* \brief fill a target tile with a given cccn888 colour and an a4 mask on target side
2187
* \param[in] ptOP the control block, NULL means using the default control block
2188
* \param[in] ptTarget the target tile
2189
* \param[in] ptRegion the target region
2190
* \param[in] ptAlpha the mask on the target side
2191
* \param[in] tColour a cccn888 colour
2192
* \return arm_fsm_rt_t the operation result
2193
*/
2194
extern
2195
ARM_NONNULL(2,4)
2196
arm_fsm_rt_t
arm_2dp_cccn888_fill_colour_with_a4_mask
(
2197
arm_2d_op_fill_cl_msk_t
*ptOP,
2198
const
arm_2d_tile_t
*ptTarget,
2199
const
arm_2d_region_t
*ptRegion,
2200
const
arm_2d_tile_t
*ptAlpha,
2201
arm_2d_color_cccn888_t
tColour);
2202
2203
/*----------------------------------------------------------------------------*
2204
* Fill tile with a specified colour and an a8 mask *
2205
*----------------------------------------------------------------------------*/
2206
2207
/*!
2208
* \brief fill a target tile with a given gray8 colour and a mask on target side
2209
* \param[in] ptOP the control block, NULL means using the default control block
2210
* \param[in] ptTarget the target tile
2211
* \param[in] ptRegion the target region
2212
* \param[in] ptAlpha the mask on the target side
2213
* \param[in] tColour a gray8 colour
2214
* \return arm_fsm_rt_t the operation result
2215
*/
2216
extern
2217
ARM_NONNULL(2,4)
2218
arm_fsm_rt_t
arm_2dp_gray8_fill_colour_with_mask
(
2219
arm_2d_op_fill_cl_msk_t
*ptOP,
2220
const
arm_2d_tile_t
*ptTarget,
2221
const
arm_2d_region_t
*ptRegion,
2222
const
arm_2d_tile_t
*ptAlpha,
2223
arm_2d_color_gray8_t
tColour);
2224
2225
/*!
2226
* \brief fill a target tile with a given rgb565 colour and a mask on target side
2227
* \param[in] ptOP the control block, NULL means using the default control block
2228
* \param[in] ptTarget the target tile
2229
* \param[in] ptRegion the target region
2230
* \param[in] ptAlpha the mask on the target side
2231
* \param[in] tColour a rgb565 colour
2232
* \return arm_fsm_rt_t the operation result
2233
*/
2234
extern
2235
ARM_NONNULL(2,4)
2236
arm_fsm_rt_t
arm_2dp_rgb565_fill_colour_with_mask
(
2237
arm_2d_op_fill_cl_msk_t
*ptOP,
2238
const
arm_2d_tile_t
*ptTarget,
2239
const
arm_2d_region_t
*ptRegion,
2240
const
arm_2d_tile_t
*ptAlpha,
2241
arm_2d_color_rgb565_t
tColour);
2242
2243
/*!
2244
* \brief fill a target tile with a given cccn888 colour and a mask on target side
2245
* \param[in] ptOP the control block, NULL means using the default control block
2246
* \param[in] ptTarget the target tile
2247
* \param[in] ptRegion the target region
2248
* \param[in] ptAlpha the mask on the target side
2249
* \param[in] tColour a cccn888 colour
2250
* \return arm_fsm_rt_t the operation result
2251
*/
2252
extern
2253
ARM_NONNULL(2,4)
2254
arm_fsm_rt_t
arm_2dp_cccn888_fill_colour_with_mask
(
2255
arm_2d_op_fill_cl_msk_t
*ptOP,
2256
const
arm_2d_tile_t
*ptTarget,
2257
const
arm_2d_region_t
*ptRegion,
2258
const
arm_2d_tile_t
*ptAlpha,
2259
arm_2d_color_cccn888_t
tColour);
2260
2261
2262
/*----------------------------------------------------------------------------*
2263
* Fill tile with a specified colour, an a2 mask and a specified opacity *
2264
*----------------------------------------------------------------------------*/
2265
2266
/*!
2267
* \brief fill a target tile with a given gray8 colour, an a2 mask on target side and an opacity
2268
* \param[in] ptOP the control block, NULL means using the default control block
2269
* \param[in] ptTarget the target tile
2270
* \param[in] ptRegion the target region
2271
* \param[in] ptAlpha the mask on the target side
2272
* \param[in] tColour a gray8 colour
2273
* \param[in] chOpacity the opacity
2274
* \return arm_fsm_rt_t the operation result
2275
*/
2276
extern
2277
ARM_NONNULL(2,4)
2278
arm_fsm_rt_t
arm_2dp_gray8_fill_colour_with_a2_mask_and_opacity
(
2279
arm_2d_op_alpha_fill_cl_msk_opc_t
*ptOP,
2280
const
arm_2d_tile_t
*ptTarget,
2281
const
arm_2d_region_t
*ptRegion,
2282
const
arm_2d_tile_t
*ptAlpha,
2283
arm_2d_color_gray8_t
tColour,
2284
uint8_t chOpacity);
2285
2286
/*!
2287
* \brief fill a target tile with a given rgb565 colour, an a2 mask on target side and an opacity
2288
* \param[in] ptOP the control block, NULL means using the default control block
2289
* \param[in] ptTarget the target tile
2290
* \param[in] ptRegion the target region
2291
* \param[in] ptAlpha the mask on the target side
2292
* \param[in] tColour a rgb565 colour
2293
* \param[in] chOpacity the opacity
2294
* \return arm_fsm_rt_t the operation result
2295
*/
2296
extern
2297
ARM_NONNULL(2,4)
2298
arm_fsm_rt_t
arm_2dp_rgb565_fill_colour_with_a2_mask_and_opacity
(
2299
arm_2d_op_alpha_fill_cl_msk_opc_t
*ptOP,
2300
const
arm_2d_tile_t
*ptTarget,
2301
const
arm_2d_region_t
*ptRegion,
2302
const
arm_2d_tile_t
*ptAlpha,
2303
arm_2d_color_rgb565_t
tColour,
2304
uint8_t chOpacity);
2305
2306
/*!
2307
* \brief fill a target tile with a given cccn888 colour, an a2 mask on target side and an opacity
2308
* \param[in] ptOP the control block, NULL means using the default control block
2309
* \param[in] ptTarget the target tile
2310
* \param[in] ptRegion the target region
2311
* \param[in] ptAlpha the mask on the target side
2312
* \param[in] tColour a cccn888 colour
2313
* \param[in] chOpacity the opacity
2314
* \return arm_fsm_rt_t the operation result
2315
*/
2316
extern
2317
ARM_NONNULL(2,4)
2318
arm_fsm_rt_t
arm_2dp_cccn888_fill_colour_with_a2_mask_and_opacity
(
2319
arm_2d_op_alpha_fill_cl_msk_opc_t
*ptOP,
2320
const
arm_2d_tile_t
*ptTarget,
2321
const
arm_2d_region_t
*ptRegion,
2322
const
arm_2d_tile_t
*ptAlpha,
2323
arm_2d_color_cccn888_t
tColour,
2324
uint8_t chOpacity);
2325
2326
/*----------------------------------------------------------------------------*
2327
* Fill tile with a specified colour, an a4 mask and a specified opacity *
2328
*----------------------------------------------------------------------------*/
2329
2330
/*!
2331
* \brief fill a target tile with a given gray8 colour, an a4 mask on target side and an opacity
2332
* \param[in] ptOP the control block, NULL means using the default control block
2333
* \param[in] ptTarget the target tile
2334
* \param[in] ptRegion the target region
2335
* \param[in] ptAlpha the mask on the target side
2336
* \param[in] tColour a gray8 colour
2337
* \param[in] chOpacity the opacity
2338
* \return arm_fsm_rt_t the operation result
2339
*/
2340
extern
2341
ARM_NONNULL(2,4)
2342
arm_fsm_rt_t
arm_2dp_gray8_fill_colour_with_a4_mask_and_opacity
(
2343
arm_2d_op_alpha_fill_cl_msk_opc_t
*ptOP,
2344
const
arm_2d_tile_t
*ptTarget,
2345
const
arm_2d_region_t
*ptRegion,
2346
const
arm_2d_tile_t
*ptAlpha,
2347
arm_2d_color_gray8_t
tColour,
2348
uint8_t chOpacity);
2349
2350
/*!
2351
* \brief fill a target tile with a given rgb565 colour, an a4 mask on target side and an opacity
2352
* \param[in] ptOP the control block, NULL means using the default control block
2353
* \param[in] ptTarget the target tile
2354
* \param[in] ptRegion the target region
2355
* \param[in] ptAlpha the mask on the target side
2356
* \param[in] tColour a rgb565 colour
2357
* \param[in] chOpacity the opacity
2358
* \return arm_fsm_rt_t the operation result
2359
*/
2360
extern
2361
ARM_NONNULL(2,4)
2362
arm_fsm_rt_t
arm_2dp_rgb565_fill_colour_with_a4_mask_and_opacity
(
2363
arm_2d_op_alpha_fill_cl_msk_opc_t
*ptOP,
2364
const
arm_2d_tile_t
*ptTarget,
2365
const
arm_2d_region_t
*ptRegion,
2366
const
arm_2d_tile_t
*ptAlpha,
2367
arm_2d_color_rgb565_t
tColour,
2368
uint8_t chOpacity);
2369
2370
/*!
2371
* \brief fill a target tile with a given cccn888 colour, an a4 mask on target side and an opacity
2372
* \param[in] ptOP the control block, NULL means using the default control block
2373
* \param[in] ptTarget the target tile
2374
* \param[in] ptRegion the target region
2375
* \param[in] ptAlpha the mask on the target side
2376
* \param[in] tColour a cccn888 colour
2377
* \param[in] chOpacity the opacity
2378
* \return arm_fsm_rt_t the operation result
2379
*/
2380
extern
2381
ARM_NONNULL(2,4)
2382
arm_fsm_rt_t
arm_2dp_cccn888_fill_colour_with_a4_mask_and_opacity
(
2383
arm_2d_op_alpha_fill_cl_msk_opc_t
*ptOP,
2384
const
arm_2d_tile_t
*ptTarget,
2385
const
arm_2d_region_t
*ptRegion,
2386
const
arm_2d_tile_t
*ptAlpha,
2387
arm_2d_color_cccn888_t
tColour,
2388
uint8_t chOpacity);
2389
2390
/*----------------------------------------------------------------------------*
2391
* Fill tile with a specified colour, an alpha mask and a specified opacity *
2392
*----------------------------------------------------------------------------*/
2393
2394
/*!
2395
* \brief fill a target tile with a given gray8 colour, a mask on target side and an opacity
2396
* \param[in] ptOP the control block, NULL means using the default control block
2397
* \param[in] ptTarget the target tile
2398
* \param[in] ptRegion the target region
2399
* \param[in] ptAlpha the mask on the target side
2400
* \param[in] tColour a gray8 colour
2401
* \param[in] chOpacity the opacity
2402
* \return arm_fsm_rt_t the operation result
2403
*/
2404
extern
2405
ARM_NONNULL(2,4)
2406
arm_fsm_rt_t
arm_2dp_gray8_fill_colour_with_mask_and_opacity
(
2407
arm_2d_op_alpha_fill_cl_msk_opc_t
*ptOP,
2408
const
arm_2d_tile_t
*ptTarget,
2409
const
arm_2d_region_t
*ptRegion,
2410
const
arm_2d_tile_t
*ptAlpha,
2411
arm_2d_color_gray8_t
tColour,
2412
uint8_t chOpacity);
2413
2414
/*!
2415
* \brief fill a target tile with a given rgb565 colour, a mask on target side and an opacity
2416
* \param[in] ptOP the control block, NULL means using the default control block
2417
* \param[in] ptTarget the target tile
2418
* \param[in] ptRegion the target region
2419
* \param[in] ptAlpha the mask on the target side
2420
* \param[in] tColour a rgb565 colour
2421
* \param[in] chOpacity the opacity
2422
* \return arm_fsm_rt_t the operation result
2423
*/
2424
extern
2425
ARM_NONNULL(2,4)
2426
arm_fsm_rt_t
arm_2dp_rgb565_fill_colour_with_mask_and_opacity
(
2427
arm_2d_op_alpha_fill_cl_msk_opc_t
*ptOP,
2428
const
arm_2d_tile_t
*ptTarget,
2429
const
arm_2d_region_t
*ptRegion,
2430
const
arm_2d_tile_t
*ptAlpha,
2431
arm_2d_color_rgb565_t
tColour,
2432
uint8_t chOpacity);
2433
2434
/*!
2435
* \brief fill a target tile with a given cccn888 colour, a mask on target side and an opacity
2436
* \param[in] ptOP the control block, NULL means using the default control block
2437
* \param[in] ptTarget the target tile
2438
* \param[in] ptRegion the target region
2439
* \param[in] ptAlpha the mask on the target side
2440
* \param[in] tColour a cccn888 colour
2441
* \param[in] chOpacity the opacity
2442
* \return arm_fsm_rt_t the operation result
2443
*/
2444
extern
2445
ARM_NONNULL(2,4)
2446
arm_fsm_rt_t
arm_2dp_cccn888_fill_colour_with_mask_and_opacity
(
2447
arm_2d_op_alpha_fill_cl_msk_opc_t
*ptOP,
2448
const
arm_2d_tile_t
*ptTarget,
2449
const
arm_2d_region_t
*ptRegion,
2450
const
arm_2d_tile_t
*ptAlpha,
2451
arm_2d_color_cccn888_t
tColour,
2452
uint8_t chOpacity);
2453
2454
/*----------------------------------------------------------------------------*
2455
* Blend tile and background with a specified transparency ratio(0~255) and *
2456
* colour keying *
2457
*----------------------------------------------------------------------------*/
2458
2459
/*!
2460
* \brief blend a source tile to a target tile with a opacity and colour keying
2461
* \param[in] ptOP the control block, NULL means using the default control block
2462
* \param[in] ptSource the source tile
2463
* \param[in] ptTarget the target tile
2464
* \param[in] ptRegion the target region
2465
* \param[in] chRatio the opacity
2466
* \param[in] tColour the key colour
2467
* \return arm_fsm_rt_t the operation result
2468
*/
2469
extern
2470
ARM_NONNULL(2,3)
2471
arm_fsm_rt_t
arm_2dp_gray8_tile_copy_with_colour_keying_and_opacity
(
2472
arm_2d_op_alpha_cl_key_t
*ptOP,
2473
const
arm_2d_tile_t
*ptSource,
2474
const
arm_2d_tile_t
*ptTarget,
2475
const
arm_2d_region_t
*ptRegion,
2476
uint_fast8_t chRatio,
2477
arm_2d_color_gray8_t
tColour);
2478
2479
/*!
2480
* \brief blend a source tile to a target tile with a opacity and colour keying
2481
* \param[in] ptOP the control block, NULL means using the default control block
2482
* \param[in] ptSource the source tile
2483
* \param[in] ptTarget the target tile
2484
* \param[in] ptRegion the target region
2485
* \param[in] chRatio the opacity
2486
* \param[in] tColour the key colour
2487
* \return arm_fsm_rt_t the operation result
2488
*/
2489
extern
2490
ARM_NONNULL(2,3)
2491
arm_fsm_rt_t
arm_2dp_rgb565_tile_copy_with_colour_keying_and_opacity
(
2492
arm_2d_op_alpha_cl_key_t
*ptOP,
2493
const
arm_2d_tile_t
*ptSource,
2494
const
arm_2d_tile_t
*ptTarget,
2495
const
arm_2d_region_t
*ptRegion,
2496
uint_fast8_t chRatio,
2497
arm_2d_color_rgb565_t
tColour);
2498
2499
/*!
2500
* \brief blend a source tile to a target tile with a opacity and colour keying
2501
* \param[in] ptOP the control block, NULL means using the default control block
2502
* \param[in] ptSource the source tile
2503
* \param[in] ptTarget the target tile
2504
* \param[in] ptRegion the target region
2505
* \param[in] chRatio the opacity
2506
* \param[in] tColour the key colour
2507
* \return arm_fsm_rt_t the operation result
2508
*/
2509
extern
2510
ARM_NONNULL(2,3)
2511
arm_fsm_rt_t
arm_2dp_cccn888_tile_copy_with_colour_keying_and_opacity
(
2512
arm_2d_op_alpha_cl_key_t
*ptOP,
2513
const
arm_2d_tile_t
*ptSource,
2514
const
arm_2d_tile_t
*ptTarget,
2515
const
arm_2d_region_t
*ptRegion,
2516
uint_fast8_t chRatio,
2517
arm_2d_color_cccn888_t
tColour);
2518
2519
/*----------------------------------------------------------------------------*
2520
* Copy tile to target tile with a source mask, a target mask and a given mode*
2521
*----------------------------------------------------------------------------*/
2522
2523
/*!
2524
* \brief copy a source tile to a target tile with masks in a given mode
2525
* \param[in] ptOP the control block, NULL means using the default control block
2526
* \param[in] ptSource the source tile
2527
* \param[in] ptSrcMask the mask on the source side
2528
* \param[in] ptTarget the target tile
2529
* \param[in] ptDesMask the mask on the target side
2530
* \param[in] ptRegion the target region
2531
* \param[in] wMode the copy mode
2532
* \return arm_fsm_rt_t the operation result
2533
*/
2534
extern
2535
ARM_NONNULL(2,3,4,5)
2536
arm_fsm_rt_t
arm_2dp_gray8_tile_copy_with_masks
(
2537
arm_2d_op_cp_msk_t
*ptOP,
2538
const
arm_2d_tile_t
*ptSource,
2539
const
arm_2d_tile_t
*ptSrcMask,
2540
const
arm_2d_tile_t
*ptTarget,
2541
const
arm_2d_tile_t
*ptDesMask,
2542
const
arm_2d_region_t
*ptRegion,
2543
uint32_t wMode);
2544
2545
/*!
2546
* \brief copy a source tile to a target tile with masks in a given mode
2547
* \param[in] ptOP the control block, NULL means using the default control block
2548
* \param[in] ptSource the source tile
2549
* \param[in] ptSrcMask the mask on the source side
2550
* \param[in] ptTarget the target tile
2551
* \param[in] ptDesMask the mask on the target side
2552
* \param[in] ptRegion the target region
2553
* \param[in] wMode the copy mode
2554
* \return arm_fsm_rt_t the operation result
2555
*/
2556
extern
2557
ARM_NONNULL(2,3,4,5)
2558
arm_fsm_rt_t
arm_2dp_rgb565_tile_copy_with_masks
(
2559
arm_2d_op_cp_msk_t
*ptOP,
2560
const
arm_2d_tile_t
*ptSource,
2561
const
arm_2d_tile_t
*ptSrcMask,
2562
const
arm_2d_tile_t
*ptTarget,
2563
const
arm_2d_tile_t
*ptDesMask,
2564
const
arm_2d_region_t
*ptRegion,
2565
uint32_t wMode);
2566
2567
/*!
2568
* \brief copy a source tile to a target tile with masks in a given mode
2569
* \param[in] ptOP the control block, NULL means using the default control block
2570
* \param[in] ptSource the source tile
2571
* \param[in] ptSrcMask the mask on the source side
2572
* \param[in] ptTarget the target tile
2573
* \param[in] ptDesMask the mask on the target side
2574
* \param[in] ptRegion the target region
2575
* \param[in] wMode the copy mode
2576
* \return arm_fsm_rt_t the operation result
2577
*/
2578
extern
2579
ARM_NONNULL(2,3,4,5)
2580
arm_fsm_rt_t
arm_2dp_cccn888_tile_copy_with_masks
(
2581
arm_2d_op_cp_msk_t
*ptOP,
2582
const
arm_2d_tile_t
*ptSource,
2583
const
arm_2d_tile_t
*ptSrcMask,
2584
const
arm_2d_tile_t
*ptTarget,
2585
const
arm_2d_tile_t
*ptDesMask,
2586
const
arm_2d_region_t
*ptRegion,
2587
uint32_t wMode);
2588
2589
/*----------------------------------------------------------------------------*
2590
* Copy tile to target tile with a source mask and a target mask *
2591
*----------------------------------------------------------------------------*/
2592
2593
/*!
2594
* \brief copy a source tile to a target tile with masks
2595
* \param[in] ptOP the control block, NULL means using the default control block
2596
* \param[in] ptSource the source tile
2597
* \param[in] ptSrcMask the mask on the source side
2598
* \param[in] ptTarget the target tile
2599
* \param[in] ptDesMask the mask on the target side
2600
* \param[in] ptRegion the target region
2601
* \return arm_fsm_rt_t the operation result
2602
*/
2603
extern
2604
ARM_NONNULL(2,3,4,5)
2605
arm_fsm_rt_t
arm_2dp_gray8_tile_copy_with_masks_only
(
2606
arm_2d_op_cp_msk_t
*ptOP,
2607
const
arm_2d_tile_t
*ptSource,
2608
const
arm_2d_tile_t
*ptSrcMask,
2609
const
arm_2d_tile_t
*ptTarget,
2610
const
arm_2d_tile_t
*ptDesMask,
2611
const
arm_2d_region_t
*ptRegion);
2612
2613
/*!
2614
* \brief copy a source tile to a target tile with masks
2615
* \param[in] ptOP the control block, NULL means using the default control block
2616
* \param[in] ptSource the source tile
2617
* \param[in] ptSrcMask the mask on the source side
2618
* \param[in] ptTarget the target tile
2619
* \param[in] ptDesMask the mask on the target side
2620
* \param[in] ptRegion the target region
2621
* \return arm_fsm_rt_t the operation result
2622
*/
2623
extern
2624
ARM_NONNULL(2,3,4,5)
2625
arm_fsm_rt_t
arm_2dp_rgb565_tile_copy_with_masks_only
(
2626
arm_2d_op_cp_msk_t
*ptOP,
2627
const
arm_2d_tile_t
*ptSource,
2628
const
arm_2d_tile_t
*ptSrcMask,
2629
const
arm_2d_tile_t
*ptTarget,
2630
const
arm_2d_tile_t
*ptDesMask,
2631
const
arm_2d_region_t
*ptRegion);
2632
2633
/*!
2634
* \brief copy a source tile to a target tile with masks
2635
* \param[in] ptOP the control block, NULL means using the default control block
2636
* \param[in] ptSource the source tile
2637
* \param[in] ptSrcMask the mask on the source side
2638
* \param[in] ptTarget the target tile
2639
* \param[in] ptDesMask the mask on the target side
2640
* \param[in] ptRegion the target region
2641
* \return arm_fsm_rt_t the operation result
2642
*/
2643
extern
2644
ARM_NONNULL(2,3,4,5)
2645
arm_fsm_rt_t
arm_2dp_cccn888_tile_copy_with_masks_only
(
2646
arm_2d_op_cp_msk_t
*ptOP,
2647
const
arm_2d_tile_t
*ptSource,
2648
const
arm_2d_tile_t
*ptSrcMask,
2649
const
arm_2d_tile_t
*ptTarget,
2650
const
arm_2d_tile_t
*ptDesMask,
2651
const
arm_2d_region_t
*ptRegion);
2652
2653
2654
/*----------------------------------------------------------------------------*
2655
* Copy tile to target tile with a source mask, a target mask and x-mirroring *
2656
*----------------------------------------------------------------------------*/
2657
2658
/*!
2659
* \brief copy a source tile to a target tile with masks and x-mirroring
2660
* \param[in] ptOP the control block, NULL means using the default control block
2661
* \param[in] ptSource the source tile
2662
* \param[in] ptSrcMask the mask on the source side
2663
* \param[in] ptTarget the target tile
2664
* \param[in] ptDesMask the mask on the target side
2665
* \param[in] ptRegion the target region
2666
* \return arm_fsm_rt_t the operation result
2667
*/
2668
extern
2669
ARM_NONNULL(2,3,4,5)
2670
arm_fsm_rt_t
arm_2dp_gray8_tile_copy_with_masks_and_x_mirror
(
2671
arm_2d_op_cp_msk_t
*ptOP,
2672
const
arm_2d_tile_t
*ptSource,
2673
const
arm_2d_tile_t
*ptSrcMask,
2674
const
arm_2d_tile_t
*ptTarget,
2675
const
arm_2d_tile_t
*ptDesMask,
2676
const
arm_2d_region_t
*ptRegion);
2677
2678
/*!
2679
* \brief copy a source tile to a target tile with masks and x-mirroring
2680
* \param[in] ptOP the control block, NULL means using the default control block
2681
* \param[in] ptSource the source tile
2682
* \param[in] ptSrcMask the mask on the source side
2683
* \param[in] ptTarget the target tile
2684
* \param[in] ptDesMask the mask on the target side
2685
* \param[in] ptRegion the target region
2686
* \return arm_fsm_rt_t the operation result
2687
*/
2688
extern
2689
ARM_NONNULL(2,3,4,5)
2690
arm_fsm_rt_t
arm_2dp_rgb565_tile_copy_with_masks_and_x_mirror
(
2691
arm_2d_op_cp_msk_t
*ptOP,
2692
const
arm_2d_tile_t
*ptSource,
2693
const
arm_2d_tile_t
*ptSrcMask,
2694
const
arm_2d_tile_t
*ptTarget,
2695
const
arm_2d_tile_t
*ptDesMask,
2696
const
arm_2d_region_t
*ptRegion);
2697
2698
/*!
2699
* \brief copy a source tile to a target tile with masks and x-mirroring
2700
* \param[in] ptOP the control block, NULL means using the default control block
2701
* \param[in] ptSource the source tile
2702
* \param[in] ptSrcMask the mask on the source side
2703
* \param[in] ptTarget the target tile
2704
* \param[in] ptDesMask the mask on the target side
2705
* \param[in] ptRegion the target region
2706
* \return arm_fsm_rt_t the operation result
2707
*/
2708
extern
2709
ARM_NONNULL(2,3,4,5)
2710
arm_fsm_rt_t
arm_2dp_cccn888_tile_copy_with_masks_and_x_mirror
(
2711
arm_2d_op_cp_msk_t
*ptOP,
2712
const
arm_2d_tile_t
*ptSource,
2713
const
arm_2d_tile_t
*ptSrcMask,
2714
const
arm_2d_tile_t
*ptTarget,
2715
const
arm_2d_tile_t
*ptDesMask,
2716
const
arm_2d_region_t
*ptRegion);
2717
2718
2719
/*----------------------------------------------------------------------------*
2720
* Copy tile to target tile with a source mask, a target mask and y-mirroring *
2721
*----------------------------------------------------------------------------*/
2722
2723
/*!
2724
* \brief copy a source tile to a target tile with masks and y-mirroring
2725
* \param[in] ptOP the control block, NULL means using the default control block
2726
* \param[in] ptSource the source tile
2727
* \param[in] ptSrcMask the mask on the source side
2728
* \param[in] ptTarget the target tile
2729
* \param[in] ptDesMask the mask on the target side
2730
* \param[in] ptRegion the target region
2731
* \return arm_fsm_rt_t the operation result
2732
*/
2733
extern
2734
ARM_NONNULL(2,3,4,5)
2735
arm_fsm_rt_t
arm_2dp_gray8_tile_copy_with_masks_and_y_mirror
(
2736
arm_2d_op_cp_msk_t
*ptOP,
2737
const
arm_2d_tile_t
*ptSource,
2738
const
arm_2d_tile_t
*ptSrcMask,
2739
const
arm_2d_tile_t
*ptTarget,
2740
const
arm_2d_tile_t
*ptDesMask,
2741
const
arm_2d_region_t
*ptRegion);
2742
2743
/*!
2744
* \brief copy a source tile to a target tile with masks and y-mirroring
2745
* \param[in] ptOP the control block, NULL means using the default control block
2746
* \param[in] ptSource the source tile
2747
* \param[in] ptSrcMask the mask on the source side
2748
* \param[in] ptTarget the target tile
2749
* \param[in] ptDesMask the mask on the target side
2750
* \param[in] ptRegion the target region
2751
* \return arm_fsm_rt_t the operation result
2752
*/
2753
extern
2754
ARM_NONNULL(2,3,4,5)
2755
arm_fsm_rt_t
arm_2dp_rgb565_tile_copy_with_masks_and_y_mirror
(
2756
arm_2d_op_cp_msk_t
*ptOP,
2757
const
arm_2d_tile_t
*ptSource,
2758
const
arm_2d_tile_t
*ptSrcMask,
2759
const
arm_2d_tile_t
*ptTarget,
2760
const
arm_2d_tile_t
*ptDesMask,
2761
const
arm_2d_region_t
*ptRegion);
2762
2763
/*!
2764
* \brief copy a source tile to a target tile with masks and y-mirroring
2765
* \param[in] ptOP the control block, NULL means using the default control block
2766
* \param[in] ptSource the source tile
2767
* \param[in] ptSrcMask the mask on the source side
2768
* \param[in] ptTarget the target tile
2769
* \param[in] ptDesMask the mask on the target side
2770
* \param[in] ptRegion the target region
2771
* \return arm_fsm_rt_t the operation result
2772
*/
2773
extern
2774
ARM_NONNULL(2,3,4,5)
2775
arm_fsm_rt_t
arm_2dp_cccn888_tile_copy_with_masks_and_y_mirror
(
2776
arm_2d_op_cp_msk_t
*ptOP,
2777
const
arm_2d_tile_t
*ptSource,
2778
const
arm_2d_tile_t
*ptSrcMask,
2779
const
arm_2d_tile_t
*ptTarget,
2780
const
arm_2d_tile_t
*ptDesMask,
2781
const
arm_2d_region_t
*ptRegion);
2782
2783
2784
/*----------------------------------------------------------------------------*
2785
* Copy tile to target tile with a source mask, a target mask and xy-mirroring *
2786
*----------------------------------------------------------------------------*/
2787
2788
/*!
2789
* \brief copy a source tile to a target tile with masks and xy-mirroring
2790
* \param[in] ptOP the control block, NULL means using the default control block
2791
* \param[in] ptSource the source tile
2792
* \param[in] ptSrcMask the mask on the source side
2793
* \param[in] ptTarget the target tile
2794
* \param[in] ptDesMask the mask on the target side
2795
* \param[in] ptRegion the target region
2796
* \return arm_fsm_rt_t the operation result
2797
*/
2798
extern
2799
ARM_NONNULL(2,3,4,5)
2800
arm_fsm_rt_t
arm_2dp_gray8_tile_copy_with_masks_and_xy_mirror
(
2801
arm_2d_op_cp_msk_t
*ptOP,
2802
const
arm_2d_tile_t
*ptSource,
2803
const
arm_2d_tile_t
*ptSrcMask,
2804
const
arm_2d_tile_t
*ptTarget,
2805
const
arm_2d_tile_t
*ptDesMask,
2806
const
arm_2d_region_t
*ptRegion);
2807
2808
/*!
2809
* \brief copy a source tile to a target tile with masks and xy-mirroring
2810
* \param[in] ptOP the control block, NULL means using the default control block
2811
* \param[in] ptSource the source tile
2812
* \param[in] ptSrcMask the mask on the source side
2813
* \param[in] ptTarget the target tile
2814
* \param[in] ptDesMask the mask on the target side
2815
* \param[in] ptRegion the target region
2816
* \return arm_fsm_rt_t the operation result
2817
*/
2818
extern
2819
ARM_NONNULL(2,3,4,5)
2820
arm_fsm_rt_t
arm_2dp_rgb565_tile_copy_with_masks_and_xy_mirror
(
2821
arm_2d_op_cp_msk_t
*ptOP,
2822
const
arm_2d_tile_t
*ptSource,
2823
const
arm_2d_tile_t
*ptSrcMask,
2824
const
arm_2d_tile_t
*ptTarget,
2825
const
arm_2d_tile_t
*ptDesMask,
2826
const
arm_2d_region_t
*ptRegion);
2827
2828
/*!
2829
* \brief copy a source tile to a target tile with masks and xy-mirroring
2830
* \param[in] ptOP the control block, NULL means using the default control block
2831
* \param[in] ptSource the source tile
2832
* \param[in] ptSrcMask the mask on the source side
2833
* \param[in] ptTarget the target tile
2834
* \param[in] ptDesMask the mask on the target side
2835
* \param[in] ptRegion the target region
2836
* \return arm_fsm_rt_t the operation result
2837
*/
2838
extern
2839
ARM_NONNULL(2,3,4,5)
2840
arm_fsm_rt_t
arm_2dp_cccn888_tile_copy_with_masks_and_xy_mirror
(
2841
arm_2d_op_cp_msk_t
*ptOP,
2842
const
arm_2d_tile_t
*ptSource,
2843
const
arm_2d_tile_t
*ptSrcMask,
2844
const
arm_2d_tile_t
*ptTarget,
2845
const
arm_2d_tile_t
*ptDesMask,
2846
const
arm_2d_region_t
*ptRegion);
2847
2848
/*----------------------------------------------------------------------------*
2849
* Fill tile to target tile with a source mask and a target mask *
2850
*----------------------------------------------------------------------------*/
2851
2852
/*!
2853
* \brief fill a source tile to a target tile with masks
2854
* \param[in] ptOP the control block, NULL means using the default control block
2855
* \param[in] ptSource the source tile
2856
* \param[in] ptSrcMask the mask on the source side
2857
* \param[in] ptTarget the target tile
2858
* \param[in] ptDesMask the mask on the target side
2859
* \param[in] ptRegion the target region
2860
* \return arm_fsm_rt_t the operation result
2861
*/
2862
extern
2863
ARM_NONNULL(2,3,4,5)
2864
arm_fsm_rt_t
arm_2dp_gray8_tile_fill_with_masks_only
(
2865
arm_2d_op_cp_msk_t
*ptOP,
2866
const
arm_2d_tile_t
*ptSource,
2867
const
arm_2d_tile_t
*ptSrcMask,
2868
const
arm_2d_tile_t
*ptTarget,
2869
const
arm_2d_tile_t
*ptDesMask,
2870
const
arm_2d_region_t
*ptRegion);
2871
2872
/*!
2873
* \brief fill a source tile to a target tile with masks
2874
* \param[in] ptOP the control block, NULL means using the default control block
2875
* \param[in] ptSource the source tile
2876
* \param[in] ptSrcMask the mask on the source side
2877
* \param[in] ptTarget the target tile
2878
* \param[in] ptDesMask the mask on the target side
2879
* \param[in] ptRegion the target region
2880
* \return arm_fsm_rt_t the operation result
2881
*/
2882
extern
2883
ARM_NONNULL(2,3,4,5)
2884
arm_fsm_rt_t
arm_2dp_rgb565_tile_fill_with_masks_only
(
2885
arm_2d_op_cp_msk_t
*ptOP,
2886
const
arm_2d_tile_t
*ptSource,
2887
const
arm_2d_tile_t
*ptSrcMask,
2888
const
arm_2d_tile_t
*ptTarget,
2889
const
arm_2d_tile_t
*ptDesMask,
2890
const
arm_2d_region_t
*ptRegion);
2891
2892
/*!
2893
* \brief fill a source tile to a target tile with masks
2894
* \param[in] ptOP the control block, NULL means using the default control block
2895
* \param[in] ptSource the source tile
2896
* \param[in] ptSrcMask the mask on the source side
2897
* \param[in] ptTarget the target tile
2898
* \param[in] ptDesMask the mask on the target side
2899
* \param[in] ptRegion the target region
2900
* \return arm_fsm_rt_t the operation result
2901
*/
2902
extern
2903
ARM_NONNULL(2,3,4,5)
2904
arm_fsm_rt_t
arm_2dp_cccn888_tile_fill_with_masks_only
(
2905
arm_2d_op_cp_msk_t
*ptOP,
2906
const
arm_2d_tile_t
*ptSource,
2907
const
arm_2d_tile_t
*ptSrcMask,
2908
const
arm_2d_tile_t
*ptTarget,
2909
const
arm_2d_tile_t
*ptDesMask,
2910
const
arm_2d_region_t
*ptRegion);
2911
2912
2913
/*----------------------------------------------------------------------------*
2914
* Fill tile to target tile with a source mask, a target mask and x-mirroring *
2915
*----------------------------------------------------------------------------*/
2916
2917
/*!
2918
* \brief fill a source tile to a target tile with masks and x-mirroring
2919
* \param[in] ptOP the control block, NULL means using the default control block
2920
* \param[in] ptSource the source tile
2921
* \param[in] ptSrcMask the mask on the source side
2922
* \param[in] ptTarget the target tile
2923
* \param[in] ptDesMask the mask on the target side
2924
* \param[in] ptRegion the target region
2925
* \return arm_fsm_rt_t the operation result
2926
*/
2927
extern
2928
ARM_NONNULL(2,3,4,5)
2929
arm_fsm_rt_t
arm_2dp_gray8_tile_fill_with_masks_and_x_mirror
(
2930
arm_2d_op_cp_msk_t
*ptOP,
2931
const
arm_2d_tile_t
*ptSource,
2932
const
arm_2d_tile_t
*ptSrcMask,
2933
const
arm_2d_tile_t
*ptTarget,
2934
const
arm_2d_tile_t
*ptDesMask,
2935
const
arm_2d_region_t
*ptRegion);
2936
2937
/*!
2938
* \brief fill a source tile to a target tile with masks and x-mirroring
2939
* \param[in] ptOP the control block, NULL means using the default control block
2940
* \param[in] ptSource the source tile
2941
* \param[in] ptSrcMask the mask on the source side
2942
* \param[in] ptTarget the target tile
2943
* \param[in] ptDesMask the mask on the target side
2944
* \param[in] ptRegion the target region
2945
* \return arm_fsm_rt_t the operation result
2946
*/
2947
extern
2948
ARM_NONNULL(2,3,4,5)
2949
arm_fsm_rt_t
arm_2dp_rgb565_tile_fill_with_masks_and_x_mirror
(
2950
arm_2d_op_cp_msk_t
*ptOP,
2951
const
arm_2d_tile_t
*ptSource,
2952
const
arm_2d_tile_t
*ptSrcMask,
2953
const
arm_2d_tile_t
*ptTarget,
2954
const
arm_2d_tile_t
*ptDesMask,
2955
const
arm_2d_region_t
*ptRegion);
2956
2957
/*!
2958
* \brief fill a source tile to a target tile with masks and x-mirroring
2959
* \param[in] ptOP the control block, NULL means using the default control block
2960
* \param[in] ptSource the source tile
2961
* \param[in] ptSrcMask the mask on the source side
2962
* \param[in] ptTarget the target tile
2963
* \param[in] ptDesMask the mask on the target side
2964
* \param[in] ptRegion the target region
2965
* \return arm_fsm_rt_t the operation result
2966
*/
2967
extern
2968
ARM_NONNULL(2,3,4,5)
2969
arm_fsm_rt_t
arm_2dp_cccn888_tile_fill_with_masks_and_x_mirror
(
2970
arm_2d_op_cp_msk_t
*ptOP,
2971
const
arm_2d_tile_t
*ptSource,
2972
const
arm_2d_tile_t
*ptSrcMask,
2973
const
arm_2d_tile_t
*ptTarget,
2974
const
arm_2d_tile_t
*ptDesMask,
2975
const
arm_2d_region_t
*ptRegion);
2976
2977
2978
/*----------------------------------------------------------------------------*
2979
* Fill tile to target tile with a source mask, a target mask and y-mirroring *
2980
*----------------------------------------------------------------------------*/
2981
2982
/*!
2983
* \brief fill a source tile to a target tile with masks and y-mirroring
2984
* \param[in] ptOP the control block, NULL means using the default control block
2985
* \param[in] ptSource the source tile
2986
* \param[in] ptSrcMask the mask on the source side
2987
* \param[in] ptTarget the target tile
2988
* \param[in] ptDesMask the mask on the target side
2989
* \param[in] ptRegion the target region
2990
* \return arm_fsm_rt_t the operation result
2991
*/
2992
extern
2993
ARM_NONNULL(2,3,4,5)
2994
arm_fsm_rt_t
arm_2dp_gray8_tile_fill_with_masks_and_y_mirror
(
2995
arm_2d_op_cp_msk_t
*ptOP,
2996
const
arm_2d_tile_t
*ptSource,
2997
const
arm_2d_tile_t
*ptSrcMask,
2998
const
arm_2d_tile_t
*ptTarget,
2999
const
arm_2d_tile_t
*ptDesMask,
3000
const
arm_2d_region_t
*ptRegion);
3001
3002
/*!
3003
* \brief fill a source tile to a target tile with masks and y-mirroring
3004
* \param[in] ptOP the control block, NULL means using the default control block
3005
* \param[in] ptSource the source tile
3006
* \param[in] ptSrcMask the mask on the source side
3007
* \param[in] ptTarget the target tile
3008
* \param[in] ptDesMask the mask on the target side
3009
* \param[in] ptRegion the target region
3010
* \return arm_fsm_rt_t the operation result
3011
*/
3012
extern
3013
ARM_NONNULL(2,3,4,5)
3014
arm_fsm_rt_t
arm_2dp_rgb565_tile_fill_with_masks_and_y_mirror
(
3015
arm_2d_op_cp_msk_t
*ptOP,
3016
const
arm_2d_tile_t
*ptSource,
3017
const
arm_2d_tile_t
*ptSrcMask,
3018
const
arm_2d_tile_t
*ptTarget,
3019
const
arm_2d_tile_t
*ptDesMask,
3020
const
arm_2d_region_t
*ptRegion);
3021
3022
/*!
3023
* \brief fill a source tile to a target tile with masks and y-mirroring
3024
* \param[in] ptOP the control block, NULL means using the default control block
3025
* \param[in] ptSource the source tile
3026
* \param[in] ptSrcMask the mask on the source side
3027
* \param[in] ptTarget the target tile
3028
* \param[in] ptDesMask the mask on the target side
3029
* \param[in] ptRegion the target region
3030
* \return arm_fsm_rt_t the operation result
3031
*/
3032
extern
3033
ARM_NONNULL(2,3,4,5)
3034
arm_fsm_rt_t
arm_2dp_cccn888_tile_fill_with_masks_and_y_mirror
(
3035
arm_2d_op_cp_msk_t
*ptOP,
3036
const
arm_2d_tile_t
*ptSource,
3037
const
arm_2d_tile_t
*ptSrcMask,
3038
const
arm_2d_tile_t
*ptTarget,
3039
const
arm_2d_tile_t
*ptDesMask,
3040
const
arm_2d_region_t
*ptRegion);
3041
3042
3043
/*----------------------------------------------------------------------------*
3044
* Fill tile to target tile with a source mask, a target mask and xy-mirroring *
3045
*----------------------------------------------------------------------------*/
3046
3047
/*!
3048
* \brief fill a source tile to a target tile with masks and xy-mirroring
3049
* \param[in] ptOP the control block, NULL means using the default control block
3050
* \param[in] ptSource the source tile
3051
* \param[in] ptSrcMask the mask on the source side
3052
* \param[in] ptTarget the target tile
3053
* \param[in] ptDesMask the mask on the target side
3054
* \param[in] ptRegion the target region
3055
* \return arm_fsm_rt_t the operation result
3056
*/
3057
extern
3058
ARM_NONNULL(2,3,4,5)
3059
arm_fsm_rt_t
arm_2dp_gray8_tile_fill_with_masks_and_xy_mirror
(
3060
arm_2d_op_cp_msk_t
*ptOP,
3061
const
arm_2d_tile_t
*ptSource,
3062
const
arm_2d_tile_t
*ptSrcMask,
3063
const
arm_2d_tile_t
*ptTarget,
3064
const
arm_2d_tile_t
*ptDesMask,
3065
const
arm_2d_region_t
*ptRegion);
3066
3067
/*!
3068
* \brief fill a source tile to a target tile with masks and xy-mirroring
3069
* \param[in] ptOP the control block, NULL means using the default control block
3070
* \param[in] ptSource the source tile
3071
* \param[in] ptSrcMask the mask on the source side
3072
* \param[in] ptTarget the target tile
3073
* \param[in] ptDesMask the mask on the target side
3074
* \param[in] ptRegion the target region
3075
* \return arm_fsm_rt_t the operation result
3076
*/
3077
extern
3078
ARM_NONNULL(2,3,4,5)
3079
arm_fsm_rt_t
arm_2dp_rgb565_tile_fill_with_masks_and_xy_mirror
(
3080
arm_2d_op_cp_msk_t
*ptOP,
3081
const
arm_2d_tile_t
*ptSource,
3082
const
arm_2d_tile_t
*ptSrcMask,
3083
const
arm_2d_tile_t
*ptTarget,
3084
const
arm_2d_tile_t
*ptDesMask,
3085
const
arm_2d_region_t
*ptRegion);
3086
3087
/*!
3088
* \brief fill a source tile to a target tile with masks and xy-mirroring
3089
* \param[in] ptOP the control block, NULL means using the default control block
3090
* \param[in] ptSource the source tile
3091
* \param[in] ptSrcMask the mask on the source side
3092
* \param[in] ptTarget the target tile
3093
* \param[in] ptDesMask the mask on the target side
3094
* \param[in] ptRegion the target region
3095
* \return arm_fsm_rt_t the operation result
3096
*/
3097
extern
3098
ARM_NONNULL(2,3,4,5)
3099
arm_fsm_rt_t
arm_2dp_cccn888_tile_fill_with_masks_and_xy_mirror
(
3100
arm_2d_op_cp_msk_t
*ptOP,
3101
const
arm_2d_tile_t
*ptSource,
3102
const
arm_2d_tile_t
*ptSrcMask,
3103
const
arm_2d_tile_t
*ptTarget,
3104
const
arm_2d_tile_t
*ptDesMask,
3105
const
arm_2d_region_t
*ptRegion);
3106
3107
3108
/*----------------------------------------------------------------------------*
3109
* Copy tile to destination with a source mask and a specified mode *
3110
*----------------------------------------------------------------------------*/
3111
/*!
3112
* \brief copy a source tile to a target tile with a source mask in a given mode
3113
* \param[in] ptOP the control block, NULL means using the default control block
3114
* \param[in] ptSource the source tile
3115
* \param[in] ptSrcMask the mask on the source side
3116
* \param[in] ptTarget the target tile
3117
* \param[in] ptRegion the target region
3118
* \param[in] wMode the copy mode
3119
* \return arm_fsm_rt_t the operation result
3120
*/
3121
extern
3122
ARM_NONNULL(2,3,4)
3123
arm_fsm_rt_t
arm_2dp_gray8_tile_copy_with_src_mask
(
3124
arm_2d_op_cp_msk_t
*ptOP,
3125
const
arm_2d_tile_t
*ptSource,
3126
const
arm_2d_tile_t
*ptSrcMask,
3127
const
arm_2d_tile_t
*ptTarget,
3128
const
arm_2d_region_t
*ptRegion,
3129
uint32_t wMode);
3130
3131
/*!
3132
* \brief copy a source tile to a target tile with a source mask in a given mode
3133
* \param[in] ptOP the control block, NULL means using the default control block
3134
* \param[in] ptSource the source tile
3135
* \param[in] ptSrcMask the mask on the source side
3136
* \param[in] ptTarget the target tile
3137
* \param[in] ptRegion the target region
3138
* \param[in] wMode the copy mode
3139
* \return arm_fsm_rt_t the operation result
3140
*/
3141
extern
3142
ARM_NONNULL(2,3,4)
3143
arm_fsm_rt_t
arm_2dp_rgb565_tile_copy_with_src_mask
(
3144
arm_2d_op_cp_msk_t
*ptOP,
3145
const
arm_2d_tile_t
*ptSource,
3146
const
arm_2d_tile_t
*ptSrcMask,
3147
const
arm_2d_tile_t
*ptTarget,
3148
const
arm_2d_region_t
*ptRegion,
3149
uint32_t wMode);
3150
3151
/*!
3152
* \brief copy a source tile to a target tile with a source mask in a given mode
3153
* \param[in] ptOP the control block, NULL means using the default control block
3154
* \param[in] ptSource the source tile
3155
* \param[in] ptSrcMask the mask on the source side
3156
* \param[in] ptTarget the target tile
3157
* \param[in] ptRegion the target region
3158
* \param[in] wMode the copy mode
3159
* \return arm_fsm_rt_t the operation result
3160
*/
3161
extern
3162
ARM_NONNULL(2,3,4)
3163
arm_fsm_rt_t
arm_2dp_cccn888_tile_copy_with_src_mask
(
3164
arm_2d_op_cp_msk_t
*ptOP,
3165
const
arm_2d_tile_t
*ptSource,
3166
const
arm_2d_tile_t
*ptSrcMask,
3167
const
arm_2d_tile_t
*ptTarget,
3168
const
arm_2d_region_t
*ptRegion,
3169
uint32_t wMode);
3170
3171
3172
3173
/*----------------------------------------------------------------------------*
3174
* Copy tile to destination with a specified source mask *
3175
*----------------------------------------------------------------------------*/
3176
/*!
3177
* \brief copy a source tile to a target tile with a source mask
3178
* \param[in] ptOP the control block, NULL means using the default control block
3179
* \param[in] ptSource the source tile
3180
* \param[in] ptSrcMask the mask on the source side
3181
* \param[in] ptTarget the target tile
3182
* \param[in] ptRegion the target region
3183
* \return arm_fsm_rt_t the operation result
3184
*/
3185
extern
3186
ARM_NONNULL(2,3,4)
3187
arm_fsm_rt_t
arm_2dp_gray8_tile_copy_with_src_mask_only
(
3188
arm_2d_op_cp_msk_t
*ptOP,
3189
const
arm_2d_tile_t
*ptSource,
3190
const
arm_2d_tile_t
*ptSrcMask,
3191
const
arm_2d_tile_t
*ptTarget,
3192
const
arm_2d_region_t
*ptRegion);
3193
3194
/*!
3195
* \brief copy a source tile to a target tile with a source mask
3196
* \param[in] ptOP the control block, NULL means using the default control block
3197
* \param[in] ptSource the source tile
3198
* \param[in] ptSrcMask the mask on the source side
3199
* \param[in] ptTarget the target tile
3200
* \param[in] ptRegion the target region
3201
* \return arm_fsm_rt_t the operation result
3202
*/
3203
extern
3204
ARM_NONNULL(2,3,4)
3205
arm_fsm_rt_t
arm_2dp_rgb565_tile_copy_with_src_mask_only
(
3206
arm_2d_op_cp_msk_t
*ptOP,
3207
const
arm_2d_tile_t
*ptSource,
3208
const
arm_2d_tile_t
*ptSrcMask,
3209
const
arm_2d_tile_t
*ptTarget,
3210
const
arm_2d_region_t
*ptRegion);
3211
3212
/*!
3213
* \brief copy a source tile to a target tile with a source mask
3214
* \param[in] ptOP the control block, NULL means using the default control block
3215
* \param[in] ptSource the source tile
3216
* \param[in] ptSrcMask the mask on the source side
3217
* \param[in] ptTarget the target tile
3218
* \param[in] ptRegion the target region
3219
* \param[in] wMode the copy mode
3220
* \return arm_fsm_rt_t the operation result
3221
*/
3222
extern
3223
ARM_NONNULL(2,3,4)
3224
arm_fsm_rt_t
arm_2dp_cccn888_tile_copy_with_src_mask_only
(
3225
arm_2d_op_cp_msk_t
*ptOP,
3226
const
arm_2d_tile_t
*ptSource,
3227
const
arm_2d_tile_t
*ptSrcMask,
3228
const
arm_2d_tile_t
*ptTarget,
3229
const
arm_2d_region_t
*ptRegion);
3230
3231
3232
/*----------------------------------------------------------------------------*
3233
* Copy tile to destination with a specified source mask and x-mirroring *
3234
*----------------------------------------------------------------------------*/
3235
/*!
3236
* \brief copy a source tile to a target tile with a source mask and x-mirroring
3237
* \param[in] ptOP the control block, NULL means using the default control block
3238
* \param[in] ptSource the source tile
3239
* \param[in] ptSrcMask the mask on the source side
3240
* \param[in] ptTarget the target tile
3241
* \param[in] ptRegion the target region
3242
* \return arm_fsm_rt_t the operation result
3243
*/
3244
extern
3245
ARM_NONNULL(2,3,4)
3246
arm_fsm_rt_t
arm_2dp_gray8_tile_copy_with_src_mask_and_x_mirror
(
3247
arm_2d_op_cp_msk_t
*ptOP,
3248
const
arm_2d_tile_t
*ptSource,
3249
const
arm_2d_tile_t
*ptSrcMask,
3250
const
arm_2d_tile_t
*ptTarget,
3251
const
arm_2d_region_t
*ptRegion);
3252
3253
/*!
3254
* \brief copy a source tile to a target tile with a source mask and x-mirroring
3255
* \param[in] ptOP the control block, NULL means using the default control block
3256
* \param[in] ptSource the source tile
3257
* \param[in] ptSrcMask the mask on the source side
3258
* \param[in] ptTarget the target tile
3259
* \param[in] ptRegion the target region
3260
* \return arm_fsm_rt_t the operation result
3261
*/
3262
extern
3263
ARM_NONNULL(2,3,4)
3264
arm_fsm_rt_t
arm_2dp_rgb565_tile_copy_with_src_mask_and_x_mirror
(
3265
arm_2d_op_cp_msk_t
*ptOP,
3266
const
arm_2d_tile_t
*ptSource,
3267
const
arm_2d_tile_t
*ptSrcMask,
3268
const
arm_2d_tile_t
*ptTarget,
3269
const
arm_2d_region_t
*ptRegion);
3270
3271
/*!
3272
* \brief copy a source tile to a target tile with a source mask and x-mirroring
3273
* \param[in] ptOP the control block, NULL means using the default control block
3274
* \param[in] ptSource the source tile
3275
* \param[in] ptSrcMask the mask on the source side
3276
* \param[in] ptTarget the target tile
3277
* \param[in] ptRegion the target region
3278
* \param[in] wMode the copy mode
3279
* \return arm_fsm_rt_t the operation result
3280
*/
3281
extern
3282
ARM_NONNULL(2,3,4)
3283
arm_fsm_rt_t
arm_2dp_cccn888_tile_copy_with_src_mask_and_x_mirror
(
3284
arm_2d_op_cp_msk_t
*ptOP,
3285
const
arm_2d_tile_t
*ptSource,
3286
const
arm_2d_tile_t
*ptSrcMask,
3287
const
arm_2d_tile_t
*ptTarget,
3288
const
arm_2d_region_t
*ptRegion);
3289
3290
/*----------------------------------------------------------------------------*
3291
* Copy tile to destination with a specified source mask and y-mirroring *
3292
*----------------------------------------------------------------------------*/
3293
/*!
3294
* \brief copy a source tile to a target tile with a source mask and y-mirroring
3295
* \param[in] ptOP the control block, NULL means using the default control block
3296
* \param[in] ptSource the source tile
3297
* \param[in] ptSrcMask the mask on the source side
3298
* \param[in] ptTarget the target tile
3299
* \param[in] ptRegion the target region
3300
* \return arm_fsm_rt_t the operation result
3301
*/
3302
extern
3303
ARM_NONNULL(2,3,4)
3304
arm_fsm_rt_t
arm_2dp_gray8_tile_copy_with_src_mask_and_y_mirror
(
3305
arm_2d_op_cp_msk_t
*ptOP,
3306
const
arm_2d_tile_t
*ptSource,
3307
const
arm_2d_tile_t
*ptSrcMask,
3308
const
arm_2d_tile_t
*ptTarget,
3309
const
arm_2d_region_t
*ptRegion);
3310
3311
/*!
3312
* \brief copy a source tile to a target tile with a source mask and y-mirroring
3313
* \param[in] ptOP the control block, NULL means using the default control block
3314
* \param[in] ptSource the source tile
3315
* \param[in] ptSrcMask the mask on the source side
3316
* \param[in] ptTarget the target tile
3317
* \param[in] ptRegion the target region
3318
* \return arm_fsm_rt_t the operation result
3319
*/
3320
extern
3321
ARM_NONNULL(2,3,4)
3322
arm_fsm_rt_t
arm_2dp_rgb565_tile_copy_with_src_mask_and_y_mirror
(
3323
arm_2d_op_cp_msk_t
*ptOP,
3324
const
arm_2d_tile_t
*ptSource,
3325
const
arm_2d_tile_t
*ptSrcMask,
3326
const
arm_2d_tile_t
*ptTarget,
3327
const
arm_2d_region_t
*ptRegion);
3328
3329
/*!
3330
* \brief copy a source tile to a target tile with a source mask and y-mirroring
3331
* \param[in] ptOP the control block, NULL means using the default control block
3332
* \param[in] ptSource the source tile
3333
* \param[in] ptSrcMask the mask on the source side
3334
* \param[in] ptTarget the target tile
3335
* \param[in] ptRegion the target region
3336
* \param[in] wMode the copy mode
3337
* \return arm_fsm_rt_t the operation result
3338
*/
3339
extern
3340
ARM_NONNULL(2,3,4)
3341
arm_fsm_rt_t
arm_2dp_cccn888_tile_copy_with_src_mask_and_y_mirror
(
3342
arm_2d_op_cp_msk_t
*ptOP,
3343
const
arm_2d_tile_t
*ptSource,
3344
const
arm_2d_tile_t
*ptSrcMask,
3345
const
arm_2d_tile_t
*ptTarget,
3346
const
arm_2d_region_t
*ptRegion);
3347
3348
3349
/*----------------------------------------------------------------------------*
3350
* Copy tile to destination with a specified source mask and xy-mirroring *
3351
*----------------------------------------------------------------------------*/
3352
/*!
3353
* \brief copy a source tile to a target tile with a source mask and xy-mirroring
3354
* \param[in] ptOP the control block, NULL means using the default control block
3355
* \param[in] ptSource the source tile
3356
* \param[in] ptSrcMask the mask on the source side
3357
* \param[in] ptTarget the target tile
3358
* \param[in] ptRegion the target region
3359
* \return arm_fsm_rt_t the operation result
3360
*/
3361
extern
3362
ARM_NONNULL(2,3,4)
3363
arm_fsm_rt_t
arm_2dp_gray8_tile_copy_with_src_mask_and_xy_mirror
(
3364
arm_2d_op_cp_msk_t
*ptOP,
3365
const
arm_2d_tile_t
*ptSource,
3366
const
arm_2d_tile_t
*ptSrcMask,
3367
const
arm_2d_tile_t
*ptTarget,
3368
const
arm_2d_region_t
*ptRegion);
3369
3370
/*!
3371
* \brief copy a source tile to a target tile with a source mask and xy-mirroring
3372
* \param[in] ptOP the control block, NULL means using the default control block
3373
* \param[in] ptSource the source tile
3374
* \param[in] ptSrcMask the mask on the source side
3375
* \param[in] ptTarget the target tile
3376
* \param[in] ptRegion the target region
3377
* \return arm_fsm_rt_t the operation result
3378
*/
3379
extern
3380
ARM_NONNULL(2,3,4)
3381
arm_fsm_rt_t
arm_2dp_rgb565_tile_copy_with_src_mask_and_xy_mirror
(
3382
arm_2d_op_cp_msk_t
*ptOP,
3383
const
arm_2d_tile_t
*ptSource,
3384
const
arm_2d_tile_t
*ptSrcMask,
3385
const
arm_2d_tile_t
*ptTarget,
3386
const
arm_2d_region_t
*ptRegion);
3387
3388
/*!
3389
* \brief copy a source tile to a target tile with a source mask and xy-mirroring
3390
* \param[in] ptOP the control block, NULL means using the default control block
3391
* \param[in] ptSource the source tile
3392
* \param[in] ptSrcMask the mask on the source side
3393
* \param[in] ptTarget the target tile
3394
* \param[in] ptRegion the target region
3395
* \param[in] wMode the copy mode
3396
* \return arm_fsm_rt_t the operation result
3397
*/
3398
extern
3399
ARM_NONNULL(2,3,4)
3400
arm_fsm_rt_t
arm_2dp_cccn888_tile_copy_with_src_mask_and_xy_mirror
(
3401
arm_2d_op_cp_msk_t
*ptOP,
3402
const
arm_2d_tile_t
*ptSource,
3403
const
arm_2d_tile_t
*ptSrcMask,
3404
const
arm_2d_tile_t
*ptTarget,
3405
const
arm_2d_region_t
*ptRegion);
3406
3407
/*----------------------------------------------------------------------------*
3408
* Fill tile to destination with a specified source mask *
3409
*----------------------------------------------------------------------------*/
3410
/*!
3411
* \brief fill a source tile to a target tile with a source mask
3412
* \param[in] ptOP the control block, NULL means using the default control block
3413
* \param[in] ptSource the source tile
3414
* \param[in] ptSrcMask the mask on the source side
3415
* \param[in] ptTarget the target tile
3416
* \param[in] ptRegion the target region
3417
* \return arm_fsm_rt_t the operation result
3418
*/
3419
extern
3420
ARM_NONNULL(2,3,4)
3421
arm_fsm_rt_t
arm_2dp_gray8_tile_fill_with_src_mask_only
(
3422
arm_2d_op_cp_msk_t
*ptOP,
3423
const
arm_2d_tile_t
*ptSource,
3424
const
arm_2d_tile_t
*ptSrcMask,
3425
const
arm_2d_tile_t
*ptTarget,
3426
const
arm_2d_region_t
*ptRegion);
3427
3428
/*!
3429
* \brief fill a source tile to a target tile with a source mask
3430
* \param[in] ptOP the control block, NULL means using the default control block
3431
* \param[in] ptSource the source tile
3432
* \param[in] ptSrcMask the mask on the source side
3433
* \param[in] ptTarget the target tile
3434
* \param[in] ptRegion the target region
3435
* \return arm_fsm_rt_t the operation result
3436
*/
3437
extern
3438
ARM_NONNULL(2,3,4)
3439
arm_fsm_rt_t
arm_2dp_rgb565_tile_fill_with_src_mask_only
(
3440
arm_2d_op_cp_msk_t
*ptOP,
3441
const
arm_2d_tile_t
*ptSource,
3442
const
arm_2d_tile_t
*ptSrcMask,
3443
const
arm_2d_tile_t
*ptTarget,
3444
const
arm_2d_region_t
*ptRegion);
3445
3446
/*!
3447
* \brief fill a source tile to a target tile with a source mask
3448
* \param[in] ptOP the control block, NULL means using the default control block
3449
* \param[in] ptSource the source tile
3450
* \param[in] ptSrcMask the mask on the source side
3451
* \param[in] ptTarget the target tile
3452
* \param[in] ptRegion the target region
3453
* \param[in] wMode the fill mode
3454
* \return arm_fsm_rt_t the operation result
3455
*/
3456
extern
3457
ARM_NONNULL(2,3,4)
3458
arm_fsm_rt_t
arm_2dp_cccn888_tile_fill_with_src_mask_only
(
3459
arm_2d_op_cp_msk_t
*ptOP,
3460
const
arm_2d_tile_t
*ptSource,
3461
const
arm_2d_tile_t
*ptSrcMask,
3462
const
arm_2d_tile_t
*ptTarget,
3463
const
arm_2d_region_t
*ptRegion);
3464
3465
3466
/*----------------------------------------------------------------------------*
3467
* Fill tile to destination with a specified source mask and x-mirroring *
3468
*----------------------------------------------------------------------------*/
3469
/*!
3470
* \brief fill a source tile to a target tile with a source mask and x-mirroring
3471
* \param[in] ptOP the control block, NULL means using the default control block
3472
* \param[in] ptSource the source tile
3473
* \param[in] ptSrcMask the mask on the source side
3474
* \param[in] ptTarget the target tile
3475
* \param[in] ptRegion the target region
3476
* \return arm_fsm_rt_t the operation result
3477
*/
3478
extern
3479
ARM_NONNULL(2,3,4)
3480
arm_fsm_rt_t
arm_2dp_gray8_tile_fill_with_src_mask_and_x_mirror
(
3481
arm_2d_op_cp_msk_t
*ptOP,
3482
const
arm_2d_tile_t
*ptSource,
3483
const
arm_2d_tile_t
*ptSrcMask,
3484
const
arm_2d_tile_t
*ptTarget,
3485
const
arm_2d_region_t
*ptRegion);
3486
3487
/*!
3488
* \brief fill a source tile to a target tile with a source mask and x-mirroring
3489
* \param[in] ptOP the control block, NULL means using the default control block
3490
* \param[in] ptSource the source tile
3491
* \param[in] ptSrcMask the mask on the source side
3492
* \param[in] ptTarget the target tile
3493
* \param[in] ptRegion the target region
3494
* \return arm_fsm_rt_t the operation result
3495
*/
3496
extern
3497
ARM_NONNULL(2,3,4)
3498
arm_fsm_rt_t
arm_2dp_rgb565_tile_fill_with_src_mask_and_x_mirror
(
3499
arm_2d_op_cp_msk_t
*ptOP,
3500
const
arm_2d_tile_t
*ptSource,
3501
const
arm_2d_tile_t
*ptSrcMask,
3502
const
arm_2d_tile_t
*ptTarget,
3503
const
arm_2d_region_t
*ptRegion);
3504
3505
/*!
3506
* \brief fill a source tile to a target tile with a source mask and x-mirroring
3507
* \param[in] ptOP the control block, NULL means using the default control block
3508
* \param[in] ptSource the source tile
3509
* \param[in] ptSrcMask the mask on the source side
3510
* \param[in] ptTarget the target tile
3511
* \param[in] ptRegion the target region
3512
* \param[in] wMode the fill mode
3513
* \return arm_fsm_rt_t the operation result
3514
*/
3515
extern
3516
ARM_NONNULL(2,3,4)
3517
arm_fsm_rt_t
arm_2dp_cccn888_tile_fill_with_src_mask_and_x_mirror
(
3518
arm_2d_op_cp_msk_t
*ptOP,
3519
const
arm_2d_tile_t
*ptSource,
3520
const
arm_2d_tile_t
*ptSrcMask,
3521
const
arm_2d_tile_t
*ptTarget,
3522
const
arm_2d_region_t
*ptRegion);
3523
3524
/*----------------------------------------------------------------------------*
3525
* Fill tile to destination with a specified source mask and y-mirroring *
3526
*----------------------------------------------------------------------------*/
3527
/*!
3528
* \brief fill a source tile to a target tile with a source mask and y-mirroring
3529
* \param[in] ptOP the control block, NULL means using the default control block
3530
* \param[in] ptSource the source tile
3531
* \param[in] ptSrcMask the mask on the source side
3532
* \param[in] ptTarget the target tile
3533
* \param[in] ptRegion the target region
3534
* \return arm_fsm_rt_t the operation result
3535
*/
3536
extern
3537
ARM_NONNULL(2,3,4)
3538
arm_fsm_rt_t
arm_2dp_gray8_tile_fill_with_src_mask_and_y_mirror
(
3539
arm_2d_op_cp_msk_t
*ptOP,
3540
const
arm_2d_tile_t
*ptSource,
3541
const
arm_2d_tile_t
*ptSrcMask,
3542
const
arm_2d_tile_t
*ptTarget,
3543
const
arm_2d_region_t
*ptRegion);
3544
3545
/*!
3546
* \brief fill a source tile to a target tile with a source mask and y-mirroring
3547
* \param[in] ptOP the control block, NULL means using the default control block
3548
* \param[in] ptSource the source tile
3549
* \param[in] ptSrcMask the mask on the source side
3550
* \param[in] ptTarget the target tile
3551
* \param[in] ptRegion the target region
3552
* \return arm_fsm_rt_t the operation result
3553
*/
3554
extern
3555
ARM_NONNULL(2,3,4)
3556
arm_fsm_rt_t
arm_2dp_rgb565_tile_fill_with_src_mask_and_y_mirror
(
3557
arm_2d_op_cp_msk_t
*ptOP,
3558
const
arm_2d_tile_t
*ptSource,
3559
const
arm_2d_tile_t
*ptSrcMask,
3560
const
arm_2d_tile_t
*ptTarget,
3561
const
arm_2d_region_t
*ptRegion);
3562
3563
/*!
3564
* \brief fill a source tile to a target tile with a source mask and y-mirroring
3565
* \param[in] ptOP the control block, NULL means using the default control block
3566
* \param[in] ptSource the source tile
3567
* \param[in] ptSrcMask the mask on the source side
3568
* \param[in] ptTarget the target tile
3569
* \param[in] ptRegion the target region
3570
* \param[in] wMode the fill mode
3571
* \return arm_fsm_rt_t the operation result
3572
*/
3573
extern
3574
ARM_NONNULL(2,3,4)
3575
arm_fsm_rt_t
arm_2dp_cccn888_tile_fill_with_src_mask_and_y_mirror
(
3576
arm_2d_op_cp_msk_t
*ptOP,
3577
const
arm_2d_tile_t
*ptSource,
3578
const
arm_2d_tile_t
*ptSrcMask,
3579
const
arm_2d_tile_t
*ptTarget,
3580
const
arm_2d_region_t
*ptRegion);
3581
3582
3583
/*----------------------------------------------------------------------------*
3584
* Fill tile to destination with a specified source mask and xy-mirroring *
3585
*----------------------------------------------------------------------------*/
3586
/*!
3587
* \brief fill a source tile to a target tile with a source mask and xy-mirroring
3588
* \param[in] ptOP the control block, NULL means using the default control block
3589
* \param[in] ptSource the source tile
3590
* \param[in] ptSrcMask the mask on the source side
3591
* \param[in] ptTarget the target tile
3592
* \param[in] ptRegion the target region
3593
* \return arm_fsm_rt_t the operation result
3594
*/
3595
extern
3596
ARM_NONNULL(2,3,4)
3597
arm_fsm_rt_t
arm_2dp_gray8_tile_fill_with_src_mask_and_xy_mirror
(
3598
arm_2d_op_cp_msk_t
*ptOP,
3599
const
arm_2d_tile_t
*ptSource,
3600
const
arm_2d_tile_t
*ptSrcMask,
3601
const
arm_2d_tile_t
*ptTarget,
3602
const
arm_2d_region_t
*ptRegion);
3603
3604
/*!
3605
* \brief fill a source tile to a target tile with a source mask and xy-mirroring
3606
* \param[in] ptOP the control block, NULL means using the default control block
3607
* \param[in] ptSource the source tile
3608
* \param[in] ptSrcMask the mask on the source side
3609
* \param[in] ptTarget the target tile
3610
* \param[in] ptRegion the target region
3611
* \return arm_fsm_rt_t the operation result
3612
*/
3613
extern
3614
ARM_NONNULL(2,3,4)
3615
arm_fsm_rt_t
arm_2dp_rgb565_tile_fill_with_src_mask_and_xy_mirror
(
3616
arm_2d_op_cp_msk_t
*ptOP,
3617
const
arm_2d_tile_t
*ptSource,
3618
const
arm_2d_tile_t
*ptSrcMask,
3619
const
arm_2d_tile_t
*ptTarget,
3620
const
arm_2d_region_t
*ptRegion);
3621
3622
/*!
3623
* \brief fill a source tile to a target tile with a source mask and xy-mirroring
3624
* \param[in] ptOP the control block, NULL means using the default control block
3625
* \param[in] ptSource the source tile
3626
* \param[in] ptSrcMask the mask on the source side
3627
* \param[in] ptTarget the target tile
3628
* \param[in] ptRegion the target region
3629
* \param[in] wMode the fill mode
3630
* \return arm_fsm_rt_t the operation result
3631
*/
3632
extern
3633
ARM_NONNULL(2,3,4)
3634
arm_fsm_rt_t
arm_2dp_cccn888_tile_fill_with_src_mask_and_xy_mirror
(
3635
arm_2d_op_cp_msk_t
*ptOP,
3636
const
arm_2d_tile_t
*ptSource,
3637
const
arm_2d_tile_t
*ptSrcMask,
3638
const
arm_2d_tile_t
*ptTarget,
3639
const
arm_2d_region_t
*ptRegion);
3640
3641
3642
/*----------------------------------------------------------------------------*
3643
* Copy tile to destination with a target mask and a specified mode *
3644
*----------------------------------------------------------------------------*/
3645
3646
/*!
3647
* \brief copy a source tile to a target tile with a target mask in a given mode
3648
* \param[in] ptOP the control block, NULL means using the default control block
3649
* \param[in] ptSource the source tile
3650
* \param[in] ptTarget the target tile
3651
* \param[in] ptDesMask the mask on the target side
3652
* \param[in] ptRegion the target region
3653
* \param[in] wMode the copy mode
3654
* \return arm_fsm_rt_t the operation result
3655
*/
3656
extern
3657
ARM_NONNULL(2,3,4)
3658
arm_fsm_rt_t
arm_2dp_gray8_tile_copy_with_des_mask
(
3659
arm_2d_op_cp_msk_t
*ptOP,
3660
const
arm_2d_tile_t
*ptSource,
3661
const
arm_2d_tile_t
*ptTarget,
3662
const
arm_2d_tile_t
*ptDesMask,
3663
const
arm_2d_region_t
*ptRegion,
3664
uint32_t wMode);
3665
3666
/*!
3667
* \brief copy a source tile to a target tile with a target mask in a given mode
3668
* \param[in] ptOP the control block, NULL means using the default control block
3669
* \param[in] ptSource the source tile
3670
* \param[in] ptTarget the target tile
3671
* \param[in] ptDesMask the mask on the target side
3672
* \param[in] ptRegion the target region
3673
* \param[in] wMode the copy mode
3674
* \return arm_fsm_rt_t the operation result
3675
*/
3676
extern
3677
ARM_NONNULL(2,3,4)
3678
arm_fsm_rt_t
arm_2dp_rgb565_tile_copy_with_des_mask
(
3679
arm_2d_op_cp_msk_t
*ptOP,
3680
const
arm_2d_tile_t
*ptSource,
3681
const
arm_2d_tile_t
*ptTarget,
3682
const
arm_2d_tile_t
*ptDesMask,
3683
const
arm_2d_region_t
*ptRegion,
3684
uint32_t wMode);
3685
3686
/*!
3687
* \brief copy a source tile to a target tile with a target mask in a given mode
3688
* \param[in] ptOP the control block, NULL means using the default control block
3689
* \param[in] ptSource the source tile
3690
* \param[in] ptTarget the target tile
3691
* \param[in] ptDesMask the mask on the target side
3692
* \param[in] ptRegion the target region
3693
* \param[in] wMode the copy mode
3694
* \return arm_fsm_rt_t the operation result
3695
*/
3696
extern
3697
ARM_NONNULL(2,3,4)
3698
arm_fsm_rt_t
arm_2dp_cccn888_tile_copy_with_des_mask
(
3699
arm_2d_op_cp_msk_t
*ptOP,
3700
const
arm_2d_tile_t
*ptSource,
3701
const
arm_2d_tile_t
*ptTarget,
3702
const
arm_2d_tile_t
*ptDesMask,
3703
const
arm_2d_region_t
*ptRegion,
3704
uint32_t wMode);
3705
3706
/*----------------------------------------------------------------------------*
3707
* Copy tile to target tile with a source tile and a target mask *
3708
*----------------------------------------------------------------------------*/
3709
3710
/*!
3711
* \brief copy a source tile to a target tile with a target mask
3712
* \param[in] ptOP the control block, NULL means using the default control block
3713
* \param[in] ptSource the source tile
3714
* \param[in] ptTarget the target tile
3715
* \param[in] ptDesMask the mask on the target side
3716
* \param[in] ptRegion the target region
3717
* \return arm_fsm_rt_t the operation result
3718
*/
3719
extern
3720
ARM_NONNULL(2,3,4,5)
3721
arm_fsm_rt_t
arm_2dp_gray8_tile_copy_with_des_mask_only
(
3722
arm_2d_op_cp_msk_t
*ptOP,
3723
const
arm_2d_tile_t
*ptSource,
3724
const
arm_2d_tile_t
*ptTarget,
3725
const
arm_2d_tile_t
*ptDesMask,
3726
const
arm_2d_region_t
*ptRegion);
3727
3728
/*!
3729
* \brief copy a source tile to a target tile with a target mask
3730
* \param[in] ptOP the control block, NULL means using the default control block
3731
* \param[in] ptSource the source tile
3732
* \param[in] ptTarget the target tile
3733
* \param[in] ptDesMask the mask on the target side
3734
* \param[in] ptRegion the target region
3735
* \return arm_fsm_rt_t the operation result
3736
*/
3737
extern
3738
ARM_NONNULL(2,3,4,5)
3739
arm_fsm_rt_t
arm_2dp_rgb565_tile_copy_with_des_mask_only
(
3740
arm_2d_op_cp_msk_t
*ptOP,
3741
const
arm_2d_tile_t
*ptSource,
3742
const
arm_2d_tile_t
*ptTarget,
3743
const
arm_2d_tile_t
*ptDesMask,
3744
const
arm_2d_region_t
*ptRegion);
3745
3746
/*!
3747
* \brief copy a source tile to a target tile with a target mask
3748
* \param[in] ptOP the control block, NULL means using the default control block
3749
* \param[in] ptSource the source tile
3750
* \param[in] ptTarget the target tile
3751
* \param[in] ptDesMask the mask on the target side
3752
* \param[in] ptRegion the target region
3753
* \return arm_fsm_rt_t the operation result
3754
*/
3755
extern
3756
ARM_NONNULL(2,3,4,5)
3757
arm_fsm_rt_t
arm_2dp_cccn888_tile_copy_with_des_mask_only
(
3758
arm_2d_op_cp_msk_t
*ptOP,
3759
const
arm_2d_tile_t
*ptSource,
3760
const
arm_2d_tile_t
*ptTarget,
3761
const
arm_2d_tile_t
*ptDesMask,
3762
const
arm_2d_region_t
*ptRegion);
3763
3764
3765
/*----------------------------------------------------------------------------*
3766
* Copy tile to target tile with a source mask, a target mask and x-mirroring *
3767
*----------------------------------------------------------------------------*/
3768
3769
/*!
3770
* \brief copy a source tile to a target tile with a target mask and x-mirroring
3771
* \param[in] ptOP the control block, NULL means using the default control block
3772
* \param[in] ptSource the source tile
3773
* \param[in] ptTarget the target tile
3774
* \param[in] ptDesMask the mask on the target side
3775
* \param[in] ptRegion the target region
3776
* \return arm_fsm_rt_t the operation result
3777
*/
3778
extern
3779
ARM_NONNULL(2,3,4,5)
3780
arm_fsm_rt_t
arm_2dp_gray8_tile_copy_with_des_mask_and_x_mirror
(
3781
arm_2d_op_cp_msk_t
*ptOP,
3782
const
arm_2d_tile_t
*ptSource,
3783
const
arm_2d_tile_t
*ptTarget,
3784
const
arm_2d_tile_t
*ptDesMask,
3785
const
arm_2d_region_t
*ptRegion);
3786
3787
/*!
3788
* \brief copy a source tile to a target tile with a target mask and x-mirroring
3789
* \param[in] ptOP the control block, NULL means using the default control block
3790
* \param[in] ptSource the source tile
3791
* \param[in] ptTarget the target tile
3792
* \param[in] ptDesMask the mask on the target side
3793
* \param[in] ptRegion the target region
3794
* \return arm_fsm_rt_t the operation result
3795
*/
3796
extern
3797
ARM_NONNULL(2,3,4,5)
3798
arm_fsm_rt_t
arm_2dp_rgb565_tile_copy_with_des_mask_and_x_mirror
(
3799
arm_2d_op_cp_msk_t
*ptOP,
3800
const
arm_2d_tile_t
*ptSource,
3801
const
arm_2d_tile_t
*ptTarget,
3802
const
arm_2d_tile_t
*ptDesMask,
3803
const
arm_2d_region_t
*ptRegion);
3804
3805
/*!
3806
* \brief copy a source tile to a target tile with a target mask and x-mirroring
3807
* \param[in] ptOP the control block, NULL means using the default control block
3808
* \param[in] ptSource the source tile
3809
* \param[in] ptTarget the target tile
3810
* \param[in] ptDesMask the mask on the target side
3811
* \param[in] ptRegion the target region
3812
* \return arm_fsm_rt_t the operation result
3813
*/
3814
extern
3815
ARM_NONNULL(2,3,4,5)
3816
arm_fsm_rt_t
arm_2dp_cccn888_tile_copy_with_des_mask_and_x_mirror
(
3817
arm_2d_op_cp_msk_t
*ptOP,
3818
const
arm_2d_tile_t
*ptSource,
3819
const
arm_2d_tile_t
*ptTarget,
3820
const
arm_2d_tile_t
*ptDesMask,
3821
const
arm_2d_region_t
*ptRegion);
3822
3823
3824
/*----------------------------------------------------------------------------*
3825
* Copy tile to target tile with a source tile, a target mask and y-mirroring *
3826
*----------------------------------------------------------------------------*/
3827
3828
/*!
3829
* \brief copy a source tile to a target tile with a target mask and y-mirroring
3830
* \param[in] ptOP the control block, NULL means using the default control block
3831
* \param[in] ptSource the source tile
3832
* \param[in] ptTarget the target tile
3833
* \param[in] ptDesMask the mask on the target side
3834
* \param[in] ptRegion the target region
3835
* \return arm_fsm_rt_t the operation result
3836
*/
3837
extern
3838
ARM_NONNULL(2,3,4,5)
3839
arm_fsm_rt_t
arm_2dp_gray8_tile_copy_with_des_mask_and_y_mirror
(
3840
arm_2d_op_cp_msk_t
*ptOP,
3841
const
arm_2d_tile_t
*ptSource,
3842
const
arm_2d_tile_t
*ptTarget,
3843
const
arm_2d_tile_t
*ptDesMask,
3844
const
arm_2d_region_t
*ptRegion);
3845
3846
/*!
3847
* \brief copy a source tile to a target tile with a target mask and y-mirroring
3848
* \param[in] ptOP the control block, NULL means using the default control block
3849
* \param[in] ptSource the source tile
3850
* \param[in] ptTarget the target tile
3851
* \param[in] ptDesMask the mask on the target side
3852
* \param[in] ptRegion the target region
3853
* \return arm_fsm_rt_t the operation result
3854
*/
3855
extern
3856
ARM_NONNULL(2,3,4,5)
3857
arm_fsm_rt_t
arm_2dp_rgb565_tile_copy_with_des_mask_and_y_mirror
(
3858
arm_2d_op_cp_msk_t
*ptOP,
3859
const
arm_2d_tile_t
*ptSource,
3860
const
arm_2d_tile_t
*ptTarget,
3861
const
arm_2d_tile_t
*ptDesMask,
3862
const
arm_2d_region_t
*ptRegion);
3863
3864
/*!
3865
* \brief copy a source tile to a target tile with a target mask and y-mirroring
3866
* \param[in] ptOP the control block, NULL means using the default control block
3867
* \param[in] ptSource the source tile
3868
* \param[in] ptTarget the target tile
3869
* \param[in] ptDesMask the mask on the target side
3870
* \param[in] ptRegion the target region
3871
* \return arm_fsm_rt_t the operation result
3872
*/
3873
extern
3874
ARM_NONNULL(2,3,4,5)
3875
arm_fsm_rt_t
arm_2dp_cccn888_tile_copy_with_des_mask_and_y_mirror
(
3876
arm_2d_op_cp_msk_t
*ptOP,
3877
const
arm_2d_tile_t
*ptSource,
3878
const
arm_2d_tile_t
*ptTarget,
3879
const
arm_2d_tile_t
*ptDesMask,
3880
const
arm_2d_region_t
*ptRegion);
3881
3882
3883
/*----------------------------------------------------------------------------*
3884
* Copy tile to target tile with a source tile, a target mask and xy-mirroring*
3885
*----------------------------------------------------------------------------*/
3886
3887
/*!
3888
* \brief copy a source tile to a target tile with a target mask and xy-mirroring
3889
* \param[in] ptOP the control block, NULL means using the default control block
3890
* \param[in] ptSource the source tile
3891
* \param[in] ptTarget the target tile
3892
* \param[in] ptDesMask the mask on the target side
3893
* \param[in] ptRegion the target region
3894
* \return arm_fsm_rt_t the operation result
3895
*/
3896
extern
3897
ARM_NONNULL(2,3,4,5)
3898
arm_fsm_rt_t
arm_2dp_gray8_tile_copy_with_des_mask_and_xy_mirror
(
3899
arm_2d_op_cp_msk_t
*ptOP,
3900
const
arm_2d_tile_t
*ptSource,
3901
const
arm_2d_tile_t
*ptTarget,
3902
const
arm_2d_tile_t
*ptDesMask,
3903
const
arm_2d_region_t
*ptRegion);
3904
3905
/*!
3906
* \brief copy a source tile to a target tile with a target mask and xy-mirroring
3907
* \param[in] ptOP the control block, NULL means using the default control block
3908
* \param[in] ptSource the source tile
3909
* \param[in] ptTarget the target tile
3910
* \param[in] ptDesMask the mask on the target side
3911
* \param[in] ptRegion the target region
3912
* \return arm_fsm_rt_t the operation result
3913
*/
3914
extern
3915
ARM_NONNULL(2,3,4,5)
3916
arm_fsm_rt_t
arm_2dp_rgb565_tile_copy_with_des_mask_and_xy_mirror
(
3917
arm_2d_op_cp_msk_t
*ptOP,
3918
const
arm_2d_tile_t
*ptSource,
3919
const
arm_2d_tile_t
*ptTarget,
3920
const
arm_2d_tile_t
*ptDesMask,
3921
const
arm_2d_region_t
*ptRegion);
3922
3923
/*!
3924
* \brief copy a source tile to a target tile with a target mask and xy-mirroring
3925
* \param[in] ptOP the control block, NULL means using the default control block
3926
* \param[in] ptSource the source tile
3927
* \param[in] ptTarget the target tile
3928
* \param[in] ptDesMask the mask on the target side
3929
* \param[in] ptRegion the target region
3930
* \return arm_fsm_rt_t the operation result
3931
*/
3932
extern
3933
ARM_NONNULL(2,3,4,5)
3934
arm_fsm_rt_t
arm_2dp_cccn888_tile_copy_with_des_mask_and_xy_mirror
(
3935
arm_2d_op_cp_msk_t
*ptOP,
3936
const
arm_2d_tile_t
*ptSource,
3937
const
arm_2d_tile_t
*ptTarget,
3938
const
arm_2d_tile_t
*ptDesMask,
3939
const
arm_2d_region_t
*ptRegion);
3940
3941
/*----------------------------------------------------------------------------*
3942
* Fill tile to target tile with a source tile and a target mask *
3943
*----------------------------------------------------------------------------*/
3944
3945
/*!
3946
* \brief fill a source tile to a target tile with a target mask
3947
* \param[in] ptOP the control block, NULL means using the default control block
3948
* \param[in] ptSource the source tile
3949
* \param[in] ptTarget the target tile
3950
* \param[in] ptDesMask the mask on the target side
3951
* \param[in] ptRegion the target region
3952
* \return arm_fsm_rt_t the operation result
3953
*/
3954
extern
3955
ARM_NONNULL(2,3,4,5)
3956
arm_fsm_rt_t
arm_2dp_gray8_tile_fill_with_des_mask_only
(
3957
arm_2d_op_cp_msk_t
*ptOP,
3958
const
arm_2d_tile_t
*ptSource,
3959
const
arm_2d_tile_t
*ptTarget,
3960
const
arm_2d_tile_t
*ptDesMask,
3961
const
arm_2d_region_t
*ptRegion);
3962
3963
/*!
3964
* \brief fill a source tile to a target tile with a target mask
3965
* \param[in] ptOP the control block, NULL means using the default control block
3966
* \param[in] ptSource the source tile
3967
* \param[in] ptTarget the target tile
3968
* \param[in] ptDesMask the mask on the target side
3969
* \param[in] ptRegion the target region
3970
* \return arm_fsm_rt_t the operation result
3971
*/
3972
extern
3973
ARM_NONNULL(2,3,4,5)
3974
arm_fsm_rt_t
arm_2dp_rgb565_tile_fill_with_des_mask_only
(
3975
arm_2d_op_cp_msk_t
*ptOP,
3976
const
arm_2d_tile_t
*ptSource,
3977
const
arm_2d_tile_t
*ptTarget,
3978
const
arm_2d_tile_t
*ptDesMask,
3979
const
arm_2d_region_t
*ptRegion);
3980
3981
/*!
3982
* \brief fill a source tile to a target tile with a target mask
3983
* \param[in] ptOP the control block, NULL means using the default control block
3984
* \param[in] ptSource the source tile
3985
* \param[in] ptTarget the target tile
3986
* \param[in] ptDesMask the mask on the target side
3987
* \param[in] ptRegion the target region
3988
* \return arm_fsm_rt_t the operation result
3989
*/
3990
extern
3991
ARM_NONNULL(2,3,4,5)
3992
arm_fsm_rt_t
arm_2dp_cccn888_tile_fill_with_des_mask_only
(
3993
arm_2d_op_cp_msk_t
*ptOP,
3994
const
arm_2d_tile_t
*ptSource,
3995
const
arm_2d_tile_t
*ptTarget,
3996
const
arm_2d_tile_t
*ptDesMask,
3997
const
arm_2d_region_t
*ptRegion);
3998
3999
4000
/*----------------------------------------------------------------------------*
4001
* Fill tile to target tile with a source tile, a target mask and x-mirroring *
4002
*----------------------------------------------------------------------------*/
4003
4004
/*!
4005
* \brief fill a source tile to a target tile with a target mask and x-mirroring
4006
* \param[in] ptOP the control block, NULL means using the default control block
4007
* \param[in] ptSource the source tile
4008
* \param[in] ptTarget the target tile
4009
* \param[in] ptDesMask the mask on the target side
4010
* \param[in] ptRegion the target region
4011
* \return arm_fsm_rt_t the operation result
4012
*/
4013
extern
4014
ARM_NONNULL(2,3,4,5)
4015
arm_fsm_rt_t
arm_2dp_gray8_tile_fill_with_des_mask_and_x_mirror
(
4016
arm_2d_op_cp_msk_t
*ptOP,
4017
const
arm_2d_tile_t
*ptSource,
4018
const
arm_2d_tile_t
*ptTarget,
4019
const
arm_2d_tile_t
*ptDesMask,
4020
const
arm_2d_region_t
*ptRegion);
4021
4022
/*!
4023
* \brief fill a source tile to a target tile with a target mask and x-mirroring
4024
* \param[in] ptOP the control block, NULL means using the default control block
4025
* \param[in] ptSource the source tile
4026
* \param[in] ptTarget the target tile
4027
* \param[in] ptDesMask the mask on the target side
4028
* \param[in] ptRegion the target region
4029
* \return arm_fsm_rt_t the operation result
4030
*/
4031
extern
4032
ARM_NONNULL(2,3,4,5)
4033
arm_fsm_rt_t
arm_2dp_rgb565_tile_fill_with_des_mask_and_x_mirror
(
4034
arm_2d_op_cp_msk_t
*ptOP,
4035
const
arm_2d_tile_t
*ptSource,
4036
const
arm_2d_tile_t
*ptTarget,
4037
const
arm_2d_tile_t
*ptDesMask,
4038
const
arm_2d_region_t
*ptRegion);
4039
4040
/*!
4041
* \brief fill a source tile to a target tile with a target mask and x-mirroring
4042
* \param[in] ptOP the control block, NULL means using the default control block
4043
* \param[in] ptSource the source tile
4044
* \param[in] ptTarget the target tile
4045
* \param[in] ptDesMask the mask on the target side
4046
* \param[in] ptRegion the target region
4047
* \return arm_fsm_rt_t the operation result
4048
*/
4049
extern
4050
ARM_NONNULL(2,3,4,5)
4051
arm_fsm_rt_t
arm_2dp_cccn888_tile_fill_with_des_mask_and_x_mirror
(
4052
arm_2d_op_cp_msk_t
*ptOP,
4053
const
arm_2d_tile_t
*ptSource,
4054
const
arm_2d_tile_t
*ptTarget,
4055
const
arm_2d_tile_t
*ptDesMask,
4056
const
arm_2d_region_t
*ptRegion);
4057
4058
4059
/*----------------------------------------------------------------------------*
4060
* Fill tile to target tile with a source tile, a target mask and y-mirroring *
4061
*----------------------------------------------------------------------------*/
4062
4063
/*!
4064
* \brief fill a source tile to a target tile with a target mask and y-mirroring
4065
* \param[in] ptOP the control block, NULL means using the default control block
4066
* \param[in] ptSource the source tile
4067
* \param[in] ptTarget the target tile
4068
* \param[in] ptDesMask the mask on the target side
4069
* \param[in] ptRegion the target region
4070
* \return arm_fsm_rt_t the operation result
4071
*/
4072
extern
4073
ARM_NONNULL(2,3,4,5)
4074
arm_fsm_rt_t
arm_2dp_gray8_tile_fill_with_des_mask_and_y_mirror
(
4075
arm_2d_op_cp_msk_t
*ptOP,
4076
const
arm_2d_tile_t
*ptSource,
4077
const
arm_2d_tile_t
*ptTarget,
4078
const
arm_2d_tile_t
*ptDesMask,
4079
const
arm_2d_region_t
*ptRegion);
4080
4081
/*!
4082
* \brief fill a source tile to a target tile with a target mask and y-mirroring
4083
* \param[in] ptOP the control block, NULL means using the default control block
4084
* \param[in] ptSource the source tile
4085
* \param[in] ptTarget the target tile
4086
* \param[in] ptDesMask the mask on the target side
4087
* \param[in] ptRegion the target region
4088
* \return arm_fsm_rt_t the operation result
4089
*/
4090
extern
4091
ARM_NONNULL(2,3,4,5)
4092
arm_fsm_rt_t
arm_2dp_rgb565_tile_fill_with_des_mask_and_y_mirror
(
4093
arm_2d_op_cp_msk_t
*ptOP,
4094
const
arm_2d_tile_t
*ptSource,
4095
const
arm_2d_tile_t
*ptTarget,
4096
const
arm_2d_tile_t
*ptDesMask,
4097
const
arm_2d_region_t
*ptRegion);
4098
4099
/*!
4100
* \brief fill a source tile to a target tile with a target mask and y-mirroring
4101
* \param[in] ptOP the control block, NULL means using the default control block
4102
* \param[in] ptSource the source tile
4103
* \param[in] ptTarget the target tile
4104
* \param[in] ptDesMask the mask on the target side
4105
* \param[in] ptRegion the target region
4106
* \return arm_fsm_rt_t the operation result
4107
*/
4108
extern
4109
ARM_NONNULL(2,3,4,5)
4110
arm_fsm_rt_t
arm_2dp_cccn888_tile_fill_with_des_mask_and_y_mirror
(
4111
arm_2d_op_cp_msk_t
*ptOP,
4112
const
arm_2d_tile_t
*ptSource,
4113
const
arm_2d_tile_t
*ptTarget,
4114
const
arm_2d_tile_t
*ptDesMask,
4115
const
arm_2d_region_t
*ptRegion);
4116
4117
4118
/*----------------------------------------------------------------------------*
4119
* Fill tile to target tile with a source tile, a target mask and xy-mirroring*
4120
*----------------------------------------------------------------------------*/
4121
4122
/*!
4123
* \brief fill a source tile to a target tile with a target mask and xy-mirroring
4124
* \param[in] ptOP the control block, NULL means using the default control block
4125
* \param[in] ptSource the source tile
4126
* \param[in] ptTarget the target tile
4127
* \param[in] ptDesMask the mask on the target side
4128
* \param[in] ptRegion the target region
4129
* \return arm_fsm_rt_t the operation result
4130
*/
4131
extern
4132
ARM_NONNULL(2,3,4,5)
4133
arm_fsm_rt_t
arm_2dp_gray8_tile_fill_with_des_mask_and_xy_mirror
(
4134
arm_2d_op_cp_msk_t
*ptOP,
4135
const
arm_2d_tile_t
*ptSource,
4136
const
arm_2d_tile_t
*ptTarget,
4137
const
arm_2d_tile_t
*ptDesMask,
4138
const
arm_2d_region_t
*ptRegion);
4139
4140
/*!
4141
* \brief fill a source tile to a target tile with target mask and xy-mirroring
4142
* \param[in] ptOP the control block, NULL means using the default control block
4143
* \param[in] ptSource the source tile
4144
* \param[in] ptTarget the target tile
4145
* \param[in] ptDesMask the mask on the target side
4146
* \param[in] ptRegion the target region
4147
* \return arm_fsm_rt_t the operation result
4148
*/
4149
extern
4150
ARM_NONNULL(2,3,4,5)
4151
arm_fsm_rt_t
arm_2dp_rgb565_tile_fill_with_des_mask_and_xy_mirror
(
4152
arm_2d_op_cp_msk_t
*ptOP,
4153
const
arm_2d_tile_t
*ptSource,
4154
const
arm_2d_tile_t
*ptTarget,
4155
const
arm_2d_tile_t
*ptDesMask,
4156
const
arm_2d_region_t
*ptRegion);
4157
4158
/*!
4159
* \brief fill a source tile to a target tile with a target mask and xy-mirroring
4160
* \param[in] ptOP the control block, NULL means using the default control block
4161
* \param[in] ptSource the source tile
4162
* \param[in] ptTarget the target tile
4163
* \param[in] ptDesMask the mask on the target side
4164
* \param[in] ptRegion the target region
4165
* \return arm_fsm_rt_t the operation result
4166
*/
4167
extern
4168
ARM_NONNULL(2,3,4,5)
4169
arm_fsm_rt_t
arm_2dp_cccn888_tile_fill_with_des_mask_and_xy_mirror
(
4170
arm_2d_op_cp_msk_t
*ptOP,
4171
const
arm_2d_tile_t
*ptSource,
4172
const
arm_2d_tile_t
*ptTarget,
4173
const
arm_2d_tile_t
*ptDesMask,
4174
const
arm_2d_region_t
*ptRegion);
4175
4176
4177
4178
/*! @} */
4179
4180
#if defined(__clang__)
4181
#pragma clang diagnostic pop
4182
#endif
4183
4184
#ifdef __cplusplus
4185
}
4186
#endif
4187
4188
#endif
Library
Include
arm_2d_alpha_blending.h