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