Re: Handling multi-monitor configuration

2004-11-25 Thread Thomas Winischhofer
David Dawes wrote:
I've been reworking the multi-monitor configuration support that I started
a while ago, and I have a patch relative to the latest XFree86 snapshot
(4.4.99.17) that implements it.  This provides a better way of handling
the multi-monitor configuration than the current mergedfb methods.  It
does so by allowing multiple Monitor entries in the Screen sections, and
allowing per-Monitor Display subsections for providing per-monitor
parameters.
The patch implements the configuration changes and some helper functions
that drivers can use to access the new data.  The implementation is
backward-compatible in the sense that existing drivers will continue to
function without knowledge of these changes.
An example of how the configuration looks is as follows:
Section Screen
Identifier Multi-Monitor Demo Screen
Device Multi-Monitor Device 1
Monitor 1 My Monitor
Monitor 2 My Monitor
Monitor 3 My Other Monitor
DefaultDepth 24
Option Screen Option Value
SubSection Display
Monitor 1
Modes 1024x768 800x600
Virtual 1024 768
Option MonitorOption val1
EndSubSection
SubSection Display
Monitor 2
Modes 1280x1024
Option MonitorOption val2
EndSubSection
SubSection Display
Monitor 3
Modes 1600x1200
Option MonitorOption val3
EndSubSection
SubSection Display
# Screen-wide display parameters
EndSubSection
EndSection
Although my broader goal is to eliminate the need for complete static
configuration, this patch also serves to provide associations between
the relevant data internally in a more consistent way than is used for
the current multi-monitor solutions.
The patch is available at:
   http://www.x-oz.com/multimonconfig-1.0.diff.gz
Comments and feedback are welcome.
David,
if this is supposed to be(come) a better way to set up mergedfb-like 
configurations (as I read from your introduction), it leaves some open 
questions:

Did you consider the current MetaModes definition deprecated by this 
implementation? If so:

- How are clone-modes to be configured? Cloning does not mean a plain 
mirror-mode (where both monitors show the same image); the monitors 
can have different resultions even in cloned modes, where the display on 
one of the monitors will pan inside the limits of the resolution shown 
on the other; one can think of this as a zoom-mode.

- How are the modes to be cycled through? IE: If I press Ctrl-Alt-+, 
what happens? Supposedly all monitors switch to the next mode in the 
list? This makes combining modes on purpose (nearly) impossible. Suppose 
that one of the modes listed in the Display subsection is eliminated 
during validation (due to refresh/clock/etc reasons, whatever), all 
following modes will be combined with a different (other Monitor's) 
mode than (eventually) intended.

And furthermore:
If you make Virtual a valid part of the Display-subsection, this 
corrupts the idea behind mergedfb in the merged-part: One of the 
(IMHO) advantages of mergedfb over Xinerama is that the displays are 
always joint, ie there is never an invisible part of the display between 
the monitors. If the Monitors now eventually have different 
Virtual-sizes, panning is unavoidable.

What is the last Display-subsection for? It's commented screen-wide 
display parameters. Doesn't that lead to confusion if it's called 
Display-subsection like the others, although (as I conclude from the 
comment) it overrules the Display-subsections above it?

Thomas
--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net *** http://www.winischhofer.net
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: Maximizing DVI Flatpanel resolution in nVidia nv

2004-11-25 Thread Thomas Winischhofer
Antonino A. Daplas wrote:
Hi all,
Looking at the xfree86 source of nv, it seems that the maximum resolution
achieved when the input type is DDI is set by the BIOS (fpWidth/fpHeight).
Is there a way to bypass this limitation such as a flatpanel display capable
of 1600x1200, but only 1024x768 is achievable.  IOW, what registers
need to be programmed to set the panel size to a higher value. 

Hardware:
GeForce4 Ti 4600
Display: Manufacturer: IVM Model: 4800: Name iiyama
Any help will be greatly appreciated.
Apart from the fact this the nv implementation is bad as it relys on the 
BIOS for the panel size, this particular panel's DDC data is broken. It 
advertizes 1024x768 as the preferred mode while being capable of 
1600x1200. I very much assume the BIOS simply evaluates the DDC data in 
order to find out about the panel size. [Side note: This is the way many 
other BIOSes do it as well. This method fails miserably for plasma 
panels that can scale down as well.]

If you (or the user that owns this panel) is capable of compiling X from 
source, you could try out patching nv_setup.c to hard-code 
pNv-fpWidth/pNv-fpHeight to 1600x1200 and see what happens.

Thomas
--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  http://www.winischhofer.net/
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: cvs compile failed

2004-06-29 Thread Thomas Winischhofer
Alan Hourihane wrote:
Isn't Alan to update the DRI stuff to current anytime soon?

We're lagging a little behind the DRI CVS, but if there's build problems
Thomas, please go ahead and don't wait for me and pull what you need in.
Well, for now I commented out my call to the yet-to-be-imported 
DRICreatePCIBusID() function. This broke the static build (modular not 
affected as I check the loader symbol first).

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  http://www.winischhofer.net/
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: cvs compile failed

2004-06-28 Thread Thomas Winischhofer
David Dawes wrote:
On Mon, Jun 28, 2004 at 05:44:14PM +0100, Dr Andrew C Aitchison wrote:
On Mon, 28 Jun 2004, Andrew C Aitchison wrote:

CVS compile works for me since this change
revision 3.479
date: 2004/06/23 16:58:39;  author: dawes;  state: Exp;  lines: +2 -2
Turn XItsyServer off by default (it doesn't build).
in xc/config/cf/xfree86.cf
You probably need to do a make World (or at least make Makefiles)
in the top level to get this change to take effect.
... However make install fails with
install -c -m 0444 SecurityPolicy /usr/X11R6/lib/X11/xserver/SecurityPolicy
install: cannot stat `SecurityPolicy': No such file or directory
make[5]: *** [install] Error 1
make[5]: Leaving directory `/home/XFree86/4.4/std/xc/programs/Xserver/Xext/tiny'
Work-around appears to be
make -k install

Speaking of build failures with the current CVS, some recent changes to the
sis driver result in a build failure for the static server:
../../programs/Xserver/hw/xfree86/drivers/libdriver.a(sis_drv.o): In function 
`SISDRIScreenInit':
sis_drv.o(.text+0x4ecae): undefined reference to `DRICreatePCIBusID'
Yeah, I know. Fix in the queue.
Isn't Alan to update the DRI stuff to current anytime soon?
Thomas
--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  http://www.winischhofer.net/
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: Screen rotation for i830 driver - need help for RandR

2004-06-21 Thread Thomas Winischhofer
Helmar Spangenberg wrote:
Hello,
is there anybody who can give me some hints a) how to tell the RandR subsystem 
about the rotate functionality of the i830 driver and b) how to obtain 
information from RandR about user requests for rotations.

I really tried hard - but I failed to get behind those secrets ;-(
There is no secret. RandR does not support rotation at the moment. 
Period. The driver needs to disable RandR if it is doing rotation on its 
own. See sis or nv driver on how to do this.

Thomas
--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net *** http://www.winischhofer.net
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: Register access on MIPS system

2004-06-09 Thread Thomas Winischhofer
Marc Aurele La France wrote:

I have looked into this more closely now and it seems there are two
problems:

1) port i/o on MIPS (as on ARM32) is done with memory mapped i/o. The
inb/outb macros in compiler.h look smart as they correctly add
IOPortBase to the port number, but IOPortBase is not initialized
throughout the entire XFree86 code as of 4.4.

2) IOPortBase is declared in compiler.h itself and hence isn't global.
Therefore, any module including compiler.h will have to initialize it
before using inX/outX. Since the vgahw module doesn't do this, it can't
be used.

The ioBase stuff (for PowerPC) is but a stopgap that can only handle
single-domain systems.  It should be replaced.  Domain support associates a
base address for the three address spaces (I/O memory  PCI config) each domain
is comprised of.

Well. I think I give up for the time being.

I'm sorry to hear that.
Well, I have no choice. I have no hardware myself for testing and that 
crappy SiS stuff doesn't support MMIO based i/o for VGA register access...

Furthermore I was educated in a mail from Jun Sun who wrote some 
porting-HOWTO for MIPS:


My question: How do I find out about mips_io_port_base from userland
(ie XFree86)?
You can't.
However, you can do IO from userland through /dev/port.  I don't know
if /dev/port is mmap'able at this point.

Thomas
--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net *** http://www.winischhofer.net
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: Register access on MIPS system

2004-06-08 Thread Thomas Winischhofer
Marc Aurele La France wrote:
On Tue, 8 Jun 2004, Thomas Winischhofer wrote:
I am having a hard time making the SiS driver run on a MIPS machine.
It's some Thoshiba system, with a little-endian CPU. (Under Debian, this
goes by the name Mipsel as opposed by the big-endian Mips). The user
is running Debian's extremely patched almost-4.4.

Current situation: Whenever an i/o register is accessed via inb/outb
macros, the X server exits with a signal 11.

I checked compiler.h and figured that i/o access (as done via ports on
x86), it like MMIO access on MIPS, ie simply writing to memory. So I
tried mapping my register area into virtual space (like I do with the
mmio area), to no avail. Same result, sig 11.

Background info: SiS hardware has a relocated i/o ports area which
allows access to i/o ports not only at 0x3xx etc, but also at some other
address. In order to make the vgahw module work with these ports instead
of the normal ones at 0x3xx, I abuse PIOOffset by adding the correct
offset. But no matter whether the vgahw module or my own code accesses
the registers, the sig 11 happens anyway.

The Linux framebuffer driver works well without mapping this register
area (which is at physical 0x4000, FYI).

Is there anything special about MIPS that I missed?

Well, domain support for MIPS has yet to be written.  Ditto for PowerPC.  And
that for Alpha's is somewhat broken.  Lack of time, for one, and lack of
hardware.
For those who are interested:
I have looked into this more closely now and it seems there are two 
problems:

1) port i/o on MIPS (as on ARM32) is done with memory mapped i/o. The 
inb/outb macros in compiler.h look smart as they correctly add 
IOPortBase to the port number, but IOPortBase is not initialized 
throughout the entire XFree86 code as of 4.4.

2) IOPortBase is declared in compiler.h itself and hence isn't global. 
Therefore, any module including compiler.h will have to initialize it 
before using inX/outX. Since the vgahw module doesn't do this, it can't 
be used.

Well. I think I give up for the time being.
Thomas
--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  http://www.winischhofer.net/
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Register access on MIPS system

2004-06-07 Thread Thomas Winischhofer
I am having a hard time making the SiS driver run on a MIPS machine. 
It's some Thoshiba system, with a little-endian CPU. (Under Debian, this 
goes by the name Mipsel as opposed by the big-endian Mips). The user 
is running Debian's extremely patched almost-4.4.

Current situation: Whenever an i/o register is accessed via inb/outb 
macros, the X server exits with a signal 11.

I checked compiler.h and figured that i/o access (as done via ports on 
x86), it like MMIO access on MIPS, ie simply writing to memory. So I 
tried mapping my register area into virtual space (like I do with the 
mmio area), to no avail. Same result, sig 11.

Background info: SiS hardware has a relocated i/o ports area which 
allows access to i/o ports not only at 0x3xx etc, but also at some other 
address. In order to make the vgahw module work with these ports instead 
of the normal ones at 0x3xx, I abuse PIOOffset by adding the correct 
offset. But no matter whether the vgahw module or my own code accesses 
the registers, the sig 11 happens anyway.

The Linux framebuffer driver works well without mapping this register 
area (which is at physical 0x4000, FYI).

Is there anything special about MIPS that I missed?
Anyway,
--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  http://www.winischhofer.net/
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: Sis6326 register unlock problem

2004-05-12 Thread Thomas Winischhofer
harry wrote:
 Thx for the info, in fact, I guessed that I used a wrong IO port
 address for sis on Mips, but I don't know where can I find the
 correct IO address and video memory mapping address.

It's both in the PCI config registers. The X driver uses this info
anyway - but the version you are using is from Aug 2002 and therefore
ancient. Please try updating the driver (source for all versions of
XFree86 = 4.1 available on my website).

Thomas



-- 
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  http://www.winischhofer.net/
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: Sis6326 register unlock problem

2004-04-28 Thread Thomas Winischhofer
harry wrote:
Hi,all

I met a problem while porting xfree86 to mips, it seems that I can't unlock the sis6326 registers. SR5 is used as password register in sis6326, if 86h is written into this register, then A1h will be read from this register, and unlock all the extension registers.If the value other than 86h is written into this register, then 21h will be read from this register,and lock all the extension registers.
But now when I wrote 86h to this register, I always get ffh, so the display can't be initialized.
Is there anyone met this problem? 
You have more than this locking/unlocking problem. It seems that none of 
the registers can be written or read, or they are being read 
from/written to wrong addresses. (For example, the memory clock is never 
14 MHz, and there are no 2MB versions of the 6326.).

Looks like a general register addressing problem. I have no experience 
whatsoever with mips hardware, so I can't help you further.

You can, however, try the most recent driver from my website. It uses 
exclusivly relocated i/o ports, so perhaps this helps.

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net *** http://www.winischhofer.net
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


MGA driver question

2004-04-16 Thread Thomas Winischhofer
Does the MGA driver initialize the card through int10 if it is secondary 
display adapter?

Reason for asking: A user has a SiS-based box and wants to use both the 
SiS internal graphics as well as a g200.

If the SiS is primary, the mga doesn't seem to get initialized properly 
(memory clock wrong, memory size only 2048 instead of 8192). Using the 
card in this state results in severe disturbances on the mga screen 
(whereas the SiS works fine).

If the SiS is secondary, the SiS driver detects this and tries to 
initialize the card through int10 - but it fails doing so because the 
int10 module can't find the VBIOS. (This might be related to a system 
BIOS problem; I think the VBIOS of SiS integrated graphics chipsets is 
included in the system BIOS in compressed form and uncompressed and 
written to RAM during boot. I assume that the system BIOS simply does 
not do that if the internal graphics is to be treated as secondary 
adapter. Since I don't know the details and a work-around for this, the 
MGA must be secondary.) The SiS card is unusable uninitialized (and the 
SiS driver can't simply do that because of customization problems; the 
VBIOS communicates a lot with the system BIOS and does stuff that is 
different on each and every machine).

Since the MGA driver finds its BIOS even if it secondary, int10 should 
work I guess...

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net *** http://www.winischhofer.net
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: MGA driver question

2004-04-16 Thread Thomas Winischhofer
Thomas Winischhofer wrote:
Does the MGA driver initialize the card through int10 if it is secondary 
display adapter?

Reason for asking: A user has a SiS-based box and wants to use both the 
SiS internal graphics as well as a g200.

If the SiS is primary, the mga doesn't seem to get initialized properly 
(memory clock wrong, memory size only 2048 instead of 8192). Using the 
card in this state results in severe disturbances on the mga screen 
(whereas the SiS works fine).

If the SiS is secondary, the SiS driver detects this and tries to 
initialize the card through int10 - but it fails doing so because the 
int10 module can't find the VBIOS. (This might be related to a system 
BIOS problem; I think the VBIOS of SiS integrated graphics chipsets is 
included in the system BIOS in compressed form and uncompressed and 
written to RAM during boot. I assume that the system BIOS simply does 
not do that if the internal graphics is to be treated as secondary 
adapter. Since I don't know the details and a work-around for this, the 
MGA must be secondary.) The SiS card is unusable uninitialized (and the 
SiS driver can't simply do that because of customization problems; the 
VBIOS communicates a lot with the system BIOS and does stuff that is 
different on each and every machine).

Since the MGA driver finds its BIOS even if it secondary, int10 should 
work I guess...
Sorry for replying to my own posting:

Option int10 (in the mga Device section) solved the problem, just in 
case anyone is interested.

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  http://www.winischhofer.net/
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: SupportConvertXXtoXX

2004-03-05 Thread Thomas Winischhofer
David Dawes wrote:
On Fri, Mar 05, 2004 at 01:38:06AM +0100, Thomas Winischhofer wrote:
What exactly does a video driver have to be able to do if the 
SupportConvert32to24 flag is set at calling xf86SetDepthBpp, provided 
the hardware supports, for instance, 24bpp (framebuffer depth) only? 


It has to use a framebuffer layer that can do this conversion.  fb
can, as can xf24_32bpp (if your driver uses cfb).  The s3virge
driver is an example that can still be run with the xf24_32bpp
method, and it does the following to figure out what to load:
case 24:
  if (pix24bpp == 24) {
mod = cfb24;
reqSym = cfb24ScreenInit;
  } else {
mod = xf24_32bpp;
reqSym = cfb24_32ScreenInit;
  }
Most drivers use fb these days, and it has support for this built-in,
and enabled automatically.
So it is save just to set these, I assume (since my driver uses fb). 
(Just wondered why the *driver* and not the layer taking care of this 
has to (not) set these.)

Thanks Mark and David.

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net *** http://www.winischhofer.net
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: SupportConvertXXtoXX

2004-03-05 Thread Thomas Winischhofer
Mark Vojkovich wrote:
On Fri, 5 Mar 2004, Thomas Winischhofer wrote:


David Dawes wrote:

On Fri, Mar 05, 2004 at 01:38:06AM +0100, Thomas Winischhofer wrote:

What exactly does a video driver have to be able to do if the 
SupportConvert32to24 flag is set at calling xf86SetDepthBpp, provided 
the hardware supports, for instance, 24bpp (framebuffer depth) only? 


It has to use a framebuffer layer that can do this conversion.  fb
can, as can xf24_32bpp (if your driver uses cfb).  The s3virge
driver is an example that can still be run with the xf24_32bpp
method, and it does the following to figure out what to load:
   case 24:
 if (pix24bpp == 24) {
   mod = cfb24;
   reqSym = cfb24ScreenInit;
 } else {
   mod = xf24_32bpp;
   reqSym = cfb24_32ScreenInit;
 }
Most drivers use fb these days, and it has support for this built-in,
and enabled automatically.
So it is save just to set these, I assume (since my driver uses fb). 
(Just wondered why the *driver* and not the layer taking care of this 
has to (not) set these.)


   Do you mean the flag?  The layer above does not know whether
or not the driver/HW supports a 24 bpp framebuffer.  The nv driver,
for example, does not. 
Whether or not the hardware does support 24bpp (framebuffer depth, not 
talking about color depth) should be determined by setting/clearing 
SupportXXbpp. Why the *driver* needs to set SupportConvert is 
beyond me. My understanding is that the respective fb layer should take 
care of this (if supported) based on SupportXXbpp (especially since the 
*driver* does not need to care about this, as David told me. It just 
depends on what layer I choose for above the driver level).

But anyway, my question was answered. Seems to be save to set this 
obsure SupportConvert32to24 flag if using the generic fb layer.

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  http://www.winischhofer.net/
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


SupportConvertXXtoXX

2004-03-04 Thread Thomas Winischhofer
What exactly does a video driver have to be able to do if the 
SupportConvert32to24 flag is set at calling xf86SetDepthBpp, provided 
the hardware supports, for instance, 24bpp (framebuffer depth) only? 
(SupportConvert24to32 vice versa)

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  http://www.winischhofer.net/
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: SupportConvertXXtoXX

2004-03-04 Thread Thomas Winischhofer
Mark Vojkovich wrote:
On Fri, 5 Mar 2004, Thomas Winischhofer wrote:


What exactly does a video driver have to be able to do if the 
SupportConvert32to24 flag is set at calling xf86SetDepthBpp, provided 
the hardware supports, for instance, 24bpp (framebuffer depth) only? 


   It's expected to support a 24bpp framebuffer.  
So far, so good.

 Depth 24/32 bpp will get translated to depth 24/24 bpp.

By whom (ie what layer)? Does the video driver in any way need to take 
care of this?

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  http://www.winischhofer.net/
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: Multiple Monitors

2004-03-02 Thread Thomas Winischhofer
; such as automatic selection of virtual screen size, DPI, 
meta-modes, etc). The SiS driver gives very good results even if one 
_only_ specifies Option MergedFB. Takes the largest modes for each 
output device which survived validity checks, calculates virtual screen 
size, calculates DPI, etc. Don't know if matrox or radeon have similar 
functionality.

For those who don't know: I have written a quite detailed documentation 
for MergedFB mode on my website 
(http://www.winischhofer.net/linuxsisvga.shtml#mergedfbmode) which 
covers all the configuration problems involved. Maybe this helps forming 
a new configuration concept.

However, I don't think we can make it entirely without options in the 
Device section... I have thought about this for a long time but haven't 
been able to come up with a better solution yet.

(For the sake of completeness: From a driver programmer's point of view, 
there is quite much to take care of:

- HW cursor (especially if the viewable areas overlap)

- video (problem for hardware that only has one overlay; this is not as 
trivial as it sounds)

- hardware limitations (eg. max X coordinate for 3D operations, IIRC 
this was a huge problem for radeon hardware)

The reason for mentioning this is that these can become issues for 
configuration, too.)

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net *** http://www.winischhofer.net
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: Multiple Monitors

2004-03-02 Thread Thomas Winischhofer
Alex Deucher wrote:
I agree.   I think metamodes are kind of klunky, but I don't know what
a better solution would be off hand.  Another thing about the proposed
solution is that in many drivers certain configurations are assumed,
which can be confusing in the screen setup.  For instance in the radeon
driver, the DVI/lvds port is always primary. 
What's the primary?

Since I can put the devices left-right or right-left, primary is IMHO 
only relevant for Xinerama and/or applications drawing fixed conclusions.

(And for the record: The SiS driver needs to treat CRT2 as some sort of 
primary as well, due to order-of-init reasons required by the 
hardware. CRT2 can be TV, LCD=DVI-D or VGA2=DVI-A. CRT1 can only be VGA. 
I also need to know all about the configuration for CRT2 before I can 
eg. calculate the maximum pixel clocks for CRT1, etc etc etc)

It might almost be a better idea to work the other way around. 
standardize the mergedfb backend stuff (pseudo-xinerama, metamode
parsing, pointermoded(), etc.) and then just standardize on options for
the drivers.  Maybe instead of messing with the monitors in the screen
section, allow the user to specify them in the device section like Alan
mentioned earlier, something like:

option crt2monitor Monitor1
That is an alternative, indeed. And it would be much easier to implement 
since there is no old version-style and new-version-style XF86Config 
then (which I wouldn't know how to distinguish between).

The disadvantage is that you blast the chain of

   / Monitor
Screen ---x
   \-Device
by directly linking the Device and Monitor section. Dogmatically that 
isn't really beautiful.

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net *** http://www.winischhofer.net
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: Multiple Monitors

2004-03-02 Thread Thomas Winischhofer
David Dawes wrote:
On Tue, Mar 02, 2004 at 01:18:20AM +0100, Thomas Winischhofer wrote:

Alex Deucher wrote:

I like Option 1.  but either is ok with me.  Also, FWIW, a lot of the
other mergedfb code could/should be moved into a general mergedfb lib. 
Stuff like pseudo-xinerama could be folded into the real xinerama
extension.  some of this work may already be done for the OSX port.
AFAIK, the OSX port uses the same pseudo stuff that we use.


Also how would clone modes and head orientation be handled in this
model?  Perhaps a clone mode of each supportable res on each monitor
would be automatically added?  
At what place in the list? Confusing the user is the least we want, 
especially with that already quite complicated concept of mergedfb.


I think the goal here is provide a simpler and more regular method of
handling this stuff, but with a basis that is flexible enough to handle
expected needs without going through this again in the near future.
Clone and zoom are all special cases of a more general monitor layout
mechanism, which is really all about how you postion the multiple view
ports into the single screen and how you handle mode switching.  Allowing
these things to be changed/configured on the fly makes it even more
interesting, and will go some way to simplifying real-world configuration.
Open question: does the newly (or nearly?) standardised Xinerama extension
allow for the physical screen layout to be changed at runtime?  It needs
to for a least this pseudo Xinerama case.
Exactly. However, since I found that changing it run-time either has no 
effect (so with kde) or seriously confuses apps (many examples) I don't 
do it now. I just calculate a basic setup (based on the orientation and 
the meta modes) and use this through out the session.

It's no problem with Xinerama, it's a problem with the apps. (Or, well, 
perhaps Xinerama, too, in case it lacks a facility to notify clients of 
changes which I don't remember)

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  http://www.winischhofer.net/
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: Multiple Monitors

2004-03-01 Thread Thomas Winischhofer
Alex Deucher wrote:
I like Option 1.  but either is ok with me.  Also, FWIW, a lot of the
other mergedfb code could/should be moved into a general mergedfb lib. 
Stuff like pseudo-xinerama could be folded into the real xinerama
extension.  some of this work may already be done for the OSX port.
AFAIK, the OSX port uses the same pseudo stuff that we use.

Also how would clone modes and head orientation be handled in this
model?  Perhaps a clone mode of each supportable res on each monitor
would be automatically added?  
At what place in the list? Confusing the user is the least we want, 
especially with that already quite complicated concept of mergedfb.

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  http://www.winischhofer.net/
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: SiS driver

2004-02-13 Thread Thomas Winischhofer
Kean Johnston wrote:

All,

Is there any reason why the SiS driver isnt the one Thomas Winischofer 
provides on his site? I recently had very negative experiences with the 
stock SiS driver on a 661FX that his driver solved immediately. Now I 
realized it may have solved just this one problem but it seems as the 
one on his site gets more attention. I know Thomas has submitted other 
fixes into the tree, and may even be the SiS maintainer.
I am, and the current SiS driver (well, more or less) is in CVS (since I 
have write access).

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  *** http://www.winischhofer.net/
twini AT xfree86 DOT org


___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: 4.4.0 status update

2004-02-13 Thread Thomas Winischhofer
David Dawes wrote:
On Sun, Jan 25, 2004 at 09:28:27PM -0500, David Dawes wrote:

XFree86 4.4.0 release status update.

I'm planning to tag the third 4.4.0 release candidate (4.3.99.903) within
the next week.


This was delayed by the licence discussion.  I'm going to tag 4.4.0 RC3
(4.3.99.903) tomorrow.
What's the estimated release date? I have quite a big SiS driver update 
in the queue which MUST go into 4.4 otherwise it is useless on newer 
chipsets. Just need to do some testing first which would take about a week.

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  *** http://www.winischhofer.net/
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: a8r8g8b8

2004-02-11 Thread Thomas Winischhofer
Mark Vojkovich wrote:

   What's the question/problem? 
Where might this bug be at home?

By bug I mean that red and blue are always the same, which they 
obviously shouldn't.

By at home means in what part of the XAA (?) source should I start 
looking?

Thomas



Mark (and others),

I played a little with a8r8g8b8 alpha textures and despite the fact my 
driver (erm, by hardware reasons) can't accelerate them, I think I found 
an issue:

(I use a source where these kinds of alpha textures are still accepted 
by XAA, ie before Mark disabled this).

The textures always have identical red and blue alphas. Green is ok, 
though. I have no idea where to look for this... any hint?

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  http://www.winischhofer.net/
twini AT xfree86 DOT org


___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel
--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  *** http://www.winischhofer.net/
twini AT xfree86 DOT org


___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


a8r8g8b8

2004-02-10 Thread Thomas Winischhofer
Mark (and others),

I played a little with a8r8g8b8 alpha textures and despite the fact my 
driver (erm, by hardware reasons) can't accelerate them, I think I found 
an issue:

(I use a source where these kinds of alpha textures are still accepted 
by XAA, ie before Mark disabled this).

The textures always have identical red and blue alphas. Green is ok, 
though. I have no idea where to look for this... any hint?

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  http://www.winischhofer.net/
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: [forum] Re: Announcement: Modification to the base XFree86(TM) license.

2004-01-31 Thread Thomas Winischhofer
Egbert Eich wrote:
Sven Luther writes:
  
  Maybe a decision on both parts on this would be ok ? XFree86 could make
  sure the licence of the driver code would not conflict with the GPL,
  keeping the old one for example, and the fbdev driver authors would
  dual-licence the code, both GPL and the old xfree86 licence would do
  just fine. Benjamin, what do you think about this ?
  
  BTW, CCing this to the linux-fbdev mailing list.
  

Yes, a personal agreement between driver developers would also work.
However they tend to change and other people will make contributions
who all would have to agree also. 
I don't know if a general dual license agreement in the kernel 
file header would be possible. 
Yes, it is. See the current SiS driver source files.

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  http://www.winischhofer.net/
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: [Linux-fbdev-devel] Re: [forum] Re: Announcement: Modification to the base XFree86(TM) license.

2004-01-31 Thread Thomas Winischhofer
Andrew C Aitchison wrote:
As I remember it, the pertinent register information here was reverse 
engineered, so it is at least arguable that I'd be copying fbdev
intellectual property here if I'd extracted and reused it.
Perhaps I was wrong, but my understanding from my days in a software
house taught me that I'd be breaking copyright not just by lifting
lines of code, but also by reading the code and copying intellectual
property, including register information.
I hardly think that pure numerical data like register contents can be 
subject to copyright anyway. Copyright only covers the very (code) 
implementation. If your code _does_ the same but though a somewhat 
different implementation, it might be infringing eventual patents but 
not copyright.

Besides there are only a few ways of writing code to twiddle a bit in
a register - I could easily duplicate a line of code while
reconstructing it from the register description, and it would be hard
to prove that I didn't just copy the line directly.
If (parts of) the implementation is (are) obvious and carries/y no 
creative element whatsoever (like setting/clearing a bit in a register), 
and/or is the only way, copyright does not apply either. Otherwise no 
one could write any new driver for any hardware. In simple terms, you 
can't infringe copyright by copying stuff like a = b or 
setregister(register, value).

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  http://www.winischhofer.net/
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: [Linux-fbdev-devel] Re: [forum] Re: Announcement: Modification to the base XFree86(TM) license.

2004-01-31 Thread Thomas Winischhofer
Dr. Rich Murphey wrote:
  You can take an XFree86 driver, regardless of what the copyright
says, and completely rewrite it as an fbdev driver (which is what
I believe usually happens) and this is not a violation of the
XFree86 copyright or even of the GPL.  Copyright doesn't apply to
ideas or algorithms in a work.  It's not a patent.  It only applies
to the reproduction of the code.
			Mark.


Those are valuable comments, but just to highlight some distinctions, here's
a common analogy...
If we both take a picture of the grand canyon and copyright it, each can be
distributed without infringing the other.
If you record a country-western song, and I listen to it and record it as a
jazz ballad, do you deserve acknowlegement?
If the melody is the same, yes. However, a melody is no algorithm, it's 
a creative work in the area of music (which is positively covered by 
copyright law, while algorithms and ideas are not). Software has been 
considered a creative work of literature for a long time until many 
countries expressedly added software to the list of creative works in 
copyright law. However, only the very implementation is covered and 
protected, not the idea behind it. The idea (or the algorithm) can only 
be protected by patent law in a few countries like the US and Japan.

Pure data (like some C headers and register contents table) are neither 
an idea nor software, hence not copyrightable.

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  http://www.winischhofer.net/
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: Fall back drivers?

2004-01-31 Thread Thomas Winischhofer
Jerry Haltom wrote:
Ahh! I hadn't checked any of the work in 4.4 before I came up with this
idea. This is wonderful.
What about in the case of a broken driver where the X server is unable
to start? 
I don't know of any driver that is broken in a way that keeps XFree86 
from starting. How the display looks is a different story, though (and 
this case can hardly be detected)

 One of the main problems I've seen Is when somebody breaks
their X config, either by running some driver installation
(nvidia-installer yay!) or recompiling their kernel and leaving off a
third party module results in a non working X. 
I don't know how far David has come, but I think that would be possible. 
PreInit() already returns a Bool, so it should be easy to fall back at 
that stage. The same basically applies to ScreenInit().

 Users would definitely
would rather be at a 640x480 display running in 16 colors than a login
console prompt. 
Frankly, I don't think a 16 color 640x480 display is helpful as long as 
there is no GUI killer-tool for reconfiguring XFree86 for this kind of 
users. (Such users presumably also run KDE or Gnome, and at least KDE 
does not like 16 colors that much...)

But anyway, the fallback idea is a good one IMHO.

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  http://www.winischhofer.net/
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Another Render question

2004-01-26 Thread Thomas Winischhofer
Can anyone explain the meaning of a8r8g8b8 pure alpha textures?

The two hooks for render acceleration are

a) CPUToScreenAlphaTexture (should be PICT_a8)
b) CPUToScreenTexture (like eg PICT_a8r8g8b8)
a) is used for aa text; however, sometimes (haven't yet found out why) 
the alphaType argument to this is not PICT_a8 as one would expect, but 
PICT_a8r8g8b8.

I don't quite get the logic behind this. What's the CPUToScreenTexture 
hook for if CPUToScreenAlphaTexture should be able to deal with ARGB 
textures? And how should the red, green and blue arguments 
correlate with the RGB contents of this odd texture?

I extended RENDER acceleration in the SiS driver now to seemingly 
correctly handle such ARGB alpha textures textures as well; I simply 
ignore the RGB part of an ARGB alpha texture fed to 
CPUToScreenAlphaTexture; but my curiousity WRT if this is the idea 
behind it remains.

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  *** http://www.winischhofer.net/
twini AT xfree86 DOT org


___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: Cygwin/XFree86 Status?

2004-01-26 Thread Thomas Winischhofer
Kendall Bennett wrote:

Clearly the future of XFree86 is very murky right now, as many developers 
have left to work on other projects such as freedesktop.org, and now with 
the core team disbanded it is unclear exactly how companies such as 
SciTech or vendors such as ATI, Via, SiS etc who do not have direct 
connections with someone on the XFree86 committer list can get their 
patches into XFree86. 
Offtopic: From my experience with SiS and the quality of their code (if 
it deserves that name), I seriouly hope they don't at all. And BTW, they 
have contact with me.

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  *** http://www.winischhofer.net/
twini AT xfree86 DOT org


___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: Another Render question

2004-01-26 Thread Thomas Winischhofer
Mark Vojkovich wrote:
On Mon, 26 Jan 2004, Thomas Winischhofer wrote:


Can anyone explain the meaning of a8r8g8b8 pure alpha textures?


   It's probably a bug that XAA is letting those through.
a8r8g8b8 alpha masks mean one of two things:
1) If componentAlpha is set, it's 4 alpha masks which act separately
   on the different components of the source.
2) If componentAlpha is not set, you're supposed to just use the
   alpha portion.
OK, I see. I didn't analyze the code deeply enough. In my tests, the RGB 
portion of the a8r8g8b8 formatted alpha texture was always zero. (Qt in 
some way [indirectly] uses this to draw aa text, as does x11perf 
-aaXXtest; stangely, I had this accelerated a while back WITHOUT 
allowing a8r8g8b8 but ever since I installed Debian's experimental 
packages with external libxrender and libxft the accelerated path wasn't 
used. Despite that I recompiled these external libs against 4.3 headers.)

I do now understand that r, g, b can contain separate alpha values for 
each component (which I easily could support in my driver since I first 
need to build an accelerator-suitable texture anyway). What is supposed 
to happen with the 4th, the a component?

 XAA's render support was written in the early days of render,
back when render didn't support as much stuff as it does now.
It probably makes sense for XAA to only pass them through when
componentAlpha is not set, then it would be up to the driver
to decide whether or not it can just extract the alpha portion,
and punt if it doesn't.
 We should probably be adding

  if(pMask-componentAlpha)
return FALSE;
 right after the if(pMask) test to reject the 4-component alpha
condition.
What if some hardware supported this? Wouldn't it be better to set a 
flag in the Flags field submitted to the driver's SetUpCPU...() 
function? Or/and perhaps let the driver specify a flag in the 
CPUToScreenAlphaTextureFlags, like XAA_RENDER_COMPONENT?

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  http://www.winischhofer.net/
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: Another Render question

2004-01-26 Thread Thomas Winischhofer
Mark Vojkovich wrote:
What if some hardware supported this? Wouldn't it be better to set a 
flag in the Flags field submitted to the driver's SetUpCPU...() 
function? Or/and perhaps let the driver specify a flag in the 
CPUToScreenAlphaTextureFlags, like XAA_RENDER_COMPONENT?


   If you want to test that, you can add it, though I'd recommend
waiting until after 4.4.  I've already checked in code that has
XAA bail out when it sees componentAlpha.
   In order to avoid breaking binary compatibility, you'd need
to add a flag to the CPUToScreenAlphaTextureFlags that allows
the driver to say that it supports per-component alpha.  Otherwise
all the current drivers would need to be rewritten to recognize
the new flag.
That's basically what I meant. I will commit my changes to the sis 
driver anyway (just adding support for nonComponent a8r8g8b8), but wait 
with the rest.

Thanks.

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  http://www.winischhofer.net/
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: Another Render question

2004-01-26 Thread Thomas Winischhofer
Sottek, Matthew J wrote:
a) is used for aa text; however, sometimes (haven't yet found out why)
the alphaType argument to this is not PICT_a8 as one would expect, but
PICT_a8r8g8b8.
I don't quite get the logic behind this. What's the CPUToScreenTexture 
hook for if CPUToScreenAlphaTexture should be able to deal with ARGB 
textures? And how should the red, green and blue arguments 
correlate with the RGB contents of this odd texture?


a) Is used whenever you want to combine a per-pixel alpha with a
diffuse color. Text, as you said is the common case but I think there
were other intentions...
I've seen some screenshots on Keith's site that show using a window's
own alpha channel as a drop shadow. In order for that to work you
would need to get an argb input (the offscreen copy of the full
window contents) but only use the a and use the diffuse rgb as
provided. Maybe that is the intended use?
Hm. I _think_ we're talking about the same thing. However, my (second) 
question was more meant in the line of the following:

I am given a constant r, g and b as each a separate parameter, and an 
a8r8g8b8 texture which by Mark's explanation is for providing an alpha 
value for each of the r, g, b components. But the format is _a8_r8g8b8; 
if the components' alphas are in the r8g8b8 part, what's to happen with 
the a8 part of that texture?

Formula, anyone?

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  http://www.winischhofer.net/
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: Another Render question

2004-01-26 Thread Thomas Winischhofer
Mark Vojkovich wrote:
On Mon, 26 Jan 2004, Thomas Winischhofer wrote:


Sottek, Matthew J wrote:

a) is used for aa text; however, sometimes (haven't yet found out why)
the alphaType argument to this is not PICT_a8 as one would expect, but
PICT_a8r8g8b8.
I don't quite get the logic behind this. What's the CPUToScreenTexture 
hook for if CPUToScreenAlphaTexture should be able to deal with ARGB 
textures? And how should the red, green and blue arguments 
correlate with the RGB contents of this odd texture?


a) Is used whenever you want to combine a per-pixel alpha with a
diffuse color. Text, as you said is the common case but I think there
were other intentions...
I've seen some screenshots on Keith's site that show using a window's
own alpha channel as a drop shadow. In order for that to work you
would need to get an argb input (the offscreen copy of the full
window contents) but only use the a and use the diffuse rgb as
provided. Maybe that is the intended use?
Hm. I _think_ we're talking about the same thing. However, my (second) 
question was more meant in the line of the following:

I am given a constant r, g and b as each a separate parameter, and an 


   You are also given a.


a8r8g8b8 texture which by Mark's explanation is for providing an alpha 
value for each of the r, g, b components. But the format is _a8_r8g8b8; 


   No, it modulates r, g, b, and a.


if the components' alphas are in the r8g8b8 part, what's to happen with 
the a8 part of that texture?



  You are given constant a, r, g, b.  An a8 texture modulates all of
them:
... unless XAA_RENDER_NO_SRC_ALPHA is set...?

   a *= a8
... in which case the above does not apply...?

   r *= a8
   g *= a8
   b *= a8


Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  http://www.winischhofer.net/
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: How can we XGI share our Linux 2D driver with the open source community? Thanx

2004-01-12 Thread Thomas Winischhofer
Yukun Chen wrote:

Hi All

  I am a developer from XGI Technology which is a new company stem from graphic dpt. of Trident and graphic dpt. of Sis.  Now we want to share our linux 2D driver with open 

source community. Then what should we do? Pls give some advice or suggestions.

  Thanx a lot.
Hi,

welcome to open-source development!

It's pretty easy. Have a look at the existing drivers to find out about 
the internals of the driver model. And publish the source. Someone will 
pick it up, review it and eventually merge it with XFree86 CVS (as has 
happended with the via driver recently).

Please, please, please DO NOT produce a driver which is a patch for an 
already existing driver. This means especially that I (as the author and 
maintainer of the SiS driver) will not merge XGI support into the SiS 
driver, despite the fact that some of your current hardware might be 
compatible to existing SiS hardware. The SiS driver is already big 
enough. But of course, nobody says that you can't base your driver on 
the SiS driver (as an example for that matter).

For more general issues, somebody else might stand up and speak?

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  *** http://www.winischhofer.net/
twini AT xfree86 DOT org


___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: Help: gdb xfree86 video card driver on rh9

2003-12-29 Thread Thomas Winischhofer
harry wrote:

  I am debuging a video card driver on XFree86.I was using gdb 
 5.1.1-2.0xfree on radhat 9.0. And I had tried :
 (1) I was using gdb /usr/X11R6/bin/XFree86 , then run. It result as 
 Segmentation fault.
 (2) During build sis_drv.o, I had using para -g for gcc.
startx open Xwindow fristly, then using  ps ax gets the processid 
 of X :0. 
 use SSH login
and  gdb /usr/X11R6/lib/modules/drivers/sis_drv.o processid.
 By this way, i could see source codes and function symbols of the 
 sis_drv.o , and could set breakpoints. But Xwindow will not break at 
 those points that i setted.What's wrong on my ways to debug video driver 
 of xfree86 bu gdb?
  
 Now i only could use print message to debug,but that is troublesome. 
 If anybody has some suggestion as how to debug  I would gladly 
 appreciate any suggestions.

Nice to see that a SiS employee is dealing with XFree86.

I am no gdb expert myself, but here is my $.02:

1) You need a patched gdb which is capable of dealing with XFree86's
modules. I don't have a link at hand, but I'm sure someone else reading
this has.

2) If you want to attach to the running XFree86 process: sis_drv.o is
not the process, but part of the X process. You need to attach to the X
process.

In case you are debugging the official XFree86 sis driver, I'd
appreciate if you told me what problems you experience (since I am the
author and maintainer of this driver).

Thomas

-- 
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  *** http://www.winischhofer.net/
twini AT xfree86 DOT org



___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: [PATCH] Radeon Xv gamma support

2003-12-20 Thread Thomas Winischhofer
Andrew C Aitchison wrote:
On Fri, 19 Dec 2003, Alex Deucher wrote:


This patch adds two new XV attributes: XV_COLORSPACE and XV_GAMMA.
 

XV_GAMMA lets you adjust the gamma of the overlay to 8 presets:
0 - gamma 1.0, default
1 - 0.85
	...		...

7 - 2.5

Please let me know if you have any suggestions or find any bugs with
this code.  The patch is against DRI cvs, but should apply pretty
easily to xfree86 or gatos as well.


Can I suggest that the API exposes the options in some device neutral
manner - ideally a float - which the driver converts to the nearest
available preset. Either nVidia or the next generation Radeon is bound
to use 16 presets, or calculate the table for an given gamma ?
Unless the  preset list of gamma values follows some standard (sorry if 
it does) applications should be able to ask for the value they want,
and have something sensible happen ?
I think floats isn't possible via XV properties. But I have another 
suggestion (based on the assumption that you can handle separate gamma 
values for r, g, b): Make three properties (such as for example 
XV_GAMMA_RED etc) and allow a range from 1000 to 1, which is the 
desired value * 1000.

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  http://www.winischhofer.net/
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: XFree86 master cvsup server refuses authentication

2003-12-20 Thread Thomas Winischhofer
Mike A. Harris wrote:
It worked up until November first according to my cvsup cronjob
logs, at which point it just stopped.  However, now that you
mention it, I don't remember ever seeing any public announcement
that the cvsup server would be decommissioned earlier this year,
nor any time prior to it becoming unavailable in November.
David Dawes posted a message about this to [EMAIL PROTECTED] on Nov 2nd.

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  http://www.winischhofer.net/
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: XFree86 master cvsup server refuses authentication

2003-12-20 Thread Thomas Winischhofer
Mike A. Harris wrote:
It worked up until November first according to my cvsup cronjob
logs, at which point it just stopped.  However, now that you
mention it, I don't remember ever seeing any public announcement
that the cvsup server would be decommissioned earlier this year,
nor any time prior to it becoming unavailable in November.
David Dawes posted a message about this to [EMAIL PROTECTED] on Nov 2nd.


I've *never* been subscribed to [EMAIL PROTECTED], which was a 
closed and private list always, and not ever open to public 
subscription.  That list, as far as I know, is strictly limited 
to people who have CVS write permission.

So obviously, the message never reached the full list of people 
who had access to the master cvs/cvsup server.
Sorry, I didn't know how deeply you're involved (or not involved, for 
that matter) in development. I just meant to give you a hint, and if 
David didn't post this on devel or xfree, I'd have assumed he had his 
reasons (which is why I didn't forward his message to you/this list - 
and no, I'm not the one making up secrets here). Hm, I really should 
shut up when it comes to political issues here... (take this as a note 
to self, so to speak)

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  http://www.winischhofer.net/
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: XFree86 4.4.0 RC1

2003-12-17 Thread Thomas Winischhofer
David Dawes wrote:
On Sat, Dec 13, 2003 at 03:06:27PM +, Thomas Estaben wrote:

I am testing this release under Gentoo. In my XF86Config, i set up XkbModel to 
be pc105 and XkbModel to fr. My problem is that the  key doesn't 
work, XFree seems to take pc104 by default without using my settings. I 
have to use setxbkmap -model pc105 by hand to use this key wich is pretty 
annoying...
Is this a configuration problem or a known bug ?


If you really have XkbModel set to both pc105 and fr, then that may
be the problem.  XkbModel should be pc105 and XkbLayout should be
fr.  If that still doesn't work, what does 'setxkbmap -print' report?
You perhaps running something like KDE overruling the settings from the 
config file? Happened to me once, took me hours to find out...

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  *** http://www.winischhofer.net/
twini AT xfree86 DOT org


___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: Experimental Snapshot v4.3.99.901 - SIS-DRI-Driver-Problem

2003-12-08 Thread Thomas Winischhofer
Raymond Jennings wrote:
Direct3D may be more than a 3D graphics API...It may ALSO be a hardware 
interface standard.

A given graphics card, might, if I may, speak D3D-ese and/or GL-ese, 
if you know what I mean.

I recommend that the hardware driver guys investigate this, and if this 
IS true (D3D-ese vs GL-ese), then I suggest we put out a D3D API 
similar to Mesa, or we could put in a GL-to-D3D translation module. 
(this could also be vice versa, D3D-to-GL, because D3D retained mode is 
pretty dang useful, what with its frames and meshes, very nice automatic 
geometry handling)

A D3D API may alsp be useful, and as XFree86 becomes more popular (and 
I'm sure it will), D3D programmers may have difficulty migrating to 
OpenGL, and a D3D API would help that.  I just hope DirectX isn't an MS 
trademark, 
It is.

or that they've copyrighted the API...That sounds like 
something Micro$oft might do.
Copyright only applies to a specific code implementation (I think even 
in the US), however, I think this might be more a software patent issue 
(just US yet).

And porting over MS APIs is no good idea in general IMHO.

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  http://www.winischhofer.net/
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: Experimental Snapshot v4.3.99.901 - SIS-DRI-Driver-Problem

2003-12-08 Thread Thomas Winischhofer
Eric Anholt wrote:
On Sun, 2003-12-07 at 02:27, Andreas Allacher wrote:

Hi,

I have tried your latest Snapshot and have a problem using the
SIS-DRI-Driver at WineX if it comes to Direct3D games OpenGL games work
perfect also DirectDraw...
BUT as said Direct3D games lock-up (only mouse works still) before I get
shown anything  the same is for the videos in the game this all worked
perfect with the old SIS-Driver  but there I had the problem that in any
game  if DRI was used - I got a lock-up, even TuxRacers
[...]


I'm having a hard time parsing you here.  So with the old driver all
games caused a lockup but with the new driver only D3D games in WineX
do?
Andreas asked me privately about this a couple of times, and I think the 
problem he's having boils down to

- WarCraft III (via WineX) is too dark, possibly meaning the the game 
playfield area is all black while the game controls and status displays 
still display OK (is WarCraft III really using DirectX or Direct3D?)

- he had lockups with the old driver (which I personally experienced 
only a very few times)

He has never told me wether or not native DRI applications work for him 
the current driver (apart from the gfxgears statement below).

One other thing: with glxinfo I got about 375 FPS with the old driver with
the new I get around 200FPS  is it still that fast as the old  but only
glxinfo detects it wrong?.


I don't remember at this point any decisions I made that would cause
significant slowdowns.  (I assume you are talking about glxgears here)
I have received reports telling my it's even faster with the new driver. 
(I don't have a 630 to test this at the moment)

Thomas



--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  http://www.winischhofer.net/
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: [PATCH] radeon Xv alpha blending support

2003-11-20 Thread Thomas Winischhofer
Alex Deucher wrote:
The attached patch adds alpha blending support to the video overlay on
radeon hardware.  It's been tested on my 9200.  It adds three new Xv
attributes: XV_ALPHA_MODE, XV_GR_ALPHA, and XV_OV_ALPHA.
XV_ALPHA_MODE - (0 or 1) selects the alpha blending mode.  right now it
only supports key and global modes, per-pixel can be added later. 0 is
key mode, 1 is global mode. Key mode blends the overlay or graphics
layer with the colorkey.  Global mode blends the graphics layer and the
overlay.
XV_GR_ALPHA - (0-255) set the alpha level of the graphics layer
(everything but the overlay) (applies to either mode)
XV_OV_ALPHA - (0-255) set the alpha level of the overlay (applies to
either mode)
The patch is against DRI cvs, but should apply pretty easily to any
tree.  I'm not 100% clear on the function the first two fields of
OV0_KEY_CNTL, perhaps someone out there could explain it to me. see my
comments in the code.  let me know if you have any comments or
questions.  Is it worth opening a bug in bugzilla for this?
The patch and binaries also are available here:
http://www.botchco.com/alex/radeon/xv_alpha/
Look out for an improved Xv gamma patch soon.
Alex,

while you are at it, does the radeon hardware support chroma-keying? 
(Chroma keying means the overlay is shown if the _video_ color is within 
a certain range. Chroma-Keying is extremely useful for creating blue-box 
like effects, like for example people in front of a blue background, 
which is being replaced by the graphics at playback time).

If so, you might want to take a look at the sis driver. Besides, the sis 
driver also has a property named XV_DISABLE_COLORKEY to avoid the 
problem of the colorkey always drawn. This works more or less by 1) 
disabling the colorkey in the video code, and 2) by ignoring accelerator 
fill-commands with the colorkey as foreground color. Of course, this is 
no bullet-proof method, but perhaps this is helpful for you, too.

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  *** http://www.winischhofer.net/
twini AT xfree86 DOT org


___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: [PATCH] radeon Xv alpha blending support

2003-11-20 Thread Thomas Winischhofer
Alex Deucher wrote:
radeon has an option XV_AUTOPAINT_COLORKEY that enables or disables the
auto filling of the colorkey by the driver (stops
xf86XVFillKeyHelper()).  is this equivalent to what your option does? 
Not entirely. AUTOPAINT_COLORKEY does not stop applications from drawing 
the colorkey themselves (as, I think, for example Xine does). That is 
done by the accelerator engine, that checks the color given to the fill 
functions. (Granted, this only works if the accelerators are on, but who 
is using a [working] driver without acceration these days)

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  *** http://www.winischhofer.net/
twini AT xfree86 DOT org


___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: [PATCH] radeon Xv alpha blending support

2003-11-20 Thread Thomas Winischhofer
Alex Deucher wrote:
This is probably due to my limited understanding of writing Xv apps but
how do you keep the app from drawing the colorkey itself?  isn't it
I simply assume that the app will, some way or the other, in the end use 
the XAA accelerator functions. As I said, my method is not bullet-proof.

just an X rectangle?  is there an Xv function that the app uses or does
it just draw a rectangle and paint it the colorkey color?  How does the
sis driver do it (if it does)?  what does the output look like with no
colorkey drawn? 
The depends. Earlier versions of mplayer (0.9) left the background 
visible (ie didn't overwrite the window at startup); later versions 
paint the window black at start, for what reason ever.

The real application for this feature is, of course, not a generic app 
like mplayer but a specially written app that utilizes the blue-screen 
technique for displaying a background and a video which is chroma-keyed, 
such as a weather forecast where the presenter stands in front of a blue 
wall and the viewer sees a weather map instead of the blue background. A 
real-life application of this kind (using SiS hardware and my driver) is 
installed at a local government's exhibition in Austria; visitors are 
presented a virtual TV interview person on screen and are being filmed 
during that interview. Afterwards they can watch the interview (which is 
being cut in real-time) and see themselves in a beautiful TV studio, 
while the cabin where the interview took place has a simple plain green 
background wall.)

does Xv even work without a colokey? 
Yes, at least on SiS hardware. There are 16 combinations of src and dst 
combination (video-ROPs) available, include the standard one (video if 
background = colorkey) and all possible combinations of chroma- and 
colorkey (which monstly aren't so useful after all).

 I thought that's how the overly worked it overlays the video data based
 on regions painted with the colorkey.
That's one of 16 possible ways.

I suppose in global alpha mode though (on radeon), it
will blend the video with whatever the graphics layer shows so if I
could get rid of that rectangle of color, I'd get a nice blend with the
desktop and any windows over or under it.
I think it will be like that: If the alpha stuff is activated, the video 
overlay doesn't care about the colorkey anymore. Or perhaps you need to 
change the ROP (if such a thing is on Radeon) to ignore the colorkey. Do 
you see the entire video (if alpha avtive) even if another window covers 
a part of the video window?

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  http://www.winischhofer.net/
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: [PATCH] radeon Xv alpha blending support

2003-11-20 Thread Thomas Winischhofer
Alex Deucher wrote:
does Xv even work without a colokey? 
Yes, at least on SiS hardware. There are 16 combinations of src and
dst 
combination (video-ROPs) available, include the standard one (video
if 
background = colorkey) and all possible combinations of chroma- and 
colorkey (which monstly aren't so useful after all).

I'm not sure if they refer to source and destination, but on radeon you
I guess whatever the docs call source and destination refers to 
source = video and destination = graphics.

can adjust keycontrol based on graphics or video values and it's that
part that I don't understand.  there are three bit fields: one for
graphics, one for video and then a mix field that sets whether you
display video and graphics or video or graphics.  Perhaps you can help
me interpret what they do.
Sure, but I am afraid I need the exact wording of the docs.

I think it will be like that: If the alpha stuff is activated, the
video 
overlay doesn't care about the colorkey anymore. Or perhaps you need
to 
change the ROP (if such a thing is on Radeon) to ignore the colorkey.
Do 
you see the entire video (if alpha avtive) even if another window
covers 
a part of the video window?

yes exactly!

there are 3 alpha modes: key, global, and per-pixel.  
 key uses the
colorkey to display the overlay but can blend against the colorkey
value. It's useful for fading in/out the desktop or the video.
 global
mode blends the video with the graphics layer no matter what.  so any
windows over or under the video get blended and you can't obsure the
overlay, it just blends.  
 per pixel mode seems like the most flexible,
but I can get anything useful out of it because I think it assumes you
have an alpha channel in the framebuffer ( or , etc. formats). 
Supposedly meaning:

1) key: If video or graphics data is inside or outside a certain color 
range (colorkey = graphics, chromakey = video, whatever they mean by 
key), do something - like, as you say, blend against the colorkey. Hm, 
I don't see any real usefulness in this. Did you experiment with that? 
Is it really the colorkey the blend against?

2) Global - simplest variant: Define one global alpha value for the 
whole overlay, regardless of the video's or and background's color.

3) per pixel: Second your idea, assumingly this will require a 32 bit 
ARGB graphics background; video is being blended with the background 
depending on the background's alpha value. (The other way round would be 
somewhat impossible as video data can't contain alpha data, unless the 
ATI folks expect highly unusual and non-standard video data; don't think 
so.)

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  http://www.winischhofer.net/
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: radeon 2d engine and alpha blending

2003-11-20 Thread Thomas Winischhofer
Alex Deucher wrote:
I realize that I could attempt to use it for render accel, but I was
hoping to tie it into Keithp's compositing extension
(http://www.freedesktop.org/Software/TranslucentWindows) to support
alpha blended windows, not just hw accelerated AA text. 
I don't understand under what circumstances AA text is drawn using the 
accelerated path anyway. Openoffice uses the accelerated routines for 
each and every character it draws, so does x11perf if using the argument 
 -aaXXtext (which, by the way, gets boosted from 3 to 125000/sec if 
acceleration is enabled - speak about usefulness).

But KDE for instance never causes calls to the accelerated functions, 
neither for text nor for alpha blending in general (like for transparent 
menus, despite RENDER is selected for doing this in the KDE control 
center). I am riddled. I have one test application though which I got 
from the Rasterman Carsten Haitzler and which I used to verify the 
accelerated routines do what they're supposed to.

 Although
thinking about it more, I guess the compositing manager could take
advantage of the render accel to accelerate alpha blending.
Well, I only develope for XFree86 (Linux kernel framebuffer stuff 
aside). But is that really either-or? I'm sure Keith didn't dump his 
RENDER extension in XServer...

Transparent bitblits are supported by XAA's normal bitblit functions,


how are these used?  are there any apps that use them?  render?
Plain old ScreenToScreen copy. trans_color (the last argument to the 
SetupScreenToScreenCopy function) holds the (source) color which is 
handled to be transparent. It's as simple as that. (hint, hint: 
sis310_accel.c) And MD is right, it's not a plain transparent bitblit, 
it's colorkeyed in fact (but only using one color key, not a range). 
Isn't used very often, though.

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  http://www.winischhofer.net/
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: nv driver obscurities...

2003-11-09 Thread Thomas Winischhofer
Mike A. Harris wrote:
I suppose that is fair enough.  I'm trying to debug an annoying 
problem in the driver for some users having problems, and seeing 
hexadecimal registers everywhere instead of symbolic names is 
very frustrating.
Mike, I really can't imagine how symbolic names would help you if you 
don't have hardware docs. (Well, unless one uses names like 
BIT_7_IS_FOR_INTERLACE_BIT_6_IS_FOR_DOUBLESCAN_BITS_5_4_ARE)

For me as a developer, if I have the choice between for example

   SetReg(Part2Port,0x43,0x27);

or

   SetReg(Part2Port,RTVFILCNT,0x27);

I will certainly go for the first variant.

Datasheets usually are sorted by register number. Using the number 
instead of a name saves me from 1) remembering the symbolic name I or 
the datasheet gave the register (Was that with '_' or without in the 
middle? Did I use caps?), and 2) grepping BOTH the driver AND the 
datasheet (or my defs.h) every time I check or debug stuff.

Just my humble $.2

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: Nvidia driver relation to XFree

2003-11-03 Thread Thomas Winischhofer
Tim Roberts wrote:
NO, NO, NO!  EnterVT/LeaveVT do NOT end up in a kernel module!  The
user-mode driver that is part of XFree86 does ALL of the register
manipulation needed to change the video mode in and out of graphics.  It's
ALL done in the user-mode driver.  For those drivers that DO have kernel
components, the kernel sections are doing little more than DMA memory
management, which cannot be done in user-mode.  Register I/O and mode
switching is STILL in user mode.
...  Because the driver knows the card, it knows which of the addresses
is the frame buffer and which has the memory-mapped registers.  It maps
that space into user-mode address space, and starts writing.
And where can I find that code, which interacts with the driver? I think
this EnterLeaveVT functions are only a small part of this. Is the most of
that card dependent stuff in there as well?


It doesn't INTERACT with the driver.  It IS the driver.  Every driver in
the XFree86 source code (which you really need to read) includes EnterVT
and LeaveVT entry points, that do whatever needs to be done to switch the
board into and out of graphics mode.  For many of the drivers, EnterVT and
LeaveVT looks the same; they just call into other functions within that
driver.
I think that one more thing to be said here is that the video drivers' 
Enter/LeaveVT are

1) completely driver private functions, and
2) - more important - not doing everything needed in order to switch to 
another VT or back to the server. Leave/EnterVT (with root entry points 
in one of the top level structures, ScrnInfo) are possibly a cascade of 
functions which are called one after the other in order to do this. Just 
- in what hacky way ever - calling a video driver's Enter/LeaveVT will 
have very unpleasant and unexpected results.

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  http://www.winischhofer.net/
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: Sis DRI test

2003-10-24 Thread Thomas Winischhofer
Stjepan Stamenkovic wrote:
I have build X from CVS with Kernel 2.6-test8 and SiS DRI (I have a SiS
630 with 32MB) worked quite well ... like in 4.2
But there's still an out of video/agp memory Error in some
applications (Serious Sam / some games with wine) but quake3 works quite
well ...
Well, the driver assumingly still can't swap to system RAM. Same 
situation as before. Set the memory to 64MB in the BIOS setup, helps 
perhaps a little.

Also Blender and wings3d look somehow different after some time (like
explained on winischhofer.net)
Also at start from X I get: agp acquire failed.
agpgart in the kernel? Current DRM module?

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  http://www.winischhofer.net/
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: Sis DRI ?

2003-10-22 Thread Thomas Winischhofer
Måns Rullgård wrote:
Eric Anholt [EMAIL PROTECTED] writes:


Is somebody currently working on the SIS DRI driver/port ?

I'm new on the list and not as well informed ;)
Yes, I am (though I'm nearly done with the changes I'm making to the
300-series driver unless I can get docs).  It is currently usable in DRI
CVS and should work from XFree86 CVS, though I haven't tested there.  Is
there a particular question?


Which SIS chips is this about?  
300 series (300/305, 540, 630, 730).

 Any chance we'll be seeing DRI on SIS 650?

As before.

Thomas



--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  *** http://www.winischhofer.net/
twini AT xfree86 DOT org


___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: You suggest an upgrade, eh?

2003-10-14 Thread Thomas Winischhofer
Måns Rullgård wrote:
Mike A. Harris [EMAIL PROTECTED] writes:


Right now, the biggest hit on the desktop is probably 
unaccelerated RENDER operations.  That's what most users likely 
see as desktop slowdowns currently.  Over time, those things 
will improve as people write support.


I've been trying to find specs for implementing hardware RENDER
support for my graphics card.  I have the specs for the card.  The
problem is that nobody seems to know what the various RENDER functions
in a driver are supposed to do, or what the structs represent.
Without this information, there's not much I can do.
For a start, look at the mga or the sis driver. Both accelerate aa 
texture blitting for aa text with quite remarkable speed improvements.

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  *** http://www.winischhofer.net/
twini AT xfree86 DOT org


___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: You suggest an upgrade, eh?

2003-10-14 Thread Thomas Winischhofer
Måns Rullgård wrote:
Thomas Winischhofer [EMAIL PROTECTED] writes:

I've been trying to find specs for implementing hardware RENDER
support for my graphics card.  I have the specs for the card.  The
problem is that nobody seems to know what the various RENDER functions
in a driver are supposed to do, or what the structs represent.
Without this information, there's not much I can do.
For a start, look at the mga or the sis driver. Both accelerate aa
texture blitting for aa text with quite remarkable speed improvements.


I was hoping not to have to wade through hundreds of lines of chip
specific code and try to guess what they tell the chip to do.  If I
only knew exactly what the functions are supposed to do, and what the
supplied data is, it would be straight-forward to have my chip do the
work.
The parts that do RENDER accleration are by no means hundreds lines of 
code. It plain two accelerator functions. I myself had no clue either 
when I started, and implementing this took only one day.

It's basically two blitting functions: one for pure alpha map (one 
bitplane, only alpha values; this one is used for aa text), one for 32 
bit ARGB bitmaps. If you know how to implement this on your hardware, 
it's really easy. You can take over most of the surrounding code from 
either the mga or the sis driver, and just replace the machine specific 
stuff. The mga driver uses the 3D engine for this (AFAIK), the sis 
driver the 2D engine and a small hack (for aa text, since the engine 
lacks support for doing source and destination alpha at the same time). 
If you look at the sis driver, look in sis310_accel.c for everything 
inside #ifdef INCL_RENDER.

I am afraid that is all the help I can give you. I haven't found any 
documentation on this either.

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  http://www.winischhofer.net/
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


XAA bug

2003-10-06 Thread Thomas Winischhofer
In xaaPCache.c, lines 2051 and following, a Color8x8 pattern is written 
to the cache.

Hm. This looks like this:

   /* Write and expand horizontally. */
   for (i = h, dstPtr = data, srcPtr = pPix-devPrivate.ptr; i--;
srcPtr += pPix-devKind, dstPtr += pScrn-bitsPerPixel) {
 nw = w;
 memcpy(dstPtr, srcPtr, w * Bpp);
 while (nw != 8) {
memcpy(dstPtr + (nw * Bpp), srcPtr, nw * Bpp);
nw = 1;   ^^
 }
   }
That should read:

   /* Write and expand horizontally. */
   for (i = h, dstPtr = data, srcPtr = pPix-devPrivate.ptr; i--;
srcPtr += pPix-devKind, dstPtr += pScrn-bitsPerPixel) {
 nw = w;
 memcpy(dstPtr, srcPtr, w * Bpp);
 while (nw != 8) {
memcpy(dstPtr + (nw * Bpp), dstPtr, nw * Bpp);
nw = 1;   ^^
 }
   }
IMHO, one can't expand the pattern from the SOURCE, but should use the 
DESTINATION instead.

Everybody agree?

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  *** http://www.winischhofer.net/
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: XAA bug

2003-10-06 Thread Thomas Winischhofer
Mark Vojkovich wrote:
   Yes, it should be the dstPtr.  I didn't know anyone used the
Color8x8 pattern path.  It's not an interesting path if you
support Mono patterns.
Well, months after I implemented acceleration for Color8x8 patterns I 
today for the first time succeeded triggering this. KDE (or Qt?) fills 
the background with a 2x2 pattern using this under some circumstances.

I already commit the fix to the CVS.

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  http://www.winischhofer.net/
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: Starting XFree86 without an XF86Config file

2003-10-03 Thread Thomas Winischhofer
Tim Roberts wrote:
On Fri, 03 Oct 2003 15:55:47 -0500, Bryan W. Headley wrote:

It's 3 curves of 256 datapoints. Floating point or integer. What you 
have to assume is that every point on the curve is grabbable, either 
through a spline curve widget, or something like

datapoint [123]^   red [ 45] green [ 23]  blue [ 52]

With the premise being, you scroll to whichever element you want with 
the datapoint wheel widget; the values for red/green/blue are actually 
what you'd call red[123], green[123] blue[123] (only because in the 
example above, we're at the 123rd element)


This discussion needs an infusion of reality.

I fully realize there are many graphics cards for which the color curves
can be set exactly as you describe, as 3 arrays of 256 elements.  The S3
Savages do it that way.
However, the UI you describe is just silly.  There is NO real-world reason
to have a configuration widget that allows gamma setting on a
point-by-point basis.  For gamma, a single exponent (perhaps one exponent
per primary) is the only thing that a UI needs to provide.
Erm, brightness would be nice, too.

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  http://www.winischhofer.net/
twini AT xfree86 DOT org
--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  http://www.winischhofer.net/
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: Exporting sched_yield to the drivers

2003-09-23 Thread Thomas Winischhofer
Nathan Hand wrote:
Why not

slice 1) send 1 megabyte
...
slice 2) fifo not drained, reduce fifo to 512kB, wait
...
slice 3) fifo not drained, reduce fifo to 256kB, wait
...
slice 4) fifo drained, send 256kB
...
slice 5) fifo drained, send 256kB


Does the hardware have a register containing a pointer to the current 
command being executed?

I solved a similar problem in the SiS driver by doing it the following 
way:

1) Push data into the FIFO until it's filled up to a quarter of its size
2) Before pushing further data, wait for the current command pointer to 
be outside the second quarter (which I am about to write to)
3) Likewise with the third and fourth quarter: Just wait until the 
current command pointer is outside these, and the write to this quarter 
without any waiting.

This minimizes CPU waiting to 1/4 of the original extent. Benchmarks 
have shown that dividing the queue size in smaller parts than quarters 
makes it slower because of the more frequent polling of the command ptr.

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  *** http://www.winischhofer.net/
twini AT xfree86 DOT org


___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: [Dri-devel] XGI?

2003-09-16 Thread Thomas Winischhofer
Alex Deucher wrote:
Will the drivers for both current and future chips be open source? 
What sort of feature set will the drivers support (2D, 3D, video,
multi-head, etc.)?  Will databooks be available to developers?
The drivers for the current chips _are_ open source I guess :)

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  *** http://www.winischhofer.net/
twini AT xfree86 DOT org


___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: [Dri-devel] XGI?

2003-09-15 Thread Thomas Winischhofer
Russ Dill wrote:
On Mon, 2003-09-15 at 11:03, Alex Deucher wrote:

Is anyone on either of these lists familiar with XGI?  It seems to be a
new GPU manufacturer consisting of a merger of Trident and the SiS
graphics division.
here's their website:
http://www.xgitech.com/index.htm
They have some interesting products products (dual GPU solution).  Some
of their other stuff looks similar to existing SiS and trident
products.  They mention linux support, but I see no links to drivers
anywhere.  does anyone know anymore about this company?  Are they
writing xfree drivers or with any existing drivers work with these
chips?  SiS has has a bad record of giving out specs on it's newer
chips; trident I guess has been a little bit better.
I guess this company will do it like SiS did in the past: Make the 
chips, but leave the integration into boards to other manufacturers. 
(The embedded-and-customized-hell will never end...)

My bet would be that ECS and MSI will be among the first to design 
boards for these chips.

SiS spins off their 3D buisness and it gets named Xabre
Trident buys/merges, whatever with Xabre, and the new company is named
XGI
I think they it became official on the 13 or 14th, don't remember. So
for now, its just the Xabre products and the trident products
(cyberblade2, etc).
The Volari's specs look indeed like the Xabre's, except for that 
Cipher video processor and the dual-GPU option. Apart from this (and 
3D, of course), these chips should be well supported by the current SiS 
driver (well, as soon as I get the PCI IDs)

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  http://www.winischhofer.net/
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: MergedFB and XINERAMA

2003-09-08 Thread Thomas Winischhofer
Billy Biggs wrote:

  As a more specific version of my last post, do MergedFB drivers not
support the XINERAMA client extension such that applications can know
that there are multiple heads?
Only the SiS driver. A patch for radeon (by alex deucher) is in 
bugzilla. mga does not support that yet.

  I would hope that these two things are not mutually exclusive.
Well, Xinerama and MergedFB don't go too well together. I have a section 
on the problems involved on my website (URL in sig). Search for Xinerama.

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  *** http://www.winischhofer.net/
twini AT xfree86 DOT org


___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: Dual-head without XINERAMA ?

2003-09-08 Thread Thomas Winischhofer
Billy Biggs wrote:
http://vektor.ca/bugs/atidriver/xpdy2.log includes the lines
screen #0:
  dimensions:2560x1024 pixels (867x347 millimeters)
  resolution:75x75 dots per inch
is that any use ?
  Not in general.  I use the vidmode extension to get the current
resolution, since my users often make 720x480 modelines and such things
and switch to that (using ctrl-alt-+) to play video.  However, I use the
geometry information to calculate the pixel aspect ratio to use.
Erm, I might be mistaken, but the geometry information has nothing to do 
with the current display mode. If I have a screen of 1024x768, 260x195mm 
according to xdpyinfo, I still receive the same values after switching, 
say, to 1280x768 (which has a totally different aspect ratio)... hence, 
geometry is static and obviously independent of the current display mode...

  So in this case, vidmode tells me our resolution is 1280x1024, and X
tells me that we're not using XINERAMA and that our geometry is 867x347
millimeters.
  Makes sense?
Not really. That xdpyinfo output is strange - 2560x1024 looks like two 
screens of 1280x1024 aside each other; is this a radeon machine using 
Alex' driver? Seems it's not the current one as it reports that Xinerama 
is not supported.

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  *** http://www.winischhofer.net/
twini AT xfree86 DOT org


___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: Dual-head without XINERAMA ?

2003-09-08 Thread Thomas Winischhofer
Alex Deucher wrote:

It appears that the ati firegl driver does not support xinerama when
using its dualhead/mergedfb mode.  I'd be happy to add xinerama
support for ati's driver.  just tell them to release the source ;)
Hm, I don't recall any required explicit code for Xinerama support in my 
driver.. (speaking of normal dual head, not MergedFB)

The Xinerama extension is initialized after the driver has done its 
part(s). If the option Xinerama is set, it's being added to the list 
of extensions, if not - not. Xinerama is fully transparent for the driver...

No idea what the ATI folks have done there... seems to be some sort of 
mergedfb mode, too.

Does that piece support normal dual head mode (speak: 2 device 
sections, 2 screen sections, etc)?

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  *** http://www.winischhofer.net/
twini AT xfree86 DOT org


___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: Dual-head without XINERAMA ?

2003-09-08 Thread Thomas Winischhofer
Billy Biggs wrote:
Thomas Winischhofer ([EMAIL PROTECTED]):


No idea what the ATI folks have done there... seems to be some sort of
mergedfb mode, too.
Does that piece support normal dual head mode (speak: 2 device
sections, 2 screen sections, etc)?


  Yes it does, but users always whine and complain when I tell them to
use it.
Frankly, I understand that - mergedfb is way better :)

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  http://www.winischhofer.net/
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: i855 and 1400x1050

2003-09-08 Thread Thomas Winischhofer
Alessandro Temil wrote:
Egbert Eich wrote:

   David
  Here you are, i attached both i810 and vesa driver XFree86.0.log.
  (by the way, i'm new of this mailing list, if it doesn't allow 
messages   with attachments i'll repost them inlined asap.)
This moring i wrote to intel asking for the specifications, i 
hope to   get a reply soon.
 
Neither the VESA nor the i8xx driver lists any 1400x1050 mode.

Egbert.
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


I know, that's why we need to program directly the video chip, as the 
windows driver does.
Seems so. I found no trace of a 1400x1050 mode in the BIOS. However, it 
seems to support different panel types (brands, models) of that very 
resolution.

If the reason for not implementing a mode for the native resolution in 
the BIOS is that the chip can be connected to many different video 
bridges, this is simply dumb. That way they need a huge windows driver, 
taking care of all that, which furthermore needs to be updated 
permanently if a new machine comes out... SiS folks haven't updated 
their Windows driver since February, and it works with about every 
machine in existance (due to the BIOS of all machines containing info on 
all supported modes for their host machine)

A register dump from a windows driver would be the only way, I guess...

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  http://www.winischhofer.net/
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: i855 and 1400x1050

2003-09-06 Thread Thomas Winischhofer
Alessandro Temil wrote:
David Dawes wrote:

On Fri, Sep 05, 2003 at 11:25:35AM -0700, Tim Roberts wrote:

On Fri, 05 Sep 2003 20:04:19 +0200, Alessandro Temil wrote:


Christian Zietz wrote:

The problem is: The current i810 driver does not only read the 
available
resolutions from the BIOS but also uses the BIOS to set the video 
mode.
So if the BIOS doesn't know of 1400x1050, it won't set it.
I think there are two solutions:
- Change the BIOS to know of 1400x1050. This should be easy for
manufacturer of the notebook but considerably harder than my 855patch
(for the video memory issue) for anyone else.
It is possible that the BIOS actually knows the mode, but has no VESA 
number for it. I have seen this at least on SiS hardware: SiS BIOSes 
maintain two mode number lists, one with internal mode numbers, one for 
VESA mode numbers. As the i810 BIOS, it has no VESA number for 1400x1050.

A closer look at the BIOS would perhaps help... if it turns out the BIOS 
has in internal mode number, one could change the mode switching from 
VESA to (direct) int10 and use the internal mode number(s).

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  http://www.winischhofer.net/
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: i855 and 1400x1050

2003-09-06 Thread Thomas Winischhofer
Alessandro Temil wrote:
Thomas Winischhofer wrote:

Alessandro Temil wrote:

David Dawes wrote:

On Fri, Sep 05, 2003 at 11:25:35AM -0700, Tim Roberts wrote:

On Fri, 05 Sep 2003 20:04:19 +0200, Alessandro Temil wrote:


Christian Zietz wrote:

The problem is: The current i810 driver does not only read the 
available
resolutions from the BIOS but also uses the BIOS to set the video 
mode.
So if the BIOS doesn't know of 1400x1050, it won't set it.
I think there are two solutions:
- Change the BIOS to know of 1400x1050. This should be easy for
manufacturer of the notebook but considerably harder than my 
855patch
(for the video memory issue) for anyone else.


It is possible that the BIOS actually knows the mode, but has no VESA 
number for it. I have seen this at least on SiS hardware: SiS BIOSes 
maintain two mode number lists, one with internal mode numbers, one 
for VESA mode numbers. As the i810 BIOS, it has no VESA number for 
1400x1050.

A closer look at the BIOS would perhaps help... if it turns out the 
BIOS has in internal mode number, one could change the mode switching 
from VESA to (direct) int10 and use the internal mode number(s).

Thomas

I'm not sure to have the necessary knowledge, but may give a try, do you 
know any good bios dumper/disassembler that runs under linux that you 
would suggest for this task?
Send the BIOS to me (privately), I'll have a look. To dump it, do

  dd if=/dev/mem of=/tmp/vidbios.bin bs=1 count=65535 skip=786432

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  http://www.winischhofer.net/
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: RENDER question

2003-08-28 Thread Thomas Winischhofer
Michel Dnzer wrote:
[stripped]
  (  3180.0/sec): 500x500 rectangle
 
  (  1920.0/sec): 500x500 tiled rectangle (17x15 tile)
 
  (   139.0/sec): ShmPutImage 500x500 square
Here (P4 Celeron, 2.0Ghz, SiSM650, DDR266) it's

2500/sec for rect500
1100/sec for oddtilerect500
717/sec for shmput500
Seems your engine is a bit faster (rect500, oddtilerect). VideoRAM 
access seems slower, though ?! Huh?

Why the h*ck is render so fast on your machine?

One possibility is that doing it unaccelerated requires the CPU to read 
from video RAM, which is terribly slow on my shared-memory architecture 
machine. dga (by pressing b) reports about 500MB/sec for writing, and 
only 37MB/sec for reading.

Perhaps the 2D engine suffers from the same bottle-neck when doing the 
alpha blending...

(Now, if I just could find out why the accelerator functions are not 
being called on my 4.3 system...)
I guess it's not the op being something else than PictOpOver? Could it
be related to XAA_RENDER_NO_SRC_ALPHA?
I hadn't even set this until this morning. (In my tests, source alpha 
was never used as logging the calls showed).

They are called under 4.2, but not under 4.3. 
Does the server make the difference, or the libraries? Have you traced
the X server which would call them?
Qt (current debian version) never uses them, be it under 4.2 or 4.3. 
(One SuSE user reported they do on his system, though).

OpenOffice (current Debian version) uses them under both 4.2 and 4.3. 
Perhaps they have their own routines?

Frankly, I think it's only related to my inconsistent setup (Debian SID, 
4.3 binaries from XFree.org copied over the 4.2 setup). I wouldn't 
bother too much about this.

Maybe freetype (which I use the Debian sid version of) needs to be 
recompiled for 4.3.
I don't think freetype is directly related to this, do you mean Xft?
Well, I confess, I am not an expert on these hundreds of libraries 
involved with text rendering :)

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  *** http://www.winischhofer.net/
twini AT xfree86 DOT org


___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: xfree86, DRI, and multiple heads: thoughts and ideas

2003-08-28 Thread Thomas Winischhofer
Alex Deucher wrote:
Next, mergedfb...

I've been thinking about creating generic xfree support functions to
replace the chipset specific ones for mergedfb.  This would make it
easier to add mergedfb to other chipsets that support dualhead.  Where
should this live?  also, as far as pseudo-xinerama, should that be made
part of the generic mergedfb code or part of xinerama proper?  i.e., to
extend xinerama to handle both multi-card and single card xinerama.  Or
is all of this going to be refactored in xfree 5?
IMHO, pseudo-Xinerama as we have it today is far from being perfect, 
partly because MergedFB mode does not fit into the Xinerama idea of two 
fixed-sized screens (RandR ignored here) with a fixed boundary between them.

I'd prefer extending Xinerama for MergedFB specifics instead, and 
removing that pseudo-stuff in the long term.

However, this would require some enhancements for the Xinerama extension 
(signals to clients, etc). That is, if at all, XF5 material, I guess.

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  *** http://www.winischhofer.net/
twini AT xfree86 DOT org


___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: RENDER question

2003-08-28 Thread Thomas Winischhofer
Soeren Sandmann wrote:

FWIW, I get numbers comparable to Thomas' with an Nvidia Geforce 2,
a 1GHz CPU, and a stock Red Hat 9 server using the free driver:
  96000 reps @ 0.0628 msec ( 15900.0/sec): Char in 30-char aa line
  (Charter 24)
Well, now I feel good again with my 105000/sec here :)

Thanks Søren and Aidan.

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  *** http://www.winischhofer.net/
twini AT xfree86 DOT org


___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: RENDER question

2003-08-28 Thread Thomas Winischhofer
Mark Vojkovich wrote:
On Thu, 28 Aug 2003, Thomas Winischhofer wrote:


Michel Dänzer wrote:
[stripped]
 (  3180.0/sec): 500x500 rectangle

 (  1920.0/sec): 500x500 tiled rectangle (17x15 tile)

 (   139.0/sec): ShmPutImage 500x500 square
Here (P4 Celeron, 2.0Ghz, SiSM650, DDR266) it's

2500/sec for rect500
1100/sec for oddtilerect500
717/sec for shmput500
Seems your engine is a bit faster (rect500, oddtilerect). VideoRAM 
access seems slower, though ?! Huh?


Yours is unusually fast.  You must have AGP fastwrites on.
What value are you referring to?

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  http://www.winischhofer.net/
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: RENDER question

2003-08-27 Thread Thomas Winischhofer
Carsten Haitzler (The Rasterman) wrote:
 please please please PLEASE! accelerate everythig you can :) 
 
 http://www.rasterman.com/files/render_bench.tar.gz

Is it correct to assume, that the image I see over a rainbow-like
background is the result of RENDER, and over a grey-shaded background
from imlib?

If so, it looks good for RENDER accel for the SiS driver... (erm, well,
unscaled yet)

Thomas


-- 
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  *** http://www.winischhofer.net/
twini AT xfree86 DOT org



___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


RENDER question

2003-08-26 Thread Thomas Winischhofer
Since I recently found out that SiS hardware _does_ support per-pixel 
alpha-blended bitblits, I could finish the (yet disabled) render 
acceleration.

The only problem I encountered: The functions that I provide 
(SetupFor/SubsequentCPUToScreen[Alpha]Texture) are never called as it 
seems

How come?

Shouldn't AA text be drawn using these functions?

Is there any test program for this?

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  *** http://www.winischhofer.net/
twini AT xfree86 DOT org


___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: RENDER question

2003-08-26 Thread Thomas Winischhofer
Sorry for replying to my own post:

Since I have found only one application triggering calls to the 
accelerated RENDER functions (openoffice), I wonder under what 
circumstances these functions are called as regards anti-aliased text?

Why isn't for example Qt (which I use in version 3.1.1 here) or Mozilla 
(1.4, Debian's xft-enabled version) triggering these functions?

Thomas Winischhofer wrote:
Since I recently found out that SiS hardware _does_ support per-pixel 
alpha-blended bitblits, I could finish the (yet disabled) render 
acceleration.

The only problem I encountered: The functions that I provide 
(SetupFor/SubsequentCPUToScreen[Alpha]Texture) are never called as it 
seems

How come?

Shouldn't AA text be drawn using these functions?

Is there any test program for this?
--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  *** http://www.winischhofer.net/
twini AT xfree86 DOT org


___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: DPI with multiple heads and virtual desktops

2003-08-20 Thread Thomas Winischhofer
Alex Deucher wrote:
How is DPI supposed to work if you have a virtual desktop larger than
the current mode?  the current code seems to produce the wrong DPI. 
xf86SetDpi() has the following code:

 if (pScrn-widthmm  0) {
pScrn-xDpi =
  (int)((double)pScrn-virtualX * MMPERINCH / pScrn-widthmm);
 }
 if (pScrn-heightmm  0) {
pScrn-yDpi =
 (int)((double)pScrn-virtualY * MMPERINCH / pScrn-heightmm);
 }
if you have, for example,
DisplaySize 300 230 
and a virtual resolution of say 2048x768 and a mode of 1024x768, the
DPI would get set to 173, 84.  which (I think) is wrong.  it should be
86, 84 which is what you would get when your mode matches your virtual
resolution.  I'm having the same problem with Mergedfb since it uses a
virtual resolution with two viewports looking into it.  I could add the
heightmm or widthmm of both heads to make the DPI correct for the
virtual size with respect to the two heads.  I'm not sure how xinerama
deals with it.  maybe the current behavior is right?  I dunno.

Thoughts?
Without actually having looked at this, my preliminary opinion is that 
what we do presently is correct. I don't see the mode dimensions 
anywhere in the calculation you quoted above.

virtualX and Y can be bigger than the viewport in any case (not just 
MergedFB mode). I think the whole DPI system is based on the assumption 
that you _see_ the whole (virtual) desktop, ie you're running at the 
maximum mode(s on each head). The only thing one has to do is to set 
DisplaySize correctly, namely to the over-all size of BOTH heads 
(depending on their relative location, of course).

As Aitchison showed in his reply, Xinerama does basically the same as it 
just resizes the mmWidth/Height with regard to the second head, although 
it does this by calculating some sort of average.

Be it adding the second head's dimension to the mmHeight/Width, be it 
calculating an average, both methods are likewise inaccurate if you use 
two output devices with different actual DPI values.

But as said, this is my unqualified opinion without looking at it 
closer. I'll think about it.

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  http://www.winischhofer.net/
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: Xrender transforms...

2003-08-14 Thread Thomas Winischhofer
Alan Hourihane wrote:
On Sun, Aug 10, 2003 at 02:27:13PM +1000, Carsten Haitzler wrote:

Would I be correct in the assumption that the only accelerated path for xrender
is the identity transform (1:1 scale)? all other transforms are done in
software? (my initial tests here with xfree86 4.3.0  nvidia's latest drivers
(as of about a month ago) seem to indicate as much...) (and yes... my drivers
are using acceleration... GL definitely is). ?


No. About 99% of the drivers don't have any xrender acceleration. I think
only the mga driver does. Although looking furthur the sis has some, but
it seems disabled, 
It's disabled because it doesn't work as Render. SiS hardware only 
supports one alpha per operation (and not per pixel). I kept the code 
within #if 0s for possibly upcoming XAA transparency support.

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  http://www.winischhofer.net/
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


cmap symbols

2003-08-08 Thread Thomas Winischhofer
Is there any good reason for not putting the other xf86... functions for 
the cmap stuff into the lookup table in xf86sym.c ?

Specifically, what about the gamma functions in xf86cmap.c?

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  *** http://www.winischhofer.net/
twini AT xfree86 DOT org




___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: Seeking MergedFB - Xinerama development advice

2003-08-06 Thread Thomas Winischhofer
Sorry for replying to my own post:

Alex,

I just uploaded a new version (to my website), this time with RandR 
support for the Pseudo-Xinerama stuff.

This required quite a few changes, such as

- recalculating the maxCRTx_xx fields in UpdateXineramaScreenInfo() 
rather than doing this once during mode-linking; but only if the virtual 
size has changed;
- calling UpdateXineramaScreenInfo() in SwitchMode()

etc.

Unfortunately, KDM does not support RandR as it seems, so I have not 
tested this in reality yet.

Thomas

Thomas Winischhofer wrote:
Alex Deucher wrote:

I'd be interested in seeing your code once you have decided on a route,
so that I can update the radeon mergedfb driver.


Alex, the code is now available on my website (URL in sig).

Look for everything surrounded by #ifdef SISXINERAMA, and check the 
additions to the CopyModeNLink() function (setup of maxCRTx_xx).

I wrote a little description which can be found in the options chapter 
about MergedFB mode on the mentioned website. Please read that first.

When reading and trying to understand the code (which is far from being 
as trivial as I wrote in the original message of this thread), think of 
the following special situations:

- overlapping viewports (virtual desktop too small for largest Metamode),
- Virtual desktops larger than the largest Metamode
- Clone modes whereas the CRT2Position is not Clone
The SiS-Pseudo-Xinerama extension will be disabled if the user selected 
Clone as the CRT2Position (whatever you call this in the radeon 
driver), and if only clone modes are given (that is, if the metamodes 
list only contains modes without a - and a second mode following).

For a while I thought of updating the Xineramainfo with each mode 
switch, since the boundary between the two heads eventually changes with 
every such event. But after having implemented this, I turned out that, 
at least with KDE/KDM, that had no effect; seems that the KDE system 
queries the Xinerama extension only once, at startup... So I went for a 
static information, calculated based on all Metamodes given, trying to 
find a somewhat usable common.

Essentially, the Xineramainfo for each (pseudo-)screen is the maximum 
scrolling area of each head, taken from all Metamodes given. So far, 
this is the smartest solution I could come up with.

KDM works well with this, even with overlapping pseudo-screens, as does 
Xine and some other applications. I don't know about other window 
managers, though.

Some Metamode-combinations are, of course, very inconvenient for my 
current concept, such as the 1280x1024-1024x768 1024x768-1280x1024 
example I already mentioned. But I think, manually disabling Xinerama 
support in such cases this is the price one must pay...

Comments appreciated, especially from folks using the NVidia binary 
driver with its Xinerama support.

Thomas



--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  *** http://www.winischhofer.net/
twini AT xfree86 DOT org


___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Seeking MergedFB - Xinerama development advice

2003-08-04 Thread Thomas Winischhofer
I now implemented a small Xinerama extension for the SiS driver's 
MergedFB mode, following the binary NVIDIA driver's example.

However, since Xinerama and MergedFB (or Twinview, if you want) is not 
entirely the same, I encountered a logical problem during programming:

With Xinerama, the two screens never change size (unless you use RandR, 
this theoretical possibility is left aside in the following), nor 
position during server life-time. Hence, filling in the PanoramiXData 
structure is trivial and only needs to be done once at server startup.

MergedFB mode is different in this regard: Here, there is only one 
screen visible for the server and the clients, and heads' viewports can 
float around more or less freely in the virtual framebuffer. There are 
no 2 screens in the true meaning of that word; the screens (which 
should be given information about by querying the Xinerama extension) in 
MergedFB/Twinview are determined by the very metamode used.

Imagine the following example:

Virtual framebuffer 2304x1024, meta modes 1280x1024-1024x768 and 
1024x768-1280x1024  (meaning: Mode 1 is 1280x1024 on head 1, 1024x768 on 
head 2; Mode 2 is 1024x768 on head 1 and 1280x1024 on head 2).

Mode 1: (fixed width font required for viewing)

+--+
|++ +-+|
||| | ||
||| | ||
||| | head 2  ||
||| |1024x768 ||
||  head 1| | ||
||1280x1024   | | ||
||| +-+|
||||
||| Virtual framebuffer|
|++|
+--+
Mode 2:

+--+
|+-+ ++|
|| | |||
|| | |||
|| head 1  | |||
||1024x768 | |   head 2   ||
|| | |  1280x1024 ||
|| | |||
|+-+ |||
||||
||||
|++|
+--+
(For those not familiar with MergedFB mode: The smaller head in this 
szenario can be scrolled freely within its boundaries, ie there is never 
an area of the framebuffer which is not reachable.)

As you can see, the boundary line between the two heads differs 
depending on the current metamode: At Mode 1, it is at 1280, at Mode 2 
at 1024.

Now for the problem:

At least KDM (which I used for testing) queries the Xinerama extension 
only once, during startup.

What values should the XineramaQueryScreens() function return?

Preliminarily, I went for the following solution:

If head 2 is right of head 1, (other positions not regarded in this example)

screen 0 (head 1)   
x = 0
y = 0
width = maximum X of all modes for this head
height = virtual Y framebuffer size
screen 1 (head 2)
x = virtual X fb size - maximum X of all modes for this head
y = 0
width = maximum X of all modes for this head
height = virtual Y framebuffer size
In numbers:

screen 0 (head 1)
x = 0
y = 0
width = 1280
height = 1024
screen 1 (head 2)
x = 1024
y = 0
width =  1280
height = 1024
This gives two overlapping screens... The result is:

If running in Mode 1, a smart application might place a window meant for 
head 2 at (1024, 0) - which is partly in head 1's viewport, and partly 
outside head 2's viewport. However, the window is correctly placed at 
these coordinates if currently running in Mode 2.

Does anybody have a better solution?

Should I perhaps use the current viewport positions/sizes for this, and 
update the structure on each mode switch? (At least with KDM, this won't 
have any effect as it seems to query the Xinerama data only once, as said)

Especially for Mark V.: How is the binary NVidia driver doing this?

Any advice appreciated.

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  *** http://www.winischhofer.net/
twini AT xfree86 DOT org


___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: Seeking MergedFB - Xinerama development advice

2003-08-04 Thread Thomas Winischhofer
Alex Deucher wrote:
I'd be interested in seeing your code once you have decided on a route,
so that I can update the radeon mergedfb driver.
I already thought of you. You will, no worries.

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  *** http://www.winischhofer.net/
twini AT xfree86 DOT org


___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: tvout in XFree86 drivers

2003-07-11 Thread Thomas Winischhofer
The SiS driver fully supports TV out. Open source.

Thomas

Alex Deucher wrote:
several drivers support TV out but not all.  I believe via, trident,
and savage have open source support for most tv out options.  Matrox
provides binary support for the g400 (although you can get tv out
working with the linux frambuffer driver for all recent matrox cards),
as does nvidia.  for ATI there are several open source utilites out
there as well as GATOS, but they all are coded by trial and error since
ati hasn't released tv out specs as far as I know.  I'm not sure abotu
ATI's binary drivers.
was there a particular chip you were interested in?

Alex

--- Andriy Rysin [EMAIL PROTECTED] wrote:

Can anybody tell me what's the status of tvout support in XFree86
drivers?
As far as I understand it's only available for several graphic cards
and 
only from their manufacturer close-source drivers. From gatos project
I 
learned there are some legal issues with ATI boards but don't know 
anything about the others.

Thanks,
Andriy


__
Do you Yahoo!?
SBC Yahoo! DSL - Now only $29.95 per month!
http://sbc.yahoo.com
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  http://www.winischhofer.net/
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: Dell C400 fix applied to 855GM?

2003-07-01 Thread Thomas Winischhofer
Egbert Eich wrote:
Sottek, Matthew J writes:
  The Windows driver does full mode programming including all the external
  digital components from many 3rd party companies. The open source XFree
This is pretty much what the SiS driver does after Thomas got his
hands on it. It programms the SiS and it knows about several video
bridges attached to it.
OT, but for the record: With SiS, it is actuall the other way round. 
SiS' Windows drivers do mode changes _exclusively_ by calling the BIOS. 
That's why they never need to update their Windows driver... and produce 
zillions of different BIOSes instead :(

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  http://www.winischhofer.net/
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: SiS news

2003-06-26 Thread Thomas Winischhofer
Alex Deucher wrote:
I just saw this on extremetech today:

http://www.extremetech.com/article2/0,3973,1101038,00.asp

Looks like SiS is spinning off it's graphics chip division.  perhaps
this could mean better access to databooks!
We'll see. I'd better be not too optimistic, since SiS intends to hold 
99,99 % of the shares of this company.

I think it won't get any better. Basically it will be the same folks 
ruling there...

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  *** http://www.winischhofer.net/
twini AT xfree86 DOT org


___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: Reading a file. works for me !

2003-06-26 Thread Thomas Winischhofer
David Dawes wrote:
The sis driver goes one better and allows you to tell it which file to
to overwrite :-(
This has no real function other than debugging. It's to make it easy for 
people to send me their video BIOS images. Can be removed any time.

On second thought, I will remove this *now*. There are plenty of other 
ways to do the same thing anyway.

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  *** http://www.winischhofer.net/
twini AT xfree86 DOT org


___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: Reading a file. works for me !

2003-06-26 Thread Thomas Winischhofer
David Dawes wrote:
On Thu, Jun 26, 2003 at 06:46:15PM +0200, Thomas Winischhofer wrote:

David Dawes wrote:

The sis driver goes one better and allows you to tell it which file to
to overwrite :-(
This has no real function other than debugging. It's to make it easy for 
people to send me their video BIOS images. Can be removed any time.


Looking at it more closely, the mga case seems much worse.  The sis driver
only writes to a file name specified in the XF86Config file, and only
root should be able to specify that.
I just removed this.

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net  http://www.winischhofer.net/
twini AT xfree86 DOT org
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: status of SiS 3d?

2003-06-03 Thread Thomas Winischhofer
Alex Deucher wrote:
right now just the 300 series (300, 305?, 540, 630/S/ST, 730) have DRI
support.  the old series 6326, 620, 530 don't have DRI support, but but
there are docs available (on the dri website I think) to write a DRI
driver; there was also a utah-glx driver for the that series.  I think
the 6327 might have been the internal sis name for the 300 series,
although that's just a guess on my part.  The 6326 and the 300 series
might be simialr enough to support them both with one driver, but I
No, they are not.

don't know.  Thomas Winischhofer would probably be a better person to
ask.  I was thinking of tackling this myself to try and learn more
Erm, no. I know nothing about DRI. Please don't encourage people to ask 
me about it :)

about the DRI, and I'd be willing to try to help you if you wanted to. 
I'll even provide cards.  sis 300 series cards are also very cheap. 
I wouldn't buy a 300 series card nowadays, as cheap as they might be. 
They are quite slow and far behind today's standards. Their only strong 
side is video support.

What I'd like to know is how different the 3D engine is on the 315
series is from the 300 series, and whether that could be supported at
some point.  
It's totally different; both register layout and other internals have 
changed - not even speaking of the Xabre 3D core (which is totally 
different to the 315's again)

 It's doubtful however since sis refuses to hand out docs
any more.
Once they are through with what is going on right now (can't tell you), 
the situation might become better.

Thomas

--
Thomas Winischhofer
Vienna/Austria
mailto:[EMAIL PROTECTED]  *** http://www.winischhofer.net
mailto:[EMAIL PROTECTED]
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: Another RENDER question

2003-02-28 Thread Thomas Winischhofer
Keith Packard wrote:
Around 0 o'clock on Feb 28, Thomas Winischhofer wrote:


The hardware I am dealing with does not support ARGB textures (at least 
not in 2D level, and I don't want to mess with DRI), but alpha blended 
bit blits.


Using the '3D' hardware needn't entail dealing with DRI.  The MGA driver 
does precisely that for Render acceleration.
Alright. That should be possible.

Can anyone explain to me what exactly (in the words of common 3D 
language) the mga driver does? The register setup is totally uncommented 
in the driver code.

I went through my docs for the 3D registers for the hardware I am 
dealing with (SiS 300 series) and I saw no sort of command for just 
applying a texture mapping or anything similar. I can only define 
vertices for drawing primitives like triangle, line and point - which is 
rather complicated, partly because all coordinates are in floating point 
format. Furtherly, I can define textures (and Z buffers and alpha 
settings and a lot of other stuff). But it seems the texture mapping is 
done based on the results of the setup engine (which does the drawing 
primitives) in the transformation phase. I saw no command for doing a 
simple transformation without firing the setup engine (ie issueing a 
drawing primitive) before. Sorry if that sounds rookie-like - fact is I 
am a rookie on the area of 3D programming.

Is there any 3D expert around who could give me a hint? Docs can be 
provided on request.

The difference being: While ARGB textures contain an alpha value for 
each pixel, the alpha blended bit blits render with a static alpha 
value for all of the bitmap data.


It might be of some use; applications can specify this operation through 
Render with a single-pixel tiled 'mask' operand to composite, but it 
won't speed up text or geometric operations at all.
As Mark pointed out I will save the code I already wrote for features 
like translucent windows.

Thomas

--
Thomas Winischhofer
Vienna/Austria
mailto:[EMAIL PROTECTED]  *** http://www.winischhofer.net
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Another RENDER question

2003-02-27 Thread Thomas Winischhofer
The hardware I am dealing with does not support ARGB textures (at least 
not in 2D level, and I don't want to mess with DRI), but alpha blended 
bit blits.

The difference being: While ARGB textures contain an alpha value for 
each pixel, the alpha blended bit blits render with a static alpha 
value for all of the bitmap data.

Is this hardware capability of any use, be it RENDER or any other XAA 
function?

Thomas

--
Thomas Winischhofer
Vienna/Austria
mailto:[EMAIL PROTECTED]  *** http://www.winischhofer.net
___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: XFree86 4.2.99.902 (4.3.0 RC2) tagged

2003-02-26 Thread Thomas Winischhofer
David Dawes wrote:
Have we achieved code freeze?  Are there major outstanding issues that
are holding us up for the tag date of 27 Feb 2003?


There's nothing standing in the way of it at the moment.
May I suggest that you (the maintainer, that is) update the PCI ID's 
once again before a code freeze? The file in use is 4 months old and I 
added the ID's for the last generation SiS chips one month ago.

Thomas

--
Thomas Winischhofer
Vienna/Austria
mailto:[EMAIL PROTECTED]http://www.winischhofer.net/


___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: Centralize XXXCopyMungedData

2003-02-26 Thread Thomas Winischhofer
Egbert Eich wrote:
  Just my $0.02: Watch out when centralizing the memory allocation 
  routines, different hardware (ie drivers) use different granularities.
  

Yes. Any functions provided by the core server will have the
status of helper functions. Therefore it they don't meet your
needs you can replace them with your own.
Erm, I know that... :) What I actually meant was if Björn starts 
patching *drivers* (and that's what his statements sounded like) he'd 
better take care.

Thomas

--
Thomas Winischhofer
Vienna/Austria
mailto:[EMAIL PROTECTED]http://www.winischhofer.net/


___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: RELNOTES for 4.3.0

2003-02-25 Thread Thomas Winischhofer
David Dawes wrote:
Instead of

Support (accelerated) for the SiS 530, 620, 6326 is provided by the 
sis driver. The 630, 300, and 540 are also supported, but this code is 
new and there are some problems with it in this version.

it should say

Support (accelerated) for the SiS 6326, 530, 620, 300, 540, 630, 730, 
315, 550, 650, 740 is provided by the sis driver. The Xabre (SiS 330) 
might be supported by this is completely untested.


Thanks.  I've made those changes.
ARGH... just saw that: Please add 5597/5598 to this list, and remove it 
from the summary line. Sorry, I really lost track :)

So, for copy-paste convenience:

--

4.3.0:

Support (accelerated) for the SiS 5597/5598, 6326, 530, 620, 300, 540, 
630, 730, 315, 550, 650, M650, 651 and 740 is provided by the sis 
driver. The Xabre (SiS 330) might be supported by this is completely 
untested.

Summary:

Support for the 86C201, 86C202, 86C205, 86C215 and 86C225 is currently 
only available in 3.3.6. Support for some newer chipsets is only 
available in 4.3.0.



Thomas

--
Thomas Winischhofer
Vienna/Austria
mailto:[EMAIL PROTECTED]http://www.winischhofer.net/


___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


Re: Centralize XXXCopyMungedData

2003-02-25 Thread Thomas Winischhofer
Björn Augustsson wrote:
I agree with you that this code doesn't have to be replicated
by each driver. There is a lot more code in the video drivers
which could be cept in a centralized place.


I certainly agree. Gotta start somewhere though...
Just my $0.02: Watch out when centralizing the memory allocation 
routines, different hardware (ie drivers) use different granularities.

Thomas

--
Thomas Winischhofer
Vienna/Austria
mailto:[EMAIL PROTECTED]http://www.winischhofer.net/


___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


ARGB cursor testing

2003-01-16 Thread Thomas Winischhofer
I am about to implement ARGB hardware cursor support into the sis driver.

However, since I am not running CVS (because this is a production 
machine, too) I need a test bitmap of a 32x32 cursor in ARGB format, 
just like it is provided in the pCurs-bits-argb field to the 
LoadCursorARGB function.

The image should not be larger than 32x32 because the SiS hardware can 
only handle cursors up to this size.

Can anyone provide me with the C source of such an image (and a 
description what it should look like)?

Thanks,

Thomas

--
Thomas Winischhofer
Vienna/Austria
mailto:[EMAIL PROTECTED]  *** http://www.winischhofer.net

___
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel