Mercurial > mplayer.hg
annotate vidix/radeon_vid.c @ 36727:cb58825b8571
Remove some superfluous commas from inline asm for better compatibility.
Patch by Matt Oliver [protogonoi gmail.com].
author | reimar |
---|---|
date | Sun, 09 Feb 2014 22:19:08 +0000 |
parents | 28ea3e45b03a |
children | cc50b327cffa |
rev | line source |
---|---|
22850 | 1 /* |
23046
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
23044
diff
changeset
|
2 * VIDIX driver for ATI Rage128 and Radeon chipsets. |
26714
81710a8c1cf6
Use standard license header and add back credits line for Marcel Naziri.
diego
parents:
26713
diff
changeset
|
3 * |
81710a8c1cf6
Use standard license header and add back credits line for Marcel Naziri.
diego
parents:
26713
diff
changeset
|
4 * This file is based on sources from |
81710a8c1cf6
Use standard license header and add back credits line for Marcel Naziri.
diego
parents:
26713
diff
changeset
|
5 * GATOS (gatos.sf.net) and X11 (www.xfree86.org) |
81710a8c1cf6
Use standard license header and add back credits line for Marcel Naziri.
diego
parents:
26713
diff
changeset
|
6 * |
23046
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
23044
diff
changeset
|
7 * Copyright (C) 2002 Nick Kurshev |
26714
81710a8c1cf6
Use standard license header and add back credits line for Marcel Naziri.
diego
parents:
26713
diff
changeset
|
8 * support for fglrx drivers by Marcel Naziri (zwobbl@zwobbl.de) |
23046
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
23044
diff
changeset
|
9 * |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
23044
diff
changeset
|
10 * This file is part of MPlayer. |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
23044
diff
changeset
|
11 * |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
23044
diff
changeset
|
12 * MPlayer is free software; you can redistribute it and/or modify |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
23044
diff
changeset
|
13 * it under the terms of the GNU General Public License as published by |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
23044
diff
changeset
|
14 * the Free Software Foundation; either version 2 of the License, or |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
23044
diff
changeset
|
15 * (at your option) any later version. |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
23044
diff
changeset
|
16 * |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
23044
diff
changeset
|
17 * MPlayer is distributed in the hope that it will be useful, |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
23044
diff
changeset
|
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
23044
diff
changeset
|
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
23044
diff
changeset
|
20 * GNU General Public License for more details. |
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
23044
diff
changeset
|
21 * |
26714
81710a8c1cf6
Use standard license header and add back credits line for Marcel Naziri.
diego
parents:
26713
diff
changeset
|
22 * You should have received a copy of the GNU General Public License along |
81710a8c1cf6
Use standard license header and add back credits line for Marcel Naziri.
diego
parents:
26713
diff
changeset
|
23 * with MPlayer; if not, write to the Free Software Foundation, Inc., |
81710a8c1cf6
Use standard license header and add back credits line for Marcel Naziri.
diego
parents:
26713
diff
changeset
|
24 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
23046
82216ef041e0
updated vidix files headers whenever it's possible to have a clear GPL statement
ben
parents:
23044
diff
changeset
|
25 */ |
22850 | 26 |
27 #include <errno.h> | |
28 #include <stdio.h> | |
29 #include <stdlib.h> | |
30 #include <string.h> | |
31 #include <math.h> | |
32 #include <inttypes.h> | |
33 | |
22905 | 34 #include "config.h" |
35 #include "libavutil/common.h" | |
36 #include "mpbswap.h" | |
22900
a9e111b88c4a
merged libdha and libvidix, moved all files from libdha to vidix directory
ben
parents:
22874
diff
changeset
|
37 #include "pci_ids.h" |
a9e111b88c4a
merged libdha and libvidix, moved all files from libdha to vidix directory
ben
parents:
22874
diff
changeset
|
38 #include "pci_names.h" |
22850 | 39 #include "vidix.h" |
40 #include "fourcc.h" | |
22901 | 41 #include "dha.h" |
22850 | 42 #include "radeon.h" |
43 | |
27377
d58d06eafe83
Change a bunch of X11-specific preprocessor directives.
diego
parents:
27079
diff
changeset
|
44 #if !defined(RAGE128) && defined(CONFIG_X11) |
22850 | 45 #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
|
46 static uint32_t firegl_shift = 0; |
22850 | 47 #endif |
48 | |
49 #ifdef RAGE128 | |
50 #define RADEON_MSG "[rage128]" | |
51 #define X_ADJUST 0 | |
52 #else | |
53 #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
|
54 #define X_ADJUST (((besr.chip_flags&R_OVL_SHIFT)==R_OVL_SHIFT)?8:0) |
22850 | 55 #ifndef RADEON |
56 #define RADEON | |
57 #endif | |
58 #endif | |
59 | |
23044
7d693457f85e
updated the ati vidix driver 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 #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
|
61 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
62 #define VERBOSE_LEVEL 0 |
25859
e8af7338a462
Fix illegal identifiers, names starting with __ are reserved for the system.
diego
parents:
25718
diff
changeset
|
63 static int verbosity = 0; |
22850 | 64 typedef struct bes_registers_s |
65 { | |
66 /* base address of yuv framebuffer */ | |
67 uint32_t yuv_base; | |
68 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
|
69 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
|
70 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
|
71 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
|
72 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
|
73 int swap_uv; /* for direct support of bgr fourccs */ |
22850 | 74 uint32_t dest_bpp; |
75 /* YUV BES registers */ | |
76 uint32_t reg_load_cntl; | |
77 uint32_t h_inc; | |
78 uint32_t step_by; | |
79 uint32_t y_x_start; | |
80 uint32_t y_x_end; | |
81 uint32_t v_inc; | |
82 uint32_t p1_blank_lines_at_top; | |
83 uint32_t p23_blank_lines_at_top; | |
84 uint32_t vid_buf_pitch0_value; | |
85 uint32_t vid_buf_pitch1_value; | |
86 uint32_t p1_x_start_end; | |
87 uint32_t p2_x_start_end; | |
88 uint32_t p3_x_start_end; | |
89 uint32_t base_addr; | |
90 uint32_t vid_buf_base_adrs_y[VID_PLAY_MAXFRAMES]; | |
91 uint32_t vid_buf_base_adrs_u[VID_PLAY_MAXFRAMES]; | |
92 uint32_t vid_buf_base_adrs_v[VID_PLAY_MAXFRAMES]; | |
93 uint32_t vid_nbufs; | |
94 | |
95 uint32_t p1_v_accum_init; | |
96 uint32_t p1_h_accum_init; | |
97 uint32_t p23_v_accum_init; | |
98 uint32_t p23_h_accum_init; | |
99 uint32_t scale_cntl; | |
100 uint32_t exclusive_horz; | |
101 uint32_t auto_flip_cntl; | |
102 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
|
103 uint32_t four_tap_coeff[5]; |
22850 | 104 uint32_t key_cntl; |
105 uint32_t test; | |
106 /* Configurable stuff */ | |
107 int double_buff; | |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
27377
diff
changeset
|
108 |
22850 | 109 int brightness; |
110 int saturation; | |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
27377
diff
changeset
|
111 |
22850 | 112 int ckey_on; |
113 uint32_t graphics_key_clr; | |
114 uint32_t graphics_key_msk; | |
115 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
|
116 uint32_t merge_cntl; |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
27377
diff
changeset
|
117 |
22850 | 118 int deinterlace_on; |
119 uint32_t deinterlace_pattern; | |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
27377
diff
changeset
|
120 |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
121 unsigned chip_flags; |
22850 | 122 } bes_registers_t; |
123 | |
124 typedef struct video_registers_s | |
125 { | |
126 const char * sname; | |
127 uint32_t name; | |
128 uint32_t value; | |
129 }video_registers_t; | |
130 | |
131 static bes_registers_t besr; | |
132 #define DECLARE_VREG(name) { #name, name, 0 } | |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
27377
diff
changeset
|
133 static const video_registers_t vregs[] = |
22850 | 134 { |
135 DECLARE_VREG(VIDEOMUX_CNTL), | |
136 DECLARE_VREG(VIPPAD_MASK), | |
137 DECLARE_VREG(VIPPAD1_A), | |
138 DECLARE_VREG(VIPPAD1_EN), | |
139 DECLARE_VREG(VIPPAD1_Y), | |
140 DECLARE_VREG(OV0_Y_X_START), | |
141 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
|
142 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
|
143 DECLARE_VREG(OV1_Y_X_END), |
22850 | 144 DECLARE_VREG(OV0_PIPELINE_CNTL), |
145 DECLARE_VREG(OV0_EXCLUSIVE_HORZ), | |
146 DECLARE_VREG(OV0_EXCLUSIVE_VERT), | |
147 DECLARE_VREG(OV0_REG_LOAD_CNTL), | |
148 DECLARE_VREG(OV0_SCALE_CNTL), | |
149 DECLARE_VREG(OV0_V_INC), | |
150 DECLARE_VREG(OV0_P1_V_ACCUM_INIT), | |
151 DECLARE_VREG(OV0_P23_V_ACCUM_INIT), | |
152 DECLARE_VREG(OV0_P1_BLANK_LINES_AT_TOP), | |
153 DECLARE_VREG(OV0_P23_BLANK_LINES_AT_TOP), | |
154 #ifdef RADEON | |
155 DECLARE_VREG(OV0_BASE_ADDR), | |
156 #endif | |
157 DECLARE_VREG(OV0_VID_BUF0_BASE_ADRS), | |
158 DECLARE_VREG(OV0_VID_BUF1_BASE_ADRS), | |
159 DECLARE_VREG(OV0_VID_BUF2_BASE_ADRS), | |
160 DECLARE_VREG(OV0_VID_BUF3_BASE_ADRS), | |
161 DECLARE_VREG(OV0_VID_BUF4_BASE_ADRS), | |
162 DECLARE_VREG(OV0_VID_BUF5_BASE_ADRS), | |
163 DECLARE_VREG(OV0_VID_BUF_PITCH0_VALUE), | |
164 DECLARE_VREG(OV0_VID_BUF_PITCH1_VALUE), | |
165 DECLARE_VREG(OV0_AUTO_FLIP_CNTL), | |
166 DECLARE_VREG(OV0_DEINTERLACE_PATTERN), | |
167 DECLARE_VREG(OV0_SUBMIT_HISTORY), | |
168 DECLARE_VREG(OV0_H_INC), | |
169 DECLARE_VREG(OV0_STEP_BY), | |
170 DECLARE_VREG(OV0_P1_H_ACCUM_INIT), | |
171 DECLARE_VREG(OV0_P23_H_ACCUM_INIT), | |
172 DECLARE_VREG(OV0_P1_X_START_END), | |
173 DECLARE_VREG(OV0_P2_X_START_END), | |
174 DECLARE_VREG(OV0_P3_X_START_END), | |
175 DECLARE_VREG(OV0_FILTER_CNTL), | |
176 DECLARE_VREG(OV0_FOUR_TAP_COEF_0), | |
177 DECLARE_VREG(OV0_FOUR_TAP_COEF_1), | |
178 DECLARE_VREG(OV0_FOUR_TAP_COEF_2), | |
179 DECLARE_VREG(OV0_FOUR_TAP_COEF_3), | |
180 DECLARE_VREG(OV0_FOUR_TAP_COEF_4), | |
181 DECLARE_VREG(OV0_FLAG_CNTL), | |
182 #ifdef RAGE128 | |
183 DECLARE_VREG(OV0_COLOUR_CNTL), | |
184 #else | |
185 DECLARE_VREG(OV0_SLICE_CNTL), | |
186 #endif | |
187 DECLARE_VREG(OV0_VID_KEY_CLR), | |
188 DECLARE_VREG(OV0_VID_KEY_MSK), | |
189 DECLARE_VREG(OV0_GRAPHICS_KEY_CLR), | |
190 DECLARE_VREG(OV0_GRAPHICS_KEY_MSK), | |
191 DECLARE_VREG(OV0_KEY_CNTL), | |
192 DECLARE_VREG(OV0_TEST), | |
193 DECLARE_VREG(OV0_LIN_TRANS_A), | |
194 DECLARE_VREG(OV0_LIN_TRANS_B), | |
195 DECLARE_VREG(OV0_LIN_TRANS_C), | |
196 DECLARE_VREG(OV0_LIN_TRANS_D), | |
197 DECLARE_VREG(OV0_LIN_TRANS_E), | |
198 DECLARE_VREG(OV0_LIN_TRANS_F), | |
199 DECLARE_VREG(OV0_GAMMA_0_F), | |
200 DECLARE_VREG(OV0_GAMMA_10_1F), | |
201 DECLARE_VREG(OV0_GAMMA_20_3F), | |
202 DECLARE_VREG(OV0_GAMMA_40_7F), | |
203 DECLARE_VREG(OV0_GAMMA_380_3BF), | |
204 DECLARE_VREG(OV0_GAMMA_3C0_3FF), | |
205 DECLARE_VREG(SUBPIC_CNTL), | |
206 DECLARE_VREG(SUBPIC_DEFCOLCON), | |
207 DECLARE_VREG(SUBPIC_Y_X_START), | |
208 DECLARE_VREG(SUBPIC_Y_X_END), | |
209 DECLARE_VREG(SUBPIC_V_INC), | |
210 DECLARE_VREG(SUBPIC_H_INC), | |
211 DECLARE_VREG(SUBPIC_BUF0_OFFSET), | |
212 DECLARE_VREG(SUBPIC_BUF1_OFFSET), | |
213 DECLARE_VREG(SUBPIC_LC0_OFFSET), | |
214 DECLARE_VREG(SUBPIC_LC1_OFFSET), | |
215 DECLARE_VREG(SUBPIC_PITCH), | |
216 DECLARE_VREG(SUBPIC_BTN_HLI_COLCON), | |
217 DECLARE_VREG(SUBPIC_BTN_HLI_Y_X_START), | |
218 DECLARE_VREG(SUBPIC_BTN_HLI_Y_X_END), | |
219 DECLARE_VREG(SUBPIC_PALETTE_INDEX), | |
220 DECLARE_VREG(SUBPIC_PALETTE_DATA), | |
221 DECLARE_VREG(SUBPIC_H_ACCUM_INIT), | |
222 DECLARE_VREG(SUBPIC_V_ACCUM_INIT), | |
223 DECLARE_VREG(IDCT_RUNS), | |
224 DECLARE_VREG(IDCT_LEVELS), | |
225 DECLARE_VREG(IDCT_AUTH_CONTROL), | |
226 DECLARE_VREG(IDCT_AUTH), | |
227 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
|
228 #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
|
229 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
|
230 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
|
231 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
|
232 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
|
233 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
|
234 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
|
235 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
|
236 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
|
237 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
|
238 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
|
239 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
|
240 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
|
241 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
|
242 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
|
243 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
|
244 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
|
245 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
|
246 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
|
247 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
|
248 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
|
249 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
|
250 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
|
251 #else |
25316
ea301dc982fa
Dump the ati radeon DISP_MERGE_CNTL register to ease the
ben
parents:
25273
diff
changeset
|
252 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
|
253 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
|
254 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
|
255 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
|
256 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
|
257 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
|
258 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
|
259 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
|
260 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
|
261 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
|
262 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
|
263 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
|
264 #endif |
22850 | 265 }; |
266 | |
23044
7d693457f85e
updated the ati vidix driver 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_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
|
268 #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
|
269 #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
|
270 #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
|
271 #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
|
272 #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
|
273 #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
|
274 #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
|
275 #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
|
276 #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
|
277 #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
|
278 #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
|
279 #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
|
280 #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
|
281 #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
|
282 #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
|
283 #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
|
284 |
7d693457f85e
updated the ati vidix driver 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 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
|
286 { |
7d693457f85e
updated the ati vidix driver 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 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
|
288 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
|
289 }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
|
290 |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
27377
diff
changeset
|
291 static const ati_card_ids_t ati_card_ids[] = |
23044
7d693457f85e
updated the ati vidix driver 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 { |
7d693457f85e
updated the ati vidix driver 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 #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
|
294 /* |
7d693457f85e
updated the ati vidix driver 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 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
|
296 (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
|
297 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
|
298 (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
|
299 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
|
300 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
|
301 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
|
302 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
|
303 */ |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
305 { 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
|
306 { 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
|
307 { 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
|
308 { 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
|
309 { 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
|
310 { 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
|
311 /* 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
|
312 { 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
|
313 { 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
|
314 { 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
|
315 { 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
|
316 { 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
|
317 { 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
|
318 { 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
|
319 { 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
|
320 { 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
|
321 { 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
|
322 { 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
|
323 { 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
|
324 { 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
|
325 { 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
|
326 { 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
|
327 { 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
|
328 { 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
|
329 { 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
|
330 /* 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
|
331 { 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
|
332 { 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
|
333 { 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
|
334 { 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
|
335 { 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
|
336 { 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
|
337 { 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
|
338 { 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
|
339 { 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
|
340 { 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
|
341 { 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
|
342 { 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
|
343 { 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
|
344 { 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
|
345 { 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
|
346 { 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
|
347 /* these seem to be based on rage 128 instead of mach64 */ |
34039
4282458d64bc
vidix: Add two more ATI Rage Mobility hardware IDs.
diego
parents:
32579
diff
changeset
|
348 { DEVICE_ATI_RAGE_MOBILITY_M4, 0 }, |
4282458d64bc
vidix: Add two more ATI Rage Mobility hardware IDs.
diego
parents:
32579
diff
changeset
|
349 { DEVICE_ATI_RAGE_MOBILITY_M42, 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
|
350 { 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
|
351 { 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
|
352 #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
|
353 /* 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
|
354 { 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
|
355 { 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
|
356 { 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
|
357 { 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
|
358 { 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
|
359 { 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
|
360 { 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
|
361 { 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
|
362 { 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
|
363 { 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
|
364 { 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
|
365 { 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
|
366 /* 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
|
367 { 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
|
368 { 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
|
369 { 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
|
370 { 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
|
371 { 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
|
372 { 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
|
373 { 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
|
374 { 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
|
375 { 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
|
376 { 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
|
377 { 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
|
378 { 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
|
379 { 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
|
380 { 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
|
381 { 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
|
382 { 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
|
383 { 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
|
384 { 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
|
385 { 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
|
386 { 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
|
387 { 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
|
388 { 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
|
389 { 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
|
390 { 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
|
391 { 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
|
392 { 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
|
393 { 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
|
394 { 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
|
395 { 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
|
396 { 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
|
397 { 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
|
398 { DEVICE_ATI_RADEON_RV250_RADEON2, R_250|R_OVL_SHIFT }, |
32576
8c0db8ede490
Add R_OVL_SHIFT to all R280 devices. Only actually confirmed for two.
reimar
parents:
29401
diff
changeset
|
399 // Only 92006 and 92007 tested to actually require this |
8c0db8ede490
Add R_OVL_SHIFT to all R280 devices. Only actually confirmed for two.
reimar
parents:
29401
diff
changeset
|
400 { DEVICE_ATI_RV280_RADEON_9200, R_280|R_OVL_SHIFT }, |
8c0db8ede490
Add R_OVL_SHIFT to all R280 devices. Only actually confirmed for two.
reimar
parents:
29401
diff
changeset
|
401 { DEVICE_ATI_RV280_RADEON_92002, R_280|R_OVL_SHIFT }, |
8c0db8ede490
Add R_OVL_SHIFT to all R280 devices. Only actually confirmed for two.
reimar
parents:
29401
diff
changeset
|
402 { DEVICE_ATI_RV280_RADEON_92003, R_280|R_OVL_SHIFT }, |
8c0db8ede490
Add R_OVL_SHIFT to all R280 devices. Only actually confirmed for two.
reimar
parents:
29401
diff
changeset
|
403 { DEVICE_ATI_RV280_RADEON_92004, R_280|R_OVL_SHIFT }, |
8c0db8ede490
Add R_OVL_SHIFT to all R280 devices. Only actually confirmed for two.
reimar
parents:
29401
diff
changeset
|
404 { DEVICE_ATI_RV280_RADEON_92005, R_280|R_OVL_SHIFT }, |
8c0db8ede490
Add R_OVL_SHIFT to all R280 devices. Only actually confirmed for two.
reimar
parents:
29401
diff
changeset
|
405 { DEVICE_ATI_RV280_RADEON_92006, R_280|R_OVL_SHIFT }, |
8c0db8ede490
Add R_OVL_SHIFT to all R280 devices. Only actually confirmed for two.
reimar
parents:
29401
diff
changeset
|
406 { DEVICE_ATI_RV280_RADEON_92007, R_280|R_OVL_SHIFT }, |
8c0db8ede490
Add R_OVL_SHIFT to all R280 devices. Only actually confirmed for two.
reimar
parents:
29401
diff
changeset
|
407 { DEVICE_ATI_M9_5C61_RADEON, R_280|R_OVL_SHIFT }, |
8c0db8ede490
Add R_OVL_SHIFT to all R280 devices. Only actually confirmed for two.
reimar
parents:
29401
diff
changeset
|
408 { DEVICE_ATI_M9_5C63_RADEON, R_280|R_OVL_SHIFT }, |
23044
7d693457f85e
updated the ati vidix driver 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 /* 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
|
410 { 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
|
411 { 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
|
412 { 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
|
413 { 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
|
414 { 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
|
415 { 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
|
416 { 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
|
417 { 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
|
418 { 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
|
419 { 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
|
420 { 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
|
421 { 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
|
422 { 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
|
423 { 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
|
424 { 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
|
425 { 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
|
426 { 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
|
427 { 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
|
428 { 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
|
429 { 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
|
430 { 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
|
431 { 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
|
432 { 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
|
433 { 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
|
434 { 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
|
435 { 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
|
436 { 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
|
437 { 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
|
438 { 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
|
439 { 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
|
440 { 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
|
441 { 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
|
442 { 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
|
443 { 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
|
444 { 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
|
445 { 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
|
446 { 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
|
447 { 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
|
448 { 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
|
449 { 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
|
450 { 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
|
451 { 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
|
452 { 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
|
453 { 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
|
454 { 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
|
455 { 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
|
456 { 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
|
457 { 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
|
458 { 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
|
459 { 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
|
460 { 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
|
461 { 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
|
462 { 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
|
463 { 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
|
464 { 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
|
465 { 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
|
466 { 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
|
467 { 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
|
468 { 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
|
469 { 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
|
470 { 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
|
471 { 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
|
472 { 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
|
473 { 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
|
474 { 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
|
475 { 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
|
476 { 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
|
477 { 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
|
478 { 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
|
479 { 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
|
480 { 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
|
481 { 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
|
482 { 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
|
483 { 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
|
484 { 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
|
485 { 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
|
486 { 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
|
487 { 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
|
488 { 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
|
489 { 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
|
490 { 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
|
491 { 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
|
492 { 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
|
493 { 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
|
494 { 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
|
495 { 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
|
496 { 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
|
497 { 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
|
498 { 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
|
499 { 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
|
500 { 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
|
501 { 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
|
502 { 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
|
503 { 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
|
504 { 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
|
505 { 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
|
506 { 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
|
507 { 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
|
508 { 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
|
509 { 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
|
510 { 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
|
511 { 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
|
512 { 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
|
513 { 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
|
514 { 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
|
515 { 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
|
516 { 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
|
517 { 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
|
518 { 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
|
519 { 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
|
520 { 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
|
521 { 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
|
522 { DEVICE_ATI_R480_RADEON_X850XT6, R_480|R_PCIE }, |
22850 | 523 #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
|
524 }; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
525 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
526 |
22850 | 527 static void * radeon_mmio_base = 0; |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
27377
diff
changeset
|
528 static void * radeon_mem_base = 0; |
22850 | 529 static int32_t radeon_overlay_off = 0; |
530 static uint32_t radeon_ram_size = 0; | |
531 | |
532 #define GETREG(TYPE,PTR,OFFZ) (*((volatile TYPE*)((PTR)+(OFFZ)))) | |
533 #define SETREG(TYPE,PTR,OFFZ,VAL) (*((volatile TYPE*)((PTR)+(OFFZ))))=VAL | |
534 | |
23044
7d693457f85e
updated the ati vidix driver 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 #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
|
536 #define OUTREG8(addr,val) SETREG(uint8_t,(uint8_t *)(radeon_mmio_base),addr,val) |
22850 | 537 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
|
538 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
|
539 return le2me_32(tmp); |
22850 | 540 } |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
541 #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
|
542 #define OUTREGP(addr,val,mask) \ |
22850 | 543 do { \ |
544 unsigned int _tmp = INREG(addr); \ | |
545 _tmp &= (mask); \ | |
546 _tmp |= (val); \ | |
547 OUTREG(addr, _tmp); \ | |
548 } while (0) | |
549 | |
34653 | 550 static inline uint32_t INPLL(uint32_t addr) |
22850 | 551 { |
552 OUTREG8(CLOCK_CNTL_INDEX, addr & 0x0000001f); | |
26753
502f04b67653
cosmetics: Remove useless parentheses from return statements.
diego
parents:
26714
diff
changeset
|
553 return INREG(CLOCK_CNTL_DATA); |
22850 | 554 } |
555 | |
556 #define OUTPLL(addr,val) OUTREG8(CLOCK_CNTL_INDEX, (addr & 0x0000001f) | 0x00000080); \ | |
557 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
|
558 #define OUTPLLP(addr,val,mask) \ |
22850 | 559 do { \ |
560 unsigned int _tmp = INPLL(addr); \ | |
561 _tmp &= (mask); \ | |
562 _tmp |= (val); \ | |
563 OUTPLL(addr, _tmp); \ | |
564 } while (0) | |
565 | |
23044
7d693457f85e
updated the ati vidix driver 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 #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
|
567 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
|
568 { |
7d693457f85e
updated the ati vidix driver 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_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
|
570 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
|
571 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
|
572 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
|
573 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
|
574 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
|
575 }; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
576 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
577 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
|
578 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
579 int 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
|
580 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
|
581 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
|
582 }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
|
583 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
584 static 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
|
585 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
586 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
|
587 { |
7d693457f85e
updated the ati vidix driver 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 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
|
589 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
|
590 { |
7d693457f85e
updated the ati vidix driver 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_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
|
592 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
|
593 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
|
594 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
|
595 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
|
596 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
|
597 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
|
598 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
599 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
|
600 } |
7d693457f85e
updated the ati vidix driver 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 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
|
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 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
|
605 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
606 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
|
607 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
608 if (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
|
609 /* 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
|
610 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
|
611 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
|
612 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
|
613 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
|
614 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
|
615 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
|
616 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
|
617 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
|
618 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
|
619 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
|
620 |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
622 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
|
623 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
|
624 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
|
625 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
|
626 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
|
627 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
|
628 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
|
629 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
|
630 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
|
631 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
|
632 } 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
|
633 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
|
634 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
635 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
|
636 |
7d693457f85e
updated the ati vidix driver 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 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
|
638 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
|
639 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
|
640 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
|
641 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
642 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
643 #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
|
644 |
22850 | 645 static uint32_t radeon_vid_get_dbpp( void ) |
646 { | |
647 uint32_t dbpp,retval; | |
648 dbpp = (INREG(CRTC_GEN_CNTL)>>8)& 0xF; | |
649 switch(dbpp) | |
650 { | |
651 case DST_8BPP: retval = 8; break; | |
652 case DST_15BPP: retval = 15; break; | |
653 case DST_16BPP: retval = 16; break; | |
654 case DST_24BPP: retval = 24; break; | |
655 default: retval=32; break; | |
656 } | |
657 return retval; | |
658 } | |
659 | |
660 static int radeon_is_dbl_scan( void ) | |
661 { | |
662 return (INREG(CRTC_GEN_CNTL))&CRTC_DBL_SCAN_EN; | |
663 } | |
664 | |
665 static int radeon_is_interlace( void ) | |
666 { | |
667 return (INREG(CRTC_GEN_CNTL))&CRTC_INTERLACE_EN; | |
668 } | |
669 | |
670 static uint32_t radeon_get_xres( void ) | |
671 { | |
672 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
|
673 #ifndef RAGE128 |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
27377
diff
changeset
|
674 if(rinfo.hasCRTC2 && |
23044
7d693457f85e
updated the ati vidix driver 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 (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
|
676 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
|
677 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
|
678 #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
|
679 h_total = INREG(CRTC_H_TOTAL_DISP); |
22850 | 680 xres = (h_total >> 16) & 0xffff; |
681 return (xres + 1)*8; | |
682 } | |
683 | |
684 static uint32_t radeon_get_yres( void ) | |
685 { | |
686 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
|
687 #ifndef RAGE128 |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
27377
diff
changeset
|
688 if(rinfo.hasCRTC2 && |
23044
7d693457f85e
updated the ati vidix driver 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 (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
|
690 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
|
691 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
|
692 #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
|
693 v_total = INREG(CRTC_V_TOTAL_DISP); |
22850 | 694 yres = (v_total >> 16) & 0xffff; |
695 return yres + 1; | |
696 } | |
697 | |
698 static void radeon_wait_vsync(void) | |
699 { | |
700 int i; | |
701 | |
702 OUTREG(GEN_INT_STATUS, VSYNC_INT_AK); | |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
27377
diff
changeset
|
703 for (i = 0; i < 2000000; i++) |
22850 | 704 { |
705 if (INREG(GEN_INT_STATUS) & VSYNC_INT) break; | |
706 } | |
707 } | |
708 | |
709 #ifdef RAGE128 | |
710 static void _radeon_engine_idle(void); | |
711 static void _radeon_fifo_wait(unsigned); | |
712 #define radeon_engine_idle() _radeon_engine_idle() | |
713 #define radeon_fifo_wait(entries) _radeon_fifo_wait(entries) | |
714 /* Flush all dirty data in the Pixel Cache to memory. */ | |
34653 | 715 static inline void radeon_engine_flush(void) |
22850 | 716 { |
717 unsigned i; | |
718 | |
719 OUTREGP(PC_NGUI_CTLSTAT, PC_FLUSH_ALL, ~PC_FLUSH_ALL); | |
720 for (i = 0; i < 2000000; i++) { | |
721 if (!(INREG(PC_NGUI_CTLSTAT) & PC_BUSY)) break; | |
722 } | |
723 } | |
724 | |
725 /* Reset graphics card to known state. */ | |
726 static void radeon_engine_reset( void ) | |
727 { | |
728 uint32_t clock_cntl_index; | |
729 uint32_t mclk_cntl; | |
730 uint32_t gen_reset_cntl; | |
731 | |
732 radeon_engine_flush(); | |
733 | |
734 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
|
735 mclk_cntl = INPLL(MCLK_CNTL); |
22850 | 736 |
737 OUTPLL(MCLK_CNTL, mclk_cntl | FORCE_GCP | FORCE_PIPE3D_CP); | |
738 | |
739 gen_reset_cntl = INREG(GEN_RESET_CNTL); | |
740 | |
741 OUTREG(GEN_RESET_CNTL, gen_reset_cntl | SOFT_RESET_GUI); | |
742 INREG(GEN_RESET_CNTL); | |
743 OUTREG(GEN_RESET_CNTL, | |
744 gen_reset_cntl & (uint32_t)(~SOFT_RESET_GUI)); | |
745 INREG(GEN_RESET_CNTL); | |
746 | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
747 OUTPLL(MCLK_CNTL, mclk_cntl); |
22850 | 748 OUTREG(CLOCK_CNTL_INDEX, clock_cntl_index); |
749 OUTREG(GEN_RESET_CNTL, gen_reset_cntl); | |
750 } | |
751 #else | |
752 | |
34653 | 753 static inline void radeon_engine_flush(void) |
22850 | 754 { |
755 int i; | |
756 | |
757 /* initiate flush */ | |
758 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
|
759 ~RB2D_DC_FLUSH_ALL); |
22850 | 760 |
761 for (i=0; i < 2000000; i++) { | |
762 if (!(INREG(RB2D_DSTCACHE_CTLSTAT) & RB2D_DC_BUSY)) | |
763 break; | |
764 } | |
765 } | |
766 | |
767 static void _radeon_engine_idle(void); | |
768 static void _radeon_fifo_wait(unsigned); | |
769 #define radeon_engine_idle() _radeon_engine_idle() | |
770 #define radeon_fifo_wait(entries) _radeon_fifo_wait(entries) | |
771 | |
772 static void radeon_engine_reset( void ) | |
773 { | |
774 uint32_t clock_cntl_index, mclk_cntl, rbbm_soft_reset; | |
775 | |
776 radeon_engine_flush (); | |
777 | |
778 clock_cntl_index = INREG(CLOCK_CNTL_INDEX); | |
779 mclk_cntl = INPLL(MCLK_CNTL); | |
780 | |
781 OUTPLL(MCLK_CNTL, (mclk_cntl | | |
782 FORCEON_MCLKA | | |
783 FORCEON_MCLKB | | |
784 FORCEON_YCLKA | | |
785 FORCEON_YCLKB | | |
786 FORCEON_MC | | |
787 FORCEON_AIC)); | |
788 rbbm_soft_reset = INREG(RBBM_SOFT_RESET); | |
789 | |
790 OUTREG(RBBM_SOFT_RESET, rbbm_soft_reset | | |
791 SOFT_RESET_CP | | |
792 SOFT_RESET_HI | | |
793 SOFT_RESET_SE | | |
794 SOFT_RESET_RE | | |
795 SOFT_RESET_PP | | |
796 SOFT_RESET_E2 | | |
797 SOFT_RESET_RB | | |
798 SOFT_RESET_HDP); | |
799 INREG(RBBM_SOFT_RESET); | |
800 OUTREG(RBBM_SOFT_RESET, rbbm_soft_reset & (uint32_t) | |
801 ~(SOFT_RESET_CP | | |
802 SOFT_RESET_HI | | |
803 SOFT_RESET_SE | | |
804 SOFT_RESET_RE | | |
805 SOFT_RESET_PP | | |
806 SOFT_RESET_E2 | | |
807 SOFT_RESET_RB | | |
808 SOFT_RESET_HDP)); | |
809 INREG(RBBM_SOFT_RESET); | |
810 | |
811 OUTPLL(MCLK_CNTL, mclk_cntl); | |
812 OUTREG(CLOCK_CNTL_INDEX, clock_cntl_index); | |
813 OUTREG(RBBM_SOFT_RESET, rbbm_soft_reset); | |
814 | |
815 return; | |
816 } | |
817 #endif | |
818 static void radeon_engine_restore( void ) | |
819 { | |
820 #ifndef RAGE128 | |
821 int pitch64; | |
822 uint32_t xres,yres,bpp; | |
823 radeon_fifo_wait(1); | |
824 xres = radeon_get_xres(); | |
825 yres = radeon_get_yres(); | |
826 bpp = radeon_vid_get_dbpp(); | |
827 /* turn of all automatic flushing - we'll do it all */ | |
828 OUTREG(RB2D_DSTCACHE_MODE, 0); | |
829 | |
830 pitch64 = ((xres * (bpp / 8) + 0x3f)) >> 6; | |
831 | |
832 radeon_fifo_wait(1); | |
833 OUTREG(DEFAULT_OFFSET, (INREG(DEFAULT_OFFSET) & 0xC0000000) | | |
834 (pitch64 << 22)); | |
835 | |
836 radeon_fifo_wait(1); | |
29401
f01023c524c3
Replace WORDS_BIGENDIAN by HAVE_BIGENDIAN in all internal code.
diego
parents:
29263
diff
changeset
|
837 #if HAVE_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
|
838 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
|
839 HOST_BIG_ENDIAN_EN, ~HOST_BIG_ENDIAN_EN); |
22850 | 840 #else |
841 OUTREGP(DP_DATATYPE, 0, ~HOST_BIG_ENDIAN_EN); | |
842 #endif | |
843 | |
844 radeon_fifo_wait(1); | |
845 OUTREG(DEFAULT_SC_BOTTOM_RIGHT, (DEFAULT_SC_RIGHT_MAX | |
846 | DEFAULT_SC_BOTTOM_MAX)); | |
847 radeon_fifo_wait(1); | |
848 OUTREG(DP_GUI_MASTER_CNTL, (INREG(DP_GUI_MASTER_CNTL) | |
849 | GMC_BRUSH_SOLID_COLOR | |
850 | GMC_SRC_DATATYPE_COLOR)); | |
851 | |
852 radeon_fifo_wait(7); | |
853 OUTREG(DST_LINE_START, 0); | |
854 OUTREG(DST_LINE_END, 0); | |
855 OUTREG(DP_BRUSH_FRGD_CLR, 0xffffffff); | |
856 OUTREG(DP_BRUSH_BKGD_CLR, 0x00000000); | |
857 OUTREG(DP_SRC_FRGD_CLR, 0xffffffff); | |
858 OUTREG(DP_SRC_BKGD_CLR, 0x00000000); | |
859 OUTREG(DP_WRITE_MASK, 0xffffffff); | |
860 | |
861 radeon_engine_idle(); | |
862 #endif | |
863 } | |
864 #ifdef RAGE128 | |
865 static void _radeon_fifo_wait (unsigned entries) | |
866 { | |
867 unsigned i; | |
868 | |
869 for(;;) | |
870 { | |
871 for (i=0; i<2000000; i++) | |
872 if ((INREG(GUI_STAT) & GUI_FIFOCNT_MASK) >= entries) | |
873 return; | |
874 radeon_engine_reset(); | |
875 radeon_engine_restore(); | |
876 } | |
877 } | |
878 | |
879 static void _radeon_engine_idle ( void ) | |
880 { | |
881 unsigned i; | |
882 | |
883 /* ensure FIFO is empty before waiting for idle */ | |
884 radeon_fifo_wait (64); | |
885 for(;;) | |
886 { | |
887 for (i=0; i<2000000; i++) { | |
888 if ((INREG(GUI_STAT) & GUI_ACTIVE) == 0) { | |
889 radeon_engine_flush (); | |
890 return; | |
891 } | |
892 } | |
893 radeon_engine_reset(); | |
894 radeon_engine_restore(); | |
895 } | |
896 } | |
897 #else | |
898 static void _radeon_fifo_wait (unsigned entries) | |
899 { | |
900 unsigned i; | |
901 | |
902 for(;;) | |
903 { | |
904 for (i=0; i<2000000; i++) | |
905 if ((INREG(RBBM_STATUS) & RBBM_FIFOCNT_MASK) >= entries) | |
906 return; | |
907 radeon_engine_reset(); | |
908 radeon_engine_restore(); | |
909 } | |
910 } | |
911 static void _radeon_engine_idle ( void ) | |
912 { | |
913 int i; | |
914 | |
915 /* ensure FIFO is empty before waiting for idle */ | |
916 radeon_fifo_wait (64); | |
917 for(;;) | |
918 { | |
919 for (i=0; i<2000000; i++) { | |
920 if (((INREG(RBBM_STATUS) & RBBM_ACTIVE)) == 0) { | |
921 radeon_engine_flush (); | |
922 return; | |
923 } | |
924 } | |
925 radeon_engine_reset(); | |
926 radeon_engine_restore(); | |
927 } | |
928 } | |
929 #endif | |
930 | |
931 #ifndef RAGE128 | |
932 /* Reference color space transform data */ | |
933 typedef struct tagREF_TRANSFORM | |
934 { | |
935 float RefLuma; | |
936 float RefRCb; | |
937 float RefRCr; | |
938 float RefGCb; | |
939 float RefGCr; | |
940 float RefBCb; | |
941 float RefBCr; | |
942 } REF_TRANSFORM; | |
943 | |
944 /* 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
|
945 static const REF_TRANSFORM trans[2] = |
22850 | 946 { |
947 {1.1678, 0.0, 1.6007, -0.3929, -0.8154, 2.0232, 0.0}, /* BT.601 */ | |
948 {1.1678, 0.0, 1.7980, -0.2139, -0.5345, 2.1186, 0.0} /* BT.709 */ | |
949 }; | |
950 /**************************************************************************** | |
23044
7d693457f85e
updated the ati vidix driver 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 * 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
|
952 * 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
|
953 * 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
|
954 * 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
|
955 * 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
|
956 * 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
|
957 * 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
|
958 * 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
|
959 * 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
|
960 * 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
|
961 * 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
|
962 * 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
|
963 * Outputs: NONE * |
22850 | 964 ****************************************************************************/ |
965 | |
966 static void radeon_set_transform(float bright, float cont, float sat, | |
967 float hue, float red_intensity, | |
968 float green_intensity,float blue_intensity, | |
969 unsigned ref) | |
970 { | |
971 float OvHueSin, OvHueCos; | |
972 float CAdjLuma, CAdjOff; | |
973 float RedAdj,GreenAdj,BlueAdj; | |
974 float CAdjRCb, CAdjRCr; | |
975 float CAdjGCb, CAdjGCr; | |
976 float CAdjBCb, CAdjBCr; | |
977 float OvLuma, OvROff, OvGOff, OvBOff; | |
978 float OvRCb, OvRCr; | |
979 float OvGCb, OvGCr; | |
980 float OvBCb, OvBCr; | |
981 float Loff = 64.0; | |
982 float Coff = 512.0f; | |
983 | |
984 uint32_t dwOvLuma, dwOvROff, dwOvGOff, dwOvBOff; | |
985 uint32_t dwOvRCb, dwOvRCr; | |
986 uint32_t dwOvGCb, dwOvGCr; | |
987 uint32_t dwOvBCb, dwOvBCr; | |
988 | |
989 if (ref >= 2) return; | |
990 | |
991 OvHueSin = sin((double)hue); | |
992 OvHueCos = cos((double)hue); | |
993 | |
994 CAdjLuma = cont * trans[ref].RefLuma; | |
995 CAdjOff = cont * trans[ref].RefLuma * bright * 1023.0; | |
996 RedAdj = cont * trans[ref].RefLuma * red_intensity * 1023.0; | |
997 GreenAdj = cont * trans[ref].RefLuma * green_intensity * 1023.0; | |
998 BlueAdj = cont * trans[ref].RefLuma * blue_intensity * 1023.0; | |
999 | |
1000 CAdjRCb = sat * -OvHueSin * trans[ref].RefRCr; | |
1001 CAdjRCr = sat * OvHueCos * trans[ref].RefRCr; | |
1002 CAdjGCb = sat * (OvHueCos * trans[ref].RefGCb - OvHueSin * trans[ref].RefGCr); | |
1003 CAdjGCr = sat * (OvHueSin * trans[ref].RefGCb + OvHueCos * trans[ref].RefGCr); | |
1004 CAdjBCb = sat * OvHueCos * trans[ref].RefBCb; | |
1005 CAdjBCr = sat * OvHueSin * trans[ref].RefBCb; | |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
27377
diff
changeset
|
1006 |
22850 | 1007 OvLuma = CAdjLuma; |
1008 OvRCb = CAdjRCb; | |
1009 OvRCr = CAdjRCr; | |
1010 OvGCb = CAdjGCb; | |
1011 OvGCr = CAdjGCr; | |
1012 OvBCb = CAdjBCb; | |
1013 OvBCr = CAdjBCr; | |
1014 OvROff = RedAdj + CAdjOff - | |
1015 OvLuma * Loff - (OvRCb + OvRCr) * Coff; | |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
27377
diff
changeset
|
1016 OvGOff = GreenAdj + CAdjOff - |
22850 | 1017 OvLuma * Loff - (OvGCb + OvGCr) * Coff; |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
27377
diff
changeset
|
1018 OvBOff = BlueAdj + CAdjOff - |
22850 | 1019 OvLuma * Loff - (OvBCb + OvBCr) * Coff; |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
27377
diff
changeset
|
1020 |
22850 | 1021 dwOvROff = ((int)(OvROff * 2.0)) & 0x1fff; |
1022 dwOvGOff = (int)(OvGOff * 2.0) & 0x1fff; | |
1023 dwOvBOff = (int)(OvBOff * 2.0) & 0x1fff; | |
1024 /* Whatever docs say about R200 having 3.8 format instead of 3.11 | |
1025 as in Radeon is a lie */ | |
23048 | 1026 |
22850 | 1027 dwOvLuma =(((int)(OvLuma * 2048.0))&0x7fff)<<17; |
1028 dwOvRCb = (((int)(OvRCb * 2048.0))&0x7fff)<<1; | |
1029 dwOvRCr = (((int)(OvRCr * 2048.0))&0x7fff)<<17; | |
1030 dwOvGCb = (((int)(OvGCb * 2048.0))&0x7fff)<<1; | |
1031 dwOvGCr = (((int)(OvGCr * 2048.0))&0x7fff)<<17; | |
1032 dwOvBCb = (((int)(OvBCb * 2048.0))&0x7fff)<<1; | |
1033 dwOvBCr = (((int)(OvBCr * 2048.0))&0x7fff)<<17; | |
23048 | 1034 |
22850 | 1035 OUTREG(OV0_LIN_TRANS_A, dwOvRCb | dwOvLuma); |
1036 OUTREG(OV0_LIN_TRANS_B, dwOvROff | dwOvRCr); | |
1037 OUTREG(OV0_LIN_TRANS_C, dwOvGCb | dwOvLuma); | |
1038 OUTREG(OV0_LIN_TRANS_D, dwOvGOff | dwOvGCr); | |
1039 OUTREG(OV0_LIN_TRANS_E, dwOvBCb | dwOvLuma); | |
1040 OUTREG(OV0_LIN_TRANS_F, dwOvBOff | dwOvBCr); | |
1041 } | |
1042 | |
1043 /* Gamma curve definition */ | |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
27377
diff
changeset
|
1044 typedef struct |
22850 | 1045 { |
1046 unsigned int gammaReg; | |
1047 unsigned int gammaSlope; | |
1048 unsigned int gammaOffset; | |
1049 }GAMMA_SETTINGS; | |
1050 | |
1051 /* Recommended gamma curve parameters */ | |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
27377
diff
changeset
|
1052 static const GAMMA_SETTINGS r200_def_gamma[18] = |
22850 | 1053 { |
1054 {OV0_GAMMA_0_F, 0x100, 0x0000}, | |
1055 {OV0_GAMMA_10_1F, 0x100, 0x0020}, | |
1056 {OV0_GAMMA_20_3F, 0x100, 0x0040}, | |
1057 {OV0_GAMMA_40_7F, 0x100, 0x0080}, | |
1058 {OV0_GAMMA_80_BF, 0x100, 0x0100}, | |
1059 {OV0_GAMMA_C0_FF, 0x100, 0x0100}, | |
1060 {OV0_GAMMA_100_13F, 0x100, 0x0200}, | |
1061 {OV0_GAMMA_140_17F, 0x100, 0x0200}, | |
1062 {OV0_GAMMA_180_1BF, 0x100, 0x0300}, | |
1063 {OV0_GAMMA_1C0_1FF, 0x100, 0x0300}, | |
1064 {OV0_GAMMA_200_23F, 0x100, 0x0400}, | |
1065 {OV0_GAMMA_240_27F, 0x100, 0x0400}, | |
1066 {OV0_GAMMA_280_2BF, 0x100, 0x0500}, | |
1067 {OV0_GAMMA_2C0_2FF, 0x100, 0x0500}, | |
1068 {OV0_GAMMA_300_33F, 0x100, 0x0600}, | |
1069 {OV0_GAMMA_340_37F, 0x100, 0x0600}, | |
1070 {OV0_GAMMA_380_3BF, 0x100, 0x0700}, | |
1071 {OV0_GAMMA_3C0_3FF, 0x100, 0x0700} | |
1072 }; | |
1073 | |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
27377
diff
changeset
|
1074 static const GAMMA_SETTINGS r100_def_gamma[6] = |
22850 | 1075 { |
1076 {OV0_GAMMA_0_F, 0x100, 0x0000}, | |
1077 {OV0_GAMMA_10_1F, 0x100, 0x0020}, | |
1078 {OV0_GAMMA_20_3F, 0x100, 0x0040}, | |
1079 {OV0_GAMMA_40_7F, 0x100, 0x0080}, | |
1080 {OV0_GAMMA_380_3BF, 0x100, 0x0100}, | |
1081 {OV0_GAMMA_3C0_3FF, 0x100, 0x0100} | |
1082 }; | |
1083 | |
1084 static void make_default_gamma_correction( void ) | |
1085 { | |
1086 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
|
1087 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
|
1088 (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
|
1089 (besr.chip_flags & R_150)==R_150){ |
22850 | 1090 OUTREG(OV0_LIN_TRANS_A, 0x12A00000); |
1091 OUTREG(OV0_LIN_TRANS_B, 0x199018FE); | |
1092 OUTREG(OV0_LIN_TRANS_C, 0x12A0F9B0); | |
1093 OUTREG(OV0_LIN_TRANS_D, 0xF2F0043B); | |
1094 OUTREG(OV0_LIN_TRANS_E, 0x12A02050); | |
1095 OUTREG(OV0_LIN_TRANS_F, 0x0000174E); | |
1096 for(i=0; i<6; i++){ | |
1097 OUTREG(r100_def_gamma[i].gammaReg, | |
1098 (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
|
1099 r100_def_gamma[i].gammaOffset); |
22850 | 1100 } |
1101 } | |
1102 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
|
1103 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
|
1104 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
|
1105 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
|
1106 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
|
1107 OUTREG(OV0_LIN_TRANS_E, 0x12a22046); |
22850 | 1108 OUTREG(OV0_LIN_TRANS_F, 0x175f); |
1109 /* Default Gamma, | |
1110 Of 18 segments for gamma cure, all segments in R200 are programmable, | |
1111 while only lower 4 and upper 2 segments are programmable in Radeon*/ | |
1112 for(i=0; i<18; i++){ | |
1113 OUTREG(r200_def_gamma[i].gammaReg, | |
1114 (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
|
1115 r200_def_gamma[i].gammaOffset); |
22850 | 1116 } |
1117 } | |
1118 } | |
1119 #endif | |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
27377
diff
changeset
|
1120 |
22850 | 1121 static void radeon_vid_make_default(void) |
1122 { | |
1123 #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
|
1124 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
|
1125 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
|
1126 OUTREG(OV0_COLOUR_CNTL,0x000F0F00UL); /* Default brihgtness and saturation for Rage128 */ |
22850 | 1127 #else |
1128 make_default_gamma_correction(); | |
1129 #endif | |
1130 besr.deinterlace_pattern = 0x900AAAAA; | |
1131 OUTREG(OV0_DEINTERLACE_PATTERN,besr.deinterlace_pattern); | |
1132 besr.deinterlace_on=1; | |
1133 besr.double_buff=1; | |
1134 besr.ckey_on=0; | |
1135 besr.graphics_key_msk=0; | |
1136 besr.graphics_key_clr=0; | |
1137 besr.ckey_cntl = VIDEO_KEY_FN_TRUE|GRAPHIC_KEY_FN_TRUE|CMP_MIX_AND; | |
1138 } | |
1139 | |
1140 static int find_chip(unsigned chip_id) | |
1141 { | |
1142 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
|
1143 for(i = 0;i < sizeof(ati_card_ids)/sizeof(ati_card_ids_t);i++) |
22850 | 1144 { |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1145 if(chip_id == ati_card_ids[i].id) return i; |
22850 | 1146 } |
1147 return -1; | |
1148 } | |
1149 | |
1150 static pciinfo_t pci_info; | |
1151 static int probed=0; | |
1152 | |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
27377
diff
changeset
|
1153 static vidix_capability_t def_cap = |
22850 | 1154 { |
1155 #ifdef RAGE128 | |
1156 "BES driver for Rage128 cards", | |
1157 #else | |
1158 "BES driver for Radeon cards", | |
1159 #endif | |
1160 "Nick Kurshev", | |
1161 TYPE_OUTPUT | TYPE_FX, | |
1162 { 0, 0, 0, 0 }, | |
1163 2048, | |
1164 2048, | |
1165 4, | |
1166 4, | |
1167 -1, | |
1168 FLAG_UPSCALER | FLAG_DOWNSCALER | FLAG_EQUALIZER, | |
1169 VENDOR_ATI, | |
1170 0, | |
1171 { 0, 0, 0, 0} | |
1172 }; | |
1173 | |
27377
d58d06eafe83
Change a bunch of X11-specific preprocessor directives.
diego
parents:
27079
diff
changeset
|
1174 #if !defined(RAGE128) && defined(CONFIG_X11) |
22850 | 1175 static void probe_fireGL_driver(void) { |
1176 Display *dp = XOpenDisplay ((void*)0); | |
1177 int n = 0; | |
1178 char **extlist; | |
1179 if (dp==NULL) { | |
1180 return; | |
1181 } | |
1182 extlist = XListExtensions (dp, &n); | |
1183 XCloseDisplay (dp); | |
1184 if (extlist) { | |
1185 int i; | |
1186 int ext_fgl = 0, ext_fglrx = 0; | |
1187 for (i = 0; i < n; i++) { | |
1188 if (!strcmp(extlist[i], "ATIFGLEXTENSION")) ext_fgl = 1; | |
1189 if (!strcmp(extlist[i], "ATIFGLRXDRI")) ext_fglrx = 1; | |
1190 } | |
1191 if (ext_fgl) { | |
1192 printf(RADEON_MSG" ATI FireGl driver detected"); | |
1193 firegl_shift = 0x500000; | |
1194 if (!ext_fglrx) { | |
1195 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
|
1196 printf(RADEON_MSG" Output may not work correctly, check your DRI configration!"); |
22850 | 1197 } |
1198 printf("\n"); | |
1199 } | |
1200 } | |
1201 } | |
1202 #endif | |
1203 | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1204 static int radeon_probe(int verbose, int force) |
22850 | 1205 { |
1206 pciinfo_t lst[MAX_PCI_DEVICES]; | |
1207 unsigned i,num_pci; | |
1208 int err; | |
25859
e8af7338a462
Fix illegal identifiers, names starting with __ are reserved for the system.
diego
parents:
25718
diff
changeset
|
1209 verbosity = verbose; |
22850 | 1210 err = pci_scan(lst,&num_pci); |
1211 if(err) | |
1212 { | |
1213 printf(RADEON_MSG" Error occurred during pci scan: %s\n",strerror(err)); | |
1214 return err; | |
1215 } | |
1216 else | |
1217 { | |
1218 err = ENXIO; | |
1219 for(i=0;i<num_pci;i++) | |
1220 { | |
1221 if(lst[i].vendor == VENDOR_ATI) | |
1222 { | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1223 int idx; |
22850 | 1224 const char *dname; |
1225 idx = find_chip(lst[i].device); | |
1226 if(idx == -1 && force == PROBE_NORMAL) continue; | |
1227 dname = pci_device_name(VENDOR_ATI,lst[i].device); | |
1228 dname = dname ? dname : "Unknown chip"; | |
1229 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
|
1230 #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
|
1231 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
|
1232 { |
7d693457f85e
updated the ati vidix driver 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 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
|
1234 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
|
1235 } |
23167
2ab3eac7f6da
synced with upstream vidix, prevented some drivers to work on some configs/archs
ben
parents:
23165
diff
changeset
|
1236 #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
|
1237 memset(&besr,0,sizeof(bes_registers_t)); |
22850 | 1238 if(force > PROBE_NORMAL) |
1239 { | |
1240 printf(RADEON_MSG" Driver was forced. Was found %sknown chip\n",idx == -1 ? "un" : ""); | |
1241 if(idx == -1) | |
1242 #ifdef RAGE128 | |
1243 printf(RADEON_MSG" Assuming it as Rage128\n"); | |
1244 #else | |
1245 printf(RADEON_MSG" Assuming it as Radeon1\n"); | |
1246 #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
|
1247 besr.chip_flags=R_100|R_OVL_SHIFT; |
22850 | 1248 } |
27377
d58d06eafe83
Change a bunch of X11-specific preprocessor directives.
diego
parents:
27079
diff
changeset
|
1249 #if !defined(RAGE128) && defined(CONFIG_X11) |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1250 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
|
1251 #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
|
1252 if(idx != -1) besr.chip_flags=ati_card_ids[idx].flags; |
22850 | 1253 def_cap.device_id = lst[i].device; |
1254 err = 0; | |
1255 memcpy(&pci_info,&lst[i],sizeof(pciinfo_t)); | |
1256 probed=1; | |
1257 break; | |
1258 } | |
1259 } | |
1260 } | |
1261 if(err && verbose) printf(RADEON_MSG" Can't find chip\n"); | |
1262 return err; | |
1263 } | |
1264 | |
23044
7d693457f85e
updated the ati vidix driver 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 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
|
1266 { |
7d693457f85e
updated the ati vidix driver 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_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
|
1268 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
|
1269 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
|
1270 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
|
1271 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
|
1272 uint32_t disp_merge_cntl; |
32577
f58842aa113d
Restore big-endian support removed in thoughtless upstream merge
reimar
parents:
32576
diff
changeset
|
1273 uint32_t config_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
|
1274 }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
|
1275 static saved_regs_t savreg; |
22850 | 1276 |
23044
7d693457f85e
updated the ati vidix driver 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 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
|
1278 { |
7d693457f85e
updated the ati vidix driver 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 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
|
1280 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
|
1281 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
|
1282 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
|
1283 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
|
1284 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
|
1285 savreg.disp_merge_cntl = INREG(DISP_MERGE_CNTL); |
32577
f58842aa113d
Restore big-endian support removed in thoughtless upstream merge
reimar
parents:
32576
diff
changeset
|
1286 #if HAVE_BIGENDIAN |
f58842aa113d
Restore big-endian support removed in thoughtless upstream merge
reimar
parents:
32576
diff
changeset
|
1287 #ifdef RAGE128 |
32578 | 1288 savreg.config_cntl = INREG(CONFIG_CNTL); |
32577
f58842aa113d
Restore big-endian support removed in thoughtless upstream merge
reimar
parents:
32576
diff
changeset
|
1289 #else |
32578 | 1290 savreg.config_cntl = INREG(SURFACE_CNTL); |
32577
f58842aa113d
Restore big-endian support removed in thoughtless upstream merge
reimar
parents:
32576
diff
changeset
|
1291 #endif |
f58842aa113d
Restore big-endian support removed in thoughtless upstream merge
reimar
parents:
32576
diff
changeset
|
1292 #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
|
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 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1295 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
|
1296 { |
7d693457f85e
updated the ati vidix driver 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 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
|
1298 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
|
1299 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
|
1300 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
|
1301 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
|
1302 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
|
1303 OUTREG(DISP_MERGE_CNTL,savreg.disp_merge_cntl); |
32577
f58842aa113d
Restore big-endian support removed in thoughtless upstream merge
reimar
parents:
32576
diff
changeset
|
1304 #if HAVE_BIGENDIAN |
f58842aa113d
Restore big-endian support removed in thoughtless upstream merge
reimar
parents:
32576
diff
changeset
|
1305 #ifdef RAGE128 |
32578 | 1306 OUTREG(CONFIG_CNTL, savreg.config_cntl); |
32577
f58842aa113d
Restore big-endian support removed in thoughtless upstream merge
reimar
parents:
32576
diff
changeset
|
1307 #else |
32578 | 1308 OUTREG(SURFACE_CNTL, savreg.config_cntl); |
32577
f58842aa113d
Restore big-endian support removed in thoughtless upstream merge
reimar
parents:
32576
diff
changeset
|
1309 #endif |
f58842aa113d
Restore big-endian support removed in thoughtless upstream merge
reimar
parents:
32576
diff
changeset
|
1310 #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
|
1311 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1312 |
32579
b25a7879b23c
Add horrible hack to make xvidix work on big-endian.
reimar
parents:
32578
diff
changeset
|
1313 /** |
b25a7879b23c
Add horrible hack to make xvidix work on big-endian.
reimar
parents:
32578
diff
changeset
|
1314 * Clear swap bits of surface data control regs for bigendian |
b25a7879b23c
Add horrible hack to make xvidix work on big-endian.
reimar
parents:
32578
diff
changeset
|
1315 */ |
b25a7879b23c
Add horrible hack to make xvidix work on big-endian.
reimar
parents:
32578
diff
changeset
|
1316 static void clear_swap(void) |
b25a7879b23c
Add horrible hack to make xvidix work on big-endian.
reimar
parents:
32578
diff
changeset
|
1317 { |
b25a7879b23c
Add horrible hack to make xvidix work on big-endian.
reimar
parents:
32578
diff
changeset
|
1318 #if HAVE_BIGENDIAN |
b25a7879b23c
Add horrible hack to make xvidix work on big-endian.
reimar
parents:
32578
diff
changeset
|
1319 #ifdef RAGE128 |
b25a7879b23c
Add horrible hack to make xvidix work on big-endian.
reimar
parents:
32578
diff
changeset
|
1320 OUTREG(CONFIG_CNTL, |
b25a7879b23c
Add horrible hack to make xvidix work on big-endian.
reimar
parents:
32578
diff
changeset
|
1321 savreg.config_cntl & |
b25a7879b23c
Add horrible hack to make xvidix work on big-endian.
reimar
parents:
32578
diff
changeset
|
1322 ~(APER_0_BIG_ENDIAN_16BPP_SWAP | APER_0_BIG_ENDIAN_32BPP_SWAP)); |
b25a7879b23c
Add horrible hack to make xvidix work on big-endian.
reimar
parents:
32578
diff
changeset
|
1323 #else |
b25a7879b23c
Add horrible hack to make xvidix work on big-endian.
reimar
parents:
32578
diff
changeset
|
1324 OUTREG(SURFACE_CNTL, |
b25a7879b23c
Add horrible hack to make xvidix work on big-endian.
reimar
parents:
32578
diff
changeset
|
1325 savreg.config_cntl & |
b25a7879b23c
Add horrible hack to make xvidix work on big-endian.
reimar
parents:
32578
diff
changeset
|
1326 ~(NONSURF_AP0_SWP_32BPP | NONSURF_AP0_SWP_16BPP)); |
b25a7879b23c
Add horrible hack to make xvidix work on big-endian.
reimar
parents:
32578
diff
changeset
|
1327 #endif |
b25a7879b23c
Add horrible hack to make xvidix work on big-endian.
reimar
parents:
32578
diff
changeset
|
1328 #endif |
b25a7879b23c
Add horrible hack to make xvidix work on big-endian.
reimar
parents:
32578
diff
changeset
|
1329 } |
b25a7879b23c
Add horrible hack to make xvidix work on big-endian.
reimar
parents:
32578
diff
changeset
|
1330 |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1331 static int radeon_init(void) |
22850 | 1332 { |
1333 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
|
1334 |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
27377
diff
changeset
|
1335 if(!probed) |
22850 | 1336 { |
1337 printf(RADEON_MSG" Driver was not probed but is being initializing\n"); | |
1338 return EINTR; | |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
27377
diff
changeset
|
1339 } |
22850 | 1340 if((radeon_mmio_base = map_phys_mem(pci_info.base2,0xFFFF))==(void *)-1) return ENOMEM; |
1341 radeon_ram_size = INREG(CONFIG_MEMSIZE); | |
1342 /* mem size is bits [28:0], mask off the rest. Range: from 1Mb up to 512 Mb */ | |
1343 radeon_ram_size &= CONFIG_MEMSIZE_MASK; | |
1344 #ifdef RADEON | |
1345 /* according to XFree86 4.2.0, some production M6's return 0 for 8MB */ | |
1346 if (radeon_ram_size == 0 && | |
1347 (def_cap.device_id == DEVICE_ATI_RADEON_MOBILITY_M6 || | |
1348 def_cap.device_id == DEVICE_ATI_RADEON_MOBILITY_M62)) | |
1349 { | |
23163 | 1350 printf(RADEON_MSG" Working around buggy Radeon Mobility M6 (0 vs. 8MB ram)\n"); |
22850 | 1351 radeon_ram_size = 8192*1024; |
1352 } | |
23125
48fdbc777870
onboard X200 GPU (shared memory) returns a 0 RAM size (patch by rjoco77@kezdionline.ro)
ben
parents:
23124
diff
changeset
|
1353 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
|
1354 (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
|
1355 { |
23164
e9298e9c6a74
accurate X200 memory size detection (patch by rjoco77 at kezdionline dot ro)
ben
parents:
23163
diff
changeset
|
1356 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
|
1357 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
|
1358 radeon_ram_size &= CONFIG_MEMSIZE_MASK; |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
27377
diff
changeset
|
1359 } |
22850 | 1360 #else |
1361 /* Rage Mobility (rage128) also has memsize bug */ | |
1362 if (radeon_ram_size == 0 && | |
1363 (def_cap.device_id == DEVICE_ATI_RAGE_MOBILITY_M3 || | |
1364 def_cap.device_id == DEVICE_ATI_RAGE_MOBILITY_M32)) | |
1365 { | |
23165 | 1366 printf(RADEON_MSG" Working around Rage Mobility M3 (0 vs. 8MB ram)\n"); |
22850 | 1367 radeon_ram_size = 8192*1024; |
1368 } | |
1369 #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
|
1370 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
|
1371 radeon_vid_make_default(); |
22850 | 1372 printf(RADEON_MSG" Video memory = %uMb\n",radeon_ram_size/0x100000); |
1373 err = mtrr_set_type(pci_info.base0,radeon_ram_size,MTRR_TYPE_WRCOMB); | |
1374 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
|
1375 #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
|
1376 { |
7d693457f85e
updated the ati vidix driver 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 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
|
1378 if((besr.chip_flags&R_100) != R_100) rinfo.hasCRTC2 = 1; |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
27377
diff
changeset
|
1379 |
23044
7d693457f85e
updated the ati vidix driver 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 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
|
1381 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
|
1382 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
|
1383 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
|
1384 } |
7d693457f85e
updated the ati vidix driver 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 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
|
1386 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
|
1387 } |
22850 | 1388 #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
|
1389 save_regs(); |
32579
b25a7879b23c
Add horrible hack to make xvidix work on big-endian.
reimar
parents:
32578
diff
changeset
|
1390 clear_swap(); |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
27377
diff
changeset
|
1391 return 0; |
22850 | 1392 } |
1393 | |
23044
7d693457f85e
updated the ati vidix driver 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 static void radeon_destroy(void) |
22850 | 1395 { |
23044
7d693457f85e
updated the ati vidix driver 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 restore_regs(); |
22850 | 1397 unmap_phys_mem(radeon_mem_base,radeon_ram_size); |
1398 unmap_phys_mem(radeon_mmio_base,0xFFFF); | |
1399 } | |
1400 | |
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
|
1401 static int radeon_get_caps(vidix_capability_t *to) |
22850 | 1402 { |
1403 memcpy(to,&def_cap,sizeof(vidix_capability_t)); | |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
27377
diff
changeset
|
1404 return 0; |
22850 | 1405 } |
1406 | |
1407 /* | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1408 Full list of fourcc which are supported by Win2K radeon driver: |
22850 | 1409 YUY2, UYVY, DDES, OGLT, OGL2, OGLS, OGLB, OGNT, OGNZ, OGNS, |
1410 IF09, YVU9, IMC4, M2IA, IYUV, VBID, DXT1, DXT2, DXT3, DXT4, DXT5 | |
1411 */ | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1412 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
|
1413 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1414 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
|
1415 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
|
1416 }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
|
1417 |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
27377
diff
changeset
|
1418 static const fourcc_desc_t supported_fourcc[] = |
22850 | 1419 { |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1420 { 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
|
1421 { 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
|
1422 { 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
|
1423 { 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
|
1424 { IMGFMT_I420, 1567 }, |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
27377
diff
changeset
|
1425 { IMGFMT_IYUV, 1567 }, |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1426 { 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
|
1427 { 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
|
1428 { 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
|
1429 { 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
|
1430 { 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
|
1431 { 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
|
1432 { 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
|
1433 { 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
|
1434 { IMGFMT_BGR32, 775 } |
22850 | 1435 }; |
1436 | |
34653 | 1437 static inline int is_supported_fourcc(uint32_t fourcc) |
22850 | 1438 { |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1439 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
|
1440 for(i=0;i<sizeof(supported_fourcc)/sizeof(fourcc_desc_t);i++) |
22850 | 1441 { |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1442 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
|
1443 return 1; |
22850 | 1444 } |
1445 return 0; | |
1446 } | |
1447 | |
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
|
1448 static int radeon_query_fourcc(vidix_fourcc_t *to) |
22850 | 1449 { |
1450 if(is_supported_fourcc(to->fourcc)) | |
1451 { | |
23060 | 1452 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
|
1453 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
|
1454 VID_CAP_BLEND; |
22850 | 1455 return 0; |
1456 } | |
1457 return ENOSYS; | |
1458 } | |
1459 | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1460 static double H_scale_ratio; |
22850 | 1461 static void radeon_vid_dump_regs( void ) |
1462 { | |
1463 size_t i; | |
1464 printf(RADEON_MSG"*** Begin of DRIVER variables dump ***\n"); | |
1465 printf(RADEON_MSG"radeon_mmio_base=%p\n",radeon_mmio_base); | |
1466 printf(RADEON_MSG"radeon_mem_base=%p\n",radeon_mem_base); | |
1467 printf(RADEON_MSG"radeon_overlay_off=%08X\n",radeon_overlay_off); | |
1468 printf(RADEON_MSG"radeon_ram_size=%08X\n",radeon_ram_size); | |
1469 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
|
1470 printf(RADEON_MSG"H_scale_ratio=%8.2f\n",H_scale_ratio); |
22850 | 1471 printf(RADEON_MSG"*** Begin of OV0 registers dump ***\n"); |
1472 for(i=0;i<sizeof(vregs)/sizeof(video_registers_t);i++) | |
1473 printf(RADEON_MSG"%s = %08X\n",vregs[i].sname,INREG(vregs[i].name)); | |
1474 printf(RADEON_MSG"*** End of OV0 registers dump ***\n"); | |
1475 } | |
1476 | |
1477 static void radeon_vid_stop_video( void ) | |
1478 { | |
1479 radeon_engine_idle(); | |
1480 OUTREG(OV0_SCALE_CNTL, SCALER_SOFT_RESET); | |
1481 OUTREG(OV0_EXCLUSIVE_HORZ, 0); | |
1482 OUTREG(OV0_AUTO_FLIP_CNTL, 0); /* maybe */ | |
1483 OUTREG(OV0_FILTER_CNTL, FILTER_HARDCODED_COEF); | |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
27377
diff
changeset
|
1484 #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
|
1485 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
|
1486 #else |
22850 | 1487 OUTREG(OV0_KEY_CNTL, GRAPHIC_KEY_FN_EQ); |
1488 #endif | |
1489 OUTREG(OV0_TEST, 0); | |
1490 } | |
1491 | |
1492 static void radeon_vid_display_video( void ) | |
1493 { | |
23044
7d693457f85e
updated the ati vidix driver 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 int bes_flags,force_second; |
22850 | 1495 radeon_fifo_wait(2); |
1496 OUTREG(OV0_REG_LOAD_CNTL, REG_LD_CTL_LOCK); | |
1497 radeon_engine_idle(); | |
1498 while(!(INREG(OV0_REG_LOAD_CNTL)®_LD_CTL_LOCK_READBACK)); | |
1499 radeon_fifo_wait(15); | |
1500 | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1501 force_second=0; |
23048 | 1502 |
22850 | 1503 /* Shutdown capturing */ |
1504 OUTREG(FCP_CNTL, FCP_CNTL__GND); | |
1505 OUTREG(CAP0_TRIG_CNTL, 0); | |
1506 | |
1507 OUTREG(VID_BUFFER_CONTROL, (1<<16) | 0x01); | |
1508 OUTREG(DISP_TEST_DEBUG_CNTL, 0); | |
1509 | |
1510 OUTREG(OV0_AUTO_FLIP_CNTL,OV0_AUTO_FLIP_CNTL_SOFT_BUF_ODD); | |
1511 | |
1512 if(besr.deinterlace_on) OUTREG(OV0_DEINTERLACE_PATTERN,besr.deinterlace_pattern); | |
1513 #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
|
1514 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
|
1515 (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
|
1516 (besr.saturation << 16)); |
22850 | 1517 #endif |
1518 radeon_fifo_wait(2); | |
1519 OUTREG(OV0_GRAPHICS_KEY_MSK, besr.graphics_key_msk); | |
1520 OUTREG(OV0_GRAPHICS_KEY_CLR, besr.graphics_key_clr); | |
1521 OUTREG(OV0_KEY_CNTL,besr.ckey_cntl); | |
1522 | |
1523 OUTREG(OV0_H_INC, besr.h_inc); | |
1524 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
|
1525 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
|
1526 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1527 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
|
1528 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
|
1529 } |
7d693457f85e
updated the ati vidix driver 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 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
|
1531 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1532 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
|
1533 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
|
1534 } |
22850 | 1535 OUTREG(OV0_V_INC, besr.v_inc); |
1536 OUTREG(OV0_P1_BLANK_LINES_AT_TOP, besr.p1_blank_lines_at_top); | |
1537 OUTREG(OV0_P23_BLANK_LINES_AT_TOP, besr.p23_blank_lines_at_top); | |
1538 OUTREG(OV0_VID_BUF_PITCH0_VALUE, besr.vid_buf_pitch0_value); | |
1539 OUTREG(OV0_VID_BUF_PITCH1_VALUE, besr.vid_buf_pitch1_value); | |
1540 OUTREG(OV0_P1_X_START_END, besr.p1_x_start_end); | |
1541 OUTREG(OV0_P2_X_START_END, besr.p2_x_start_end); | |
1542 OUTREG(OV0_P3_X_START_END, besr.p3_x_start_end); | |
1543 #ifdef RADEON | |
1544 OUTREG(OV0_BASE_ADDR, besr.base_addr); | |
1545 #endif | |
1546 OUTREG(OV0_VID_BUF0_BASE_ADRS, besr.vid_buf_base_adrs_y[0]); | |
1547 OUTREG(OV0_VID_BUF1_BASE_ADRS, besr.vid_buf_base_adrs_v[0]); | |
1548 OUTREG(OV0_VID_BUF2_BASE_ADRS, besr.vid_buf_base_adrs_u[0]); | |
1549 radeon_fifo_wait(9); | |
1550 OUTREG(OV0_VID_BUF3_BASE_ADRS, besr.vid_buf_base_adrs_y[0]); | |
1551 OUTREG(OV0_VID_BUF4_BASE_ADRS, besr.vid_buf_base_adrs_v[0]); | |
1552 OUTREG(OV0_VID_BUF5_BASE_ADRS, besr.vid_buf_base_adrs_u[0]); | |
1553 OUTREG(OV0_P1_V_ACCUM_INIT, besr.p1_v_accum_init); | |
1554 OUTREG(OV0_P1_H_ACCUM_INIT, besr.p1_h_accum_init); | |
1555 OUTREG(OV0_P23_H_ACCUM_INIT, besr.p23_h_accum_init); | |
1556 OUTREG(OV0_P23_V_ACCUM_INIT, besr.p23_v_accum_init); | |
1557 | |
1558 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
|
1559 SCALER_SMART_SWITCH | |
22850 | 1560 SCALER_Y2R_TEMP | |
1561 SCALER_PIX_EXPAND; | |
1562 if(besr.double_buff) bes_flags |= SCALER_DOUBLE_BUFFER; | |
1563 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
|
1564 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
|
1565 if(besr.vert_pick_nearest) bes_flags |= SCALER_VERT_PICK_NEAREST; |
22850 | 1566 #ifdef RAGE128 |
1567 bes_flags |= SCALER_BURST_PER_PLANE; | |
1568 #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
|
1569 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
|
1570 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
|
1571 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
|
1572 else bes_flags &= ~SCALER_USE_OV1; |
22850 | 1573 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
|
1574 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
|
1575 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
|
1576 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
|
1577 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
|
1578 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
|
1579 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
|
1580 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
|
1581 if(besr.swap_uv) OUTREG(OV0_TEST,INREG(OV0_TEST)|OV0_SWAP_UV); |
22850 | 1582 OUTREG(OV0_REG_LOAD_CNTL, 0); |
25859
e8af7338a462
Fix illegal identifiers, names starting with __ are reserved for the system.
diego
parents:
25718
diff
changeset
|
1583 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
|
1584 if(verbosity > VERBOSE_LEVEL) radeon_vid_dump_regs(); |
22850 | 1585 } |
1586 | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1587 /* 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
|
1588 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
|
1589 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
|
1590 #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
|
1591 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
|
1592 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1593 /* 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
|
1594 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
|
1595 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
|
1596 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
|
1597 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
|
1598 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
|
1599 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
|
1600 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
|
1601 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1602 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1603 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
|
1604 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1605 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
|
1606 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1607 #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
|
1608 |
22850 | 1609 static unsigned radeon_query_pitch(unsigned fourcc,const vidix_yuv_t *spitch) |
1610 { | |
1611 unsigned pitch,spy,spv,spu; | |
1612 spy = spv = spu = 0; | |
1613 switch(spitch->y) | |
1614 { | |
1615 case 16: | |
1616 case 32: | |
1617 case 64: | |
1618 case 128: | |
1619 case 256: spy = spitch->y; break; | |
1620 default: break; | |
1621 } | |
1622 switch(spitch->u) | |
1623 { | |
1624 case 16: | |
1625 case 32: | |
1626 case 64: | |
1627 case 128: | |
1628 case 256: spu = spitch->u; break; | |
1629 default: break; | |
1630 } | |
1631 switch(spitch->v) | |
1632 { | |
1633 case 16: | |
1634 case 32: | |
1635 case 64: | |
1636 case 128: | |
1637 case 256: spv = spitch->v; break; | |
1638 default: break; | |
1639 } | |
1640 switch(fourcc) | |
1641 { | |
1642 /* 4:2:0 */ | |
1643 case IMGFMT_IYUV: | |
1644 case IMGFMT_YV12: | |
1645 case IMGFMT_I420: | |
1646 if(spy > 16 && spu == spy/2 && spv == spy/2) pitch = spy; | |
1647 else pitch = 32; | |
1648 break; | |
1649 case IMGFMT_IF09: | |
1650 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
|
1651 if(spy >= 64 && spu == spy/4 && spv == spy/4) pitch = spy; |
22850 | 1652 else pitch = 64; |
1653 break; | |
1654 default: | |
1655 if(spy >= 16) pitch = spy; | |
1656 else pitch = 16; | |
1657 break; | |
1658 } | |
1659 return pitch; | |
1660 } | |
1661 | |
23044
7d693457f85e
updated the ati vidix driver 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 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
|
1663 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
|
1664 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
|
1665 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
|
1666 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
|
1667 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
|
1668 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
|
1669 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
|
1670 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
|
1671 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
|
1672 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
|
1673 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
|
1674 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1675 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1676 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
|
1677 |
7d693457f85e
updated the ati vidix driver 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 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
|
1679 { |
7d693457f85e
updated the ati vidix driver 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 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
|
1681 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
|
1682 /* 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
|
1683 *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
|
1684 /* 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
|
1685 /* 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
|
1686 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
|
1687 { |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
1689 /* 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
|
1690 *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
|
1691 *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
|
1692 *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
|
1693 *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
|
1694 *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
|
1695 *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
|
1696 } |
7d693457f85e
updated the ati vidix driver 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 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
|
1698 { |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
1700 *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
|
1701 *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
|
1702 *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
|
1703 *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
|
1704 *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
|
1705 *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
|
1706 } |
7d693457f85e
updated the ati vidix driver 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 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
|
1708 { |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
1710 *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
|
1711 *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
|
1712 *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
|
1713 *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
|
1714 *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
|
1715 *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
|
1716 } |
7d693457f85e
updated the ati vidix driver 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 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
|
1718 { |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
1720 *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
|
1721 *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
|
1722 *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
|
1723 *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
|
1724 *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
|
1725 *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
|
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.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
|
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 /* 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
|
1730 *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
|
1731 *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
|
1732 *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
|
1733 *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
|
1734 *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
|
1735 *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
|
1736 } |
7d693457f85e
updated the ati vidix driver 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 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
|
1738 { |
7d693457f85e
updated the ati vidix driver 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 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
|
1740 *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
|
1741 *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
|
1742 *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
|
1743 *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
|
1744 *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
|
1745 *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
|
1746 } |
7d693457f85e
updated the ati vidix driver 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 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
|
1748 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
|
1749 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
|
1750 { |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
1752 *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
|
1753 /* 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
|
1754 /* 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
|
1755 *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
|
1756 *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
|
1757 *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
|
1758 *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
|
1759 *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
|
1760 *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
|
1761 } |
7d693457f85e
updated the ati vidix driver 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 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
|
1763 { |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
1765 *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
|
1766 /* 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
|
1767 /* 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
|
1768 /* 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
|
1769 *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
|
1770 *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
|
1771 *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
|
1772 *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
|
1773 *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
|
1774 *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
|
1775 } |
7d693457f85e
updated the ati vidix driver 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 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
|
1777 { |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
1779 /* 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
|
1780 *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
|
1781 /* 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
|
1782 *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
|
1783 *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
|
1784 *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
|
1785 *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
|
1786 *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
|
1787 *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
|
1788 } |
7d693457f85e
updated the ati vidix driver 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 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
|
1790 { |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
1792 /* 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
|
1793 *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
|
1794 /* 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
|
1795 *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
|
1796 *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
|
1797 *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
|
1798 *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
|
1799 *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
|
1800 *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
|
1801 } |
7d693457f85e
updated the ati vidix driver 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 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
|
1803 { |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
1805 /* 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
|
1806 *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
|
1807 /* 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
|
1808 *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
|
1809 *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
|
1810 *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
|
1811 *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
|
1812 *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
|
1813 *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
|
1814 } |
7d693457f85e
updated the ati vidix driver 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 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
|
1816 { |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
1818 /* 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
|
1819 *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
|
1820 /* 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
|
1821 *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
|
1822 *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
|
1823 *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
|
1824 *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
|
1825 *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
|
1826 *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
|
1827 } |
7d693457f85e
updated the ati vidix driver 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 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
|
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 /* 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
|
1831 /* 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
|
1832 *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
|
1833 /* 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
|
1834 *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
|
1835 *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
|
1836 *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
|
1837 *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
|
1838 *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
|
1839 *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
|
1840 } |
7d693457f85e
updated the ati vidix driver 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 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
|
1842 { |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
1844 /* 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
|
1845 *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
|
1846 /* 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
|
1847 *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
|
1848 *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
|
1849 *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
|
1850 *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
|
1851 *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
|
1852 *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
|
1853 } |
7d693457f85e
updated the ati vidix driver 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 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
|
1855 { |
7d693457f85e
updated the ati vidix driver 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 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
|
1857 *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
|
1858 *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
|
1859 *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
|
1860 *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
|
1861 *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
|
1862 *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
|
1863 *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
|
1864 } |
7d693457f85e
updated the ati vidix driver 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 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
|
1866 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
|
1867 /*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
|
1868 /* 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
|
1869 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
|
1870 ((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
|
1871 ((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
|
1872 !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
|
1873 { /*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
|
1874 /* 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
|
1875 *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
|
1876 *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
|
1877 *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
|
1878 *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
|
1879 *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
|
1880 *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
|
1881 *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
|
1882 } |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
1884 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
|
1885 ((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
|
1886 ((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
|
1887 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
|
1888 { /*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
|
1889 *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
|
1890 *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
|
1891 *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
|
1892 *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
|
1893 *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
|
1894 *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
|
1895 *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
|
1896 } |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
1898 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
|
1899 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
|
1900 ((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
|
1901 ((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
|
1902 !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
|
1903 { /*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
|
1904 *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
|
1905 *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
|
1906 *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
|
1907 *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
|
1908 *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
|
1909 *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
|
1910 *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
|
1911 } |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
1913 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
|
1914 ((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
|
1915 ((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
|
1916 { /*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
|
1917 *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
|
1918 *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
|
1919 *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
|
1920 *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
|
1921 *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
|
1922 *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
|
1923 *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
|
1924 } |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
1926 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
|
1927 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
|
1928 ((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
|
1929 ((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
|
1930 { /*>=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
|
1931 *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
|
1932 *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
|
1933 *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
|
1934 *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
|
1935 *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
|
1936 *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
|
1937 *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
|
1938 } |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
1940 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
|
1941 ((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
|
1942 ((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
|
1943 { |
7d693457f85e
updated the ati vidix driver 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 *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
|
1945 *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
|
1946 *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
|
1947 *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
|
1948 *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
|
1949 *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
|
1950 *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
|
1951 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1952 /* 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
|
1953 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
|
1954 ((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
|
1955 ((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
|
1956 { |
7d693457f85e
updated the ati vidix driver 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 *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
|
1958 *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
|
1959 *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
|
1960 *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
|
1961 *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
|
1962 *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
|
1963 *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
|
1964 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1965 /* 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
|
1966 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
|
1967 ((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
|
1968 ((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
|
1969 { |
7d693457f85e
updated the ati vidix driver 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 *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
|
1971 *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
|
1972 *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
|
1973 *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
|
1974 *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
|
1975 *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
|
1976 *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
|
1977 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
1978 /* 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
|
1979 |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
1981 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
|
1982 ((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
|
1983 ((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
|
1984 { |
7d693457f85e
updated the ati vidix driver 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 *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
|
1986 *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
|
1987 *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
|
1988 *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
|
1989 *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
|
1990 *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
|
1991 *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
|
1992 } |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
1994 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
|
1995 ((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
|
1996 ((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
|
1997 { |
7d693457f85e
updated the ati vidix driver 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 *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
|
1999 *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
|
2000 *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
|
2001 *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
|
2002 *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
|
2003 *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
|
2004 *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
|
2005 } |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
2007 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
|
2008 ((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
|
2009 ((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
|
2010 { |
7d693457f85e
updated the ati vidix driver 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 *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
|
2012 *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
|
2013 *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
|
2014 *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
|
2015 *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
|
2016 *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
|
2017 *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
|
2018 } |
7d693457f85e
updated the ati vidix driver 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 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
|
2020 { |
7d693457f85e
updated the ati vidix driver 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 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
|
2022 *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
|
2023 *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
|
2024 *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
|
2025 *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
|
2026 *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
|
2027 *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
|
2028 *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
|
2029 } |
7d693457f85e
updated the ati vidix driver 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 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
|
2031 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
|
2032 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
|
2033 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
|
2034 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
|
2035 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
|
2036 /* 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
|
2037 /* 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
|
2038 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
|
2039 !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
|
2040 { /*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
|
2041 *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
|
2042 *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
|
2043 *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
|
2044 *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
|
2045 *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
|
2046 *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
|
2047 *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
|
2048 } |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
2050 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
|
2051 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
|
2052 { /*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
|
2053 *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
|
2054 *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
|
2055 *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
|
2056 *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
|
2057 *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
|
2058 *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
|
2059 *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
|
2060 } |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
2062 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
|
2063 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
|
2064 !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
|
2065 { /*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
|
2066 *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
|
2067 *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
|
2068 *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
|
2069 *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
|
2070 *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
|
2071 *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
|
2072 *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
|
2073 } |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
2075 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
|
2076 { /*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
|
2077 *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
|
2078 *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
|
2079 *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
|
2080 *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
|
2081 *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
|
2082 *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
|
2083 *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
|
2084 } |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
2086 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
|
2087 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
|
2088 { /*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
|
2089 *P1GroupSize = 4; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2090 *val_OV0_P1_H_INC = (uint16_t)((1/(H_scale_ratio)) * (1<<0xc) + 0.5); |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2091 *val_OV0_P1_H_STEP_BY = 1; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2092 *val_OV0_P23_H_INC = (uint16_t)((1/(H_scale_ratio*2*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
|
2093 *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
|
2094 *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
|
2095 *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
|
2096 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2097 /* We step the Y, 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
|
2098 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
|
2099 { |
7d693457f85e
updated the ati vidix driver 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 *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
|
2101 *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
|
2102 *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
|
2103 *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
|
2104 *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
|
2105 *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
|
2106 *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
|
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 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
|
2109 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
|
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*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
|
2113 *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
|
2114 *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
|
2115 *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
|
2116 *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
|
2117 *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
|
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, 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
|
2120 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
|
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 *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
|
2124 *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
|
2125 *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
|
2126 *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
|
2127 *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
|
2128 *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
|
2129 } |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
2131 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
|
2132 (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
|
2133 { |
7d693457f85e
updated the ati vidix driver 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 *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
|
2135 /* 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
|
2136 *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
|
2137 *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
|
2138 *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
|
2139 *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
|
2140 *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
|
2141 *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
|
2142 } |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
2144 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
|
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 *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
|
2147 *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
|
2148 *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
|
2149 *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
|
2150 *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
|
2151 *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
|
2152 *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
|
2153 } |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
2155 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
|
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 *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
|
2158 /* 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
|
2159 *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
|
2160 *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
|
2161 *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
|
2162 *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
|
2163 *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
|
2164 *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
|
2165 } |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
2167 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
|
2168 (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
|
2169 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2170 *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
|
2171 /* 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
|
2172 *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
|
2173 *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
|
2174 *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
|
2175 *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
|
2176 *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
|
2177 *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
|
2178 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2179 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
|
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 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
|
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 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
|
2184 *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
|
2185 *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
|
2186 *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
|
2187 *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
|
2188 *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
|
2189 *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
|
2190 *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
|
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 { |
7d693457f85e
updated the ati vidix driver 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 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
|
2195 *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
|
2196 *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
|
2197 *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
|
2198 *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
|
2199 *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
|
2200 *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
|
2201 *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
|
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 } |
7d693457f85e
updated the ati vidix driver 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 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
|
2205 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
|
2206 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2207 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2208 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
|
2209 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
|
2210 } |
7d693457f85e
updated the ati vidix driver 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 /* ********************************************************* */ |
7d693457f85e
updated the ati vidix driver 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 /* ** 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
|
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 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
|
2217 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2218 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
|
2219 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
|
2220 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
|
2221 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
|
2222 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2223 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
|
2224 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
|
2225 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
|
2226 } |
7d693457f85e
updated the ati vidix driver 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 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
|
2228 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
|
2229 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
|
2230 } |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
2232 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
|
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 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
|
2235 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2236 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
|
2237 { |
7d693457f85e
updated the ati vidix driver 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 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
|
2239 } |
7d693457f85e
updated the ati vidix driver 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 |
7d693457f85e
updated the ati vidix driver 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 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
|
2242 { |
7d693457f85e
updated the ati vidix driver 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 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
|
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 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
|
2246 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2247 /*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
|
2248 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
|
2249 } |
7d693457f85e
updated the ati vidix driver 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 |
7d693457f85e
updated the ati vidix driver 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 { |
7d693457f85e
updated the ati vidix driver 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 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
|
2253 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
|
2254 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2255 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2256 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
|
2257 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
|
2258 |
7d693457f85e
updated the ati vidix driver 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 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
|
2260 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
|
2261 ? (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
|
2262 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2263 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
|
2264 { |
7d693457f85e
updated the ati vidix driver 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 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
|
2266 } |
7d693457f85e
updated the ati vidix driver 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 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
|
2268 { |
7d693457f85e
updated the ati vidix driver 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 /*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
|
2270 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
|
2271 } |
7d693457f85e
updated the ati vidix driver 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 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
|
2273 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
|
2274 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
|
2275 ((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
|
2276 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
|
2277 ((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
|
2278 } |
7d693457f85e
updated the ati vidix driver 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 |
7d693457f85e
updated the ati vidix driver 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 |
7d693457f85e
updated the ati vidix driver 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 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
|
2282 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
|
2283 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
|
2284 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
|
2285 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
|
2286 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
|
2287 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
|
2288 { |
7d693457f85e
updated the ati vidix driver 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 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
|
2290 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
|
2291 /* 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
|
2292 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2293 val_OV0_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
|
2294 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
|
2295 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2296 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
|
2297 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
|
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 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
|
2300 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
|
2301 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
|
2302 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
|
2303 /* 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
|
2304 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
|
2305 (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
|
2306 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
|
2307 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
|
2308 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
|
2309 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
|
2310 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
|
2311 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
|
2312 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
|
2313 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
|
2314 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
|
2315 /* 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
|
2316 /* 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 /* 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
|
2318 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
|
2319 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
|
2320 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
|
2321 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
|
2322 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
|
2323 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
|
2324 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
|
2325 } |
7d693457f85e
updated the ati vidix driver 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 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
|
2327 val_OV0_P3_X_END = val_OV0_P2_X_END; |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
27377
diff
changeset
|
2328 |
23044
7d693457f85e
updated the ati vidix driver 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 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
|
2330 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
|
2331 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
|
2332 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
|
2333 { |
7d693457f85e
updated the ati vidix driver 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 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
|
2335 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
|
2336 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2337 *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
|
2338 *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
|
2339 } |
7d693457f85e
updated the ati vidix driver 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 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
|
2342 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
|
2343 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
|
2344 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
|
2345 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
|
2346 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
|
2347 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
|
2348 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
|
2349 { |
7d693457f85e
updated the ati vidix driver 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 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
|
2351 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
|
2352 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
|
2353 /* 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
|
2354 /* 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
|
2355 /* 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
|
2356 /* 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
|
2357 /* 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
|
2358 /* 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
|
2359 /* 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
|
2360 /* 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
|
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 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
|
2364 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
|
2365 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
|
2366 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
|
2367 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
|
2368 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
|
2369 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2370 if (besr.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
|
2371 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
|
2372 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
|
2373 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
|
2374 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
|
2375 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2376 /* 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
|
2377 /* 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
|
2378 /* 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
|
2379 /* 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
|
2380 /* 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
|
2381 /* 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
|
2382 /* 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
|
2383 /* (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
|
2384 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
|
2385 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
|
2386 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
|
2387 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
|
2388 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
|
2389 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
|
2390 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
|
2391 } |
7d693457f85e
updated the ati vidix driver 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 |
7d693457f85e
updated the ati vidix driver 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 /* ************************************************************** */ |
7d693457f85e
updated the ati vidix driver 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 /* ** 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
|
2395 /* ************************************************************** */ |
7d693457f85e
updated the ati vidix driver 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 |
7d693457f85e
updated the ati vidix driver 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 { |
7d693457f85e
updated the ati vidix driver 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 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
|
2399 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
|
2400 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
|
2401 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
|
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 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
|
2404 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
|
2405 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2406 if (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
|
2407 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
|
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 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
|
2410 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
|
2411 { |
7d693457f85e
updated the ati vidix driver 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 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
|
2413 } |
7d693457f85e
updated the ati vidix driver 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 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
|
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 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
|
2417 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
|
2418 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2419 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
|
2420 { |
7d693457f85e
updated the ati vidix driver 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 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
|
2422 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
|
2423 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
|
2424 ((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
|
2425 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
|
2426 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
|
2427 ((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
|
2428 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
|
2429 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
|
2430 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
|
2431 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
|
2432 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
|
2433 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
|
2434 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
|
2435 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
|
2436 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
|
2437 } |
7d693457f85e
updated the ati vidix driver 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 |
7d693457f85e
updated the ati vidix driver 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 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
|
2440 { |
7d693457f85e
updated the ati vidix driver 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 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
|
2442 } |
7d693457f85e
updated the ati vidix driver 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 |
7d693457f85e
updated the ati vidix driver 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 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
|
2445 } |
7d693457f85e
updated the ati vidix driver 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 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
|
2447 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
|
2448 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
|
2449 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
|
2450 } |
7d693457f85e
updated the ati vidix driver 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 |
7d693457f85e
updated the ati vidix driver 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 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
|
2453 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
|
2454 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
|
2455 } 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
|
2456 |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
2458 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
|
2459 { |
25718
8eddf6a9af7f
Make some radeon vidix driver tables static and const
reimar
parents:
25415
diff
changeset
|
2460 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
|
2461 {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
|
2462 {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
|
2463 {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
|
2464 {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
|
2465 {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
|
2466 {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
|
2467 {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
|
2468 {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
|
2469 {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
|
2470 {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
|
2471 {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
|
2472 {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
|
2473 {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
|
2474 {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
|
2475 {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
|
2476 {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
|
2477 {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
|
2478 {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
|
2479 {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
|
2480 {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
|
2481 {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
|
2482 {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
|
2483 {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
|
2484 {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
|
2485 {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
|
2486 {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
|
2487 {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
|
2488 {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
|
2489 {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
|
2490 {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
|
2491 {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
|
2492 {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
|
2493 {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
|
2494 {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
|
2495 {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
|
2496 {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
|
2497 {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
|
2498 {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
|
2499 {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
|
2500 {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
|
2501 {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
|
2502 {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
|
2503 {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
|
2504 {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
|
2505 {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
|
2506 {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
|
2507 {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
|
2508 {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
|
2509 {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
|
2510 {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
|
2511 {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
|
2512 {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
|
2513 {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
|
2514 {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
|
2515 {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
|
2516 {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
|
2517 {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
|
2518 {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
|
2519 {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
|
2520 {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
|
2521 {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
|
2522 {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
|
2523 {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
|
2524 {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
|
2525 {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
|
2526 {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
|
2527 {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
|
2528 {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
|
2529 {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
|
2530 {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
|
2531 {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
|
2532 {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
|
2533 {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
|
2534 {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
|
2535 {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
|
2536 {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
|
2537 }; |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2538 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2539 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
|
2540 |
7d693457f85e
updated the ati vidix driver 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 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
|
2542 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2543 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
|
2544 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
|
2545 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
|
2546 |
7d693457f85e
updated the ati vidix driver 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 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
|
2548 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
|
2549 ((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
|
2550 ((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
|
2551 ((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
|
2552 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
|
2553 ((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
|
2554 ((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
|
2555 ((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
|
2556 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
|
2557 ((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
|
2558 ((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
|
2559 ((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
|
2560 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
|
2561 ((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
|
2562 ((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
|
2563 ((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
|
2564 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
|
2565 ((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
|
2566 ((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
|
2567 ((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
|
2568 /* |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2569 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
|
2570 */ |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2571 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2572 |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
2574 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
|
2575 /* 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
|
2576 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
|
2577 |
22850 | 2578 static int radeon_vid_init_video( vidix_playback_t *config ) |
2579 { | |
23044
7d693457f85e
updated the ati vidix driver 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 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
|
2581 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
|
2582 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
|
2583 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
|
2584 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
|
2585 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
|
2586 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
|
2587 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
|
2588 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
|
2589 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
|
2590 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
|
2591 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
|
2592 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
|
2593 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
|
2594 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
|
2595 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
|
2596 |
22850 | 2597 radeon_vid_stop_video(); |
2598 left = config->src.x << 16; | |
2599 top = config->src.y << 16; | |
2600 src_h = config->src.h; | |
2601 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
|
2602 is_400 = is_410 = is_420 = 0; |
22850 | 2603 if(config->fourcc == IMGFMT_YV12 || |
2604 config->fourcc == IMGFMT_I420 || | |
2605 config->fourcc == IMGFMT_IYUV) is_420 = 1; | |
2606 if(config->fourcc == IMGFMT_YVU9 || | |
2607 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
|
2608 if(config->fourcc == IMGFMT_Y800) is_400 = 1; |
22850 | 2609 best_pitch = radeon_query_pitch(config->fourcc,&config->src.pitch); |
2610 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
|
2611 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
|
2612 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
|
2613 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
|
2614 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
|
2615 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
|
2616 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
|
2617 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
|
2618 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
|
2619 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
|
2620 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
|
2621 h_inc = 1; |
22850 | 2622 switch(config->fourcc) |
2623 { | |
23044
7d693457f85e
updated the ati vidix driver 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 /* 4:0:0*/ |
22850 | 2625 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
|
2626 /* 4:1:0*/ |
22850 | 2627 case IMGFMT_YVU9: |
2628 case IMGFMT_IF09: | |
2629 /* 4:2:0 */ | |
2630 case IMGFMT_IYUV: | |
2631 case IMGFMT_YV12: | |
2632 case IMGFMT_I420: pitch = (src_w + mpitch) & ~mpitch; | |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
27377
diff
changeset
|
2633 config->dest.pitch.y = |
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
27377
diff
changeset
|
2634 config->dest.pitch.u = |
22850 | 2635 config->dest.pitch.v = best_pitch; |
2636 break; | |
2637 /* RGB 4:4:4:4 */ | |
2638 case IMGFMT_RGB32: | |
2639 case IMGFMT_BGR32: pitch = (src_w*4 + mpitch) & ~mpitch; | |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
27377
diff
changeset
|
2640 config->dest.pitch.y = |
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
27377
diff
changeset
|
2641 config->dest.pitch.u = |
22850 | 2642 config->dest.pitch.v = best_pitch; |
2643 break; | |
2644 /* 4:2:2 */ | |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
27377
diff
changeset
|
2645 |
23044
7d693457f85e
updated the ati vidix driver 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 default: /* RGB15, RGB16, YVYU, UYVY, YUY2 */ |
22850 | 2647 pitch = ((src_w*2) + mpitch) & ~mpitch; |
2648 config->dest.pitch.y = | |
2649 config->dest.pitch.u = | |
2650 config->dest.pitch.v = best_pitch; | |
2651 break; | |
2652 } | |
23044
7d693457f85e
updated the ati vidix driver 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 besr.load_prg_start=0; |
36636 | 2654 besr.swap_uv=IMGFMT_IS_RGB(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
|
2655 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
|
2656 { |
7d693457f85e
updated the ati vidix driver 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 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
|
2658 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
|
2659 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
|
2660 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
|
2661 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
|
2662 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
|
2663 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
|
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 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
|
2666 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
|
2667 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
|
2668 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
|
2669 /* 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
|
2670 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
|
2671 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
|
2672 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
|
2673 /* 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
|
2674 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
|
2675 /* 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
|
2676 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
|
2677 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
|
2678 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
|
2679 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
|
2680 /* 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
|
2681 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
|
2682 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
|
2683 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
|
2684 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
|
2685 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
|
2686 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
|
2687 } |
7d693457f85e
updated the ati vidix driver 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 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
|
2689 { |
7d693457f85e
updated the ati vidix driver 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 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
|
2691 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
|
2692 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
|
2693 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
|
2694 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
|
2695 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
|
2696 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
|
2697 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
|
2698 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
|
2699 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
|
2700 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
|
2701 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
|
2702 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
|
2703 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
|
2704 } |
7d693457f85e
updated the ati vidix driver 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 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
|
2706 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2707 case 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
|
2708 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
|
2709 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
|
2710 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
|
2711 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
|
2712 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
|
2713 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
|
2714 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
|
2715 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
|
2716 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
|
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 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
|
2719 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
|
2720 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
|
2721 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
|
2722 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
|
2723 |
7d693457f85e
updated the ati vidix driver 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 } |
7d693457f85e
updated the ati vidix driver 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 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
|
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 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
|
2728 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
|
2729 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
|
2730 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
|
2731 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
|
2732 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
|
2733 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
|
2734 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
|
2735 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
|
2736 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
|
2737 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
|
2738 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
|
2739 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
|
2740 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
|
2741 } |
7d693457f85e
updated the ati vidix driver 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 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
|
2743 { |
7d693457f85e
updated the ati vidix driver 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 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
|
2745 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
|
2746 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
|
2747 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
|
2748 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
|
2749 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
|
2750 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
|
2751 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
|
2752 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
|
2753 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
|
2754 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
|
2755 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
|
2756 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
|
2757 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
|
2758 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2759 DisallowFourTapVertFiltering = 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
|
2760 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
|
2761 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
|
2762 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
|
2763 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
|
2764 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
|
2765 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
|
2766 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
|
2767 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
|
2768 /* 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
|
2769 // 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
|
2770 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
|
2771 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
|
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 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
|
2774 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
|
2775 /* 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
|
2776 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
|
2777 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
|
2778 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
|
2779 |
7d693457f85e
updated the ati vidix driver 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 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
|
2781 { |
7d693457f85e
updated the ati vidix driver 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 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
|
2783 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
|
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 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
|
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 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
|
2788 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2789 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
|
2790 } |
7d693457f85e
updated the ati vidix driver 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 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
|
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 /*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
|
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 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
|
2797 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2798 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
|
2799 } |
7d693457f85e
updated the ati vidix driver 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 |
7d693457f85e
updated the ati vidix driver 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 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
|
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 /*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
|
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 ((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
|
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 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
|
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 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
|
2811 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
|
2812 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2813 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
|
2814 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2815 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
|
2816 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2817 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
|
2818 } |
7d693457f85e
updated the ati vidix driver 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 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2820 if ((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
|
2821 { |
7d693457f85e
updated the ati vidix driver 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 /*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
|
2823 } |
7d693457f85e
updated the ati vidix driver 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 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
|
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 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
|
2827 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2828 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
|
2829 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
|
2830 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
|
2831 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
|
2832 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
|
2833 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
|
2834 { |
7d693457f85e
updated the ati vidix driver 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 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
|
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 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
|
2838 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2839 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
|
2840 } |
7d693457f85e
updated the ati vidix driver 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 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
|
2842 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
|
2843 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
|
2844 } |
22850 | 2845 dest_w = config->dest.w; |
2846 dest_h = config->dest.h; | |
2847 if(radeon_is_dbl_scan()) dest_h *= 2; | |
2848 besr.dest_bpp = radeon_vid_get_dbpp(); | |
2849 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
|
2850 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
|
2851 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
|
2852 /* 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
|
2853 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
|
2854 { |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
2856 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
|
2857 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2858 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
|
2859 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
|
2860 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
|
2861 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
|
2862 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2863 val_OV0_P1_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
|
2864 val_OV0_P23_MAX_LN_IN_PER_LN_OUT = 2; |
22850 | 2865 } |
23044
7d693457f85e
updated the ati vidix driver 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 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
|
2867 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
|
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 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
|
2870 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
|
2871 } |
7d693457f85e
updated the ati vidix driver 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 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
|
2873 { |
7d693457f85e
updated the ati vidix driver 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 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
|
2875 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
|
2876 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2877 /* 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
|
2878 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
|
2879 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
|
2880 besr.v_inc <<= 8; |
22850 | 2881 { |
23044
7d693457f85e
updated the ati vidix driver 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 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
|
2883 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
|
2884 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
|
2885 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
|
2886 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
|
2887 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2888 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
|
2889 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
|
2890 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
|
2891 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
|
2892 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
|
2893 &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
|
2894 &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
|
2895 &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
|
2896 &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
|
2897 &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
|
2898 &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
|
2899 &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
|
2900 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2901 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
|
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 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
|
2904 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
|
2905 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
|
2906 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2907 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
|
2908 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
|
2909 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
|
2910 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
|
2911 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
|
2912 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
|
2913 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
|
2914 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
|
2915 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
|
2916 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
|
2917 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
|
2918 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2919 } |
22850 | 2920 |
23044
7d693457f85e
updated the ati vidix driver 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 P23GroupSize = 2; /* Current vaue for all modes */ |
22850 | 2922 |
23044
7d693457f85e
updated the ati vidix driver 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 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
|
2924 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
|
2925 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
|
2926 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
|
2927 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
|
2928 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
|
2929 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
|
2930 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2931 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
|
2932 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
|
2933 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
|
2934 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2935 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
|
2936 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2937 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
|
2938 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
|
2939 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
|
2940 ((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
|
2941 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2942 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
|
2943 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
|
2944 |(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
|
2945 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
|
2946 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
|
2947 ((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
|
2948 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2949 tmp = ((top >> 1) & 0x0000ffff) + 0x00018000; |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
27377
diff
changeset
|
2950 besr.p23_v_accum_init = (is_420||is_410) ? |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2951 ((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
|
2952 |(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
|
2953 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2954 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
|
2955 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
|
2956 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
|
2957 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
|
2958 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
|
2959 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
|
2960 val_OV0_P23_MAX_LN_IN_PER_LN_OUT); |
22850 | 2961 } |
2962 | |
2963 /* keep everything in 16.16 */ | |
2964 besr.base_addr = INREG(DISPLAY_BASE_ADDR); | |
2965 config->offsets[0] = 0; | |
2966 for(i=1;i<besr.vid_nbufs;i++) | |
2967 config->offsets[i] = config->offsets[i-1]+config->frame_size; | |
2968 if(is_420 || is_410 || is_400) | |
2969 { | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2970 uint32_t d1line,d2line,d3line; |
22850 | 2971 d1line = top*pitch; |
2972 if(is_420) | |
2973 { | |
2974 d2line = src_h*pitch+(d1line>>2); | |
2975 d3line = d2line+((src_h*pitch)>>2); | |
2976 } | |
2977 else | |
2978 if(is_410) | |
2979 { | |
2980 d2line = src_h*pitch+(d1line>>4); | |
2981 d3line = d2line+((src_h*pitch)>>4); | |
2982 } | |
2983 else | |
2984 { | |
2985 d2line = 0; | |
2986 d3line = 0; | |
2987 } | |
2988 d1line += (left >> 16) & ~15; | |
2989 if(is_420) | |
2990 { | |
2991 d2line += (left >> 17) & ~15; | |
2992 d3line += (left >> 17) & ~15; | |
2993 } | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
2994 else /* is_410 */ |
22850 | 2995 { |
2996 d2line += (left >> 18) & ~15; | |
2997 d3line += (left >> 18) & ~15; | |
2998 } | |
2999 config->offset.y = d1line & VIF_BUF0_BASE_ADRS_MASK; | |
3000 if(is_400) | |
3001 { | |
3002 config->offset.v = 0; | |
3003 config->offset.u = 0; | |
3004 } | |
3005 else | |
3006 { | |
3007 config->offset.v = d2line & VIF_BUF1_BASE_ADRS_MASK; | |
3008 config->offset.u = d3line & VIF_BUF2_BASE_ADRS_MASK; | |
3009 } | |
3010 for(i=0;i<besr.vid_nbufs;i++) | |
3011 { | |
3012 besr.vid_buf_base_adrs_y[i]=((radeon_overlay_off+config->offsets[i]+config->offset.y)&VIF_BUF0_BASE_ADRS_MASK); | |
3013 if(is_400) | |
3014 { | |
3015 besr.vid_buf_base_adrs_v[i]=0; | |
3016 besr.vid_buf_base_adrs_u[i]=0; | |
3017 } | |
3018 else | |
3019 { | |
23652
82443ed07f23
fix Radeon/Rage128 vidix with I420 colorspace (U/V were inverted)
ben
parents:
23167
diff
changeset
|
3020 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
|
3021 { |
82443ed07f23
fix Radeon/Rage128 vidix with I420 colorspace (U/V were inverted)
ben
parents:
23167
diff
changeset
|
3022 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
|
3023 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
|
3024 } |
82443ed07f23
fix Radeon/Rage128 vidix with I420 colorspace (U/V were inverted)
ben
parents:
23167
diff
changeset
|
3025 else |
82443ed07f23
fix Radeon/Rage128 vidix with I420 colorspace (U/V were inverted)
ben
parents:
23167
diff
changeset
|
3026 { |
82443ed07f23
fix Radeon/Rage128 vidix with I420 colorspace (U/V were inverted)
ben
parents:
23167
diff
changeset
|
3027 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
|
3028 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
|
3029 } |
22850 | 3030 } |
3031 } | |
3032 config->offset.y = ((besr.vid_buf_base_adrs_y[0])&VIF_BUF0_BASE_ADRS_MASK) - radeon_overlay_off; | |
3033 if(is_400) | |
3034 { | |
3035 config->offset.v = 0; | |
3036 config->offset.u = 0; | |
3037 } | |
3038 else | |
3039 { | |
3040 config->offset.v = ((besr.vid_buf_base_adrs_v[0])&VIF_BUF1_BASE_ADRS_MASK) - radeon_overlay_off; | |
3041 config->offset.u = ((besr.vid_buf_base_adrs_u[0])&VIF_BUF2_BASE_ADRS_MASK) - radeon_overlay_off; | |
3042 } | |
3043 } | |
3044 else | |
3045 { | |
3046 config->offset.y = config->offset.u = config->offset.v = ((left & ~7) << 1)&VIF_BUF0_BASE_ADRS_MASK; | |
3047 for(i=0;i<besr.vid_nbufs;i++) | |
3048 { | |
3049 besr.vid_buf_base_adrs_y[i] = | |
3050 besr.vid_buf_base_adrs_u[i] = | |
3051 besr.vid_buf_base_adrs_v[i] = radeon_overlay_off + config->offsets[i] + config->offset.y; | |
3052 } | |
3053 } | |
3054 leftUV = (left >> (is_410?18:17)) & 15; | |
3055 left = (left >> 16) & 15; | |
3056 besr.y_x_start = (config->dest.x+X_ADJUST) | (config->dest.y << 16); | |
3057 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
|
3058 ComputeBorders(config,VertUVSubSample); |
22850 | 3059 besr.vid_buf_pitch0_value = pitch; |
3060 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
|
3061 /* ********************************************************* */ |
7d693457f85e
updated the ati vidix driver 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 /* ** 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
|
3063 /* ********************************************************* */ |
7d693457f85e
updated the ati vidix driver 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 |
7d693457f85e
updated the ati vidix driver 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 /* 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
|
3066 /* 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
|
3067 if(H_scale_ratio > MinHScaleHard) besr.filter_cntl |= FILTER_HARDCODED_COEF; |
22850 | 3068 else |
3069 { | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3070 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
|
3071 /* 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
|
3072 /* 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
|
3073 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
|
3074 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
|
3075 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
|
3076 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
|
3077 besr.filter_cntl |= FILTER_HARD_SCALE_VERT_UV; |
22850 | 3078 } |
3079 return 0; | |
3080 } | |
3081 | |
3082 static void radeon_compute_framesize(vidix_playback_t *info) | |
3083 { | |
3084 unsigned pitch,awidth,dbpp; | |
3085 pitch = radeon_query_pitch(info->fourcc,&info->src.pitch); | |
3086 dbpp = radeon_vid_get_dbpp(); | |
3087 switch(info->fourcc) | |
3088 { | |
23044
7d693457f85e
updated the ati vidix driver 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 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
|
3090 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
|
3091 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
|
3092 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
|
3093 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
|
3094 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
|
3095 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
|
3096 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
|
3097 break; |
22850 | 3098 case IMGFMT_I420: |
3099 case IMGFMT_YV12: | |
3100 case IMGFMT_IYUV: | |
3101 awidth = (info->src.w + (pitch-1)) & ~(pitch-1); | |
3102 info->frame_size = awidth*(info->src.h+info->src.h/2); | |
3103 break; | |
3104 case IMGFMT_RGB32: | |
3105 case IMGFMT_BGR32: | |
3106 awidth = (info->src.w*4 + (pitch-1)) & ~(pitch-1); | |
3107 info->frame_size = awidth*info->src.h; | |
3108 break; | |
3109 /* YUY2 YVYU, RGB15, RGB16 */ | |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
27377
diff
changeset
|
3110 default: |
22850 | 3111 awidth = (info->src.w*2 + (pitch-1)) & ~(pitch-1); |
3112 info->frame_size = awidth*info->src.h; | |
3113 break; | |
3114 } | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3115 info->frame_size = (info->frame_size+4095)&~4095; |
22850 | 3116 } |
3117 | |
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
|
3118 static int radeon_config_playback(vidix_playback_t *info) |
22850 | 3119 { |
3120 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
|
3121 uint32_t radeon_video_size; |
22850 | 3122 if(!is_supported_fourcc(info->fourcc)) return ENOSYS; |
3123 if(info->num_frames>VID_PLAY_MAXFRAMES) info->num_frames=VID_PLAY_MAXFRAMES; | |
3124 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
|
3125 else besr.double_buff=1; |
22850 | 3126 radeon_compute_framesize(info); |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
27377
diff
changeset
|
3127 |
22850 | 3128 rgb_size = radeon_get_xres()*radeon_get_yres()*((radeon_vid_get_dbpp()+7)/8); |
3129 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
|
3130 radeon_video_size = radeon_ram_size; |
22850 | 3131 for(;nfr>0; nfr--) |
3132 { | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3133 radeon_overlay_off = radeon_video_size - info->frame_size*nfr; |
27377
d58d06eafe83
Change a bunch of X11-specific preprocessor directives.
diego
parents:
27079
diff
changeset
|
3134 #if !defined (RAGE128) && defined(CONFIG_X11) |
22850 | 3135 radeon_overlay_off -= firegl_shift; |
3136 #endif | |
3137 radeon_overlay_off &= 0xffff0000; | |
3138 if(radeon_overlay_off >= (int)rgb_size ) break; | |
3139 } | |
3140 if(nfr <= 3) | |
3141 { | |
3142 nfr = info->num_frames; | |
3143 for(;nfr>0; nfr--) | |
3144 { | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3145 radeon_overlay_off = radeon_video_size - info->frame_size*nfr; |
27377
d58d06eafe83
Change a bunch of X11-specific preprocessor directives.
diego
parents:
27079
diff
changeset
|
3146 #if !defined (RAGE128) && defined(CONFIG_X11) |
22850 | 3147 radeon_overlay_off -= firegl_shift; |
3148 #endif | |
3149 radeon_overlay_off &= 0xffff0000; | |
3150 if(radeon_overlay_off > 0) break; | |
3151 } | |
3152 } | |
3153 if(nfr <= 0) return EINVAL; | |
3154 info->num_frames = nfr; | |
3155 besr.vid_nbufs = info->num_frames; | |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
27377
diff
changeset
|
3156 info->dga_addr = (char *)radeon_mem_base + radeon_overlay_off; |
22850 | 3157 radeon_vid_init_video(info); |
3158 return 0; | |
3159 } | |
3160 | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3161 static int radeon_playback_on(void) |
22850 | 3162 { |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3163 #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
|
3164 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
|
3165 #endif |
22850 | 3166 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
|
3167 #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
|
3168 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
|
3169 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
|
3170 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
|
3171 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
|
3172 #endif |
22850 | 3173 return 0; |
3174 } | |
3175 | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3176 static int radeon_playback_off(void) |
22850 | 3177 { |
3178 radeon_vid_stop_video(); | |
3179 return 0; | |
3180 } | |
3181 | |
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
|
3182 static int radeon_frame_select(unsigned frame) |
22850 | 3183 { |
3184 uint32_t off[6]; | |
3185 int prev_frame= (frame-1+besr.vid_nbufs) % besr.vid_nbufs; | |
32579
b25a7879b23c
Add horrible hack to make xvidix work on big-endian.
reimar
parents:
32578
diff
changeset
|
3186 // This really only needs to be set during data writes, |
b25a7879b23c
Add horrible hack to make xvidix work on big-endian.
reimar
parents:
32578
diff
changeset
|
3187 // however we don't have a hook there. |
b25a7879b23c
Add horrible hack to make xvidix work on big-endian.
reimar
parents:
32578
diff
changeset
|
3188 // The setup at startup is not enough since X11 regularly |
b25a7879b23c
Add horrible hack to make xvidix work on big-endian.
reimar
parents:
32578
diff
changeset
|
3189 // resets this to values to the wrong values for us. |
b25a7879b23c
Add horrible hack to make xvidix work on big-endian.
reimar
parents:
32578
diff
changeset
|
3190 clear_swap(); |
22850 | 3191 /* |
3192 buf3-5 always should point onto second buffer for better | |
3193 deinterlacing and TV-in | |
3194 */ | |
3195 if(!besr.double_buff) return 0; | |
3196 if(frame > besr.vid_nbufs) frame = besr.vid_nbufs-1; | |
3197 if(prev_frame > (int)besr.vid_nbufs) prev_frame = besr.vid_nbufs-1; | |
3198 off[0] = besr.vid_buf_base_adrs_y[frame]; | |
3199 off[1] = besr.vid_buf_base_adrs_v[frame]; | |
3200 off[2] = besr.vid_buf_base_adrs_u[frame]; | |
3201 off[3] = besr.vid_buf_base_adrs_y[prev_frame]; | |
3202 off[4] = besr.vid_buf_base_adrs_v[prev_frame]; | |
3203 off[5] = besr.vid_buf_base_adrs_u[prev_frame]; | |
3204 radeon_fifo_wait(8); | |
3205 OUTREG(OV0_REG_LOAD_CNTL, REG_LD_CTL_LOCK); | |
3206 radeon_engine_idle(); | |
3207 while(!(INREG(OV0_REG_LOAD_CNTL)®_LD_CTL_LOCK_READBACK)); | |
3208 OUTREG(OV0_VID_BUF0_BASE_ADRS, off[0]); | |
3209 OUTREG(OV0_VID_BUF1_BASE_ADRS, off[1]); | |
3210 OUTREG(OV0_VID_BUF2_BASE_ADRS, off[2]); | |
3211 OUTREG(OV0_VID_BUF3_BASE_ADRS, off[3]); | |
3212 OUTREG(OV0_VID_BUF4_BASE_ADRS, off[4]); | |
3213 OUTREG(OV0_VID_BUF5_BASE_ADRS, off[5]); | |
3214 OUTREG(OV0_REG_LOAD_CNTL, 0); | |
3215 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
|
3216 if(verbosity > VERBOSE_LEVEL) radeon_vid_dump_regs(); |
22850 | 3217 return 0; |
3218 } | |
3219 | |
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
|
3220 static vidix_video_eq_t equal = |
22850 | 3221 { |
3222 VEQ_CAP_BRIGHTNESS | VEQ_CAP_SATURATION | |
3223 #ifndef RAGE128 | |
3224 | VEQ_CAP_CONTRAST | VEQ_CAP_HUE | VEQ_CAP_RGB_INTENSITY | |
3225 #endif | |
3226 , | |
3227 0, 0, 0, 0, 0, 0, 0, 0 }; | |
3228 | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3229 static int radeon_get_eq(vidix_video_eq_t * eq) |
22850 | 3230 { |
3231 memcpy(eq,&equal,sizeof(vidix_video_eq_t)); | |
3232 return 0; | |
3233 } | |
3234 | |
3235 #ifndef RAGE128 | |
3236 #define RTFSaturation(a) (1.0 + ((a)*1.0)/1000.0) | |
3237 #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
|
3238 #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
|
3239 #define RTFContrast(a) (1.0 + ((a)*1.0)/1000.0) |
22850 | 3240 #define RTFHue(a) (((a)*3.1416)/1000.0) |
3241 #define RTFCheckParam(a) {if((a)<-1000) (a)=-1000; if((a)>1000) (a)=1000;} | |
3242 #endif | |
3243 | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3244 static int radeon_set_eq(const vidix_video_eq_t * eq) |
22850 | 3245 { |
3246 #ifdef RAGE128 | |
3247 int br,sat; | |
3248 #else | |
3249 int itu_space; | |
3250 #endif | |
3251 if(eq->cap & VEQ_CAP_BRIGHTNESS) equal.brightness = eq->brightness; | |
3252 if(eq->cap & VEQ_CAP_CONTRAST) equal.contrast = eq->contrast; | |
3253 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
|
3254 if(eq->cap & VEQ_CAP_HUE) equal.hue = eq->hue; |
22850 | 3255 if(eq->cap & VEQ_CAP_RGB_INTENSITY) |
3256 { | |
3257 equal.red_intensity = eq->red_intensity; | |
3258 equal.green_intensity = eq->green_intensity; | |
3259 equal.blue_intensity = eq->blue_intensity; | |
3260 } | |
3261 equal.flags = eq->flags; | |
3262 #ifdef RAGE128 | |
3263 br = equal.brightness * 64 / 1000; | |
3264 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
|
3265 sat = (equal.saturation*31 + 31000) / 2000; |
22850 | 3266 if(sat < 0) sat = 0; if(sat > 31) sat = 31; |
3267 OUTREG(OV0_COLOUR_CNTL, (br & 0x7f) | (sat << 8) | (sat << 16)); | |
3268 #else | |
3269 itu_space = equal.flags == VEQ_FLG_ITU_R_BT_709 ? 1 : 0; | |
3270 RTFCheckParam(equal.brightness); | |
3271 RTFCheckParam(equal.saturation); | |
3272 RTFCheckParam(equal.contrast); | |
3273 RTFCheckParam(equal.hue); | |
3274 RTFCheckParam(equal.red_intensity); | |
3275 RTFCheckParam(equal.green_intensity); | |
3276 RTFCheckParam(equal.blue_intensity); | |
3277 radeon_set_transform(RTFBrightness(equal.brightness), | |
3278 RTFContrast(equal.contrast), | |
3279 RTFSaturation(equal.saturation), | |
3280 RTFHue(equal.hue), | |
3281 RTFIntensity(equal.red_intensity), | |
3282 RTFIntensity(equal.green_intensity), | |
3283 RTFIntensity(equal.blue_intensity), | |
3284 itu_space); | |
3285 #endif | |
3286 return 0; | |
3287 } | |
3288 | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3289 static int radeon_playback_set_deint(const vidix_deinterlace_t * info) |
22850 | 3290 { |
3291 unsigned sflg; | |
3292 switch(info->flags) | |
3293 { | |
3294 default: | |
3295 case CFG_NON_INTERLACED: | |
3296 besr.deinterlace_on = 0; | |
3297 break; | |
3298 case CFG_EVEN_ODD_INTERLACING: | |
3299 case CFG_INTERLACED: | |
3300 besr.deinterlace_on = 1; | |
3301 besr.deinterlace_pattern = 0x900AAAAA; | |
3302 break; | |
3303 case CFG_ODD_EVEN_INTERLACING: | |
3304 besr.deinterlace_on = 1; | |
3305 besr.deinterlace_pattern = 0x00055555; | |
3306 break; | |
3307 case CFG_UNIQUE_INTERLACING: | |
3308 besr.deinterlace_on = 1; | |
3309 besr.deinterlace_pattern = info->deinterlace_pattern; | |
3310 break; | |
3311 } | |
3312 OUTREG(OV0_REG_LOAD_CNTL, REG_LD_CTL_LOCK); | |
3313 radeon_engine_idle(); | |
3314 while(!(INREG(OV0_REG_LOAD_CNTL)®_LD_CTL_LOCK_READBACK)); | |
3315 radeon_fifo_wait(15); | |
3316 sflg = INREG(OV0_SCALE_CNTL); | |
3317 if(besr.deinterlace_on) | |
3318 { | |
3319 OUTREG(OV0_SCALE_CNTL,sflg | SCALER_ADAPTIVE_DEINT); | |
3320 OUTREG(OV0_DEINTERLACE_PATTERN,besr.deinterlace_pattern); | |
3321 } | |
3322 else OUTREG(OV0_SCALE_CNTL,sflg & (~SCALER_ADAPTIVE_DEINT)); | |
3323 OUTREG(OV0_REG_LOAD_CNTL, 0); | |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
27377
diff
changeset
|
3324 return 0; |
22850 | 3325 } |
3326 | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3327 static int radeon_playback_get_deint(vidix_deinterlace_t * info) |
22850 | 3328 { |
3329 if(!besr.deinterlace_on) info->flags = CFG_NON_INTERLACED; | |
3330 else | |
3331 { | |
3332 info->flags = CFG_UNIQUE_INTERLACING; | |
3333 info->deinterlace_pattern = besr.deinterlace_pattern; | |
3334 } | |
3335 return 0; | |
3336 } | |
3337 | |
3338 | |
3339 /* Graphic keys */ | |
3340 static vidix_grkey_t radeon_grkey; | |
3341 | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3342 static int set_gr_key( void ) |
22850 | 3343 { |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3344 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
|
3345 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3346 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
|
3347 0x00ff0000; /* graphic alpha */ |
22850 | 3348 if(radeon_grkey.ckey.op == CKEY_TRUE) |
3349 { | |
3350 int dbpp=radeon_vid_get_dbpp(); | |
3351 besr.ckey_on=1; | |
3352 | |
3353 switch(dbpp) | |
3354 { | |
3355 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
|
3356 #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
|
3357 if((besr.chip_flags&R_100)!=R_100) |
22850 | 3358 besr.graphics_key_clr= |
3359 ((radeon_grkey.ckey.blue &0xF8)) | |
3360 | ((radeon_grkey.ckey.green&0xF8)<<8) | |
3361 | ((radeon_grkey.ckey.red &0xF8)<<16); | |
3362 else | |
3363 #endif | |
3364 besr.graphics_key_clr= | |
3365 ((radeon_grkey.ckey.blue &0xF8)>>3) | |
3366 | ((radeon_grkey.ckey.green&0xF8)<<2) | |
3367 | ((radeon_grkey.ckey.red &0xF8)<<7); | |
3368 break; | |
3369 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
|
3370 #ifndef RAGE128 |
22850 | 3371 /* 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
|
3372 if((besr.chip_flags&R_100)!=R_100) |
22850 | 3373 besr.graphics_key_clr= |
3374 ((radeon_grkey.ckey.blue &0xF8)) | |
3375 | ((radeon_grkey.ckey.green&0xFC)<<8) | |
3376 | ((radeon_grkey.ckey.red &0xF8)<<16); | |
3377 else | |
3378 #endif | |
3379 besr.graphics_key_clr= | |
3380 ((radeon_grkey.ckey.blue &0xF8)>>3) | |
3381 | ((radeon_grkey.ckey.green&0xFC)<<3) | |
3382 | ((radeon_grkey.ckey.red &0xF8)<<8); | |
3383 break; | |
3384 case 24: | |
3385 case 32: | |
3386 besr.graphics_key_clr= | |
3387 ((radeon_grkey.ckey.blue &0xFF)) | |
3388 | ((radeon_grkey.ckey.green&0xFF)<<8) | |
3389 | ((radeon_grkey.ckey.red &0xFF)<<16); | |
3390 break; | |
3391 default: | |
3392 besr.ckey_on=0; | |
3393 besr.graphics_key_msk=0; | |
3394 besr.graphics_key_clr=0; | |
3395 } | |
3396 #ifdef RAGE128 | |
3397 besr.graphics_key_msk=(1<<dbpp)-1; | |
3398 besr.ckey_cntl = VIDEO_KEY_FN_TRUE|GRAPHIC_KEY_FN_NE|CMP_MIX_AND; | |
3399 #else | |
3400 besr.graphics_key_msk=besr.graphics_key_clr; | |
3401 besr.ckey_cntl = VIDEO_KEY_FN_TRUE|CMP_MIX_AND|GRAPHIC_KEY_FN_EQ; | |
3402 #endif | |
3403 } | |
23044
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3404 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
|
3405 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3406 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
|
3407 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
|
3408 |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3409 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
|
3410 { |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3411 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
|
3412 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
|
3413 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
|
3414 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
|
3415 besr.ckey_cntl = VIDEO_KEY_FN_TRUE|GRAPHIC_KEY_FN_TRUE|CMP_MIX_AND; |
25366 | 3416 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
|
3417 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
|
3418 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
|
3419 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
|
3420 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
|
3421 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
|
3422 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
|
3423 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
|
3424 } |
7d693457f85e
updated the ati vidix driver with the one from upstream vidix, it now supports much more GPUs (including all Radeon > 9600 and X series)
ben
parents:
22905
diff
changeset
|
3425 } |
22850 | 3426 else |
3427 { | |
3428 besr.ckey_on=0; | |
3429 besr.graphics_key_msk=0; | |
3430 besr.graphics_key_clr=0; | |
3431 besr.ckey_cntl = VIDEO_KEY_FN_TRUE|GRAPHIC_KEY_FN_TRUE|CMP_MIX_AND; | |
25415 | 3432 besr.merge_cntl |= 0x00000100; /* DISP_RGB_OFFSET_EN */ |
22850 | 3433 } |
3434 radeon_fifo_wait(3); | |
3435 OUTREG(OV0_GRAPHICS_KEY_MSK, besr.graphics_key_msk); | |
3436 OUTREG(OV0_GRAPHICS_KEY_CLR, besr.graphics_key_clr); | |
3437 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
|
3438 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
|
3439 return result; |
22850 | 3440 } |
3441 | |
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
|
3442 static int radeon_get_gkey(vidix_grkey_t *grkey) |
22850 | 3443 { |
3444 memcpy(grkey, &radeon_grkey, sizeof(vidix_grkey_t)); | |
26753
502f04b67653
cosmetics: Remove useless parentheses from return statements.
diego
parents:
26714
diff
changeset
|
3445 return 0; |
22850 | 3446 } |
3447 | |
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
|
3448 static int radeon_set_gkey(const vidix_grkey_t *grkey) |
22850 | 3449 { |
3450 memcpy(&radeon_grkey, grkey, sizeof(vidix_grkey_t)); | |
26753
502f04b67653
cosmetics: Remove useless parentheses from return statements.
diego
parents:
26714
diff
changeset
|
3451 return set_gr_key(); |
22850 | 3452 } |
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
|
3453 |
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
|
3454 #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
|
3455 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
|
3456 "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
|
3457 #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
|
3458 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
|
3459 "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
|
3460 #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
|
3461 NULL, |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
27377
diff
changeset
|
3462 |
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
|
3463 .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
|
3464 .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
|
3465 .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
|
3466 .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
|
3467 .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
|
3468 .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
|
3469 .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
|
3470 .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
|
3471 .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
|
3472 .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
|
3473 .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
|
3474 .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
|
3475 .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
|
3476 .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
|
3477 .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
|
3478 }; |