mhopf at suse.de
Tue Aug 30 07:23:58 PDT 2005
> > So we were talking about the mehanisms that were used before (XV handler
> > of the current drivers).
> Well, nearly every driver currently in X.Org uses the overlay scaler.
> MGA is the exception I know of, and that's just an option. I would like
> to see us use the texture scaler to get the job done where possible,
> since it lets us play nice with composite and lets you have multiple
> hardware-accelerated YUV videos put on the screen at a time.
Of course it would be great if this interface would be exported by an
OpenGL extension. Until then there is no nice abstraction layer, though.
> > I was talking about that there is no common interface for YUV to RGB
> > conversion using the graphics hardware. Thus we should do this with
> > pixel shader, which *is* a common interface that is capable of doing
> > this. We can have other implementations if the hardware doesn't support
> > pixel shader, but this will be our first try.
> Very little of the hardware that we support supports pixel shaders. I
> mean, we could do this with r200 probably and r300, maybe i915? (I don't
> actually know)
r200 probably won't be enough, i915 does work (seen this - modulo some
texture fetch errors that should be fixed right now), fglrx works,
> Lots more of the hardware that we support can support YUV conversion
> using the texture hardware exposed using the MESA extension that Brian
> mentioned, and it's simple to write the support for it.
Again, no support for noninterleaved YUV textures. That's the majority.
Believe me, I've tried.
Additionally, with pixel shaders you're much more flexible. New color
format? No problem, just add a shader, no need to touch the driver.
Additionally, we're talking about an modern interface, all new graphics
hardware support pixel shader, but of course we need fallbacks for
Matthias Hopf <mhopf at suse.de> __ __ __
Maxfeldstr. 5 / 90409 Nuernberg (_ | | (_ |__ mat at mshopf.de
Phone +49-911-74053-715 __) |_| __) |__ labs www.mshopf.de
More information about the xorg