Mercurial > mplayer.hg
annotate vidix/radeon_vid.c @ 27005:0a7f07b761e1
Add comments to a few #endif preprocessor directives.
author | diego |
---|---|
date | Sun, 08 Jun 2008 14:53:18 +0000 |
parents | 0e250247255f |
children | df448e1248b2 |
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 |
22850 | 1300 if(!probed) |
1301 { | |
1302 printf(RADEON_MSG" Driver was not probed but is being initializing\n"); | |
1303 return EINTR; | |
1304 } | |
1305 if((radeon_mmio_base = map_phys_mem(pci_info.base2,0xFFFF))==(void *)-1) return ENOMEM; | |
1306 radeon_ram_size = INREG(CONFIG_MEMSIZE); | |
1307 /* mem size is bits [28:0], mask off the rest. Range: from 1Mb up to 512 Mb */ | |
1308 radeon_ram_size &= CONFIG_MEMSIZE_MASK; | |
1309 #ifdef RADEON | |
1310 /* according to XFree86 4.2.0, some production M6's return 0 for 8MB */ | |
1311 if (radeon_ram_size == 0 && | |
1312 (def_cap.device_id == DEVICE_ATI_RADEON_MOBILITY_M6 || | |
1313 def_cap.device_id == DEVICE_ATI_RADEON_MOBILITY_M62)) | |
1314 { | |
23163 | 1315 printf(RADEON_MSG" Working around buggy Radeon Mobility M6 (0 vs. 8MB ram)\n"); |
22850 | 1316 radeon_ram_size = 8192*1024; |
1317 } | |
23125
48fdbc777870
onboard X200 GPU (shared memory) returns a 0 RAM size (patch by rjoco77@kezdionline.ro)
ben
parents:
23124
diff
changeset
|
1318 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
|
1319 (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
|
1320 { |
23164
e9298e9c6a74
accurate X200 memory size detection (patch by rjoco77 at kezdionline dot ro)
ben
parents:
23163
diff
changeset
|
1321 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
|
1322 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
|
1323 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
|
1324 } |
22850 | 1325 #else |
1326 /* Rage Mobility (rage128) also has memsize bug */ | |
1327 if (radeon_ram_size == 0 && | |
1328 (def_cap.device_id == DEVICE_ATI_RAGE_MOBILITY_M3 || | |
1329 def_cap.device_id == DEVICE_ATI_RAGE_MOBILITY_M32)) | |
1330 { | |
23165 | 1331 printf(RADEON_MSG" Working around Rage Mobility M3 (0 vs. 8MB ram)\n"); |
22850 | 1332 radeon_ram_size = 8192*1024; |
1333 } | |
1334 #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
|
1335 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
|
1336 radeon_vid_make_default(); |
22850 | 1337 printf(RADEON_MSG" Video memory = %uMb\n",radeon_ram_size/0x100000); |
1338 err = mtrr_set_type(pci_info.base0,radeon_ram_size,MTRR_TYPE_WRCOMB); | |
1339 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
|
1340 #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
|
1341 { |
7d693457f85e
updated the ati vidix driver 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 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
|
1343 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
|
1344 |
7d693457f85e
updated the ati vidix driver 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 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
|
1346 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
|
1347 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
|
1348 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
|
1349 } |
7d693457f85e
updated the ati vidix driver 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 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
|
1351 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
|
1352 } |
22850 | 1353 #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
|
1354 save_regs(); |
22850 | 1355 return 0; |
1356 } | |
1357 | |
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
|
1358 static void radeon_destroy(void) |
22850 | 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 restore_regs(); |
22850 | 1361 unmap_phys_mem(radeon_mem_base,radeon_ram_size); |
1362 unmap_phys_mem(radeon_mmio_base,0xFFFF); | |
1363 } | |
1364 | |
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
|
1365 static int radeon_get_caps(vidix_capability_t *to) |
22850 | 1366 { |
1367 memcpy(to,&def_cap,sizeof(vidix_capability_t)); | |
1368 return 0; | |
1369 } | |
1370 | |
1371 /* | |
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
|
1372 Full list of fourcc which are supported by Win2K radeon driver: |
22850 | 1373 YUY2, UYVY, DDES, OGLT, OGL2, OGLS, OGLB, OGNT, OGNZ, OGNS, |
1374 IF09, YVU9, IMC4, M2IA, IYUV, VBID, DXT1, DXT2, DXT3, DXT4, DXT5 | |
1375 */ | |
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
|
1376 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
|
1377 { |
7d693457f85e
updated the ati vidix driver 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 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
|
1379 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
|
1380 }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
|
1381 |
25718
8eddf6a9af7f
Make some radeon vidix driver tables static and const
reimar
parents:
25415
diff
changeset
|
1382 static const fourcc_desc_t supported_fourcc[] = |
22850 | 1383 { |
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
|
1384 { 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
|
1385 { 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
|
1386 { 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
|
1387 { 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
|
1388 { 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
|
1389 { 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
|
1390 { 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
|
1391 { 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
|
1392 { 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
|
1393 { 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
|
1394 { 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
|
1395 { 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
|
1396 { 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
|
1397 { 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
|
1398 { IMGFMT_BGR32, 775 } |
22850 | 1399 }; |
1400 | |
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
|
1401 __inline__ static int is_supported_fourcc(uint32_t fourcc) |
22850 | 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 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
|
1404 for(i=0;i<sizeof(supported_fourcc)/sizeof(fourcc_desc_t);i++) |
22850 | 1405 { |
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
|
1406 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
|
1407 return 1; |
22850 | 1408 } |
1409 return 0; | |
1410 } | |
1411 | |
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
|
1412 static int radeon_query_fourcc(vidix_fourcc_t *to) |
22850 | 1413 { |
1414 if(is_supported_fourcc(to->fourcc)) | |
1415 { | |
23060 | 1416 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
|
1417 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
|
1418 VID_CAP_BLEND; |
22850 | 1419 return 0; |
1420 } | |
1421 else to->depth = to->flags = 0; | |
1422 return ENOSYS; | |
1423 } | |
1424 | |
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
|
1425 static double H_scale_ratio; |
22850 | 1426 static void radeon_vid_dump_regs( void ) |
1427 { | |
1428 size_t i; | |
1429 printf(RADEON_MSG"*** Begin of DRIVER variables dump ***\n"); | |
1430 printf(RADEON_MSG"radeon_mmio_base=%p\n",radeon_mmio_base); | |
1431 printf(RADEON_MSG"radeon_mem_base=%p\n",radeon_mem_base); | |
1432 printf(RADEON_MSG"radeon_overlay_off=%08X\n",radeon_overlay_off); | |
1433 printf(RADEON_MSG"radeon_ram_size=%08X\n",radeon_ram_size); | |
1434 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
|
1435 printf(RADEON_MSG"H_scale_ratio=%8.2f\n",H_scale_ratio); |
22850 | 1436 printf(RADEON_MSG"*** Begin of OV0 registers dump ***\n"); |
1437 for(i=0;i<sizeof(vregs)/sizeof(video_registers_t);i++) | |
1438 printf(RADEON_MSG"%s = %08X\n",vregs[i].sname,INREG(vregs[i].name)); | |
1439 printf(RADEON_MSG"*** End of OV0 registers dump ***\n"); | |
1440 } | |
1441 | |
1442 static void radeon_vid_stop_video( void ) | |
1443 { | |
1444 radeon_engine_idle(); | |
1445 OUTREG(OV0_SCALE_CNTL, SCALER_SOFT_RESET); | |
1446 OUTREG(OV0_EXCLUSIVE_HORZ, 0); | |
1447 OUTREG(OV0_AUTO_FLIP_CNTL, 0); /* maybe */ | |
1448 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
|
1449 #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
|
1450 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
|
1451 #else |
22850 | 1452 OUTREG(OV0_KEY_CNTL, GRAPHIC_KEY_FN_EQ); |
1453 #endif | |
1454 OUTREG(OV0_TEST, 0); | |
1455 } | |
1456 | |
1457 static void radeon_vid_display_video( void ) | |
1458 { | |
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
|
1459 int bes_flags,force_second; |
22850 | 1460 radeon_fifo_wait(2); |
1461 OUTREG(OV0_REG_LOAD_CNTL, REG_LD_CTL_LOCK); | |
1462 radeon_engine_idle(); | |
1463 while(!(INREG(OV0_REG_LOAD_CNTL)®_LD_CTL_LOCK_READBACK)); | |
1464 radeon_fifo_wait(15); | |
1465 | |
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
|
1466 force_second=0; |
23048 | 1467 |
22850 | 1468 /* Shutdown capturing */ |
1469 OUTREG(FCP_CNTL, FCP_CNTL__GND); | |
1470 OUTREG(CAP0_TRIG_CNTL, 0); | |
1471 | |
1472 OUTREG(VID_BUFFER_CONTROL, (1<<16) | 0x01); | |
1473 OUTREG(DISP_TEST_DEBUG_CNTL, 0); | |
1474 | |
1475 OUTREG(OV0_AUTO_FLIP_CNTL,OV0_AUTO_FLIP_CNTL_SOFT_BUF_ODD); | |
1476 | |
1477 if(besr.deinterlace_on) OUTREG(OV0_DEINTERLACE_PATTERN,besr.deinterlace_pattern); | |
1478 #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
|
1479 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
|
1480 (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
|
1481 (besr.saturation << 16)); |
22850 | 1482 #endif |
1483 radeon_fifo_wait(2); | |
1484 OUTREG(OV0_GRAPHICS_KEY_MSK, besr.graphics_key_msk); | |
1485 OUTREG(OV0_GRAPHICS_KEY_CLR, besr.graphics_key_clr); | |
1486 OUTREG(OV0_KEY_CNTL,besr.ckey_cntl); | |
1487 | |
1488 OUTREG(OV0_H_INC, besr.h_inc); | |
1489 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
|
1490 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
|
1491 { |
7d693457f85e
updated the ati vidix driver 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 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
|
1493 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
|
1494 } |
7d693457f85e
updated the ati vidix driver 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 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
|
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 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
|
1498 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
|
1499 } |
22850 | 1500 OUTREG(OV0_V_INC, besr.v_inc); |
1501 OUTREG(OV0_P1_BLANK_LINES_AT_TOP, besr.p1_blank_lines_at_top); | |
1502 OUTREG(OV0_P23_BLANK_LINES_AT_TOP, besr.p23_blank_lines_at_top); | |
1503 OUTREG(OV0_VID_BUF_PITCH0_VALUE, besr.vid_buf_pitch0_value); | |
1504 OUTREG(OV0_VID_BUF_PITCH1_VALUE, besr.vid_buf_pitch1_value); | |
1505 OUTREG(OV0_P1_X_START_END, besr.p1_x_start_end); | |
1506 OUTREG(OV0_P2_X_START_END, besr.p2_x_start_end); | |
1507 OUTREG(OV0_P3_X_START_END, besr.p3_x_start_end); | |
1508 #ifdef RADEON | |
1509 OUTREG(OV0_BASE_ADDR, besr.base_addr); | |
1510 #endif | |
1511 OUTREG(OV0_VID_BUF0_BASE_ADRS, besr.vid_buf_base_adrs_y[0]); | |
1512 OUTREG(OV0_VID_BUF1_BASE_ADRS, besr.vid_buf_base_adrs_v[0]); | |
1513 OUTREG(OV0_VID_BUF2_BASE_ADRS, besr.vid_buf_base_adrs_u[0]); | |
1514 radeon_fifo_wait(9); | |
1515 OUTREG(OV0_VID_BUF3_BASE_ADRS, besr.vid_buf_base_adrs_y[0]); | |
1516 OUTREG(OV0_VID_BUF4_BASE_ADRS, besr.vid_buf_base_adrs_v[0]); | |
1517 OUTREG(OV0_VID_BUF5_BASE_ADRS, besr.vid_buf_base_adrs_u[0]); | |
1518 OUTREG(OV0_P1_V_ACCUM_INIT, besr.p1_v_accum_init); | |
1519 OUTREG(OV0_P1_H_ACCUM_INIT, besr.p1_h_accum_init); | |
1520 OUTREG(OV0_P23_H_ACCUM_INIT, besr.p23_h_accum_init); | |
1521 OUTREG(OV0_P23_V_ACCUM_INIT, besr.p23_v_accum_init); | |
1522 | |
1523 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
|
1524 SCALER_SMART_SWITCH | |
22850 | 1525 SCALER_Y2R_TEMP | |
1526 SCALER_PIX_EXPAND; | |
1527 if(besr.double_buff) bes_flags |= SCALER_DOUBLE_BUFFER; | |
1528 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
|
1529 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
|
1530 if(besr.vert_pick_nearest) bes_flags |= SCALER_VERT_PICK_NEAREST; |
22850 | 1531 #ifdef RAGE128 |
1532 bes_flags |= SCALER_BURST_PER_PLANE; | |
1533 #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
|
1534 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
|
1535 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
|
1536 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
|
1537 else bes_flags &= ~SCALER_USE_OV1; |
22850 | 1538 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
|
1539 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
|
1540 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
|
1541 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
|
1542 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
|
1543 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
|
1544 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
|
1545 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
|
1546 if(besr.swap_uv) OUTREG(OV0_TEST,INREG(OV0_TEST)|OV0_SWAP_UV); |
22850 | 1547 OUTREG(OV0_REG_LOAD_CNTL, 0); |
25859
e8af7338a462
Fix illegal identifiers, names starting with __ are reserved for the system.
diego
parents:
25718
diff
changeset
|
1548 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
|
1549 if(verbosity > VERBOSE_LEVEL) radeon_vid_dump_regs(); |
22850 | 1550 } |
1551 | |
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
|
1552 /* 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
|
1553 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
|
1554 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
|
1555 #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
|
1556 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
|
1557 { |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
1559 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
|
1560 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
|
1561 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
|
1562 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
|
1563 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
|
1564 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
|
1565 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
|
1566 } |
7d693457f85e
updated the ati vidix driver 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 |
7d693457f85e
updated the ati vidix driver 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 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
|
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 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
|
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 #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
|
1573 |
22850 | 1574 static unsigned radeon_query_pitch(unsigned fourcc,const vidix_yuv_t *spitch) |
1575 { | |
1576 unsigned pitch,spy,spv,spu; | |
1577 spy = spv = spu = 0; | |
1578 switch(spitch->y) | |
1579 { | |
1580 case 16: | |
1581 case 32: | |
1582 case 64: | |
1583 case 128: | |
1584 case 256: spy = spitch->y; break; | |
1585 default: break; | |
1586 } | |
1587 switch(spitch->u) | |
1588 { | |
1589 case 16: | |
1590 case 32: | |
1591 case 64: | |
1592 case 128: | |
1593 case 256: spu = spitch->u; break; | |
1594 default: break; | |
1595 } | |
1596 switch(spitch->v) | |
1597 { | |
1598 case 16: | |
1599 case 32: | |
1600 case 64: | |
1601 case 128: | |
1602 case 256: spv = spitch->v; break; | |
1603 default: break; | |
1604 } | |
1605 switch(fourcc) | |
1606 { | |
1607 /* 4:2:0 */ | |
1608 case IMGFMT_IYUV: | |
1609 case IMGFMT_YV12: | |
1610 case IMGFMT_I420: | |
1611 if(spy > 16 && spu == spy/2 && spv == spy/2) pitch = spy; | |
1612 else pitch = 32; | |
1613 break; | |
1614 case IMGFMT_IF09: | |
1615 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
|
1616 if(spy >= 64 && spu == spy/4 && spv == spy/4) pitch = spy; |
22850 | 1617 else pitch = 64; |
1618 break; | |
1619 default: | |
1620 if(spy >= 16) pitch = spy; | |
1621 else pitch = 16; | |
1622 break; | |
1623 } | |
1624 return pitch; | |
1625 } | |
1626 | |
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
|
1627 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
|
1628 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
|
1629 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
|
1630 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
|
1631 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
|
1632 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
|
1633 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
|
1634 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
|
1635 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
|
1636 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
|
1637 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
|
1638 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
|
1639 { |
7d693457f85e
updated the ati vidix driver 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 |
7d693457f85e
updated the ati vidix driver 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 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
|
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 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
|
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 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
|
1646 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
|
1647 /* 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
|
1648 *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
|
1649 /* 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
|
1650 /* 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
|
1651 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
|
1652 { |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
1654 /* 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
|
1655 *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
|
1656 *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
|
1657 *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
|
1658 *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
|
1659 *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
|
1660 *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
|
1661 } |
7d693457f85e
updated the ati vidix driver 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 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
|
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 /* 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
|
1665 *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
|
1666 *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
|
1667 *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
|
1668 *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
|
1669 *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
|
1670 *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
|
1671 } |
7d693457f85e
updated the ati vidix driver 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 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
|
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 /* 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
|
1675 *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
|
1676 *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
|
1677 *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
|
1678 *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
|
1679 *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
|
1680 *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
|
1681 } |
7d693457f85e
updated the ati vidix driver 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 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
|
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 /* 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
|
1685 *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
|
1686 *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
|
1687 *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
|
1688 *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
|
1689 *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
|
1690 *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
|
1691 } |
7d693457f85e
updated the ati vidix driver 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 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
|
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 /* 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
|
1695 *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
|
1696 *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
|
1697 *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
|
1698 *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
|
1699 *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
|
1700 *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
|
1701 } |
7d693457f85e
updated the ati vidix driver 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 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
|
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 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
|
1705 *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
|
1706 *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
|
1707 *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
|
1708 *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
|
1709 *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
|
1710 *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
|
1711 } |
7d693457f85e
updated the ati vidix driver 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 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
|
1713 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
|
1714 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
|
1715 { |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
1717 *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
|
1718 /* 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
|
1719 /* 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
|
1720 *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
|
1721 *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
|
1722 *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
|
1723 *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
|
1724 *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
|
1725 *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
|
1726 } |
7d693457f85e
updated the ati vidix driver 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 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
|
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 /* 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
|
1730 *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
|
1731 /* 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
|
1732 /* 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
|
1733 /* 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
|
1734 *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
|
1735 *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
|
1736 *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
|
1737 *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
|
1738 *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
|
1739 *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
|
1740 } |
7d693457f85e
updated the ati vidix driver 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 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
|
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 /* 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
|
1744 /* 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
|
1745 *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
|
1746 /* 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
|
1747 *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
|
1748 *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
|
1749 *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
|
1750 *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
|
1751 *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
|
1752 *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
|
1753 } |
7d693457f85e
updated the ati vidix driver 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 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
|
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 /* 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
|
1757 /* 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
|
1758 *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
|
1759 /* 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
|
1760 *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
|
1761 *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
|
1762 *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
|
1763 *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
|
1764 *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
|
1765 *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
|
1766 } |
7d693457f85e
updated the ati vidix driver 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 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
|
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 /* 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
|
1770 /* 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
|
1771 *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
|
1772 /* 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
|
1773 *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
|
1774 *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
|
1775 *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
|
1776 *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
|
1777 *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
|
1778 *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
|
1779 } |
7d693457f85e
updated the ati vidix driver 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 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
|
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 /* 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
|
1783 /* 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
|
1784 *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
|
1785 /* 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
|
1786 *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
|
1787 *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
|
1788 *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
|
1789 *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
|
1790 *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
|
1791 *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
|
1792 } |
7d693457f85e
updated the ati vidix driver 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 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
|
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 /* 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
|
1796 /* 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
|
1797 *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
|
1798 /* 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
|
1799 *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
|
1800 *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
|
1801 *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
|
1802 *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
|
1803 *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
|
1804 *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
|
1805 } |
7d693457f85e
updated the ati vidix driver 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 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
|
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 /* 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
|
1809 /* 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
|
1810 *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
|
1811 /* 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
|
1812 *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
|
1813 *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
|
1814 *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
|
1815 *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
|
1816 *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
|
1817 *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
|
1818 } |
7d693457f85e
updated the ati vidix driver 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 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
|
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 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
|
1822 *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
|
1823 *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
|
1824 *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
|
1825 *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
|
1826 *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
|
1827 *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
|
1828 *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
|
1829 } |
7d693457f85e
updated the ati vidix driver 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 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
|
1831 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
|
1832 /*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
|
1833 /* 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
|
1834 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
|
1835 ((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
|
1836 ((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
|
1837 !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
|
1838 { /*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
|
1839 /* 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
|
1840 *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
|
1841 *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
|
1842 *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
|
1843 *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
|
1844 *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
|
1845 *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
|
1846 *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
|
1847 } |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
1849 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
|
1850 ((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
|
1851 ((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
|
1852 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
|
1853 { /*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
|
1854 *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
|
1855 *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
|
1856 *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
|
1857 *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
|
1858 *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
|
1859 *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
|
1860 *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
|
1861 } |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
1863 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
|
1864 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
|
1865 ((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
|
1866 ((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
|
1867 !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
|
1868 { /*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
|
1869 *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
|
1870 *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
|
1871 *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
|
1872 *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
|
1873 *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
|
1874 *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
|
1875 *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
|
1876 } |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
1878 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
|
1879 ((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
|
1880 ((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
|
1881 { /*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
|
1882 *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
|
1883 *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
|
1884 *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
|
1885 *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
|
1886 *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
|
1887 *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
|
1888 *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
|
1889 } |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
1891 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
|
1892 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
|
1893 ((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
|
1894 ((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
|
1895 { /*>=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
|
1896 *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
|
1897 *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
|
1898 *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
|
1899 *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
|
1900 *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
|
1901 *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
|
1902 *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
|
1903 } |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
1905 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
|
1906 ((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
|
1907 ((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
|
1908 { |
7d693457f85e
updated the ati vidix driver 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 *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
|
1910 *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
|
1911 *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
|
1912 *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
|
1913 *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
|
1914 *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
|
1915 *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
|
1916 } |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
1918 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
|
1919 ((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
|
1920 ((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
|
1921 { |
7d693457f85e
updated the ati vidix driver 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 *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
|
1923 *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
|
1924 *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
|
1925 *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
|
1926 *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
|
1927 *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
|
1928 *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
|
1929 } |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
1931 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
|
1932 ((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
|
1933 ((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
|
1934 { |
7d693457f85e
updated the ati vidix driver 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 *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
|
1936 *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
|
1937 *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
|
1938 *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
|
1939 *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
|
1940 *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
|
1941 *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
|
1942 } |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
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 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
|
1946 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
|
1947 ((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
|
1948 ((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
|
1949 { |
7d693457f85e
updated the ati vidix driver 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 *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
|
1951 *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
|
1952 *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
|
1953 *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
|
1954 *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
|
1955 *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
|
1956 *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
|
1957 } |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
1959 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
|
1960 ((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
|
1961 ((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
|
1962 { |
7d693457f85e
updated the ati vidix driver 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 *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
|
1964 *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
|
1965 *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
|
1966 *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
|
1967 *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
|
1968 *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
|
1969 *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
|
1970 } |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
1972 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
|
1973 ((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
|
1974 ((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
|
1975 { |
7d693457f85e
updated the ati vidix driver 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 *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
|
1977 *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
|
1978 *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
|
1979 *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
|
1980 *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
|
1981 *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
|
1982 *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
|
1983 } |
7d693457f85e
updated the ati vidix driver 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 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
|
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 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
|
1987 *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
|
1988 *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
|
1989 *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
|
1990 *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
|
1991 *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
|
1992 *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
|
1993 *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
|
1994 } |
7d693457f85e
updated the ati vidix driver 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 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
|
1996 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
|
1997 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
|
1998 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
|
1999 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
|
2000 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
|
2001 /* 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
|
2002 /* 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
|
2003 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
|
2004 !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
|
2005 { /*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
|
2006 *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
|
2007 *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
|
2008 *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
|
2009 *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
|
2010 *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
|
2011 *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
|
2012 *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
|
2013 } |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
2015 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
|
2016 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
|
2017 { /*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
|
2018 *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
|
2019 *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
|
2020 *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
|
2021 *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
|
2022 *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
|
2023 *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
|
2024 *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
|
2025 } |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
2027 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
|
2028 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
|
2029 !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
|
2030 { /*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
|
2031 *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
|
2032 *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
|
2033 *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
|
2034 *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
|
2035 *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
|
2036 *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
|
2037 *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
|
2038 } |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
2040 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
|
2041 { /*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
|
2042 *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
|
2043 *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
|
2044 *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
|
2045 *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
|
2046 *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
|
2047 *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
|
2048 *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
|
2049 } |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
2051 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
|
2052 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
|
2053 { /*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
|
2054 *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
|
2055 *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
|
2056 *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
|
2057 *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
|
2058 *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
|
2059 *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
|
2060 *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
|
2061 } |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
2063 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
|
2064 { |
7d693457f85e
updated the ati vidix driver 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 *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
|
2066 *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
|
2067 *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
|
2068 *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
|
2069 *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
|
2070 *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
|
2071 *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
|
2072 } |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
2074 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
|
2075 { |
7d693457f85e
updated the ati vidix driver 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 *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
|
2077 *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
|
2078 *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
|
2079 *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
|
2080 *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
|
2081 *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
|
2082 *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
|
2083 } |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
2085 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
|
2086 { |
7d693457f85e
updated the ati vidix driver 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 *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
|
2088 *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
|
2089 *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
|
2090 *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
|
2091 *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
|
2092 *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
|
2093 *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
|
2094 } |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
2096 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
|
2097 (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
|
2098 { |
7d693457f85e
updated the ati vidix driver 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 *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
|
2100 /* 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
|
2101 *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
|
2102 *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
|
2103 *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
|
2104 *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
|
2105 *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
|
2106 *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
|
2107 } |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
2109 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
|
2110 { |
7d693457f85e
updated the ati vidix driver 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 *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
|
2112 *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
|
2113 *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
|
2114 *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
|
2115 *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
|
2116 *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
|
2117 *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
|
2118 } |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
2120 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
|
2121 { |
7d693457f85e
updated the ati vidix driver 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 *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
|
2123 /* 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
|
2124 *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
|
2125 *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
|
2126 *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
|
2127 *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
|
2128 *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
|
2129 *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
|
2130 } |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
2132 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
|
2133 (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
|
2134 { |
7d693457f85e
updated the ati vidix driver 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 *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
|
2136 /* 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
|
2137 *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
|
2138 *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
|
2139 *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
|
2140 *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
|
2141 *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
|
2142 *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
|
2143 } |
7d693457f85e
updated the ati vidix driver 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 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
|
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 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
|
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 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
|
2149 *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
|
2150 *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
|
2151 *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
|
2152 *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
|
2153 *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
|
2154 *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
|
2155 *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
|
2156 } |
7d693457f85e
updated the ati vidix driver 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 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
|
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 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
|
2160 *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
|
2161 *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
|
2162 *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
|
2163 *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
|
2164 *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
|
2165 *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
|
2166 *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
|
2167 } |
7d693457f85e
updated the ati vidix driver 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 } |
7d693457f85e
updated the ati vidix driver 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 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
|
2170 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
|
2171 |
7d693457f85e
updated the ati vidix driver 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 } |
7d693457f85e
updated the ati vidix driver 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 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
|
2174 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
|
2175 } |
7d693457f85e
updated the ati vidix driver 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 |
7d693457f85e
updated the ati vidix driver 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 /* ** 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
|
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 |
7d693457f85e
updated the ati vidix driver 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 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
|
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 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
|
2184 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
|
2185 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
|
2186 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
|
2187 |
7d693457f85e
updated the ati vidix driver 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 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
|
2189 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
|
2190 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
|
2191 } |
7d693457f85e
updated the ati vidix driver 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 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
|
2193 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
|
2194 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
|
2195 } |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
2197 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
|
2198 { |
7d693457f85e
updated the ati vidix driver 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 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
|
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 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
|
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 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
|
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 |
7d693457f85e
updated the ati vidix driver 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 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
|
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 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
|
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 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
|
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 /*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
|
2213 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
|
2214 } |
7d693457f85e
updated the ati vidix driver 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 |
7d693457f85e
updated the ati vidix driver 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 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
|
2218 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
|
2219 } |
7d693457f85e
updated the ati vidix driver 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 |
7d693457f85e
updated the ati vidix driver 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 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
|
2222 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
|
2223 |
7d693457f85e
updated the ati vidix driver 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 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
|
2225 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
|
2226 ? (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
|
2227 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2228 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
|
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 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
|
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 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
|
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 /*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
|
2235 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
|
2236 } |
7d693457f85e
updated the ati vidix driver 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 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
|
2238 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
|
2239 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
|
2240 ((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
|
2241 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
|
2242 ((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
|
2243 } |
7d693457f85e
updated the ati vidix driver 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 |
7d693457f85e
updated the ati vidix driver 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 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
|
2247 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
|
2248 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
|
2249 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
|
2250 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
|
2251 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
|
2252 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
|
2253 { |
7d693457f85e
updated the ati vidix driver 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 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
|
2255 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
|
2256 /* 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
|
2257 |
7d693457f85e
updated the ati vidix driver 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 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
|
2259 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
|
2260 |
7d693457f85e
updated the ati vidix driver 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_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
|
2262 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
|
2263 { |
7d693457f85e
updated the ati vidix driver 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 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
|
2265 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
|
2266 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
|
2267 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
|
2268 /* 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
|
2269 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
|
2270 (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
|
2271 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
|
2272 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
|
2273 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
|
2274 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
|
2275 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
|
2276 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
|
2277 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
|
2278 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
|
2279 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
|
2280 /* 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
|
2281 /* 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
|
2282 /* 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
|
2283 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
|
2284 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
|
2285 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
|
2286 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
|
2287 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
|
2288 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
|
2289 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
|
2290 } |
7d693457f85e
updated the ati vidix driver 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 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
|
2292 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
|
2293 |
7d693457f85e
updated the ati vidix driver 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 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
|
2295 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
|
2296 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
|
2297 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
|
2298 { |
7d693457f85e
updated the ati vidix driver 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 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
|
2300 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
|
2301 } |
7d693457f85e
updated the ati vidix driver 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 *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
|
2303 *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
|
2304 } |
7d693457f85e
updated the ati vidix driver 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 |
7d693457f85e
updated the ati vidix driver 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 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
|
2307 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
|
2308 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
|
2309 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
|
2310 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
|
2311 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
|
2312 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
|
2313 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
|
2314 { |
7d693457f85e
updated the ati vidix driver 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_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
|
2316 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
|
2317 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
|
2318 /* 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
|
2319 /* 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
|
2320 /* 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
|
2321 /* 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
|
2322 /* 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
|
2323 /* 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
|
2324 /* 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
|
2325 /* 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
|
2326 |
7d693457f85e
updated the ati vidix driver 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 { |
7d693457f85e
updated the ati vidix driver 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 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
|
2329 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
|
2330 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
|
2331 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
|
2332 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
|
2333 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
|
2334 |
7d693457f85e
updated the ati vidix driver 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 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
|
2336 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
|
2337 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
|
2338 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
|
2339 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
|
2340 |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
2342 /* 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
|
2343 /* 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
|
2344 /* 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
|
2345 /* 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
|
2346 /* 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
|
2347 /* 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
|
2348 /* (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
|
2349 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
|
2350 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
|
2351 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
|
2352 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
|
2353 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
|
2354 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
|
2355 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
|
2356 } |
7d693457f85e
updated the ati vidix driver 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 |
7d693457f85e
updated the ati vidix driver 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 /* ** 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
|
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 |
7d693457f85e
updated the ati vidix driver 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 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
|
2364 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
|
2365 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
|
2366 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
|
2367 |
7d693457f85e
updated the ati vidix driver 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 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
|
2369 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
|
2370 |
7d693457f85e
updated the ati vidix driver 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 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
|
2372 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
|
2373 |
7d693457f85e
updated the ati vidix driver 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 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
|
2375 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
|
2376 { |
7d693457f85e
updated the ati vidix driver 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 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 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
|
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 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
|
2382 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
|
2383 |
7d693457f85e
updated the ati vidix driver 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 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
|
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 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
|
2387 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
|
2388 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
|
2389 ((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
|
2390 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
|
2391 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
|
2392 ((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
|
2393 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
|
2394 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
|
2395 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
|
2396 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
|
2397 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
|
2398 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
|
2399 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
|
2400 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
|
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 } |
7d693457f85e
updated the ati vidix driver 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 |
7d693457f85e
updated the ati vidix driver 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 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
|
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 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 |
7d693457f85e
updated the ati vidix driver 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 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
|
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 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
|
2412 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
|
2413 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
|
2414 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
|
2415 } |
7d693457f85e
updated the ati vidix driver 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 |
7d693457f85e
updated the ati vidix driver 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 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
|
2418 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
|
2419 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
|
2420 } 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
|
2421 |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
2423 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
|
2424 { |
25718
8eddf6a9af7f
Make some radeon vidix driver tables static and const
reimar
parents:
25415
diff
changeset
|
2425 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
|
2426 {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
|
2427 {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
|
2428 {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
|
2429 {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
|
2430 {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
|
2431 {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
|
2432 {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
|
2433 {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
|
2434 {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
|
2435 {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
|
2436 {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
|
2437 {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
|
2438 {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
|
2439 {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
|
2440 {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
|
2441 {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
|
2442 {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
|
2443 {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
|
2444 {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
|
2445 {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
|
2446 {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
|
2447 {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
|
2448 {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
|
2449 {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
|
2450 {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
|
2451 {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
|
2452 {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
|
2453 {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
|
2454 {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
|
2455 {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
|
2456 {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
|
2457 {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
|
2458 {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
|
2459 {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
|
2460 {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
|
2461 {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
|
2462 {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
|
2463 {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
|
2464 {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
|
2465 {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
|
2466 {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
|
2467 {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
|
2468 {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
|
2469 {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
|
2470 {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
|
2471 {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
|
2472 {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
|
2473 {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
|
2474 {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
|
2475 {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
|
2476 {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
|
2477 {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
|
2478 {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
|
2479 {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
|
2480 {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
|
2481 {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
|
2482 {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
|
2483 {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
|
2484 {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
|
2485 {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
|
2486 {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
|
2487 {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
|
2488 {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
|
2489 {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
|
2490 {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
|
2491 {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
|
2492 {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
|
2493 {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
|
2494 {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
|
2495 {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
|
2496 {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
|
2497 {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
|
2498 {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
|
2499 {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
|
2500 {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
|
2501 {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
|
2502 }; |
7d693457f85e
updated the ati vidix driver 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 |
7d693457f85e
updated the ati vidix driver 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 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
|
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 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
|
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 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
|
2509 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
|
2510 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
|
2511 |
7d693457f85e
updated the ati vidix driver 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 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
|
2513 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
|
2514 ((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
|
2515 ((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
|
2516 ((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
|
2517 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
|
2518 ((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
|
2519 ((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
|
2520 ((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
|
2521 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
|
2522 ((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
|
2523 ((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
|
2524 ((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
|
2525 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
|
2526 ((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
|
2527 ((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
|
2528 ((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
|
2529 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
|
2530 ((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
|
2531 ((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
|
2532 ((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
|
2533 /* |
7d693457f85e
updated the ati vidix driver 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 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
|
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 } |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
2539 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
|
2540 /* 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
|
2541 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
|
2542 |
22850 | 2543 static int radeon_vid_init_video( vidix_playback_t *config ) |
2544 { | |
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
|
2545 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
|
2546 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
|
2547 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
|
2548 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
|
2549 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
|
2550 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
|
2551 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
|
2552 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
|
2553 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
|
2554 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
|
2555 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
|
2556 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
|
2557 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
|
2558 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
|
2559 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
|
2560 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
|
2561 |
22850 | 2562 radeon_vid_stop_video(); |
2563 left = config->src.x << 16; | |
2564 top = config->src.y << 16; | |
2565 src_h = config->src.h; | |
2566 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
|
2567 is_400 = is_410 = is_420 = 0; |
22850 | 2568 if(config->fourcc == IMGFMT_YV12 || |
2569 config->fourcc == IMGFMT_I420 || | |
2570 config->fourcc == IMGFMT_IYUV) is_420 = 1; | |
2571 if(config->fourcc == IMGFMT_YVU9 || | |
2572 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
|
2573 if(config->fourcc == IMGFMT_Y800) is_400 = 1; |
22850 | 2574 best_pitch = radeon_query_pitch(config->fourcc,&config->src.pitch); |
2575 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
|
2576 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
|
2577 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
|
2578 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
|
2579 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
|
2580 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
|
2581 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
|
2582 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
|
2583 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
|
2584 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
|
2585 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
|
2586 h_inc = 1; |
22850 | 2587 switch(config->fourcc) |
2588 { | |
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
|
2589 /* 4:0:0*/ |
22850 | 2590 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
|
2591 /* 4:1:0*/ |
22850 | 2592 case IMGFMT_YVU9: |
2593 case IMGFMT_IF09: | |
2594 /* 4:2:0 */ | |
2595 case IMGFMT_IYUV: | |
2596 case IMGFMT_YV12: | |
2597 case IMGFMT_I420: pitch = (src_w + mpitch) & ~mpitch; | |
2598 config->dest.pitch.y = | |
2599 config->dest.pitch.u = | |
2600 config->dest.pitch.v = best_pitch; | |
2601 break; | |
2602 /* RGB 4:4:4:4 */ | |
2603 case IMGFMT_RGB32: | |
2604 case IMGFMT_BGR32: pitch = (src_w*4 + mpitch) & ~mpitch; | |
2605 config->dest.pitch.y = | |
2606 config->dest.pitch.u = | |
2607 config->dest.pitch.v = best_pitch; | |
2608 break; | |
2609 /* 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
|
2610 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2611 default: /* RGB15, RGB16, YVYU, UYVY, YUY2 */ |
22850 | 2612 pitch = ((src_w*2) + mpitch) & ~mpitch; |
2613 config->dest.pitch.y = | |
2614 config->dest.pitch.u = | |
2615 config->dest.pitch.v = best_pitch; | |
2616 break; | |
2617 } | |
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
|
2618 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
|
2619 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
|
2620 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
|
2621 { |
7d693457f85e
updated the ati vidix driver 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 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
|
2623 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
|
2624 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
|
2625 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
|
2626 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
|
2627 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
|
2628 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
|
2629 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
|
2630 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
|
2631 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
|
2632 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
|
2633 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
|
2634 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
|
2635 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
|
2636 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
|
2637 /* 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
|
2638 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
|
2639 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
|
2640 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
|
2641 /* 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
|
2642 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
|
2643 /* 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
|
2644 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
|
2645 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
|
2646 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
|
2647 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
|
2648 /* 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
|
2649 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
|
2650 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
|
2651 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
|
2652 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
|
2653 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
|
2654 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
|
2655 } |
7d693457f85e
updated the ati vidix driver 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 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
|
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 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
|
2659 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
|
2660 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
|
2661 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
|
2662 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
|
2663 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
|
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 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
|
2666 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
|
2667 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
|
2668 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
|
2669 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
|
2670 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
|
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 } |
7d693457f85e
updated the ati vidix driver 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 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
|
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 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
|
2676 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
|
2677 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
|
2678 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
|
2679 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
|
2680 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
|
2681 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
|
2682 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
|
2683 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
|
2684 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
|
2685 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
|
2686 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
|
2687 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
|
2688 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
|
2689 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
|
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 |
7d693457f85e
updated the ati vidix driver 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 } |
7d693457f85e
updated the ati vidix driver 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 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
|
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 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
|
2696 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
|
2697 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
|
2698 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
|
2699 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
|
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 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
|
2702 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
|
2703 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
|
2704 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
|
2705 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
|
2706 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
|
2707 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
|
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 } |
7d693457f85e
updated the ati vidix driver 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 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
|
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 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
|
2713 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
|
2714 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
|
2715 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
|
2716 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
|
2717 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
|
2718 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
|
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 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
|
2721 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
|
2722 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
|
2723 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
|
2724 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
|
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 } |
7d693457f85e
updated the ati vidix driver 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 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
|
2728 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
|
2729 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
|
2730 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
|
2731 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
|
2732 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
|
2733 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
|
2734 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
|
2735 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
|
2736 /* 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
|
2737 // 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
|
2738 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
|
2739 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
|
2740 |
7d693457f85e
updated the ati vidix driver 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 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
|
2742 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
|
2743 /* 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
|
2744 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
|
2745 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
|
2746 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
|
2747 |
7d693457f85e
updated the ati vidix driver 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 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
|
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 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
|
2751 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
|
2752 { |
7d693457f85e
updated the ati vidix driver 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 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
|
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 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
|
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 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
|
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 |
7d693457f85e
updated the ati vidix driver 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 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
|
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 /*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
|
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 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
|
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 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
|
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 |
7d693457f85e
updated the ati vidix driver 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 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
|
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 /*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
|
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 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
|
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 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
|
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 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
|
2778 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
|
2779 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
|
2780 { |
7d693457f85e
updated the ati vidix driver 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 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
|
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 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
|
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 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
|
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 |
7d693457f85e
updated the ati vidix driver 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 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
|
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 /*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
|
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 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
|
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 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
|
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 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
|
2797 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
|
2798 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
|
2799 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
|
2800 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
|
2801 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
|
2802 { |
7d693457f85e
updated the ati vidix driver 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 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
|
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 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
|
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 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
|
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 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
|
2810 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
|
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 } |
22850 | 2813 dest_w = config->dest.w; |
2814 dest_h = config->dest.h; | |
2815 if(radeon_is_dbl_scan()) dest_h *= 2; | |
2816 besr.dest_bpp = radeon_vid_get_dbpp(); | |
2817 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
|
2818 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
|
2819 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
|
2820 /* 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
|
2821 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
|
2822 { |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
2824 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
|
2825 } |
7d693457f85e
updated the ati vidix driver 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 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
|
2827 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
|
2828 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
|
2829 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
|
2830 { |
7d693457f85e
updated the ati vidix driver 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 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
|
2832 val_OV0_P23_MAX_LN_IN_PER_LN_OUT = 2; |
22850 | 2833 } |
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
|
2834 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
|
2835 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
|
2836 { |
7d693457f85e
updated the ati vidix driver 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 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
|
2838 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
|
2839 } |
7d693457f85e
updated the ati vidix driver 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 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
|
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 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
|
2843 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
|
2844 } |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
2846 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
|
2847 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
|
2848 besr.v_inc <<= 8; |
22850 | 2849 { |
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
|
2850 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
|
2851 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
|
2852 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
|
2853 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
|
2854 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
|
2855 |
7d693457f85e
updated the ati vidix driver 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 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
|
2857 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
|
2858 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
|
2859 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
|
2860 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
|
2861 &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
|
2862 &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
|
2863 &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
|
2864 &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
|
2865 &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
|
2866 &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
|
2867 &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
|
2868 |
7d693457f85e
updated the ati vidix driver 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 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
|
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 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
|
2872 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
|
2873 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
|
2874 { |
7d693457f85e
updated the ati vidix driver 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 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
|
2876 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
|
2877 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
|
2878 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
|
2879 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
|
2880 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
|
2881 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
|
2882 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
|
2883 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
|
2884 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
|
2885 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
|
2886 } |
7d693457f85e
updated the ati vidix driver 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 } |
22850 | 2888 |
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
|
2889 P23GroupSize = 2; /* Current vaue for all modes */ |
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 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
|
2892 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
|
2893 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
|
2894 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
|
2895 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
|
2896 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
|
2897 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
|
2898 |
7d693457f85e
updated the ati vidix driver 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 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
|
2900 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
|
2901 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
|
2902 |
7d693457f85e
updated the ati vidix driver 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 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
|
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 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
|
2906 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
|
2907 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
|
2908 ((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
|
2909 |
7d693457f85e
updated the ati vidix driver 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 = (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
|
2911 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
|
2912 |(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
|
2913 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
|
2914 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
|
2915 ((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
|
2916 |
7d693457f85e
updated the ati vidix driver 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 = ((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
|
2918 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
|
2919 ((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
|
2920 |(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
|
2921 } |
7d693457f85e
updated the ati vidix driver 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 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
|
2923 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
|
2924 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
|
2925 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
|
2926 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
|
2927 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
|
2928 val_OV0_P23_MAX_LN_IN_PER_LN_OUT); |
22850 | 2929 } |
2930 | |
2931 /* keep everything in 16.16 */ | |
2932 besr.base_addr = INREG(DISPLAY_BASE_ADDR); | |
2933 config->offsets[0] = 0; | |
2934 for(i=1;i<besr.vid_nbufs;i++) | |
2935 config->offsets[i] = config->offsets[i-1]+config->frame_size; | |
2936 if(is_420 || is_410 || is_400) | |
2937 { | |
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
|
2938 uint32_t d1line,d2line,d3line; |
22850 | 2939 d1line = top*pitch; |
2940 if(is_420) | |
2941 { | |
2942 d2line = src_h*pitch+(d1line>>2); | |
2943 d3line = d2line+((src_h*pitch)>>2); | |
2944 } | |
2945 else | |
2946 if(is_410) | |
2947 { | |
2948 d2line = src_h*pitch+(d1line>>4); | |
2949 d3line = d2line+((src_h*pitch)>>4); | |
2950 } | |
2951 else | |
2952 { | |
2953 d2line = 0; | |
2954 d3line = 0; | |
2955 } | |
2956 d1line += (left >> 16) & ~15; | |
2957 if(is_420) | |
2958 { | |
2959 d2line += (left >> 17) & ~15; | |
2960 d3line += (left >> 17) & ~15; | |
2961 } | |
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
|
2962 else /* is_410 */ |
22850 | 2963 { |
2964 d2line += (left >> 18) & ~15; | |
2965 d3line += (left >> 18) & ~15; | |
2966 } | |
2967 config->offset.y = d1line & VIF_BUF0_BASE_ADRS_MASK; | |
2968 if(is_400) | |
2969 { | |
2970 config->offset.v = 0; | |
2971 config->offset.u = 0; | |
2972 } | |
2973 else | |
2974 { | |
2975 config->offset.v = d2line & VIF_BUF1_BASE_ADRS_MASK; | |
2976 config->offset.u = d3line & VIF_BUF2_BASE_ADRS_MASK; | |
2977 } | |
2978 for(i=0;i<besr.vid_nbufs;i++) | |
2979 { | |
2980 besr.vid_buf_base_adrs_y[i]=((radeon_overlay_off+config->offsets[i]+config->offset.y)&VIF_BUF0_BASE_ADRS_MASK); | |
2981 if(is_400) | |
2982 { | |
2983 besr.vid_buf_base_adrs_v[i]=0; | |
2984 besr.vid_buf_base_adrs_u[i]=0; | |
2985 } | |
2986 else | |
2987 { | |
23652
82443ed07f23
fix Radeon/Rage128 vidix with I420 colorspace (U/V were inverted)
ben
parents:
23167
diff
changeset
|
2988 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
|
2989 { |
82443ed07f23
fix Radeon/Rage128 vidix with I420 colorspace (U/V were inverted)
ben
parents:
23167
diff
changeset
|
2990 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
|
2991 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
|
2992 } |
82443ed07f23
fix Radeon/Rage128 vidix with I420 colorspace (U/V were inverted)
ben
parents:
23167
diff
changeset
|
2993 else |
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 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
|
2996 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
|
2997 } |
22850 | 2998 } |
2999 } | |
3000 config->offset.y = ((besr.vid_buf_base_adrs_y[0])&VIF_BUF0_BASE_ADRS_MASK) - radeon_overlay_off; | |
3001 if(is_400) | |
3002 { | |
3003 config->offset.v = 0; | |
3004 config->offset.u = 0; | |
3005 } | |
3006 else | |
3007 { | |
3008 config->offset.v = ((besr.vid_buf_base_adrs_v[0])&VIF_BUF1_BASE_ADRS_MASK) - radeon_overlay_off; | |
3009 config->offset.u = ((besr.vid_buf_base_adrs_u[0])&VIF_BUF2_BASE_ADRS_MASK) - radeon_overlay_off; | |
3010 } | |
3011 } | |
3012 else | |
3013 { | |
3014 config->offset.y = config->offset.u = config->offset.v = ((left & ~7) << 1)&VIF_BUF0_BASE_ADRS_MASK; | |
3015 for(i=0;i<besr.vid_nbufs;i++) | |
3016 { | |
3017 besr.vid_buf_base_adrs_y[i] = | |
3018 besr.vid_buf_base_adrs_u[i] = | |
3019 besr.vid_buf_base_adrs_v[i] = radeon_overlay_off + config->offsets[i] + config->offset.y; | |
3020 } | |
3021 } | |
3022 leftUV = (left >> (is_410?18:17)) & 15; | |
3023 left = (left >> 16) & 15; | |
3024 besr.y_x_start = (config->dest.x+X_ADJUST) | (config->dest.y << 16); | |
3025 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
|
3026 ComputeBorders(config,VertUVSubSample); |
22850 | 3027 besr.vid_buf_pitch0_value = pitch; |
3028 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
|
3029 /* ********************************************************* */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3030 /* ** 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
|
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 |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
3034 /* 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
|
3035 if(H_scale_ratio > MinHScaleHard) besr.filter_cntl |= FILTER_HARDCODED_COEF; |
22850 | 3036 else |
3037 { | |
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
|
3038 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
|
3039 /* 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
|
3040 /* 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
|
3041 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
|
3042 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
|
3043 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
|
3044 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
|
3045 besr.filter_cntl |= FILTER_HARD_SCALE_VERT_UV; |
22850 | 3046 } |
3047 return 0; | |
3048 } | |
3049 | |
3050 static void radeon_compute_framesize(vidix_playback_t *info) | |
3051 { | |
3052 unsigned pitch,awidth,dbpp; | |
3053 pitch = radeon_query_pitch(info->fourcc,&info->src.pitch); | |
3054 dbpp = radeon_vid_get_dbpp(); | |
3055 switch(info->fourcc) | |
3056 { | |
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
|
3057 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
|
3058 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
|
3059 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
|
3060 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
|
3061 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
|
3062 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
|
3063 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
|
3064 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
|
3065 break; |
22850 | 3066 case IMGFMT_I420: |
3067 case IMGFMT_YV12: | |
3068 case IMGFMT_IYUV: | |
3069 awidth = (info->src.w + (pitch-1)) & ~(pitch-1); | |
3070 info->frame_size = awidth*(info->src.h+info->src.h/2); | |
3071 break; | |
3072 case IMGFMT_RGB32: | |
3073 case IMGFMT_BGR32: | |
3074 awidth = (info->src.w*4 + (pitch-1)) & ~(pitch-1); | |
3075 info->frame_size = awidth*info->src.h; | |
3076 break; | |
3077 /* YUY2 YVYU, RGB15, RGB16 */ | |
3078 default: | |
3079 awidth = (info->src.w*2 + (pitch-1)) & ~(pitch-1); | |
3080 info->frame_size = awidth*info->src.h; | |
3081 break; | |
3082 } | |
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
|
3083 info->frame_size = (info->frame_size+4095)&~4095; |
22850 | 3084 } |
3085 | |
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
|
3086 static int radeon_config_playback(vidix_playback_t *info) |
22850 | 3087 { |
3088 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
|
3089 uint32_t radeon_video_size; |
22850 | 3090 if(!is_supported_fourcc(info->fourcc)) return ENOSYS; |
3091 if(info->num_frames>VID_PLAY_MAXFRAMES) info->num_frames=VID_PLAY_MAXFRAMES; | |
3092 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
|
3093 else besr.double_buff=1; |
22850 | 3094 radeon_compute_framesize(info); |
3095 | |
3096 rgb_size = radeon_get_xres()*radeon_get_yres()*((radeon_vid_get_dbpp()+7)/8); | |
3097 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
|
3098 radeon_video_size = radeon_ram_size; |
22850 | 3099 for(;nfr>0; nfr--) |
3100 { | |
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
|
3101 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
|
3102 #if !defined (RAGE128) && defined(HAVE_X11) |
22850 | 3103 radeon_overlay_off -= firegl_shift; |
3104 #endif | |
3105 radeon_overlay_off &= 0xffff0000; | |
3106 if(radeon_overlay_off >= (int)rgb_size ) break; | |
3107 } | |
3108 if(nfr <= 3) | |
3109 { | |
3110 nfr = info->num_frames; | |
3111 for(;nfr>0; nfr--) | |
3112 { | |
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
|
3113 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
|
3114 #if !defined (RAGE128) && defined(HAVE_X11) |
22850 | 3115 radeon_overlay_off -= firegl_shift; |
3116 #endif | |
3117 radeon_overlay_off &= 0xffff0000; | |
3118 if(radeon_overlay_off > 0) break; | |
3119 } | |
3120 } | |
3121 if(nfr <= 0) return EINVAL; | |
3122 info->num_frames = nfr; | |
3123 besr.vid_nbufs = info->num_frames; | |
3124 info->dga_addr = (char *)radeon_mem_base + radeon_overlay_off; | |
3125 radeon_vid_init_video(info); | |
3126 return 0; | |
3127 } | |
3128 | |
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
|
3129 static int radeon_playback_on(void) |
22850 | 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 #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
|
3132 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
|
3133 #endif |
22850 | 3134 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
|
3135 #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
|
3136 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
|
3137 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
|
3138 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
|
3139 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
|
3140 #endif |
22850 | 3141 return 0; |
3142 } | |
3143 | |
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
|
3144 static int radeon_playback_off(void) |
22850 | 3145 { |
3146 radeon_vid_stop_video(); | |
3147 return 0; | |
3148 } | |
3149 | |
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
|
3150 static int radeon_frame_select(unsigned frame) |
22850 | 3151 { |
3152 uint32_t off[6]; | |
3153 int prev_frame= (frame-1+besr.vid_nbufs) % besr.vid_nbufs; | |
3154 /* | |
3155 buf3-5 always should point onto second buffer for better | |
3156 deinterlacing and TV-in | |
3157 */ | |
3158 if(!besr.double_buff) return 0; | |
3159 if(frame > besr.vid_nbufs) frame = besr.vid_nbufs-1; | |
3160 if(prev_frame > (int)besr.vid_nbufs) prev_frame = besr.vid_nbufs-1; | |
3161 off[0] = besr.vid_buf_base_adrs_y[frame]; | |
3162 off[1] = besr.vid_buf_base_adrs_v[frame]; | |
3163 off[2] = besr.vid_buf_base_adrs_u[frame]; | |
3164 off[3] = besr.vid_buf_base_adrs_y[prev_frame]; | |
3165 off[4] = besr.vid_buf_base_adrs_v[prev_frame]; | |
3166 off[5] = besr.vid_buf_base_adrs_u[prev_frame]; | |
3167 radeon_fifo_wait(8); | |
3168 OUTREG(OV0_REG_LOAD_CNTL, REG_LD_CTL_LOCK); | |
3169 radeon_engine_idle(); | |
3170 while(!(INREG(OV0_REG_LOAD_CNTL)®_LD_CTL_LOCK_READBACK)); | |
3171 OUTREG(OV0_VID_BUF0_BASE_ADRS, off[0]); | |
3172 OUTREG(OV0_VID_BUF1_BASE_ADRS, off[1]); | |
3173 OUTREG(OV0_VID_BUF2_BASE_ADRS, off[2]); | |
3174 OUTREG(OV0_VID_BUF3_BASE_ADRS, off[3]); | |
3175 OUTREG(OV0_VID_BUF4_BASE_ADRS, off[4]); | |
3176 OUTREG(OV0_VID_BUF5_BASE_ADRS, off[5]); | |
3177 OUTREG(OV0_REG_LOAD_CNTL, 0); | |
3178 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
|
3179 if(verbosity > VERBOSE_LEVEL) radeon_vid_dump_regs(); |
22850 | 3180 return 0; |
3181 } | |
3182 | |
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
|
3183 static vidix_video_eq_t equal = |
22850 | 3184 { |
3185 VEQ_CAP_BRIGHTNESS | VEQ_CAP_SATURATION | |
3186 #ifndef RAGE128 | |
3187 | VEQ_CAP_CONTRAST | VEQ_CAP_HUE | VEQ_CAP_RGB_INTENSITY | |
3188 #endif | |
3189 , | |
3190 0, 0, 0, 0, 0, 0, 0, 0 }; | |
3191 | |
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
|
3192 static int radeon_get_eq(vidix_video_eq_t * eq) |
22850 | 3193 { |
3194 memcpy(eq,&equal,sizeof(vidix_video_eq_t)); | |
3195 return 0; | |
3196 } | |
3197 | |
3198 #ifndef RAGE128 | |
3199 #define RTFSaturation(a) (1.0 + ((a)*1.0)/1000.0) | |
3200 #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
|
3201 #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
|
3202 #define RTFContrast(a) (1.0 + ((a)*1.0)/1000.0) |
22850 | 3203 #define RTFHue(a) (((a)*3.1416)/1000.0) |
3204 #define RTFCheckParam(a) {if((a)<-1000) (a)=-1000; if((a)>1000) (a)=1000;} | |
3205 #endif | |
3206 | |
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
|
3207 static int radeon_set_eq(const vidix_video_eq_t * eq) |
22850 | 3208 { |
3209 #ifdef RAGE128 | |
3210 int br,sat; | |
3211 #else | |
3212 int itu_space; | |
3213 #endif | |
3214 if(eq->cap & VEQ_CAP_BRIGHTNESS) equal.brightness = eq->brightness; | |
3215 if(eq->cap & VEQ_CAP_CONTRAST) equal.contrast = eq->contrast; | |
3216 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
|
3217 if(eq->cap & VEQ_CAP_HUE) equal.hue = eq->hue; |
22850 | 3218 if(eq->cap & VEQ_CAP_RGB_INTENSITY) |
3219 { | |
3220 equal.red_intensity = eq->red_intensity; | |
3221 equal.green_intensity = eq->green_intensity; | |
3222 equal.blue_intensity = eq->blue_intensity; | |
3223 } | |
3224 equal.flags = eq->flags; | |
3225 #ifdef RAGE128 | |
3226 br = equal.brightness * 64 / 1000; | |
3227 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
|
3228 sat = (equal.saturation*31 + 31000) / 2000; |
22850 | 3229 if(sat < 0) sat = 0; if(sat > 31) sat = 31; |
3230 OUTREG(OV0_COLOUR_CNTL, (br & 0x7f) | (sat << 8) | (sat << 16)); | |
3231 #else | |
3232 itu_space = equal.flags == VEQ_FLG_ITU_R_BT_709 ? 1 : 0; | |
3233 RTFCheckParam(equal.brightness); | |
3234 RTFCheckParam(equal.saturation); | |
3235 RTFCheckParam(equal.contrast); | |
3236 RTFCheckParam(equal.hue); | |
3237 RTFCheckParam(equal.red_intensity); | |
3238 RTFCheckParam(equal.green_intensity); | |
3239 RTFCheckParam(equal.blue_intensity); | |
3240 radeon_set_transform(RTFBrightness(equal.brightness), | |
3241 RTFContrast(equal.contrast), | |
3242 RTFSaturation(equal.saturation), | |
3243 RTFHue(equal.hue), | |
3244 RTFIntensity(equal.red_intensity), | |
3245 RTFIntensity(equal.green_intensity), | |
3246 RTFIntensity(equal.blue_intensity), | |
3247 itu_space); | |
3248 #endif | |
3249 return 0; | |
3250 } | |
3251 | |
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
|
3252 static int radeon_playback_set_deint(const vidix_deinterlace_t * info) |
22850 | 3253 { |
3254 unsigned sflg; | |
3255 switch(info->flags) | |
3256 { | |
3257 default: | |
3258 case CFG_NON_INTERLACED: | |
3259 besr.deinterlace_on = 0; | |
3260 break; | |
3261 case CFG_EVEN_ODD_INTERLACING: | |
3262 case CFG_INTERLACED: | |
3263 besr.deinterlace_on = 1; | |
3264 besr.deinterlace_pattern = 0x900AAAAA; | |
3265 break; | |
3266 case CFG_ODD_EVEN_INTERLACING: | |
3267 besr.deinterlace_on = 1; | |
3268 besr.deinterlace_pattern = 0x00055555; | |
3269 break; | |
3270 case CFG_UNIQUE_INTERLACING: | |
3271 besr.deinterlace_on = 1; | |
3272 besr.deinterlace_pattern = info->deinterlace_pattern; | |
3273 break; | |
3274 } | |
3275 OUTREG(OV0_REG_LOAD_CNTL, REG_LD_CTL_LOCK); | |
3276 radeon_engine_idle(); | |
3277 while(!(INREG(OV0_REG_LOAD_CNTL)®_LD_CTL_LOCK_READBACK)); | |
3278 radeon_fifo_wait(15); | |
3279 sflg = INREG(OV0_SCALE_CNTL); | |
3280 if(besr.deinterlace_on) | |
3281 { | |
3282 OUTREG(OV0_SCALE_CNTL,sflg | SCALER_ADAPTIVE_DEINT); | |
3283 OUTREG(OV0_DEINTERLACE_PATTERN,besr.deinterlace_pattern); | |
3284 } | |
3285 else OUTREG(OV0_SCALE_CNTL,sflg & (~SCALER_ADAPTIVE_DEINT)); | |
3286 OUTREG(OV0_REG_LOAD_CNTL, 0); | |
3287 return 0; | |
3288 } | |
3289 | |
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
|
3290 static int radeon_playback_get_deint(vidix_deinterlace_t * info) |
22850 | 3291 { |
3292 if(!besr.deinterlace_on) info->flags = CFG_NON_INTERLACED; | |
3293 else | |
3294 { | |
3295 info->flags = CFG_UNIQUE_INTERLACING; | |
3296 info->deinterlace_pattern = besr.deinterlace_pattern; | |
3297 } | |
3298 return 0; | |
3299 } | |
3300 | |
3301 | |
3302 /* Graphic keys */ | |
3303 static vidix_grkey_t radeon_grkey; | |
3304 | |
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
|
3305 static int set_gr_key( void ) |
22850 | 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 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
|
3308 |
7d693457f85e
updated the ati vidix driver 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 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
|
3310 0x00ff0000; /* graphic alpha */ |
22850 | 3311 if(radeon_grkey.ckey.op == CKEY_TRUE) |
3312 { | |
3313 int dbpp=radeon_vid_get_dbpp(); | |
3314 besr.ckey_on=1; | |
3315 | |
3316 switch(dbpp) | |
3317 { | |
3318 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
|
3319 #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
|
3320 if((besr.chip_flags&R_100)!=R_100) |
22850 | 3321 besr.graphics_key_clr= |
3322 ((radeon_grkey.ckey.blue &0xF8)) | |
3323 | ((radeon_grkey.ckey.green&0xF8)<<8) | |
3324 | ((radeon_grkey.ckey.red &0xF8)<<16); | |
3325 else | |
3326 #endif | |
3327 besr.graphics_key_clr= | |
3328 ((radeon_grkey.ckey.blue &0xF8)>>3) | |
3329 | ((radeon_grkey.ckey.green&0xF8)<<2) | |
3330 | ((radeon_grkey.ckey.red &0xF8)<<7); | |
3331 break; | |
3332 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
|
3333 #ifndef RAGE128 |
22850 | 3334 /* 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
|
3335 if((besr.chip_flags&R_100)!=R_100) |
22850 | 3336 besr.graphics_key_clr= |
3337 ((radeon_grkey.ckey.blue &0xF8)) | |
3338 | ((radeon_grkey.ckey.green&0xFC)<<8) | |
3339 | ((radeon_grkey.ckey.red &0xF8)<<16); | |
3340 else | |
3341 #endif | |
3342 besr.graphics_key_clr= | |
3343 ((radeon_grkey.ckey.blue &0xF8)>>3) | |
3344 | ((radeon_grkey.ckey.green&0xFC)<<3) | |
3345 | ((radeon_grkey.ckey.red &0xF8)<<8); | |
3346 break; | |
3347 case 24: | |
3348 case 32: | |
3349 besr.graphics_key_clr= | |
3350 ((radeon_grkey.ckey.blue &0xFF)) | |
3351 | ((radeon_grkey.ckey.green&0xFF)<<8) | |
3352 | ((radeon_grkey.ckey.red &0xFF)<<16); | |
3353 break; | |
3354 default: | |
3355 besr.ckey_on=0; | |
3356 besr.graphics_key_msk=0; | |
3357 besr.graphics_key_clr=0; | |
3358 } | |
3359 #ifdef RAGE128 | |
3360 besr.graphics_key_msk=(1<<dbpp)-1; | |
3361 besr.ckey_cntl = VIDEO_KEY_FN_TRUE|GRAPHIC_KEY_FN_NE|CMP_MIX_AND; | |
3362 #else | |
3363 besr.graphics_key_msk=besr.graphics_key_clr; | |
3364 besr.ckey_cntl = VIDEO_KEY_FN_TRUE|CMP_MIX_AND|GRAPHIC_KEY_FN_EQ; | |
3365 #endif | |
3366 } | |
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
|
3367 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
|
3368 { |
7d693457f85e
updated the ati vidix driver 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 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
|
3370 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
|
3371 |
7d693457f85e
updated the ati vidix driver 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 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
|
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 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
|
3375 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
|
3376 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
|
3377 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
|
3378 besr.ckey_cntl = VIDEO_KEY_FN_TRUE|GRAPHIC_KEY_FN_TRUE|CMP_MIX_AND; |
25366 | 3379 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
|
3380 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
|
3381 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
|
3382 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
|
3383 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
|
3384 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
|
3385 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
|
3386 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
|
3387 } |
7d693457f85e
updated the ati vidix driver 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 } |
22850 | 3389 else |
3390 { | |
3391 besr.ckey_on=0; | |
3392 besr.graphics_key_msk=0; | |
3393 besr.graphics_key_clr=0; | |
3394 besr.ckey_cntl = VIDEO_KEY_FN_TRUE|GRAPHIC_KEY_FN_TRUE|CMP_MIX_AND; | |
25415 | 3395 besr.merge_cntl |= 0x00000100; /* DISP_RGB_OFFSET_EN */ |
22850 | 3396 } |
3397 radeon_fifo_wait(3); | |
3398 OUTREG(OV0_GRAPHICS_KEY_MSK, besr.graphics_key_msk); | |
3399 OUTREG(OV0_GRAPHICS_KEY_CLR, besr.graphics_key_clr); | |
3400 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
|
3401 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
|
3402 return result; |
22850 | 3403 } |
3404 | |
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
|
3405 static int radeon_get_gkey(vidix_grkey_t *grkey) |
22850 | 3406 { |
3407 memcpy(grkey, &radeon_grkey, sizeof(vidix_grkey_t)); | |
26753
502f04b67653
cosmetics: Remove useless parentheses from return statements.
diego
parents:
26714
diff
changeset
|
3408 return 0; |
22850 | 3409 } |
3410 | |
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
|
3411 static int radeon_set_gkey(const vidix_grkey_t *grkey) |
22850 | 3412 { |
3413 memcpy(&radeon_grkey, grkey, sizeof(vidix_grkey_t)); | |
26753
502f04b67653
cosmetics: Remove useless parentheses from return statements.
diego
parents:
26714
diff
changeset
|
3414 return set_gr_key(); |
22850 | 3415 } |
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
|
3416 |
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
|
3417 #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
|
3418 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
|
3419 "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 #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
|
3421 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
|
3422 "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
|
3423 #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
|
3424 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
|
3425 |
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 .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
|
3427 .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
|
3428 .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
|
3429 .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
|
3430 .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
|
3431 .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
|
3432 .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
|
3433 .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
|
3434 .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
|
3435 .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
|
3436 .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
|
3437 .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
|
3438 .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
|
3439 .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
|
3440 .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
|
3441 }; |