summaryrefslogtreecommitdiff
path: root/RadeonFeature.mdwn
blob: 235f139b69f697a4f65d91917e65520fa82a0c54 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
[[!toc ]]


## Feature Matrix for Free Radeon Drivers

**This page is only for free Radeon drivers using KMS.
 [[radeon|radeon]] (xf86-video-ati) for 2D; radeon, r200 Mesa and r300, r600, radeonsi Gallium drivers only.
 THIS PAGE IS NOT FOR [[FGLRX/CATALYST|ATIProprietaryDriver]] DRIVERS PROVIDED BY AMD/ATI.**

**See [[RadeonFeatureUMS|RadeonFeatureUMS]] for radeon in UMS.**

**See [[radeonhd:feature|radeonhd:feature]] for radeonhd.**

Also check out the [[GalliumStatus|GalliumStatus]] and [[ATIRadeon|http://dri.freedesktop.org/wiki/ATIRadeon]] at DRI wiki.

* "**DONE**" means that it is implemented and relatively bug-free.
* "**MOSTLY**" means that it is implemented but has some known bugs.
* "**WIP**" means that someone has started on the initial implementation.
* "**BIOS**" means only if supported by your BIOS. No software support. Yet.
* "**N/A**" means that the feature is not supported by the hardware.
* "**N/N**" means that the feature will not be implemented, because a better alternative is or will be available.
* "**TODO**" means that someone needs to write the code. The required knowledge to write the code may or may not be known. Please ask on #radeon if you want to get your feet wet on this.
* "**UNKNOWN**" means that the current status of this item isn't known. You are free to update it if you know.

[[!table header="no" class="ColorTable" data="""
**2D features** || | **R100**  | **R200**  | **R300/R400**  | **R500**  | **R600/700**  | **Evergreen**  | **N.Islands**  | **S.Islands**[<sup>1</sup>](#note_1) | **C.Islands** | **V.Islands**  | **A.Islands**  
Kernel Driver || | radeon  | radeon  | radeon  | radeon  | radeon  | radeon  | radeon  | radeon  | radeon | amdgpu | amdgpu
Kernel Modesetting || | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]
Max Supported Displays (Eyefinity)[<sup>2</sup>](#note_2) || | 1-2  | 2  | 2  | 2  | 2  | 2-6  | 4-6  | 2-6  | 2-6  | 2-6  | 4-6
XRandR 1.2 || | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]
DRI2 || | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]
Page Flipping || | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]
ShadowFB || | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]
2D Acceleration (EXA) || | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | N/A  | N/A | N/A | N/A
2D Acceleration ([[Glamor|http://www.freedesktop.org/wiki/Software/Glamor]])[<sup>3</sup>](#note_3) || | N/A  | N/A  | N/A  | N/A  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]
Textured Xv || | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[Glamor|http://www.freedesktop.org/wiki/Software/Glamor]]  | [[Glamor|http://www.freedesktop.org/wiki/Software/Glamor]]  | [[Glamor|http://www.freedesktop.org/wiki/Software/Glamor]]  | [[Glamor|http://www.freedesktop.org/wiki/Software/Glamor]]
Video Decode (VDPAU/OpenMax/VAAPI) on UVD || | N/A  | N/A  | N/A  | N/A  | [[!color background=palegreen text="DONE  [<sup>4</sup>](#note_4)"]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]
Video encode (OpenMax/VAAPI) on VCE || | N/A  | N/A  | N/A  | N/A  | N/A  | N/A  | [[!color background=palegreen text="DONE [<sup>35</sup>](#note_35)"]] | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]
Hybrid Graphics/PowerXpress/Enduro[<sup>5</sup>](#note_5) || | N/A  | N/A  | N/A  | N/A  | [[!color background=yellow text=MOSTLY ]]  | [[!color background=yellow text=MOSTLY ]]  | [[!color background=yellow text=MOSTLY ]]  | [[!color background=yellow text=MOSTLY ]]  | [[!color background=yellow text=MOSTLY ]]  | [[!color background=yellow text=MOSTLY ]]  | [[!color background=yellow text=MOSTLY ]]
**Mesa 3D features** || | **R100**  | **R200**  | **R300/R400**  | **R500**  | **R600/700**  | **Evergreen**  | **N.Islands**  | **S.Islands**[<sup>1</sup>](#note_1)  | **C.Islands**  | **V.Islands**  | **A.Islands**
3D Driver || | radeon  | r200  | r300g  | r300g  | r600g  | r600g  | r600g  | radeonsi  | radeonsi  | radeonsi  | radeonsi
Primitives || | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]
Stippled Primitives || | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=red text=TODO ]]  | [[!color background=red text=TODO ]]  | [[!color background=red text=TODO ]]  | [[!color background=red text=TODO ]]  | [[!color background=red text=TODO ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]
Smooth Primitives || | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=red text=TODO ]]  | [[!color background=red text=TODO ]]  | [[!color background=red text=TODO ]]  | [[!color background=red text=TODO ]]  | [[!color background=red text=TODO ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]
Textures || | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]
Hardware TCL || | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]
Vertex Shaders || | N/A  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]
Fragment (Pixel) Shaders || | N/A  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]
GLSL || | N/A  | N/A  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]
Color Buffer Tiling || | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text="DONE  [<sup>7</sup>](#note_7)"]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]
Texture Tiling || | [[!color background=red text=TODO ]]  | [[!color background=red text=TODO ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text="DONE  [<sup>7</sup>](#note_7)"]] | [[!color background=palegreen text="DONE  [<sup>7</sup>](#note_7)"]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]
S3TC decompression <br /> <small>(via env variable / drirc)</small> || | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text="DONE  [<sup>7</sup>](#note_7)"]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]
full S3TC <br /> <small>(via libtxc_dxtn.so)</small> || | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text="DONE  [<sup>7</sup>](#note_7)"]] | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]
Geometry Shaders || | N/A  | N/A  | N/A  | N/A  | [[!color background=palegreen text="DONE  [<sup>17</sup>](#note_17)"]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]
Tessellation Shader Stages || | N/A  | N/A  | N/A  | N/A  | N/A  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]
Compute Shaders || | N/A  | N/A  | N/A  | N/A  | N/A  | [[!color background=red text=TODO ]]  | [[!color background=red text=TODO ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]
Anti-Aliasing (MSAA) || | N/A  | N/A  | [[!color background=palegreen text="DONE"]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text="DONE  [<sup>12</sup>](#note_12)"]]  | [[!color background=palegreen text="DONE  [<sup>12</sup>](#note_12)"]]  | [[!color background=palegreen text="DONE  [<sup>12</sup>](#note_12)"]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]
Anti-Aliasing (MLAA) || | N/A  | N/A  | N/A  | <a href="http://candgsoc.host56.com/">[[!color background=yellow text=MOSTLY ]]</a>  | <a href="http://candgsoc.host56.com/">[[!color background=palegreen text=DONE ]]</a> | <a href="http://candgsoc.host56.com/">[[!color background=palegreen text=DONE ]]</a> | [[not tested|http://candgsoc.host56.com/]]  | [[not tested|http://candgsoc.host56.com/]]  | [[not tested|http://candgsoc.host56.com/]]  | [[not tested|http://candgsoc.host56.com/]]  | [[not tested|http://candgsoc.host56.com/]]
Anisotropic Filtering || | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]
Hyper-Z || | [[!color background=orange text=WIP ]]  | [[!color background=red text=TODO ]]  | [[!color background=yellow text="MOSTLY [<sup>14</sup>](#note_14)"]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text="DONE[<sup>15</sup>](#note_15)"]]  | [[!color background=palegreen text="DONE[<sup>15</sup>](#note_15)"]]  | [[!color background=palegreen text="DONE[<sup>15</sup>](#note_15)"]]  | [[!color background=palegreen text="DONE[<sup>15</sup>](#note_15)"]]  | [[!color background=palegreen text="DONE[<sup>15</sup>](#note_15)"]]  | [[!color background=palegreen text="DONE[<sup>15</sup>](#note_15)"]]  | [[!color background=palegreen text="DONE[<sup>15</sup>](#note_15)"]]
OpenGL Compliance (Driver/Hardware) || | 1.3/1.3  | 1.3/1.4  | 2.1/2.1[<sup>16</sup>](#note_16)  | 2.1/2.1[<sup>16</sup>](#note_16)  | 3.3/3.3[<sup>17</sup>](#note_17)  | 4.1/4.5[<sup>19</sup>](#note_19)  | 4.1/4.5[<sup>19</sup>](#note_19)  | 4.5/4.5[<sup>18</sup>](#note_18)  | 4.5/4.5[<sup>20</sup>](#note_20)  | 4.5/4.5 [<sup>20</sup>](#note_20)  | 4.5/4.5 [<sup>20</sup>](#note_20)
**Output** || | **R100**  | **R200**  | **R300/R400**  | **R500**  | **R600/700**  | **Evergreen**  | **N.Islands**  | **S.Islands**[<sup>1</sup>](#note_1)  | **C.Islands**  | **V.Islands**  | **A.Islands**
TMDS (DL-DVI, SL-DVI, HDMI) || | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text="DONE (DAL)" ]]
LVDS || | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  |  N/A
VGA || | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | N/A
TV Out || | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text="DONE [<sup>36</sup>](#note_36)" ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | N/A  | N/A  | N/A | N/A | N/A
DisplayPort || | N/A  | N/A  | N/A  | N/A  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text="DONE (DAL)" ]]
eDP || | N/A  | N/A  | N/A  | N/A  | N/A  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text="DONE (DAL)" ]]
HDMI Audio[<sup>22</sup>](#note_22) || | N/A  | N/A  | N/A  | N/A  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text="DONE  [<sup>23</sup>](#note_23)"]]  | [[!color background=palegreen text="DONE  [<sup>24</sup>](#note_24)"]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text="DONE (DAL)" ]]  | [[!color background=palegreen text="DONE (DAL)" ]]
DP Audio || | N/A  | N/A  | N/A  | N/A  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE  ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text="DONE (DAL)" ]]  | [[!color background=palegreen text="DONE (DAL)" ]]
**Power Saving** || | **R100**  | **R200**  | **R300/R400**  | **R500**  | **R600/700**  | **Evergreen**  | **N.Islands**  | **S.Islands**[<sup>1</sup>](#note_1)  | **C.Islands**  | **V.Islands**  | **A.Islands**
Engine reclocking || | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]
Memory reclocking || | [[!color background=red text=TODO ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=red text=TODO ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]
Voltage adjusting || | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]
Thermal sensors || | N/A  | N/A  | [[!color background=palegreen text="DONE  [<sup>26</sup>](#note_26)"]]  | [[!color background=palegreen text="DONE  [<sup>26</sup>](#note_26)"]]  | [[!color background=palegreen text="DONE  [<sup>28</sup>](#note_28)"]]  | [[!color background=palegreen text="DONE  [<sup>28</sup>](#note_28)"]]  | [[!color background=palegreen text="DONE  [<sup>28</sup>](#note_28)"]]  | [[!color background=palegreen text="DONE  [<sup>28</sup>](#note_28)"]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]
Dynamic Power Management (DPM) || | N/A  | N/A  | N/A  | N/A  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]
**Other** || | **R100**  | **R200**  | **R300/R400**  | **R500**  | **R600/700**  | **Evergreen**  | **N.Islands**  | **S.Islands**[<sup>1</sup>](#note_1)  | **C.Islands**  | **V.Islands**  | **A.Islands**
Suspend Support || | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]
CrossFire (multi-card) || | N/A  | N/A  | N/A  | [[!color background=red text=TODO ]]  | [[!color background=red text=TODO ]]  | [[!color background=red text=TODO ]]  | [[!color background=red text=TODO ]]  | [[!color background=red text=TODO ]]  | [[!color background=red text=TODO ]]  | [[!color background=red text=TODO ]]  | [[!color background=red text=TODO ]]
Compute (OpenCL)[<sup>33</sup>](#note_33) || | N/A  | N/A  | N/A  | N/A  | [[!color background=red text=TODO ]]  | [[!color background=orange text=WIP ]]  | [[!color background=orange text=WIP ]]  | [[!color background=orange text=WIP ]]  | [[!color background=orange text=WIP ]]  | [[!color background=orange text=WIP ]]  | [[!color background=orange text=WIP ]]
Asynchronous DMA || | N/A  | N/A  | N/A  | N/A  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]  | [[!color background=palegreen text=DONE ]]
"""]]

## VSYNC

There are several mechanisms involved in tear-free rendering due to limitations in X.


### 3D driver environment variable

* vblank_mode - selects whether or not the 3D application should synchronize to vblank.

### DDX driver options

* EnablePageFlip - This option enables the use of pageflipping (switching the display controller's base address pointer) rather than blits for GL buffer swaps.  It only applies to fullscreen GL apps.  Pageflipping is always synced to vblank at the moment.
* SwapBuffersWait - This option prevents tearing for GL buffer swaps by waiting to update the front buffer until scanout has passed the area of the screen the GL buffer swap is going to blit to.
* EXAVSync - This option prevents tearing for EXA operations by waiting to update the front buffer until scanout has passed the area of the screen the EXA operation is going to render to.

### Xv Attribute

* XV_VSYNC - This option prevents tearing when playing back videos using Xv by waiting to update the video image until scanout has passed the area of the screen displaying the video.  It only prevents tearing if Xv is rendering directly to the front buffer.  If you are using a compositer, this does not prevent tearing because Xv is rendering to an offscreen buffer and the compositor copied it to the front buffer.

## KMS Power Management Options

Kernel 2.6.35 or newer is required.  The pm code supports three basic methods:

1. "dynpm"
1. "profile"
1. "dpm"

You can select the methods via sysfs.  Echo "dynpm" or "profile" to /sys/class/drm/card0/device/power_method. "dpm" support, must be selected at boot (via radeon.dpm=1) and is only supported on R6xx and newer asics.

Controlling the fan speed directly is not possible (and would be very dangerous), but it can be lowered by setting lower power profile.

The "dynpm" method dynamically changes the clocks based on the number of pending fences, so performance is ramped up when running GPU intensive apps, and ramped down when the GPU is idle.  The reclocking is attemped during vertical blanking periods, but due to the timing of the reclocking functions, doesn't not always complete in the blanking period, which can lead to flicker in the display.  Due to this, dynpm only works when a single head is active.

The "profile" method exposes five profiles that can be selected from:

1. "default"
1. "auto"
1. "low"
1. "mid"
1. "high"

Select the profile by echoing the selected profile to /sys/class/drm/card0/device/power_profile.

* "default" uses the default clocks and does not change the power state.  This is the default behavior.
* "auto" selects between "mid" and "high" power states based on the whether the system is on battery power or not.  The "low" power state are selected when the monitors are in the dpms off state.
* "low" forces the gpu to be in the low power state all the time.  Note that "low" can cause display problems on some laptops; this is why auto does not use "low" when displays are active.
* "mid" forces the gpu to be in the "mid" power state all the time.  The "low" power state is selected when the monitors are in the dpms off state.
* "high" forces the gpu to be in the "high" power state all the time.  The "low" power state is selected when the monitors are in the dpms off state.
The "profile" method is not as agressive as "dynpm," but is currently much more stable and flicker free and works with multiple heads active.

The "dpm" method uses hardware on the GPU to dynamically change the clocks and voltage based on GPU load.  It also enables clock and power gating.

Power management is supported on all asics (r1xx-evergreen) that include the appropriate power state tables in the vbios; not all boards do (especially older desktop cards). "dpm" is only supported on R6xx and newer asics.

Thermal sensors are implemented via external i2c chips or via the internal thermal sensor (rv6xx-evergreen only; supported in 2.6.36 or newer); not all OEMs implement a thermal sensor.  To get the temperature on asics that use i2c chips, you need to load the appropriate hwmon driver for the sensor used on your board (lm63, lm64, etc.).  The drm will attempt to load the appropriate hwmon driver.  On boards that use the internal thermal sensor, the drm will set up the hwmon interface automatically.  When the appropriate driver is loaded, the temperatures can be accessed via lm_sensors tools or via sysfs in /sys/class/hwmon.


## Linux kernel parameters

Try _modinfo -p radeon_ to find up-to-date parameters. To check default values look at drivers/gpu/drm/radeon/radeon_drv.c or drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c in Linux kernel source. To check current values look at _/sys/class/drm/card*/device/driver/module/holders/radeon/parameters/*_ or _/sys/class/drm/card*/device/driver/module/holders/amdgpu/parameters/*_


## Decoder ring for engineering vs marketing names

There are a lot of marketing names.  For an authoritative list of marketing to family relations, please
see [[this link|http://en.wikipedia.org/wiki/Ati_gpu]].

[[!table header="no" class="mointable" data="""
Family  | Engineering Names  | Marketing Names
R100  | R100, RV100, RV200, RS100, RS200  | 7xxx, 320-345
R200  | R200, RV250, RV280, RS300  | 8xxx - 9250
R300  | R300, R350, RV350, RV380, RS400, RS480  | 9500 - 9800, X300 - X600, X1050 - X1150, 200M
R400  | R420, R423, RV410, RS600, RS690, RS740  | X700 - X850, X12xx, 2100
R500  | RV515, R520, RV530, RV560, RV570, R580  | X1300 - X2300, HD2300
R600  | R600, RV610, RV630, RV620, RV635, RV670, RS780, RS880  | HD2400 - HD4290
R700  | RV770, RV730, RV710, RV740  | HD4330 - HD5165, HD5xxV
Evergreen  | CEDAR, REDWOOD, JUNIPER, CYPRESS, PALM (Wrestler/Ontario), SUMO (Llano), SUMO2 (Llano)  | HD5430 - HD5970, all HD6000 not listed under _Northern Islands_, HD7350
Northern Islands  | ARUBA (Trinity/Richland), BARTS, TURKS, CAICOS, CAYMAN  | HD6450, HD6570, HD6670, HD6790 - HD6990, HD64xxM, HD67xxM, HD69xxM, HD7450 - HD7670
Southern Islands  | CAPE VERDE, PITCAIRN, TAHITI, OLAND, HAINAN  | HD7750 - HD7970, R9 270, R9-280, R7 240, R7 250
Sea Islands  | BONAIRE, KABINI, MULLINS, KAVERI, HAWAII  | HD7790, R7 260, R9 290
Volcanic Islands  | TONGA, ICELAND/TOPAZ, CARRIZO, FIJI, STONEY, POLARIS10, POLARIS11, POLARIS12  | R9 285
"""]]


## Radeon Graphics/Compute Hardware
[[!table header="no" class="mointable" data="""
GFX Core  | Engineering Names  | Shader Model  | DX  | OpenGL  | Max Texture Size  | Max Renderbuffer Size
GFX1  | R100, RV100, RV200, RS100, RS200  | NA  | 7  | 1.3  | 2048  | 2048
GFX1  | R200, RV250, RV280, RS300  | 1  | 8  | 1.4  | 2048  | 2048
GFX2  | R300, R350, RV350, RV380, RS400, RS480  | 2  | 9  | 2.1  | 2048  | 2560
GFX2  | R420, R423, RV410, RS600, RS690, RS740  | 2  | 9  | 2.1  | 2048  | 4021
GFX2  | RV515, R520, RV530, RV560, RV570, R580  | 3  | 9  | 2.1  | 4096  | 4096
GFX3  | R600, RV610, RV630, RV620, RV635, RV670, RS780, RS880  | 4  | 10  | 3.3  | 8192  | 8192
GFX3  | RV770, RV730, RV710, RV740  | 4  | 10  | 3.3  | 8192  | 8192
GFX4  | CEDAR, REDWOOD, JUNIPER, CYPRESS, PALM (Wrestler/Ontario), SUMO (Llano), SUMO2 (Llano), BARTS, TURKS, CAICOS  | 5  | 11  | 4.x  | 16384  | 16384
GFX5  | CAYMAN, ARUBA (Trinity/Richland)  | 5  | 11  | 4.x  | 16384  | 16384
GFX6  | CAPE VERDE, PITCAIRN, TAHITI, OLAND, HAINAN  | 5  | 12  | 4.x  | 16384  | 16384
GFX7  | BONAIRE, KABINI, MULLINS, KAVERI, HAWAII  | 5  | 12  | 4.x  | 16384  | 16384
GFX8  | TONGA, ICELAND/TOPAZ, CARRIZO, FIJI, STONEY, POLARIS10, POLARIS11, POLARIS12  | 5  | 12  | 4.x  | 16384  | 16384
GFX9  | VEGA10, RAVEN  | 5  | 12  | 4.x  | 16384  | 16384
"""]]


## Radeon Display Hardware
[[!table header="no" class="mointable" data="""
Display Core  | Engineering Names  | Display Controllers | PLLs (DP & non-DP) | PLLs (DP-only)  | DACs  | TV Encoder  | DVO  | Digital  | Notes
Classic Radeon  | Rage128, R1xx-R4xx  | 1-2  | 1-2 | 0 | 1-2  | 0-1  | 1  | 2 (1 TMDS, 1 LVDS)  |
DCE1/Avivo  | R5xx  | 2 | 2 | 0 | 2  | 1  | 1  | 2 (1 TMDS, 1 LVDS/TMDS)  |
DCE2  | R600, RV610, RV630, RV670, RS600, RS690, RS740  | 2 | 2 | 0 | 2 (R600, RV610, RV630, RV670), 1 (RS600, RS690, RS740)  | 1  | 1  | 2 (1 TMDS, 1 LVDS/TMDS)  | Adds HDMI 1.2 Support
DCE3  | RV620, RV635, RS780, RS880  | 2 | 2 | 0 | 2 (RV620, RV635), 1 (RS780, RS880)  | 1  | 1  | 3 (LVDS/TMDS/DP)  | Adds support for [[DisplayPort|DisplayPort]], HDMI 1.3 Support
DCE3.1  | RV770  | 2 | 2 | 0 | 2  | 1  | 1  | 3 (LVDS/TMDS/DP)  |
DCE3.2  | RV710, RV730, RV740  | 2 | 2 | 0 | 2  | 1  | 1  | 5 (LVDS/TMDS/DP)  | Adds support for up to 5 digital outputs
DCE4  | CEDAR, REDWOOD, JUNIPER, CYPRESS  | 4-6 | 2 | 0-1 | 2  | 1  | 1  | 6 (LVDS/TMDS/DP)  | Adds support for up to 6 independant displays (max of 2 non-DisplayPort displays with independent timing)
DCE4.1  | PALM (Wrestler/Ontario), SUMO (Llano), SUMO2 (Llano)  | 2 | 2 | 0 | 1 (PALM), 0 (SUMO, SUMO2)  | 1  | 1  | 6 (LVDS/TMDS/DP)  | VGA and LVDS are implemented via DP bridge chips
DCE5  | BARTS, TURKS, CAICOS, CAYMAN  | 4-6 | 2 | 1 | 1  | 0  | 1  | 6 (LVDS/TMDS/DP)  | Adds improved gamma correction, HDMI 1.4 support, [[DisplayPort|DisplayPort]] 1.2 support
DCE6  | CAPE VERDE, PITCAIRN, TAHITI  | 6 | 2 | 1 | 1  | 0  | 1  | 6 (LVDS/TMDS/DP)  | HDMI 4K modes
DCE6.1  | ARUBA (Trinity/Richland)  | 4 | 2 | 0 | 0  | 0  | 1  | 6 (TMDS/DP)  | VGA and LVDS are implemented via DP bridge chips
DCE6.4  | OLAND  | 2 | 2 | 1 | 1  | 0  | 1  | 2 (TMDS/DP)  |
DCE8.1  | KAVERI  | 4 | 3 | 0 | 0  | 0  | 0  | 7 (TMDS/DP)  | VGA and LVDS are implemented via DP bridge chips
DCE8.2  | BONAIRE  | 6 | 3 | 0 | 1  | 0  | 1  | 6 (LVDS/TMDS/DP)  |
DCE8.3  | KABINI, MULLINS  | 2 | 2 | 1 | 1  | 0  | 0  | 2 (LVDS/TMDS/DP)  |
DCE8.5  | HAWAII  | 6 | 3 | 0 | 0  | 0  | 1  | 6 (TMDS/DP)  |
DCE10  | TONGA, FIJI  | 6 | 3 | 0 | 0 (FIJI), 1 (TONGA) | 0  | 1  | 6 (TMDS/DP)  |
DCE11  | CARRIZO, STONEY  | 2-3 | 2 | 0 | 0  | 0  | 0  | 7 (TMDS/DP)  | VGA and LVDS are implemented via DP bridge chips
DCE11.2  | POLARIS10, POLARIS11, POLARIS12  | 5-6 | 5-6 | 1 | 0  | 0  | 0  | 6 (TMDS/DP)  | 
DCE12.0  | VEGA10  | 6 | 6 | 1 | 0  | 0  | 0  | 6 (TMDS/DP)  | 
"""]]

## Radeon UVD (Unified Video Decoder) Hardware
[[!table header="no" class="mointable" data="""
UVD Core  | Engineering Names  | MPEG2 | MPEG4 | MPEG4 AVC  | VC1  | HEVC  | Max Size | Notes
UVD1.0 | RV610, RV630, RV670, RV620, RV635 | No | No | Yes | Yes | No | 2K  |
UVD2.0 | RS780, RS880, RV770 | No | No | Yes | Yes | No | 2K  |
UVD2.2 | RV710, RV730, RV740 | No | No | Yes | Yes | No | 2K  |
UVD2.3 | CEDAR, REDWOOD, JUNIPER, CYPRESS | No | No | Yes | Yes | No | 2K  |
UVD3.0 | PALM (Wrestler/Ontario), SUMO (Llano), SUMO2 (Llano) | Yes | Yes | Yes | Yes | No | 2K  |
UVD3.1 | BARTS, TURKS, CAICOS, CAYMAN | Yes | Yes | Yes | Yes | No | 2K  |
UVD3.2 | ARUBA (Trinity/Richland), TAHITI | Yes | Yes | Yes | Yes | No | 2K  |
UVD4.0 | CAPE VERDE, PITCAIRN, OLAND | Yes | Yes | Yes | Yes | No | 2K  |
UVD4.2 | KAVERI, KABINI, MULLINS, BONAIRE, HAWAII | Yes | Yes | Yes | Yes | No | 2K  |
UVD5.0 | TONGA | Yes | Yes | Yes | Yes | No | 4K  |
UVD6.0 | CARRIZO, FIJI | Yes | Yes | Yes | Yes | Yes | 4K  |
UVD6.2 | STONEY | Yes | Yes | Yes | Yes | Yes | 4K  | Supports 10bit
UVD6.3 | POLARIS10, POLARIS11, POLARIS12 | Yes | Yes | Yes | Yes | Yes | 4K  | Supports 10bit
UVD7.0 | VEGA10 | Yes | Yes | Yes | Yes | Yes | 4K  | Supports 10bit
"""]]

## Radeon VCE (Video Compression Engine) Hardware
[[!table header="no" class="mointable" data="""
VCE Core  | Engineering Names  | MPEG4 AVC  | Max Size | Notes
VCE1.0 | ARUBA (Trinity/Richland), CAPE VERDE, PITCAIRN, TAHITI, OLAND | Yes | 2K  |
VCE2.0 | KAVERI, KABINI, MULLINS, BONAIRE, HAWAII | Yes | 2K  |
VCE3.0 | TONGA, FIJI | Yes | 4K  |
VCE3.1 | CARRIZO | Yes | 4K  |
VCE3.4 | STONEY, POLARIS10, POLARIS11, POLARIS12 | Yes | 4K  |
VCE4.0 | VEGA10 | Yes | 4K  |
"""]]


## Where to get the drivers

* Xorg radeon DDX ([[xf86-video-ati|http://cgit.freedesktop.org/xorg/driver/xf86-video-ati/]])
* Xorg amdgpu DDX ([[xf86-video-amdgpu|http://cgit.freedesktop.org/xorg/driver/xf86-video-amdgpu/]])
* Mesa 3D driver ([[radeon, r200, r300g, r600g, radeonsi|http://cgit.freedesktop.org/mesa/mesa/]])
* KMS DRM ([[Linux Kernel|http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=summary]])
* libdrm ([[libdrm_radeon, libdrm_amdgpu|http://cgit.freedesktop.org/mesa/drm/]])

## Where to file defect reports

[[http://bugs.freedesktop.org|http://bugs.freedesktop.org]] using the following values for Product : Component...

* Xorg radeon DDX - xorg : Driver/Radeon or Driver/AMDgpu
* Mesa 3D driver (1xx) - Mesa : Drivers/DRI/Radeon
* Mesa 3D driver (2xx) - Mesa : Drivers/DRI/r200
* Mesa 3D driver (3xx-5xx) - Mesa : Drivers/Gallium/r300
* Mesa 3D driver (6xx-NI) - Mesa : Drivers/Gallium/r600
* Mesa 3D driver (SI-VI) - Mesa : Drivers/Gallium/radeonsi
* KMS DRM aka Kernel graphics driver - DRI : DRM/Radeon or DRM/AMDgpu

## Documentation

* [[A presentation about R600 for very beginners|R600_pres_carli2.pdf]]
* [[AMD R3xx 3D Register Reference|http://amd-dev.wpengine.netdna-cdn.com/wordpress/media/2012/10/R3xx_3D_Registers.pdf]]
* [[AMD R5xx Acceleration|http://amd-dev.wpengine.netdna-cdn.com/wordpress/media/2013/10/R5xx_Acceleration_v1.5.pdf]]
* [[AMD R6xx/R7xx 3D Register Reference|http://amd-dev.wpengine.netdna-cdn.com/wordpress/media/2013/10/R6xx_3D_Registers.pdf]]
* [[AMD R6xx/R7xx Acceleration|http://amd-dev.wpengine.netdna-cdn.com/wordpress/media/2013/10/R6xx_R7xx_3D.pdf]]
* [[AMD Evergreen 3D Register Reference|http://amd-dev.wpengine.netdna-cdn.com/wordpress/media/2013/10/evergreen_3D_registers_v2.pdf]]
* [[AMD Cayman/Trinity 3D Register Reference|http://amd-dev.wpengine.netdna-cdn.com/wordpress/media/2013/10/cayman_3D_registers_v2.pdf]]
* [[AMD Evergreen/Northern Islands Acceleration|http://amd-dev.wpengine.netdna-cdn.com/wordpress/media/2013/10/evergreen_cayman_programming_guide.pdf]]
* [[AMD Southern Islands 3D Register Reference|http://amd-dev.wpengine.netdna-cdn.com/wordpress/media/2013/10/SI_3D_registers.pdf]]
* [[AMD Sea Islands 3D Register Reference|http://amd-dev.wpengine.netdna-cdn.com/wordpress/media/2013/10/CIK_3D_registers_v2.pdf]]
* [[AMD Southern Islands/Sea Islands Acceleration|http://amd-dev.wpengine.netdna-cdn.com/wordpress/media/2013/10/si_programming_guide_v2.pdf]]
* [[AMD rv630|http://amd-dev.wpengine.netdna-cdn.com/wordpress/media/2012/10/42589_rv630_rrg_1.01o.pdf]]
* [[AMD rs690|http://amd-dev.wpengine.netdna-cdn.com/wordpress/media/2012/10/43372_rs690_rrg_3.00o.pdf]]
* [[AMD M56|http://amd-dev.wpengine.netdna-cdn.com/wordpress/media/2012/10/RRG-216M56-03oOEM.pdf]]
* [[AMD m76|http://amd-dev.wpengine.netdna-cdn.com/wordpress/media/2012/10/42590_m76_rrg_1.01o.pdf]]
* [[AMD HDA audio verbs|http://amd-dev.wpengine.netdna-cdn.com/wordpress/media/2013/10/AMD_HDA_verbs_v2.pdf]]
* [[AMD R6xx shader ISA|http://developer.amd.com/wordpress/media/2012/10/R600_Instruction_Set_Architecture.pdf]]
* [[AMD R7xx shader ISA|http://developer.amd.com/wordpress/media/2012/10/R700-Family_Instruction_Set_Architecture.pdf]]
* [[AMD Evergreen shader ISA|http://developer.amd.com/wordpress/media/2012/10/AMD_Evergreen-Family_Instruction_Set_Architecture.pdf]]
* [[AMD Cayman/Trinity shader ISA|http://developer.amd.com/wordpress/media/2012/10/AMD_HD_6900_Series_Instruction_Set_Architecture.pdf]]
* [[AMD Southern Islands Series ISA|http://developer.amd.com/wordpress/media/2012/12/AMD_Southern_Islands_Instruction_Set_Architecture.pdf]]
* [[AMD Sea Islands Series ISA|http://developer.amd.com/wordpress/media/2013/07/AMD_Sea_Islands_Instruction_Set_Architecture.pdf]]
* [[AMD Volcanic Islands Series ISA|http://amd-dev.wpengine.netdna-cdn.com/wordpress/media/2013/12/AMD_GCN3_Instruction_Set_Architecture_rev1.1.pdf]]



## Links

* [[Wikipedia AMD GPUs|http://en.wikipedia.org/wiki/Ati_gpu]]
* [[AMD Hardware Documentation|http://developer.amd.com/resources/documentation-articles/developer-guides-manuals/]]
* [[AMD OpenCL and Compute Resources|http://developer.amd.com/tools/heterogeneous-computing/amd-accelerated-parallel-processing-app-sdk/documentation/]]
* [[AMD Developer Guides (RS780/RS880, SB7xx, etc.)|http://developer.amd.com/resources/documentation-articles/developer-guides-manuals/]]

## Footnotes

<sup id="note_1">1</sup> Kernel 3.4 required<br />
<sup id="note_2">2</sup> Depends on the OEM board. Max of 2 (evergreeen-SI) or 3 (CI) non-Displayport displays with independent timing.<br />
<sup id="note_3">3</sup> Requires a 3D driver with shader support<br />
<sup id="note_4">4</sup> RV770, RS780/880, R6xx require kernel 3.18<br />
<sup id="note_5">5</sup> There are two versions of hybrd graphics: MUXed and MUX-less.  MUXed have a display MUX to switch the displays between the discrete and integrated cards.  MUXed systems can be switched using vgaswitcheroo.  MUX-less do not have a display MUX and the displays are only connected to the integrated card.  On MUX-less systems, the discrete card is solely for rendering, not display.  X Server 1.14 is required to support rendering and display from different cards.  Most new laptops (2011+) are MUX-less.<br />
<sup id="note_7">7</sup> Kernel 3.10 required<br />
<sup id="note_12">12</sup> Kernel 3.6 required<br />
<sup id="note_14">14</sup> Needs piglit and Lightsmark testing before enabling by default, see mesa commit [[12dcbd595|http://cgit.freedesktop.org/mesa/mesa/commit/?id=12dcbd5954676ee32604d82cacbf9a4259967e13]]<br />
<sup id="note_15">15</sup> Currently enabled by default. It can be disabled by setting the environment variable R600_DEBUG=nohyperz.<br />
<sup id="note_16">16</sup> Hardware doesn't support ARB NPOT textures fully.<br />
<sup id="note_17">17</sup> [[Kernel 3.14 required|http://lists.freedesktop.org/archives/dri-devel/2014-February/053301.html]]. For older kernel, apply this kernel patch: [[http://www.spinics.net/lists/dri-devel/msg52745.html|http://www.spinics.net/lists/dri-devel/msg52745.html]]<br />
<sup id="note_18">18</sup> LLVM 3.9 and Kernel 4.7 required<br />
<sup id="note_19">19</sup> OpenGL 4.1 is currently only supported on CYPRESS, CAYMAN and ARUBA. All other chips are currently limited to OpenGL 3.3<br />
<sup id="note_20">20</sup> LLVM 3.9 required<br />
<sup id="note_22">22</sup> Older kernels require loading radeon with the audio parameter set to 1 (e.g., add radeon.audio=1 on the kernel command line in grub).<br />
<sup id="note_23">23</sup> Kernel 3.3 required<br />
<sup id="note_24">24</sup> Kernel 3.5 required<br />
<sup id="note_26">26</sup> i2c chip<br />
<sup id="note_28">28</sup> i2c chip or internal sensor<br />
<sup id="note_33">33</sup> See [[http://dri.freedesktop.org/wiki/GalliumCompute|http://dri.freedesktop.org/wiki/GalliumCompute]]<br />
<sup id="note_34">34</sup> None<br />
<sup id="note_35">35</sup> ARUBA only<br />
<sup id="note_36">36</sup> No TV-out support on R4xx<br />