comparison src/cs/drivers/drv_app/r2d/r2d_lcd_geometry.c @ 0:4e78acac3d88

src/{condat,cs,gpf,nucleus}: import from Selenite
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 16 Oct 2020 06:23:26 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:4e78acac3d88
1 /**
2
3 @file: r2d_lcd_geometry.c
4
5 @author Christophe Favergeon
6
7 @version 0.5
8
9 Purpose: Low level drawing subroutines interacting directly with framebuffers
10 and with LCDs APIs
11
12 */
13
14 /*
15
16 Date Modification
17 ------------------------------------
18 06/02/2001 Create
19 10/18/2001 Version 0.5 for first integration with Riviera database
20
21
22 (C) Copyright 2001 by Texas Instruments Incorporated, All Rights Reserved
23 */
24
25
26 #include "rv/general.h"
27 #include "rvf/rvf_api.h"
28 #include "rvm/rvm_use_id_list.h"
29 #include "r2d/r2d_config.h"
30 #include "r2d/r2d.h"
31 #include "r2d/r2d_i.h"
32 #include "r2d/r2d_independance_layer.h"
33 #if (R2D_DEBUG == R2D_ON)
34 #include <stdio.h>
35 #endif
36
37 #if (R2D_EMBEDDED_LCD == R2D_PC_COLOR_LCD)
38 #include "Windows.h"
39 #endif
40
41
42
43 #define IND_r2d_color_to_lcd r2d_color_to_lcd
44 #define IND_r2d_get_drawing_mode r2d_get_drawing_mode
45 #define IND_rvf_send_trace rvf_send_trace
46 #define IND_r2d_lcd_to_color r2d_lcd_to_color
47
48 #define IND_r2d_lcd_foreground_pixel r2d_lcd_foreground_pixel
49
50 #define IND_r2d_color_framebuffer_foreground_pixel r2d_color_framebuffer_foreground_pixel
51
52 #if (R2D_ASM == R2D_ON)
53 extern void r2d_blit_la(UINT32 *a);
54 extern void r2d_blit_lb(UINT32 *a);
55
56 extern void r2d_patch_blit(T_R2D_GC_PTR dst_gc,T_R2D_DRAWING_MODE mode,
57 R2D_BOOLEAN use_foreground_color,INT32 srcdst);
58
59 extern UINT32 r2d_lcd_start_copy;
60 extern UINT32 r2d_lcd_start_or;
61 extern UINT32 r2d_lcd_start_and;
62 extern UINT32 r2d_lcd_start_xor;
63 extern UINT32 r2d_lcd_start_notcopy;
64 extern UINT32 r2d_lcd_start_notor;
65 extern UINT32 r2d_lcd_start_notand;
66 extern UINT32 r2d_lcd_start_notxor;
67 extern UINT32 r2d_lcd_start_alpha;
68 extern UINT32 r2d_lcd_start_foreground_pixel;
69
70 extern UINT32 r2d_color_start_copy;
71 extern UINT32 r2d_color_start_or;
72 extern UINT32 r2d_color_start_and;
73 extern UINT32 r2d_color_start_xor;
74 extern UINT32 r2d_color_start_notcopy;
75 extern UINT32 r2d_color_start_notor;
76 extern UINT32 r2d_color_start_notand;
77 extern UINT32 r2d_color_start_notxor;
78 extern UINT32 r2d_color_start_alpha;
79 extern UINT32 r2d_color_start_foreground_pixel;
80
81 extern UINT32 r2d_start_get_color;
82
83
84 // Drawing mode
85 extern UINT32 r2d_sb_down1;
86 extern UINT32 r2d_sb_down2;
87 extern UINT32 r2d_sa_up1;
88 extern UINT32 r2d_sa_up2;
89
90 // Foreground detection
91 extern UINT32 r2d_sdb_down1;
92 extern UINT32 r2d_sdb_down2;
93 extern UINT32 r2d_sda_up1;
94 extern UINT32 r2d_sda_up2;
95
96 // Color conversion
97 extern UINT32 r2d_scb_down1;
98 extern UINT32 r2d_scb_down2;
99 extern UINT32 r2d_sca_up1;
100 extern UINT32 r2d_sca_up2;
101
102 extern UINT32 r2d_start_branch_inst;
103 extern UINT32 r2d_stop_branch_inst;
104 extern UINT32 r2d_blit_foreground;
105 extern UINT32 r2d_blit_background;
106 extern UINT32 r2d_skip_color_proc_a;
107 extern UINT32 r2d_end_ynb_color_dst_a;
108 extern UINT32 r2d_skip_color_proc_b;
109 extern UINT32 r2d_end_ynb_color_dst_b;
110
111 // Patch list for write_shift_pixel_down
112 extern UINT32 r2d_sft_dst_n_b_down1,r2d_sft_dst_n_b_down2;
113 extern UINT32 r2d_sft_srcb__b_down1,r2d_sft_srcb__b_down2;
114 extern UINT32 r2d_sft_dstc__b_down1,r2d_sft_dstc__b_down2;
115
116 extern UINT32 r2d_sft_src_c_b_down1,r2d_sft_src_c_b_down2;
117 extern UINT32 r2d_sft_b_c_b_down1,r2d_sft_b_c_b_down2;
118 extern UINT32 r2d_sft_dstb_c_b_down1,r2d_sft_dstb_c_b_down2;
119 extern UINT32 r2d_sft_d_c_b_down1,r2d_sft_d_c_b_down2;
120 extern UINT32 r2d_sft_dstc_c_b_down1,r2d_sft_dstc_c_b_down2;
121
122 // Patch list for write_shift_pixel_up
123 extern UINT32 r2d_sft_dst_n_a_up1,r2d_sft_dst_n_a_up2;
124 extern UINT32 r2d_sft_srcb__a_up1,r2d_sft_srcb__a_up2;
125 extern UINT32 r2d_sft_dstc__a_up1,r2d_sft_dstc__a_up2;
126
127 extern UINT32 r2d_sft_src_c_a_up1,r2d_sft_src_c_a_up2;
128 extern UINT32 r2d_sft_b_c_a_up1,r2d_sft_b_c_a_up2;
129
130 // Patch list fro shift_pixel_down
131 extern UINT32 r2d_sft_dst_n_downa,r2d_sft_dst_n_downb,r2d_sft_dst_n_downc;
132 extern UINT32 r2d_sft_srcb_n_downa,r2d_sft_srcb_n_downb,r2d_sft_srcb_n_downc;
133
134 extern UINT32 r2d_sft_src_c_downa,r2d_sft_src_c_downb,r2d_sft_src_c_downc;
135
136 // Patch list fro shift_pixel_up
137 extern UINT32 r2d_sft_dst_n_upa,r2d_sft_dst_n_upb,r2d_sft_dst_n_upc;
138 extern UINT32 r2d_sft_srcb_n_upa,r2d_sft_srcb_n_upb,r2d_sft_srcb_n_upc;
139
140 extern UINT32 r2d_sft_src_c_upa,r2d_sft_src_c_upb,r2d_sft_src_c_upc;
141
142 extern UINT32 r2d_sconvcolb_down1,r2d_econvcolb_down1;
143 extern UINT32 r2d_sconvcolb_down2,r2d_econvcolb_down2;
144 extern UINT32 r2d_sconvcola_up1,r2d_econvcola_up1;
145 extern UINT32 r2d_sconvcola_up2,r2d_econvcola_up2;
146 extern UINT32 r2d_start_lcd_to_color,r2d_start_color_to_lcd;
147
148 extern UINT32 r2d_always_write_down,r2d_always_write_up,r2d_never_write;
149 extern UINT32 r2d_swb_down1,r2d_swb_down2,r2d_swa_up1,r2d_swa_up2;
150
151 extern UINT32 r2d_skip_color_dst_a,r2d_skip_color_dst_b;
152 extern UINT32 r2d_always_skip;
153 extern UINT32 r2d_enda,r2d_endb;
154 extern UINT32 r2d_lcd_start_nothing;
155
156 extern UINT32 r2d_skip_load_src_a_up1,r2d_skip_load_src_a_up2;
157 extern UINT32 r2d_skip_load_src_b_down1,r2d_skip_load_src_b_down2;
158 extern UINT32 r2d_skip_shift_down_downa,r2d_skip_shift_down_downb,r2d_skip_shift_down_downc;
159 extern UINT32 r2d_skip_shift_up_upa,r2d_skip_shift_up_upb,r2d_skip_shift_up_upc;
160 extern UINT32 r2d_no_null_src_counter_a,r2d_no_null_src_counter_b;
161 extern UINT32 r2d_end_a_up2,r2d_end_b_down2,r2d_end_downa,r2d_end_downb,r2d_end_downc;
162 extern UINT32 r2d_end_upa,r2d_end_upb,r2d_end_upc;
163
164 extern UINT32 r2d_always_read_b_down1,r2d_always_read_b_down2;
165 extern UINT32 r2d_always_read_a_up1,r2d_always_read_a_up2;
166 extern UINT32 r2d_always_read_down,r2d_always_read_up;
167
168 extern UINT32* r2d_g_asm_lcd_operators[];
169 extern UINT32* r2d_g_asm_color_operators[];
170
171 #endif
172
173 #include "LCDs/R2D_vertical_lcd_i.c"