Re: [Dri-devel] radeonAllocDmaRegion called with bytes dma buffersize

2003-02-06 Thread Ian Romanick
Keith Whitwell wrote:

Felix Kühling wrote:


On Wed, 05 Feb 2003 16:25:27 -0700
Keith Whitwell [EMAIL PROTECTED] wrote:


Felix Kühling wrote:


I attached a patch that fixes the problem. It introduces a new
TCL_FALLBACK if there are too many vertices to fit into one DMA buffer.
Looks kind of hackish to me. Does anyone have a better idea? Comments?


Mesa should respect ctx-Const.MaxArrayVertices, which should be 
being set in radeon_context.c  --- it may be that this code is 
disabled - can you check that  try turning it back on.

Found it: radeon_context.c around line 375:
/* ctx-Const.MaxArrayLockSize =  */
/*MIN2( ctx-Const.MaxArrayLockSize, */
/*  RADEON_BUFFER_SIZE / RADEON_MAX_TCL_VERTSIZE ); */

And then there is the definition of RADEON_MAX_TCL_VERTSIZE in
radeon_tcl.h which is (4*4). However, I saw vertex_size==24! Maybe the
real MAX_TCL_VERTSIZE is even bigger?


Yes it is, because we went back to using vertexes instead of individual 
arrays, but forgot to reset this max value.  I've committed the fix.

That's something I had noticed before, but never asked about.  Both the 
radeon  r200 drivers have two different code paths that are selected at 
compile time.  radeon uses maos_verts and r200 uses maos_arrays.  I 
looked at it before, and I didn't really understand what was going on.

What's the difference between the two?  Why does r100 use one and r200 
use the other?



---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: [Dri-devel] radeonAllocDmaRegion called with bytes dma buffersize

2003-02-06 Thread Keith Whitwell
Ian Romanick wrote:

Keith Whitwell wrote:


Felix Kühling wrote:


On Wed, 05 Feb 2003 16:25:27 -0700
Keith Whitwell [EMAIL PROTECTED] wrote:


Felix Kühling wrote:


I attached a patch that fixes the problem. It introduces a new
TCL_FALLBACK if there are too many vertices to fit into one DMA 
buffer.
Looks kind of hackish to me. Does anyone have a better idea? Comments?


Mesa should respect ctx-Const.MaxArrayVertices, which should be 
being set in radeon_context.c  --- it may be that this code is 
disabled - can you check that  try turning it back on.


Found it: radeon_context.c around line 375:
/* ctx-Const.MaxArrayLockSize =  */
/*MIN2( ctx-Const.MaxArrayLockSize, */
/*  RADEON_BUFFER_SIZE / RADEON_MAX_TCL_VERTSIZE ); */

And then there is the definition of RADEON_MAX_TCL_VERTSIZE in
radeon_tcl.h which is (4*4). However, I saw vertex_size==24! Maybe the
real MAX_TCL_VERTSIZE is even bigger?



Yes it is, because we went back to using vertexes instead of 
individual arrays, but forgot to reset this max value.  I've committed 
the fix.


That's something I had noticed before, but never asked about.  Both the 
radeon  r200 drivers have two different code paths that are selected at 
compile time.  radeon uses maos_verts and r200 uses maos_arrays.  I 
looked at it before, and I didn't really understand what was going on.

What's the difference between the two?  Why does r100 use one and r200 
use the other?

I'm not sure if the r200 vertex path has ever worked - the code can probably 
be removed.

The r100 started with vertices, I added arrays but actually the r100 seems to 
be faster with vertices than arrays...  And somebody spotted a problem with 
the array path (I just remembered this) where a packet can get split between 
two buffers in a bad way.  I should try  dig this out as it can probably 
happen in the r200 driver as well.

Keith






---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: [Dri-devel] radeonAllocDmaRegion called with bytes dma buffersize

2003-02-05 Thread Keith Whitwell
Felix Kühling wrote:

On Wed, 05 Feb 2003 16:25:27 -0700
Keith Whitwell [EMAIL PROTECTED] wrote:



Felix Kühling wrote:


I attached a patch that fixes the problem. It introduces a new
TCL_FALLBACK if there are too many vertices to fit into one DMA buffer.
Looks kind of hackish to me. Does anyone have a better idea? Comments?


Mesa should respect ctx-Const.MaxArrayVertices, which should be being set in 
radeon_context.c  --- it may be that this code is disabled - can you check 
that  try turning it back on.


Found it: radeon_context.c around line 375:
/* ctx-Const.MaxArrayLockSize =  */
/*MIN2( ctx-Const.MaxArrayLockSize, */
/*  	RADEON_BUFFER_SIZE / RADEON_MAX_TCL_VERTSIZE ); */

And then there is the definition of RADEON_MAX_TCL_VERTSIZE in
radeon_tcl.h which is (4*4). However, I saw vertex_size==24! Maybe the
real MAX_TCL_VERTSIZE is even bigger?


Yes it is, because we went back to using vertexes instead of individual 
arrays, but forgot to reset this max value.  I've committed the fix.

Keith






---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: [Dri-devel] radeonAllocDmaRegion called with bytes dma buffersize

2003-02-05 Thread Leif Delgass
Hurrah! ... this fixes the vertex data corruption in the UT2003 opening
screen.  There's still vertex problems in game (though not quite as much).  
The remaining problems may be because of cube mapping (I'm testing on
R100).

On Wed, 5 Feb 2003, Keith Whitwell wrote:

 Felix Kühling wrote:
  On Wed, 05 Feb 2003 16:25:27 -0700
  Keith Whitwell [EMAIL PROTECTED] wrote:
  
  
 Felix Kühling wrote:
 
 I attached a patch that fixes the problem. It introduces a new
 TCL_FALLBACK if there are too many vertices to fit into one DMA buffer.
 Looks kind of hackish to me. Does anyone have a better idea? Comments?
 
 Mesa should respect ctx-Const.MaxArrayVertices, which should be being set in 
 radeon_context.c  --- it may be that this code is disabled - can you check 
 that  try turning it back on.
  
  
  Found it: radeon_context.c around line 375:
  /* ctx-Const.MaxArrayLockSize =  */
  /*MIN2( ctx-Const.MaxArrayLockSize, */
  /*  RADEON_BUFFER_SIZE / RADEON_MAX_TCL_VERTSIZE ); */
  
  And then there is the definition of RADEON_MAX_TCL_VERTSIZE in
  radeon_tcl.h which is (4*4). However, I saw vertex_size==24! Maybe the
  real MAX_TCL_VERTSIZE is even bigger?
 
 Yes it is, because we went back to using vertexes instead of individual 
 arrays, but forgot to reset this max value.  I've committed the fix.
 
 Keith
 
 
 
 
 
 
 ---
 This SF.NET email is sponsored by:
 SourceForge Enterprise Edition + IBM + LinuxWorld ÿomething 2 See!
 http://www.vasoftware.com
 ___
 Dri-devel mailing list
 [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/dri-devel
 

-- 
Leif Delgass 
http://www.retinalburn.net



---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel



Re: [Dri-devel] radeonAllocDmaRegion called with bytes dma buffersize

2003-02-05 Thread Leif Delgass
On Thu, 6 Feb 2003, Felix Kühling wrote:

 On Wed, 5 Feb 2003 20:17:57 -0500 (EST)
 Leif Delgass [EMAIL PROTECTED] wrote:
 
  Hurrah! ... this fixes the vertex data corruption in the UT2003 opening
  screen.  There's still vertex problems in game (though not quite as much).  
  The remaining problems may be because of cube mapping (I'm testing on
  R100).
 
 I see lots of vertex data corruption with TCL disabled in torcs and in
 quakeforge. With TCL enabled there is some strange corruption in
 quakeforge when the console is active.

Actually, disabling TCL does cause some vertex corruption right at the 
start of the intro.  Also I tried disabling texturing (rmode 7) and the 
vertex corruption in-game is still there, so it doesn't seem to be related 
to cube mapping.

-- 
Leif Delgass 
http://www.retinalburn.net



---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel



Re: [Dri-devel] radeonAllocDmaRegion called with bytes dma buffersize

2003-02-05 Thread Keith Whitwell
Leif Delgass wrote:

Hurrah! ... this fixes the vertex data corruption in the UT2003 opening
screen.  There's still vertex problems in game (though not quite as much).  
The remaining problems may be because of cube mapping (I'm testing on
R100).

Hmm.  Do you have an r200?  I wonder whats up there...

Keith




---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel



Re: [Dri-devel] radeonAllocDmaRegion called with bytes dma buffersize

2003-02-05 Thread Leif Delgass
On Wed, 5 Feb 2003, Keith Whitwell wrote:

 Leif Delgass wrote:
  Hurrah! ... this fixes the vertex data corruption in the UT2003 opening
  screen.  There's still vertex problems in game (though not quite as much).  
  The remaining problems may be because of cube mapping (I'm testing on
  R100).
 
 Hmm.  Do you have an r200?  I wonder whats up there...

Nope.  See my other reply (to Felix) -- there are still problems with TCL
disabled and in game maps even with TCL.  I was wondering if it was
related to use of more than 2 texcoords, but I still had the problem with
texturing disabled in ut2k3.  I'm starting to look at what we need to do
to handle glTexCoord3/4.  The tricky thing is that the templates (e.g.  
radeon_maos_verts.c) seem to assume either 2 coords, or 4 coords (with r
unused).  We need to be able to choose either the third or fourth texcoord
to put in the card's q slot, depending on whether the target is a
3D/cubemap texture or a 2D texture.

-- 
Leif Delgass 
http://www.retinalburn.net




---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
___
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel