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