Mercurial > mplayer.hg
annotate vidix/radeon_vid.c @ 26713:b315e4b90eb6
Remove pointless changelog from file header.
author | diego |
---|---|
date | Mon, 12 May 2008 08:58:25 +0000 |
parents | e8af7338a462 |
children | 81710a8c1cf6 |
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. |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
23044
diff
changeset
|
3 * Copyright (C) 2002 Nick Kurshev |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
23044
diff
changeset
|
4 * |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
23044
diff
changeset
|
5 * 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
|
6 * |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
23044
diff
changeset
|
7 * 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
|
8 * 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
|
9 * 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
|
10 * (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
|
11 * |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
23044
diff
changeset
|
12 * 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
|
13 * 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
|
14 * 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
|
15 * 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
|
16 * |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
23044
diff
changeset
|
17 * You should have received a copy of the GNU General Public License |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
23044
diff
changeset
|
18 * along with MPlayer; if not, write to the Free Software |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
23044
diff
changeset
|
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
23044
diff
changeset
|
20 * |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
23044
diff
changeset
|
21 * This file is based on sources from |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
23044
diff
changeset
|
22 * GATOS (gatos.sf.net) and X11 (www.xfree86.org) |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
23044
diff
changeset
|
23 */ |
22850 | 24 |
25 #include <errno.h> | |
26 #include <stdio.h> | |
27 #include <stdlib.h> | |
28 #include <string.h> | |
29 #include <math.h> | |
30 #include <inttypes.h> | |
31 | |
22905 | 32 #include "config.h" |
33 #include "libavutil/common.h" | |
34 #include "mpbswap.h" | |
22900
a9e111b88c4a
merged libdha and libvidix, moved all files from libdha to vidix directory
ben
parents:
22874
diff
changeset
|
35 #include "pci_ids.h" |
a9e111b88c4a
merged libdha and libvidix, moved all files from libdha to vidix directory
ben
parents:
22874
diff
changeset
|
36 #include "pci_names.h" |
22850 | 37 #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
|
38 #include "vidixlib.h" |
22850 | 39 #include "fourcc.h" |
22901 | 40 #include "dha.h" |
22850 | 41 #include "radeon.h" |
42 | |
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
|
43 #if !defined(RAGE128) && defined(HAVE_X11) |
22850 | 44 #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
|
45 static uint32_t firegl_shift = 0; |
22850 | 46 #endif |
47 | |
48 #ifdef RAGE128 | |
49 #define RADEON_MSG "[rage128]" | |
50 #define X_ADJUST 0 | |
51 #else | |
52 #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
|
53 #define X_ADJUST (((besr.chip_flags&R_OVL_SHIFT)==R_OVL_SHIFT)?8:0) |
22850 | 54 #ifndef RADEON |
55 #define RADEON | |
56 #endif | |
57 #endif | |
58 | |
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
|
59 #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
|
60 |
7d693457f85e
updated the ati vidix driver 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 VERBOSE_LEVEL 0 |
25859
e8af7338a462
Fix illegal identifiers, names starting with __ are reserved for the system.
diego
parents:
25718
diff
changeset
|
62 static int verbosity = 0; |
22850 | 63 typedef struct bes_registers_s |
64 { | |
65 /* base address of yuv framebuffer */ | |
66 uint32_t yuv_base; | |
67 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
|
68 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
|
69 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
|
70 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
|
71 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
|
72 int swap_uv; /* for direct support of bgr fourccs */ |
22850 | 73 uint32_t dest_bpp; |
74 /* YUV BES registers */ | |
75 uint32_t reg_load_cntl; | |
76 uint32_t h_inc; | |
77 uint32_t step_by; | |
78 uint32_t y_x_start; | |
79 uint32_t y_x_end; | |
80 uint32_t v_inc; | |
81 uint32_t p1_blank_lines_at_top; | |
82 uint32_t p23_blank_lines_at_top; | |
83 uint32_t vid_buf_pitch0_value; | |
84 uint32_t vid_buf_pitch1_value; | |
85 uint32_t p1_x_start_end; | |
86 uint32_t p2_x_start_end; | |
87 uint32_t p3_x_start_end; | |
88 uint32_t base_addr; | |
89 uint32_t vid_buf_base_adrs_y[VID_PLAY_MAXFRAMES]; | |
90 uint32_t vid_buf_base_adrs_u[VID_PLAY_MAXFRAMES]; | |
91 uint32_t vid_buf_base_adrs_v[VID_PLAY_MAXFRAMES]; | |
92 uint32_t vid_nbufs; | |
93 | |
94 uint32_t p1_v_accum_init; | |
95 uint32_t p1_h_accum_init; | |
96 uint32_t p23_v_accum_init; | |
97 uint32_t p23_h_accum_init; | |
98 uint32_t scale_cntl; | |
99 uint32_t exclusive_horz; | |
100 uint32_t auto_flip_cntl; | |
101 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
|
102 uint32_t four_tap_coeff[5]; |
22850 | 103 uint32_t key_cntl; |
104 uint32_t test; | |
105 /* Configurable stuff */ | |
106 int double_buff; | |
107 | |
108 int brightness; | |
109 int saturation; | |
110 | |
111 int ckey_on; | |
112 uint32_t graphics_key_clr; | |
113 uint32_t graphics_key_msk; | |
114 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
|
115 uint32_t merge_cntl; |
22850 | 116 |
117 int deinterlace_on; | |
118 uint32_t deinterlace_pattern; | |
119 | |
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
|
120 unsigned chip_flags; |
22850 | 121 } bes_registers_t; |
122 | |
123 typedef struct video_registers_s | |
124 { | |
125 const char * sname; | |
126 uint32_t name; | |
127 uint32_t value; | |
128 }video_registers_t; | |
129 | |
130 static bes_registers_t besr; | |
131 #define DECLARE_VREG(name) { #name, name, 0 } | |
25718
8eddf6a9af7f
Make some radeon vidix driver tables static and const
reimar
parents:
25415
diff
changeset
|
132 static const video_registers_t vregs[] = |
22850 | 133 { |
134 DECLARE_VREG(VIDEOMUX_CNTL), | |
135 DECLARE_VREG(VIPPAD_MASK), | |
136 DECLARE_VREG(VIPPAD1_A), | |
137 DECLARE_VREG(VIPPAD1_EN), | |
138 DECLARE_VREG(VIPPAD1_Y), | |
139 DECLARE_VREG(OV0_Y_X_START), | |
140 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
|
141 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
|
142 DECLARE_VREG(OV1_Y_X_END), |
22850 | 143 DECLARE_VREG(OV0_PIPELINE_CNTL), |
144 DECLARE_VREG(OV0_EXCLUSIVE_HORZ), | |
145 DECLARE_VREG(OV0_EXCLUSIVE_VERT), | |
146 DECLARE_VREG(OV0_REG_LOAD_CNTL), | |
147 DECLARE_VREG(OV0_SCALE_CNTL), | |
148 DECLARE_VREG(OV0_V_INC), | |
149 DECLARE_VREG(OV0_P1_V_ACCUM_INIT), | |
150 DECLARE_VREG(OV0_P23_V_ACCUM_INIT), | |
151 DECLARE_VREG(OV0_P1_BLANK_LINES_AT_TOP), | |
152 DECLARE_VREG(OV0_P23_BLANK_LINES_AT_TOP), | |
153 #ifdef RADEON | |
154 DECLARE_VREG(OV0_BASE_ADDR), | |
155 #endif | |
156 DECLARE_VREG(OV0_VID_BUF0_BASE_ADRS), | |
157 DECLARE_VREG(OV0_VID_BUF1_BASE_ADRS), | |
158 DECLARE_VREG(OV0_VID_BUF2_BASE_ADRS), | |
159 DECLARE_VREG(OV0_VID_BUF3_BASE_ADRS), | |
160 DECLARE_VREG(OV0_VID_BUF4_BASE_ADRS), | |
161 DECLARE_VREG(OV0_VID_BUF5_BASE_ADRS), | |
162 DECLARE_VREG(OV0_VID_BUF_PITCH0_VALUE), | |
163 DECLARE_VREG(OV0_VID_BUF_PITCH1_VALUE), | |
164 DECLARE_VREG(OV0_AUTO_FLIP_CNTL), | |
165 DECLARE_VREG(OV0_DEINTERLACE_PATTERN), | |
166 DECLARE_VREG(OV0_SUBMIT_HISTORY), | |
167 DECLARE_VREG(OV0_H_INC), | |
168 DECLARE_VREG(OV0_STEP_BY), | |
169 DECLARE_VREG(OV0_P1_H_ACCUM_INIT), | |
170 DECLARE_VREG(OV0_P23_H_ACCUM_INIT), | |
171 DECLARE_VREG(OV0_P1_X_START_END), | |
172 DECLARE_VREG(OV0_P2_X_START_END), | |
173 DECLARE_VREG(OV0_P3_X_START_END), | |
174 DECLARE_VREG(OV0_FILTER_CNTL), | |
175 DECLARE_VREG(OV0_FOUR_TAP_COEF_0), | |
176 DECLARE_VREG(OV0_FOUR_TAP_COEF_1), | |
177 DECLARE_VREG(OV0_FOUR_TAP_COEF_2), | |
178 DECLARE_VREG(OV0_FOUR_TAP_COEF_3), | |
179 DECLARE_VREG(OV0_FOUR_TAP_COEF_4), | |
180 DECLARE_VREG(OV0_FLAG_CNTL), | |
181 #ifdef RAGE128 | |
182 DECLARE_VREG(OV0_COLOUR_CNTL), | |
183 #else | |
184 DECLARE_VREG(OV0_SLICE_CNTL), | |
185 #endif | |
186 DECLARE_VREG(OV0_VID_KEY_CLR), | |
187 DECLARE_VREG(OV0_VID_KEY_MSK), | |
188 DECLARE_VREG(OV0_GRAPHICS_KEY_CLR), | |
189 DECLARE_VREG(OV0_GRAPHICS_KEY_MSK), | |
190 DECLARE_VREG(OV0_KEY_CNTL), | |
191 DECLARE_VREG(OV0_TEST), | |
192 DECLARE_VREG(OV0_LIN_TRANS_A), | |
193 DECLARE_VREG(OV0_LIN_TRANS_B), | |
194 DECLARE_VREG(OV0_LIN_TRANS_C), | |
195 DECLARE_VREG(OV0_LIN_TRANS_D), | |
196 DECLARE_VREG(OV0_LIN_TRANS_E), | |
197 DECLARE_VREG(OV0_LIN_TRANS_F), | |
198 DECLARE_VREG(OV0_GAMMA_0_F), | |
199 DECLARE_VREG(OV0_GAMMA_10_1F), | |
200 DECLARE_VREG(OV0_GAMMA_20_3F), | |
201 DECLARE_VREG(OV0_GAMMA_40_7F), | |
202 DECLARE_VREG(OV0_GAMMA_380_3BF), | |
203 DECLARE_VREG(OV0_GAMMA_3C0_3FF), | |
204 DECLARE_VREG(SUBPIC_CNTL), | |
205 DECLARE_VREG(SUBPIC_DEFCOLCON), | |
206 DECLARE_VREG(SUBPIC_Y_X_START), | |
207 DECLARE_VREG(SUBPIC_Y_X_END), | |
208 DECLARE_VREG(SUBPIC_V_INC), | |
209 DECLARE_VREG(SUBPIC_H_INC), | |
210 DECLARE_VREG(SUBPIC_BUF0_OFFSET), | |
211 DECLARE_VREG(SUBPIC_BUF1_OFFSET), | |
212 DECLARE_VREG(SUBPIC_LC0_OFFSET), | |
213 DECLARE_VREG(SUBPIC_LC1_OFFSET), | |
214 DECLARE_VREG(SUBPIC_PITCH), | |
215 DECLARE_VREG(SUBPIC_BTN_HLI_COLCON), | |
216 DECLARE_VREG(SUBPIC_BTN_HLI_Y_X_START), | |
217 DECLARE_VREG(SUBPIC_BTN_HLI_Y_X_END), | |
218 DECLARE_VREG(SUBPIC_PALETTE_INDEX), | |
219 DECLARE_VREG(SUBPIC_PALETTE_DATA), | |
220 DECLARE_VREG(SUBPIC_H_ACCUM_INIT), | |
221 DECLARE_VREG(SUBPIC_V_ACCUM_INIT), | |
222 DECLARE_VREG(IDCT_RUNS), | |
223 DECLARE_VREG(IDCT_LEVELS), | |
224 DECLARE_VREG(IDCT_AUTH_CONTROL), | |
225 DECLARE_VREG(IDCT_AUTH), | |
226 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
|
227 #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
|
228 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
|
229 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
|
230 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
|
231 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
|
232 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
|
233 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
|
234 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
|
235 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
|
236 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
|
237 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
|
238 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
|
239 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
|
240 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
|
241 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
|
242 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
|
243 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
|
244 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
|
245 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
|
246 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
|
247 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
|
248 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
|
249 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
|
250 #else |
25316
ea301dc982fa
Dump the ati radeon DISP_MERGE_CNTL register to ease the
ben
parents:
25273
diff
changeset
|
251 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
|
252 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
|
253 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
|
254 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
|
255 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
|
256 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
|
257 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
|
258 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
|
259 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
|
260 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
|
261 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
|
262 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
|
263 #endif |
22850 | 264 }; |
265 | |
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
|
266 #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
|
267 #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
|
268 #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
|
269 #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
|
270 #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
|
271 #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
|
272 #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
|
273 #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
|
274 #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
|
275 #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
|
276 #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
|
277 #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
|
278 #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
|
279 #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
|
280 #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
|
281 #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
|
282 #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
|
283 |
7d693457f85e
updated the ati vidix driver 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 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
|
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 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
|
287 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
|
288 }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
|
289 |
7d693457f85e
updated the ati vidix driver 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 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
|
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 #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
|
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 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
|
295 (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
|
296 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
|
297 (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
|
298 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
|
299 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
|
300 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
|
301 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
|
302 */ |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
304 { 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
|
305 { 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
|
306 { 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
|
307 { 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
|
308 { 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
|
309 { 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
|
310 /* 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
|
311 { 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
|
312 { 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
|
313 { 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
|
314 { 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
|
315 { 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
|
316 { 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
|
317 { 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
|
318 { 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
|
319 { 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
|
320 { 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
|
321 { 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
|
322 { 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
|
323 { 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
|
324 { 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
|
325 { 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
|
326 { 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
|
327 { 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
|
328 { 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
|
329 /* 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
|
330 { 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
|
331 { 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
|
332 { 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
|
333 { 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
|
334 { 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
|
335 { 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
|
336 { 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
|
337 { 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
|
338 { 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
|
339 { 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
|
340 { 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
|
341 { 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
|
342 { 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
|
343 { 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
|
344 { 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
|
345 { 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
|
346 /* 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
|
347 { 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
|
348 { 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
|
349 #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
|
350 /* 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
|
351 { 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
|
352 { 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
|
353 { 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
|
354 { 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
|
355 { 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
|
356 { 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
|
357 { 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
|
358 { 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
|
359 { 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
|
360 { 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
|
361 { 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
|
362 { 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
|
363 /* 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
|
364 { 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
|
365 { 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
|
366 { 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
|
367 { 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
|
368 { 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
|
369 { 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
|
370 { 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
|
371 { 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
|
372 { 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
|
373 { 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
|
374 { 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
|
375 { 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
|
376 { 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
|
377 { 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
|
378 { 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
|
379 { 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
|
380 { 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
|
381 { 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
|
382 { 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
|
383 { 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
|
384 { 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
|
385 { 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
|
386 { 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
|
387 { 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
|
388 { 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
|
389 { 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
|
390 { 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
|
391 { 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
|
392 { 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
|
393 { 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
|
394 { 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
|
395 { 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
|
396 { 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
|
397 { 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
|
398 { 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
|
399 { 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
|
400 { 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
|
401 { 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
|
402 { 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
|
403 { 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
|
404 { 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
|
405 /* 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
|
406 { 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
|
407 { 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
|
408 { 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
|
409 { 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
|
410 { 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
|
411 { 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
|
412 { 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
|
413 { 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
|
414 { 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
|
415 { 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
|
416 { 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
|
417 { 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
|
418 { 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
|
419 { 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
|
420 { 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
|
421 { 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
|
422 { 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
|
423 { 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
|
424 { 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
|
425 { 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
|
426 { 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
|
427 { 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
|
428 { 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
|
429 { 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
|
430 { 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
|
431 { 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
|
432 { 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
|
433 { 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
|
434 { 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
|
435 { 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
|
436 { 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
|
437 { 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
|
438 { 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
|
439 { 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
|
440 { 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
|
441 { 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
|
442 { 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
|
443 { 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
|
444 { 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
|
445 { 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
|
446 { 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
|
447 { 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
|
448 { 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
|
449 { 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
|
450 { 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
|
451 { 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
|
452 { 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
|
453 { 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
|
454 { 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
|
455 { 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
|
456 { 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
|
457 { 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
|
458 { 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
|
459 { 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
|
460 { 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
|
461 { 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
|
462 { 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
|
463 { 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
|
464 { 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
|
465 { 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
|
466 { 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
|
467 { 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
|
468 { 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
|
469 { 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
|
470 { 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
|
471 { 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
|
472 { 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
|
473 { 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
|
474 { 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
|
475 { 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
|
476 { 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
|
477 { 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
|
478 { 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
|
479 { 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
|
480 { 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
|
481 { 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
|
482 { 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
|
483 { 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
|
484 { 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
|
485 { 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
|
486 { 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
|
487 { 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
|
488 { 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
|
489 { 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
|
490 { 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
|
491 { 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
|
492 { 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
|
493 { 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
|
494 { 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
|
495 { 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
|
496 { 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
|
497 { 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
|
498 { 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
|
499 { 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
|
500 { 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
|
501 { 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
|
502 { 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
|
503 { 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
|
504 { 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
|
505 { 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
|
506 { 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
|
507 { 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
|
508 { 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
|
509 { 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
|
510 { 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
|
511 { 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
|
512 { 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
|
513 { 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
|
514 { 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
|
515 { 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
|
516 { 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
|
517 { 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
|
518 { DEVICE_ATI_R480_RADEON_X850XT6, R_480|R_PCIE }, |
22850 | 519 #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
|
520 }; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
521 |
7d693457f85e
updated the ati vidix driver 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 |
22850 | 523 static void * radeon_mmio_base = 0; |
524 static void * radeon_mem_base = 0; | |
525 static int32_t radeon_overlay_off = 0; | |
526 static uint32_t radeon_ram_size = 0; | |
527 | |
528 #define GETREG(TYPE,PTR,OFFZ) (*((volatile TYPE*)((PTR)+(OFFZ)))) | |
529 #define SETREG(TYPE,PTR,OFFZ,VAL) (*((volatile TYPE*)((PTR)+(OFFZ))))=VAL | |
530 | |
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
|
531 #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
|
532 #define OUTREG8(addr,val) SETREG(uint8_t,(uint8_t *)(radeon_mmio_base),addr,val) |
22850 | 533 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
|
534 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
|
535 return le2me_32(tmp); |
22850 | 536 } |
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
|
537 #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
|
538 #define OUTREGP(addr,val,mask) \ |
22850 | 539 do { \ |
540 unsigned int _tmp = INREG(addr); \ | |
541 _tmp &= (mask); \ | |
542 _tmp |= (val); \ | |
543 OUTREG(addr, _tmp); \ | |
544 } while (0) | |
545 | |
546 static __inline__ uint32_t INPLL(uint32_t addr) | |
547 { | |
548 OUTREG8(CLOCK_CNTL_INDEX, addr & 0x0000001f); | |
549 return (INREG(CLOCK_CNTL_DATA)); | |
550 } | |
551 | |
552 #define OUTPLL(addr,val) OUTREG8(CLOCK_CNTL_INDEX, (addr & 0x0000001f) | 0x00000080); \ | |
553 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
|
554 #define OUTPLLP(addr,val,mask) \ |
22850 | 555 do { \ |
556 unsigned int _tmp = INPLL(addr); \ | |
557 _tmp &= (mask); \ | |
558 _tmp |= (val); \ | |
559 OUTPLL(addr, _tmp); \ | |
560 } while (0) | |
561 | |
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
|
562 #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
|
563 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
|
564 { |
7d693457f85e
updated the ati vidix driver 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 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
|
566 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
|
567 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
|
568 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
|
569 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
|
570 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
|
571 }; |
7d693457f85e
updated the ati vidix driver 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 |
7d693457f85e
updated the ati vidix driver 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 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
|
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 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
|
576 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
|
577 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
|
578 }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
|
579 |
7d693457f85e
updated the ati vidix driver 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 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
|
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 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
|
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 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
|
585 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
|
586 { |
7d693457f85e
updated the ati vidix driver 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 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
|
588 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
|
589 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
|
590 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
|
591 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
|
592 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
|
593 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
|
594 } |
7d693457f85e
updated the ati vidix driver 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 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
|
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 |
7d693457f85e
updated the ati vidix driver 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 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
|
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 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
|
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 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
|
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 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
|
605 /* 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
|
606 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
|
607 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
|
608 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
|
609 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
|
610 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
|
611 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
|
612 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
|
613 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
|
614 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
|
615 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
|
616 |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
618 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
|
619 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
|
620 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
|
621 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
|
622 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
|
623 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
|
624 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
|
625 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
|
626 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
|
627 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
|
628 } 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
|
629 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
|
630 |
7d693457f85e
updated the ati vidix driver 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 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
|
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 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
|
634 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
|
635 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
|
636 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
|
637 } |
7d693457f85e
updated the ati vidix driver 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 } |
7d693457f85e
updated the ati vidix driver 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 #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
|
640 |
22850 | 641 static uint32_t radeon_vid_get_dbpp( void ) |
642 { | |
643 uint32_t dbpp,retval; | |
644 dbpp = (INREG(CRTC_GEN_CNTL)>>8)& 0xF; | |
645 switch(dbpp) | |
646 { | |
647 case DST_8BPP: retval = 8; break; | |
648 case DST_15BPP: retval = 15; break; | |
649 case DST_16BPP: retval = 16; break; | |
650 case DST_24BPP: retval = 24; break; | |
651 default: retval=32; break; | |
652 } | |
653 return retval; | |
654 } | |
655 | |
656 static int radeon_is_dbl_scan( void ) | |
657 { | |
658 return (INREG(CRTC_GEN_CNTL))&CRTC_DBL_SCAN_EN; | |
659 } | |
660 | |
661 static int radeon_is_interlace( void ) | |
662 { | |
663 return (INREG(CRTC_GEN_CNTL))&CRTC_INTERLACE_EN; | |
664 } | |
665 | |
666 static uint32_t radeon_get_xres( void ) | |
667 { | |
668 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
|
669 #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
|
670 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
|
671 (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
|
672 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
|
673 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
|
674 #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
|
675 h_total = INREG(CRTC_H_TOTAL_DISP); |
22850 | 676 xres = (h_total >> 16) & 0xffff; |
677 return (xres + 1)*8; | |
678 } | |
679 | |
680 static uint32_t radeon_get_yres( void ) | |
681 { | |
682 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
|
683 #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
|
684 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
|
685 (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
|
686 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
|
687 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
|
688 #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
|
689 v_total = INREG(CRTC_V_TOTAL_DISP); |
22850 | 690 yres = (v_total >> 16) & 0xffff; |
691 return yres + 1; | |
692 } | |
693 | |
694 static void radeon_wait_vsync(void) | |
695 { | |
696 int i; | |
697 | |
698 OUTREG(GEN_INT_STATUS, VSYNC_INT_AK); | |
699 for (i = 0; i < 2000000; i++) | |
700 { | |
701 if (INREG(GEN_INT_STATUS) & VSYNC_INT) break; | |
702 } | |
703 } | |
704 | |
705 #ifdef RAGE128 | |
706 static void _radeon_engine_idle(void); | |
707 static void _radeon_fifo_wait(unsigned); | |
708 #define radeon_engine_idle() _radeon_engine_idle() | |
709 #define radeon_fifo_wait(entries) _radeon_fifo_wait(entries) | |
710 /* Flush all dirty data in the Pixel Cache to memory. */ | |
711 static __inline__ void radeon_engine_flush ( void ) | |
712 { | |
713 unsigned i; | |
714 | |
715 OUTREGP(PC_NGUI_CTLSTAT, PC_FLUSH_ALL, ~PC_FLUSH_ALL); | |
716 for (i = 0; i < 2000000; i++) { | |
717 if (!(INREG(PC_NGUI_CTLSTAT) & PC_BUSY)) break; | |
718 } | |
719 } | |
720 | |
721 /* Reset graphics card to known state. */ | |
722 static void radeon_engine_reset( void ) | |
723 { | |
724 uint32_t clock_cntl_index; | |
725 uint32_t mclk_cntl; | |
726 uint32_t gen_reset_cntl; | |
727 | |
728 radeon_engine_flush(); | |
729 | |
730 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
|
731 mclk_cntl = INPLL(MCLK_CNTL); |
22850 | 732 |
733 OUTPLL(MCLK_CNTL, mclk_cntl | FORCE_GCP | FORCE_PIPE3D_CP); | |
734 | |
735 gen_reset_cntl = INREG(GEN_RESET_CNTL); | |
736 | |
737 OUTREG(GEN_RESET_CNTL, gen_reset_cntl | SOFT_RESET_GUI); | |
738 INREG(GEN_RESET_CNTL); | |
739 OUTREG(GEN_RESET_CNTL, | |
740 gen_reset_cntl & (uint32_t)(~SOFT_RESET_GUI)); | |
741 INREG(GEN_RESET_CNTL); | |
742 | |
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
|
743 OUTPLL(MCLK_CNTL, mclk_cntl); |
22850 | 744 OUTREG(CLOCK_CNTL_INDEX, clock_cntl_index); |
745 OUTREG(GEN_RESET_CNTL, gen_reset_cntl); | |
746 } | |
747 #else | |
748 | |
749 static __inline__ void radeon_engine_flush ( void ) | |
750 { | |
751 int i; | |
752 | |
753 /* initiate flush */ | |
754 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
|
755 ~RB2D_DC_FLUSH_ALL); |
22850 | 756 |
757 for (i=0; i < 2000000; i++) { | |
758 if (!(INREG(RB2D_DSTCACHE_CTLSTAT) & RB2D_DC_BUSY)) | |
759 break; | |
760 } | |
761 } | |
762 | |
763 static void _radeon_engine_idle(void); | |
764 static void _radeon_fifo_wait(unsigned); | |
765 #define radeon_engine_idle() _radeon_engine_idle() | |
766 #define radeon_fifo_wait(entries) _radeon_fifo_wait(entries) | |
767 | |
768 static void radeon_engine_reset( void ) | |
769 { | |
770 uint32_t clock_cntl_index, mclk_cntl, rbbm_soft_reset; | |
771 | |
772 radeon_engine_flush (); | |
773 | |
774 clock_cntl_index = INREG(CLOCK_CNTL_INDEX); | |
775 mclk_cntl = INPLL(MCLK_CNTL); | |
776 | |
777 OUTPLL(MCLK_CNTL, (mclk_cntl | | |
778 FORCEON_MCLKA | | |
779 FORCEON_MCLKB | | |
780 FORCEON_YCLKA | | |
781 FORCEON_YCLKB | | |
782 FORCEON_MC | | |
783 FORCEON_AIC)); | |
784 rbbm_soft_reset = INREG(RBBM_SOFT_RESET); | |
785 | |
786 OUTREG(RBBM_SOFT_RESET, rbbm_soft_reset | | |
787 SOFT_RESET_CP | | |
788 SOFT_RESET_HI | | |
789 SOFT_RESET_SE | | |
790 SOFT_RESET_RE | | |
791 SOFT_RESET_PP | | |
792 SOFT_RESET_E2 | | |
793 SOFT_RESET_RB | | |
794 SOFT_RESET_HDP); | |
795 INREG(RBBM_SOFT_RESET); | |
796 OUTREG(RBBM_SOFT_RESET, rbbm_soft_reset & (uint32_t) | |
797 ~(SOFT_RESET_CP | | |
798 SOFT_RESET_HI | | |
799 SOFT_RESET_SE | | |
800 SOFT_RESET_RE | | |
801 SOFT_RESET_PP | | |
802 SOFT_RESET_E2 | | |
803 SOFT_RESET_RB | | |
804 SOFT_RESET_HDP)); | |
805 INREG(RBBM_SOFT_RESET); | |
806 | |
807 OUTPLL(MCLK_CNTL, mclk_cntl); | |
808 OUTREG(CLOCK_CNTL_INDEX, clock_cntl_index); | |
809 OUTREG(RBBM_SOFT_RESET, rbbm_soft_reset); | |
810 | |
811 return; | |
812 } | |
813 #endif | |
814 static void radeon_engine_restore( void ) | |
815 { | |
816 #ifndef RAGE128 | |
817 int pitch64; | |
818 uint32_t xres,yres,bpp; | |
819 radeon_fifo_wait(1); | |
820 xres = radeon_get_xres(); | |
821 yres = radeon_get_yres(); | |
822 bpp = radeon_vid_get_dbpp(); | |
823 /* turn of all automatic flushing - we'll do it all */ | |
824 OUTREG(RB2D_DSTCACHE_MODE, 0); | |
825 | |
826 pitch64 = ((xres * (bpp / 8) + 0x3f)) >> 6; | |
827 | |
828 radeon_fifo_wait(1); | |
829 OUTREG(DEFAULT_OFFSET, (INREG(DEFAULT_OFFSET) & 0xC0000000) | | |
830 (pitch64 << 22)); | |
831 | |
832 radeon_fifo_wait(1); | |
833 #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
|
834 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
|
835 HOST_BIG_ENDIAN_EN, ~HOST_BIG_ENDIAN_EN); |
22850 | 836 #else |
837 OUTREGP(DP_DATATYPE, 0, ~HOST_BIG_ENDIAN_EN); | |
838 #endif | |
839 | |
840 radeon_fifo_wait(1); | |
841 OUTREG(DEFAULT_SC_BOTTOM_RIGHT, (DEFAULT_SC_RIGHT_MAX | |
842 | DEFAULT_SC_BOTTOM_MAX)); | |
843 radeon_fifo_wait(1); | |
844 OUTREG(DP_GUI_MASTER_CNTL, (INREG(DP_GUI_MASTER_CNTL) | |
845 | GMC_BRUSH_SOLID_COLOR | |
846 | GMC_SRC_DATATYPE_COLOR)); | |
847 | |
848 radeon_fifo_wait(7); | |
849 OUTREG(DST_LINE_START, 0); | |
850 OUTREG(DST_LINE_END, 0); | |
851 OUTREG(DP_BRUSH_FRGD_CLR, 0xffffffff); | |
852 OUTREG(DP_BRUSH_BKGD_CLR, 0x00000000); | |
853 OUTREG(DP_SRC_FRGD_CLR, 0xffffffff); | |
854 OUTREG(DP_SRC_BKGD_CLR, 0x00000000); | |
855 OUTREG(DP_WRITE_MASK, 0xffffffff); | |
856 | |
857 radeon_engine_idle(); | |
858 #endif | |
859 } | |
860 #ifdef RAGE128 | |
861 static void _radeon_fifo_wait (unsigned entries) | |
862 { | |
863 unsigned i; | |
864 | |
865 for(;;) | |
866 { | |
867 for (i=0; i<2000000; i++) | |
868 if ((INREG(GUI_STAT) & GUI_FIFOCNT_MASK) >= entries) | |
869 return; | |
870 radeon_engine_reset(); | |
871 radeon_engine_restore(); | |
872 } | |
873 } | |
874 | |
875 static void _radeon_engine_idle ( void ) | |
876 { | |
877 unsigned i; | |
878 | |
879 /* ensure FIFO is empty before waiting for idle */ | |
880 radeon_fifo_wait (64); | |
881 for(;;) | |
882 { | |
883 for (i=0; i<2000000; i++) { | |
884 if ((INREG(GUI_STAT) & GUI_ACTIVE) == 0) { | |
885 radeon_engine_flush (); | |
886 return; | |
887 } | |
888 } | |
889 radeon_engine_reset(); | |
890 radeon_engine_restore(); | |
891 } | |
892 } | |
893 #else | |
894 static void _radeon_fifo_wait (unsigned entries) | |
895 { | |
896 unsigned i; | |
897 | |
898 for(;;) | |
899 { | |
900 for (i=0; i<2000000; i++) | |
901 if ((INREG(RBBM_STATUS) & RBBM_FIFOCNT_MASK) >= entries) | |
902 return; | |
903 radeon_engine_reset(); | |
904 radeon_engine_restore(); | |
905 } | |
906 } | |
907 static void _radeon_engine_idle ( void ) | |
908 { | |
909 int i; | |
910 | |
911 /* ensure FIFO is empty before waiting for idle */ | |
912 radeon_fifo_wait (64); | |
913 for(;;) | |
914 { | |
915 for (i=0; i<2000000; i++) { | |
916 if (((INREG(RBBM_STATUS) & RBBM_ACTIVE)) == 0) { | |
917 radeon_engine_flush (); | |
918 return; | |
919 } | |
920 } | |
921 radeon_engine_reset(); | |
922 radeon_engine_restore(); | |
923 } | |
924 } | |
925 #endif | |
926 | |
927 #ifndef RAGE128 | |
928 /* Reference color space transform data */ | |
929 typedef struct tagREF_TRANSFORM | |
930 { | |
931 float RefLuma; | |
932 float RefRCb; | |
933 float RefRCr; | |
934 float RefGCb; | |
935 float RefGCr; | |
936 float RefBCb; | |
937 float RefBCr; | |
938 } REF_TRANSFORM; | |
939 | |
940 /* 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
|
941 static const REF_TRANSFORM trans[2] = |
22850 | 942 { |
943 {1.1678, 0.0, 1.6007, -0.3929, -0.8154, 2.0232, 0.0}, /* BT.601 */ | |
944 {1.1678, 0.0, 1.7980, -0.2139, -0.5345, 2.1186, 0.0} /* BT.709 */ | |
945 }; | |
946 /**************************************************************************** | |
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
|
947 * 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
|
948 * 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
|
949 * 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
|
950 * 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
|
951 * 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
|
952 * 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
|
953 * 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
|
954 * 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
|
955 * 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
|
956 * 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
|
957 * 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
|
958 * 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
|
959 * Outputs: NONE * |
22850 | 960 ****************************************************************************/ |
961 | |
962 static void radeon_set_transform(float bright, float cont, float sat, | |
963 float hue, float red_intensity, | |
964 float green_intensity,float blue_intensity, | |
965 unsigned ref) | |
966 { | |
967 float OvHueSin, OvHueCos; | |
968 float CAdjLuma, CAdjOff; | |
969 float RedAdj,GreenAdj,BlueAdj; | |
970 float CAdjRCb, CAdjRCr; | |
971 float CAdjGCb, CAdjGCr; | |
972 float CAdjBCb, CAdjBCr; | |
973 float OvLuma, OvROff, OvGOff, OvBOff; | |
974 float OvRCb, OvRCr; | |
975 float OvGCb, OvGCr; | |
976 float OvBCb, OvBCr; | |
977 float Loff = 64.0; | |
978 float Coff = 512.0f; | |
979 | |
980 uint32_t dwOvLuma, dwOvROff, dwOvGOff, dwOvBOff; | |
981 uint32_t dwOvRCb, dwOvRCr; | |
982 uint32_t dwOvGCb, dwOvGCr; | |
983 uint32_t dwOvBCb, dwOvBCr; | |
984 | |
985 if (ref >= 2) return; | |
986 | |
987 OvHueSin = sin((double)hue); | |
988 OvHueCos = cos((double)hue); | |
989 | |
990 CAdjLuma = cont * trans[ref].RefLuma; | |
991 CAdjOff = cont * trans[ref].RefLuma * bright * 1023.0; | |
992 RedAdj = cont * trans[ref].RefLuma * red_intensity * 1023.0; | |
993 GreenAdj = cont * trans[ref].RefLuma * green_intensity * 1023.0; | |
994 BlueAdj = cont * trans[ref].RefLuma * blue_intensity * 1023.0; | |
995 | |
996 CAdjRCb = sat * -OvHueSin * trans[ref].RefRCr; | |
997 CAdjRCr = sat * OvHueCos * trans[ref].RefRCr; | |
998 CAdjGCb = sat * (OvHueCos * trans[ref].RefGCb - OvHueSin * trans[ref].RefGCr); | |
999 CAdjGCr = sat * (OvHueSin * trans[ref].RefGCb + OvHueCos * trans[ref].RefGCr); | |
1000 CAdjBCb = sat * OvHueCos * trans[ref].RefBCb; | |
1001 CAdjBCr = sat * OvHueSin * trans[ref].RefBCb; | |
1002 | |
1003 OvLuma = CAdjLuma; | |
1004 OvRCb = CAdjRCb; | |
1005 OvRCr = CAdjRCr; | |
1006 OvGCb = CAdjGCb; | |
1007 OvGCr = CAdjGCr; | |
1008 OvBCb = CAdjBCb; | |
1009 OvBCr = CAdjBCr; | |
1010 OvROff = RedAdj + CAdjOff - | |
1011 OvLuma * Loff - (OvRCb + OvRCr) * Coff; | |
1012 OvGOff = GreenAdj + CAdjOff - | |
1013 OvLuma * Loff - (OvGCb + OvGCr) * Coff; | |
1014 OvBOff = BlueAdj + CAdjOff - | |
1015 OvLuma * Loff - (OvBCb + OvBCr) * Coff; | |
1016 | |
1017 dwOvROff = ((int)(OvROff * 2.0)) & 0x1fff; | |
1018 dwOvGOff = (int)(OvGOff * 2.0) & 0x1fff; | |
1019 dwOvBOff = (int)(OvBOff * 2.0) & 0x1fff; | |
1020 /* Whatever docs say about R200 having 3.8 format instead of 3.11 | |
1021 as in Radeon is a lie */ | |
23048 | 1022 |
22850 | 1023 dwOvLuma =(((int)(OvLuma * 2048.0))&0x7fff)<<17; |
1024 dwOvRCb = (((int)(OvRCb * 2048.0))&0x7fff)<<1; | |
1025 dwOvRCr = (((int)(OvRCr * 2048.0))&0x7fff)<<17; | |
1026 dwOvGCb = (((int)(OvGCb * 2048.0))&0x7fff)<<1; | |
1027 dwOvGCr = (((int)(OvGCr * 2048.0))&0x7fff)<<17; | |
1028 dwOvBCb = (((int)(OvBCb * 2048.0))&0x7fff)<<1; | |
1029 dwOvBCr = (((int)(OvBCr * 2048.0))&0x7fff)<<17; | |
23048 | 1030 |
22850 | 1031 OUTREG(OV0_LIN_TRANS_A, dwOvRCb | dwOvLuma); |
1032 OUTREG(OV0_LIN_TRANS_B, dwOvROff | dwOvRCr); | |
1033 OUTREG(OV0_LIN_TRANS_C, dwOvGCb | dwOvLuma); | |
1034 OUTREG(OV0_LIN_TRANS_D, dwOvGOff | dwOvGCr); | |
1035 OUTREG(OV0_LIN_TRANS_E, dwOvBCb | dwOvLuma); | |
1036 OUTREG(OV0_LIN_TRANS_F, dwOvBOff | dwOvBCr); | |
1037 } | |
1038 | |
1039 /* Gamma curve definition */ | |
1040 typedef struct | |
1041 { | |
1042 unsigned int gammaReg; | |
1043 unsigned int gammaSlope; | |
1044 unsigned int gammaOffset; | |
1045 }GAMMA_SETTINGS; | |
1046 | |
1047 /* Recommended gamma curve parameters */ | |
25718
8eddf6a9af7f
Make some radeon vidix driver tables static and const
reimar
parents:
25415
diff
changeset
|
1048 static const GAMMA_SETTINGS r200_def_gamma[18] = |
22850 | 1049 { |
1050 {OV0_GAMMA_0_F, 0x100, 0x0000}, | |
1051 {OV0_GAMMA_10_1F, 0x100, 0x0020}, | |
1052 {OV0_GAMMA_20_3F, 0x100, 0x0040}, | |
1053 {OV0_GAMMA_40_7F, 0x100, 0x0080}, | |
1054 {OV0_GAMMA_80_BF, 0x100, 0x0100}, | |
1055 {OV0_GAMMA_C0_FF, 0x100, 0x0100}, | |
1056 {OV0_GAMMA_100_13F, 0x100, 0x0200}, | |
1057 {OV0_GAMMA_140_17F, 0x100, 0x0200}, | |
1058 {OV0_GAMMA_180_1BF, 0x100, 0x0300}, | |
1059 {OV0_GAMMA_1C0_1FF, 0x100, 0x0300}, | |
1060 {OV0_GAMMA_200_23F, 0x100, 0x0400}, | |
1061 {OV0_GAMMA_240_27F, 0x100, 0x0400}, | |
1062 {OV0_GAMMA_280_2BF, 0x100, 0x0500}, | |
1063 {OV0_GAMMA_2C0_2FF, 0x100, 0x0500}, | |
1064 {OV0_GAMMA_300_33F, 0x100, 0x0600}, | |
1065 {OV0_GAMMA_340_37F, 0x100, 0x0600}, | |
1066 {OV0_GAMMA_380_3BF, 0x100, 0x0700}, | |
1067 {OV0_GAMMA_3C0_3FF, 0x100, 0x0700} | |
1068 }; | |
1069 | |
25718
8eddf6a9af7f
Make some radeon vidix driver tables static and const
reimar
parents:
25415
diff
changeset
|
1070 static const GAMMA_SETTINGS r100_def_gamma[6] = |
22850 | 1071 { |
1072 {OV0_GAMMA_0_F, 0x100, 0x0000}, | |
1073 {OV0_GAMMA_10_1F, 0x100, 0x0020}, | |
1074 {OV0_GAMMA_20_3F, 0x100, 0x0040}, | |
1075 {OV0_GAMMA_40_7F, 0x100, 0x0080}, | |
1076 {OV0_GAMMA_380_3BF, 0x100, 0x0100}, | |
1077 {OV0_GAMMA_3C0_3FF, 0x100, 0x0100} | |
1078 }; | |
1079 | |
1080 static void make_default_gamma_correction( void ) | |
1081 { | |
1082 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
|
1083 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
|
1084 (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
|
1085 (besr.chip_flags & R_150)==R_150){ |
22850 | 1086 OUTREG(OV0_LIN_TRANS_A, 0x12A00000); |
1087 OUTREG(OV0_LIN_TRANS_B, 0x199018FE); | |
1088 OUTREG(OV0_LIN_TRANS_C, 0x12A0F9B0); | |
1089 OUTREG(OV0_LIN_TRANS_D, 0xF2F0043B); | |
1090 OUTREG(OV0_LIN_TRANS_E, 0x12A02050); | |
1091 OUTREG(OV0_LIN_TRANS_F, 0x0000174E); | |
1092 for(i=0; i<6; i++){ | |
1093 OUTREG(r100_def_gamma[i].gammaReg, | |
1094 (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
|
1095 r100_def_gamma[i].gammaOffset); |
22850 | 1096 } |
1097 } | |
1098 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
|
1099 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
|
1100 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
|
1101 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
|
1102 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
|
1103 OUTREG(OV0_LIN_TRANS_E, 0x12a22046); |
22850 | 1104 OUTREG(OV0_LIN_TRANS_F, 0x175f); |
1105 /* Default Gamma, | |
1106 Of 18 segments for gamma cure, all segments in R200 are programmable, | |
1107 while only lower 4 and upper 2 segments are programmable in Radeon*/ | |
1108 for(i=0; i<18; i++){ | |
1109 OUTREG(r200_def_gamma[i].gammaReg, | |
1110 (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
|
1111 r200_def_gamma[i].gammaOffset); |
22850 | 1112 } |
1113 } | |
1114 } | |
1115 #endif | |
1116 | |
1117 static void radeon_vid_make_default(void) | |
1118 { | |
1119 #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
|
1120 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
|
1121 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
|
1122 OUTREG(OV0_COLOUR_CNTL,0x000F0F00UL); /* Default brihgtness and saturation for Rage128 */ |
22850 | 1123 #else |
1124 make_default_gamma_correction(); | |
1125 #endif | |
1126 besr.deinterlace_pattern = 0x900AAAAA; | |
1127 OUTREG(OV0_DEINTERLACE_PATTERN,besr.deinterlace_pattern); | |
1128 besr.deinterlace_on=1; | |
1129 besr.double_buff=1; | |
1130 besr.ckey_on=0; | |
1131 besr.graphics_key_msk=0; | |
1132 besr.graphics_key_clr=0; | |
1133 besr.ckey_cntl = VIDEO_KEY_FN_TRUE|GRAPHIC_KEY_FN_TRUE|CMP_MIX_AND; | |
1134 } | |
1135 | |
1136 static int find_chip(unsigned chip_id) | |
1137 { | |
1138 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
|
1139 for(i = 0;i < sizeof(ati_card_ids)/sizeof(ati_card_ids_t);i++) |
22850 | 1140 { |
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 if(chip_id == ati_card_ids[i].id) return i; |
22850 | 1142 } |
1143 return -1; | |
1144 } | |
1145 | |
1146 static pciinfo_t pci_info; | |
1147 static int probed=0; | |
1148 | |
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
|
1149 static vidix_capability_t def_cap = |
22850 | 1150 { |
1151 #ifdef RAGE128 | |
1152 "BES driver for Rage128 cards", | |
1153 #else | |
1154 "BES driver for Radeon cards", | |
1155 #endif | |
1156 "Nick Kurshev", | |
1157 TYPE_OUTPUT | TYPE_FX, | |
1158 { 0, 0, 0, 0 }, | |
1159 2048, | |
1160 2048, | |
1161 4, | |
1162 4, | |
1163 -1, | |
1164 FLAG_UPSCALER | FLAG_DOWNSCALER | FLAG_EQUALIZER, | |
1165 VENDOR_ATI, | |
1166 0, | |
1167 { 0, 0, 0, 0} | |
1168 }; | |
1169 | |
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
|
1170 #if !defined(RAGE128) && defined(HAVE_X11) |
22850 | 1171 static void probe_fireGL_driver(void) { |
1172 Display *dp = XOpenDisplay ((void*)0); | |
1173 int n = 0; | |
1174 char **extlist; | |
1175 if (dp==NULL) { | |
1176 return; | |
1177 } | |
1178 extlist = XListExtensions (dp, &n); | |
1179 XCloseDisplay (dp); | |
1180 if (extlist) { | |
1181 int i; | |
1182 int ext_fgl = 0, ext_fglrx = 0; | |
1183 for (i = 0; i < n; i++) { | |
1184 if (!strcmp(extlist[i], "ATIFGLEXTENSION")) ext_fgl = 1; | |
1185 if (!strcmp(extlist[i], "ATIFGLRXDRI")) ext_fglrx = 1; | |
1186 } | |
1187 if (ext_fgl) { | |
1188 printf(RADEON_MSG" ATI FireGl driver detected"); | |
1189 firegl_shift = 0x500000; | |
1190 if (!ext_fglrx) { | |
1191 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
|
1192 printf(RADEON_MSG" Output may not work correctly, check your DRI configration!"); |
22850 | 1193 } |
1194 printf("\n"); | |
1195 } | |
1196 } | |
1197 } | |
1198 #endif | |
1199 | |
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
|
1200 static int radeon_probe(int verbose, int force) |
22850 | 1201 { |
1202 pciinfo_t lst[MAX_PCI_DEVICES]; | |
1203 unsigned i,num_pci; | |
1204 int err; | |
25859
e8af7338a462
Fix illegal identifiers, names starting with __ are reserved for the system.
diego
parents:
25718
diff
changeset
|
1205 verbosity = verbose; |
22850 | 1206 err = pci_scan(lst,&num_pci); |
1207 if(err) | |
1208 { | |
1209 printf(RADEON_MSG" Error occurred during pci scan: %s\n",strerror(err)); | |
1210 return err; | |
1211 } | |
1212 else | |
1213 { | |
1214 err = ENXIO; | |
1215 for(i=0;i<num_pci;i++) | |
1216 { | |
1217 if(lst[i].vendor == VENDOR_ATI) | |
1218 { | |
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
|
1219 int idx; |
22850 | 1220 const char *dname; |
1221 idx = find_chip(lst[i].device); | |
1222 if(idx == -1 && force == PROBE_NORMAL) continue; | |
1223 dname = pci_device_name(VENDOR_ATI,lst[i].device); | |
1224 dname = dname ? dname : "Unknown chip"; | |
1225 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
|
1226 #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
|
1227 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
|
1228 { |
7d693457f85e
updated the ati vidix driver 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 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
|
1230 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
|
1231 } |
23167
2ab3eac7f6da
synced with upstream vidix, prevented some drivers to work on some configs/archs
ben
parents:
23165
diff
changeset
|
1232 #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
|
1233 memset(&besr,0,sizeof(bes_registers_t)); |
22850 | 1234 if(force > PROBE_NORMAL) |
1235 { | |
1236 printf(RADEON_MSG" Driver was forced. Was found %sknown chip\n",idx == -1 ? "un" : ""); | |
1237 if(idx == -1) | |
1238 #ifdef RAGE128 | |
1239 printf(RADEON_MSG" Assuming it as Rage128\n"); | |
1240 #else | |
1241 printf(RADEON_MSG" Assuming it as Radeon1\n"); | |
1242 #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
|
1243 besr.chip_flags=R_100|R_OVL_SHIFT; |
22850 | 1244 } |
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 #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
|
1246 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
|
1247 #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
|
1248 if(idx != -1) besr.chip_flags=ati_card_ids[idx].flags; |
22850 | 1249 def_cap.device_id = lst[i].device; |
1250 err = 0; | |
1251 memcpy(&pci_info,&lst[i],sizeof(pciinfo_t)); | |
1252 probed=1; | |
1253 break; | |
1254 } | |
1255 } | |
1256 } | |
1257 if(err && verbose) printf(RADEON_MSG" Can't find chip\n"); | |
1258 return err; | |
1259 } | |
1260 | |
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
|
1261 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
|
1262 { |
7d693457f85e
updated the ati vidix driver 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 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
|
1264 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
|
1265 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
|
1266 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
|
1267 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
|
1268 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
|
1269 }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
|
1270 static saved_regs_t savreg; |
22850 | 1271 |
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
|
1272 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
|
1273 { |
7d693457f85e
updated the ati vidix driver 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 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
|
1275 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
|
1276 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
|
1277 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
|
1278 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
|
1279 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
|
1280 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
|
1281 } |
7d693457f85e
updated the ati vidix driver 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 |
7d693457f85e
updated the ati vidix driver 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 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
|
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 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
|
1286 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
|
1287 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
|
1288 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
|
1289 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
|
1290 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
|
1291 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
|
1292 } |
7d693457f85e
updated the ati vidix driver 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 |
7d693457f85e
updated the ati vidix driver 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 static int radeon_init(void) |
22850 | 1295 { |
1296 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
|
1297 |
25859
e8af7338a462
Fix illegal identifiers, names starting with __ are reserved for the system.
diego
parents:
25718
diff
changeset
|
1298 if(verbosity > 0) printf("[radeon_vid] version %d\n", VIDIX_VERSION); |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
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)); | |
3408 return(0); | |
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)); | |
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
|
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 }; |