[Dri-devel] Snapshots

2003-10-10 Thread Felix Kühling
Hi,

there were 2 reports from snapshot users on dri-users that DRI was
disabled with the new configuration stuff. In at least one case the
problem was that libexpat was not installed on the system. Could the
snapshot build be changed to link the drivers statically with libexpat?
In either case I'll add a note in the FAQ.

On a related note, there seem to be no trunk snapshots. Only in
bleeding-edge there are snapshots available.

Regards,
  Felix

__\|/_____ ___   -
 Felix   ___\_e -_/___/ __\___/ __\_   You can do anything,
   Kühling  (_\Ä// /_/ /)  just not everything
 [EMAIL PROTECTED]   \___/   \___/   Uat the same time.


---
This SF.net email is sponsored by: SF.net Giveback Program.
SourceForge.net hosts over 70,000 Open Source Projects.
See the people who have HELPED US provide better services:
Click here: http://sourceforge.net/supporters.php
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: [Dri-devel] Dynamic allocation

2003-10-10 Thread Alan Hourihane
On Thu, Oct 09, 2003 at 06:36:11PM +0100, Keith Whitwell wrote:
 Alan Hourihane wrote:
 On Thu, Oct 09, 2003 at 05:30:08PM +0100, Keith Whitwell wrote:
 
 Alan Hourihane wrote:
 
 I've just committed a version of the DRI's common code mm.[ch] linear 
 allocator
 into the XFree86 CVS which extends the FBManager's ability to serve
 real linear space rather than pinching it from the XY area's that's
 usually occupied by the pixmap cache.
 
 This way we can now hand over all memory to the FBManager and allow it
 to give us back memory regions, rather than using the current scheme
 of semi-dynamic allocation that relies on fixed offsets but cannot
 guarantee those offsets in certain situations.
 
 So, I've moved onto the next stage of implementing the dynamics in the
 r200 driver which has shown some tricky pieces to solve with regard
 to allowing dynamic memory management.
 
 For testing purposes, I've added another ioctl to the r200 interface
 to pass the new back/depth offsets to the kernel driver and update
 these offsets  the texture offset in the DDX driver on transitioning.
 The problem is that TransitionTo3D() is called too late to setup these
 new offsets.
 
 To explain a little
 
 We get the current device information during the initial screen setup
 by issuing the DRIGetDeviceInfo() call into the Xserver to retrieve
 these driver private details. If we modify them after this initial setup
 (which we do with transitioning) then we need to retrieve new private
 details to act upon. Currently I've inserted another DRIGetDeviceInfo()
 call into the r200_context.c to pick these up and moved the (modified) 
 code
 
 from TransitionTo3d() in the DDX to the DDX's CreateContext() function.
 
 This works, but seems rather messy. 
 
 Could we add this state to the existing mechanisms that exist to 
 communicate cliprect changes between XFree86 and the driver?
 
 That is, if the driver detects that it's drawable has been invalidated 
 (look at r200GetLock()) the new semantics would be that the driver should 
 both
 - Ask the X server for a new set of cliprects (as it currently does)
 - Ask the kernel module (or X server) for the new buffer locations
 
 This may be more dynamic than you needed, but maybe a future step might 
 require this level of control?
 
 
 It could be added at this stage - yes. But as you say, it's a little
 more dynamic than needed currently. It means changing the 
 DRIGetDrawableInfo()
 call, thus requiring a version bump (which it would anyway as there'd be
 new protocol).
 
 I'm not necessarily suggesting new protocol -- just get the driver to do 
 two things where it currently does one.  Where previously there was a call 
 to DRIGetDrawableInfo(), add a call to GetBufferOffsetIoctl().  Or 
 DRIGetBufferInfo() if you wanted to ask the X server.
 
But it's a case of if I add this extra DRIGetBufferInfo() call then we'll
need to work out how to get it to work with older drivers. 

 Actually putting it at this stage, may well work out. If we ever
 allow a non-unified back buffer architecture and allow per window
 back buffers to reduce the memory footprint furthur.
 
 Yes - that's what I was thinking of...
 
 We have to decide who's the boss of this memory -- the kernel or the X 
 server. Previously we'd assumed that it would be the kernel, but that 
  isn't necessarily the case as the X server already has a memory manager 
 that could do the job, right?

Right. And certainly now with the new linear allocator the Xserver can
manage the whole lot.

Alan.


---
This SF.net email is sponsored by: SF.net Giveback Program.
SourceForge.net hosts over 70,000 Open Source Projects.
See the people who have HELPED US provide better services:
Click here: http://sourceforge.net/supporters.php
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: [Dri-devel] Snapshots

2003-10-10 Thread Jos Fonseca
Felix,

On Fri, Oct 10, 2003 at 10:06:51AM +0200, Felix Kühling wrote:
 Hi,
 
 there were 2 reports from snapshot users on dri-users that DRI was
 disabled with the new configuration stuff. In at least one case the
 problem was that libexpat was not installed on the system. Could the
 snapshot build be changed to link the drivers statically with libexpat?
 In either case I'll add a note in the FAQ.

I suppose so. Does any body here knows how to specify which library
(static or dynamic) the linker should use? (I always just do -lname and
never thought much about it...)

 On a related note, there seem to be no trunk snapshots. Only in
 bleeding-edge there are snapshots available.

I checked the logs. It was breaking because the Xaw headers couldn't
be found on my system. It should be fixed now.

Jose Fonseca


---
This SF.net email is sponsored by: SF.net Giveback Program.
SourceForge.net hosts over 70,000 Open Source Projects.
See the people who have HELPED US provide better services:
Click here: http://sourceforge.net/supporters.php
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: [Dri-devel] Dynamic allocation

2003-10-10 Thread Keith Whitwell
Alan Hourihane wrote:
On Thu, Oct 09, 2003 at 06:36:11PM +0100, Keith Whitwell wrote:

Alan Hourihane wrote:

On Thu, Oct 09, 2003 at 05:30:08PM +0100, Keith Whitwell wrote:


Alan Hourihane wrote:


I've just committed a version of the DRI's common code mm.[ch] linear 
allocator
into the XFree86 CVS which extends the FBManager's ability to serve
real linear space rather than pinching it from the XY area's that's
usually occupied by the pixmap cache.

This way we can now hand over all memory to the FBManager and allow it
to give us back memory regions, rather than using the current scheme
of semi-dynamic allocation that relies on fixed offsets but cannot
guarantee those offsets in certain situations.
So, I've moved onto the next stage of implementing the dynamics in the
r200 driver which has shown some tricky pieces to solve with regard
to allowing dynamic memory management.
For testing purposes, I've added another ioctl to the r200 interface
to pass the new back/depth offsets to the kernel driver and update
these offsets  the texture offset in the DDX driver on transitioning.
The problem is that TransitionTo3D() is called too late to setup these
new offsets.
To explain a little

We get the current device information during the initial screen setup
by issuing the DRIGetDeviceInfo() call into the Xserver to retrieve
these driver private details. If we modify them after this initial setup
(which we do with transitioning) then we need to retrieve new private
details to act upon. Currently I've inserted another DRIGetDeviceInfo()
call into the r200_context.c to pick these up and moved the (modified) 
code

from TransitionTo3d() in the DDX to the DDX's CreateContext() function.


This works, but seems rather messy. 
Could we add this state to the existing mechanisms that exist to 
communicate cliprect changes between XFree86 and the driver?

That is, if the driver detects that it's drawable has been invalidated 
(look at r200GetLock()) the new semantics would be that the driver should 
both
	- Ask the X server for a new set of cliprects (as it currently does)
	- Ask the kernel module (or X server) for the new buffer locations

This may be more dynamic than you needed, but maybe a future step might 
require this level of control?


It could be added at this stage - yes. But as you say, it's a little
more dynamic than needed currently. It means changing the 
DRIGetDrawableInfo()
call, thus requiring a version bump (which it would anyway as there'd be
new protocol).
I'm not necessarily suggesting new protocol -- just get the driver to do 
two things where it currently does one.  Where previously there was a call 
to DRIGetDrawableInfo(), add a call to GetBufferOffsetIoctl().  Or 
DRIGetBufferInfo() if you wanted to ask the X server.
 
But it's a case of if I add this extra DRIGetBufferInfo() call then we'll
need to work out how to get it to work with older drivers. 


Actually putting it at this stage, may well work out. If we ever
allow a non-unified back buffer architecture and allow per window
back buffers to reduce the memory footprint furthur.
Yes - that's what I was thinking of...

We have to decide who's the boss of this memory -- the kernel or the X 
server. Previously we'd assumed that it would be the kernel, but that 
isn't necessarily the case as the X server already has a memory manager 
that could do the job, right?


Right. And certainly now with the new linear allocator the Xserver can
manage the whole lot.
Does the X server make any promises about preserving the contents of the fb 
memory?  EG, if there's a VT switch, will the contents be saved somehow?

Keith



---
This SF.net email is sponsored by: SF.net Giveback Program.
SourceForge.net hosts over 70,000 Open Source Projects.
See the people who have HELPED US provide better services:
Click here: http://sourceforge.net/supporters.php
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: [Dri-devel] Snapshots

2003-10-10 Thread Felix Kühling
On Fri, 10 Oct 2003 10:17:23 +0100
José Fonseca [EMAIL PROTECTED] wrote:

 Felix,
 
 On Fri, Oct 10, 2003 at 10:06:51AM +0200, Felix Kühling wrote:
  Hi,
  
  there were 2 reports from snapshot users on dri-users that DRI was
  disabled with the new configuration stuff. In at least one case the
  problem was that libexpat was not installed on the system. Could the
  snapshot build be changed to link the drivers statically with libexpat?
  In either case I'll add a note in the FAQ.
 
 I suppose so. Does any body here knows how to specify which library
 (static or dynamic) the linker should use? (I always just do -lname and
 never thought much about it...)

The linker option for libexpat is defined in config/cf/X11.tmpl. You
could try changing

EXPATLIB = -lexpat

to

EXPATLIB = -Wl,-Bstatic -lexpat -Wl,-Bdynamic

 
  On a related note, there seem to be no trunk snapshots. Only in
  bleeding-edge there are snapshots available.
 
 I checked the logs. It was breaking because the Xaw headers couldn't
 be found on my system. It should be fixed now.

It had one positive side effect, people were actually using the config
snapshots. ;-)

 
 Jose Fonseca
 

Felix

__\|/_____ ___   -
 Felix   ___\_e -_/___/ __\___/ __\_   You can do anything,
   Kühling  (_\Ä// /_/ /)  just not everything
 [EMAIL PROTECTED]   \___/   \___/   Uat the same time.


---
This SF.net email is sponsored by: SF.net Giveback Program.
SourceForge.net hosts over 70,000 Open Source Projects.
See the people who have HELPED US provide better services:
Click here: http://sourceforge.net/supporters.php
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: [Dri-devel] Dynamic allocation

2003-10-10 Thread Alan Hourihane
On Fri, Oct 10, 2003 at 11:16:06AM +0100, Keith Whitwell wrote:
 Alan Hourihane wrote:
 On Thu, Oct 09, 2003 at 06:36:11PM +0100, Keith Whitwell wrote:
 
 Alan Hourihane wrote:
 
 On Thu, Oct 09, 2003 at 05:30:08PM +0100, Keith Whitwell wrote:
 
 
 Alan Hourihane wrote:
 
 
 I've just committed a version of the DRI's common code mm.[ch] linear 
 allocator
 into the XFree86 CVS which extends the FBManager's ability to serve
 real linear space rather than pinching it from the XY area's that's
 usually occupied by the pixmap cache.
 
 This way we can now hand over all memory to the FBManager and allow it
 to give us back memory regions, rather than using the current scheme
 of semi-dynamic allocation that relies on fixed offsets but cannot
 guarantee those offsets in certain situations.
 
 So, I've moved onto the next stage of implementing the dynamics in the
 r200 driver which has shown some tricky pieces to solve with regard
 to allowing dynamic memory management.
 
 For testing purposes, I've added another ioctl to the r200 interface
 to pass the new back/depth offsets to the kernel driver and update
 these offsets  the texture offset in the DDX driver on transitioning.
 The problem is that TransitionTo3D() is called too late to setup these
 new offsets.
 
 To explain a little
 
 We get the current device information during the initial screen setup
 by issuing the DRIGetDeviceInfo() call into the Xserver to retrieve
 these driver private details. If we modify them after this initial 
 setup
 (which we do with transitioning) then we need to retrieve new private
 details to act upon. Currently I've inserted another DRIGetDeviceInfo()
 call into the r200_context.c to pick these up and moved the (modified) 
 code
 
 from TransitionTo3d() in the DDX to the DDX's CreateContext() function.
 
 
 This works, but seems rather messy. 
 
 Could we add this state to the existing mechanisms that exist to 
 communicate cliprect changes between XFree86 and the driver?
 
 That is, if the driver detects that it's drawable has been invalidated 
 (look at r200GetLock()) the new semantics would be that the driver 
 should both
   - Ask the X server for a new set of cliprects (as it currently does)
   - Ask the kernel module (or X server) for the new buffer locations
 
 This may be more dynamic than you needed, but maybe a future step might 
 require this level of control?
 
 
 It could be added at this stage - yes. But as you say, it's a little
 more dynamic than needed currently. It means changing the 
 DRIGetDrawableInfo()
 call, thus requiring a version bump (which it would anyway as there'd be
 new protocol).
 
 I'm not necessarily suggesting new protocol -- just get the driver to do 
 two things where it currently does one.  Where previously there was a 
 call to DRIGetDrawableInfo(), add a call to GetBufferOffsetIoctl().  Or 
 DRIGetBufferInfo() if you wanted to ask the X server.
 
  
 But it's a case of if I add this extra DRIGetBufferInfo() call then we'll
 need to work out how to get it to work with older drivers. 
 
 
 Actually putting it at this stage, may well work out. If we ever
 allow a non-unified back buffer architecture and allow per window
 back buffers to reduce the memory footprint furthur.
 
 Yes - that's what I was thinking of...
 
 We have to decide who's the boss of this memory -- the kernel or the X 
 server. Previously we'd assumed that it would be the kernel, but that 
 isn't necessarily the case as the X server already has a memory manager 
 that could do the job, right?
 
 
 Right. And certainly now with the new linear allocator the Xserver can
 manage the whole lot.
 
 Does the X server make any promises about preserving the contents of the fb 
 memory?  EG, if there's a VT switch, will the contents be saved somehow?

No. No preservation is done. We need to invalidate everything.

Alan.


---
This SF.net email is sponsored by: SF.net Giveback Program.
SourceForge.net hosts over 70,000 Open Source Projects.
See the people who have HELPED US provide better services:
Click here: http://sourceforge.net/supporters.php
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: [Dri-devel] Dynamic allocation

2003-10-10 Thread Keith Whitwell

Right. And certainly now with the new linear allocator the Xserver can
manage the whole lot.
Does the X server make any promises about preserving the contents of the fb 
memory?  EG, if there's a VT switch, will the contents be saved somehow?


No. No preservation is done. We need to invalidate everything.
That's a problem, as the only way we can do things like accelerated 
CopyTexSubImage() and single-copy textures is if the FB contents are 
guarenteed to be preserved.  That's (I believe) one of the goals of Ian's 
in-kernel memory manager.

The other is to organize some sort of fair sharing of texture memory between 
competing contexts.  I would guess that the X server memory manager doesn't 
try to do this sort of thing?

Keith



---
This SF.net email is sponsored by: SF.net Giveback Program.
SourceForge.net hosts over 70,000 Open Source Projects.
See the people who have HELPED US provide better services:
Click here: http://sourceforge.net/supporters.php
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: [Dri-devel] Dynamic allocation

2003-10-10 Thread Alan Hourihane
On Fri, Oct 10, 2003 at 12:24:56PM +0100, Keith Whitwell wrote:
 
 Right. And certainly now with the new linear allocator the Xserver can
 manage the whole lot.
 
 Does the X server make any promises about preserving the contents of the 
 fb memory?  EG, if there's a VT switch, will the contents be saved 
 somehow?
 
 
 No. No preservation is done. We need to invalidate everything.
 
 That's a problem, as the only way we can do things like accelerated 
 CopyTexSubImage() and single-copy textures is if the FB contents are 
 guarenteed to be preserved.  That's (I believe) one of the goals of Ian's 
 in-kernel memory manager.
 
O.k.

 The other is to organize some sort of fair sharing of texture memory 
 between competing contexts.  I would guess that the X server memory manager 
 doesn't try to do this sort of thing?

Not currently, but I guess it could be made to.

Alan.


---
This SF.net email is sponsored by: SF.net Giveback Program.
SourceForge.net hosts over 70,000 Open Source Projects.
See the people who have HELPED US provide better services:
Click here: http://sourceforge.net/supporters.php
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


[Dri-devel] Savage (The recent game by S2Games)

2003-10-10 Thread Paul Heldens
Could some of the developers check out the playable demo?
There seems to be an agp memory initialisation bug.
one of the authors claims this is due to lacking s3tc support, even when
I follow steps to disable all texture compression in the config file, I
keep getting the agp memory initialisation bug.

I'm on a Radeon R250 using day before yesterdays DRI snapshot.
I also tried it on an older snapshot (2 months) with same result.

demo torrent;
http://gametab.com/files/torrents.php?fuse=95

discussion;
http://www.linuxgames.com/news/feedback.php?identiferID=6363action=flatview

the (or a) contact would be: 
jon at s2games dot com

thx.
Paul Heldens.



---
This SF.net email is sponsored by: SF.net Giveback Program.
SourceForge.net hosts over 70,000 Open Source Projects.
See the people who have HELPED US provide better services:
Click here: http://sourceforge.net/supporters.php
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: [Dri-devel] Dynamic allocation

2003-10-10 Thread Allen Akin
On Fri, Oct 10, 2003 at 12:24:56PM +0100, Keith Whitwell wrote:
| 
| No. No preservation is done. We need to invalidate everything.
| 
| That's a problem, as the only way we can do things like accelerated 
| CopyTexSubImage() and single-copy textures is if the FB contents are 
| guarenteed to be preserved.

Yes, it's extremely important.

Besides performance loss and memory bloat, the lack of framebuffer
memory preservation on Windows has forced some new extensions to have
ugly semantics.  See the vertex buffer object extension

   http://oss.sgi.com/projects/ogl-sample/registry/ARB/vertex_buffer_object.txt

for one example.

This is one more case in which the Windows people did the wrong thing,
and an opportunity for other systems to be better.

Allen


---
This SF.net email is sponsored by: SF.net Giveback Program.
SourceForge.net hosts over 70,000 Open Source Projects.
See the people who have HELPED US provide better services:
Click here: http://sourceforge.net/supporters.php
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: [Dri-devel] Dynamic allocation

2003-10-10 Thread Ian Romanick
Allen Akin wrote:

Besides performance loss and memory bloat, the lack of framebuffer
memory preservation on Windows has forced some new extensions to have
ugly semantics.  See the vertex buffer object extension
   http://oss.sgi.com/projects/ogl-sample/registry/ARB/vertex_buffer_object.txt

for one example.

This is one more case in which the Windows people did the wrong thing,
and an opportunity for other systems to be better.
Since I was part of that working group, I'd like to clarify why some of 
those decisions were made.  In that case it wasn't just Windows 
issues.  The big problem was (and will continue to be) power managment 
events.  As near as I could tell, the power management issue was felt 
across the board.  Platforms were not at all consistent (even in the 
same high-level architecture or OS) WRT what happens to video memory 
when someone closes the lid on their laptop.  On some systems it's kept, 
on some it's dumped but the driver has a change to back it up, and on 
others it's just dumped.

AFAIK, perhaps someone can correct me, XFree86 on Linux falls into the 
last category.



---
This SF.net email is sponsored by: SF.net Giveback Program.
SourceForge.net hosts over 70,000 Open Source Projects.
See the people who have HELPED US provide better services:
Click here: http://sourceforge.net/supporters.php
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: [Dri-devel] Dynamic allocation

2003-10-10 Thread Jon Smirl
Right. And certainly now with the new linear allocator the Xserver can
manage the whole lot.

Does the X server make any promises about preserving the contents of the
fb memory?  EG, if there's a VT switch, will the contents be saved
somehow?
 
 
 No. No preservation is done. We need to invalidate everything.

Thinking along the lines of pbuffers, and giving each process it's own
framebuffer... 
What if Linux console were modified to use DRM for it's hardware access? This
would allow all of the framebuffers to be managed through a single DRM driver.
Now it would be possible to see the VT's on the main windowing display as well
as switch to them. Also if video were being streamed to a window it could go
full screen just by adding it to the VT list.

Would it be interesting to assign each GUI process a VT and then allow
compositing everything into a GUI or alternatively seeing each VT/process
standalone?



=
Jon Smirl
[EMAIL PROTECTED]

__
Do you Yahoo!?
The New Yahoo! Shopping - with improved product search
http://shopping.yahoo.com


---
This SF.net email is sponsored by: SF.net Giveback Program.
SourceForge.net hosts over 70,000 Open Source Projects.
See the people who have HELPED US provide better services:
Click here: http://sourceforge.net/supporters.php
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: [Dri-devel] Dynamic allocation

2003-10-10 Thread Alan Cox
On Iau, 2003-10-09 at 17:16, Alan Hourihane wrote:
 I've just committed a version of the DRI's common code mm.[ch] linear allocator
 into the XFree86 CVS which extends the FBManager's ability to serve
 real linear space rather than pinching it from the XY area's that's
 usually occupied by the pixmap cache.

Excellent, that will mean I can actually fix the VIA bug thats currently
dependant on pixmap cache being  2048 lines and other stuff wanting to
use the memory too.

Is there any good example/docs on changes I need to make to use this for
the 2D driver I have (both setup and pulling non pixmap cache linear
space) and will it make XFree 4.4 ?



---
This SF.net email is sponsored by: SF.net Giveback Program.
SourceForge.net hosts over 70,000 Open Source Projects.
See the people who have HELPED US provide better services:
Click here: http://sourceforge.net/supporters.php
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: [Dri-devel] Dynamic allocation

2003-10-10 Thread Alan Cox
On Gwe, 2003-10-10 at 23:16, Ian Romanick wrote:
 on some it's dumped but the driver has a change to back it up, and on 
 others it's just dumped.
 
 AFAIK, perhaps someone can correct me, XFree86 on Linux falls into the 
 last category.

It depends on the BIOS and other factors. For ACPI it is our job to save
the video ram if we need to



---
This SF.net email is sponsored by: SF.net Giveback Program.
SourceForge.net hosts over 70,000 Open Source Projects.
See the people who have HELPED US provide better services:
Click here: http://sourceforge.net/supporters.php
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: [Dri-devel] Dynamic allocation

2003-10-10 Thread Alan Hourihane
On Fri, Oct 10, 2003 at 11:24:24PM +0100, Alan Cox wrote:
 On Iau, 2003-10-09 at 17:16, Alan Hourihane wrote:
  I've just committed a version of the DRI's common code mm.[ch] linear allocator
  into the XFree86 CVS which extends the FBManager's ability to serve
  real linear space rather than pinching it from the XY area's that's
  usually occupied by the pixmap cache.
 
 Excellent, that will mean I can actually fix the VIA bug thats currently
 dependant on pixmap cache being  2048 lines and other stuff wanting to
 use the memory too.
 
 Is there any good example/docs on changes I need to make to use this for
 the 2D driver I have (both setup and pulling non pixmap cache linear
 space) and will it make XFree 4.4 ?

It's in the XFree86 CVS now, so it will make 4.4 - yes. It's also 
very simple to setup...

After the call to the xf86InitFBManager() (or equivalent) for the XY Areas,
you then do.

xf86InitFBManagerLinear(pScreen, offset, size);

The offset and size are pixel aligned for most hardware. So for 32bpp your 
looking to divide offset  size by 4 to DWORD align it. This matches how XY
areas are handled and will make the fallback's to allocating XY areas continue
to work properly when no linear space is available. You'll then need to
multiply back in the driver to get the true offset. All because of area 
fallbacks.

Let me know if there's anything you think is missing, or if there are
any problems for that matter.

Alan.


---
This SF.net email is sponsored by: SF.net Giveback Program.
SourceForge.net hosts over 70,000 Open Source Projects.
See the people who have HELPED US provide better services:
Click here: http://sourceforge.net/supporters.php
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: [Dri-devel] Dynamic allocation

2003-10-10 Thread Alan Hourihane
On Fri, Oct 10, 2003 at 11:24:24PM +0100, Alan Cox wrote:
 On Iau, 2003-10-09 at 17:16, Alan Hourihane wrote:
  I've just committed a version of the DRI's common code mm.[ch] linear allocator
  into the XFree86 CVS which extends the FBManager's ability to serve
  real linear space rather than pinching it from the XY area's that's
  usually occupied by the pixmap cache.
 
 Excellent, that will mean I can actually fix the VIA bug thats currently
 dependant on pixmap cache being  2048 lines and other stuff wanting to
 use the memory too.
 
 Is there any good example/docs on changes I need to make to use this for
 the 2D driver I have (both setup and pulling non pixmap cache linear
 space) and will it make XFree 4.4 ?

Forgot to mention. Look at the other drivers *_video.c files which most
of them use the linear memory allocation currently, but is always
falling back to XY allocation. The method hasn't changed, so just
calling the linear init routine will make the Xv drivers use real 
linear space automatically.

Alan.


---
This SF.net email is sponsored by: SF.net Giveback Program.
SourceForge.net hosts over 70,000 Open Source Projects.
See the people who have HELPED US provide better services:
Click here: http://sourceforge.net/supporters.php
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: [Dri-devel] [Announce] config-0-0-1-branch merged to the trunk

2003-10-10 Thread Michel Dänzer
On Thu, 2003-10-09 at 22:05, Felix Khling wrote: 
 
 earlier today I finally merged the config-0-0-1-branch into the trunk.

Congratulations for the good work!

 This means that most environment variables stop working [...]

How hard do you think it would be to allow options to be overridden by
environment variables for debugging, along the lines of

tcl_mode=0 torcs

?

 A configuration GUI is available at my homepage: 
 http://fxk.de.vu/projects_cur_en.html.

Attached is a small patch for driconf 0.0.9:

  * the python gtk module in current Debian packages defaults to
GTK2; this fix might be Debian specific though
  * get the language from LC_MESSAGES

Also, when I try to rename an application, the only thing that happens
is that this error gets printed:

Traceback (most recent call last):
  File /usr/lib/python2.3/site-packages/gtk-1.2/gtk.py, line 2000, in
__call__
return self.cb(_obj2inst(widget))
  File /home/michdaen/src/dri-cvs/driconf-0.0.9/driconf.py, line 841,
in renameApp
app.name, app)
NameError: global name 'app' is not defined


 2. I'd like to move the project homepage for driconf (the configuration
 GUI) to a more public place, either dri.sf.net or dri.freedesktop.org.
 It would be easy to add a DriConf page to the Wiki on dri.sf.net. 

I see you've already added one, looks good.

 What about importing it into DRI CVS?

Sounds like a good idea to me.


-- 
Earthling Michel Dnzer   \  Debian (powerpc), XFree86 and DRI developer
Software libre enthusiast  \ http://svcs.affero.net/rm.php?r=daenzer
diff -up -r driconf-0.0.9.orig/driconf.py driconf-0.0.9/driconf.py
--- driconf-0.0.9.orig/driconf.py	2003-10-03 14:14:26.0 +0200
+++ driconf-0.0.9/driconf.py	2003-10-11 01:32:27.0 +0200
@@ -21,6 +21,8 @@
 import os
 import locale
 import dri
+import pygtk
+pygtk.require('1.2');
 from gtk import *
 from driconf_xpm import *
 
@@ -1064,7 +1066,7 @@ def main():
 # initialize locale
 global lang, encoding
 locale.setlocale(locale.LC_ALL, '')
-lang,encoding = locale.getlocale()
+lang,encoding = locale.getlocale(locale.LC_MESSAGES)
 if lang:
 underscore = lang.find ('_')
 if underscore != -1:


Re: [Dri-devel] dri hangs the pc (radeon 7000/VE, SiS645DX AGP)

2003-10-10 Thread Michel Dänzer
On Fri, 2003-10-10 at 11:29, Helge Hafting wrote: 
 
 It hangs at a black screen now, I don't get to play around
 with the cursor for a few seconds first.
 I mounted /var synchronously so I got a logfile. It
 is attached as X-dri-log.

I don't see anything suspicious, this looks like a perfectly normal log.

Does disabling the DRI make a difference? If yes, what about Option
ForcePCIMode? If neither make a difference, what about disabling all
acceleration?


 Glxgears still hangs if I run it.  The hang is not as
 bad as the xserver hang, because I can use sysrq+S+U+B
 to reboot without messing up filesystems.
  
  
  Can you also try logging in remotely and killing glxgears?
  
 I haven't done that yet, but it seems like it could work.
 I used sysrq+K instead (kill all programs on that virtual console)
 That left the framebuffer in a unreadable state, but I was able
 to log in as root and remove the X lockfile.
 
 Attempting to restart X led to a no signal warning on
 my screen, so recovering the console by restarting X didn't work.
 shutdown -r now did the trick though.

So apparently the chip is in a rather bad state after it happens. I
wonder if it could be a hardware problem to boot. Have you tried other
OSs on this machine?


-- 
Earthling Michel Dnzer   \  Debian (powerpc), XFree86 and DRI developer
Software libre enthusiast  \ http://svcs.affero.net/rm.php?r=daenzer



---
This SF.net email is sponsored by: SF.net Giveback Program.
SourceForge.net hosts over 70,000 Open Source Projects.
See the people who have HELPED US provide better services:
Click here: http://sourceforge.net/supporters.php
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: [Dri-devel] Dynamic allocation

2003-10-10 Thread Allen Akin
On Fri, Oct 10, 2003 at 03:16:45PM -0700, Ian Romanick wrote:
| 
| Since I was part of that working group, I'd like to clarify why some of 
| those decisions were made.  ...

Apologies if I sounded too critical -- I agree that compromise was a
reasonable thing to do in the VBO case.

|...  In that case it wasn't just Windows 
| issues.  ...

Yes, though the Windows design flaws are real, too.  They affected a lot
of other extension and implementation designs before VBOs came along.

|   ...  The big problem was (and will continue to be) power managment 
| events.  ...

The trend is clearly toward making these sorts of things invisible to
apps that don't explicitly ask for notification about them.  For that
matter, the trend is to make even less-dramatic events (like window
exposures) invisible to most apps.

VBOs are something of a special case -- a very low-level interface
intended for use by experts who understand the risks.  If it had been
practical to make mapped buffer objects non-volatile, though, it still
would have been worthwhile.  It would have eliminated some awkward error
conditions that the spec takes pains to handle, and that some developers
will undoubtedly trip over.

Allen


---
This SF.net email is sponsored by: SF.net Giveback Program.
SourceForge.net hosts over 70,000 Open Source Projects.
See the people who have HELPED US provide better services:
Click here: http://sourceforge.net/supporters.php
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


[Dri-devel] [Bug 778] DRM on IA64 deadlocks DRM client X Server

2003-10-10 Thread bugzilla-daemon
Please do not reply to this email: if you want to comment on the bug, go to  
the URL shown below and enter your comments there. 

http://bugs.xfree86.org/show_bug.cgi?id=778  
  

[EMAIL PROTECTED] changed:

   What|Removed |Added

 CC||[EMAIL PROTECTED],
   ||[EMAIL PROTECTED]
 AssignedTo|[EMAIL PROTECTED]  |dri-
   ||[EMAIL PROTECTED]




--- Additional Comments From [EMAIL PROTECTED]  2003-11-10 01:43 ---
Reassigning bug to DRI project.  
  
--   
Configure bugmail: http://bugs.xfree86.org/userprefs.cgi?tab=email  
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.


---
This SF.net email is sponsored by: SF.net Giveback Program.
SourceForge.net hosts over 70,000 Open Source Projects.
See the people who have HELPED US provide better services:
Click here: http://sourceforge.net/supporters.php
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


[Dri-devel] [Bug 778] DRM on IA64 deadlocks DRM client X Server

2003-10-10 Thread bugzilla-daemon
Please do not reply to this email: if you want to comment on the bug, go to  
the URL shown below and enter your comments there. 

http://bugs.xfree86.org/show_bug.cgi?id=778  
  




--- Additional Comments From [EMAIL PROTECTED]  2003-11-10 01:46 ---
Patch should be applied to xf-4_3-branch if possible (or DRI doesn't work
properly), CVS head, and DRI-CVS.

The patch applies to 4.3.0 cleanly, and CVS head cleanly.  I haven't tested to
see if it applied to DRI CVS head, however I'll commit this to the DRI trunk
if nobody objects.  Please give ACK/NACK.  
  
--   
Configure bugmail: http://bugs.xfree86.org/userprefs.cgi?tab=email  
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.


---
This SF.net email is sponsored by: SF.net Giveback Program.
SourceForge.net hosts over 70,000 Open Source Projects.
See the people who have HELPED US provide better services:
Click here: http://sourceforge.net/supporters.php
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: [Dri-devel] Deadlock with radeon DRI

2003-10-10 Thread John Dennis
The locking problem is solved, my original analysis was incorrect. The
problem was that DRM_CAS was not correctly implemented on IA64. Thus
this was an IA64 issue only, this is consistent with others who showed
up in a google search describing the problem, all were on IA64.

I have filed an XFree86 bug report on this. I could not find a DRI
specific bug reporting mechanism other than the dri-devel list.

The IA64 implementation of CAS was this:

#define DRM_CAS(lock,old,new,__ret)   \
do {  \
unsigned int __result, __old = (old); \
__asm__ __volatile__( \
mf\n\
mov ar.ccv=%2\n \
;;\n\
cmpxchg4.acq %0=%1,%3,ar.ccv\
: =r (__result), =m (__drm_dummy_lock(lock))  \
: r (__old), r (new)  \
: memory);  \
__ret = (__result) != (__old);\
} while (0)

The problem was with the data types given to the cmpxchg4
instruction. All of the lock types in DRM are int's and on IA64 thats
4 bytes wide. The digit suffix cmpxchg4 signifies this instruction
operates on a 4 byte quantity. One might expect then since this
instruction operates on 4 byte values and in DRM the locks are 4 bytes
everything is fine, but it isn't.

The cmpxchg4 instruction operates this way: 

cmpxchg4 r1=[r3],r2,ar.ccv

4 bytes are read at the address pointed to by r3, that 32 bit value is
then zero extended to 64 bits. The 64 bit value is then compared to
the 64 bit value stored in appliation register CCV. If the two 64 bit
values are equal then the least significant 4 bytes in r2 are written
back to the address pointed to by r3. The original value pointed to by
r3 is stored in r1. The entire operation is atomic.

The mistake in the DRM_CAS implemenation is that the comparison is 64
bits wide, thus the value stored in ar.ccv (%2 in the asm) must be 64
bits wide and for us that means zero extending the 32 bit old
parameter to 64 bits.

Because of the way GCC asm blocks work to tie C variables and data
types to asm values the promotion of old from unsigned int to
unsigned long was not happening. Thus when old was stored into
ar.ccv its most significant 32 bits contained garbage. (Actually
because of the way GCC generates constants it turns out the upper 32
bits was 0x, this was from the OR of DRM_LOCK_HELD which is
defined as 0x8000, but the compiler generates a 64 bit OR
operation using the immediate value 0x8000, which is legal
because the upper 32 bits are undefined on int (32 bit) operations).

The bottom line is that the test would fail when it shouldn't because
the high 32 bits in ar.ccv were not zero.

One might think that because old was assigned to __old in a local
block which was unsigned int the compiler would know enough when using
this value in the asm to have zero extended it. But that's not true,
in asm blocks its critical to define the asm value correctly so the
compiler can translate between the C code variable and what the asm
code is referring to.

The line:

: r (__old), r (new)

says %2 is mapped by r (__old), in other words put __old in a
general 64 bit register. We've told the compiler to put 64 bits of
__old into a register, but __old is a 32 bit value with its high
order 32 bits undefined. We need to tell the compiler to widen the
type when assigning it to a general register, thus the asm template
type definition needs to be modified with a cast to unsigned long.

: r ((unsigned long)__old), r (new)

Only with this will the compiler know to widen the 32 bit __old value
to 64 bits inside the asm code.

Thanks to Jakub Jelinek who helped me understand the nuances of GCC
asm templates and type conversions.

As a minor side note, definitions of bit flags should be tagged as
unsigned. Thus things like:

#define DRM_LOCK_HELD  0x8000
#define DRM_LOCK_CONT  0x4000

should really be:

#define DRM_LOCK_HELD  0x8000U
#define DRM_LOCK_CONT  0x4000U

John




---
This SF.net email is sponsored by: SF.net Giveback Program.
SourceForge.net hosts over 70,000 Open Source Projects.
See the people who have HELPED US provide better services:
Click here: http://sourceforge.net/supporters.php
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: [Dri-devel] Deadlock with radeon DRI

2003-10-10 Thread Keith Whitwell
John Dennis wrote:
The locking problem is solved, my original analysis was incorrect. The
problem was that DRM_CAS was not correctly implemented on IA64. Thus
this was an IA64 issue only, this is consistent with others who showed
up in a google search describing the problem, all were on IA64.
I have filed an XFree86 bug report on this. I could not find a DRI
specific bug reporting mechanism other than the dri-devel list.
This list is good.  Can you put together a patch to correct the behaviour?

Keith



---
This SF.net email is sponsored by: SF.net Giveback Program.
SourceForge.net hosts over 70,000 Open Source Projects.
See the people who have HELPED US provide better services:
Click here: http://sourceforge.net/supporters.php
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel