Re: [GATOS]Re: [Dri-devel] Bugfix for br0ken DMA on r128 andpossibly radeon DMA functions

2002-01-28 Thread Michel Dänzer

On Mon, 2002-01-28 at 04:54, Davor Buvinic wrote:
> 
> Yes, running glxgears cause the movie player to crawl and if I start to move 
> or resize their windows X crashes.
> 
> The movie player is MPlayer, today cvs.
> 
> Here is my log file from X. As you can see, at the end of the file the 
> following messages appears:
> 
> [...]
> (II) R128(0): StopVideo 
> (EE) R128(0): Idle timed out, resetting engine...
> [...]

I have an idea what the problem could be. The Xv code still uses direct
register access, even when the CCE is running. That's exactly what we
want to avoid, because it can crash the chip. :)

I probably won't have time this week to work on a solution but I suggest
you try either shutting down the CCE before accessing registers or
adding new Xv functions which use the CCE for register access (à la the
CCE accel functions). I'd prefer not shutting down the CCE at any rate.


-- 
Earthling Michel Dänzer (MrCooper)/ Debian GNU/Linux (powerpc) developer
XFree86 and DRI project member   /  CS student, Free Software enthusiast

___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel



Re: [Dri-devel] Bugfix for br0ken DMA on r128 and possibly radeonDMA functions

2002-01-28 Thread Michel Dänzer

On Son, 2002-01-27 at 19:41, Peter Surda wrote:
> On Sun, Jan 27, 2002 at 06:03:42PM +0100, Michel Dänzer wrote:
> 
> > > The first one definitely wasn't correct. A process of pid 0 doesn't exist, but
> > > it has been handled as if it existed.
> > The test ( buf->pid != current->pid ) isn't there for fun. The pid field
> > of the buffer must contain the current process' pid.
> Yes, exactly. But this test fails if buf->pid == 0, which is wrong.

No. As you say, 0 isn't a valid pid, which is covered by this test.

> Hence I added this test. See "added", not "deleted" or "replaced"

You "deleted" part of the ( buf->pid != current->pid ) test.

> > Looking at r128_freelist_get(), ( buf->pid == 0 ) means the buffer is
> > free, i.e. not supposed to be in use by any process.
> Yes thats exactly what I'm talking about, this isn't tested though in other
> places.

It is, see above.


> > is in the LeaveServer() function, where it releases the indirect buffer. Can
> > you try if that fixes the problem?  Another idea is to set
> > info->indirectBuffer to NULL in R128CCEAccelInit().
> Sounds reasonable, I'll try it.

So the first solution works, what about the second one?

> I hope I'll be around on tomorrows irc meeting, we can try stuff in realtime then :-)

Unfortunately, I can't attend tonight's meeting because I'm in military
service this week. :(


-- 
Earthling Michel Dänzer (MrCooper)/ Debian GNU/Linux (powerpc) developer
XFree86 and DRI project member   /  CS student, Free Software enthusiast

___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel



Re: [GATOS]Re: [Dri-devel] Bugfix for br0ken DMA on r128 and possiblyradeon DMA functions

2002-01-28 Thread Vladimir Dergachev



On 28 Jan 2002, Michel [ISO-8859-1] Dänzer wrote:

> On Mon, 2002-01-28 at 04:54, Davor Buvinic wrote:
> >
> > Yes, running glxgears cause the movie player to crawl and if I start to move
> > or resize their windows X crashes.
> >
> > The movie player is MPlayer, today cvs.
> >
> > Here is my log file from X. As you can see, at the end of the file the
> > following messages appears:
> >
> > [...]
> > (II) R128(0): StopVideo
> > (EE) R128(0): Idle timed out, resetting engine...
> > [...]
>
> I have an idea what the problem could be. The Xv code still uses direct
> register access, even when the CCE is running. That's exactly what we
> want to avoid, because it can crash the chip. :)
>
> I probably won't have time this week to work on a solution but I suggest
> you try either shutting down the CCE before accessing registers or
> adding new Xv functions which use the CCE for register access (à la the
> CCE accel functions). I'd prefer not shutting down the CCE at any rate.
>

Yes, that's what happens. I do think we need to shutdown CCE because in
some case we want to read registers - and not only write. The short term
solution would be to use XAA->Sync() instead of WaitForEngineIdle because
WaitForEngineIdle does not guarantee the card is quiscent in CCE mode.

   Vladimir Dergachev

>
> --
> Earthling Michel Dänzer (MrCooper)/ Debian GNU/Linux (powerpc) developer
> XFree86 and DRI project member   /  CS student, Free Software enthusiast
>
> ___
> Dri-devel mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/dri-devel
>


___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel



Re: [Xpert]Re: [GATOS]Re: [Dri-devel] Bugfix for br0ken DMA on r128and possibly radeon DMA functions

2002-01-28 Thread Vladimir Dergachev



On Mon, 28 Jan 2002, Davor Buvinic wrote:

> On Sunday 27 January 2002 21:59, you wrote:
> > On Sun, 27 Jan 2002, Davor Buvinic wrote:
> [...]
> > > Works for me: ATI Xpert 128, XFree86 4.2.0, your patch against GATOS ATI
> > > drivers sources. No more messages in the kernel log like the following:
> > >
> > > [drm:r128_cce_indirect] *ERROR* process 1668 using buffer owned by 0
> > >
> > > But if I play a video and run glxgears X crashes. Option "UseCCEFor2D"
> > > didn't appears to help...
> >
> > Please try latest GATOS CVS - main branch - and let me know if it works
> > better.
> >
> >   Vladimir Dergachev
>
> With the latest GATOS CVS - the one with changes from Peter Surda at the
> files radeon_driver.c, radeon_reg.h, fi1236.c, fi1236.h, msp3430.c,
> r128_dri.c, theatre.h and theatre_reg.h - the problem (apparently) is the
> same one that at first: corruption at login screen (xdm, kdm), the messages
> [drm:r128_cce_indirect] in the kernel log, and X crashes.

Patched in the wrong place, please try again.

Vladimir Dergachev

>
> With only the patch from Peter Surda to the file r128_dri.c no corruption at
> login screen, no messages in the kernel log but X crash with both mplayer and
> glxgears running, or only with mplayer after a while playing a video.
>
> BTW, which is the appropriate mailing list to discuss this stuff? I think
> that we're CC: to too many places... At this step we'll finish CC: to the
> linux kernel mailing list :)
>
> - Davor
>
> ___
> Dri-devel mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/dri-devel
>


___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel



[Dri-devel] Re: Bugfix for br0ken DMA on r128 and possibly radeon DMA functions

2002-01-28 Thread Michel Dänzer

On Mon, 2002-01-28 at 10:00, Vladimir Dergachev wrote:
> 
> 
> On 28 Jan 2002, Michel [ISO-8859-1] Dänzer wrote:
> 
> > On Mon, 2002-01-28 at 04:54, Davor Buvinic wrote:
> > >
> > > Yes, running glxgears cause the movie player to crawl and if I start to move
> > > or resize their windows X crashes.
> > >
> > > The movie player is MPlayer, today cvs.
> > >
> > > Here is my log file from X. As you can see, at the end of the file the
> > > following messages appears:
> > >
> > > [...]
> > > (II) R128(0): StopVideo
> > > (EE) R128(0): Idle timed out, resetting engine...
> > > [...]
> >
> > I have an idea what the problem could be. The Xv code still uses direct
> > register access, even when the CCE is running. That's exactly what we
> > want to avoid, because it can crash the chip. :)
> >
> > I probably won't have time this week to work on a solution but I suggest
> > you try either shutting down the CCE before accessing registers or
> > adding new Xv functions which use the CCE for register access (à la the
> > CCE accel functions). I'd prefer not shutting down the CCE at any rate.
> >
> 
> Yes, that's what happens. I do think we need to shutdown CCE because in
> some case we want to read registers - and not only write. The short term
> solution would be to use XAA->Sync() instead of WaitForEngineIdle because
> WaitForEngineIdle does not guarantee the card is quiscent in CCE mode.

Sounds like the correct fix, except I don't even see 'WaitForEngineIdle'
in my trees - is that a GATOS novelty? :)


-- 
Earthling Michel Dänzer (MrCooper)/ Debian GNU/Linux (powerpc) developer
XFree86 and DRI project member   /  CS student, Free Software enthusiast

___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel



Re: [Dri-devel] RFC Shared AGP Memory

2002-01-28 Thread Jens Owen

Matt,

I have two questions regarding shared AGP memory.  The first is
inline--the correlary to Ian's question.  The second question is at the
end--it's more open ended.

"Sottek, Matthew J" wrote:
> 
> >This seems reasonable enough, but I'll have to think about it more
> >and learn a bit more about the AGP implementation to fully grok it.
> >On question I do have is what impact will this have (if any) on
> >chipsets that aren't UMA?
> 
> No impact whatsoever. I specifically didn't touch ANY device independent
> code. It is all contained within the i810's driver.

Have you gotten any feedback from developers working with any other UMA
architectures (Sis or Savage for example)?

> Certainly if
> the behavior catches on we could move some of it "up" into the
> device independent layers so that there is less work to be done in
> the drivers. Also, I have been careful to make sure that existing
> X servers + DRM run on this without any modifications. Both WITH and
> WIHTOUT a framebuffer device having installed the shared memory.

Good.
 
> I will post a patch shortly.

We look forward to seeing it.
 
My second question is can this kind of shared AGP memory be extended, at
least on Intel to all the memory for the graphics subsystem that isn't
share across contexts?  I'm thinking about private backbuffers,
textures, command buffers, etc.  The main purpose would be to maximize
the available memory in the AGP aperture, which would be especially
usefull for a 3D tiling window system.

Imagine a UMA system with lots of available memory but only a 64M
graphics window.  Display memory and enough memory for each applications
front buffer would be permanently allocated from the 64M window.  The
remainder could be shared as 3D context specific memory that utilized a
high speed context switch method (shared AGP memory).

Regards,
Jens

-- /\
 Jens Owen/  \/\ _
  [EMAIL PROTECTED]  /\ \ \   Steamboat Springs, Colorado

___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel



Re: [Dri-devel] Source -> Documentation using Doxygen

2002-01-28 Thread Jens Owen

Pontus Lidman wrote:
 
> I agree with all your points, which I interpret as no html tags,
> document in the header, brief API documentation only.

Good summary.

> > Okay. If nobody else volunteers I'll give it a try when I'm finished
> > with the FAQ (which by the way was recently updated and can be seen at
> > http://mefriss1.swan.ac.uk/~jfonseca/dri/faq/ ).
> 
> I guess this means it's ok to submit patches with just doxygen
> comments? I think this could be a productive way to learn and document
> at the same time.

Jose, Pontus,

Work with each other to avoid duplication of effort--we look forward to
seeing your progress.

Regards,
Jens

-- /\
 Jens Owen/  \/\ _
  [EMAIL PROTECTED]  /\ \ \   Steamboat Springs, Colorado

___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel



dri-devel@lists.sourceforge.net

2002-01-28 Thread Jens Owen

Kevin E Martin wrote:
> 
> On Fri, Jan 25, 2002 at 09:41:17AM -0800, Ian Romanick wrote:
> > > > > > If not, what's the prognosis?  Is it in the works and just
> > > > > > gonna take some time, or are there other issues such as
> > > > > > documentation availability?
> > > > >
> > > > > There was some (brief) talk about this on the developer chat on
> > > > > Monday.  Work is being done to get Radeon 8500 cards up to the
> > > > > level of original Radeons, then work on T&L support will move
> > > > > forward.
> > >
> > > Just to clarify.  TG is supporting Keith Whitwell's work for T&L support
> > > for the Radeon I (7500 and earlier radeon based cards).  The R200 (found
> > > on the 8500) is a newer 3D core, and we have no committed plans for that
> > > chipset at this time.
> >
> > Ok, I looked back at the log to make sure I wan't losing my mind.  I saw
> > your comments about Keith's work at TG.  Here is the comment that I was
> > refering to, though:
> >
> >  jens: i'm just trying to get the 8500 up to the point that it works as
> > well as the currently radeon code -- not focusing on t&l at all yet
> >
> > So, it looks like both Kevin and Keith are doing some Radeon work, albeit
> > coming from different angles.
> 
> Exactly.  In my spare time, I'm bringing up the 8500 to the level of the
> pre-T&L Radeon code.  It's very slow going since my spare time is
> limited due to a heavy workload and some upcoming deadlines.

And Keith is providing the first T&L driver based on the Radeon I
chipset.  Both of these projects are important precursers to a 8500
based T&L driver--however, no one has stepped up to provide the
development or funding for that project, yet.

Perhaps this question could be answer in our new FAQ.  I've seen it
frequently.

-- /\
 Jens Owen/  \/\ _
  [EMAIL PROTECTED]  /\ \ \   Steamboat Springs, Colorado

___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel



[Dri-devel] Re: [GATOS]Re: Bugfix for br0ken DMA on r128 and possibly radeonDMA functions

2002-01-28 Thread Vladimir Dergachev



On 28 Jan 2002, Michel [ISO-8859-1] Dänzer wrote:

> On Mon, 2002-01-28 at 10:00, Vladimir Dergachev wrote:
> >
> >
> > On 28 Jan 2002, Michel [ISO-8859-1] Dänzer wrote:
> >
> > > On Mon, 2002-01-28 at 04:54, Davor Buvinic wrote:
> > > >
> > > > Yes, running glxgears cause the movie player to crawl and if I start to move
> > > > or resize their windows X crashes.
> > > >
> > > > The movie player is MPlayer, today cvs.
> > > >
> > > > Here is my log file from X. As you can see, at the end of the file the
> > > > following messages appears:
> > > >
> > > > [...]
> > > > (II) R128(0): StopVideo
> > > > (EE) R128(0): Idle timed out, resetting engine...
> > > > [...]
> > >
> > > I have an idea what the problem could be. The Xv code still uses direct
> > > register access, even when the CCE is running. That's exactly what we
> > > want to avoid, because it can crash the chip. :)
> > >
> > > I probably won't have time this week to work on a solution but I suggest
> > > you try either shutting down the CCE before accessing registers or
> > > adding new Xv functions which use the CCE for register access (à la the
> > > CCE accel functions). I'd prefer not shutting down the CCE at any rate.
> > >
> >
> > Yes, that's what happens. I do think we need to shutdown CCE because in
> > some case we want to read registers - and not only write. The short term
> > solution would be to use XAA->Sync() instead of WaitForEngineIdle because
> > WaitForEngineIdle does not guarantee the card is quiscent in CCE mode.
>
> Sounds like the correct fix, except I don't even see 'WaitForEngineIdle'
> in my trees - is that a GATOS novelty? :)

Ahh.. sorry it's called XWaitForIdle :)) WaitForEngineIdle is how its
called in ATI sample code.

Btw, while I've been sleeping I thought how we could get CCE support into
Xvideo. The thing I am really against is duplicating code for case with
CCE  and without. So, I thought, what about having "Software CCE" ? I.e.
always use CCE commands except that in case when dri driver is not
availabe emulate it. I am fairly certain emulating indirect buffer and 2d
commands would be pretty easy.

Vladimir Dergachev

>
>
> --
> Earthling Michel Dänzer (MrCooper)/ Debian GNU/Linux (powerpc) developer
> XFree86 and DRI project member   /  CS student, Free Software enthusiast
>
> ___
> Gatos-devel mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/gatos-devel
>


___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel



[Dri-devel] Re: Maybe fixed shared texture object problem

2002-01-28 Thread Lynn Quam

I tried your suggested patches to lib/GL/mesa/src/drv/mga/mgatexmem.c.
I still occasionally get the message:

  Couldn't alloc placeholder sz 4 ofs 8
  Memory heap 0x8c27cd0:
Offset:, Size:0004, U.
...

This mainly happens when switching back and forth between different
Gnome/Sawfish workspaces, meaning that the window manager (sawfish) is
calling XUnmapWindow and XMapWindow on the top-level frames containing
my GLX windows.  The messages occur as a result of the XMapWindow
calls.

I am not sure the patch actually reduced the frequency of the messages
or the texture garbling.


___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel



[Dri-devel] IRC Meeting

2002-01-28 Thread Daryll Strauss

I'm going to be at a client most of the day, so I don't know that I can
make the IRC meeting. If it happens late enough that I'm home I'll join.

- |Daryll


___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel



dri-devel@lists.sourceforge.net

2002-01-28 Thread Jose Fonseca

On Mon, 2002-01-28 at 14:17, Jens Owen wrote:
> ...
>
> Perhaps this question could be answer in our new FAQ.  I've seen it
> frequently.
> 

Okay. I'll add a summary of what was said in this thread into:

Harware / ATI / Radeon 8500 / What are the plans to support this card ?


Kevin and Keith, if you know any public resources about this card please
give me their links to include in the FAQ as well.

Regards,

Jose Fonseca



___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel



dri-devel@lists.sourceforge.net

2002-01-28 Thread Keith Whitwell

Jose Fonseca wrote:
> 
> On Mon, 2002-01-28 at 14:17, Jens Owen wrote:
> > ...
> >
> > Perhaps this question could be answer in our new FAQ.  I've seen it
> > frequently.
> >
> 
> Okay. I'll add a summary of what was said in this thread into:
> 
> Harware / ATI / Radeon 8500 / What are the plans to support this card ?
> 
> Kevin and Keith, if you know any public resources about this card please
> give me their links to include in the FAQ as well.

ATI seem to release programming information about their products to
individuals, rather than make them publicly available.  They actually have
been making 8500 information available to opensource ppl since prior to the
release of the product, and (as I've just learned) have put together a
semi-complete reference 3d driver for the card.  All this and more is
available through their developer relations program.  

I've got a pretty-close-to-fully-functional tcl driver now, need to do some
work on correctness and then look at optimizations.  I'd like to get the
source out fairly quickly - once it's ok'd by ATI and correct, I'd like to do
the final bugfixing & tuning on sourceforge.

Keith

___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel



RE: [Dri-devel] IRC Meeting

2002-01-28 Thread Sottek, Matthew J


When did we plan on doing the IRC meeting? I missed the final
decision.

 -Matt


-Original Message-
From: Daryll Strauss [mailto:[EMAIL PROTECTED]]
Sent: Monday, January 28, 2002 8:45 AM
To: [EMAIL PROTECTED]
Subject: [Dri-devel] IRC Meeting


I'm going to be at a client most of the day, so I don't know that I can
make the IRC meeting. If it happens late enough that I'm home I'll join.

- |Daryll


___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel



RE: [Dri-devel] RFC Shared AGP Memory

2002-01-28 Thread Sottek, Matthew J


>> No impact whatsoever. I specifically didn't touch ANY device
>> independent code. It is all contained within the i810's driver.

>Have you gotten any feedback from developers working with any other UMA
>architectures (Sis or Savage for example)?

The only feedback I've gotten is from this list. Is there
another/better place I should solicit further feedback?

>> I will post a patch shortly.
>We look forward to seeing it.
I'll get to it today :)

>My second question is can this kind of shared AGP memory be extended,
>at least on Intel to all the memory for the graphics subsystem that
>isn't share across contexts?  I'm thinking about private backbuffers,
>textures, command buffers, etc.  The main purpose would be to maximize
>the available memory in the AGP aperture, which would be especially
>usefull for a 3D tiling window system.

This is what I'm currently doing with the framebuffer driver I'm
finishing up. I have fixed areas within the Gart for different uses.
All new drivers would use these fixed offsets to maximize alignment
for things that need to be aligned, Minimize the number of tiles
needed to cover the things that should be tiled, and allow for totally
dynamic memory based on need.

Currently I have this for i810:

Use   Offset Size
FB0x05MB (Best mode is really 16x12 which fits here)
BB5MB5MB
DB10MB5MB
  (1MB hole, could be moved up to FB)
Video 16MB   8MB
IRing 24MB   512k
LRing 24.5MB 512k
Scratch 8MB  8MB
Scratch 32MB  32MB


So I expect that the first 24MB of memory would all be shared between
all clients. The rings are shared as well but only the memory is shared,
the clients need to work out a way to shared the USE of the rings.
The rest of the memory would be used for any scratch purpose including
memory that isn't shared.  Although I didn't fully implement it yet
(I don't have a use case) I did add an EXCLUSIVE type which basically
means !shared. This would make sure to return -EBUSY if any overlap
happened.

>Imagine a UMA system with lots of available memory but only a 64M
>graphics window.  Display memory and enough memory for each
>applications front buffer would be permanently allocated from the
>64M window.  The remainder could be shared as 3D context specific
>memory that utilized a high speed context switch method (shared
>AGP memory).

I didn't quite get what you were asking here... Are you suggesting
tying the agp resources to the DRM context such that whenever a context
is active it's memory is automatically mapped into the gart so it
doesn't have to worry about textures going away and such? Certainly
sounds interesting and I think the existing alloc/bind/unbind/free
method works just fine for doing that. You just need to have a
per context agp_mem handle and have the DRM switch the memory on the
fly.  I'm not sure if the overhead of the memory switch would be
higher than the overhead of managing textures in a shared buffer but
it is probably worth investigation. One of the things I've disliked
about the DRM is the locking rather than full transparent virtualization,
the way it currently is a poorly designed client can hold the lock too
long and badly impact the rest of the system. Sort of like
cooperative multitasking... it CAN work but only if everyone plays the
game well. Having context specific agp resources gets us one step
closer to real transparent virtualization.

I was planning on experimenting with the reverse. Having per context
shared agp memory that was reference counted so that when a drm context
is created the memory pops into existence and is shared by all current
drm contexts just as it is now. But when the last drm context goes away
so does the memory. This hold for back buffers and depth buffers too.
Wasting all that memory when 3d isn't in use is quite an impact to a
system with say 64MB ram or less.

-Matt

___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel



Re: [Dri-devel] IRC Meeting

2002-01-28 Thread Brian Paul


Nobody's suggested a time yet.  So I'll propose 12:00pm PST (3:00 EST)
so that those in Europe can more likely join in.  That's about 2:15
from now.

Is that OK with everyone?  I realize it's short notice but if we push
it much further back it'll be harder for those in the UK to join in.

-Brian

PS: Try http://www.worldtimezone.com/ for timezone conversion.


"Sottek, Matthew J" wrote:
> 
> When did we plan on doing the IRC meeting? I missed the final
> decision.
> 
>  -Matt
> 
> -Original Message-
> From: Daryll Strauss [mailto:[EMAIL PROTECTED]]
> Sent: Monday, January 28, 2002 8:45 AM
> To: [EMAIL PROTECTED]
> Subject: [Dri-devel] IRC Meeting
> 
> I'm going to be at a client most of the day, so I don't know that I can
> make the IRC meeting. If it happens late enough that I'm home I'll join.
> 
> - |Daryll
> 
> ___
> Dri-devel mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/dri-devel
> 
> ___
> Dri-devel mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/dri-devel

___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel



Re: [Dri-devel] IRC Meeting

2002-01-28 Thread José Fonseca

The IRC log says 18:00 GMT. That is 25min from now.

Regards,

Jose Fonseca


On 2002.01.28 17:24 "Sottek, Matthew J" wrote:
> 
> When did we plan on doing the IRC meeting? I missed the final
> decision.
> 
>  -Matt
> 
> 
> -Original Message-
> From: Daryll Strauss [mailto:[EMAIL PROTECTED]]
> Sent: Monday, January 28, 2002 8:45 AM
> To: [EMAIL PROTECTED]
> Subject: [Dri-devel] IRC Meeting
> 
> 
> I'm going to be at a client most of the day, so I don't know that I can
> make the IRC meeting. If it happens late enough that I'm home I'll join.
> 
>   - |Daryll

_
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com


___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel



Re: [Dri-devel] IRC Meeting

2002-01-28 Thread Jens Owen

We'll meet at 1800 GMT which is 10am pacific time.

"Sottek, Matthew J" wrote:
> 
> When did we plan on doing the IRC meeting? I missed the final
> decision.
> 
>  -Matt
> 
> -Original Message-
> From: Daryll Strauss [mailto:[EMAIL PROTECTED]]
> Sent: Monday, January 28, 2002 8:45 AM
> To: [EMAIL PROTECTED]
> Subject: [Dri-devel] IRC Meeting
> 
> I'm going to be at a client most of the day, so I don't know that I can
> make the IRC meeting. If it happens late enough that I'm home I'll join.
> 
> - |Daryll
> 
> ___
> Dri-devel mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/dri-devel
> 
> ___
> Dri-devel mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/dri-devel

-- /\
 Jens Owen/  \/\ _
  [EMAIL PROTECTED]  /\ \ \   Steamboat Springs, Colorado

___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel



Re: [Dri-devel] IRC Meeting

2002-01-28 Thread Brian Paul


OK, ignore my other message suggesting a later time then.
I didn't realize we'd picked 1800 GMT.

-Brian


Jens Owen wrote:
> 
> We'll meet at 1800 GMT which is 10am pacific time.
> 
> "Sottek, Matthew J" wrote:
> >
> > When did we plan on doing the IRC meeting? I missed the final
> > decision.
> >
> >  -Matt
> >
> > -Original Message-
> > From: Daryll Strauss [mailto:[EMAIL PROTECTED]]
> > Sent: Monday, January 28, 2002 8:45 AM
> > To: [EMAIL PROTECTED]
> > Subject: [Dri-devel] IRC Meeting
> >
> > I'm going to be at a client most of the day, so I don't know that I can
> > make the IRC meeting. If it happens late enough that I'm home I'll join.
> >
> > - |Daryll
> >
> > ___
> > Dri-devel mailing list
> > [EMAIL PROTECTED]
> > https://lists.sourceforge.net/lists/listinfo/dri-devel
> >
> > ___
> > Dri-devel mailing list
> > [EMAIL PROTECTED]
> > https://lists.sourceforge.net/lists/listinfo/dri-devel
> 
> -- /\
>  Jens Owen/  \/\ _
>   [EMAIL PROTECTED]  /\ \ \   Steamboat Springs, Colorado
> 
> ___
> Dri-devel mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/dri-devel

___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel



dri-devel@lists.sourceforge.net

2002-01-28 Thread Nicholas Charles Leippe


> I've got a pretty-close-to-fully-functional tcl driver now, need to do
> some work on correctness and then look at optimizations.  I'd like to
> get the source out fairly quickly - once it's ok'd by ATI and correct,
> I'd like to do the final bugfixing & tuning on sourceforge.
> 
> Keith

Excellent news.  I'd be more than happy to help you test it.  :)
Any kind of ETA before it goes to sf?  Weeks?  Months?

Nick


___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel



Re: [Dri-devel] RFC Shared AGP Memory

2002-01-28 Thread Jens Owen

"Sottek, Matthew J" wrote:
> 
> >> No impact whatsoever. I specifically didn't touch ANY device
> >> independent code. It is all contained within the i810's driver.
> 
> >Have you gotten any feedback from developers working with any other UMA
> >architectures (Sis or Savage for example)?
> 
> The only feedback I've gotten is from this list. Is there
> another/better place I should solicit further feedback?

Not that I know of, other than pinging the developers directly.
 
> >> I will post a patch shortly.
> >We look forward to seeing it.
> I'll get to it today :)
> 
> >My second question is can this kind of shared AGP memory be extended,
> >at least on Intel to all the memory for the graphics subsystem that
> >isn't share across contexts?  I'm thinking about private backbuffers,
> >textures, command buffers, etc.  The main purpose would be to maximize
> >the available memory in the AGP aperture, which would be especially
> >usefull for a 3D tiling window system.
> 
> This is what I'm currently doing with the framebuffer driver I'm
> finishing up. I have fixed areas within the Gart for different uses.
> All new drivers would use these fixed offsets to maximize alignment
> for things that need to be aligned, Minimize the number of tiles
> needed to cover the things that should be tiled, and allow for totally
> dynamic memory based on need.
> 
> Currently I have this for i810:
> 
> Use   Offset Size
> FB0x05MB (Best mode is really 16x12 which fits here)

with 16x12 padded out to 2k at 16bpp...this makes sense.

> BB5MB5MB

BB...Backbuffer?

> DB10MB5MB

DB...Doublebuffer?  Frontbuffer?

>   (1MB hole, could be moved up to FB)
> Video 16MB   8MB

8MB?  Must be for 16x12 padded to 2K w/ 24bit YUV.

> IRing 24MB   512k
> LRing 24.5MB 512k
> Scratch 8MB  8MB
> Scratch 32MB  32MB

Why the seperate 8MB and 32MB Scratch?  GART table setup requirements
maybe?

> 
> So I expect that the first 24MB of memory would all be shared between
> all clients. The rings are shared as well but only the memory is shared,
> the clients need to work out a way to shared the USE of the rings.

This seams reasonable in the current implementation.

> The rest of the memory would be used for any scratch purpose including
> memory that isn't shared.  Although I didn't fully implement it yet
> (I don't have a use case) I did add an EXCLUSIVE type which basically
> means !shared. This would make sure to return -EBUSY if any overlap
> happened.
> 
> >Imagine a UMA system with lots of available memory but only a 64M
> >graphics window.  Display memory and enough memory for each
> >applications front buffer would be permanently allocated from the
> >64M window.  The remainder could be shared as 3D context specific
> >memory that utilized a high speed context switch method (shared
> >AGP memory).
> 
> I didn't quite get what you were asking here... Are you suggesting
> tying the agp resources to the DRM context such that whenever a context
> is active it's memory is automatically mapped into the gart so it
> doesn't have to worry about textures going away and such?

Exactly.

> Certainly
> sounds interesting and I think the existing alloc/bind/unbind/free
> method works just fine for doing that. You just need to have a
> per context agp_mem handle and have the DRM switch the memory on the
> fly.  I'm not sure if the overhead of the memory switch would be
> higher than the overhead of managing textures in a shared buffer but
> it is probably worth investigation.

I agree, we would need to investigate whether invalidating the texture
cache wouldn't be faster.  However, I'd like to point out that I'd even
like to switch out the back buffer and as much command processing as
possible and try for more transparent virtualization.

> One of the things I've disliked
> about the DRM is the locking rather than full transparent virtualization,
> the way it currently is a poorly designed client can hold the lock too
> long and badly impact the rest of the system. Sort of like
> cooperative multitasking... it CAN work but only if everyone plays the
> game well.

Yes, this is the downside of explicit locking.  Note however that the
DRM locking mechanisms are voluntary and a driver could be written
without them--provided you have enough hardware support to implement
asynchronous implicit locking.

> Having context specific agp resources gets us one step
> closer to real transparent virtualization.

Agreed, but there are more tough issues to address here.  Would having
the command buffers in "shared AGP memory" be difficult to manage?  A
memory faulting mechanism would also be needed as well as a reasonable
way to "take away" the HW from an existing context at switch time.
 
> I was planning on experimenting with the reverse. Having per context
> shared agp memory that was reference counted so that when a drm context
> is created the memory pops into existence and is shared by all current
> drm contexts just as it is now. But when the l

[Dri-devel] Patch - scissor fix

2002-01-28 Thread Michael


Attached patch fixes flag corruption at beginning of RTCW.



-- 
Michael.


Index: radeon_state.c
===
RCS file: /cvsroot/dri/xc/xc/lib/GL/mesa/src/drv/radeon/radeon_state.c,v
retrieving revision 1.9.6.7
diff -u -3 -p -r1.9.6.7 radeon_state.c
--- radeon_state.c  2001/11/21 13:34:03 1.9.6.7
+++ radeon_state.c  2002/01/28 18:22:10
@@ -309,15 +309,16 @@ static void radeonUpdateScissor( GLconte
if ( rmesa->dri.drawable ) {
   __DRIdrawablePrivate *dPriv = rmesa->dri.drawable;
 
-  int x = ctx->Scissor.X;
-  int y = dPriv->h - ctx->Scissor.Y - ctx->Scissor.Height;
-  int w = ctx->Scissor.X + ctx->Scissor.Width - 1;
-  int h = dPriv->h - ctx->Scissor.Y - 1;
+  int x, y, w, h;
+  x = MAX2(ctx->Scissor.X, dPriv->x);
+  y = MAX2(dPriv->h - ctx->Scissor.Y - ctx->Scissor.Height, 0);
+  w = MIN2(ctx->Scissor.X + ctx->Scissor.Width, dPriv->w);
+  h = MIN2(dPriv->h - ctx->Scissor.Y, dPriv->h);
 
   rmesa->state.scissor.rect.x1 = x + dPriv->x;
   rmesa->state.scissor.rect.y1 = y + dPriv->y;
-  rmesa->state.scissor.rect.x2 = w + dPriv->x + 1;
-  rmesa->state.scissor.rect.y2 = h + dPriv->y + 1;
+  rmesa->state.scissor.rect.x2 = w + dPriv->x;
+  rmesa->state.scissor.rect.y2 = h + dPriv->y;
 
   if ( ctx->Scissor.Enabled )
 rmesa->upload_cliprects = 1;



[Dri-devel] IRC meeting is on NOW

2002-01-28 Thread Gareth Hughes

In case you missed it, or forgot, the IRC meeting is taking place
right now on #dri-devel.

-- Gareth

___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel



Re: [Dri-devel] Bugfix for br0ken DMA on r128 and possibly radeon DMA functions

2002-01-28 Thread Peter Surda

On Mon, Jan 28, 2002 at 09:33:51AM +0100, Michel Dänzer wrote:
> > Yes, exactly. But this test fails if buf->pid == 0, which is wrong.
> No. As you say, 0 isn't a valid pid,
... which means the buffer is unused and the test should fail.

> which is covered by this test.
... which is not.

> > Hence I added this test. See "added", not "deleted" or "replaced"
> You "deleted" part of the ( buf->pid != current->pid ) test.
An incorrect one though.

> So the first solution works, what about the second one?
I'm too lazy :-) 

> > I hope I'll be around on tomorrows irc meeting, we can try stuff in realtime then 
>:-)
> Unfortunately, I can't attend tonight's meeting because I'm in military
> service this week. :(
D'oh.

Bye,

Peter Surda (Shurdeek) <[EMAIL PROTECTED]>, ICQ 10236103, +436505122023

--
   The product Microsoft sells isn't the software; it's comfort.
 The product that Linux vendors usually sell is freedom.



msg02586/pgp0.pgp
Description: PGP signature


[Dri-devel] R128 driver status

2002-01-28 Thread Martijn Houtman

Hello,
 
Not sure if this is the correct list to paste this message, but I've tried the 
Xfree Xpert list before, and haven't gotten any (really useful) replies.
 
I've downloaded the latest 4.2.0 sources from the regular Xfree86 mirrors (so 
no DRI CVS's) to test if my ATI Xpert2000 32MB AGP card still has the "snow" 
issues, and it still does. 
With the snow issues i refer to the noise that appears when large parts of the 
screen are updated. It's on the right side at about 1000 pixels from the left 
(so at resolutions below 1024x768 it isn't there), from top to bottom. When 
the accel is disabled (Option "UseCCEFor2D" "true"), it doesn't appear. Also, 
the console framebuffer doesn't have the issue either.
 I was told to wait for the next 4.2.0 release, and I did. Yet no luck for me.
 
some info:
 
/proc/pci:
   Bus  1, device   0, function  0:
 VGA compatible controller: ATI Technologies Inc Rage 128 RF (rev 0).
   IRQ 11.
   Master Capable.  Latency=64.  Min Gnt=8.
   Prefetchable 32 bit memory at 0xe400 [0xe7ff].
   I/O at 0xc000 [0xc0ff].
   Non-prefetchable 32 bit memory at 0xed00 [0xed003fff].
 
Thanks in advance,
 
-- tinus
 

___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel



[Dri-devel] Next weeks IRC

2002-01-28 Thread Jens Owen

Thanks to all who participated this week.

It was suggested that we move the meeting to be 3 hours later so might
pick up any developers in Australia and New Zealand.  None of the
European and African developers had a concern with the change, so we'll
try next monday at 2100 UTC.  Try this link for the local time in your
area:

http://www.timeanddate.com/worldclock/fixedtime.html?day=4&month=2&year=2002&hour=21&min=0&sec=0&p1=0

-- /\
 Jens Owen/  \/\ _
  [EMAIL PROTECTED]  /\ \ \   Steamboat Springs, Colorado

___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel



Re: [Dri-devel] Next weeks IRC

2002-01-28 Thread Alan Hourihane

On Mon, Jan 28, 2002 at 01:03:52PM -0700, Jens Owen wrote:
> Thanks to all who participated this week.
> 
> It was suggested that we move the meeting to be 3 hours later so might
> pick up any developers in Australia and New Zealand.  None of the
> European and African developers had a concern with the change, so we'll
> try next monday at 2100 UTC.  Try this link for the local time in your
> area:
> 
Sheesh I didn't see the time until I've just got back in. 8:20pm GMT
here now. I'd just nipped to the pub for a couple of hours too.

3 hours later is fine for me. Thanks Jens!

Alan.

___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel



[Dri-devel] IRC meeting log, 2001-01-28

2002-01-28 Thread Marcelo E. Magallon

Hi everyone,

 attached is the log of today's meeting.  If someone minds about the
 size of the attachment (17kB), please mail me privately to put it on a
 webserver next time.

 Topics discussed, among others:

* Patents
* Some bits of info on ATI's Radeon 8500 drivers
* Implementation of drivers
* The development FAQ

-- 
Marcelo



dri-devel-20020128.txt.gz
Description: Binary data


[Dri-devel] R128 driver status

2002-01-28 Thread Martijn Houtman

Hello,

Not sure if this is the correct list to paste this message, but I've tried the 
Xfree Xpert list before, and haven't gotten any (really useful) replies.

I've downloaded the latest 4.2.0 sources from the regular Xfree86 mirrors (so 
no DRI CVS's) to test if my ATI Xpert2000 32MB AGP card still has the "snow" 
issues, and it still does. 
With the snow issues i refer to the noise that appears when large parts of the 
screen are updated. It's on the right side at about 1000 pixels from the left 
(so at resolutions below 1024x768 it isn't there), from top to bottom. When 
the accel is disabled (Option "UseCCEFor2D" "true"), it doesn't appear. Also, 
the console framebuffer doesn't have the issue either.
I was told to wait for the next 4.2.0 release, and I did. Yet no luck for me.

The logs say nothing weird, and there are no abnormal messages in 
/var/log/messages.

some info (need more?):

/proc/pci:
  Bus  1, device   0, function  0:
VGA compatible controller: ATI Technologies Inc Rage 128 RF (rev 0).
  IRQ 11.
  Master Capable.  Latency=64.  Min Gnt=8.
  Prefetchable 32 bit memory at 0xe400 [0xe7ff].
  I/O at 0xc000 [0xc0ff].
  Non-prefetchable 32 bit memory at 0xed00 [0xed003fff].

Thanks in advance,

-- tinus


___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel



RE: [Dri-devel] chown /dev/dri/card0, system crashes

2002-01-28 Thread Alexander Stohr

> 3.  User runs glxgears.  It uses DRI.
> 4.  Switch VTs, chown otheruser /dev/dri/card0, chmod 600 
> /dev/dri/card0.

maybe this killed some file handles of the x-server.

> 5.  Change mind, chown root /dev/dri/card0 (no second chmod)
> 6.  Switch Vts, user runs glxgears again.  Reports "operation not
> permitted, using slow indirect rendering" and runs at 230 fps.

the system  reports on what it thinks that has happend.
but i am unsure on my explanation.

> 7.  Switch VTs, check /dev/dri/card0.  IT'S NOT THERE!  radeon kernel
> module is still loaded and has the same access count.  
> Remember this
> is in devfs.
> 8.  Used the Magic SysRq Key to sync, remount and reboot.

so what have we learnt? better do not manipulate rights of files 
that are in currently in use by some other application.

someone with something better to pop up?


___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel



[Dri-devel] R128 driver status

2002-01-28 Thread Martijn Houtman

Hello,

Not sure if this is the correct list to paste this message, but I've tried the 
Xfree Xpert list before, and haven't gotten any (really useful) replies.

I've downloaded the latest 4.2.0 sources from the regular Xfree86 mirrors (so 
no DRI CVS's) to test if my ATI Xpert2000 32MB AGP card still has the "snow" 
issues, and it still does. 
With the snow issues i refer to the noise that appears when large parts of the 
screen are updated. It's on the right side at about 1000 pixels from the left 
(so at resolutions below 1024x768 it isn't there), from top to bottom. When 
the accel is disabled (Option "UseCCEFor2D" "true"), it doesn't appear. Also, 
the console framebuffer doesn't have the issue either.
I was told to wait for the next 4.2.0 release, and I did. Yet no luck for me.

some info:

/proc/pci:
  Bus  1, device   0, function  0:
VGA compatible controller: ATI Technologies Inc Rage 128 RF (rev 0).
  IRQ 11.
  Master Capable.  Latency=64.  Min Gnt=8.
  Prefetchable 32 bit memory at 0xe400 [0xe7ff].
  I/O at 0xc000 [0xc0ff].
  Non-prefetchable 32 bit memory at 0xed00 [0xed003fff].

Thanks in advance,

-- tinus

___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel



Re: [Dri-devel] chown /dev/dri/card0, system crashes

2002-01-28 Thread Ian Romanick

> OpenGL applications successfully use DRI, e.g. glxgears gets 628 fps vs.
> 220 fps without DRI.  I added /dev/dri/card0 to /etc/logindevperm, so xdm
> would chown-chmod the device to $USER 600 at login, and root 600 when the
> session ends.  Users can log in, but when they log out the system
> freezes: the screen goes black, you can't switch VTs, and the Magic SysRq
> Key has no effect.  The failure occurs if and only if that line is present
> in /etc/logindevperm.

Unless I am mistaken, the short answer is don't do that.  /dev/dri/card0 is
only directly accessed by the X server, which runs with root permissions.
So, you shouldn't ever need to do such a thing.

-- 
Tell that to the Marines!

___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel



Re: [Dri-devel] DRI driver initialization process

2002-01-28 Thread Ian Romanick

On Thu, Jan 24, 2002 at 09:13:40PM -0700, Jens Owen wrote:
> Ian Romanick wrote:
> 
> > I've been going through the DRI code and documents trying to figure out how
> > all this stuff works.  I decided to start at the start, so I've been looking
> > at the driver initialization process.
> 
> You and Brian have already done an excellent job commenting on the
> startup process of the 3D core--so I won't touch that.  However, I will
> add that there is a broader picture that includes how the DDX and DRM
> parts are initialized.

Where in the source should I start looking at DDX?

-- 
Tell that to the Marines!

___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel



Re: [Dri-devel] DRI driver initialization process

2002-01-28 Thread José Fonseca

On 2002.01.28 22:20 Ian Romanick wrote:
> On Thu, Jan 24, 2002 at 09:13:40PM -0700, Jens Owen wrote:
> > Ian Romanick wrote:
> >
> > > I've been going through the DRI code and documents trying to figure
> out how
> > > all this stuff works.  I decided to start at the start, so I've been
> looking
> > > at the driver initialization process.
> >
> > You and Brian have already done an excellent job commenting on the
> > startup process of the 3D core--so I won't touch that.  However, I will
> > add that there is a broader picture that includes how the DDX and DRM
> > parts are initialized.
> 

Ian, I hope you don't mind but I've put your notes in the FAQ.

> Where in the source should I start looking at DDX?
> 

Check at
http://mefriss1.swan.ac.uk/~jfonseca/dri/faq/html/architecture.html#DDX-DRIVER-WHERE

Regards,

Jose Fonseca


_
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com


___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel



[Dri-devel] Re: IRC meeting is on NOW

2002-01-28 Thread Mike A. Harris

On Mon, 28 Jan 2002, Gareth Hughes wrote:

>Date: Mon, 28 Jan 2002 10:25:20 -0800
>From: Gareth Hughes <[EMAIL PROTECTED]>
>To: "'[EMAIL PROTECTED]'" <[EMAIL PROTECTED]>
>Content-Type: text/plain;
>   charset="iso-8859-1"
>List-Id: 
>Subject: IRC meeting is on NOW
>
>In case you missed it, or forgot, the IRC meeting is taking place
>right now on #dri-devel.

I missed the dang thing.  ;o)  Didn't get a response to my email 
query so I went and crashed out for several hours.

Perhaps we should settle upon one fixed time, or in lieu of 
that, a dual time rotation every week, and have it posted 
somewhere.

Pretty much any time at all is good for me, so whatever works 
best for the most people should be fine.


-- 
--
Mike A. Harris  Shipping/mailing address:
OS Systems Engineer 190 Pittsburgh Ave., Sault Ste. Marie,
XFree86 maintainer  Ontario, Canada, P6C 5B3
Red Hat Inc.Phone: (705)949-2136
http://www.redhat.com   ftp://people.redhat.com/mharris
Red Hat XFree86 mailing list:   [EMAIL PROTECTED]
General open IRC discussion:#xfree86 on irc.openprojects.net
--


___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel



[Dri-devel] Repost with Patch: RFC AGP Shared Memory

2002-01-28 Thread Sottek, Matthew J


This is a repost with the patch against 2.4.17 attached. I think Jeff
is back on the list so I'll save him from having to read the archives
for the original. 

 -Matt



I posted a RFC about a new type of "Shared" agp memory a while back
but didn't get any input. I thought I would try again since there has
been better communication as of late, and the idea has progressed
somewhat.

The problem:
The agpgart usage model is not well suited for UMA architectures because
each gart user is expected to allocate memory and only bind it into
the gart while it is active. Therefore on systems where all graphics
memory is obtained from the gart a huge amount of system memory is
wasted (16 Megs is probably a common amount of wasted memory on a
system running 2 X servers). To further the problem this memory is
non-swappable.
The issue has become exacerbated on embedded devices that must have
a framebuffer console for smooth graphics transitions during boot.
The framebuffer console must share a framebuffer among the virtual
terminals and eventually share resources with X.

Solution:
I have created a new type of agp memory in use in the i810's agpgart.
This type is "Shared" memory and works quite differently from regular
agpgart memory.
First, when memory of type shared is allocated the allocation will
basically always succeed, but does not allocate any pages. It only
allocates the agp memory structure. The pages are only allocated when
bound. There is a shared reference count table (8bit * Number of pages)
that allows the agpgart driver to determine if the pages actually need
to be allocated at bind time. If a page is being bound where a
shared page already exists the reference count is increased and the
page is reused. Pages are freed when the last reference is removed
(during unbind)

Second, in order to be compatible with existing memory types the
following rules apply:
 * Binding regular memory on top of shared memory does NOT result in
   an -EBUSY. The existing pages are left bound and the reference count
   is increased. The regular memory pages are wasted, and therefore
   should be avoided in the future.
 * Binding shared memory on top of regular memory is not allowed. This
   is primarily the case because allocate/free of regular memory is
   handled at the device independent layer. This also gives the first
   client the guarantee that the memory behavior will be as historically
   expected.
 * Binding of Local memory for i810 is carried out as normal. If local
   memory is being bound on top of shared memory the shared pages are
   kept instead. (I expect that local memory will be unbound when a
   client leaves since there is no duplication of memory)
 * Physical memory is currently still a problem. Since the client is
   given the physical address of the page at allocation time it can
   not be ignored when bound into a shared area. Currently I swap the
   physical page with the one in the shared area. This works fine but
   would fail if two clients bound a physical page at the same location.
   The physical type of memory has no actual need to be bound into the
   gart. It just makes it easy for XFree. So designs that are sharing
   memory with the framebuffer should just mmap the physical page via
   the framebuffer and not map it into the gart.


Using this scenario I have created a framebuffer that uses a different
Shared memory allocation for each virtual terminal. Each virtual
terminal allocates and binds the memory at startup and the agpgart
internally keep track of the reference counts. When a mode change
occurs, the virtual terminal allocates and binds a second memory
region (If the size changed), then unbinds and frees the first. Since
the memory for each vt in independently reference counted this system
guarantees that the minimum amount of memory needed to satisfy any
running virtual terminal is allocated into the gart.

This plan can be carried forward to accommodate all resource types.
DMA buffers, textures, video surfaces, back/depth buffers would
all be allocated dynamically only when needed. Thereby saving large
amount of memory during normal operation.

Comments welcome,
 -Matt

 <> 



linux.diff.gz
Description: Binary data


[Dri-devel] unsubsrcibed from list

2002-01-28 Thread Frank Worsley

Hi all,

for some reason I got unsubscribed from the list when SF moved over to
their new archives. If there was anything concerning the website that I
missed please let me know.

In any case, some people have stepped up to give the website a glorious
new look. So, maybe in the coming months there will be a new website. I
will keep you posted. :)

Cheers,

- Frank




___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel



Re: [Dri-devel] Bugfix for br0ken DMA on r128 and possibly radeonDMA functions

2002-01-28 Thread Michel Dänzer

On Mon, 2002-01-28 at 19:27, Peter Surda wrote:
> On Mon, Jan 28, 2002 at 09:33:51AM +0100, Michel Dänzer wrote:
> > > Yes, exactly. But this test fails if buf->pid == 0, which is wrong.
> > No. As you say, 0 isn't a valid pid,
> ... which means the buffer is unused and the test should fail.

Read your sentences. ;)


-- 
Earthling Michel Dänzer (MrCooper)/ Debian GNU/Linux (powerpc) developer
XFree86 and DRI project member   /  CS student, Free Software enthusiast

___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel