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