Is there the possibility to support EXA for legacy S3 chips?

Evgeny M. Zubok evgeny.zubok at tochka.ru
Sun Jun 7 06:14:15 PDT 2009


Alex Deucher <alexdeucher at gmail.com> writes:

> EXA copy shouldn't ask for blits across color depths (need composite
> for that), however, it does store buffers of different color depths in
> offscreen memory, so you'd need to be to adjust the depth of the
> blitter on the fly.

Thank you for the explanation.

Unfortunately, a depth for S3 Graphics Engine (GE) cannot be changed in
per operation (local) manner. This parameter is global. Changing it
results in incorrect scanline pitch (and therefore the next row
position) calculation for the current GE operation. This is critical, as
GE works in terms of coordinates, not with pixmap's offset and
pitch. That was I meant in my previous message.

For 'Copy' a workaround was found -- I only doubled (without changing a
depth on the fly) the 'w' (width) argument that was given when 'Copy'
function was called. So when the 16 bpp mode was configured, the 32->32
copying started to work better (pixmap corruptions in firefox, for
example, mainly was gone). But for 'Solid' there is no such solution,
and there is no way to make GE to fill rectangles with 32-bit colour,
while staying in 16 bpp mode and preserving a correct pixmap pitch.




More information about the xorg mailing list