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