Mercurial > mplayer.hg
annotate vidix/radeon_vid.c @ 26907:f0d0b666ee35
Fix compilation with internal dvdnav
author | rtogni |
---|---|
date | Sat, 31 May 2008 13:42:09 +0000 |
parents | 502f04b67653 |
children | 0e250247255f |
rev | line source |
---|---|
22850 | 1 /* |
23046
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
23044
diff
changeset
|
2 * VIDIX driver for ATI Rage128 and Radeon chipsets. |
26714
81710a8c1cf6
Use standard license header and add back credits line for Marcel Naziri.
diego
parents:
26713
diff
changeset
|
3 * |
81710a8c1cf6
Use standard license header and add back credits line for Marcel Naziri.
diego
parents:
26713
diff
changeset
|
4 * This file is based on sources from |
81710a8c1cf6
Use standard license header and add back credits line for Marcel Naziri.
diego
parents:
26713
diff
changeset
|
5 * GATOS (gatos.sf.net) and X11 (www.xfree86.org) |
81710a8c1cf6
Use standard license header and add back credits line for Marcel Naziri.
diego
parents:
26713
diff
changeset
|
6 * |
23046
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
23044
diff
changeset
|
7 * Copyright (C) 2002 Nick Kurshev |
26714
81710a8c1cf6
Use standard license header and add back credits line for Marcel Naziri.
diego
parents:
26713
diff
changeset
|
8 * support for fglrx drivers by Marcel Naziri (zwobbl@zwobbl.de) |
23046
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
23044
diff
changeset
|
9 * |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
23044
diff
changeset
|
10 * This file is part of MPlayer. |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
23044
diff
changeset
|
11 * |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
23044
diff
changeset
|
12 * MPlayer is free software; you can redistribute it and/or modify |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
23044
diff
changeset
|
13 * it under the terms of the GNU General Public License as published by |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
23044
diff
changeset
|
14 * the Free Software Foundation; either version 2 of the License, or |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
23044
diff
changeset
|
15 * (at your option) any later version. |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
23044
diff
changeset
|
16 * |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
23044
diff
changeset
|
17 * MPlayer is distributed in the hope that it will be useful, |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
23044
diff
changeset
|
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
23044
diff
changeset
|
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
23044
diff
changeset
|
20 * GNU General Public License for more details. |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
23044
diff
changeset
|
21 * |
26714
81710a8c1cf6
Use standard license header and add back credits line for Marcel Naziri.
diego
parents:
26713
diff
changeset
|
22 * You should have received a copy of the GNU General Public License along |
81710a8c1cf6
Use standard license header and add back credits line for Marcel Naziri.
diego
parents:
26713
diff
changeset
|
23 * with MPlayer; if not, write to the Free Software Foundation, Inc., |
81710a8c1cf6
Use standard license header and add back credits line for Marcel Naziri.
diego
parents:
26713
diff
changeset
|
24 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
23046
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
23044
diff
changeset
|
25 */ |
22850 | 26 |
27 #include <errno.h> | |
28 #include <stdio.h> | |
29 #include <stdlib.h> | |
30 #include <string.h> | |
31 #include <math.h> | |
32 #include <inttypes.h> | |
33 | |
22905 | 34 #include "config.h" |
35 #include "libavutil/common.h" | |
36 #include "mpbswap.h" | |
22900
a9e111b88c4a
merged libdha and libvidix, moved all files from libdha to vidix directory
ben
parents:
22874
diff
changeset
|
37 #include "pci_ids.h" |
a9e111b88c4a
merged libdha and libvidix, moved all files from libdha to vidix directory
ben
parents:
22874
diff
changeset
|
38 #include "pci_names.h" |
22850 | 39 #include "vidix.h" |
22857
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
22850
diff
changeset
|
40 #include "vidixlib.h" |
22850 | 41 #include "fourcc.h" |
22901 | 42 #include "dha.h" |
22850 | 43 #include "radeon.h" |
44 | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
45 #if !defined(RAGE128) && defined(HAVE_X11) |
22850 | 46 #include <X11/Xlib.h> |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
47 static uint32_t firegl_shift = 0; |
22850 | 48 #endif |
49 | |
50 #ifdef RAGE128 | |
51 #define RADEON_MSG "[rage128]" | |
52 #define X_ADJUST 0 | |
53 #else | |
54 #define RADEON_MSG "[radeon]" | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
55 #define X_ADJUST (((besr.chip_flags&R_OVL_SHIFT)==R_OVL_SHIFT)?8:0) |
22850 | 56 #ifndef RADEON |
57 #define RADEON | |
58 #endif | |
59 #endif | |
60 | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
61 #define RADEON_ASSERT(msg) printf(RADEON_MSG"################# FATAL:"msg); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
62 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
63 #define VERBOSE_LEVEL 0 |
25859
e8af7338a462
Fix illegal identifiers, names starting with __ are reserved for the system.
diego
parents:
25718
diff
changeset
|
64 static int verbosity = 0; |
22850 | 65 typedef struct bes_registers_s |
66 { | |
67 /* base address of yuv framebuffer */ | |
68 uint32_t yuv_base; | |
69 uint32_t fourcc; | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
70 uint32_t surf_id; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
71 int load_prg_start; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
72 int horz_pick_nearest; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
73 int vert_pick_nearest; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
74 int swap_uv; /* for direct support of bgr fourccs */ |
22850 | 75 uint32_t dest_bpp; |
76 /* YUV BES registers */ | |
77 uint32_t reg_load_cntl; | |
78 uint32_t h_inc; | |
79 uint32_t step_by; | |
80 uint32_t y_x_start; | |
81 uint32_t y_x_end; | |
82 uint32_t v_inc; | |
83 uint32_t p1_blank_lines_at_top; | |
84 uint32_t p23_blank_lines_at_top; | |
85 uint32_t vid_buf_pitch0_value; | |
86 uint32_t vid_buf_pitch1_value; | |
87 uint32_t p1_x_start_end; | |
88 uint32_t p2_x_start_end; | |
89 uint32_t p3_x_start_end; | |
90 uint32_t base_addr; | |
91 uint32_t vid_buf_base_adrs_y[VID_PLAY_MAXFRAMES]; | |
92 uint32_t vid_buf_base_adrs_u[VID_PLAY_MAXFRAMES]; | |
93 uint32_t vid_buf_base_adrs_v[VID_PLAY_MAXFRAMES]; | |
94 uint32_t vid_nbufs; | |
95 | |
96 uint32_t p1_v_accum_init; | |
97 uint32_t p1_h_accum_init; | |
98 uint32_t p23_v_accum_init; | |
99 uint32_t p23_h_accum_init; | |
100 uint32_t scale_cntl; | |
101 uint32_t exclusive_horz; | |
102 uint32_t auto_flip_cntl; | |
103 uint32_t filter_cntl; | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
104 uint32_t four_tap_coeff[5]; |
22850 | 105 uint32_t key_cntl; |
106 uint32_t test; | |
107 /* Configurable stuff */ | |
108 int double_buff; | |
109 | |
110 int brightness; | |
111 int saturation; | |
112 | |
113 int ckey_on; | |
114 uint32_t graphics_key_clr; | |
115 uint32_t graphics_key_msk; | |
116 uint32_t ckey_cntl; | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
117 uint32_t merge_cntl; |
22850 | 118 |
119 int deinterlace_on; | |
120 uint32_t deinterlace_pattern; | |
121 | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
122 unsigned chip_flags; |
22850 | 123 } bes_registers_t; |
124 | |
125 typedef struct video_registers_s | |
126 { | |
127 const char * sname; | |
128 uint32_t name; | |
129 uint32_t value; | |
130 }video_registers_t; | |
131 | |
132 static bes_registers_t besr; | |
133 #define DECLARE_VREG(name) { #name, name, 0 } | |
25718
8eddf6a9af7f
Make some radeon vidix driver tables static and const
reimar
parents:
25415
diff
changeset
|
134 static const video_registers_t vregs[] = |
22850 | 135 { |
136 DECLARE_VREG(VIDEOMUX_CNTL), | |
137 DECLARE_VREG(VIPPAD_MASK), | |
138 DECLARE_VREG(VIPPAD1_A), | |
139 DECLARE_VREG(VIPPAD1_EN), | |
140 DECLARE_VREG(VIPPAD1_Y), | |
141 DECLARE_VREG(OV0_Y_X_START), | |
142 DECLARE_VREG(OV0_Y_X_END), | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
143 DECLARE_VREG(OV1_Y_X_START), |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
144 DECLARE_VREG(OV1_Y_X_END), |
22850 | 145 DECLARE_VREG(OV0_PIPELINE_CNTL), |
146 DECLARE_VREG(OV0_EXCLUSIVE_HORZ), | |
147 DECLARE_VREG(OV0_EXCLUSIVE_VERT), | |
148 DECLARE_VREG(OV0_REG_LOAD_CNTL), | |
149 DECLARE_VREG(OV0_SCALE_CNTL), | |
150 DECLARE_VREG(OV0_V_INC), | |
151 DECLARE_VREG(OV0_P1_V_ACCUM_INIT), | |
152 DECLARE_VREG(OV0_P23_V_ACCUM_INIT), | |
153 DECLARE_VREG(OV0_P1_BLANK_LINES_AT_TOP), | |
154 DECLARE_VREG(OV0_P23_BLANK_LINES_AT_TOP), | |
155 #ifdef RADEON | |
156 DECLARE_VREG(OV0_BASE_ADDR), | |
157 #endif | |
158 DECLARE_VREG(OV0_VID_BUF0_BASE_ADRS), | |
159 DECLARE_VREG(OV0_VID_BUF1_BASE_ADRS), | |
160 DECLARE_VREG(OV0_VID_BUF2_BASE_ADRS), | |
161 DECLARE_VREG(OV0_VID_BUF3_BASE_ADRS), | |
162 DECLARE_VREG(OV0_VID_BUF4_BASE_ADRS), | |
163 DECLARE_VREG(OV0_VID_BUF5_BASE_ADRS), | |
164 DECLARE_VREG(OV0_VID_BUF_PITCH0_VALUE), | |
165 DECLARE_VREG(OV0_VID_BUF_PITCH1_VALUE), | |
166 DECLARE_VREG(OV0_AUTO_FLIP_CNTL), | |
167 DECLARE_VREG(OV0_DEINTERLACE_PATTERN), | |
168 DECLARE_VREG(OV0_SUBMIT_HISTORY), | |
169 DECLARE_VREG(OV0_H_INC), | |
170 DECLARE_VREG(OV0_STEP_BY), | |
171 DECLARE_VREG(OV0_P1_H_ACCUM_INIT), | |
172 DECLARE_VREG(OV0_P23_H_ACCUM_INIT), | |
173 DECLARE_VREG(OV0_P1_X_START_END), | |
174 DECLARE_VREG(OV0_P2_X_START_END), | |
175 DECLARE_VREG(OV0_P3_X_START_END), | |
176 DECLARE_VREG(OV0_FILTER_CNTL), | |
177 DECLARE_VREG(OV0_FOUR_TAP_COEF_0), | |
178 DECLARE_VREG(OV0_FOUR_TAP_COEF_1), | |
179 DECLARE_VREG(OV0_FOUR_TAP_COEF_2), | |
180 DECLARE_VREG(OV0_FOUR_TAP_COEF_3), | |
181 DECLARE_VREG(OV0_FOUR_TAP_COEF_4), | |
182 DECLARE_VREG(OV0_FLAG_CNTL), | |
183 #ifdef RAGE128 | |
184 DECLARE_VREG(OV0_COLOUR_CNTL), | |
185 #else | |
186 DECLARE_VREG(OV0_SLICE_CNTL), | |
187 #endif | |
188 DECLARE_VREG(OV0_VID_KEY_CLR), | |
189 DECLARE_VREG(OV0_VID_KEY_MSK), | |
190 DECLARE_VREG(OV0_GRAPHICS_KEY_CLR), | |
191 DECLARE_VREG(OV0_GRAPHICS_KEY_MSK), | |
192 DECLARE_VREG(OV0_KEY_CNTL), | |
193 DECLARE_VREG(OV0_TEST), | |
194 DECLARE_VREG(OV0_LIN_TRANS_A), | |
195 DECLARE_VREG(OV0_LIN_TRANS_B), | |
196 DECLARE_VREG(OV0_LIN_TRANS_C), | |
197 DECLARE_VREG(OV0_LIN_TRANS_D), | |
198 DECLARE_VREG(OV0_LIN_TRANS_E), | |
199 DECLARE_VREG(OV0_LIN_TRANS_F), | |
200 DECLARE_VREG(OV0_GAMMA_0_F), | |
201 DECLARE_VREG(OV0_GAMMA_10_1F), | |
202 DECLARE_VREG(OV0_GAMMA_20_3F), | |
203 DECLARE_VREG(OV0_GAMMA_40_7F), | |
204 DECLARE_VREG(OV0_GAMMA_380_3BF), | |
205 DECLARE_VREG(OV0_GAMMA_3C0_3FF), | |
206 DECLARE_VREG(SUBPIC_CNTL), | |
207 DECLARE_VREG(SUBPIC_DEFCOLCON), | |
208 DECLARE_VREG(SUBPIC_Y_X_START), | |
209 DECLARE_VREG(SUBPIC_Y_X_END), | |
210 DECLARE_VREG(SUBPIC_V_INC), | |
211 DECLARE_VREG(SUBPIC_H_INC), | |
212 DECLARE_VREG(SUBPIC_BUF0_OFFSET), | |
213 DECLARE_VREG(SUBPIC_BUF1_OFFSET), | |
214 DECLARE_VREG(SUBPIC_LC0_OFFSET), | |
215 DECLARE_VREG(SUBPIC_LC1_OFFSET), | |
216 DECLARE_VREG(SUBPIC_PITCH), | |
217 DECLARE_VREG(SUBPIC_BTN_HLI_COLCON), | |
218 DECLARE_VREG(SUBPIC_BTN_HLI_Y_X_START), | |
219 DECLARE_VREG(SUBPIC_BTN_HLI_Y_X_END), | |
220 DECLARE_VREG(SUBPIC_PALETTE_INDEX), | |
221 DECLARE_VREG(SUBPIC_PALETTE_DATA), | |
222 DECLARE_VREG(SUBPIC_H_ACCUM_INIT), | |
223 DECLARE_VREG(SUBPIC_V_ACCUM_INIT), | |
224 DECLARE_VREG(IDCT_RUNS), | |
225 DECLARE_VREG(IDCT_LEVELS), | |
226 DECLARE_VREG(IDCT_AUTH_CONTROL), | |
227 DECLARE_VREG(IDCT_AUTH), | |
228 DECLARE_VREG(IDCT_CONTROL), | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
229 #ifdef RAGE128 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
230 DECLARE_VREG(BM_FRAME_BUF_OFFSET), |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
231 DECLARE_VREG(BM_SYSTEM_MEM_ADDR), |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
232 DECLARE_VREG(BM_COMMAND), |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
233 DECLARE_VREG(BM_STATUS), |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
234 DECLARE_VREG(BM_QUEUE_STATUS), |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
235 DECLARE_VREG(BM_QUEUE_FREE_STATUS), |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
236 DECLARE_VREG(BM_CHUNK_0_VAL), |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
237 DECLARE_VREG(BM_CHUNK_1_VAL), |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
238 DECLARE_VREG(BM_VIP0_BUF), |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
239 DECLARE_VREG(BM_VIP0_ACTIVE), |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
240 DECLARE_VREG(BM_VIP1_BUF), |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
241 DECLARE_VREG(BM_VIP1_ACTIVE), |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
242 DECLARE_VREG(BM_VIP2_BUF), |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
243 DECLARE_VREG(BM_VIP2_ACTIVE), |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
244 DECLARE_VREG(BM_VIP3_BUF), |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
245 DECLARE_VREG(BM_VIP3_ACTIVE), |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
246 DECLARE_VREG(BM_VIDCAP_BUF0), |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
247 DECLARE_VREG(BM_VIDCAP_BUF1), |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
248 DECLARE_VREG(BM_VIDCAP_BUF2), |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
249 DECLARE_VREG(BM_VIDCAP_ACTIVE), |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
250 DECLARE_VREG(BM_GUI), |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
251 DECLARE_VREG(BM_ABORT) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
252 #else |
25316
ea301dc982fa
Dump the ati radeon DISP_MERGE_CNTL register to ease the
ben
parents:
25273
diff
changeset
|
253 DECLARE_VREG(DISP_MERGE_CNTL), |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
254 DECLARE_VREG(DMA_GUI_TABLE_ADDR), |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
255 DECLARE_VREG(DMA_GUI_SRC_ADDR), |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
256 DECLARE_VREG(DMA_GUI_DST_ADDR), |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
257 DECLARE_VREG(DMA_GUI_COMMAND), |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
258 DECLARE_VREG(DMA_GUI_STATUS), |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
259 DECLARE_VREG(DMA_GUI_ACT_DSCRPTR), |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
260 DECLARE_VREG(DMA_VID_SRC_ADDR), |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
261 DECLARE_VREG(DMA_VID_DST_ADDR), |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
262 DECLARE_VREG(DMA_VID_COMMAND), |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
263 DECLARE_VREG(DMA_VID_STATUS), |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
264 DECLARE_VREG(DMA_VID_ACT_DSCRPTR), |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
265 #endif |
22850 | 266 }; |
267 | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
268 #define R_FAMILY 0x000000FF |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
269 #define R_100 0x00000001 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
270 #define R_120 0x00000002 |
25272
21bd7360eb03
sync with vidix.sf.net r318: resolve bitfield collision in vidix radeon driver (patch by Guillaume Lecerf)
ben
parents:
23652
diff
changeset
|
271 #define R_150 0x00000004 |
21bd7360eb03
sync with vidix.sf.net r318: resolve bitfield collision in vidix radeon driver (patch by Guillaume Lecerf)
ben
parents:
23652
diff
changeset
|
272 #define R_200 0x00000008 |
21bd7360eb03
sync with vidix.sf.net r318: resolve bitfield collision in vidix radeon driver (patch by Guillaume Lecerf)
ben
parents:
23652
diff
changeset
|
273 #define R_250 0x00000010 |
21bd7360eb03
sync with vidix.sf.net r318: resolve bitfield collision in vidix radeon driver (patch by Guillaume Lecerf)
ben
parents:
23652
diff
changeset
|
274 #define R_280 0x00000020 |
21bd7360eb03
sync with vidix.sf.net r318: resolve bitfield collision in vidix radeon driver (patch by Guillaume Lecerf)
ben
parents:
23652
diff
changeset
|
275 #define R_300 0x00000040 |
21bd7360eb03
sync with vidix.sf.net r318: resolve bitfield collision in vidix radeon driver (patch by Guillaume Lecerf)
ben
parents:
23652
diff
changeset
|
276 #define R_350 0x00000080 |
21bd7360eb03
sync with vidix.sf.net r318: resolve bitfield collision in vidix radeon driver (patch by Guillaume Lecerf)
ben
parents:
23652
diff
changeset
|
277 #define R_370 0x00000100 |
21bd7360eb03
sync with vidix.sf.net r318: resolve bitfield collision in vidix radeon driver (patch by Guillaume Lecerf)
ben
parents:
23652
diff
changeset
|
278 #define R_380 0x00000200 |
21bd7360eb03
sync with vidix.sf.net r318: resolve bitfield collision in vidix radeon driver (patch by Guillaume Lecerf)
ben
parents:
23652
diff
changeset
|
279 #define R_420 0x00000400 |
21bd7360eb03
sync with vidix.sf.net r318: resolve bitfield collision in vidix radeon driver (patch by Guillaume Lecerf)
ben
parents:
23652
diff
changeset
|
280 #define R_430 0x00000800 |
21bd7360eb03
sync with vidix.sf.net r318: resolve bitfield collision in vidix radeon driver (patch by Guillaume Lecerf)
ben
parents:
23652
diff
changeset
|
281 #define R_480 0x00001000 |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
282 #define R_OVL_SHIFT 0x01000000 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
283 #define R_INTEGRATED 0x02000000 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
284 #define R_PCIE 0x04000000 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
285 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
286 typedef struct ati_card_ids_s |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
287 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
288 unsigned short id; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
289 unsigned flags; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
290 }ati_card_ids_t; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
291 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
292 static const ati_card_ids_t ati_card_ids[] = |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
293 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
294 #ifdef RAGE128 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
295 /* |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
296 This driver should be compatible with Rage128 (pro) chips. |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
297 (include adaptive deinterlacing!!!). |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
298 Moreover: the same logic can be used with Mach64 chips. |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
299 (I mean: mach64xx, 3d rage, 3d rage IIc, 3D rage pro, 3d rage mobility). |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
300 but they are incompatible by i/o ports. So if enthusiasts will want |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
301 then they can redefine OUTREG and INREG macros and redefine OV0_* |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
302 constants. Also it seems that mach64 chips supports only: YUY2, YV12, UYVY |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
303 fourccs (422 and 420 formats only). |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
304 */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
305 /* Rage128 Pro GL */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
306 { DEVICE_ATI_RAGE_128_PA_PRO, 0 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
307 { DEVICE_ATI_RAGE_128_PB_PRO, 0 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
308 { DEVICE_ATI_RAGE_128_PC_PRO, 0 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
309 { DEVICE_ATI_RAGE_128_PD_PRO, 0 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
310 { DEVICE_ATI_RAGE_128_PE_PRO, 0 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
311 { DEVICE_ATI_RAGE_128_PF_PRO, 0 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
312 /* Rage128 Pro VR */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
313 { DEVICE_ATI_RAGE_128_PG_PRO, 0 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
314 { DEVICE_ATI_RAGE_128_PH_PRO, 0 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
315 { DEVICE_ATI_RAGE_128_PI_PRO, 0 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
316 { DEVICE_ATI_RAGE_128_PJ_PRO, 0 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
317 { DEVICE_ATI_RAGE_128_PK_PRO, 0 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
318 { DEVICE_ATI_RAGE_128_PL_PRO, 0 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
319 { DEVICE_ATI_RAGE_128_PM_PRO, 0 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
320 { DEVICE_ATI_RAGE_128_PN_PRO, 0 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
321 { DEVICE_ATI_RAGE_128_PO_PRO, 0 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
322 { DEVICE_ATI_RAGE_128_PP_PRO, 0 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
323 { DEVICE_ATI_RAGE_128_PQ_PRO, 0 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
324 { DEVICE_ATI_RAGE_128_PR_PRO, 0 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
325 { DEVICE_ATI_RAGE_128_PS_PRO, 0 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
326 { DEVICE_ATI_RAGE_128_PT_PRO, 0 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
327 { DEVICE_ATI_RAGE_128_PU_PRO, 0 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
328 { DEVICE_ATI_RAGE_128_PV_PRO, 0 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
329 { DEVICE_ATI_RAGE_128_PW_PRO, 0 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
330 { DEVICE_ATI_RAGE_128_PX_PRO, 0 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
331 /* Rage128 GL */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
332 { DEVICE_ATI_RAGE_128_RE_SG, 0 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
333 { DEVICE_ATI_RAGE_128_RF_SG, 0 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
334 { DEVICE_ATI_RAGE_128_RG, 0 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
335 { DEVICE_ATI_RAGE_128_RK_VR, 0 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
336 { DEVICE_ATI_RAGE_128_RL_VR, 0 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
337 { DEVICE_ATI_RAGE_128_SE_4X, 0 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
338 { DEVICE_ATI_RAGE_128_SF_4X, 0 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
339 { DEVICE_ATI_RAGE_128_SG_4X, 0 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
340 { DEVICE_ATI_RAGE_128_SH, 0 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
341 { DEVICE_ATI_RAGE_128_SK_4X, 0 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
342 { DEVICE_ATI_RAGE_128_SL_4X, 0 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
343 { DEVICE_ATI_RAGE_128_SM_4X, 0 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
344 { DEVICE_ATI_RAGE_128_4X, 0 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
345 { DEVICE_ATI_RAGE_128_PRO, 0 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
346 { DEVICE_ATI_RAGE_128_PRO2, 0 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
347 { DEVICE_ATI_RAGE_128_PRO3, 0 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
348 /* these seem to be based on rage 128 instead of mach64 */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
349 { DEVICE_ATI_RAGE_MOBILITY_M3, 0 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
350 { DEVICE_ATI_RAGE_MOBILITY_M32, 0 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
351 #else |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
352 /* Radeon1 (indeed: Rage 256 Pro ;) */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
353 { DEVICE_ATI_RADEON_R100_QD, R_100|R_OVL_SHIFT }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
354 { DEVICE_ATI_RADEON_R100_QE, R_100|R_OVL_SHIFT }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
355 { DEVICE_ATI_RADEON_R100_QF, R_100|R_OVL_SHIFT }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
356 { DEVICE_ATI_RADEON_R100_QG, R_100|R_OVL_SHIFT }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
357 { DEVICE_ATI_RADEON_IGP_320, R_150|R_OVL_SHIFT|R_INTEGRATED }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
358 { DEVICE_ATI_RADEON_MOBILITY_U1, R_150|R_OVL_SHIFT|R_INTEGRATED }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
359 { DEVICE_ATI_RADEON_RV100_QY, R_120|R_OVL_SHIFT }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
360 { DEVICE_ATI_RADEON_RV100_QZ, R_120|R_OVL_SHIFT }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
361 { DEVICE_ATI_RADEON_MOBILITY_M7, R_150|R_OVL_SHIFT }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
362 { DEVICE_ATI_RADEON_RV200_LX, R_150|R_OVL_SHIFT }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
363 { DEVICE_ATI_RADEON_MOBILITY_M6, R_120|R_OVL_SHIFT }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
364 { DEVICE_ATI_RADEON_MOBILITY_M62, R_120|R_OVL_SHIFT }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
365 /* Radeon2 (indeed: Rage 512 Pro ;) */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
366 { DEVICE_ATI_R200_BB_RADEON, R_200 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
367 { DEVICE_ATI_R200_BC_RADEON, R_200 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
368 { DEVICE_ATI_RADEON_R200_QH, R_200 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
369 { DEVICE_ATI_RADEON_R200_QI, R_200 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
370 { DEVICE_ATI_RADEON_R200_QJ, R_200 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
371 { DEVICE_ATI_RADEON_R200_QK, R_200 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
372 { DEVICE_ATI_RADEON_R200_QL, R_200 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
373 { DEVICE_ATI_RADEON_R200_QM, R_200 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
374 { DEVICE_ATI_RADEON_R200_QN, R_200 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
375 { DEVICE_ATI_RADEON_R200_QO, R_200 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
376 { DEVICE_ATI_RADEON_R200_QH2, R_200 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
377 { DEVICE_ATI_RADEON_R200_QI2, R_200 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
378 { DEVICE_ATI_RADEON_R200_QJ2, R_200 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
379 { DEVICE_ATI_RADEON_R200_QK2, R_200 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
380 { DEVICE_ATI_RADEON_R200_QL2, R_200 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
381 { DEVICE_ATI_RADEON_RV200_QW, R_150|R_OVL_SHIFT }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
382 { DEVICE_ATI_RADEON_RV200_QX, R_150|R_OVL_SHIFT }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
383 { DEVICE_ATI_RADEON_IGP330_340_350,R_200|R_INTEGRATED }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
384 { DEVICE_ATI_RADEON_IGP_330M_340M_350M,R_200|R_INTEGRATED }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
385 { DEVICE_ATI_RADEON_RV250_IG, R_250|R_OVL_SHIFT }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
386 { DEVICE_ATI_RADEON_7000_IGP, R_250|R_OVL_SHIFT|R_INTEGRATED }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
387 { DEVICE_ATI_RADEON_MOBILITY_7000, R_250|R_OVL_SHIFT|R_INTEGRATED }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
388 { DEVICE_ATI_RADEON_RV250_ID, R_250|R_OVL_SHIFT }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
389 { DEVICE_ATI_RADEON_RV250_IE, R_250|R_OVL_SHIFT }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
390 { DEVICE_ATI_RADEON_RV250_IF, R_250|R_OVL_SHIFT }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
391 { DEVICE_ATI_RADEON_RV250_IG, R_250|R_OVL_SHIFT }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
392 { DEVICE_ATI_RADEON_R250_LD, R_250|R_OVL_SHIFT }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
393 { DEVICE_ATI_RADEON_R250_LE, R_250|R_OVL_SHIFT }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
394 { DEVICE_ATI_RADEON_R250_MOBILITY, R_250|R_OVL_SHIFT }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
395 { DEVICE_ATI_RADEON_R250_LG, R_250|R_OVL_SHIFT }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
396 { DEVICE_ATI_RV250_RADEON_9000, R_250|R_OVL_SHIFT }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
397 { DEVICE_ATI_RADEON_RV250_RADEON2, R_250|R_OVL_SHIFT }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
398 { DEVICE_ATI_RV280_RADEON_9200, R_280 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
399 { DEVICE_ATI_RV280_RADEON_92002, R_280 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
400 { DEVICE_ATI_RV280_RADEON_92003, R_280 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
401 { DEVICE_ATI_RV280_RADEON_92004, R_280 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
402 { DEVICE_ATI_RV280_RADEON_92005, R_280 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
403 { DEVICE_ATI_RV280_RADEON_92006, R_280 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
404 { DEVICE_ATI_RV280_RADEON_92007, R_280 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
405 { DEVICE_ATI_M9_5C61_RADEON, R_280 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
406 { DEVICE_ATI_M9_5C63_RADEON, R_280 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
407 /* Radeon3 (indeed: Rage 1024 Pro ;) */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
408 { DEVICE_ATI_R300_AG_FIREGL, R_300 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
409 { DEVICE_ATI_RADEON_R300_ND, R_300 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
410 { DEVICE_ATI_RADEON_R300_NE, R_300 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
411 { DEVICE_ATI_RADEON_R300_NG, R_300 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
412 { DEVICE_ATI_R300_AD_RADEON, R_300 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
413 { DEVICE_ATI_R300_AE_RADEON, R_300 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
414 { DEVICE_ATI_R300_AF_RADEON, R_300 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
415 { DEVICE_ATI_RADEON_9100_IGP2, R_300|R_OVL_SHIFT|R_INTEGRATED }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
416 { DEVICE_ATI_RS300M_AGP_RADEON, R_300|R_INTEGRATED }, |
23124
408e7e8d7121
support for some onboard X200 GPU (patch by rjoco77@kezdionline.ro)
ben
parents:
23065
diff
changeset
|
417 { DEVICE_ATI_RS482_RADEON_XPRESS, R_350|R_INTEGRATED }, |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
418 { DEVICE_ATI_R350_AH_RADEON, R_350 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
419 { DEVICE_ATI_R350_AI_RADEON, R_350 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
420 { DEVICE_ATI_R350_AJ_RADEON, R_350 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
421 { DEVICE_ATI_R350_AK_FIRE, R_350 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
422 { DEVICE_ATI_RADEON_R350_RADEON2, R_350 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
423 { DEVICE_ATI_RADEON_R350_RADEON3, R_350 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
424 { DEVICE_ATI_RV350_NJ_RADEON, R_350 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
425 { DEVICE_ATI_R350_NK_FIRE, R_350 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
426 { DEVICE_ATI_RV350_AP_RADEON, R_350 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
427 { DEVICE_ATI_RV350_AQ_RADEON, R_350 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
428 { DEVICE_ATI_RV350_AR_RADEON, R_350 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
429 { DEVICE_ATI_RV350_AS_RADEON, R_350 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
430 { DEVICE_ATI_RV350_AT_FIRE, R_350 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
431 { DEVICE_ATI_RV350_AU_FIRE, R_350 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
432 { DEVICE_ATI_RV350_AV_FIRE, R_350 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
433 { DEVICE_ATI_RV350_AW_FIRE, R_350 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
434 { DEVICE_ATI_RV350_MOBILITY_RADEON, R_350 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
435 { DEVICE_ATI_RV350_NF_RADEON, R_300 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
436 { DEVICE_ATI_RV350_NJ_RADEON, R_300 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
437 { DEVICE_ATI_RV350_AS_RADEON2, R_350 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
438 { DEVICE_ATI_M10_NQ_RADEON, R_350 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
439 { DEVICE_ATI_M10_NQ_RADEON2, R_350 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
440 { DEVICE_ATI_RV350_MOBILITY_RADEON2, R_350 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
441 { DEVICE_ATI_M10_NS_RADEON, R_350 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
442 { DEVICE_ATI_M10_NT_FIREGL, R_350 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
443 { DEVICE_ATI_M11_NV_FIREGL, R_350 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
444 { DEVICE_ATI_RV370_5B60_RADEON, R_370|R_PCIE }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
445 { DEVICE_ATI_RV370_SAPPHIRE_X550, R_370 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
446 { DEVICE_ATI_RV370_5B64_FIREGL, R_370|R_PCIE }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
447 { DEVICE_ATI_RV370_5B65_FIREGL, R_370|R_PCIE }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
448 { DEVICE_ATI_M24_1P_RADEON, R_370 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
449 { DEVICE_ATI_M22_RADEON_MOBILITY, R_370 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
450 { DEVICE_ATI_M24_1T_FIREGL, R_370 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
451 { DEVICE_ATI_M24_RADEON_MOBILITY, R_370 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
452 { DEVICE_ATI_RV370_RADEON_X300SE, R_370 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
453 { DEVICE_ATI_RV370_SECONDARY_SAPPHIRE, R_370 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
454 { DEVICE_ATI_RV370_5B64_FIREGL2, R_370 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
455 { DEVICE_ATI_RV380_0X3E50_RADEON, R_380|R_PCIE }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
456 { DEVICE_ATI_RV380_0X3E54_FIREGL, R_380|R_PCIE }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
457 { DEVICE_ATI_RV380_RADEON_X600, R_380|R_PCIE }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
458 { DEVICE_ATI_RV380_RADEON_X6002, R_380 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
459 { DEVICE_ATI_RV380_RADEON_X6003, R_380 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
460 { DEVICE_ATI_RV410_FIREGL_V5000, R_420 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
461 { DEVICE_ATI_RV410_FIREGL_V3300, R_420 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
462 { DEVICE_ATI_RV410_RADEON_X700XT, R_420 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
463 { DEVICE_ATI_RV410_RADEON_X700, R_420|R_PCIE }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
464 { DEVICE_ATI_RV410_RADEON_X700SE, R_420 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
465 { DEVICE_ATI_RV410_RADEON_X7002, R_420|R_PCIE }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
466 { DEVICE_ATI_RV410_RADEON_X7003, R_420 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
467 { DEVICE_ATI_RV410_RADEON_X7004, R_420|R_PCIE }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
468 { DEVICE_ATI_RV410_RADEON_X7005, R_420|R_PCIE }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
469 { DEVICE_ATI_M26_MOBILITY_FIREGL, R_420 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
470 { DEVICE_ATI_M26_MOBILITY_FIREGL2, R_420 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
471 { DEVICE_ATI_M26_RADEON_MOBILITY, R_420 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
472 { DEVICE_ATI_M26_RADEON_MOBILITY2, R_420 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
473 { DEVICE_ATI_RADEON_MOBILITY_X700, R_420 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
474 { DEVICE_ATI_R420_JH_RADEON, R_420|R_PCIE }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
475 { DEVICE_ATI_R420_JI_RADEON, R_420|R_PCIE }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
476 { DEVICE_ATI_R420_JJ_RADEON, R_420|R_PCIE }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
477 { DEVICE_ATI_R420_JK_RADEON, R_420|R_PCIE }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
478 { DEVICE_ATI_R420_JL_RADEON, R_420|R_PCIE }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
479 { DEVICE_ATI_R420_JM_FIREGL, R_420|R_PCIE }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
480 { DEVICE_ATI_M18_JN_RADEON, R_420|R_PCIE }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
481 { DEVICE_ATI_R420_JP_RADEON, R_420|R_PCIE }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
482 { DEVICE_ATI_R420_RADEON_X800, R_420|R_PCIE }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
483 { DEVICE_ATI_R420_RADEON_X8002, R_420|R_PCIE }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
484 { DEVICE_ATI_R420_RADEON_X8003, R_420|R_PCIE }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
485 { DEVICE_ATI_R420_RADEON_X8004, R_420|R_PCIE }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
486 { DEVICE_ATI_R420_RADEON_X8005, R_420|R_PCIE }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
487 { DEVICE_ATI_R420_JM_FIREGL, R_420|R_PCIE }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
488 { DEVICE_ATI_R423_5F57_RADEON, R_420|R_PCIE }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
489 { DEVICE_ATI_R423_5F57_RADEON2, R_420|R_PCIE }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
490 { DEVICE_ATI_R423_UH_RADEON, R_420|R_PCIE }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
491 { DEVICE_ATI_R423_UI_RADEON, R_420|R_PCIE }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
492 { DEVICE_ATI_R423_UJ_RADEON, R_420|R_PCIE }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
493 { DEVICE_ATI_R423_UK_RADEON, R_420|R_PCIE }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
494 { DEVICE_ATI_R423_FIRE_GL, R_420|R_PCIE }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
495 { DEVICE_ATI_R423_UQ_FIREGL, R_420|R_PCIE }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
496 { DEVICE_ATI_R423_UR_FIREGL, R_420|R_PCIE }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
497 { DEVICE_ATI_R423_UT_FIREGL, R_420|R_PCIE }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
498 { DEVICE_ATI_R423_UI_RADEON2, R_420|R_PCIE }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
499 { DEVICE_ATI_R423GL_SE_ATI_FIREGL, R_420|R_PCIE }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
500 { DEVICE_ATI_R423_RADEON_X800XT, R_420|R_PCIE }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
501 { DEVICE_ATI_RADEON_R423_UK, R_420|R_PCIE }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
502 { DEVICE_ATI_M28_RADEON_MOBILITY, R_420 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
503 { DEVICE_ATI_M28_MOBILITY_FIREGL, R_420 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
504 { DEVICE_ATI_MOBILITY_RADEON_X800, R_420 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
505 { DEVICE_ATI_R430_RADEON_X800, R_430|R_PCIE }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
506 { DEVICE_ATI_R430_RADEON_X8002, R_430|R_PCIE }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
507 { DEVICE_ATI_R430_RADEON_X8003, R_430|R_PCIE }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
508 { DEVICE_ATI_R430_RADEON_X8004, R_430|R_PCIE }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
509 { DEVICE_ATI_R480_RADEON_X800, R_480 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
510 { DEVICE_ATI_R480_RADEON_X8002, R_480 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
511 { DEVICE_ATI_R480_RADEON_X850XT, R_480 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
512 { DEVICE_ATI_R480_RADEON_X850PRO, R_480 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
513 { DEVICE_ATI_R481_RADEON_X850XT_PE, R_480|R_PCIE }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
514 { DEVICE_ATI_R480_RADEON_X850XT2, R_480 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
515 { DEVICE_ATI_R480_RADEON_X850PRO2, R_480 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
516 { DEVICE_ATI_R481_RADEON_X850XT_PE2, R_480|R_PCIE }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
517 { DEVICE_ATI_R480_RADEON_X850XT3, R_480|R_PCIE }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
518 { DEVICE_ATI_R480_RADEON_X850XT4, R_480|R_PCIE }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
519 { DEVICE_ATI_R480_RADEON_X850XT5, R_480|R_PCIE }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
520 { DEVICE_ATI_R480_RADEON_X850XT6, R_480|R_PCIE }, |
22850 | 521 #endif |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
522 }; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
523 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
524 |
22850 | 525 static void * radeon_mmio_base = 0; |
526 static void * radeon_mem_base = 0; | |
527 static int32_t radeon_overlay_off = 0; | |
528 static uint32_t radeon_ram_size = 0; | |
529 | |
530 #define GETREG(TYPE,PTR,OFFZ) (*((volatile TYPE*)((PTR)+(OFFZ)))) | |
531 #define SETREG(TYPE,PTR,OFFZ,VAL) (*((volatile TYPE*)((PTR)+(OFFZ))))=VAL | |
532 | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
533 #define INREG8(addr) GETREG(uint8_t,(uint8_t *)(radeon_mmio_base),addr) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
534 #define OUTREG8(addr,val) SETREG(uint8_t,(uint8_t *)(radeon_mmio_base),addr,val) |
22850 | 535 static inline uint32_t INREG (uint32_t addr) { |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
536 uint32_t tmp = GETREG(uint32_t,(uint8_t *)(radeon_mmio_base),addr); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
537 return le2me_32(tmp); |
22850 | 538 } |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
539 #define OUTREG(addr,val) SETREG(uint32_t,(uint8_t *)(radeon_mmio_base),addr,le2me_32(val)) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
540 #define OUTREGP(addr,val,mask) \ |
22850 | 541 do { \ |
542 unsigned int _tmp = INREG(addr); \ | |
543 _tmp &= (mask); \ | |
544 _tmp |= (val); \ | |
545 OUTREG(addr, _tmp); \ | |
546 } while (0) | |
547 | |
548 static __inline__ uint32_t INPLL(uint32_t addr) | |
549 { | |
550 OUTREG8(CLOCK_CNTL_INDEX, addr & 0x0000001f); | |
26753
502f04b67653
cosmetics: Remove useless parentheses from return statements.
diego
parents:
26714
diff
changeset
|
551 return INREG(CLOCK_CNTL_DATA); |
22850 | 552 } |
553 | |
554 #define OUTPLL(addr,val) OUTREG8(CLOCK_CNTL_INDEX, (addr & 0x0000001f) | 0x00000080); \ | |
555 OUTREG(CLOCK_CNTL_DATA, val) | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
556 #define OUTPLLP(addr,val,mask) \ |
22850 | 557 do { \ |
558 unsigned int _tmp = INPLL(addr); \ | |
559 _tmp &= (mask); \ | |
560 _tmp |= (val); \ | |
561 OUTPLL(addr, _tmp); \ | |
562 } while (0) | |
563 | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
564 #ifndef RAGE128 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
565 enum radeon_montype |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
566 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
567 MT_NONE, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
568 MT_CRT, /* CRT-(cathode ray tube) analog monitor. (15-pin VGA connector) */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
569 MT_LCD, /* Liquid Crystal Display */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
570 MT_DFP, /* DFP-digital flat panel monitor. (24-pin DVI-I connector) */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
571 MT_CTV, /* Composite TV out (not in VE) */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
572 MT_STV /* S-Video TV out (probably in VE only) */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
573 }; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
574 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
575 typedef struct radeon_info_s |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
576 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
577 int hasCRTC2; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
578 int crtDispType; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
579 int dviDispType; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
580 }rinfo_t; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
581 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
582 static rinfo_t rinfo; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
583 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
584 static char * GET_MON_NAME(int type) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
585 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
586 char *pret; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
587 switch(type) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
588 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
589 case MT_NONE: pret = "no"; break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
590 case MT_CRT: pret = "CRT"; break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
591 case MT_DFP: pret = "DFP"; break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
592 case MT_LCD: pret = "LCD"; break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
593 case MT_CTV: pret = "CTV"; break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
594 case MT_STV: pret = "STV"; break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
595 default: pret = "Unknown"; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
596 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
597 return pret; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
598 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
599 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
600 static void radeon_get_moninfo (rinfo_t *rinfo) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
601 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
602 unsigned int tmp; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
603 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
604 tmp = INREG(RADEON_BIOS_4_SCRATCH); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
605 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
606 if (rinfo->hasCRTC2) { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
607 /* primary DVI port */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
608 if (tmp & 0x08) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
609 rinfo->dviDispType = MT_DFP; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
610 else if (tmp & 0x4) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
611 rinfo->dviDispType = MT_LCD; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
612 else if (tmp & 0x200) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
613 rinfo->dviDispType = MT_CRT; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
614 else if (tmp & 0x10) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
615 rinfo->dviDispType = MT_CTV; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
616 else if (tmp & 0x20) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
617 rinfo->dviDispType = MT_STV; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
618 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
619 /* secondary CRT port */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
620 if (tmp & 0x2) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
621 rinfo->crtDispType = MT_CRT; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
622 else if (tmp & 0x800) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
623 rinfo->crtDispType = MT_DFP; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
624 else if (tmp & 0x400) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
625 rinfo->crtDispType = MT_LCD; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
626 else if (tmp & 0x1000) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
627 rinfo->crtDispType = MT_CTV; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
628 else if (tmp & 0x2000) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
629 rinfo->crtDispType = MT_STV; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
630 } else { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
631 rinfo->dviDispType = MT_NONE; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
632 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
633 tmp = INREG(FP_GEN_CNTL); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
634 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
635 if (tmp & FP_EN_TMDS) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
636 rinfo->crtDispType = MT_DFP; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
637 else |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
638 rinfo->crtDispType = MT_CRT; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
639 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
640 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
641 #endif |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
642 |
22850 | 643 static uint32_t radeon_vid_get_dbpp( void ) |
644 { | |
645 uint32_t dbpp,retval; | |
646 dbpp = (INREG(CRTC_GEN_CNTL)>>8)& 0xF; | |
647 switch(dbpp) | |
648 { | |
649 case DST_8BPP: retval = 8; break; | |
650 case DST_15BPP: retval = 15; break; | |
651 case DST_16BPP: retval = 16; break; | |
652 case DST_24BPP: retval = 24; break; | |
653 default: retval=32; break; | |
654 } | |
655 return retval; | |
656 } | |
657 | |
658 static int radeon_is_dbl_scan( void ) | |
659 { | |
660 return (INREG(CRTC_GEN_CNTL))&CRTC_DBL_SCAN_EN; | |
661 } | |
662 | |
663 static int radeon_is_interlace( void ) | |
664 { | |
665 return (INREG(CRTC_GEN_CNTL))&CRTC_INTERLACE_EN; | |
666 } | |
667 | |
668 static uint32_t radeon_get_xres( void ) | |
669 { | |
670 uint32_t xres,h_total; | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
671 #ifndef RAGE128 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
672 if(rinfo.hasCRTC2 && |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
673 (rinfo.dviDispType == MT_CTV || rinfo.dviDispType == MT_STV)) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
674 h_total = INREG(CRTC2_H_TOTAL_DISP); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
675 else |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
676 #endif |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
677 h_total = INREG(CRTC_H_TOTAL_DISP); |
22850 | 678 xres = (h_total >> 16) & 0xffff; |
679 return (xres + 1)*8; | |
680 } | |
681 | |
682 static uint32_t radeon_get_yres( void ) | |
683 { | |
684 uint32_t yres,v_total; | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
685 #ifndef RAGE128 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
686 if(rinfo.hasCRTC2 && |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
687 (rinfo.dviDispType == MT_CTV || rinfo.dviDispType == MT_STV)) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
688 v_total = INREG(CRTC2_V_TOTAL_DISP); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
689 else |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
690 #endif |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
691 v_total = INREG(CRTC_V_TOTAL_DISP); |
22850 | 692 yres = (v_total >> 16) & 0xffff; |
693 return yres + 1; | |
694 } | |
695 | |
696 static void radeon_wait_vsync(void) | |
697 { | |
698 int i; | |
699 | |
700 OUTREG(GEN_INT_STATUS, VSYNC_INT_AK); | |
701 for (i = 0; i < 2000000; i++) | |
702 { | |
703 if (INREG(GEN_INT_STATUS) & VSYNC_INT) break; | |
704 } | |
705 } | |
706 | |
707 #ifdef RAGE128 | |
708 static void _radeon_engine_idle(void); | |
709 static void _radeon_fifo_wait(unsigned); | |
710 #define radeon_engine_idle() _radeon_engine_idle() | |
711 #define radeon_fifo_wait(entries) _radeon_fifo_wait(entries) | |
712 /* Flush all dirty data in the Pixel Cache to memory. */ | |
713 static __inline__ void radeon_engine_flush ( void ) | |
714 { | |
715 unsigned i; | |
716 | |
717 OUTREGP(PC_NGUI_CTLSTAT, PC_FLUSH_ALL, ~PC_FLUSH_ALL); | |
718 for (i = 0; i < 2000000; i++) { | |
719 if (!(INREG(PC_NGUI_CTLSTAT) & PC_BUSY)) break; | |
720 } | |
721 } | |
722 | |
723 /* Reset graphics card to known state. */ | |
724 static void radeon_engine_reset( void ) | |
725 { | |
726 uint32_t clock_cntl_index; | |
727 uint32_t mclk_cntl; | |
728 uint32_t gen_reset_cntl; | |
729 | |
730 radeon_engine_flush(); | |
731 | |
732 clock_cntl_index = INREG(CLOCK_CNTL_INDEX); | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
733 mclk_cntl = INPLL(MCLK_CNTL); |
22850 | 734 |
735 OUTPLL(MCLK_CNTL, mclk_cntl | FORCE_GCP | FORCE_PIPE3D_CP); | |
736 | |
737 gen_reset_cntl = INREG(GEN_RESET_CNTL); | |
738 | |
739 OUTREG(GEN_RESET_CNTL, gen_reset_cntl | SOFT_RESET_GUI); | |
740 INREG(GEN_RESET_CNTL); | |
741 OUTREG(GEN_RESET_CNTL, | |
742 gen_reset_cntl & (uint32_t)(~SOFT_RESET_GUI)); | |
743 INREG(GEN_RESET_CNTL); | |
744 | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
745 OUTPLL(MCLK_CNTL, mclk_cntl); |
22850 | 746 OUTREG(CLOCK_CNTL_INDEX, clock_cntl_index); |
747 OUTREG(GEN_RESET_CNTL, gen_reset_cntl); | |
748 } | |
749 #else | |
750 | |
751 static __inline__ void radeon_engine_flush ( void ) | |
752 { | |
753 int i; | |
754 | |
755 /* initiate flush */ | |
756 OUTREGP(RB2D_DSTCACHE_CTLSTAT, RB2D_DC_FLUSH_ALL, | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
757 ~RB2D_DC_FLUSH_ALL); |
22850 | 758 |
759 for (i=0; i < 2000000; i++) { | |
760 if (!(INREG(RB2D_DSTCACHE_CTLSTAT) & RB2D_DC_BUSY)) | |
761 break; | |
762 } | |
763 } | |
764 | |
765 static void _radeon_engine_idle(void); | |
766 static void _radeon_fifo_wait(unsigned); | |
767 #define radeon_engine_idle() _radeon_engine_idle() | |
768 #define radeon_fifo_wait(entries) _radeon_fifo_wait(entries) | |
769 | |
770 static void radeon_engine_reset( void ) | |
771 { | |
772 uint32_t clock_cntl_index, mclk_cntl, rbbm_soft_reset; | |
773 | |
774 radeon_engine_flush (); | |
775 | |
776 clock_cntl_index = INREG(CLOCK_CNTL_INDEX); | |
777 mclk_cntl = INPLL(MCLK_CNTL); | |
778 | |
779 OUTPLL(MCLK_CNTL, (mclk_cntl | | |
780 FORCEON_MCLKA | | |
781 FORCEON_MCLKB | | |
782 FORCEON_YCLKA | | |
783 FORCEON_YCLKB | | |
784 FORCEON_MC | | |
785 FORCEON_AIC)); | |
786 rbbm_soft_reset = INREG(RBBM_SOFT_RESET); | |
787 | |
788 OUTREG(RBBM_SOFT_RESET, rbbm_soft_reset | | |
789 SOFT_RESET_CP | | |
790 SOFT_RESET_HI | | |
791 SOFT_RESET_SE | | |
792 SOFT_RESET_RE | | |
793 SOFT_RESET_PP | | |
794 SOFT_RESET_E2 | | |
795 SOFT_RESET_RB | | |
796 SOFT_RESET_HDP); | |
797 INREG(RBBM_SOFT_RESET); | |
798 OUTREG(RBBM_SOFT_RESET, rbbm_soft_reset & (uint32_t) | |
799 ~(SOFT_RESET_CP | | |
800 SOFT_RESET_HI | | |
801 SOFT_RESET_SE | | |
802 SOFT_RESET_RE | | |
803 SOFT_RESET_PP | | |
804 SOFT_RESET_E2 | | |
805 SOFT_RESET_RB | | |
806 SOFT_RESET_HDP)); | |
807 INREG(RBBM_SOFT_RESET); | |
808 | |
809 OUTPLL(MCLK_CNTL, mclk_cntl); | |
810 OUTREG(CLOCK_CNTL_INDEX, clock_cntl_index); | |
811 OUTREG(RBBM_SOFT_RESET, rbbm_soft_reset); | |
812 | |
813 return; | |
814 } | |
815 #endif | |
816 static void radeon_engine_restore( void ) | |
817 { | |
818 #ifndef RAGE128 | |
819 int pitch64; | |
820 uint32_t xres,yres,bpp; | |
821 radeon_fifo_wait(1); | |
822 xres = radeon_get_xres(); | |
823 yres = radeon_get_yres(); | |
824 bpp = radeon_vid_get_dbpp(); | |
825 /* turn of all automatic flushing - we'll do it all */ | |
826 OUTREG(RB2D_DSTCACHE_MODE, 0); | |
827 | |
828 pitch64 = ((xres * (bpp / 8) + 0x3f)) >> 6; | |
829 | |
830 radeon_fifo_wait(1); | |
831 OUTREG(DEFAULT_OFFSET, (INREG(DEFAULT_OFFSET) & 0xC0000000) | | |
832 (pitch64 << 22)); | |
833 | |
834 radeon_fifo_wait(1); | |
835 #if defined(WORDS_BIGENDIAN) | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
836 OUTREGP(DP_DATATYPE, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
837 HOST_BIG_ENDIAN_EN, ~HOST_BIG_ENDIAN_EN); |
22850 | 838 #else |
839 OUTREGP(DP_DATATYPE, 0, ~HOST_BIG_ENDIAN_EN); | |
840 #endif | |
841 | |
842 radeon_fifo_wait(1); | |
843 OUTREG(DEFAULT_SC_BOTTOM_RIGHT, (DEFAULT_SC_RIGHT_MAX | |
844 | DEFAULT_SC_BOTTOM_MAX)); | |
845 radeon_fifo_wait(1); | |
846 OUTREG(DP_GUI_MASTER_CNTL, (INREG(DP_GUI_MASTER_CNTL) | |
847 | GMC_BRUSH_SOLID_COLOR | |
848 | GMC_SRC_DATATYPE_COLOR)); | |
849 | |
850 radeon_fifo_wait(7); | |
851 OUTREG(DST_LINE_START, 0); | |
852 OUTREG(DST_LINE_END, 0); | |
853 OUTREG(DP_BRUSH_FRGD_CLR, 0xffffffff); | |
854 OUTREG(DP_BRUSH_BKGD_CLR, 0x00000000); | |
855 OUTREG(DP_SRC_FRGD_CLR, 0xffffffff); | |
856 OUTREG(DP_SRC_BKGD_CLR, 0x00000000); | |
857 OUTREG(DP_WRITE_MASK, 0xffffffff); | |
858 | |
859 radeon_engine_idle(); | |
860 #endif | |
861 } | |
862 #ifdef RAGE128 | |
863 static void _radeon_fifo_wait (unsigned entries) | |
864 { | |
865 unsigned i; | |
866 | |
867 for(;;) | |
868 { | |
869 for (i=0; i<2000000; i++) | |
870 if ((INREG(GUI_STAT) & GUI_FIFOCNT_MASK) >= entries) | |
871 return; | |
872 radeon_engine_reset(); | |
873 radeon_engine_restore(); | |
874 } | |
875 } | |
876 | |
877 static void _radeon_engine_idle ( void ) | |
878 { | |
879 unsigned i; | |
880 | |
881 /* ensure FIFO is empty before waiting for idle */ | |
882 radeon_fifo_wait (64); | |
883 for(;;) | |
884 { | |
885 for (i=0; i<2000000; i++) { | |
886 if ((INREG(GUI_STAT) & GUI_ACTIVE) == 0) { | |
887 radeon_engine_flush (); | |
888 return; | |
889 } | |
890 } | |
891 radeon_engine_reset(); | |
892 radeon_engine_restore(); | |
893 } | |
894 } | |
895 #else | |
896 static void _radeon_fifo_wait (unsigned entries) | |
897 { | |
898 unsigned i; | |
899 | |
900 for(;;) | |
901 { | |
902 for (i=0; i<2000000; i++) | |
903 if ((INREG(RBBM_STATUS) & RBBM_FIFOCNT_MASK) >= entries) | |
904 return; | |
905 radeon_engine_reset(); | |
906 radeon_engine_restore(); | |
907 } | |
908 } | |
909 static void _radeon_engine_idle ( void ) | |
910 { | |
911 int i; | |
912 | |
913 /* ensure FIFO is empty before waiting for idle */ | |
914 radeon_fifo_wait (64); | |
915 for(;;) | |
916 { | |
917 for (i=0; i<2000000; i++) { | |
918 if (((INREG(RBBM_STATUS) & RBBM_ACTIVE)) == 0) { | |
919 radeon_engine_flush (); | |
920 return; | |
921 } | |
922 } | |
923 radeon_engine_reset(); | |
924 radeon_engine_restore(); | |
925 } | |
926 } | |
927 #endif | |
928 | |
929 #ifndef RAGE128 | |
930 /* Reference color space transform data */ | |
931 typedef struct tagREF_TRANSFORM | |
932 { | |
933 float RefLuma; | |
934 float RefRCb; | |
935 float RefRCr; | |
936 float RefGCb; | |
937 float RefGCr; | |
938 float RefBCb; | |
939 float RefBCr; | |
940 } REF_TRANSFORM; | |
941 | |
942 /* Parameters for ITU-R BT.601 and ITU-R BT.709 colour spaces */ | |
25718
8eddf6a9af7f
Make some radeon vidix driver tables static and const
reimar
parents:
25415
diff
changeset
|
943 static const REF_TRANSFORM trans[2] = |
22850 | 944 { |
945 {1.1678, 0.0, 1.6007, -0.3929, -0.8154, 2.0232, 0.0}, /* BT.601 */ | |
946 {1.1678, 0.0, 1.7980, -0.2139, -0.5345, 2.1186, 0.0} /* BT.709 */ | |
947 }; | |
948 /**************************************************************************** | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
949 * SetTransform * |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
950 * Function: Calculates and sets color space transform from supplied * |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
951 * reference transform, gamma, brightness, contrast, hue and * |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
952 * saturation. * |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
953 * Inputs: bright - brightness * |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
954 * cont - contrast * |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
955 * sat - saturation * |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
956 * hue - hue * |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
957 * red_intensity - intense of red component * |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
958 * green_intensity - intense of green component * |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
959 * blue_intensity - intense of blue component * |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
960 * ref - index to the table of refernce transforms * |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
961 * Outputs: NONE * |
22850 | 962 ****************************************************************************/ |
963 | |
964 static void radeon_set_transform(float bright, float cont, float sat, | |
965 float hue, float red_intensity, | |
966 float green_intensity,float blue_intensity, | |
967 unsigned ref) | |
968 { | |
969 float OvHueSin, OvHueCos; | |
970 float CAdjLuma, CAdjOff; | |
971 float RedAdj,GreenAdj,BlueAdj; | |
972 float CAdjRCb, CAdjRCr; | |
973 float CAdjGCb, CAdjGCr; | |
974 float CAdjBCb, CAdjBCr; | |
975 float OvLuma, OvROff, OvGOff, OvBOff; | |
976 float OvRCb, OvRCr; | |
977 float OvGCb, OvGCr; | |
978 float OvBCb, OvBCr; | |
979 float Loff = 64.0; | |
980 float Coff = 512.0f; | |
981 | |
982 uint32_t dwOvLuma, dwOvROff, dwOvGOff, dwOvBOff; | |
983 uint32_t dwOvRCb, dwOvRCr; | |
984 uint32_t dwOvGCb, dwOvGCr; | |
985 uint32_t dwOvBCb, dwOvBCr; | |
986 | |
987 if (ref >= 2) return; | |
988 | |
989 OvHueSin = sin((double)hue); | |
990 OvHueCos = cos((double)hue); | |
991 | |
992 CAdjLuma = cont * trans[ref].RefLuma; | |
993 CAdjOff = cont * trans[ref].RefLuma * bright * 1023.0; | |
994 RedAdj = cont * trans[ref].RefLuma * red_intensity * 1023.0; | |
995 GreenAdj = cont * trans[ref].RefLuma * green_intensity * 1023.0; | |
996 BlueAdj = cont * trans[ref].RefLuma * blue_intensity * 1023.0; | |
997 | |
998 CAdjRCb = sat * -OvHueSin * trans[ref].RefRCr; | |
999 CAdjRCr = sat * OvHueCos * trans[ref].RefRCr; | |
1000 CAdjGCb = sat * (OvHueCos * trans[ref].RefGCb - OvHueSin * trans[ref].RefGCr); | |
1001 CAdjGCr = sat * (OvHueSin * trans[ref].RefGCb + OvHueCos * trans[ref].RefGCr); | |
1002 CAdjBCb = sat * OvHueCos * trans[ref].RefBCb; | |
1003 CAdjBCr = sat * OvHueSin * trans[ref].RefBCb; | |
1004 | |
1005 OvLuma = CAdjLuma; | |
1006 OvRCb = CAdjRCb; | |
1007 OvRCr = CAdjRCr; | |
1008 OvGCb = CAdjGCb; | |
1009 OvGCr = CAdjGCr; | |
1010 OvBCb = CAdjBCb; | |
1011 OvBCr = CAdjBCr; | |
1012 OvROff = RedAdj + CAdjOff - | |
1013 OvLuma * Loff - (OvRCb + OvRCr) * Coff; | |
1014 OvGOff = GreenAdj + CAdjOff - | |
1015 OvLuma * Loff - (OvGCb + OvGCr) * Coff; | |
1016 OvBOff = BlueAdj + CAdjOff - | |
1017 OvLuma * Loff - (OvBCb + OvBCr) * Coff; | |
1018 | |
1019 dwOvROff = ((int)(OvROff * 2.0)) & 0x1fff; | |
1020 dwOvGOff = (int)(OvGOff * 2.0) & 0x1fff; | |
1021 dwOvBOff = (int)(OvBOff * 2.0) & 0x1fff; | |
1022 /* Whatever docs say about R200 having 3.8 format instead of 3.11 | |
1023 as in Radeon is a lie */ | |
23048 | 1024 |
22850 | 1025 dwOvLuma =(((int)(OvLuma * 2048.0))&0x7fff)<<17; |
1026 dwOvRCb = (((int)(OvRCb * 2048.0))&0x7fff)<<1; | |
1027 dwOvRCr = (((int)(OvRCr * 2048.0))&0x7fff)<<17; | |
1028 dwOvGCb = (((int)(OvGCb * 2048.0))&0x7fff)<<1; | |
1029 dwOvGCr = (((int)(OvGCr * 2048.0))&0x7fff)<<17; | |
1030 dwOvBCb = (((int)(OvBCb * 2048.0))&0x7fff)<<1; | |
1031 dwOvBCr = (((int)(OvBCr * 2048.0))&0x7fff)<<17; | |
23048 | 1032 |
22850 | 1033 OUTREG(OV0_LIN_TRANS_A, dwOvRCb | dwOvLuma); |
1034 OUTREG(OV0_LIN_TRANS_B, dwOvROff | dwOvRCr); | |
1035 OUTREG(OV0_LIN_TRANS_C, dwOvGCb | dwOvLuma); | |
1036 OUTREG(OV0_LIN_TRANS_D, dwOvGOff | dwOvGCr); | |
1037 OUTREG(OV0_LIN_TRANS_E, dwOvBCb | dwOvLuma); | |
1038 OUTREG(OV0_LIN_TRANS_F, dwOvBOff | dwOvBCr); | |
1039 } | |
1040 | |
1041 /* Gamma curve definition */ | |
1042 typedef struct | |
1043 { | |
1044 unsigned int gammaReg; | |
1045 unsigned int gammaSlope; | |
1046 unsigned int gammaOffset; | |
1047 }GAMMA_SETTINGS; | |
1048 | |
1049 /* Recommended gamma curve parameters */ | |
25718
8eddf6a9af7f
Make some radeon vidix driver tables static and const
reimar
parents:
25415
diff
changeset
|
1050 static const GAMMA_SETTINGS r200_def_gamma[18] = |
22850 | 1051 { |
1052 {OV0_GAMMA_0_F, 0x100, 0x0000}, | |
1053 {OV0_GAMMA_10_1F, 0x100, 0x0020}, | |
1054 {OV0_GAMMA_20_3F, 0x100, 0x0040}, | |
1055 {OV0_GAMMA_40_7F, 0x100, 0x0080}, | |
1056 {OV0_GAMMA_80_BF, 0x100, 0x0100}, | |
1057 {OV0_GAMMA_C0_FF, 0x100, 0x0100}, | |
1058 {OV0_GAMMA_100_13F, 0x100, 0x0200}, | |
1059 {OV0_GAMMA_140_17F, 0x100, 0x0200}, | |
1060 {OV0_GAMMA_180_1BF, 0x100, 0x0300}, | |
1061 {OV0_GAMMA_1C0_1FF, 0x100, 0x0300}, | |
1062 {OV0_GAMMA_200_23F, 0x100, 0x0400}, | |
1063 {OV0_GAMMA_240_27F, 0x100, 0x0400}, | |
1064 {OV0_GAMMA_280_2BF, 0x100, 0x0500}, | |
1065 {OV0_GAMMA_2C0_2FF, 0x100, 0x0500}, | |
1066 {OV0_GAMMA_300_33F, 0x100, 0x0600}, | |
1067 {OV0_GAMMA_340_37F, 0x100, 0x0600}, | |
1068 {OV0_GAMMA_380_3BF, 0x100, 0x0700}, | |
1069 {OV0_GAMMA_3C0_3FF, 0x100, 0x0700} | |
1070 }; | |
1071 | |
25718
8eddf6a9af7f
Make some radeon vidix driver tables static and const
reimar
parents:
25415
diff
changeset
|
1072 static const GAMMA_SETTINGS r100_def_gamma[6] = |
22850 | 1073 { |
1074 {OV0_GAMMA_0_F, 0x100, 0x0000}, | |
1075 {OV0_GAMMA_10_1F, 0x100, 0x0020}, | |
1076 {OV0_GAMMA_20_3F, 0x100, 0x0040}, | |
1077 {OV0_GAMMA_40_7F, 0x100, 0x0080}, | |
1078 {OV0_GAMMA_380_3BF, 0x100, 0x0100}, | |
1079 {OV0_GAMMA_3C0_3FF, 0x100, 0x0100} | |
1080 }; | |
1081 | |
1082 static void make_default_gamma_correction( void ) | |
1083 { | |
1084 size_t i; | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1085 if((besr.chip_flags & R_100)==R_100|| |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1086 (besr.chip_flags & R_120)==R_120|| |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1087 (besr.chip_flags & R_150)==R_150){ |
22850 | 1088 OUTREG(OV0_LIN_TRANS_A, 0x12A00000); |
1089 OUTREG(OV0_LIN_TRANS_B, 0x199018FE); | |
1090 OUTREG(OV0_LIN_TRANS_C, 0x12A0F9B0); | |
1091 OUTREG(OV0_LIN_TRANS_D, 0xF2F0043B); | |
1092 OUTREG(OV0_LIN_TRANS_E, 0x12A02050); | |
1093 OUTREG(OV0_LIN_TRANS_F, 0x0000174E); | |
1094 for(i=0; i<6; i++){ | |
1095 OUTREG(r100_def_gamma[i].gammaReg, | |
1096 (r100_def_gamma[i].gammaSlope<<16) | | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1097 r100_def_gamma[i].gammaOffset); |
22850 | 1098 } |
1099 } | |
1100 else{ | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1101 OUTREG(OV0_LIN_TRANS_A, 0x12a20000); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1102 OUTREG(OV0_LIN_TRANS_B, 0x198a190e); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1103 OUTREG(OV0_LIN_TRANS_C, 0x12a2f9da); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1104 OUTREG(OV0_LIN_TRANS_D, 0xf2fe0442); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1105 OUTREG(OV0_LIN_TRANS_E, 0x12a22046); |
22850 | 1106 OUTREG(OV0_LIN_TRANS_F, 0x175f); |
1107 /* Default Gamma, | |
1108 Of 18 segments for gamma cure, all segments in R200 are programmable, | |
1109 while only lower 4 and upper 2 segments are programmable in Radeon*/ | |
1110 for(i=0; i<18; i++){ | |
1111 OUTREG(r200_def_gamma[i].gammaReg, | |
1112 (r200_def_gamma[i].gammaSlope<<16) | | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1113 r200_def_gamma[i].gammaOffset); |
22850 | 1114 } |
1115 } | |
1116 } | |
1117 #endif | |
1118 | |
1119 static void radeon_vid_make_default(void) | |
1120 { | |
1121 #ifdef RAGE128 | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1122 besr.saturation = 0x0F; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1123 besr.brightness = 0; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1124 OUTREG(OV0_COLOUR_CNTL,0x000F0F00UL); /* Default brihgtness and saturation for Rage128 */ |
22850 | 1125 #else |
1126 make_default_gamma_correction(); | |
1127 #endif | |
1128 besr.deinterlace_pattern = 0x900AAAAA; | |
1129 OUTREG(OV0_DEINTERLACE_PATTERN,besr.deinterlace_pattern); | |
1130 besr.deinterlace_on=1; | |
1131 besr.double_buff=1; | |
1132 besr.ckey_on=0; | |
1133 besr.graphics_key_msk=0; | |
1134 besr.graphics_key_clr=0; | |
1135 besr.ckey_cntl = VIDEO_KEY_FN_TRUE|GRAPHIC_KEY_FN_TRUE|CMP_MIX_AND; | |
1136 } | |
1137 | |
1138 static int find_chip(unsigned chip_id) | |
1139 { | |
1140 unsigned i; | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1141 for(i = 0;i < sizeof(ati_card_ids)/sizeof(ati_card_ids_t);i++) |
22850 | 1142 { |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1143 if(chip_id == ati_card_ids[i].id) return i; |
22850 | 1144 } |
1145 return -1; | |
1146 } | |
1147 | |
1148 static pciinfo_t pci_info; | |
1149 static int probed=0; | |
1150 | |
22857
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
22850
diff
changeset
|
1151 static vidix_capability_t def_cap = |
22850 | 1152 { |
1153 #ifdef RAGE128 | |
1154 "BES driver for Rage128 cards", | |
1155 #else | |
1156 "BES driver for Radeon cards", | |
1157 #endif | |
1158 "Nick Kurshev", | |
1159 TYPE_OUTPUT | TYPE_FX, | |
1160 { 0, 0, 0, 0 }, | |
1161 2048, | |
1162 2048, | |
1163 4, | |
1164 4, | |
1165 -1, | |
1166 FLAG_UPSCALER | FLAG_DOWNSCALER | FLAG_EQUALIZER, | |
1167 VENDOR_ATI, | |
1168 0, | |
1169 { 0, 0, 0, 0} | |
1170 }; | |
1171 | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1172 #if !defined(RAGE128) && defined(HAVE_X11) |
22850 | 1173 static void probe_fireGL_driver(void) { |
1174 Display *dp = XOpenDisplay ((void*)0); | |
1175 int n = 0; | |
1176 char **extlist; | |
1177 if (dp==NULL) { | |
1178 return; | |
1179 } | |
1180 extlist = XListExtensions (dp, &n); | |
1181 XCloseDisplay (dp); | |
1182 if (extlist) { | |
1183 int i; | |
1184 int ext_fgl = 0, ext_fglrx = 0; | |
1185 for (i = 0; i < n; i++) { | |
1186 if (!strcmp(extlist[i], "ATIFGLEXTENSION")) ext_fgl = 1; | |
1187 if (!strcmp(extlist[i], "ATIFGLRXDRI")) ext_fglrx = 1; | |
1188 } | |
1189 if (ext_fgl) { | |
1190 printf(RADEON_MSG" ATI FireGl driver detected"); | |
1191 firegl_shift = 0x500000; | |
1192 if (!ext_fglrx) { | |
1193 printf(", but DRI seems not to be activated\n"); | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1194 printf(RADEON_MSG" Output may not work correctly, check your DRI configration!"); |
22850 | 1195 } |
1196 printf("\n"); | |
1197 } | |
1198 } | |
1199 } | |
1200 #endif | |
1201 | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1202 static int radeon_probe(int verbose, int force) |
22850 | 1203 { |
1204 pciinfo_t lst[MAX_PCI_DEVICES]; | |
1205 unsigned i,num_pci; | |
1206 int err; | |
25859
e8af7338a462
Fix illegal identifiers, names starting with __ are reserved for the system.
diego
parents:
25718
diff
changeset
|
1207 verbosity = verbose; |
22850 | 1208 err = pci_scan(lst,&num_pci); |
1209 if(err) | |
1210 { | |
1211 printf(RADEON_MSG" Error occurred during pci scan: %s\n",strerror(err)); | |
1212 return err; | |
1213 } | |
1214 else | |
1215 { | |
1216 err = ENXIO; | |
1217 for(i=0;i<num_pci;i++) | |
1218 { | |
1219 if(lst[i].vendor == VENDOR_ATI) | |
1220 { | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1221 int idx; |
22850 | 1222 const char *dname; |
1223 idx = find_chip(lst[i].device); | |
1224 if(idx == -1 && force == PROBE_NORMAL) continue; | |
1225 dname = pci_device_name(VENDOR_ATI,lst[i].device); | |
1226 dname = dname ? dname : "Unknown chip"; | |
1227 printf(RADEON_MSG" Found chip: %s\n",dname); | |
23167
2ab3eac7f6da
synced with upstream vidix, prevented some drivers to work on some configs/archs
ben
parents:
23165
diff
changeset
|
1228 #if 0 |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1229 if ((lst[i].command & PCI_COMMAND_IO) == 0) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1230 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1231 printf("[radeon] Device is disabled, ignoring\n"); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1232 continue; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1233 } |
23167
2ab3eac7f6da
synced with upstream vidix, prevented some drivers to work on some configs/archs
ben
parents:
23165
diff
changeset
|
1234 #endif |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1235 memset(&besr,0,sizeof(bes_registers_t)); |
22850 | 1236 if(force > PROBE_NORMAL) |
1237 { | |
1238 printf(RADEON_MSG" Driver was forced. Was found %sknown chip\n",idx == -1 ? "un" : ""); | |
1239 if(idx == -1) | |
1240 #ifdef RAGE128 | |
1241 printf(RADEON_MSG" Assuming it as Rage128\n"); | |
1242 #else | |
1243 printf(RADEON_MSG" Assuming it as Radeon1\n"); | |
1244 #endif | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1245 besr.chip_flags=R_100|R_OVL_SHIFT; |
22850 | 1246 } |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1247 #if !defined(RAGE128) && defined(HAVE_X11) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1248 probe_fireGL_driver(); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1249 #endif |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1250 if(idx != -1) besr.chip_flags=ati_card_ids[idx].flags; |
22850 | 1251 def_cap.device_id = lst[i].device; |
1252 err = 0; | |
1253 memcpy(&pci_info,&lst[i],sizeof(pciinfo_t)); | |
1254 probed=1; | |
1255 break; | |
1256 } | |
1257 } | |
1258 } | |
1259 if(err && verbose) printf(RADEON_MSG" Can't find chip\n"); | |
1260 return err; | |
1261 } | |
1262 | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1263 typedef struct saved_regs_s |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1264 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1265 uint32_t ov0_vid_key_clr; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1266 uint32_t ov0_vid_key_msk; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1267 uint32_t ov0_graphics_key_clr; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1268 uint32_t ov0_graphics_key_msk; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1269 uint32_t ov0_key_cntl; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1270 uint32_t disp_merge_cntl; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1271 }saved_regs_t; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1272 static saved_regs_t savreg; |
22850 | 1273 |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1274 static void save_regs( void ) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1275 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1276 radeon_fifo_wait(6); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1277 savreg.ov0_vid_key_clr = INREG(OV0_VID_KEY_CLR); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1278 savreg.ov0_vid_key_msk = INREG(OV0_VID_KEY_MSK); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1279 savreg.ov0_graphics_key_clr = INREG(OV0_GRAPHICS_KEY_CLR); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1280 savreg.ov0_graphics_key_msk = INREG(OV0_GRAPHICS_KEY_MSK); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1281 savreg.ov0_key_cntl = INREG(OV0_KEY_CNTL); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1282 savreg.disp_merge_cntl = INREG(DISP_MERGE_CNTL); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1283 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1284 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1285 static void restore_regs( void ) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1286 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1287 radeon_fifo_wait(6); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1288 OUTREG(OV0_VID_KEY_CLR,savreg.ov0_vid_key_clr); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1289 OUTREG(OV0_VID_KEY_MSK,savreg.ov0_vid_key_msk); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1290 OUTREG(OV0_GRAPHICS_KEY_CLR,savreg.ov0_graphics_key_clr); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1291 OUTREG(OV0_GRAPHICS_KEY_MSK,savreg.ov0_graphics_key_msk); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1292 OUTREG(OV0_KEY_CNTL,savreg.ov0_key_cntl); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1293 OUTREG(DISP_MERGE_CNTL,savreg.disp_merge_cntl); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1294 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1295 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1296 static int radeon_init(void) |
22850 | 1297 { |
1298 int err; | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1299 |
25859
e8af7338a462
Fix illegal identifiers, names starting with __ are reserved for the system.
diego
parents:
25718
diff
changeset
|
1300 if(verbosity > 0) printf("[radeon_vid] version %d\n", VIDIX_VERSION); |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1301 |
22850 | 1302 if(!probed) |
1303 { | |
1304 printf(RADEON_MSG" Driver was not probed but is being initializing\n"); | |
1305 return EINTR; | |
1306 } | |
1307 if((radeon_mmio_base = map_phys_mem(pci_info.base2,0xFFFF))==(void *)-1) return ENOMEM; | |
1308 radeon_ram_size = INREG(CONFIG_MEMSIZE); | |
1309 /* mem size is bits [28:0], mask off the rest. Range: from 1Mb up to 512 Mb */ | |
1310 radeon_ram_size &= CONFIG_MEMSIZE_MASK; | |
1311 #ifdef RADEON | |
1312 /* according to XFree86 4.2.0, some production M6's return 0 for 8MB */ | |
1313 if (radeon_ram_size == 0 && | |
1314 (def_cap.device_id == DEVICE_ATI_RADEON_MOBILITY_M6 || | |
1315 def_cap.device_id == DEVICE_ATI_RADEON_MOBILITY_M62)) | |
1316 { | |
23163 | 1317 printf(RADEON_MSG" Working around buggy Radeon Mobility M6 (0 vs. 8MB ram)\n"); |
22850 | 1318 radeon_ram_size = 8192*1024; |
1319 } | |
23125
48fdbc777870
onboard X200 GPU (shared memory) returns a 0 RAM size (patch by rjoco77@kezdionline.ro)
ben
parents:
23124
diff
changeset
|
1320 else if (radeon_ram_size == 0 && |
48fdbc777870
onboard X200 GPU (shared memory) returns a 0 RAM size (patch by rjoco77@kezdionline.ro)
ben
parents:
23124
diff
changeset
|
1321 (def_cap.device_id == DEVICE_ATI_RS482_RADEON_XPRESS)) |
48fdbc777870
onboard X200 GPU (shared memory) returns a 0 RAM size (patch by rjoco77@kezdionline.ro)
ben
parents:
23124
diff
changeset
|
1322 { |
23164
e9298e9c6a74
accurate X200 memory size detection (patch by rjoco77 at kezdionline dot ro)
ben
parents:
23163
diff
changeset
|
1323 printf(RADEON_MSG" Working around buggy RS482 Radeon Xpress 200 Memory Detection\n"); |
e9298e9c6a74
accurate X200 memory size detection (patch by rjoco77 at kezdionline dot ro)
ben
parents:
23163
diff
changeset
|
1324 radeon_ram_size = (INREG(CONFIG_MEMSIZE) + 0x100000) << 2; |
e9298e9c6a74
accurate X200 memory size detection (patch by rjoco77 at kezdionline dot ro)
ben
parents:
23163
diff
changeset
|
1325 radeon_ram_size &= CONFIG_MEMSIZE_MASK; |
23125
48fdbc777870
onboard X200 GPU (shared memory) returns a 0 RAM size (patch by rjoco77@kezdionline.ro)
ben
parents:
23124
diff
changeset
|
1326 } |
22850 | 1327 #else |
1328 /* Rage Mobility (rage128) also has memsize bug */ | |
1329 if (radeon_ram_size == 0 && | |
1330 (def_cap.device_id == DEVICE_ATI_RAGE_MOBILITY_M3 || | |
1331 def_cap.device_id == DEVICE_ATI_RAGE_MOBILITY_M32)) | |
1332 { | |
23165 | 1333 printf(RADEON_MSG" Working around Rage Mobility M3 (0 vs. 8MB ram)\n"); |
22850 | 1334 radeon_ram_size = 8192*1024; |
1335 } | |
1336 #endif | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1337 if((radeon_mem_base = map_phys_mem(pci_info.base0,radeon_ram_size))==(void *)-1) return ENOMEM; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1338 radeon_vid_make_default(); |
22850 | 1339 printf(RADEON_MSG" Video memory = %uMb\n",radeon_ram_size/0x100000); |
1340 err = mtrr_set_type(pci_info.base0,radeon_ram_size,MTRR_TYPE_WRCOMB); | |
1341 if(!err) printf(RADEON_MSG" Set write-combining type of video memory\n"); | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1342 #ifndef RAGE128 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1343 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1344 memset(&rinfo,0,sizeof(rinfo_t)); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1345 if((besr.chip_flags&R_100) != R_100) rinfo.hasCRTC2 = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1346 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1347 radeon_get_moninfo(&rinfo); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1348 if(rinfo.hasCRTC2) { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1349 printf(RADEON_MSG" DVI port has %s monitor connected\n",GET_MON_NAME(rinfo.dviDispType)); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1350 printf(RADEON_MSG" CRT port has %s monitor connected\n",GET_MON_NAME(rinfo.crtDispType)); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1351 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1352 else |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1353 printf(RADEON_MSG" CRT port has %s monitor connected\n",GET_MON_NAME(rinfo.crtDispType)); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1354 } |
22850 | 1355 #endif |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1356 save_regs(); |
22850 | 1357 return 0; |
1358 } | |
1359 | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1360 static void radeon_destroy(void) |
22850 | 1361 { |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1362 restore_regs(); |
22850 | 1363 unmap_phys_mem(radeon_mem_base,radeon_ram_size); |
1364 unmap_phys_mem(radeon_mmio_base,0xFFFF); | |
1365 } | |
1366 | |
22857
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
22850
diff
changeset
|
1367 static int radeon_get_caps(vidix_capability_t *to) |
22850 | 1368 { |
1369 memcpy(to,&def_cap,sizeof(vidix_capability_t)); | |
1370 return 0; | |
1371 } | |
1372 | |
1373 /* | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1374 Full list of fourcc which are supported by Win2K radeon driver: |
22850 | 1375 YUY2, UYVY, DDES, OGLT, OGL2, OGLS, OGLB, OGNT, OGNZ, OGNS, |
1376 IF09, YVU9, IMC4, M2IA, IYUV, VBID, DXT1, DXT2, DXT3, DXT4, DXT5 | |
1377 */ | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1378 typedef struct fourcc_desc_s |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1379 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1380 uint32_t fourcc; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1381 unsigned max_srcw; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1382 }fourcc_desc_t; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1383 |
25718
8eddf6a9af7f
Make some radeon vidix driver tables static and const
reimar
parents:
25415
diff
changeset
|
1384 static const fourcc_desc_t supported_fourcc[] = |
22850 | 1385 { |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1386 { IMGFMT_Y800, 1567 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1387 { IMGFMT_YVU9, 1567 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1388 { IMGFMT_IF09, 1567 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1389 { IMGFMT_YV12, 1567 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1390 { IMGFMT_I420, 1567 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1391 { IMGFMT_IYUV, 1567 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1392 { IMGFMT_UYVY, 1551 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1393 { IMGFMT_YUY2, 1551 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1394 { IMGFMT_YVYU, 1551 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1395 { IMGFMT_RGB15, 1551 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1396 { IMGFMT_BGR15, 1551 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1397 { IMGFMT_RGB16, 1551 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1398 { IMGFMT_BGR16, 1551 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1399 { IMGFMT_RGB32, 775 }, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1400 { IMGFMT_BGR32, 775 } |
22850 | 1401 }; |
1402 | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1403 __inline__ static int is_supported_fourcc(uint32_t fourcc) |
22850 | 1404 { |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1405 unsigned i; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1406 for(i=0;i<sizeof(supported_fourcc)/sizeof(fourcc_desc_t);i++) |
22850 | 1407 { |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1408 if(fourcc==supported_fourcc[i].fourcc) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1409 return 1; |
22850 | 1410 } |
1411 return 0; | |
1412 } | |
1413 | |
22857
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
22850
diff
changeset
|
1414 static int radeon_query_fourcc(vidix_fourcc_t *to) |
22850 | 1415 { |
1416 if(is_supported_fourcc(to->fourcc)) | |
1417 { | |
23060 | 1418 to->depth = VID_DEPTH_ALL; |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1419 to->flags = VID_CAP_EXPAND | VID_CAP_SHRINK | VID_CAP_COLORKEY | |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1420 VID_CAP_BLEND; |
22850 | 1421 return 0; |
1422 } | |
1423 else to->depth = to->flags = 0; | |
1424 return ENOSYS; | |
1425 } | |
1426 | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1427 static double H_scale_ratio; |
22850 | 1428 static void radeon_vid_dump_regs( void ) |
1429 { | |
1430 size_t i; | |
1431 printf(RADEON_MSG"*** Begin of DRIVER variables dump ***\n"); | |
1432 printf(RADEON_MSG"radeon_mmio_base=%p\n",radeon_mmio_base); | |
1433 printf(RADEON_MSG"radeon_mem_base=%p\n",radeon_mem_base); | |
1434 printf(RADEON_MSG"radeon_overlay_off=%08X\n",radeon_overlay_off); | |
1435 printf(RADEON_MSG"radeon_ram_size=%08X\n",radeon_ram_size); | |
1436 printf(RADEON_MSG"video mode: %ux%u@%u\n",radeon_get_xres(),radeon_get_yres(),radeon_vid_get_dbpp()); | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1437 printf(RADEON_MSG"H_scale_ratio=%8.2f\n",H_scale_ratio); |
22850 | 1438 printf(RADEON_MSG"*** Begin of OV0 registers dump ***\n"); |
1439 for(i=0;i<sizeof(vregs)/sizeof(video_registers_t);i++) | |
1440 printf(RADEON_MSG"%s = %08X\n",vregs[i].sname,INREG(vregs[i].name)); | |
1441 printf(RADEON_MSG"*** End of OV0 registers dump ***\n"); | |
1442 } | |
1443 | |
1444 static void radeon_vid_stop_video( void ) | |
1445 { | |
1446 radeon_engine_idle(); | |
1447 OUTREG(OV0_SCALE_CNTL, SCALER_SOFT_RESET); | |
1448 OUTREG(OV0_EXCLUSIVE_HORZ, 0); | |
1449 OUTREG(OV0_AUTO_FLIP_CNTL, 0); /* maybe */ | |
1450 OUTREG(OV0_FILTER_CNTL, FILTER_HARDCODED_COEF); | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1451 #ifdef RAGE128 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1452 OUTREG(OV0_KEY_CNTL, GRAPHIC_KEY_FN_NE); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1453 #else |
22850 | 1454 OUTREG(OV0_KEY_CNTL, GRAPHIC_KEY_FN_EQ); |
1455 #endif | |
1456 OUTREG(OV0_TEST, 0); | |
1457 } | |
1458 | |
1459 static void radeon_vid_display_video( void ) | |
1460 { | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1461 int bes_flags,force_second; |
22850 | 1462 radeon_fifo_wait(2); |
1463 OUTREG(OV0_REG_LOAD_CNTL, REG_LD_CTL_LOCK); | |
1464 radeon_engine_idle(); | |
1465 while(!(INREG(OV0_REG_LOAD_CNTL)®_LD_CTL_LOCK_READBACK)); | |
1466 radeon_fifo_wait(15); | |
1467 | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1468 force_second=0; |
23048 | 1469 |
22850 | 1470 /* Shutdown capturing */ |
1471 OUTREG(FCP_CNTL, FCP_CNTL__GND); | |
1472 OUTREG(CAP0_TRIG_CNTL, 0); | |
1473 | |
1474 OUTREG(VID_BUFFER_CONTROL, (1<<16) | 0x01); | |
1475 OUTREG(DISP_TEST_DEBUG_CNTL, 0); | |
1476 | |
1477 OUTREG(OV0_AUTO_FLIP_CNTL,OV0_AUTO_FLIP_CNTL_SOFT_BUF_ODD); | |
1478 | |
1479 if(besr.deinterlace_on) OUTREG(OV0_DEINTERLACE_PATTERN,besr.deinterlace_pattern); | |
1480 #ifdef RAGE128 | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1481 OUTREG(OV0_COLOUR_CNTL, (besr.brightness & 0x7f) | |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1482 (besr.saturation << 8) | |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1483 (besr.saturation << 16)); |
22850 | 1484 #endif |
1485 radeon_fifo_wait(2); | |
1486 OUTREG(OV0_GRAPHICS_KEY_MSK, besr.graphics_key_msk); | |
1487 OUTREG(OV0_GRAPHICS_KEY_CLR, besr.graphics_key_clr); | |
1488 OUTREG(OV0_KEY_CNTL,besr.ckey_cntl); | |
1489 | |
1490 OUTREG(OV0_H_INC, besr.h_inc); | |
1491 OUTREG(OV0_STEP_BY, besr.step_by); | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1492 if(force_second) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1493 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1494 OUTREG(OV1_Y_X_START, besr.y_x_start); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1495 OUTREG(OV1_Y_X_END, besr.y_x_end); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1496 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1497 else |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1498 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1499 OUTREG(OV0_Y_X_START, besr.y_x_start); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1500 OUTREG(OV0_Y_X_END, besr.y_x_end); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1501 } |
22850 | 1502 OUTREG(OV0_V_INC, besr.v_inc); |
1503 OUTREG(OV0_P1_BLANK_LINES_AT_TOP, besr.p1_blank_lines_at_top); | |
1504 OUTREG(OV0_P23_BLANK_LINES_AT_TOP, besr.p23_blank_lines_at_top); | |
1505 OUTREG(OV0_VID_BUF_PITCH0_VALUE, besr.vid_buf_pitch0_value); | |
1506 OUTREG(OV0_VID_BUF_PITCH1_VALUE, besr.vid_buf_pitch1_value); | |
1507 OUTREG(OV0_P1_X_START_END, besr.p1_x_start_end); | |
1508 OUTREG(OV0_P2_X_START_END, besr.p2_x_start_end); | |
1509 OUTREG(OV0_P3_X_START_END, besr.p3_x_start_end); | |
1510 #ifdef RADEON | |
1511 OUTREG(OV0_BASE_ADDR, besr.base_addr); | |
1512 #endif | |
1513 OUTREG(OV0_VID_BUF0_BASE_ADRS, besr.vid_buf_base_adrs_y[0]); | |
1514 OUTREG(OV0_VID_BUF1_BASE_ADRS, besr.vid_buf_base_adrs_v[0]); | |
1515 OUTREG(OV0_VID_BUF2_BASE_ADRS, besr.vid_buf_base_adrs_u[0]); | |
1516 radeon_fifo_wait(9); | |
1517 OUTREG(OV0_VID_BUF3_BASE_ADRS, besr.vid_buf_base_adrs_y[0]); | |
1518 OUTREG(OV0_VID_BUF4_BASE_ADRS, besr.vid_buf_base_adrs_v[0]); | |
1519 OUTREG(OV0_VID_BUF5_BASE_ADRS, besr.vid_buf_base_adrs_u[0]); | |
1520 OUTREG(OV0_P1_V_ACCUM_INIT, besr.p1_v_accum_init); | |
1521 OUTREG(OV0_P1_H_ACCUM_INIT, besr.p1_h_accum_init); | |
1522 OUTREG(OV0_P23_H_ACCUM_INIT, besr.p23_h_accum_init); | |
1523 OUTREG(OV0_P23_V_ACCUM_INIT, besr.p23_v_accum_init); | |
1524 | |
1525 bes_flags = SCALER_ENABLE | | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1526 SCALER_SMART_SWITCH | |
22850 | 1527 SCALER_Y2R_TEMP | |
1528 SCALER_PIX_EXPAND; | |
1529 if(besr.double_buff) bes_flags |= SCALER_DOUBLE_BUFFER; | |
1530 if(besr.deinterlace_on) bes_flags |= SCALER_ADAPTIVE_DEINT; | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1531 if(besr.horz_pick_nearest) bes_flags |= SCALER_HORZ_PICK_NEAREST; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1532 if(besr.vert_pick_nearest) bes_flags |= SCALER_VERT_PICK_NEAREST; |
22850 | 1533 #ifdef RAGE128 |
1534 bes_flags |= SCALER_BURST_PER_PLANE; | |
1535 #endif | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1536 bes_flags |= (besr.surf_id << 8) & SCALER_SURFAC_FORMAT; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1537 if(besr.load_prg_start) bes_flags |= SCALER_PRG_LOAD_START; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1538 if(force_second) bes_flags |= SCALER_USE_OV1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1539 else bes_flags &= ~SCALER_USE_OV1; |
22850 | 1540 OUTREG(OV0_SCALE_CNTL, bes_flags); |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1541 radeon_fifo_wait(6); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1542 OUTREG(OV0_FILTER_CNTL,besr.filter_cntl); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1543 OUTREG(OV0_FOUR_TAP_COEF_0,besr.four_tap_coeff[0]); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1544 OUTREG(OV0_FOUR_TAP_COEF_1,besr.four_tap_coeff[1]); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1545 OUTREG(OV0_FOUR_TAP_COEF_2,besr.four_tap_coeff[2]); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1546 OUTREG(OV0_FOUR_TAP_COEF_3,besr.four_tap_coeff[3]); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1547 OUTREG(OV0_FOUR_TAP_COEF_4,besr.four_tap_coeff[4]); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1548 if(besr.swap_uv) OUTREG(OV0_TEST,INREG(OV0_TEST)|OV0_SWAP_UV); |
22850 | 1549 OUTREG(OV0_REG_LOAD_CNTL, 0); |
25859
e8af7338a462
Fix illegal identifiers, names starting with __ are reserved for the system.
diego
parents:
25718
diff
changeset
|
1550 if(verbosity > VERBOSE_LEVEL) printf(RADEON_MSG"we wanted: scaler=%08X\n",bes_flags); |
e8af7338a462
Fix illegal identifiers, names starting with __ are reserved for the system.
diego
parents:
25718
diff
changeset
|
1551 if(verbosity > VERBOSE_LEVEL) radeon_vid_dump_regs(); |
22850 | 1552 } |
1553 | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1554 /* Goal of this function: hide RGB background and provide black screen around movie. |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1555 Useful in '-vo fbdev:vidix -fs -zoom' mode. |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1556 Reverse effect to colorkey */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1557 #ifdef RAGE128 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1558 static void radeon_vid_exclusive( void ) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1559 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1560 /* this function works only with Rage128. |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1561 Radeon should has something the same */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1562 unsigned screenw,screenh; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1563 screenw = radeon_get_xres(); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1564 screenh = radeon_get_yres(); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1565 radeon_fifo_wait(2); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1566 OUTREG(OV0_EXCLUSIVE_VERT,(((screenh-1)<<16)&EXCL_VERT_END_MASK)); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1567 OUTREG(OV0_EXCLUSIVE_HORZ,(((screenw/8+1)<<8)&EXCL_HORZ_END_MASK)|EXCL_HORZ_EXCLUSIVE_EN); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1568 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1569 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1570 static void radeon_vid_non_exclusive( void ) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1571 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1572 OUTREG(OV0_EXCLUSIVE_HORZ,0); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1573 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1574 #endif |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1575 |
22850 | 1576 static unsigned radeon_query_pitch(unsigned fourcc,const vidix_yuv_t *spitch) |
1577 { | |
1578 unsigned pitch,spy,spv,spu; | |
1579 spy = spv = spu = 0; | |
1580 switch(spitch->y) | |
1581 { | |
1582 case 16: | |
1583 case 32: | |
1584 case 64: | |
1585 case 128: | |
1586 case 256: spy = spitch->y; break; | |
1587 default: break; | |
1588 } | |
1589 switch(spitch->u) | |
1590 { | |
1591 case 16: | |
1592 case 32: | |
1593 case 64: | |
1594 case 128: | |
1595 case 256: spu = spitch->u; break; | |
1596 default: break; | |
1597 } | |
1598 switch(spitch->v) | |
1599 { | |
1600 case 16: | |
1601 case 32: | |
1602 case 64: | |
1603 case 128: | |
1604 case 256: spv = spitch->v; break; | |
1605 default: break; | |
1606 } | |
1607 switch(fourcc) | |
1608 { | |
1609 /* 4:2:0 */ | |
1610 case IMGFMT_IYUV: | |
1611 case IMGFMT_YV12: | |
1612 case IMGFMT_I420: | |
1613 if(spy > 16 && spu == spy/2 && spv == spy/2) pitch = spy; | |
1614 else pitch = 32; | |
1615 break; | |
1616 case IMGFMT_IF09: | |
1617 case IMGFMT_YVU9: | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1618 if(spy >= 64 && spu == spy/4 && spv == spy/4) pitch = spy; |
22850 | 1619 else pitch = 64; |
1620 break; | |
1621 default: | |
1622 if(spy >= 16) pitch = spy; | |
1623 else pitch = 16; | |
1624 break; | |
1625 } | |
1626 return pitch; | |
1627 } | |
1628 | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1629 static void Calc_H_INC_STEP_BY ( |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1630 int fieldvalue_OV0_SURFACE_FORMAT, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1631 double H_scale_ratio, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1632 int DisallowFourTapVertFiltering, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1633 int DisallowFourTapUVVertFiltering, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1634 uint32_t *val_OV0_P1_H_INC, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1635 uint32_t *val_OV0_P1_H_STEP_BY, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1636 uint32_t *val_OV0_P23_H_INC, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1637 uint32_t *val_OV0_P23_H_STEP_BY, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1638 int *P1GroupSize, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1639 int *P1StepSize, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1640 int *P23StepSize ) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1641 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1642 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1643 double ClocksNeededFor16Pixels; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1644 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1645 switch (fieldvalue_OV0_SURFACE_FORMAT) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1646 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1647 case 3: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1648 case 4: /*16BPP (ARGB1555 and RGB565) */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1649 /* All colour components are fetched in pairs */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1650 *P1GroupSize = 2; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1651 /* We don't support four tap in this mode because G's are split between two bytes. In theory we could support it if */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1652 /* we saved part of the G when fetching the R, and then filter the G, followed by the B in the following cycles. */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1653 if (H_scale_ratio>=.5) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1654 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1655 /* We are actually generating two pixels (but 3 colour components) per tick. Thus we don't have to skip */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1656 /* until we reach .5. P1 and P23 are the same. */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1657 *val_OV0_P1_H_INC = (uint16_t)((1/(H_scale_ratio)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1658 *val_OV0_P1_H_STEP_BY = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1659 *val_OV0_P23_H_INC = (uint16_t)((1/(H_scale_ratio)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1660 *val_OV0_P23_H_STEP_BY = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1661 *P1StepSize = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1662 *P23StepSize = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1663 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1664 else if (H_scale_ratio>=.25) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1665 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1666 /* Step by two */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1667 *val_OV0_P1_H_INC = (uint16_t)((1/(H_scale_ratio*2)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1668 *val_OV0_P1_H_STEP_BY = 2; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1669 *val_OV0_P23_H_INC = (uint16_t)((1/(H_scale_ratio*2)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1670 *val_OV0_P23_H_STEP_BY = 2; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1671 *P1StepSize = 2; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1672 *P23StepSize = 2; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1673 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1674 else if (H_scale_ratio>=.125) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1675 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1676 /* Step by four */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1677 *val_OV0_P1_H_INC = (uint16_t)((1/(H_scale_ratio*4)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1678 *val_OV0_P1_H_STEP_BY = 3; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1679 *val_OV0_P23_H_INC = (uint16_t)((1/(H_scale_ratio*4)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1680 *val_OV0_P23_H_STEP_BY = 3; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1681 *P1StepSize = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1682 *P23StepSize = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1683 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1684 else if (H_scale_ratio>=.0625) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1685 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1686 /* Step by eight */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1687 *val_OV0_P1_H_INC = (uint16_t)((1/(H_scale_ratio*8)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1688 *val_OV0_P1_H_STEP_BY = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1689 *val_OV0_P23_H_INC = (uint16_t)((1/(H_scale_ratio*8)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1690 *val_OV0_P23_H_STEP_BY = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1691 *P1StepSize = 8; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1692 *P23StepSize = 8; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1693 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1694 else if (H_scale_ratio>=0.03125) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1695 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1696 /* Step by sixteen */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1697 *val_OV0_P1_H_INC = (uint16_t)((1/(H_scale_ratio*16)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1698 *val_OV0_P1_H_STEP_BY = 5; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1699 *val_OV0_P23_H_INC = (uint16_t)((1/(H_scale_ratio*16)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1700 *val_OV0_P23_H_STEP_BY = 5; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1701 *P1StepSize = 16; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1702 *P23StepSize = 16; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1703 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1704 else |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1705 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1706 H_scale_ratio=0.03125; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1707 *val_OV0_P1_H_INC = (uint16_t)((1/(H_scale_ratio*16)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1708 *val_OV0_P1_H_STEP_BY = 5; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1709 *val_OV0_P23_H_INC = (uint16_t)((1/(H_scale_ratio*16)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1710 *val_OV0_P23_H_STEP_BY = 5; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1711 *P1StepSize = 16; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1712 *P23StepSize = 16; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1713 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1714 break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1715 case 6: /*32BPP RGB */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1716 if (H_scale_ratio>=1.5 && !DisallowFourTapVertFiltering) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1717 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1718 /* All colour components are fetched in pairs */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1719 *P1GroupSize = 2; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1720 /* With four tap filtering, we can generate two colour components every clock, or two pixels every three */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1721 /* clocks. This means that we will have four tap filtering when scaling 1.5 or more. */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1722 *val_OV0_P1_H_INC = (uint16_t)((1/(H_scale_ratio)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1723 *val_OV0_P1_H_STEP_BY = 0; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1724 *val_OV0_P23_H_INC = (uint16_t)((1/(H_scale_ratio)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1725 *val_OV0_P23_H_STEP_BY = 0; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1726 *P1StepSize = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1727 *P23StepSize = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1728 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1729 else if (H_scale_ratio>=0.75) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1730 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1731 /* Four G colour components are fetched at once */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1732 *P1GroupSize = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1733 /* R and B colour components are fetched in pairs */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1734 /* With two tap filtering, we can generate four colour components every clock. */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1735 /* This means that we will have two tap filtering when scaling 1.0 or more. */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1736 *val_OV0_P1_H_INC = (uint16_t)((1/(H_scale_ratio)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1737 *val_OV0_P1_H_STEP_BY = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1738 *val_OV0_P23_H_INC = (uint16_t)((1/(H_scale_ratio)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1739 *val_OV0_P23_H_STEP_BY = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1740 *P1StepSize = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1741 *P23StepSize = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1742 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1743 else if (H_scale_ratio>=0.375) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1744 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1745 /* Step by two. */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1746 /* Four G colour components are fetched at once */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1747 *P1GroupSize = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1748 /* R and B colour components are fetched in pairs */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1749 *val_OV0_P1_H_INC = (uint16_t)((1/(H_scale_ratio*2)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1750 *val_OV0_P1_H_STEP_BY = 2; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1751 *val_OV0_P23_H_INC = (uint16_t)((1/(H_scale_ratio*2)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1752 *val_OV0_P23_H_STEP_BY = 2; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1753 *P1StepSize = 2; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1754 *P23StepSize = 2; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1755 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1756 else if (H_scale_ratio>=0.25) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1757 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1758 /* Step by two. */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1759 /* Four G colour components are fetched at once */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1760 *P1GroupSize = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1761 /* R and B colour components are fetched in pairs */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1762 *val_OV0_P1_H_INC = (uint16_t)((1/(H_scale_ratio*2)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1763 *val_OV0_P1_H_STEP_BY = 2; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1764 *val_OV0_P23_H_INC = (uint16_t)((1/(H_scale_ratio*4)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1765 *val_OV0_P23_H_STEP_BY = 3; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1766 *P1StepSize = 2; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1767 *P23StepSize = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1768 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1769 else if (H_scale_ratio>=0.1875) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1770 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1771 /* Step by four */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1772 /* Four G colour components are fetched at once */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1773 *P1GroupSize = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1774 /* R and B colour components are fetched in pairs */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1775 *val_OV0_P1_H_INC = (uint16_t)((1/(H_scale_ratio*4)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1776 *val_OV0_P1_H_STEP_BY = 3; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1777 *val_OV0_P23_H_INC = (uint16_t)((1/(H_scale_ratio*4)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1778 *val_OV0_P23_H_STEP_BY = 3; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1779 *P1StepSize = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1780 *P23StepSize = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1781 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1782 else if (H_scale_ratio>=0.125) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1783 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1784 /* Step by four */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1785 /* Four G colour components are fetched at once */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1786 *P1GroupSize = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1787 /* R and B colour components are fetched in pairs */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1788 *val_OV0_P1_H_INC = (uint16_t)((1/(H_scale_ratio*4)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1789 *val_OV0_P1_H_STEP_BY = 3; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1790 *val_OV0_P23_H_INC = (uint16_t)((1/(H_scale_ratio*8)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1791 *val_OV0_P23_H_STEP_BY = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1792 *P1StepSize = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1793 *P23StepSize = 8; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1794 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1795 else if (H_scale_ratio>=0.09375) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1796 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1797 /* Step by eight */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1798 /* Four G colour components are fetched at once */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1799 *P1GroupSize = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1800 /* R and B colour components are fetched in pairs */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1801 *val_OV0_P1_H_INC = (uint16_t)((1/(H_scale_ratio*8)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1802 *val_OV0_P1_H_STEP_BY = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1803 *val_OV0_P23_H_INC = (uint16_t)((1/(H_scale_ratio*8)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1804 *val_OV0_P23_H_STEP_BY = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1805 *P1StepSize = 8; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1806 *P23StepSize = 8; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1807 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1808 else if (H_scale_ratio>=0.0625) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1809 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1810 /* Step by eight */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1811 /* Four G colour components are fetched at once */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1812 *P1GroupSize = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1813 /* R and B colour components are fetched in pairs */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1814 *val_OV0_P1_H_INC = (uint16_t)((1/(H_scale_ratio*16)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1815 *val_OV0_P1_H_STEP_BY = 5; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1816 *val_OV0_P23_H_INC = (uint16_t)((1/(H_scale_ratio*16)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1817 *val_OV0_P23_H_STEP_BY = 5; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1818 *P1StepSize = 16; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1819 *P23StepSize = 16; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1820 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1821 else |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1822 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1823 H_scale_ratio=0.0625; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1824 *P1GroupSize = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1825 *val_OV0_P1_H_INC = (uint16_t)((1/(H_scale_ratio*16)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1826 *val_OV0_P1_H_STEP_BY = 5; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1827 *val_OV0_P23_H_INC = (uint16_t)((1/(H_scale_ratio*16)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1828 *val_OV0_P23_H_STEP_BY = 5; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1829 *P1StepSize = 16; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1830 *P23StepSize = 16; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1831 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1832 break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1833 case 9: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1834 /*ToDo_Active: In mode 9 there is a possibility that HScale ratio may be set to an illegal value, so we have extra conditions in the if statement. For consistancy, these conditions be added to the other modes as well. */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1835 /* four tap on both (unless Y is too wide) */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1836 if ((H_scale_ratio>=(ClocksNeededFor16Pixels=8+2+2) / 16.0) && |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1837 ((uint16_t)((1/(H_scale_ratio)) * (1<<0xc) + 0.5)<=0x3000) && |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1838 ((uint16_t)((1/(H_scale_ratio*4)) * (1<<0xc) + 0.5)<=0x2000) && |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1839 !DisallowFourTapVertFiltering && !DisallowFourTapUVVertFiltering) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1840 { /*0.75 */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1841 /* Colour components are fetched in pairs */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1842 *P1GroupSize = 2; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1843 *val_OV0_P1_H_INC = (uint16_t)((1/(H_scale_ratio)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1844 *val_OV0_P1_H_STEP_BY = 0; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1845 *val_OV0_P23_H_INC = (uint16_t)((1/(H_scale_ratio*4)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1846 *val_OV0_P23_H_STEP_BY = 0; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1847 *P1StepSize = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1848 *P23StepSize = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1849 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1850 /* two tap on Y (because it is too big for four tap), four tap on UV */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1851 else if ((H_scale_ratio>=(ClocksNeededFor16Pixels=4+2+2) / 16.0) && |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1852 ((uint16_t)((1/(H_scale_ratio)) * (1<<0xc) + 0.5)<=0x3000) && |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1853 ((uint16_t)((1/(H_scale_ratio*4)) * (1<<0xc) + 0.5)<=0x2000) && |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1854 DisallowFourTapVertFiltering && !DisallowFourTapUVVertFiltering) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1855 { /*0.75 */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1856 *P1GroupSize = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1857 *val_OV0_P1_H_INC = (uint16_t)((1/(H_scale_ratio)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1858 *val_OV0_P1_H_STEP_BY = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1859 *val_OV0_P23_H_INC = (uint16_t)((1/(H_scale_ratio*4)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1860 *val_OV0_P23_H_STEP_BY = 0; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1861 *P1StepSize = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1862 *P23StepSize = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1863 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1864 /* We scale the Y with the four tap filters, but UV's are generated |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1865 with dual two tap configuration. */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1866 else if ((H_scale_ratio>=(ClocksNeededFor16Pixels=8+1+1) / 16.0) && |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1867 ((uint16_t)((1/(H_scale_ratio)) * (1<<0xc) + 0.5)<=0x3000) && |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1868 ((uint16_t)((1/(H_scale_ratio*4)) * (1<<0xc) + 0.5)<=0x2000) && |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1869 !DisallowFourTapVertFiltering) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1870 { /*0.625 */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1871 *P1GroupSize = 2; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1872 *val_OV0_P1_H_INC = (uint16_t)((1/(H_scale_ratio)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1873 *val_OV0_P1_H_STEP_BY = 0; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1874 *val_OV0_P23_H_INC = (uint16_t)((1/(H_scale_ratio*4)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1875 *val_OV0_P23_H_STEP_BY = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1876 *P1StepSize = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1877 *P23StepSize = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1878 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1879 /* We scale the Y, U, and V with the two tap filters */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1880 else if ((H_scale_ratio>=(ClocksNeededFor16Pixels=4+1+1) / 16.0) && |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1881 ((uint16_t)((1/(H_scale_ratio)) * (1<<0xc) + 0.5)<=0x3000) && |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1882 ((uint16_t)((1/(H_scale_ratio*4)) * (1<<0xc) + 0.5)<=0x2000)) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1883 { /*0.375 */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1884 *P1GroupSize = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1885 *val_OV0_P1_H_INC = (uint16_t)((1/(H_scale_ratio)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1886 *val_OV0_P1_H_STEP_BY = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1887 *val_OV0_P23_H_INC = (uint16_t)((1/(H_scale_ratio*4)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1888 *val_OV0_P23_H_STEP_BY = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1889 *P1StepSize = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1890 *P23StepSize = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1891 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1892 /* We scale step the U and V by two to allow more bandwidth for fetching Y's, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1893 thus we won't drop Y's yet. */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1894 else if ((H_scale_ratio>=(ClocksNeededFor16Pixels=4+.5+.5) / 16.0) && |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1895 ((uint16_t)((1/(H_scale_ratio)) * (1<<0xc) + 0.5)<=0x3000) && |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1896 ((uint16_t)((1/(H_scale_ratio*4*2)) * (1<<0xc) + 0.5)<=0x2000)) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1897 { /*>=0.3125 and >.333333~ */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1898 *P1GroupSize = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1899 *val_OV0_P1_H_INC = (uint16_t)((1/(H_scale_ratio)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1900 *val_OV0_P1_H_STEP_BY = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1901 *val_OV0_P23_H_INC = (uint16_t)((1/(H_scale_ratio*4*2)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1902 *val_OV0_P23_H_STEP_BY = 2; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1903 *P1StepSize = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1904 *P23StepSize = 2; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1905 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1906 /* We step the Y, U, and V by two. */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1907 else if ((H_scale_ratio>=(ClocksNeededFor16Pixels=2+.5+.5) / 16.0) && |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1908 ((uint16_t)((1/(H_scale_ratio*2)) * (1<<0xc) + 0.5)<=0x3000) && |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1909 ((uint16_t)((1/(H_scale_ratio*4*2)) * (1<<0xc) + 0.5)<=0x2000)) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1910 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1911 *P1GroupSize = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1912 *val_OV0_P1_H_INC = (uint16_t)((1/(H_scale_ratio*2)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1913 *val_OV0_P1_H_STEP_BY = 2; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1914 *val_OV0_P23_H_INC = (uint16_t)((1/(H_scale_ratio*4*2)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1915 *val_OV0_P23_H_STEP_BY = 2; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1916 *P1StepSize = 2; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1917 *P23StepSize = 2; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1918 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1919 /* We step the Y by two and the U and V by four. */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1920 else if ((H_scale_ratio>=(ClocksNeededFor16Pixels=2+.25+.25) / 16.0) && |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1921 ((uint16_t)((1/(H_scale_ratio)) * (1<<0xc) + 0.5)<=0x3000) && |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1922 ((uint16_t)((1/(H_scale_ratio*4*4)) * (1<<0xc) + 0.5)<=0x2000)) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1923 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1924 *P1GroupSize = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1925 *val_OV0_P1_H_INC = (uint16_t)((1/(H_scale_ratio*2)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1926 *val_OV0_P1_H_STEP_BY = 2; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1927 *val_OV0_P23_H_INC = (uint16_t)((1/(H_scale_ratio*4*4)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1928 *val_OV0_P23_H_STEP_BY = 3; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1929 *P1StepSize = 2; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1930 *P23StepSize = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1931 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1932 /* We step the Y, U, and V by four. */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1933 else if ((H_scale_ratio>=(ClocksNeededFor16Pixels=1+.25+.25) / 16.0) && |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1934 ((uint16_t)((1/(H_scale_ratio*4)) * (1<<0xc) + 0.5)<=0x3000) && |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1935 ((uint16_t)((1/(H_scale_ratio*4*4)) * (1<<0xc) + 0.5)<=0x2000)) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1936 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1937 *P1GroupSize = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1938 *val_OV0_P1_H_INC = (uint16_t)((1/(H_scale_ratio*4)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1939 *val_OV0_P1_H_STEP_BY = 3; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1940 *val_OV0_P23_H_INC = (uint16_t)((1/(H_scale_ratio*4*4)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1941 *val_OV0_P23_H_STEP_BY = 3; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1942 *P1StepSize = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1943 *P23StepSize = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1944 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1945 /* We would like to step the Y by four and the U and V by eight, but we can't mix step by 3 and step by 4 for packed modes */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1946 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1947 /* We step the Y, U, and V by eight. */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1948 else if ((H_scale_ratio>=(ClocksNeededFor16Pixels=.5+.125+.125) / 16.0) && |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1949 ((uint16_t)((1/(H_scale_ratio*8)) * (1<<0xc) + 0.5)<=0x3000) && |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1950 ((uint16_t)((1/(H_scale_ratio*4*8)) * (1<<0xc) + 0.5)<=0x2000)) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1951 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1952 *P1GroupSize = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1953 *val_OV0_P1_H_INC = (uint16_t)((1/(H_scale_ratio*8)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1954 *val_OV0_P1_H_STEP_BY = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1955 *val_OV0_P23_H_INC = (uint16_t)((1/(H_scale_ratio*4*8)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1956 *val_OV0_P23_H_STEP_BY = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1957 *P1StepSize = 8; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1958 *P23StepSize = 8; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1959 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1960 /* We step the Y by eight and the U and V by sixteen. */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1961 else if ((H_scale_ratio>=(ClocksNeededFor16Pixels=.5+.0625+.0625) / 16.0) && |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1962 ((uint16_t)((1/(H_scale_ratio*8)) * (1<<0xc) + 0.5)<=0x3000) && |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1963 ((uint16_t)((1/(H_scale_ratio*4*16)) * (1<<0xc) + 0.5)<=0x2000)) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1964 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1965 *P1GroupSize = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1966 *val_OV0_P1_H_INC = (uint16_t)((1/(H_scale_ratio*8)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1967 *val_OV0_P1_H_STEP_BY = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1968 *val_OV0_P23_H_INC = (uint16_t)((1/(H_scale_ratio*4*16)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1969 *val_OV0_P23_H_STEP_BY = 5; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1970 *P1StepSize = 8; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1971 *P23StepSize = 16; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1972 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1973 /* We step the Y, U, and V by sixteen. */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1974 else if ((H_scale_ratio>=(ClocksNeededFor16Pixels=.25+.0625+.0625) / 16.0) && |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1975 ((uint16_t)((1/(H_scale_ratio*16)) * (1<<0xc) + 0.5)<=0x3000) && |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1976 ((uint16_t)((1/(H_scale_ratio*4*16)) * (1<<0xc) + 0.5)<=0x2000)) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1977 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1978 *P1GroupSize = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1979 *val_OV0_P1_H_INC = (uint16_t)((1/(H_scale_ratio*16)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1980 *val_OV0_P1_H_STEP_BY = 5; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1981 *val_OV0_P23_H_INC = (uint16_t)((1/(H_scale_ratio*4*16)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1982 *val_OV0_P23_H_STEP_BY = 5; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1983 *P1StepSize = 16; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1984 *P23StepSize = 16; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1985 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1986 else |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1987 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1988 H_scale_ratio=(ClocksNeededFor16Pixels=.25+.0625+.0625) / 16; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1989 *P1GroupSize = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1990 *val_OV0_P1_H_INC = (uint16_t)((1/(H_scale_ratio*16)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1991 *val_OV0_P1_H_STEP_BY = 5; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1992 *val_OV0_P23_H_INC = (uint16_t)((1/(H_scale_ratio*4*16)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1993 *val_OV0_P23_H_STEP_BY = 5; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1994 *P1StepSize = 16; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1995 *P23StepSize = 16; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1996 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1997 break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1998 case 10: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1999 case 11: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2000 case 12: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2001 case 13: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2002 case 14: /* YUV12, VYUY422, YUYV422, YOverPkCRCB12, YWovenWithPkCRCB12 */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2003 /* We scale the Y, U, and V with the four tap filters */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2004 /* four tap on both (unless Y is too wide) */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2005 if ((H_scale_ratio>=(ClocksNeededFor16Pixels=8+4+4) / 16.0) && |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2006 !DisallowFourTapVertFiltering && !DisallowFourTapUVVertFiltering) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2007 { /*0.75 */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2008 *P1GroupSize = 2; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2009 *val_OV0_P1_H_INC = (uint16_t)((1/(H_scale_ratio)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2010 *val_OV0_P1_H_STEP_BY = 0; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2011 *val_OV0_P23_H_INC = (uint16_t)((1/(H_scale_ratio*2)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2012 *val_OV0_P23_H_STEP_BY = 0; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2013 *P1StepSize = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2014 *P23StepSize = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2015 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2016 /* two tap on Y (because it is too big for four tap), four tap on UV */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2017 else if ((H_scale_ratio>=(ClocksNeededFor16Pixels=4+4+4) / 16.0) && |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2018 DisallowFourTapVertFiltering && !DisallowFourTapUVVertFiltering) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2019 { /*0.75 */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2020 *P1GroupSize = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2021 *val_OV0_P1_H_INC = (uint16_t)((1/(H_scale_ratio)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2022 *val_OV0_P1_H_STEP_BY = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2023 *val_OV0_P23_H_INC = (uint16_t)((1/(H_scale_ratio*2)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2024 *val_OV0_P23_H_STEP_BY = 0; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2025 *P1StepSize = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2026 *P23StepSize = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2027 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2028 /* We scale the Y with the four tap filters, but UV's are generated |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2029 with dual two tap configuration. */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2030 else if ((H_scale_ratio>=(ClocksNeededFor16Pixels=8+2+2) / 16.0) && |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2031 !DisallowFourTapVertFiltering) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2032 { /*0.625 */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2033 *P1GroupSize = 2; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2034 *val_OV0_P1_H_INC = (uint16_t)((1/(H_scale_ratio)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2035 *val_OV0_P1_H_STEP_BY = 0; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2036 *val_OV0_P23_H_INC = (uint16_t)((1/(H_scale_ratio*2)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2037 *val_OV0_P23_H_STEP_BY = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2038 *P1StepSize = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2039 *P23StepSize = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2040 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2041 /* We scale the Y, U, and V with the two tap filters */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2042 else if (H_scale_ratio>=(ClocksNeededFor16Pixels=4+2+2) / 16.0) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2043 { /*0.375 */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2044 *P1GroupSize = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2045 *val_OV0_P1_H_INC = (uint16_t)((1/(H_scale_ratio)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2046 *val_OV0_P1_H_STEP_BY = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2047 *val_OV0_P23_H_INC = (uint16_t)((1/(H_scale_ratio*2)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2048 *val_OV0_P23_H_STEP_BY = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2049 *P1StepSize = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2050 *P23StepSize = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2051 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2052 /* We scale step the U and V by two to allow more bandwidth for |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2053 fetching Y's, thus we won't drop Y's yet. */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2054 else if (H_scale_ratio>=(ClocksNeededFor16Pixels=4+1+1) / 16.0) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2055 { /*0.312 */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2056 *P1GroupSize = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2057 *val_OV0_P1_H_INC = (uint16_t)((1/(H_scale_ratio)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2058 *val_OV0_P1_H_STEP_BY = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2059 *val_OV0_P23_H_INC = (uint16_t)((1/(H_scale_ratio*2*2)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2060 *val_OV0_P23_H_STEP_BY = 2; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2061 *P1StepSize = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2062 *P23StepSize = 2; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2063 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2064 /* We step the Y, U, and V by two. */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2065 else if (H_scale_ratio>=(ClocksNeededFor16Pixels=2+1+1) / 16.0) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2066 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2067 *P1GroupSize = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2068 *val_OV0_P1_H_INC = (uint16_t)((1/(H_scale_ratio*2)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2069 *val_OV0_P1_H_STEP_BY = 2; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2070 *val_OV0_P23_H_INC = (uint16_t)((1/(H_scale_ratio*2*2)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2071 *val_OV0_P23_H_STEP_BY = 2; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2072 *P1StepSize = 2; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2073 *P23StepSize = 2; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2074 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2075 /* We step the Y by two and the U and V by four. */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2076 else if (H_scale_ratio>=(ClocksNeededFor16Pixels=2+.5+.5) / 16.0) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2077 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2078 *P1GroupSize = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2079 *val_OV0_P1_H_INC = (uint16_t)((1/(H_scale_ratio*2)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2080 *val_OV0_P1_H_STEP_BY = 2; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2081 *val_OV0_P23_H_INC = (uint16_t)((1/(H_scale_ratio*2*4)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2082 *val_OV0_P23_H_STEP_BY = 3; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2083 *P1StepSize = 2; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2084 *P23StepSize = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2085 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2086 /* We step the Y, U, and V by four. */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2087 else if (H_scale_ratio>=(ClocksNeededFor16Pixels=1+.5+.5) / 16.0) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2088 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2089 *P1GroupSize = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2090 *val_OV0_P1_H_INC = (uint16_t)((1/(H_scale_ratio*4)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2091 *val_OV0_P1_H_STEP_BY = 3; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2092 *val_OV0_P23_H_INC = (uint16_t)((1/(H_scale_ratio*2*4)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2093 *val_OV0_P23_H_STEP_BY = 3; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2094 *P1StepSize = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2095 *P23StepSize = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2096 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2097 /* We step the Y by four and the U and V by eight. */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2098 else if ((H_scale_ratio>=(ClocksNeededFor16Pixels=1+.25+.25) / 16.0) && |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2099 (fieldvalue_OV0_SURFACE_FORMAT==10)) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2100 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2101 *P1GroupSize = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2102 /* Can't mix step by 3 and step by 4 for packed modes */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2103 *val_OV0_P1_H_INC = (uint16_t)((1/(H_scale_ratio*4)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2104 *val_OV0_P1_H_STEP_BY = 3; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2105 *val_OV0_P23_H_INC = (uint16_t)((1/(H_scale_ratio*2*8)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2106 *val_OV0_P23_H_STEP_BY = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2107 *P1StepSize = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2108 *P23StepSize = 8; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2109 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2110 /* We step the Y, U, and V by eight. */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2111 else if (H_scale_ratio>=(ClocksNeededFor16Pixels=.5+.25+.25) / 16.0) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2112 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2113 *P1GroupSize = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2114 *val_OV0_P1_H_INC = (uint16_t)((1/(H_scale_ratio*8)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2115 *val_OV0_P1_H_STEP_BY = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2116 *val_OV0_P23_H_INC = (uint16_t)((1/(H_scale_ratio*2*8)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2117 *val_OV0_P23_H_STEP_BY = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2118 *P1StepSize = 8; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2119 *P23StepSize = 8; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2120 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2121 /* We step the Y by eight and the U and V by sixteen. */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2122 else if ((H_scale_ratio>=(ClocksNeededFor16Pixels=.5+.125+.125) / 16.0) && (fieldvalue_OV0_SURFACE_FORMAT==10)) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2123 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2124 *P1GroupSize = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2125 /* Step by 5 not supported for packed modes */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2126 *val_OV0_P1_H_INC = (uint16_t)((1/(H_scale_ratio*8)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2127 *val_OV0_P1_H_STEP_BY = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2128 *val_OV0_P23_H_INC = (uint16_t)((1/(H_scale_ratio*2*16)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2129 *val_OV0_P23_H_STEP_BY = 5; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2130 *P1StepSize = 8; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2131 *P23StepSize = 16; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2132 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2133 /* We step the Y, U, and V by sixteen. */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2134 else if ((H_scale_ratio>=(ClocksNeededFor16Pixels=.25+.125+.125) / 16.0) && |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2135 (fieldvalue_OV0_SURFACE_FORMAT==10)) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2136 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2137 *P1GroupSize = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2138 /* Step by 5 not supported for packed modes */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2139 *val_OV0_P1_H_INC = (uint16_t)((1/(H_scale_ratio*16)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2140 *val_OV0_P1_H_STEP_BY = 5; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2141 *val_OV0_P23_H_INC = (uint16_t)((1/(H_scale_ratio*2*16)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2142 *val_OV0_P23_H_STEP_BY = 5; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2143 *P1StepSize = 16; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2144 *P23StepSize = 16; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2145 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2146 else |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2147 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2148 if (fieldvalue_OV0_SURFACE_FORMAT==10) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2149 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2150 H_scale_ratio=(ClocksNeededFor16Pixels=.25+.125+.125) / 16; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2151 *P1GroupSize = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2152 *val_OV0_P1_H_INC = (uint16_t)((1/(H_scale_ratio*16)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2153 *val_OV0_P1_H_STEP_BY = 5; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2154 *val_OV0_P23_H_INC = (uint16_t)((1/(H_scale_ratio*2*16)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2155 *val_OV0_P23_H_STEP_BY = 5; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2156 *P1StepSize = 16; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2157 *P23StepSize = 16; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2158 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2159 else |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2160 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2161 H_scale_ratio=(ClocksNeededFor16Pixels=.5+.25+.25) / 16; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2162 *P1GroupSize = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2163 *val_OV0_P1_H_INC = (uint16_t)((1/(H_scale_ratio*8)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2164 *val_OV0_P1_H_STEP_BY = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2165 *val_OV0_P23_H_INC = (uint16_t)((1/(H_scale_ratio*2*8)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2166 *val_OV0_P23_H_STEP_BY = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2167 *P1StepSize = 8; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2168 *P23StepSize = 8; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2169 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2170 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2171 break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2172 default: break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2173 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2174 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2175 besr.h_inc = (*(val_OV0_P1_H_INC)&0x3fff) | ((*(val_OV0_P23_H_INC)&0x3fff)<<16); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2176 besr.step_by = (*(val_OV0_P1_H_STEP_BY)&0x7) | ((*(val_OV0_P23_H_STEP_BY)&0x7)<<8); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2177 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2178 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2179 /* ********************************************************* */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2180 /* ** Setup Black Bordering */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2181 /* ********************************************************* */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2182 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2183 static void ComputeBorders( vidix_playback_t *config, int VertUVSubSample ) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2184 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2185 double tempBLANK_LINES_AT_TOP; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2186 unsigned TopLine,BottomLine,SourceLinesUsed,TopUVLine,BottomUVLine,SourceUVLinesUsed; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2187 uint32_t val_OV0_P1_ACTIVE_LINES_M1,val_OV0_P1_BLNK_LN_AT_TOP_M1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2188 uint32_t val_OV0_P23_ACTIVE_LINES_M1,val_OV0_P23_BLNK_LN_AT_TOP_M1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2189 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2190 if (floor(config->src.y)<0) { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2191 tempBLANK_LINES_AT_TOP = -floor(config->src.y); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2192 TopLine = 0; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2193 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2194 else { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2195 tempBLANK_LINES_AT_TOP = 0; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2196 TopLine = (int)floor(config->src.y); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2197 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2198 /* Round rSrcBottom up and subtract one */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2199 if (ceil(config->src.y+config->src.h) > config->src.h) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2200 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2201 BottomLine = config->src.h - 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2202 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2203 else |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2204 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2205 BottomLine = (int)ceil(config->src.y+config->src.h) - 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2206 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2207 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2208 if (BottomLine >= TopLine) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2209 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2210 SourceLinesUsed = BottomLine - TopLine + 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2211 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2212 else |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2213 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2214 /*CYCACC_ASSERT(0, "SourceLinesUsed less than or equal to zero.") */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2215 SourceLinesUsed = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2216 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2217 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2218 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2219 int SourceHeightInPixels; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2220 SourceHeightInPixels = BottomLine - TopLine + 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2221 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2222 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2223 val_OV0_P1_ACTIVE_LINES_M1 = SourceLinesUsed - 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2224 val_OV0_P1_BLNK_LN_AT_TOP_M1 = ((int)tempBLANK_LINES_AT_TOP-1) & 0xfff; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2225 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2226 TopUVLine = ((int)(config->src.y/VertUVSubSample) < 0) ? 0: (int)(config->src.y/VertUVSubSample); /* Round rSrcTop down */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2227 BottomUVLine = (ceil(((config->src.y+config->src.h)/VertUVSubSample)) > (config->src.h/VertUVSubSample)) |
23065
f1a5b0eb87cd
u_int -> unsigned int, fixes MinGW compilation (patch by Xuebin Wu)
ben
parents:
23064
diff
changeset
|
2228 ? (config->src.h/VertUVSubSample)-1 : (unsigned int)ceil(((config->src.y+config->src.h)/VertUVSubSample))-1; |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2229 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2230 if (BottomUVLine >= TopUVLine) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2231 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2232 SourceUVLinesUsed = BottomUVLine - TopUVLine + 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2233 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2234 else |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2235 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2236 /*CYCACC_ASSERT(0, "SourceUVLinesUsed less than or equal to zero.") */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2237 SourceUVLinesUsed = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2238 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2239 val_OV0_P23_ACTIVE_LINES_M1 = SourceUVLinesUsed - 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2240 val_OV0_P23_BLNK_LN_AT_TOP_M1 = ((int)(tempBLANK_LINES_AT_TOP/VertUVSubSample)-1) & 0x7ff; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2241 besr.p1_blank_lines_at_top = (val_OV0_P1_BLNK_LN_AT_TOP_M1 & 0xfff) | |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2242 ((val_OV0_P1_ACTIVE_LINES_M1 & 0xfff) << 16); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2243 besr.p23_blank_lines_at_top = (val_OV0_P23_BLNK_LN_AT_TOP_M1 & 0x7ff) | |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2244 ((val_OV0_P23_ACTIVE_LINES_M1 & 0x7ff) << 16); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2245 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2246 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2247 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2248 static void ComputeXStartEnd( |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2249 int is_400, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2250 uint32_t LeftPixel,uint32_t LeftUVPixel, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2251 uint32_t MemWordsInBytes,uint32_t BytesPerPixel, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2252 uint32_t SourceWidthInPixels, uint32_t P1StepSize, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2253 uint32_t BytesPerUVPixel,uint32_t SourceUVWidthInPixels, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2254 uint32_t P23StepSize, uint32_t *p1_x_start, uint32_t *p2_x_start ) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2255 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2256 uint32_t val_OV0_P1_X_START,val_OV0_P2_X_START,val_OV0_P3_X_START; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2257 uint32_t val_OV0_P1_X_END,val_OV0_P2_X_END,val_OV0_P3_X_END; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2258 /* ToDo_Active: At the moment we are not using iOV0_VID_BUF?_START_PIX, but instead // are using iOV0_P?_X_START and iOV0_P?_X_END. We should use "start pix" and // "width" to derive the start and end. */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2259 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2260 val_OV0_P1_X_START = (int)LeftPixel % (MemWordsInBytes/BytesPerPixel); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2261 val_OV0_P1_X_END = (int)((val_OV0_P1_X_START + SourceWidthInPixels - 1) / P1StepSize) * P1StepSize; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2262 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2263 val_OV0_P2_X_START = val_OV0_P2_X_END = 0; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2264 switch (besr.surf_id) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2265 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2266 case 9: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2267 case 10: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2268 case 13: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2269 case 14: /* ToDo_Active: The driver must insure that the initial value is */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2270 /* a multiple of a power of two when decimating */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2271 val_OV0_P2_X_START = (int)LeftUVPixel % |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2272 (MemWordsInBytes/BytesPerUVPixel); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2273 val_OV0_P2_X_END = (int)((val_OV0_P2_X_START + |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2274 SourceUVWidthInPixels - 1) / P23StepSize) * P23StepSize; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2275 break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2276 case 11: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2277 case 12: val_OV0_P2_X_START = (int)LeftUVPixel % (MemWordsInBytes/(BytesPerPixel*2)); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2278 val_OV0_P2_X_END = (int)((val_OV0_P2_X_START + SourceUVWidthInPixels - 1) / P23StepSize) * P23StepSize; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2279 break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2280 case 3: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2281 case 4: val_OV0_P2_X_START = val_OV0_P1_X_START; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2282 /* This value is needed only to allow proper setting of */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2283 /* val_OV0_PRESHIFT_P23_TO */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2284 /* val_OV0_P2_X_END = 0; */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2285 break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2286 case 6: val_OV0_P2_X_START = (int)LeftPixel % (MemWordsInBytes/BytesPerPixel); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2287 val_OV0_P2_X_END = (int)((val_OV0_P1_X_START + SourceWidthInPixels - 1) / P23StepSize) * P23StepSize; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2288 break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2289 default: /* insert debug statement here. */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2290 RADEON_ASSERT("unknown fourcc\n"); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2291 break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2292 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2293 val_OV0_P3_X_START = val_OV0_P2_X_START; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2294 val_OV0_P3_X_END = val_OV0_P2_X_END; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2295 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2296 besr.p1_x_start_end = (val_OV0_P1_X_END&0x7ff) | ((val_OV0_P1_X_START&0x7ff)<<16); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2297 besr.p2_x_start_end = (val_OV0_P2_X_END&0x7ff) | ((val_OV0_P2_X_START&0x7ff)<<16); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2298 besr.p3_x_start_end = (val_OV0_P3_X_END&0x7ff) | ((val_OV0_P3_X_START&0x7ff)<<16); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2299 if(is_400) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2300 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2301 besr.p2_x_start_end = 0; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2302 besr.p3_x_start_end = 0; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2303 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2304 *p1_x_start = val_OV0_P1_X_START; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2305 *p2_x_start = val_OV0_P2_X_START; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2306 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2307 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2308 static void ComputeAccumInit( |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2309 uint32_t val_OV0_P1_X_START,uint32_t val_OV0_P2_X_START, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2310 uint32_t val_OV0_P1_H_INC,uint32_t val_OV0_P23_H_INC, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2311 uint32_t val_OV0_P1_H_STEP_BY,uint32_t val_OV0_P23_H_STEP_BY, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2312 uint32_t CRT_V_INC, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2313 uint32_t P1GroupSize, uint32_t P23GroupSize, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2314 uint32_t val_OV0_P1_MAX_LN_IN_PER_LN_OUT, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2315 uint32_t val_OV0_P23_MAX_LN_IN_PER_LN_OUT) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2316 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2317 uint32_t val_OV0_P1_H_ACCUM_INIT,val_OV0_PRESHIFT_P1_TO; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2318 uint32_t val_OV0_P23_H_ACCUM_INIT,val_OV0_PRESHIFT_P23_TO; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2319 uint32_t val_OV0_P1_V_ACCUM_INIT,val_OV0_P23_V_ACCUM_INIT; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2320 /* 2.5 puts the kernal 50% of the way between the source pixel that is off screen */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2321 /* and the first on-screen source pixel. "(float)valOV0_P?_H_INC / (1<<0xc)" is */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2322 /* the distance (in source pixel coordinates) to the center of the first */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2323 /* destination pixel. Need to add additional pixels depending on how many pixels */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2324 /* are fetched at a time and how many pixels in a set are masked. */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2325 /* P23 values are always fetched in groups of two or four. If the start */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2326 /* pixel does not fall on the boundary, then we need to shift preshift for */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2327 /* some additional pixels */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2328 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2329 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2330 double ExtraHalfPixel; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2331 double tempAdditionalShift; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2332 double tempP1HStartPoint; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2333 double tempP23HStartPoint; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2334 double tempP1Init; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2335 double tempP23Init; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2336 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2337 if (besr.horz_pick_nearest) ExtraHalfPixel = 0.5; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2338 else ExtraHalfPixel = 0.0; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2339 tempAdditionalShift = val_OV0_P1_X_START % P1GroupSize + ExtraHalfPixel; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2340 tempP1HStartPoint = tempAdditionalShift + 2.5 + ((float)val_OV0_P1_H_INC / (1<<0xd)); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2341 tempP1Init = (double)((int)(tempP1HStartPoint * (1<<0x5) + 0.5)) / (1<<0x5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2342 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2343 /* P23 values are always fetched in pairs. If the start pixel is odd, then we */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2344 /* need to shift an additional pixel */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2345 /* Note that if the pitch is a multiple of two, and if we store fields using */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2346 /* the traditional planer format where the V plane and the U plane share the */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2347 /* same pitch, then OverlayRegFields->val_OV0_P2_X_START % P23Group */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2348 /* OverlayRegFields->val_OV0_P3_X_START % P23GroupSize. Either way */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2349 /* it is a requirement that the U and V start on the same polarity byte */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2350 /* (even or odd). */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2351 tempAdditionalShift = val_OV0_P2_X_START % P23GroupSize + ExtraHalfPixel; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2352 tempP23HStartPoint = tempAdditionalShift + 2.5 + ((float)val_OV0_P23_H_INC / (1<<0xd)); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2353 tempP23Init = (double)((int)(tempP23HStartPoint * (1<<0x5) + 0.5)) / (1 << 0x5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2354 val_OV0_P1_H_ACCUM_INIT = (int)((tempP1Init - (int)tempP1Init) * (1<<0x5)); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2355 val_OV0_PRESHIFT_P1_TO = (int)tempP1Init; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2356 val_OV0_P23_H_ACCUM_INIT = (int)((tempP23Init - (int)tempP23Init) * (1<<0x5)); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2357 val_OV0_PRESHIFT_P23_TO = (int)tempP23Init; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2358 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2359 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2360 /* ************************************************************** */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2361 /* ** Calculate values for initializing the vertical accumulators */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2362 /* ************************************************************** */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2363 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2364 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2365 double ExtraHalfLine; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2366 double ExtraFullLine; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2367 double tempP1VStartPoint; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2368 double tempP23VStartPoint; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2369 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2370 if (besr.vert_pick_nearest) ExtraHalfLine = 0.5; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2371 else ExtraHalfLine = 0.0; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2372 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2373 if (val_OV0_P1_H_STEP_BY==0)ExtraFullLine = 1.0; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2374 else ExtraFullLine = 0.0; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2375 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2376 tempP1VStartPoint = 1.5 + ExtraFullLine + ExtraHalfLine + ((float)CRT_V_INC / (1<<0xd)); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2377 if (tempP1VStartPoint>2.5 + 2*ExtraFullLine) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2378 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2379 tempP1VStartPoint = 2.5 + 2*ExtraFullLine; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2380 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2381 val_OV0_P1_V_ACCUM_INIT = (int)(tempP1VStartPoint * (1<<0x5) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2382 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2383 if (val_OV0_P23_H_STEP_BY==0)ExtraFullLine = 1.0; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2384 else ExtraFullLine = 0.0; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2385 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2386 switch (besr.surf_id) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2387 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2388 case 10: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2389 case 13: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2390 case 14: tempP23VStartPoint = 1.5 + ExtraFullLine + ExtraHalfLine + |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2391 ((float)CRT_V_INC / (1<<0xe)); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2392 break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2393 case 9: tempP23VStartPoint = 1.5 + ExtraFullLine + ExtraHalfLine + |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2394 ((float)CRT_V_INC / (1<<0xf)); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2395 break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2396 case 3: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2397 case 4: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2398 case 6: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2399 case 11: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2400 case 12: tempP23VStartPoint = 0; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2401 break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2402 default: tempP23VStartPoint = 0xFFFF;/* insert debug statement here */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2403 break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2404 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2405 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2406 if (tempP23VStartPoint>2.5 + 2*ExtraFullLine) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2407 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2408 tempP23VStartPoint = 2.5 + 2*ExtraFullLine; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2409 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2410 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2411 val_OV0_P23_V_ACCUM_INIT = (int)(tempP23VStartPoint * (1<<0x5) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2412 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2413 besr.p1_h_accum_init = ((val_OV0_P1_H_ACCUM_INIT&0x1f)<<15) |((val_OV0_PRESHIFT_P1_TO&0xf)<<28); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2414 besr.p1_v_accum_init = (val_OV0_P1_MAX_LN_IN_PER_LN_OUT&0x3) |((val_OV0_P1_V_ACCUM_INIT&0x7ff)<<15); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2415 besr.p23_h_accum_init= ((val_OV0_P23_H_ACCUM_INIT&0x1f)<<15) |((val_OV0_PRESHIFT_P23_TO&0xf)<<28); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2416 besr.p23_v_accum_init= (val_OV0_P23_MAX_LN_IN_PER_LN_OUT&0x3)|((val_OV0_P23_V_ACCUM_INIT&0x3ff)<<15); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2417 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2418 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2419 typedef struct RangeAndCoefSet { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2420 double Range; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2421 signed char CoefSet[5][4]; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2422 } RANGEANDCOEFSET; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2423 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2424 /* Filter Setup Routine */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2425 static void FilterSetup ( uint32_t val_OV0_P1_H_INC ) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2426 { |
25718
8eddf6a9af7f
Make some radeon vidix driver tables static and const
reimar
parents:
25415
diff
changeset
|
2427 static const RANGEANDCOEFSET ArrayOfSets[] = { |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2428 {0.25, {{ 7, 16, 9, 0}, { 7, 16, 9, 0}, { 5, 15, 11, 1}, { 4, 15, 12, 1}, { 3, 13, 13, 3}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2429 {0.26, {{ 7, 16, 9, 0}, { 7, 16, 9, 0}, { 5, 15, 11, 1}, { 4, 15, 12, 1}, { 3, 13, 13, 3}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2430 {0.27, {{ 7, 16, 9, 0}, { 7, 16, 9, 0}, { 5, 15, 11, 1}, { 4, 15, 12, 1}, { 3, 13, 13, 3}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2431 {0.28, {{ 7, 16, 9, 0}, { 7, 16, 9, 0}, { 5, 15, 11, 1}, { 4, 15, 12, 1}, { 3, 13, 13, 3}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2432 {0.29, {{ 7, 16, 9, 0}, { 7, 16, 9, 0}, { 5, 15, 11, 1}, { 4, 15, 12, 1}, { 3, 13, 13, 3}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2433 {0.30, {{ 7, 16, 9, 0}, { 7, 16, 9, 0}, { 5, 15, 11, 1}, { 4, 15, 12, 1}, { 3, 13, 13, 3}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2434 {0.31, {{ 7, 16, 9, 0}, { 7, 16, 9, 0}, { 5, 15, 11, 1}, { 4, 15, 12, 1}, { 3, 13, 13, 3}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2435 {0.32, {{ 7, 16, 9, 0}, { 7, 16, 9, 0}, { 5, 15, 11, 1}, { 4, 15, 12, 1}, { 3, 13, 13, 3}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2436 {0.33, {{ 7, 16, 9, 0}, { 7, 16, 9, 0}, { 5, 15, 11, 1}, { 4, 15, 12, 1}, { 3, 13, 13, 3}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2437 {0.34, {{ 7, 16, 9, 0}, { 7, 16, 9, 0}, { 5, 15, 11, 1}, { 4, 15, 12, 1}, { 3, 13, 13, 3}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2438 {0.35, {{ 7, 16, 9, 0}, { 7, 16, 9, 0}, { 5, 15, 11, 1}, { 4, 15, 12, 1}, { 3, 13, 13, 3}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2439 {0.36, {{ 7, 16, 9, 0}, { 7, 16, 9, 0}, { 5, 15, 11, 1}, { 4, 15, 12, 1}, { 3, 13, 13, 3}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2440 {0.37, {{ 7, 16, 9, 0}, { 7, 16, 9, 0}, { 5, 15, 11, 1}, { 4, 15, 12, 1}, { 3, 13, 13, 3}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2441 {0.38, {{ 7, 16, 9, 0}, { 7, 16, 9, 0}, { 5, 15, 11, 1}, { 4, 15, 12, 1}, { 3, 13, 13, 3}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2442 {0.39, {{ 7, 16, 9, 0}, { 7, 16, 9, 0}, { 5, 15, 11, 1}, { 4, 15, 12, 1}, { 3, 13, 13, 3}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2443 {0.40, {{ 7, 16, 9, 0}, { 7, 16, 9, 0}, { 5, 15, 11, 1}, { 4, 15, 12, 1}, { 3, 13, 13, 3}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2444 {0.41, {{ 7, 16, 9, 0}, { 7, 16, 9, 0}, { 5, 15, 11, 1}, { 4, 15, 12, 1}, { 3, 13, 13, 3}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2445 {0.42, {{ 7, 16, 9, 0}, { 7, 16, 9, 0}, { 5, 15, 11, 1}, { 4, 15, 12, 1}, { 3, 13, 13, 3}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2446 {0.43, {{ 7, 16, 9, 0}, { 7, 16, 9, 0}, { 5, 15, 11, 1}, { 4, 15, 12, 1}, { 3, 13, 13, 3}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2447 {0.44, {{ 7, 16, 9, 0}, { 7, 16, 9, 0}, { 5, 15, 11, 1}, { 4, 15, 12, 1}, { 3, 13, 13, 3}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2448 {0.45, {{ 7, 16, 9, 0}, { 7, 16, 9, 0}, { 5, 15, 11, 1}, { 4, 15, 12, 1}, { 3, 13, 13, 3}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2449 {0.46, {{ 7, 16, 9, 0}, { 7, 16, 9, 0}, { 5, 15, 11, 1}, { 4, 15, 12, 1}, { 3, 13, 13, 3}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2450 {0.47, {{ 7, 16, 9, 0}, { 7, 16, 9, 0}, { 5, 15, 11, 1}, { 4, 15, 12, 1}, { 3, 13, 13, 3}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2451 {0.48, {{ 7, 16, 9, 0}, { 7, 16, 9, 0}, { 5, 15, 11, 1}, { 4, 15, 12, 1}, { 3, 13, 13, 3}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2452 {0.49, {{ 7, 16, 9, 0}, { 7, 16, 9, 0}, { 5, 15, 11, 1}, { 4, 15, 12, 1}, { 3, 13, 13, 3}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2453 {0.50, {{ 7, 16, 9, 0}, { 7, 16, 9, 0}, { 5, 15, 11, 1}, { 4, 15, 12, 1}, { 3, 13, 13, 3}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2454 {0.51, {{ 7, 17, 8, 0}, { 6, 17, 9, 0}, { 5, 15, 11, 1}, { 4, 15, 12, 1}, { 2, 14, 14, 2}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2455 {0.52, {{ 7, 17, 8, 0}, { 6, 17, 9, 0}, { 5, 16, 11, 0}, { 3, 15, 13, 1}, { 2, 14, 14, 2}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2456 {0.53, {{ 7, 17, 8, 0}, { 6, 17, 9, 0}, { 5, 16, 11, 0}, { 3, 15, 13, 1}, { 2, 14, 14, 2}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2457 {0.54, {{ 7, 17, 8, 0}, { 6, 17, 9, 0}, { 4, 17, 11, 0}, { 3, 15, 13, 1}, { 2, 14, 14, 2}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2458 {0.55, {{ 7, 18, 7, 0}, { 6, 17, 9, 0}, { 4, 17, 11, 0}, { 3, 15, 13, 1}, { 1, 15, 15, 1}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2459 {0.56, {{ 7, 18, 7, 0}, { 5, 18, 9, 0}, { 4, 17, 11, 0}, { 2, 17, 13, 0}, { 1, 15, 15, 1}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2460 {0.57, {{ 7, 18, 7, 0}, { 5, 18, 9, 0}, { 4, 17, 11, 0}, { 2, 17, 13, 0}, { 1, 15, 15, 1}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2461 {0.58, {{ 7, 18, 7, 0}, { 5, 18, 9, 0}, { 4, 17, 11, 0}, { 2, 17, 13, 0}, { 1, 15, 15, 1}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2462 {0.59, {{ 7, 18, 7, 0}, { 5, 18, 9, 0}, { 4, 17, 11, 0}, { 2, 17, 13, 0}, { 1, 15, 15, 1}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2463 {0.60, {{ 7, 18, 8, -1}, { 6, 17, 10, -1}, { 4, 17, 11, 0}, { 2, 17, 13, 0}, { 1, 15, 15, 1}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2464 {0.61, {{ 7, 18, 8, -1}, { 6, 17, 10, -1}, { 4, 17, 11, 0}, { 2, 17, 13, 0}, { 1, 15, 15, 1}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2465 {0.62, {{ 7, 18, 8, -1}, { 6, 17, 10, -1}, { 4, 17, 11, 0}, { 2, 17, 13, 0}, { 1, 15, 15, 1}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2466 {0.63, {{ 7, 18, 8, -1}, { 6, 17, 10, -1}, { 4, 17, 11, 0}, { 2, 17, 13, 0}, { 1, 15, 15, 1}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2467 {0.64, {{ 7, 18, 8, -1}, { 6, 17, 10, -1}, { 4, 17, 12, -1}, { 2, 17, 13, 0}, { 1, 15, 15, 1}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2468 {0.65, {{ 7, 18, 8, -1}, { 6, 17, 10, -1}, { 4, 17, 12, -1}, { 2, 17, 13, 0}, { 0, 16, 16, 0}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2469 {0.66, {{ 7, 18, 8, -1}, { 6, 18, 10, -2}, { 4, 17, 12, -1}, { 2, 17, 13, 0}, { 0, 16, 16, 0}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2470 {0.67, {{ 7, 20, 7, -2}, { 5, 19, 10, -2}, { 3, 18, 12, -1}, { 2, 17, 13, 0}, { 0, 16, 16, 0}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2471 {0.68, {{ 7, 20, 7, -2}, { 5, 19, 10, -2}, { 3, 19, 12, -2}, { 1, 18, 14, -1}, { 0, 16, 16, 0}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2472 {0.69, {{ 7, 20, 7, -2}, { 5, 19, 10, -2}, { 3, 19, 12, -2}, { 1, 18, 14, -1}, { 0, 16, 16, 0}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2473 {0.70, {{ 7, 20, 7, -2}, { 5, 20, 9, -2}, { 3, 19, 12, -2}, { 1, 18, 14, -1}, { 0, 16, 16, 0}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2474 {0.71, {{ 7, 20, 7, -2}, { 5, 20, 9, -2}, { 3, 19, 12, -2}, { 1, 18, 14, -1}, { 0, 16, 16, 0}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2475 {0.72, {{ 7, 20, 7, -2}, { 5, 20, 9, -2}, { 2, 20, 12, -2}, { 0, 19, 15, -2}, {-1, 17, 17, -1}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2476 {0.73, {{ 7, 20, 7, -2}, { 4, 21, 9, -2}, { 2, 20, 12, -2}, { 0, 19, 15, -2}, {-1, 17, 17, -1}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2477 {0.74, {{ 6, 22, 6, -2}, { 4, 21, 9, -2}, { 2, 20, 12, -2}, { 0, 19, 15, -2}, {-1, 17, 17, -1}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2478 {0.75, {{ 6, 22, 6, -2}, { 4, 21, 9, -2}, { 1, 21, 12, -2}, { 0, 19, 15, -2}, {-1, 17, 17, -1}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2479 {0.76, {{ 6, 22, 6, -2}, { 4, 21, 9, -2}, { 1, 21, 12, -2}, { 0, 19, 15, -2}, {-1, 17, 17, -1}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2480 {0.77, {{ 6, 22, 6, -2}, { 3, 22, 9, -2}, { 1, 22, 12, -3}, { 0, 19, 15, -2}, {-2, 18, 18, -2}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2481 {0.78, {{ 6, 21, 6, -1}, { 3, 22, 9, -2}, { 1, 22, 12, -3}, { 0, 19, 15, -2}, {-2, 18, 18, -2}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2482 {0.79, {{ 5, 23, 5, -1}, { 3, 22, 9, -2}, { 0, 23, 12, -3}, {-1, 21, 15, -3}, {-2, 18, 18, -2}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2483 {0.80, {{ 5, 23, 5, -1}, { 3, 23, 8, -2}, { 0, 23, 12, -3}, {-1, 21, 15, -3}, {-2, 18, 18, -2}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2484 {0.81, {{ 5, 23, 5, -1}, { 2, 24, 8, -2}, { 0, 23, 12, -3}, {-1, 21, 15, -3}, {-2, 18, 18, -2}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2485 {0.82, {{ 5, 23, 5, -1}, { 2, 24, 8, -2}, { 0, 23, 12, -3}, {-1, 21, 15, -3}, {-3, 19, 19, -3}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2486 {0.83, {{ 5, 23, 5, -1}, { 2, 24, 8, -2}, { 0, 23, 11, -2}, {-2, 22, 15, -3}, {-3, 19, 19, -3}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2487 {0.84, {{ 4, 25, 4, -1}, { 1, 25, 8, -2}, { 0, 23, 11, -2}, {-2, 22, 15, -3}, {-3, 19, 19, -3}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2488 {0.85, {{ 4, 25, 4, -1}, { 1, 25, 8, -2}, { 0, 23, 11, -2}, {-2, 22, 15, -3}, {-3, 19, 19, -3}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2489 {0.86, {{ 4, 24, 4, 0}, { 1, 25, 7, -1}, {-1, 24, 11, -2}, {-2, 22, 15, -3}, {-3, 19, 19, -3}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2490 {0.87, {{ 4, 24, 4, 0}, { 1, 25, 7, -1}, {-1, 24, 11, -2}, {-2, 22, 15, -3}, {-3, 19, 19, -3}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2491 {0.88, {{ 3, 26, 3, 0}, { 0, 26, 7, -1}, {-1, 24, 11, -2}, {-3, 23, 15, -3}, {-3, 19, 19, -3}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2492 {0.89, {{ 3, 26, 3, 0}, { 0, 26, 7, -1}, {-1, 24, 11, -2}, {-3, 23, 15, -3}, {-3, 19, 19, -3}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2493 {0.90, {{ 3, 26, 3, 0}, { 0, 26, 7, -1}, {-2, 25, 11, -2}, {-3, 23, 15, -3}, {-3, 19, 19, -3}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2494 {0.91, {{ 3, 26, 3, 0}, { 0, 27, 6, -1}, {-2, 25, 11, -2}, {-3, 23, 15, -3}, {-3, 19, 19, -3}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2495 {0.92, {{ 2, 28, 2, 0}, { 0, 27, 6, -1}, {-2, 25, 11, -2}, {-3, 23, 15, -3}, {-3, 19, 19, -3}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2496 {0.93, {{ 2, 28, 2, 0}, { 0, 26, 6, 0}, {-2, 25, 10, -1}, {-3, 23, 15, -3}, {-3, 19, 19, -3}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2497 {0.94, {{ 2, 28, 2, 0}, { 0, 26, 6, 0}, {-2, 25, 10, -1}, {-3, 23, 15, -3}, {-3, 19, 19, -3}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2498 {0.95, {{ 1, 30, 1, 0}, {-1, 28, 5, 0}, {-3, 26, 10, -1}, {-3, 23, 14, -2}, {-3, 19, 19, -3}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2499 {0.96, {{ 1, 30, 1, 0}, {-1, 28, 5, 0}, {-3, 26, 10, -1}, {-3, 23, 14, -2}, {-3, 19, 19, -3}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2500 {0.97, {{ 1, 30, 1, 0}, {-1, 28, 5, 0}, {-3, 26, 10, -1}, {-3, 23, 14, -2}, {-3, 19, 19, -3}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2501 {0.98, {{ 1, 30, 1, 0}, {-2, 29, 5, 0}, {-3, 27, 9, -1}, {-3, 23, 14, -2}, {-3, 19, 19, -3}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2502 {0.99, {{ 0, 32, 0, 0}, {-2, 29, 5, 0}, {-3, 27, 9, -1}, {-4, 24, 14, -2}, {-3, 19, 19, -3}, }}, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2503 {1.00, {{ 0, 32, 0, 0}, {-2, 29, 5, 0}, {-3, 27, 9, -1}, {-4, 24, 14, -2}, {-3, 19, 19, -3}, }} |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2504 }; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2505 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2506 double DSR; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2507 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2508 unsigned ArrayElement; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2509 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2510 DSR = (double)(1<<0xc)/val_OV0_P1_H_INC; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2511 if (DSR<.25) DSR=.25; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2512 if (DSR>1) DSR=1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2513 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2514 ArrayElement = (int)((DSR-0.25) * 100); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2515 besr.four_tap_coeff[0] = (ArrayOfSets[ArrayElement].CoefSet[0][0] & 0xf) | |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2516 ((ArrayOfSets[ArrayElement].CoefSet[0][1] & 0x7f)<<8) | |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2517 ((ArrayOfSets[ArrayElement].CoefSet[0][2] & 0x7f)<<16) | |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2518 ((ArrayOfSets[ArrayElement].CoefSet[0][3] & 0xf)<<24); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2519 besr.four_tap_coeff[1] = (ArrayOfSets[ArrayElement].CoefSet[1][0] & 0xf) | |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2520 ((ArrayOfSets[ArrayElement].CoefSet[1][1] & 0x7f)<<8) | |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2521 ((ArrayOfSets[ArrayElement].CoefSet[1][2] & 0x7f)<<16) | |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2522 ((ArrayOfSets[ArrayElement].CoefSet[1][3] & 0xf)<<24); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2523 besr.four_tap_coeff[2] = (ArrayOfSets[ArrayElement].CoefSet[2][0] & 0xf) | |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2524 ((ArrayOfSets[ArrayElement].CoefSet[2][1] & 0x7f)<<8) | |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2525 ((ArrayOfSets[ArrayElement].CoefSet[2][2] & 0x7f)<<16) | |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2526 ((ArrayOfSets[ArrayElement].CoefSet[2][3] & 0xf)<<24); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2527 besr.four_tap_coeff[3] = (ArrayOfSets[ArrayElement].CoefSet[3][0] & 0xf) | |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2528 ((ArrayOfSets[ArrayElement].CoefSet[3][1] & 0x7f)<<8) | |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2529 ((ArrayOfSets[ArrayElement].CoefSet[3][2] & 0x7f)<<16) | |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2530 ((ArrayOfSets[ArrayElement].CoefSet[3][3] & 0xf)<<24); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2531 besr.four_tap_coeff[4] = (ArrayOfSets[ArrayElement].CoefSet[4][0] & 0xf) | |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2532 ((ArrayOfSets[ArrayElement].CoefSet[4][1] & 0x7f)<<8) | |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2533 ((ArrayOfSets[ArrayElement].CoefSet[4][2] & 0x7f)<<16) | |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2534 ((ArrayOfSets[ArrayElement].CoefSet[4][3] & 0xf)<<24); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2535 /* |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2536 For more details, refer to Microsoft's draft of PC99. |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2537 */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2538 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2539 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2540 /* The minimal value of horizontal scale ratio when hard coded coefficients |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2541 are suitable for the best quality. */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2542 /* FIXME: Should it be 0.9 for Rage128 ??? */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2543 static const double MinHScaleHard=0.75; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2544 |
22850 | 2545 static int radeon_vid_init_video( vidix_playback_t *config ) |
2546 { | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2547 double V_scale_ratio; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2548 uint32_t i,src_w,src_h,dest_w,dest_h,pitch,left,leftUV,top,h_inc; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2549 uint32_t val_OV0_P1_H_INC=0,val_OV0_P1_H_STEP_BY=0,val_OV0_P23_H_INC=0,val_OV0_P23_H_STEP_BY=0; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2550 uint32_t val_OV0_P1_X_START,val_OV0_P2_X_START; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2551 uint32_t val_OV0_P1_MAX_LN_IN_PER_LN_OUT,val_OV0_P23_MAX_LN_IN_PER_LN_OUT; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2552 uint32_t CRT_V_INC; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2553 uint32_t BytesPerOctWord,LogMemWordsInBytes,MemWordsInBytes,LogTileWidthInMemWords; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2554 uint32_t TileWidthInMemWords,TileWidthInBytes,LogTileHeight,TileHeight; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2555 uint32_t PageSizeInBytes,OV0LB_Rows; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2556 uint32_t SourceWidthInMemWords,SourceUVWidthInMemWords; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2557 uint32_t SourceWidthInPixels,SourceUVWidthInPixels; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2558 uint32_t RightPixel,RightUVPixel,LeftPixel,LeftUVPixel; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2559 int is_400,is_410,is_420,best_pitch,mpitch; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2560 int horz_repl_factor,interlace_factor; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2561 int BytesPerPixel,BytesPerUVPixel,HorzUVSubSample,VertUVSubSample; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2562 int DisallowFourTapVertFiltering,DisallowFourTapUVVertFiltering; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2563 |
22850 | 2564 radeon_vid_stop_video(); |
2565 left = config->src.x << 16; | |
2566 top = config->src.y << 16; | |
2567 src_h = config->src.h; | |
2568 src_w = config->src.w; | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2569 is_400 = is_410 = is_420 = 0; |
22850 | 2570 if(config->fourcc == IMGFMT_YV12 || |
2571 config->fourcc == IMGFMT_I420 || | |
2572 config->fourcc == IMGFMT_IYUV) is_420 = 1; | |
2573 if(config->fourcc == IMGFMT_YVU9 || | |
2574 config->fourcc == IMGFMT_IF09) is_410 = 1; | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2575 if(config->fourcc == IMGFMT_Y800) is_400 = 1; |
22850 | 2576 best_pitch = radeon_query_pitch(config->fourcc,&config->src.pitch); |
2577 mpitch = best_pitch-1; | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2578 BytesPerOctWord = 16; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2579 LogMemWordsInBytes = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2580 MemWordsInBytes = 1<<LogMemWordsInBytes; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2581 LogTileWidthInMemWords = 2; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2582 TileWidthInMemWords = 1<<LogTileWidthInMemWords; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2583 TileWidthInBytes = 1<<(LogTileWidthInMemWords+LogMemWordsInBytes); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2584 LogTileHeight = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2585 TileHeight = 1<<LogTileHeight; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2586 PageSizeInBytes = 64*MemWordsInBytes; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2587 OV0LB_Rows = 96; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2588 h_inc = 1; |
22850 | 2589 switch(config->fourcc) |
2590 { | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2591 /* 4:0:0*/ |
22850 | 2592 case IMGFMT_Y800: |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2593 /* 4:1:0*/ |
22850 | 2594 case IMGFMT_YVU9: |
2595 case IMGFMT_IF09: | |
2596 /* 4:2:0 */ | |
2597 case IMGFMT_IYUV: | |
2598 case IMGFMT_YV12: | |
2599 case IMGFMT_I420: pitch = (src_w + mpitch) & ~mpitch; | |
2600 config->dest.pitch.y = | |
2601 config->dest.pitch.u = | |
2602 config->dest.pitch.v = best_pitch; | |
2603 break; | |
2604 /* RGB 4:4:4:4 */ | |
2605 case IMGFMT_RGB32: | |
2606 case IMGFMT_BGR32: pitch = (src_w*4 + mpitch) & ~mpitch; | |
2607 config->dest.pitch.y = | |
2608 config->dest.pitch.u = | |
2609 config->dest.pitch.v = best_pitch; | |
2610 break; | |
2611 /* 4:2:2 */ | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2612 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2613 default: /* RGB15, RGB16, YVYU, UYVY, YUY2 */ |
22850 | 2614 pitch = ((src_w*2) + mpitch) & ~mpitch; |
2615 config->dest.pitch.y = | |
2616 config->dest.pitch.u = | |
2617 config->dest.pitch.v = best_pitch; | |
2618 break; | |
2619 } | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2620 besr.load_prg_start=0; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2621 besr.swap_uv=0; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2622 switch(config->fourcc) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2623 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2624 case IMGFMT_RGB15: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2625 besr.swap_uv=1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2626 case IMGFMT_BGR15: besr.surf_id = SCALER_SOURCE_15BPP>>8; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2627 besr.load_prg_start = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2628 break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2629 case IMGFMT_RGB16: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2630 besr.swap_uv=1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2631 case IMGFMT_BGR16: besr.surf_id = SCALER_SOURCE_16BPP>>8; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2632 besr.load_prg_start = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2633 break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2634 case IMGFMT_RGB32: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2635 besr.swap_uv=1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2636 case IMGFMT_BGR32: besr.surf_id = SCALER_SOURCE_32BPP>>8; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2637 besr.load_prg_start = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2638 break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2639 /* 4:1:0*/ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2640 case IMGFMT_IF09: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2641 case IMGFMT_YVU9: besr.surf_id = SCALER_SOURCE_YUV9>>8; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2642 break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2643 /* 4:0:0*/ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2644 case IMGFMT_Y800: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2645 /* 4:2:0 */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2646 case IMGFMT_IYUV: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2647 case IMGFMT_I420: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2648 case IMGFMT_YV12: besr.surf_id = SCALER_SOURCE_YUV12>>8; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2649 break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2650 /* 4:2:2 */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2651 case IMGFMT_YVYU: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2652 case IMGFMT_UYVY: besr.surf_id = SCALER_SOURCE_YVYU422>>8; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2653 break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2654 case IMGFMT_YUY2: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2655 default: besr.surf_id = SCALER_SOURCE_VYUY422>>8; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2656 break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2657 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2658 switch (besr.surf_id) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2659 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2660 case 3: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2661 case 4: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2662 case 11: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2663 case 12: BytesPerPixel = 2; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2664 break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2665 case 6: BytesPerPixel = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2666 break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2667 case 9: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2668 case 10: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2669 case 13: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2670 case 14: BytesPerPixel = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2671 break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2672 default: BytesPerPixel = 0;/*insert a debug statement here. */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2673 break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2674 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2675 switch (besr.surf_id) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2676 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2677 case 3: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2678 case 4: BytesPerUVPixel = 0; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2679 break;/* In RGB modes, the BytesPerUVPixel is don't care */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2680 case 11: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2681 case 12: BytesPerUVPixel = 2; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2682 break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2683 case 6: BytesPerUVPixel = 0; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2684 break; /* In RGB modes, the BytesPerUVPixel is don't care */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2685 case 9: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2686 case 10: BytesPerUVPixel = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2687 break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2688 case 13: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2689 case 14: BytesPerUVPixel = 2; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2690 break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2691 default: BytesPerUVPixel = 0;/* insert a debug statement here. */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2692 break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2693 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2694 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2695 switch (besr.surf_id) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2696 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2697 case 3: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2698 case 4: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2699 case 6: HorzUVSubSample = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2700 break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2701 case 9: HorzUVSubSample = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2702 break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2703 case 10: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2704 case 11: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2705 case 12: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2706 case 13: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2707 case 14: HorzUVSubSample = 2; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2708 break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2709 default: HorzUVSubSample = 0;/* insert debug statement here. */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2710 break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2711 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2712 switch (besr.surf_id) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2713 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2714 case 3: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2715 case 4: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2716 case 6: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2717 case 11: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2718 case 12: VertUVSubSample = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2719 break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2720 case 9: VertUVSubSample = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2721 break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2722 case 10: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2723 case 13: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2724 case 14: VertUVSubSample = 2; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2725 break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2726 default: VertUVSubSample = 0;/* insert debug statment here. */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2727 break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2728 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2729 DisallowFourTapVertFiltering = 0; /* Allow it by default */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2730 DisallowFourTapUVVertFiltering = 0; /* Allow it by default */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2731 LeftPixel = config->src.x; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2732 RightPixel = config->src.w-1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2733 if(floor(config->src.x/HorzUVSubSample)<0) LeftUVPixel = 0; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2734 else LeftUVPixel = (int)floor(config->src.x/HorzUVSubSample); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2735 if(ceil((config->src.x+config->src.w)/HorzUVSubSample) > config->src.w/HorzUVSubSample) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2736 RightUVPixel = config->src.w/HorzUVSubSample - 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2737 else RightUVPixel = (int)ceil((config->src.x+config->src.w)/HorzUVSubSample) - 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2738 /* Top, Bottom and Right Crops can be out of range. The driver will program the hardware |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2739 // to create a black border at the top and bottom. This is useful for DVD letterboxing. */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2740 SourceWidthInPixels = (int)(config->src.w + 1); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2741 SourceUVWidthInPixels = (int)(RightUVPixel - LeftUVPixel + 1); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2742 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2743 SourceWidthInMemWords = (int)(ceil(RightPixel*BytesPerPixel / MemWordsInBytes) - |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2744 floor(LeftPixel*BytesPerPixel / MemWordsInBytes) + 1); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2745 /* SourceUVWidthInMemWords means Source_U_or_V_or_UV_WidthInMemWords depending on whether the UV is packed together of not. */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2746 SourceUVWidthInMemWords = (int)(ceil(RightUVPixel*BytesPerUVPixel / |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2747 MemWordsInBytes) - floor(LeftUVPixel*BytesPerUVPixel / |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2748 MemWordsInBytes) + 1); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2749 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2750 switch (besr.surf_id) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2751 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2752 case 9: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2753 case 10: if ((ceil(SourceWidthInMemWords/2)-1) * 2 > OV0LB_Rows-1) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2754 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2755 RADEON_ASSERT("ceil(SourceWidthInMemWords/2)-1) * 2 > OV0LB_Rows-1\n"); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2756 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2757 else if ((SourceWidthInMemWords-1) * 2 > OV0LB_Rows-1) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2758 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2759 DisallowFourTapVertFiltering = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2760 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2761 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2762 if ((ceil(SourceUVWidthInMemWords/2)-1) * 4 + 1 > OV0LB_Rows-1) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2763 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2764 /*CYCACC_ASSERT(0, "Image U plane width spans more octwords than supported by hardware.") */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2765 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2766 else if ((SourceUVWidthInMemWords-1) * 4 + 1 > OV0LB_Rows-1) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2767 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2768 DisallowFourTapUVVertFiltering = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2769 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2770 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2771 if ((ceil(SourceUVWidthInMemWords/2)-1) * 4 + 3 > OV0LB_Rows-1) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2772 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2773 /*CYCACC_ASSERT(0, "Image V plane width spans more octwords than supported by hardware.") */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2774 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2775 else if ((SourceUVWidthInMemWords-1) * 4 + 3 > OV0LB_Rows-1) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2776 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2777 DisallowFourTapUVVertFiltering = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2778 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2779 break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2780 case 13: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2781 case 14: if ((ceil(SourceWidthInMemWords/2)-1) * 2 > OV0LB_Rows-1) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2782 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2783 RADEON_ASSERT("ceil(SourceWidthInMemWords/2)-1) * 2 > OV0LB_Rows-1\n"); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2784 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2785 else if ((SourceWidthInMemWords-1) * 2 > OV0LB_Rows-1) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2786 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2787 DisallowFourTapVertFiltering = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2788 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2789 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2790 if ((ceil(SourceUVWidthInMemWords/2)-1) * 2 + 1 > OV0LB_Rows-1) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2791 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2792 /*CYCACC_ASSERT(0, "Image UV plane width spans more octwords than supported by hardware.") */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2793 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2794 else if ((SourceUVWidthInMemWords-1) * 2 + 1 > OV0LB_Rows-1) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2795 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2796 DisallowFourTapUVVertFiltering = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2797 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2798 break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2799 case 3: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2800 case 4: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2801 case 6: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2802 case 11: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2803 case 12: if ((ceil(SourceWidthInMemWords/2)-1) > OV0LB_Rows-1) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2804 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2805 RADEON_ASSERT("(ceil(SourceWidthInMemWords/2)-1) > OV0LB_Rows-1\n") |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2806 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2807 else if ((SourceWidthInMemWords-1) > OV0LB_Rows-1) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2808 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2809 DisallowFourTapVertFiltering = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2810 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2811 break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2812 default: /* insert debug statement here. */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2813 break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2814 } |
22850 | 2815 dest_w = config->dest.w; |
2816 dest_h = config->dest.h; | |
2817 if(radeon_is_dbl_scan()) dest_h *= 2; | |
2818 besr.dest_bpp = radeon_vid_get_dbpp(); | |
2819 besr.fourcc = config->fourcc; | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2820 if(radeon_is_interlace()) interlace_factor = 2; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2821 else interlace_factor = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2822 /* TODO: must be checked in doublescan mode!!! */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2823 if((besr.chip_flags&R_INTEGRATED)==R_INTEGRATED) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2824 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2825 /* Force the overlay clock on for integrated chips */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2826 OUTPLL(VCLK_ECP_CNTL, (INPLL(VCLK_ECP_CNTL) | (1<<18))); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2827 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2828 horz_repl_factor = 1 << (uint32_t)((INPLL(VCLK_ECP_CNTL) & 0x300) >> 8); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2829 H_scale_ratio = (double)ceil(((double)dest_w+1)/horz_repl_factor)/src_w; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2830 V_scale_ratio = (double)(dest_h+1)/src_h; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2831 if(H_scale_ratio < 0.5 && V_scale_ratio < 0.5) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2832 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2833 val_OV0_P1_MAX_LN_IN_PER_LN_OUT = 3; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2834 val_OV0_P23_MAX_LN_IN_PER_LN_OUT = 2; |
22850 | 2835 } |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2836 else |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2837 if(H_scale_ratio < 1 && V_scale_ratio < 1) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2838 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2839 val_OV0_P1_MAX_LN_IN_PER_LN_OUT = 2; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2840 val_OV0_P23_MAX_LN_IN_PER_LN_OUT = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2841 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2842 else |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2843 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2844 val_OV0_P1_MAX_LN_IN_PER_LN_OUT = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2845 val_OV0_P23_MAX_LN_IN_PER_LN_OUT = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2846 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2847 /* N.B.: Indeed it has 6.12 format but shifted on 8 to the left!!! */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2848 besr.v_inc = (uint16_t)((1./V_scale_ratio)*(1<<12)*interlace_factor+0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2849 CRT_V_INC = besr.v_inc/interlace_factor; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2850 besr.v_inc <<= 8; |
22850 | 2851 { |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2852 int ThereIsTwoTapVerticalFiltering,DoNotUseMostRecentlyFetchedLine; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2853 int P1GroupSize = 0; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2854 int P23GroupSize; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2855 int P1StepSize = 0; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2856 int P23StepSize = 0; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2857 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2858 Calc_H_INC_STEP_BY( |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2859 besr.surf_id, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2860 H_scale_ratio, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2861 DisallowFourTapVertFiltering, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2862 DisallowFourTapUVVertFiltering, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2863 &val_OV0_P1_H_INC, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2864 &val_OV0_P1_H_STEP_BY, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2865 &val_OV0_P23_H_INC, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2866 &val_OV0_P23_H_STEP_BY, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2867 &P1GroupSize, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2868 &P1StepSize, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2869 &P23StepSize); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2870 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2871 if(H_scale_ratio > MinHScaleHard) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2872 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2873 h_inc = (src_w << 12) / dest_w; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2874 besr.step_by = 0x0101; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2875 switch (besr.surf_id) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2876 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2877 case 3: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2878 case 4: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2879 case 6: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2880 besr.h_inc = (h_inc)|(h_inc<<16); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2881 break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2882 case 9: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2883 besr.h_inc = h_inc | ((h_inc >> 2) << 16); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2884 break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2885 default: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2886 besr.h_inc = h_inc | ((h_inc >> 1) << 16); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2887 break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2888 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2889 } |
22850 | 2890 |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2891 P23GroupSize = 2; /* Current vaue for all modes */ |
22850 | 2892 |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2893 besr.horz_pick_nearest=0; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2894 DoNotUseMostRecentlyFetchedLine=0; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2895 ThereIsTwoTapVerticalFiltering = (val_OV0_P1_H_STEP_BY!=0) || (val_OV0_P23_H_STEP_BY!=0); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2896 if (ThereIsTwoTapVerticalFiltering && DoNotUseMostRecentlyFetchedLine) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2897 besr.vert_pick_nearest = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2898 else |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2899 besr.vert_pick_nearest = 0; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2900 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2901 ComputeXStartEnd(is_400,LeftPixel,LeftUVPixel,MemWordsInBytes,BytesPerPixel, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2902 SourceWidthInPixels,P1StepSize,BytesPerUVPixel, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2903 SourceUVWidthInPixels,P23StepSize,&val_OV0_P1_X_START,&val_OV0_P2_X_START); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2904 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2905 if(H_scale_ratio > MinHScaleHard) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2906 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2907 unsigned tmp; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2908 tmp = (left & 0x0003ffff) + 0x00028000 + (h_inc << 3); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2909 besr.p1_h_accum_init = ((tmp << 4) & 0x000f8000) | |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2910 ((tmp << 12) & 0xf0000000); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2911 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2912 tmp = (top & 0x0000ffff) + 0x00018000; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2913 besr.p1_v_accum_init = ((tmp << 4) & OV0_P1_V_ACCUM_INIT_MASK) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2914 |(OV0_P1_MAX_LN_IN_PER_LN_OUT & 1); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2915 tmp = ((left >> 1) & 0x0001ffff) + 0x00028000 + (h_inc << 2); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2916 besr.p23_h_accum_init = ((tmp << 4) & 0x000f8000) | |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2917 ((tmp << 12) & 0x70000000); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2918 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2919 tmp = ((top >> 1) & 0x0000ffff) + 0x00018000; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2920 besr.p23_v_accum_init = (is_420||is_410) ? |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2921 ((tmp << 4) & OV0_P23_V_ACCUM_INIT_MASK) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2922 |(OV0_P23_MAX_LN_IN_PER_LN_OUT & 1) : 0; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2923 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2924 else |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2925 ComputeAccumInit( val_OV0_P1_X_START,val_OV0_P2_X_START, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2926 val_OV0_P1_H_INC,val_OV0_P23_H_INC, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2927 val_OV0_P1_H_STEP_BY,val_OV0_P23_H_STEP_BY, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2928 CRT_V_INC,P1GroupSize,P23GroupSize, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2929 val_OV0_P1_MAX_LN_IN_PER_LN_OUT, |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2930 val_OV0_P23_MAX_LN_IN_PER_LN_OUT); |
22850 | 2931 } |
2932 | |
2933 /* keep everything in 16.16 */ | |
2934 besr.base_addr = INREG(DISPLAY_BASE_ADDR); | |
2935 config->offsets[0] = 0; | |
2936 for(i=1;i<besr.vid_nbufs;i++) | |
2937 config->offsets[i] = config->offsets[i-1]+config->frame_size; | |
2938 if(is_420 || is_410 || is_400) | |
2939 { | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2940 uint32_t d1line,d2line,d3line; |
22850 | 2941 d1line = top*pitch; |
2942 if(is_420) | |
2943 { | |
2944 d2line = src_h*pitch+(d1line>>2); | |
2945 d3line = d2line+((src_h*pitch)>>2); | |
2946 } | |
2947 else | |
2948 if(is_410) | |
2949 { | |
2950 d2line = src_h*pitch+(d1line>>4); | |
2951 d3line = d2line+((src_h*pitch)>>4); | |
2952 } | |
2953 else | |
2954 { | |
2955 d2line = 0; | |
2956 d3line = 0; | |
2957 } | |
2958 d1line += (left >> 16) & ~15; | |
2959 if(is_420) | |
2960 { | |
2961 d2line += (left >> 17) & ~15; | |
2962 d3line += (left >> 17) & ~15; | |
2963 } | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2964 else /* is_410 */ |
22850 | 2965 { |
2966 d2line += (left >> 18) & ~15; | |
2967 d3line += (left >> 18) & ~15; | |
2968 } | |
2969 config->offset.y = d1line & VIF_BUF0_BASE_ADRS_MASK; | |
2970 if(is_400) | |
2971 { | |
2972 config->offset.v = 0; | |
2973 config->offset.u = 0; | |
2974 } | |
2975 else | |
2976 { | |
2977 config->offset.v = d2line & VIF_BUF1_BASE_ADRS_MASK; | |
2978 config->offset.u = d3line & VIF_BUF2_BASE_ADRS_MASK; | |
2979 } | |
2980 for(i=0;i<besr.vid_nbufs;i++) | |
2981 { | |
2982 besr.vid_buf_base_adrs_y[i]=((radeon_overlay_off+config->offsets[i]+config->offset.y)&VIF_BUF0_BASE_ADRS_MASK); | |
2983 if(is_400) | |
2984 { | |
2985 besr.vid_buf_base_adrs_v[i]=0; | |
2986 besr.vid_buf_base_adrs_u[i]=0; | |
2987 } | |
2988 else | |
2989 { | |
23652
82443ed07f23
fix Radeon/Rage128 vidix with I420 colorspace (U/V were inverted)
ben
parents:
23167
diff
changeset
|
2990 if (besr.fourcc == IMGFMT_I420 || besr.fourcc == IMGFMT_IYUV) |
82443ed07f23
fix Radeon/Rage128 vidix with I420 colorspace (U/V were inverted)
ben
parents:
23167
diff
changeset
|
2991 { |
82443ed07f23
fix Radeon/Rage128 vidix with I420 colorspace (U/V were inverted)
ben
parents:
23167
diff
changeset
|
2992 besr.vid_buf_base_adrs_u[i]=((radeon_overlay_off+config->offsets[i]+config->offset.v)&VIF_BUF1_BASE_ADRS_MASK)|VIF_BUF1_PITCH_SEL; |
82443ed07f23
fix Radeon/Rage128 vidix with I420 colorspace (U/V were inverted)
ben
parents:
23167
diff
changeset
|
2993 besr.vid_buf_base_adrs_v[i]=((radeon_overlay_off+config->offsets[i]+config->offset.u)&VIF_BUF2_BASE_ADRS_MASK)|VIF_BUF2_PITCH_SEL; |
82443ed07f23
fix Radeon/Rage128 vidix with I420 colorspace (U/V were inverted)
ben
parents:
23167
diff
changeset
|
2994 } |
82443ed07f23
fix Radeon/Rage128 vidix with I420 colorspace (U/V were inverted)
ben
parents:
23167
diff
changeset
|
2995 else |
82443ed07f23
fix Radeon/Rage128 vidix with I420 colorspace (U/V were inverted)
ben
parents:
23167
diff
changeset
|
2996 { |
82443ed07f23
fix Radeon/Rage128 vidix with I420 colorspace (U/V were inverted)
ben
parents:
23167
diff
changeset
|
2997 besr.vid_buf_base_adrs_v[i]=((radeon_overlay_off+config->offsets[i]+config->offset.v)&VIF_BUF1_BASE_ADRS_MASK)|VIF_BUF1_PITCH_SEL; |
82443ed07f23
fix Radeon/Rage128 vidix with I420 colorspace (U/V were inverted)
ben
parents:
23167
diff
changeset
|
2998 besr.vid_buf_base_adrs_u[i]=((radeon_overlay_off+config->offsets[i]+config->offset.u)&VIF_BUF2_BASE_ADRS_MASK)|VIF_BUF2_PITCH_SEL; |
82443ed07f23
fix Radeon/Rage128 vidix with I420 colorspace (U/V were inverted)
ben
parents:
23167
diff
changeset
|
2999 } |
22850 | 3000 } |
3001 } | |
3002 config->offset.y = ((besr.vid_buf_base_adrs_y[0])&VIF_BUF0_BASE_ADRS_MASK) - radeon_overlay_off; | |
3003 if(is_400) | |
3004 { | |
3005 config->offset.v = 0; | |
3006 config->offset.u = 0; | |
3007 } | |
3008 else | |
3009 { | |
3010 config->offset.v = ((besr.vid_buf_base_adrs_v[0])&VIF_BUF1_BASE_ADRS_MASK) - radeon_overlay_off; | |
3011 config->offset.u = ((besr.vid_buf_base_adrs_u[0])&VIF_BUF2_BASE_ADRS_MASK) - radeon_overlay_off; | |
3012 } | |
3013 } | |
3014 else | |
3015 { | |
3016 config->offset.y = config->offset.u = config->offset.v = ((left & ~7) << 1)&VIF_BUF0_BASE_ADRS_MASK; | |
3017 for(i=0;i<besr.vid_nbufs;i++) | |
3018 { | |
3019 besr.vid_buf_base_adrs_y[i] = | |
3020 besr.vid_buf_base_adrs_u[i] = | |
3021 besr.vid_buf_base_adrs_v[i] = radeon_overlay_off + config->offsets[i] + config->offset.y; | |
3022 } | |
3023 } | |
3024 leftUV = (left >> (is_410?18:17)) & 15; | |
3025 left = (left >> 16) & 15; | |
3026 besr.y_x_start = (config->dest.x+X_ADJUST) | (config->dest.y << 16); | |
3027 besr.y_x_end = (config->dest.x + dest_w+X_ADJUST) | ((config->dest.y + dest_h) << 16); | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3028 ComputeBorders(config,VertUVSubSample); |
22850 | 3029 besr.vid_buf_pitch0_value = pitch; |
3030 besr.vid_buf_pitch1_value = is_410 ? pitch>>2 : is_420 ? pitch>>1 : pitch; | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3031 /* ********************************************************* */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3032 /* ** Calculate programmable coefficients as needed */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3033 /* ********************************************************* */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3034 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3035 /* ToDo_Active: When in pick nearest mode, we need to program the filter tap zero */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3036 /* coefficients to 0, 32, 0, 0. Or use hard coded coefficients. */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3037 if(H_scale_ratio > MinHScaleHard) besr.filter_cntl |= FILTER_HARDCODED_COEF; |
22850 | 3038 else |
3039 { | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3040 FilterSetup (val_OV0_P1_H_INC); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3041 /* ToDo_Active: Must add the smarts into the driver to decide what type of filtering it */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3042 /* would like to do. For now, we let the test application decide. */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3043 besr.filter_cntl = FILTER_PROGRAMMABLE_COEF; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3044 if(DisallowFourTapVertFiltering) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3045 besr.filter_cntl |= FILTER_HARD_SCALE_VERT_Y; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3046 if(DisallowFourTapUVVertFiltering) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3047 besr.filter_cntl |= FILTER_HARD_SCALE_VERT_UV; |
22850 | 3048 } |
3049 return 0; | |
3050 } | |
3051 | |
3052 static void radeon_compute_framesize(vidix_playback_t *info) | |
3053 { | |
3054 unsigned pitch,awidth,dbpp; | |
3055 pitch = radeon_query_pitch(info->fourcc,&info->src.pitch); | |
3056 dbpp = radeon_vid_get_dbpp(); | |
3057 switch(info->fourcc) | |
3058 { | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3059 case IMGFMT_Y800: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3060 awidth = (info->src.w + (pitch-1)) & ~(pitch-1); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3061 info->frame_size = awidth*info->src.h; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3062 break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3063 case IMGFMT_YVU9: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3064 case IMGFMT_IF09: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3065 awidth = (info->src.w + (pitch-1)) & ~(pitch-1); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3066 info->frame_size = awidth*(info->src.h+info->src.h/8); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3067 break; |
22850 | 3068 case IMGFMT_I420: |
3069 case IMGFMT_YV12: | |
3070 case IMGFMT_IYUV: | |
3071 awidth = (info->src.w + (pitch-1)) & ~(pitch-1); | |
3072 info->frame_size = awidth*(info->src.h+info->src.h/2); | |
3073 break; | |
3074 case IMGFMT_RGB32: | |
3075 case IMGFMT_BGR32: | |
3076 awidth = (info->src.w*4 + (pitch-1)) & ~(pitch-1); | |
3077 info->frame_size = awidth*info->src.h; | |
3078 break; | |
3079 /* YUY2 YVYU, RGB15, RGB16 */ | |
3080 default: | |
3081 awidth = (info->src.w*2 + (pitch-1)) & ~(pitch-1); | |
3082 info->frame_size = awidth*info->src.h; | |
3083 break; | |
3084 } | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3085 info->frame_size = (info->frame_size+4095)&~4095; |
22850 | 3086 } |
3087 | |
22857
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
22850
diff
changeset
|
3088 static int radeon_config_playback(vidix_playback_t *info) |
22850 | 3089 { |
3090 unsigned rgb_size,nfr; | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3091 uint32_t radeon_video_size; |
22850 | 3092 if(!is_supported_fourcc(info->fourcc)) return ENOSYS; |
3093 if(info->num_frames>VID_PLAY_MAXFRAMES) info->num_frames=VID_PLAY_MAXFRAMES; | |
3094 if(info->num_frames==1) besr.double_buff=0; | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3095 else besr.double_buff=1; |
22850 | 3096 radeon_compute_framesize(info); |
3097 | |
3098 rgb_size = radeon_get_xres()*radeon_get_yres()*((radeon_vid_get_dbpp()+7)/8); | |
3099 nfr = info->num_frames; | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3100 radeon_video_size = radeon_ram_size; |
22850 | 3101 for(;nfr>0; nfr--) |
3102 { | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3103 radeon_overlay_off = radeon_video_size - info->frame_size*nfr; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3104 #if !defined (RAGE128) && defined(HAVE_X11) |
22850 | 3105 radeon_overlay_off -= firegl_shift; |
3106 #endif | |
3107 radeon_overlay_off &= 0xffff0000; | |
3108 if(radeon_overlay_off >= (int)rgb_size ) break; | |
3109 } | |
3110 if(nfr <= 3) | |
3111 { | |
3112 nfr = info->num_frames; | |
3113 for(;nfr>0; nfr--) | |
3114 { | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3115 radeon_overlay_off = radeon_video_size - info->frame_size*nfr; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3116 #if !defined (RAGE128) && defined(HAVE_X11) |
22850 | 3117 radeon_overlay_off -= firegl_shift; |
3118 #endif | |
3119 radeon_overlay_off &= 0xffff0000; | |
3120 if(radeon_overlay_off > 0) break; | |
3121 } | |
3122 } | |
3123 if(nfr <= 0) return EINVAL; | |
3124 info->num_frames = nfr; | |
3125 besr.vid_nbufs = info->num_frames; | |
3126 info->dga_addr = (char *)radeon_mem_base + radeon_overlay_off; | |
3127 radeon_vid_init_video(info); | |
3128 return 0; | |
3129 } | |
3130 | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3131 static int radeon_playback_on(void) |
22850 | 3132 { |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3133 #ifdef RAGE128 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3134 unsigned dw,dh; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3135 #endif |
22850 | 3136 radeon_vid_display_video(); |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3137 #ifdef RAGE128 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3138 dh = (besr.y_x_end >> 16) - (besr.y_x_start >> 16); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3139 dw = (besr.y_x_end & 0xFFFF) - (besr.y_x_start & 0xFFFF); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3140 if(dw == radeon_get_xres() || dh == radeon_get_yres()) radeon_vid_exclusive(); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3141 else radeon_vid_non_exclusive(); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3142 #endif |
22850 | 3143 return 0; |
3144 } | |
3145 | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3146 static int radeon_playback_off(void) |
22850 | 3147 { |
3148 radeon_vid_stop_video(); | |
3149 return 0; | |
3150 } | |
3151 | |
22857
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
22850
diff
changeset
|
3152 static int radeon_frame_select(unsigned frame) |
22850 | 3153 { |
3154 uint32_t off[6]; | |
3155 int prev_frame= (frame-1+besr.vid_nbufs) % besr.vid_nbufs; | |
3156 /* | |
3157 buf3-5 always should point onto second buffer for better | |
3158 deinterlacing and TV-in | |
3159 */ | |
3160 if(!besr.double_buff) return 0; | |
3161 if(frame > besr.vid_nbufs) frame = besr.vid_nbufs-1; | |
3162 if(prev_frame > (int)besr.vid_nbufs) prev_frame = besr.vid_nbufs-1; | |
3163 off[0] = besr.vid_buf_base_adrs_y[frame]; | |
3164 off[1] = besr.vid_buf_base_adrs_v[frame]; | |
3165 off[2] = besr.vid_buf_base_adrs_u[frame]; | |
3166 off[3] = besr.vid_buf_base_adrs_y[prev_frame]; | |
3167 off[4] = besr.vid_buf_base_adrs_v[prev_frame]; | |
3168 off[5] = besr.vid_buf_base_adrs_u[prev_frame]; | |
3169 radeon_fifo_wait(8); | |
3170 OUTREG(OV0_REG_LOAD_CNTL, REG_LD_CTL_LOCK); | |
3171 radeon_engine_idle(); | |
3172 while(!(INREG(OV0_REG_LOAD_CNTL)®_LD_CTL_LOCK_READBACK)); | |
3173 OUTREG(OV0_VID_BUF0_BASE_ADRS, off[0]); | |
3174 OUTREG(OV0_VID_BUF1_BASE_ADRS, off[1]); | |
3175 OUTREG(OV0_VID_BUF2_BASE_ADRS, off[2]); | |
3176 OUTREG(OV0_VID_BUF3_BASE_ADRS, off[3]); | |
3177 OUTREG(OV0_VID_BUF4_BASE_ADRS, off[4]); | |
3178 OUTREG(OV0_VID_BUF5_BASE_ADRS, off[5]); | |
3179 OUTREG(OV0_REG_LOAD_CNTL, 0); | |
3180 if(besr.vid_nbufs == 2) radeon_wait_vsync(); | |
25859
e8af7338a462
Fix illegal identifiers, names starting with __ are reserved for the system.
diego
parents:
25718
diff
changeset
|
3181 if(verbosity > VERBOSE_LEVEL) radeon_vid_dump_regs(); |
22850 | 3182 return 0; |
3183 } | |
3184 | |
22857
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
22850
diff
changeset
|
3185 static vidix_video_eq_t equal = |
22850 | 3186 { |
3187 VEQ_CAP_BRIGHTNESS | VEQ_CAP_SATURATION | |
3188 #ifndef RAGE128 | |
3189 | VEQ_CAP_CONTRAST | VEQ_CAP_HUE | VEQ_CAP_RGB_INTENSITY | |
3190 #endif | |
3191 , | |
3192 0, 0, 0, 0, 0, 0, 0, 0 }; | |
3193 | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3194 static int radeon_get_eq(vidix_video_eq_t * eq) |
22850 | 3195 { |
3196 memcpy(eq,&equal,sizeof(vidix_video_eq_t)); | |
3197 return 0; | |
3198 } | |
3199 | |
3200 #ifndef RAGE128 | |
3201 #define RTFSaturation(a) (1.0 + ((a)*1.0)/1000.0) | |
3202 #define RTFBrightness(a) (((a)*1.0)/2000.0) | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3203 #define RTFIntensity(a) (((a)*1.0)/2000.0) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3204 #define RTFContrast(a) (1.0 + ((a)*1.0)/1000.0) |
22850 | 3205 #define RTFHue(a) (((a)*3.1416)/1000.0) |
3206 #define RTFCheckParam(a) {if((a)<-1000) (a)=-1000; if((a)>1000) (a)=1000;} | |
3207 #endif | |
3208 | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3209 static int radeon_set_eq(const vidix_video_eq_t * eq) |
22850 | 3210 { |
3211 #ifdef RAGE128 | |
3212 int br,sat; | |
3213 #else | |
3214 int itu_space; | |
3215 #endif | |
3216 if(eq->cap & VEQ_CAP_BRIGHTNESS) equal.brightness = eq->brightness; | |
3217 if(eq->cap & VEQ_CAP_CONTRAST) equal.contrast = eq->contrast; | |
3218 if(eq->cap & VEQ_CAP_SATURATION) equal.saturation = eq->saturation; | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3219 if(eq->cap & VEQ_CAP_HUE) equal.hue = eq->hue; |
22850 | 3220 if(eq->cap & VEQ_CAP_RGB_INTENSITY) |
3221 { | |
3222 equal.red_intensity = eq->red_intensity; | |
3223 equal.green_intensity = eq->green_intensity; | |
3224 equal.blue_intensity = eq->blue_intensity; | |
3225 } | |
3226 equal.flags = eq->flags; | |
3227 #ifdef RAGE128 | |
3228 br = equal.brightness * 64 / 1000; | |
3229 if(br < -64) br = -64; if(br > 63) br = 63; | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3230 sat = (equal.saturation*31 + 31000) / 2000; |
22850 | 3231 if(sat < 0) sat = 0; if(sat > 31) sat = 31; |
3232 OUTREG(OV0_COLOUR_CNTL, (br & 0x7f) | (sat << 8) | (sat << 16)); | |
3233 #else | |
3234 itu_space = equal.flags == VEQ_FLG_ITU_R_BT_709 ? 1 : 0; | |
3235 RTFCheckParam(equal.brightness); | |
3236 RTFCheckParam(equal.saturation); | |
3237 RTFCheckParam(equal.contrast); | |
3238 RTFCheckParam(equal.hue); | |
3239 RTFCheckParam(equal.red_intensity); | |
3240 RTFCheckParam(equal.green_intensity); | |
3241 RTFCheckParam(equal.blue_intensity); | |
3242 radeon_set_transform(RTFBrightness(equal.brightness), | |
3243 RTFContrast(equal.contrast), | |
3244 RTFSaturation(equal.saturation), | |
3245 RTFHue(equal.hue), | |
3246 RTFIntensity(equal.red_intensity), | |
3247 RTFIntensity(equal.green_intensity), | |
3248 RTFIntensity(equal.blue_intensity), | |
3249 itu_space); | |
3250 #endif | |
3251 return 0; | |
3252 } | |
3253 | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3254 static int radeon_playback_set_deint(const vidix_deinterlace_t * info) |
22850 | 3255 { |
3256 unsigned sflg; | |
3257 switch(info->flags) | |
3258 { | |
3259 default: | |
3260 case CFG_NON_INTERLACED: | |
3261 besr.deinterlace_on = 0; | |
3262 break; | |
3263 case CFG_EVEN_ODD_INTERLACING: | |
3264 case CFG_INTERLACED: | |
3265 besr.deinterlace_on = 1; | |
3266 besr.deinterlace_pattern = 0x900AAAAA; | |
3267 break; | |
3268 case CFG_ODD_EVEN_INTERLACING: | |
3269 besr.deinterlace_on = 1; | |
3270 besr.deinterlace_pattern = 0x00055555; | |
3271 break; | |
3272 case CFG_UNIQUE_INTERLACING: | |
3273 besr.deinterlace_on = 1; | |
3274 besr.deinterlace_pattern = info->deinterlace_pattern; | |
3275 break; | |
3276 } | |
3277 OUTREG(OV0_REG_LOAD_CNTL, REG_LD_CTL_LOCK); | |
3278 radeon_engine_idle(); | |
3279 while(!(INREG(OV0_REG_LOAD_CNTL)®_LD_CTL_LOCK_READBACK)); | |
3280 radeon_fifo_wait(15); | |
3281 sflg = INREG(OV0_SCALE_CNTL); | |
3282 if(besr.deinterlace_on) | |
3283 { | |
3284 OUTREG(OV0_SCALE_CNTL,sflg | SCALER_ADAPTIVE_DEINT); | |
3285 OUTREG(OV0_DEINTERLACE_PATTERN,besr.deinterlace_pattern); | |
3286 } | |
3287 else OUTREG(OV0_SCALE_CNTL,sflg & (~SCALER_ADAPTIVE_DEINT)); | |
3288 OUTREG(OV0_REG_LOAD_CNTL, 0); | |
3289 return 0; | |
3290 } | |
3291 | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3292 static int radeon_playback_get_deint(vidix_deinterlace_t * info) |
22850 | 3293 { |
3294 if(!besr.deinterlace_on) info->flags = CFG_NON_INTERLACED; | |
3295 else | |
3296 { | |
3297 info->flags = CFG_UNIQUE_INTERLACING; | |
3298 info->deinterlace_pattern = besr.deinterlace_pattern; | |
3299 } | |
3300 return 0; | |
3301 } | |
3302 | |
3303 | |
3304 /* Graphic keys */ | |
3305 static vidix_grkey_t radeon_grkey; | |
3306 | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3307 static int set_gr_key( void ) |
22850 | 3308 { |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3309 int result = 0; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3310 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3311 besr.merge_cntl = 0xff000000 | /* overlay alpha */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3312 0x00ff0000; /* graphic alpha */ |
22850 | 3313 if(radeon_grkey.ckey.op == CKEY_TRUE) |
3314 { | |
3315 int dbpp=radeon_vid_get_dbpp(); | |
3316 besr.ckey_on=1; | |
3317 | |
3318 switch(dbpp) | |
3319 { | |
3320 case 15: | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3321 #ifndef RAGE128 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3322 if((besr.chip_flags&R_100)!=R_100) |
22850 | 3323 besr.graphics_key_clr= |
3324 ((radeon_grkey.ckey.blue &0xF8)) | |
3325 | ((radeon_grkey.ckey.green&0xF8)<<8) | |
3326 | ((radeon_grkey.ckey.red &0xF8)<<16); | |
3327 else | |
3328 #endif | |
3329 besr.graphics_key_clr= | |
3330 ((radeon_grkey.ckey.blue &0xF8)>>3) | |
3331 | ((radeon_grkey.ckey.green&0xF8)<<2) | |
3332 | ((radeon_grkey.ckey.red &0xF8)<<7); | |
3333 break; | |
3334 case 16: | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3335 #ifndef RAGE128 |
22850 | 3336 /* This test may be too general/specific */ |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3337 if((besr.chip_flags&R_100)!=R_100) |
22850 | 3338 besr.graphics_key_clr= |
3339 ((radeon_grkey.ckey.blue &0xF8)) | |
3340 | ((radeon_grkey.ckey.green&0xFC)<<8) | |
3341 | ((radeon_grkey.ckey.red &0xF8)<<16); | |
3342 else | |
3343 #endif | |
3344 besr.graphics_key_clr= | |
3345 ((radeon_grkey.ckey.blue &0xF8)>>3) | |
3346 | ((radeon_grkey.ckey.green&0xFC)<<3) | |
3347 | ((radeon_grkey.ckey.red &0xF8)<<8); | |
3348 break; | |
3349 case 24: | |
3350 case 32: | |
3351 besr.graphics_key_clr= | |
3352 ((radeon_grkey.ckey.blue &0xFF)) | |
3353 | ((radeon_grkey.ckey.green&0xFF)<<8) | |
3354 | ((radeon_grkey.ckey.red &0xFF)<<16); | |
3355 break; | |
3356 default: | |
3357 besr.ckey_on=0; | |
3358 besr.graphics_key_msk=0; | |
3359 besr.graphics_key_clr=0; | |
3360 } | |
3361 #ifdef RAGE128 | |
3362 besr.graphics_key_msk=(1<<dbpp)-1; | |
3363 besr.ckey_cntl = VIDEO_KEY_FN_TRUE|GRAPHIC_KEY_FN_NE|CMP_MIX_AND; | |
3364 #else | |
3365 besr.graphics_key_msk=besr.graphics_key_clr; | |
3366 besr.ckey_cntl = VIDEO_KEY_FN_TRUE|CMP_MIX_AND|GRAPHIC_KEY_FN_EQ; | |
3367 #endif | |
3368 } | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3369 else if(radeon_grkey.ckey.op == CKEY_ALPHA) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3370 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3371 int dbpp=radeon_vid_get_dbpp(); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3372 besr.ckey_on=1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3373 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3374 switch(dbpp) |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3375 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3376 case 32: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3377 besr.ckey_on=1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3378 besr.graphics_key_msk=0; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3379 besr.graphics_key_clr=0; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3380 besr.ckey_cntl = VIDEO_KEY_FN_TRUE|GRAPHIC_KEY_FN_TRUE|CMP_MIX_AND; |
25366 | 3381 besr.merge_cntl |= 0x00000001; /* DISP_ALPHA_MODE_PER_PIXEL */ |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3382 break; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3383 default: |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3384 besr.ckey_on=0; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3385 besr.graphics_key_msk=0; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3386 besr.graphics_key_clr=0; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3387 besr.ckey_cntl = VIDEO_KEY_FN_TRUE|GRAPHIC_KEY_FN_TRUE|CMP_MIX_AND; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3388 result = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3389 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3390 } |
22850 | 3391 else |
3392 { | |
3393 besr.ckey_on=0; | |
3394 besr.graphics_key_msk=0; | |
3395 besr.graphics_key_clr=0; | |
3396 besr.ckey_cntl = VIDEO_KEY_FN_TRUE|GRAPHIC_KEY_FN_TRUE|CMP_MIX_AND; | |
25415 | 3397 besr.merge_cntl |= 0x00000100; /* DISP_RGB_OFFSET_EN */ |
22850 | 3398 } |
3399 radeon_fifo_wait(3); | |
3400 OUTREG(OV0_GRAPHICS_KEY_MSK, besr.graphics_key_msk); | |
3401 OUTREG(OV0_GRAPHICS_KEY_CLR, besr.graphics_key_clr); | |
3402 OUTREG(OV0_KEY_CNTL,besr.ckey_cntl); | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3403 OUTREG(DISP_MERGE_CNTL, besr.merge_cntl); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3404 return result; |
22850 | 3405 } |
3406 | |
22857
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
22850
diff
changeset
|
3407 static int radeon_get_gkey(vidix_grkey_t *grkey) |
22850 | 3408 { |
3409 memcpy(grkey, &radeon_grkey, sizeof(vidix_grkey_t)); | |
26753
502f04b67653
cosmetics: Remove useless parentheses from return statements.
diego
parents:
26714
diff
changeset
|
3410 return 0; |
22850 | 3411 } |
3412 | |
22857
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
22850
diff
changeset
|
3413 static int radeon_set_gkey(const vidix_grkey_t *grkey) |
22850 | 3414 { |
3415 memcpy(&radeon_grkey, grkey, sizeof(vidix_grkey_t)); | |
26753
502f04b67653
cosmetics: Remove useless parentheses from return statements.
diego
parents:
26714
diff
changeset
|
3416 return set_gr_key(); |
22850 | 3417 } |
22857
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
22850
diff
changeset
|
3418 |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
22850
diff
changeset
|
3419 #ifdef RAGE128 |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
22850
diff
changeset
|
3420 VDXDriver rage128_drv = { |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
22850
diff
changeset
|
3421 "rage128", |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
22850
diff
changeset
|
3422 #else |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
22850
diff
changeset
|
3423 VDXDriver radeon_drv = { |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
22850
diff
changeset
|
3424 "radeon", |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
22850
diff
changeset
|
3425 #endif |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
22850
diff
changeset
|
3426 NULL, |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
22850
diff
changeset
|
3427 |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
22850
diff
changeset
|
3428 .probe = radeon_probe, |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
22850
diff
changeset
|
3429 .get_caps = radeon_get_caps, |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
22850
diff
changeset
|
3430 .query_fourcc = radeon_query_fourcc, |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
22850
diff
changeset
|
3431 .init = radeon_init, |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
22850
diff
changeset
|
3432 .destroy = radeon_destroy, |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
22850
diff
changeset
|
3433 .config_playback = radeon_config_playback, |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
22850
diff
changeset
|
3434 .playback_on = radeon_playback_on, |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
22850
diff
changeset
|
3435 .playback_off = radeon_playback_off, |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
22850
diff
changeset
|
3436 .frame_sel = radeon_frame_select, |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
22850
diff
changeset
|
3437 .get_eq = radeon_get_eq, |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
22850
diff
changeset
|
3438 .set_eq = radeon_set_eq, |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
22850
diff
changeset
|
3439 .get_deint = radeon_playback_get_deint, |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
22850
diff
changeset
|
3440 .set_deint = radeon_playback_set_deint, |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
22850
diff
changeset
|
3441 .get_gkey = radeon_get_gkey, |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
22850
diff
changeset
|
3442 .set_gkey = radeon_set_gkey, |
77def5093daf
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
ben
parents:
22850
diff
changeset
|
3443 }; |