Xgl and direct rendering
Roland Scheidegger
rscheidegger_lists at hispeed.ch
Mon Feb 27 09:53:55 PST 2006
Rockmen Jack wrote:
> R200 chips do have pixel shader,its version is 1.4. Glitz's shader
> codes are assembly codes,which will be supported by R200 and above.
R200 have direct3d pixel shader 1.4 (just as geforce3/4 have pixel
shader 1.1/1.3) but they are useless for ARB_fragment_program. The R200
driver does support ATI_fragment_shader (which corresponds to pixel
shader 1.4 basically) though. It is not possible to directly translate
the yuv conversion code to ATI_fragment_shader however, the math is easy
but the tex instructions need some non-obvious translation, as there are
3 of them but you can only access the same texture twice with ATI_fs
(thus you'd need to bind the "video texture" to more than one texture unit).
>> On Feb 14, 06 22:13:48 +0100, Michael Biebl wrote:
>>> E.g. I have a Radeon Mobility 9200 with the radeon driver from
>>> X.Org 7 and the latest Xgl but can't get accelerated XVideo
>>> running (whereas it
>> For accelerated XV when running a composition manager you need 1st)
>> FBOs or pBuffers, and 2nd) pixel shaders.
>>
>> The radeon driver does neiter support FBOs nor pBuffers. R100 and
>> R200 chips do not have pixel shaders. R300 support is still in the
>> beginning, I do not know ATM whether pixel shader support is
>> available, but I doubt so.
R300 pixel shaders should work just fine, though I don't have such a
card to test.
Both R100 and R200 (and r300, i8/9xx,...) however support yuv textures,
and the code should probably be modified to take advantage of them when
available (not very well standardized unfortunately, but
GL_MESA_ycbcr_texture should fit the bill). (Note that they are broken
on rv250 apparently, however, it should be possible to fix them up with
a quite simple "fragment program" as at least the component ordering
seems to be correct).
I think not being able to use the hw overlay is the biggest drawback of
Xgl, it makes it utterly useless for quite a few people (think HTPC with
unichromes for instance). Maybe that capability should somehow be added
back, even though it will not integrate into the nice 3d environment
well and might cause ugly looking artifacts (as you can't transform it,
it will always be a rectangle).
Sure, hw overlay has its limitations (usually only 1 per gpu, in case of
the radeons you can't have it on both screens even with mergedfb etc.)
but it usually gets the job done very well.
Roland
More information about the xorg
mailing list