[Mesa3d-dev] [PATCH 1/2] nouveau/nv04: very primitive line/point render

2010-03-09 Thread randrianasulu
This time it renders progs/demos/bounce and progs/samples/sphere correctly.
From 1848ef2fc2b25a49e555c5f23694b9df590756b2 Mon Sep 17 00:00:00 2001
From: Andrew Randrianasulu rand...@mail.ru
Date: Tue, 9 Mar 2010 06:24:16 +
Subject: [PATCH 1/2] nouveau/nv04: very primitive line/point render

---
 src/mesa/drivers/dri/nouveau/nv04_render.c |  156 
 1 files changed, 156 insertions(+), 0 deletions(-)

diff --git a/src/mesa/drivers/dri/nouveau/nv04_render.c b/src/mesa/drivers/dri/nouveau/nv04_render.c
index b5943d9..633fbb1 100644
--- a/src/mesa/drivers/dri/nouveau/nv04_render.c
+++ b/src/mesa/drivers/dri/nouveau/nv04_render.c
@@ -36,6 +36,18 @@
 
 #define NUM_VERTEX_ATTRS 6
 
+typedef struct
+{
+	float ScreenX;
+	float ScreenY;
+	float ScreenZ;
+	float EyeM;
+	unsigned int Color;
+	unsigned int Specular;
+	float TextureS;
+	float TextureT;
+} NV_HW_Vertex;
+
 static void
 swtnl_update_viewport(GLcontext *ctx)
 {
@@ -148,11 +160,155 @@ swtnl_reset_stipple(GLcontext *ctx)
 static void
 swtnl_points(GLcontext *ctx, GLuint first, GLuint last)
 {
+	int i;
+
+	GLfloat pointSize = ctx-Point.Size * 0.5; // was 0.75
+	GLfloat dx, dy, z, z1;
+	GLfloat x,y;
+	NV_HW_Vertex vertex_four[4];
+
+
+for (i=first;i=last;i++)
+{
+
+
+	x =  ((float *) _tnl_get_vertex( ctx, i ))[0];
+	y =  ((float *) _tnl_get_vertex( ctx, i ))[1];
+
+/* Populate NV_HW_vertex */
+	vertex_four[0].ScreenX = x - pointSize; 
+	vertex_four[0].ScreenY = y + pointSize;
+	vertex_four[0].ScreenZ = ((float *) _tnl_get_vertex( ctx, i ))[2];
+	vertex_four[0].EyeM = ((float *) _tnl_get_vertex( ctx, i ))[3];
+	vertex_four[0].Color = ((unsigned int *) _tnl_get_vertex( ctx, i ))[4];
+	vertex_four[0].Specular = ((unsigned int *) _tnl_get_vertex( ctx, i ))[5];
+	vertex_four[0].TextureS = ((float *) _tnl_get_vertex( ctx, i ))[6];
+	vertex_four[0].TextureT = ((float *) _tnl_get_vertex( ctx, i ))[7];
+	
+	vertex_four[1].ScreenX = x - pointSize; 
+	vertex_four[1].ScreenY = y - pointSize;
+	vertex_four[1].ScreenZ = ((float *) _tnl_get_vertex( ctx, i ))[2];
+	vertex_four[1].EyeM = ((float *) _tnl_get_vertex( ctx, i ))[3];
+	vertex_four[1].Color = ((unsigned int *) _tnl_get_vertex( ctx, i ))[4];
+	vertex_four[1].Specular = ((unsigned int *) _tnl_get_vertex( ctx, i ))[5];
+	vertex_four[1].TextureS = ((float *) _tnl_get_vertex( ctx, i ))[6];
+	vertex_four[1].TextureT = ((float *) _tnl_get_vertex( ctx, i ))[7];
+
+	vertex_four[2].ScreenX = x + pointSize; 
+	vertex_four[2].ScreenY = y - pointSize;
+	vertex_four[2].ScreenZ = ((float *) _tnl_get_vertex( ctx, i ))[2];
+	vertex_four[2].EyeM = ((float *) _tnl_get_vertex( ctx, i ))[3];
+	vertex_four[2].Color = ((unsigned int *) _tnl_get_vertex( ctx, i ))[4];
+	vertex_four[2].Specular = ((unsigned int *) _tnl_get_vertex( ctx, i ))[5];
+	vertex_four[2].TextureS = ((float *) _tnl_get_vertex( ctx, i ))[6];
+	vertex_four[2].TextureT = ((float *) _tnl_get_vertex( ctx, i ))[7];
+
+	vertex_four[3].ScreenX = x + pointSize; 
+	vertex_four[3].ScreenY = y + pointSize;
+	vertex_four[3].ScreenZ = ((float *) _tnl_get_vertex( ctx, i ))[2];
+	vertex_four[3].EyeM = ((float *) _tnl_get_vertex( ctx, i ))[3];
+	vertex_four[3].Color = ((unsigned int *) _tnl_get_vertex( ctx, i ))[4];
+	vertex_four[3].Specular = ((unsigned int *) _tnl_get_vertex( ctx, i ))[5];
+	vertex_four[3].TextureS = ((float *) _tnl_get_vertex( ctx, i ))[6];
+	vertex_four[3].TextureT = ((float *) _tnl_get_vertex( ctx, i ))[7];
+
+
+	BEGIN_PRIMITIVE(4);
+	OUT_RINGp(chan, vertex_four[0], vertex_len);
+	OUT_RINGp(chan, vertex_four[1], vertex_len);
+	OUT_RINGp(chan, vertex_four[2], vertex_len);
+	OUT_RINGp(chan, vertex_four[3], vertex_len);
+	END_PRIMITIVE(0x320210);
+}
 }
 
+
 static void
 swtnl_line(GLcontext *ctx, GLuint v1, GLuint v2)
 {
+	GLfloat LineWidth;
+	GLfloat dx, dy, z, z1;
+	GLfloat x1,x2,y1,y2;
+	NV_HW_Vertex vertex_four[4];
+
+ 	GLfloat pos_tmp1[4]; /*x,y,z,w */
+	GLfloat pos_tmp2[4]; /*x,y,z,w */
+
+	LineWidth = ctx-Line.Width * 0.5F;
+	
+	/*
+ * Get line extents.
+	 */
+	
+	x1 =  ((float *) _tnl_get_vertex( ctx, v1 ))[0];
+	x2 =  ((float *) _tnl_get_vertex( ctx, v2 ))[0];
+	y1 =  ((float *) _tnl_get_vertex( ctx, v1 ))[1];
+	y2 =  ((float *) _tnl_get_vertex( ctx, v2 ))[1];
+
+/*
+* Determine major and minor axis.
+*/
+
+	dx = x2 - x1; dy = y2 - y1;
+	if (fabs(dx)  fabs(dy))
+	{
+		dy = LineWidth;
+		dx = 0.0F;
+	}	
+	else
+	{
+		dx = LineWidth;
+		dy = 0.0F;
+	}
+
+	// z = ((float *) _tnl_get_vertex( ctx, v1 ))[2] + ctx-LineOffset;
+
+
+/* Populate NV_HW_vertex */
+	vertex_four[0].ScreenX = x1 - dx; 
+	vertex_four[0].ScreenY = y1 - dy;
+	vertex_four[0].ScreenZ = ((float *) _tnl_get_vertex( ctx, v1 ))[2];
+	vertex_four[0].EyeM = ((float *) _tnl_get_vertex( ctx, v1 ))[3];
+	vertex_four[0].Color = ((unsigned int *) _tnl_get_vertex( ctx, v1 ))[4];
+	vertex_four[0].Specular = ((unsigned int *) _tnl_get_vertex( ctx, v1 ))[5];
+	vertex_four[0].TextureS = ((float *) 

Re: [Mesa3d-dev] gallium-sw-api-2, cell driver alert!

2010-03-09 Thread Brian Paul
Brian Paul wrote:
 Keith Whitwell wrote:
 This is getting close to ready to merge, so please take a look if you're
 interested in the software rasterizers.

 Heads up that I've had to do some work on the cell driver in the
 gallium-sw-api-2 branch to migrate it to the new shared sw_winsys
 implementation.  Unfortunately I don't have the cell SDK installed, so I
 can't even compile-test the changes.

 Hopefully someone out there who cares about cell can take a look, but I
 don't want to hold up merging this branch if nobody jumps on it.
 
 My PS3 is still going- I'll look into it.

OK, it compiles but it doesn't run at all.  The SPUs immediately crash 
because of invalid commands in the batch buffers.  I suspect there's 
other breakage in texture handing and displaying of display targets.

I don't have time to fix this so I guess cell will stay broken for a 
while.

-Brian


--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev


Re: [Mesa3d-dev] gallium cached bufmgr busy change

2010-03-09 Thread Luca Barbieri
 We can do this optimisation with busy as well. As long as you add
 things to the busy list at the end, and stop testing after the first
 busy call. At least for a single linear GPU context, which is all
 I expect this code will ever be handling.

Wouldn't this just end up reinventing the fenced bufmgr?

Basically cached needs a list of all destroyed buffers (ideally in
destruction order, so it can do the stopping optimization when
expiring buffers), while the busy mechanism needs a list of all used
buffers (destroyed or not) in usage order.

So it seems it would need two lists, and essentially result in
something that replicates fenced inside cached.

BTW, right now I think all drivers use a single GPU context in
userspace. Even Nouveau multiplexes Gallium contexts on a single
channel (this is probably broken though).

--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev


Re: [Mesa3d-dev] gallium-sw-api-2, cell driver alert!

2010-03-09 Thread Keith Whitwell
On Tue, 2010-03-09 at 06:36 -0800, Brian Paul wrote:
 Keith Whitwell wrote:
  This is getting close to ready to merge, so please take a look if you're
  interested in the software rasterizers.
  
  Heads up that I've had to do some work on the cell driver in the
  gallium-sw-api-2 branch to migrate it to the new shared sw_winsys
  implementation.  Unfortunately I don't have the cell SDK installed, so I
  can't even compile-test the changes.
  
  Hopefully someone out there who cares about cell can take a look, but I
  don't want to hold up merging this branch if nobody jumps on it.
 
 My PS3 is still going- I'll look into it.

Thanks Brian.  Hopefully it's clear what's going on - it's just a port
of the equivalent code from llvmpipe, plus a change to do the
display-target untwiddling inside the driver rather than in the winsys.

Keith


--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev


Re: [Mesa3d-dev] gallium-sw-api-2, cell driver alert!

2010-03-09 Thread Brian Paul
Keith Whitwell wrote:
 This is getting close to ready to merge, so please take a look if you're
 interested in the software rasterizers.
 
 Heads up that I've had to do some work on the cell driver in the
 gallium-sw-api-2 branch to migrate it to the new shared sw_winsys
 implementation.  Unfortunately I don't have the cell SDK installed, so I
 can't even compile-test the changes.
 
 Hopefully someone out there who cares about cell can take a look, but I
 don't want to hold up merging this branch if nobody jumps on it.

My PS3 is still going- I'll look into it.

-Brian


--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev


[Mesa3d-dev] gallium-sw-api-2, cell driver alert!

2010-03-09 Thread Keith Whitwell
This is getting close to ready to merge, so please take a look if you're
interested in the software rasterizers.

Heads up that I've had to do some work on the cell driver in the
gallium-sw-api-2 branch to migrate it to the new shared sw_winsys
implementation.  Unfortunately I don't have the cell SDK installed, so I
can't even compile-test the changes.

Hopefully someone out there who cares about cell can take a look, but I
don't want to hold up merging this branch if nobody jumps on it.

This leaves r300g as the only remaining user of
pipe_winsys/u_simple_screen - which means we can rename that code
r300_winsys and pull it into that driver...   

Keith


--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev


Re: [Mesa3d-dev] gallium-sw-api-2, cell driver alert!

2010-03-09 Thread Corbin Simpson
On Tue, Mar 9, 2010 at 6:08 AM, Keith Whitwell kei...@vmware.com wrote:
 This leaves r300g as the only remaining user of
 pipe_winsys/u_simple_screen - which means we can rename that code
 r300_winsys and pull it into that driver...

Dave had some code that fixes this, I think. I more or less agreed
to stay out of it, but I might take a look if killing u_simple_screen
is a priority.

~ C.

-- 
Only fools are easily impressed by what is only
barely beyond their reach. ~ Unknown

Corbin Simpson
mostawesomed...@gmail.com

--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev


Re: [Mesa3d-dev] [RFC] Minor gallium changes

2010-03-09 Thread Corbin Simpson
On Tue, Mar 9, 2010 at 6:37 AM, José Fonseca jfons...@vmware.com wrote:
 On Mon, 2010-03-08 at 15:28 -0800, Brian Paul wrote:
 1. Rename pipe_sampler_state:min_mip_filter to mip_filter.

 I don't know that the min part of that field refers to.


 2. Remove PIPE_MAX_TEXTURE_LEVELS from p_state.h

 This token isn't used anywhere in the gallium interface anymore, nor
 the state trackers.  I've already removed the use of this token in the
 gallium drivers (use per-driver #defines instead).  There's still some
 use in the blitter code though.

 This looks fine.

 3. BTW, none of these #defines are used in the gallium interface
 header files:
     PIPE_MAX_CONSTANT_BUFFERS
     PIPE_MAX_ATTRIBS
     PIPE_MAX_SAMPLERS
     PIPE_MAX_VERTEX_SAMPLERS

 They are used in the utility code and drivers though.  Should we
 define these in the gallium interface if they're not used by the
 interface itself?

 PIPE_MAX_SAMPLERS / PIPE_MAX_VERTEX_SAMPLERS are the maximum argument
 set_fragment_sampler_textures/set_vertex_sampler_textures. These are
 indeed unnecessary given that there are corresponding caps queries. So
 state trackers should use arrays big enough to represent the API limits,
 and pipe drivers should use arrays big enough to represent the hardware
 limits, and both should agree on what's passed via the caps.

 Ditto for PIPE_MAX_CONSTANT_BUFFERS.

 I'm not sure about PIPE_MAX_ATTRIBS though. Can't find a caps for it.

Since the drivers need to know those limits, can we doc them? I've
been looking them up in the headers when I need to see their values,
and I know I'm not the only one.

~ C.

-- 
Only fools are easily impressed by what is only
barely beyond their reach. ~ Unknown

Corbin Simpson
mostawesomed...@gmail.com

--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev


Re: [Mesa3d-dev] gallium-sw-api-2, cell driver alert!

2010-03-09 Thread Keith Whitwell
On Tue, 2010-03-09 at 08:19 -0800, Corbin Simpson wrote:
 On Tue, Mar 9, 2010 at 6:08 AM, Keith Whitwell kei...@vmware.com wrote:
  This leaves r300g as the only remaining user of
  pipe_winsys/u_simple_screen - which means we can rename that code
  r300_winsys and pull it into that driver...
 
 Dave had some code that fixes this, I think. I more or less agreed
 to stay out of it, but I might take a look if killing u_simple_screen
 is a priority.

It's just a cleanup at this point, no urgency. 

Keith


--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev


[Mesa3d-dev] [PATCH 1/4] nouveau/nv04: very primitive line/point render

2010-03-09 Thread randrianasulu
Playing with lines, some trivial/*-unfilled-* demos works, tri-unfilled-smooth 
renders wrong (as one big smooth tri, not as small smooth tre inside unfilled 
one). Also, clipping is wrong, as show by tri-unfilled-clip.

This is more playground, hwen i'll have 6 or 8 optimized polygon rendering 
functions, it will be much less fun to code all those fixups in driver, so, 
t_dd_tritmp.h calling .

From 1848ef2fc2b25a49e555c5f23694b9df590756b2 Mon Sep 17 00:00:00 2001
From: Andrew Randrianasulu rand...@mail.ru
Date: Tue, 9 Mar 2010 06:24:16 +
Subject: [PATCH 1/4] nouveau/nv04: very primitive line/point render

---
 src/mesa/drivers/dri/nouveau/nv04_render.c |  156 
 1 files changed, 156 insertions(+), 0 deletions(-)

diff --git a/src/mesa/drivers/dri/nouveau/nv04_render.c b/src/mesa/drivers/dri/nouveau/nv04_render.c
index b5943d9..633fbb1 100644
--- a/src/mesa/drivers/dri/nouveau/nv04_render.c
+++ b/src/mesa/drivers/dri/nouveau/nv04_render.c
@@ -36,6 +36,18 @@
 
 #define NUM_VERTEX_ATTRS 6
 
+typedef struct
+{
+	float ScreenX;
+	float ScreenY;
+	float ScreenZ;
+	float EyeM;
+	unsigned int Color;
+	unsigned int Specular;
+	float TextureS;
+	float TextureT;
+} NV_HW_Vertex;
+
 static void
 swtnl_update_viewport(GLcontext *ctx)
 {
@@ -148,11 +160,155 @@ swtnl_reset_stipple(GLcontext *ctx)
 static void
 swtnl_points(GLcontext *ctx, GLuint first, GLuint last)
 {
+	int i;
+
+	GLfloat pointSize = ctx-Point.Size * 0.5; // was 0.75
+	GLfloat dx, dy, z, z1;
+	GLfloat x,y;
+	NV_HW_Vertex vertex_four[4];
+
+
+for (i=first;i=last;i++)
+{
+
+
+	x =  ((float *) _tnl_get_vertex( ctx, i ))[0];
+	y =  ((float *) _tnl_get_vertex( ctx, i ))[1];
+
+/* Populate NV_HW_vertex */
+	vertex_four[0].ScreenX = x - pointSize; 
+	vertex_four[0].ScreenY = y + pointSize;
+	vertex_four[0].ScreenZ = ((float *) _tnl_get_vertex( ctx, i ))[2];
+	vertex_four[0].EyeM = ((float *) _tnl_get_vertex( ctx, i ))[3];
+	vertex_four[0].Color = ((unsigned int *) _tnl_get_vertex( ctx, i ))[4];
+	vertex_four[0].Specular = ((unsigned int *) _tnl_get_vertex( ctx, i ))[5];
+	vertex_four[0].TextureS = ((float *) _tnl_get_vertex( ctx, i ))[6];
+	vertex_four[0].TextureT = ((float *) _tnl_get_vertex( ctx, i ))[7];
+	
+	vertex_four[1].ScreenX = x - pointSize; 
+	vertex_four[1].ScreenY = y - pointSize;
+	vertex_four[1].ScreenZ = ((float *) _tnl_get_vertex( ctx, i ))[2];
+	vertex_four[1].EyeM = ((float *) _tnl_get_vertex( ctx, i ))[3];
+	vertex_four[1].Color = ((unsigned int *) _tnl_get_vertex( ctx, i ))[4];
+	vertex_four[1].Specular = ((unsigned int *) _tnl_get_vertex( ctx, i ))[5];
+	vertex_four[1].TextureS = ((float *) _tnl_get_vertex( ctx, i ))[6];
+	vertex_four[1].TextureT = ((float *) _tnl_get_vertex( ctx, i ))[7];
+
+	vertex_four[2].ScreenX = x + pointSize; 
+	vertex_four[2].ScreenY = y - pointSize;
+	vertex_four[2].ScreenZ = ((float *) _tnl_get_vertex( ctx, i ))[2];
+	vertex_four[2].EyeM = ((float *) _tnl_get_vertex( ctx, i ))[3];
+	vertex_four[2].Color = ((unsigned int *) _tnl_get_vertex( ctx, i ))[4];
+	vertex_four[2].Specular = ((unsigned int *) _tnl_get_vertex( ctx, i ))[5];
+	vertex_four[2].TextureS = ((float *) _tnl_get_vertex( ctx, i ))[6];
+	vertex_four[2].TextureT = ((float *) _tnl_get_vertex( ctx, i ))[7];
+
+	vertex_four[3].ScreenX = x + pointSize; 
+	vertex_four[3].ScreenY = y + pointSize;
+	vertex_four[3].ScreenZ = ((float *) _tnl_get_vertex( ctx, i ))[2];
+	vertex_four[3].EyeM = ((float *) _tnl_get_vertex( ctx, i ))[3];
+	vertex_four[3].Color = ((unsigned int *) _tnl_get_vertex( ctx, i ))[4];
+	vertex_four[3].Specular = ((unsigned int *) _tnl_get_vertex( ctx, i ))[5];
+	vertex_four[3].TextureS = ((float *) _tnl_get_vertex( ctx, i ))[6];
+	vertex_four[3].TextureT = ((float *) _tnl_get_vertex( ctx, i ))[7];
+
+
+	BEGIN_PRIMITIVE(4);
+	OUT_RINGp(chan, vertex_four[0], vertex_len);
+	OUT_RINGp(chan, vertex_four[1], vertex_len);
+	OUT_RINGp(chan, vertex_four[2], vertex_len);
+	OUT_RINGp(chan, vertex_four[3], vertex_len);
+	END_PRIMITIVE(0x320210);
+}
 }
 
+
 static void
 swtnl_line(GLcontext *ctx, GLuint v1, GLuint v2)
 {
+	GLfloat LineWidth;
+	GLfloat dx, dy, z, z1;
+	GLfloat x1,x2,y1,y2;
+	NV_HW_Vertex vertex_four[4];
+
+ 	GLfloat pos_tmp1[4]; /*x,y,z,w */
+	GLfloat pos_tmp2[4]; /*x,y,z,w */
+
+	LineWidth = ctx-Line.Width * 0.5F;
+	
+	/*
+ * Get line extents.
+	 */
+	
+	x1 =  ((float *) _tnl_get_vertex( ctx, v1 ))[0];
+	x2 =  ((float *) _tnl_get_vertex( ctx, v2 ))[0];
+	y1 =  ((float *) _tnl_get_vertex( ctx, v1 ))[1];
+	y2 =  ((float *) _tnl_get_vertex( ctx, v2 ))[1];
+
+/*
+* Determine major and minor axis.
+*/
+
+	dx = x2 - x1; dy = y2 - y1;
+	if (fabs(dx)  fabs(dy))
+	{
+		dy = LineWidth;
+		dx = 0.0F;
+	}	
+	else
+	{
+		dx = LineWidth;
+		dy = 0.0F;
+	}
+
+	// z = ((float *) _tnl_get_vertex( ctx, v1 ))[2] + ctx-LineOffset;
+
+
+/* Populate NV_HW_vertex */
+	vertex_four[0].ScreenX = x1 - dx; 
+	vertex_four[0].ScreenY = y1 - dy;
+	

[Mesa3d-dev] Commit messages broken??

2010-03-09 Thread Keith Whitwell
I haven't seen any of these for a while now...  Anyone have any ideas?

Keith


--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev


Re: [Mesa3d-dev] gallium-sw-api-2, cell driver alert!

2010-03-09 Thread Dave Airlie
On Wed, Mar 10, 2010 at 2:31 AM, Keith Whitwell kei...@vmware.com wrote:
 On Tue, 2010-03-09 at 08:19 -0800, Corbin Simpson wrote:
 On Tue, Mar 9, 2010 at 6:08 AM, Keith Whitwell kei...@vmware.com wrote:
  This leaves r300g as the only remaining user of
  pipe_winsys/u_simple_screen - which means we can rename that code
  r300_winsys and pull it into that driver...

 Dave had some code that fixes this, I think. I more or less agreed
 to stay out of it, but I might take a look if killing u_simple_screen
 is a priority.

 It's just a cleanup at this point, no urgency.

I'll try and merge the easy bits of my branch to get drop u_simple_screen
first.

then worry about the cached mgr stuff.

Dave.

--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev


[Mesa3d-dev] sw-api-2 branch

2010-03-09 Thread Keith Whitwell
This has reached a point where I could think about merging it.  There is
plenty more cleanup to do, but the branch makes some big strides and
introduces a couple of concepts that I've wanted for a long time. 

In particular the idea of a designated targets subtree which has code
for explicitly constructing driver stacks. 

Secondly the ability to inject layers into (at least) the software
stacks has been greatly improved, and I'd like to see us build on that
for hardware drivers as well.

There is probably still some bugfix to come, but if you're interested in
the software rasterizers, please check out this branch and let me know
how much I've broken things...

Keith


--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev


Re: [Mesa3d-dev] gallium-sw-api-2, cell driver alert!

2010-03-09 Thread Keith Whitwell
On Tue, 2010-03-09 at 12:43 -0800, Dave Airlie wrote:
 On Wed, Mar 10, 2010 at 2:31 AM, Keith Whitwell kei...@vmware.com wrote:
  On Tue, 2010-03-09 at 08:19 -0800, Corbin Simpson wrote:
  On Tue, Mar 9, 2010 at 6:08 AM, Keith Whitwell kei...@vmware.com wrote:
   This leaves r300g as the only remaining user of
   pipe_winsys/u_simple_screen - which means we can rename that code
   r300_winsys and pull it into that driver...
 
  Dave had some code that fixes this, I think. I more or less agreed
  to stay out of it, but I might take a look if killing u_simple_screen
  is a priority.
 
  It's just a cleanup at this point, no urgency.
 
 I'll try and merge the easy bits of my branch to get drop u_simple_screen
 first.
 
 then worry about the cached mgr stuff.

Sure, whenever it's convenient.

Keith


--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev


[Mesa3d-dev] Piglit fbo tests

2010-03-09 Thread Maciej Cencora
Hi,

following 3 piglit tests are failing on r300 because they're trying to use 
GL_ARB_texture_non_power_of_two without checking if this extension is 
available:

fbo-blit
fbo-nodepth-test
fbo-nostencil-test

I'm not sure what solution is preferable, 1) change the teximage sizes to be 
POT, 2) require ARB_texture_npot.
I've tried first solution for fbo-blit but it segfaults, trying to execute 
function at null address, so it would require some more investigation.

Regards,
Maciej

--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev


Re: [Mesa3d-dev] Commit messages broken??

2010-03-09 Thread Brian Paul
Keith Whitwell wrote:
 I haven't seen any of these for a while now...  Anyone have any ideas?

I haven't seen them either.  I don't know what's going on, but Tollef 
Fog Heen (an FD.org admin) created new mesa lists on fd.o yesterday 
(though Michel and I haven't move the subscriber lists yet).  Perhaps 
something broke from that?

Tollef?

-Brian

--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev


Re: [Mesa3d-dev] Piglit fbo tests

2010-03-09 Thread Brian Paul
Maciej Cencora wrote:
 Hi,
 
 following 3 piglit tests are failing on r300 because they're trying to use 
 GL_ARB_texture_non_power_of_two without checking if this extension is 
 available:
 
 fbo-blit
 fbo-nodepth-test
 fbo-nostencil-test
 
 I'm not sure what solution is preferable, 1) change the teximage sizes to be 
 POT, 2) require ARB_texture_npot.
 I've tried first solution for fbo-blit but it segfaults, trying to execute 
 function at null address, so it would require some more investigation.

We should use POT texture sizes so that the test always does _something_.

Where's the crash?

-Brian

--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev


Re: [Mesa3d-dev] code generation for dynamic extensions broken ?

2010-03-09 Thread George Sapountzis
On Mon, Mar 8, 2010 at 10:37 PM, Ian Romanick i...@freedesktop.org wrote:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1

 George Sapountzis wrote:

 I made a small test to test code genration for dynamic extensions in
 http://cgit.freedesktop.org/~gsap7/mesa/log/?h=getproc-test

 When using libGL + swrast_dri.so from getproc-test, the dynamic
 extensions code is not exercised and the test passes.

 When using libGL from mesa 7.7 and swrast_dri.so from getproc-test,
 the extension string does contain GL_MESA_test_extension but the test
 segfaults.

 There are a few places where this could break.

  - The generated dispatch stub function is wrong.
  - The dispatch offset used by the driver is wrong.
  - The dispatch remapping used by the driver is wrong.


It turned out that there were two bugs in glapi. One with using
non-exec memory and the other with using an un-relocated function
template for entry-point generation. I put fixes at:

http://cgit.freedesktop.org/~gsap7/mesa/log/?h=getproc-debug

I also tested with libGL pretending to not know fbo extensions, the
fbo* demos and tests render correctly. I get a warning about an
invalid enum in RenderbufferStorageMultisample(target) but i don't
know where it comes from and it does not affect rendering.

Since we are already generating static dispatch stubs for all known
extensions, I guess we can add a few more static stubs and use them,
instead of generating on-the-fly. I put an example about this in the
getproc-debug branch, but I don't know if it's a good idea.

regards,
George.

--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev


Re: [Mesa3d-dev] code generation for dynamic extensions broken ?

2010-03-09 Thread George Sapountzis
On Wed, Mar 10, 2010 at 2:18 AM, George Sapountzis
gsapount...@gmail.com wrote:

 I also tested with libGL pretending to not know fbo extensions, the
 fbo* demos and tests render correctly. I get a warning about an
 invalid enum in RenderbufferStorageMultisample(target) but i don't
 know where it comes from and it does not affect rendering.

ignore the warning, it's due to a forgotten debugging call to the
first dynamic function assuming it's the test extension, which is not
the case with fbo.

--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev


Re: [Mesa3d-dev] code generation for dynamic extensions broken ?

2010-03-09 Thread tom fogal
George Sapountzis gsapount...@gmail.com writes:
 On Mon, Mar 8, 2010 at 10:37 PM, Ian Romanick i...@freedesktop.org wrote:
  George Sapountzis wrote:
 
  When using libGL from mesa 7.7 and swrast_dri.so from getproc-test,
  the extension string does contain GL_MESA_test_extension but the test
  segfaults.
 
  There are a few places where this could break.
 
   - The generated dispatch stub function is wrong.
   - The dispatch offset used by the driver is wrong.
   - The dispatch remapping used by the driver is wrong.
 
 It turned out that there were two bugs in glapi. One with using
 non-exec memory and the other with using an un-relocated function
 template for entry-point generation. I put fixes at:
 
 http://cgit.freedesktop.org/~gsap7/mesa/log/?h=getproc-debug

Some comments:

  e38a234.. shouldn't get merged as-is, right?  I mean, there must be
  some sort of mesa_debug macro or similar, so that debug messages are
  configurable.

  ditto for d0b35e9.

  d6c973c is a strange patch; the additions to GLAPI_SOURCES seem
  unrelated to the patch itself.

  977d5d: it seems like there should be some other way to disable this.
  I've been trying to make time to have these XMLs be exhaustive in
  their coverage of GL and GLX extensions, for example, which is good
  for other reasons.

  Most importantly: have you tested with mangled symbols (compile w/
  USE_MGL_NAMESPACE defined)?  It looks like the functions added in
  682971c need #ifdef MANGLE cases.

A few months back, I noticed some cases of doing function lookup
without considering mangled symbols, but couldn't reproduce it in
my setup.  I think it had to do with loading the symbols from a DRI
driver.  It might have even been fine, i.e. a higher level scrubbed out
the mangling.  I guess I'm saying that if you tested mangling  it
still works, great, `done' in my book :)

Cheers,

-tom

--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev


Re: [Mesa3d-dev] code generation for dynamic extensions broken ?

2010-03-09 Thread George Sapountzis

 Some comments:

  e38a234.. shouldn't get merged as-is, right?  I mean, there must be
  some sort of mesa_debug macro or similar, so that debug messages are
  configurable.

  ditto for d0b35e9.


right. from getproc-cleaunp..getproc-debug only the two fixes will be merged

  d6c973c is a strange patch; the additions to GLAPI_SOURCES seem
  unrelated to the patch itself.

mesa_exec_malloc is defined in the added sources from main/


  977d5d: it seems like there should be some other way to disable this.
  I've been trying to make time to have these XMLs be exhaustive in
  their coverage of GL and GLX extensions, for example, which is good
  for other reasons.

that was in order to test adding fbo extensions on-the-fly, not
intended for merging.


  Most importantly: have you tested with mangled symbols (compile w/
  USE_MGL_NAMESPACE defined)?  It looks like the functions added in
  682971c need #ifdef MANGLE cases.

the commit just moves code. I guess get_extension_proc() needs ifdef's
for mangle similar to get_static_proc(), but that can be fixed
separately

thanks,
George.

--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev


Re: [Mesa3d-dev] sw-api-2 branch

2010-03-09 Thread STEVE555

Dear Keith,
I've downloaded your sw-api-2 branch using the .tar.gz
method again(git just won't let me).I used the same ./configure options but
with the exception of doing --prefix=/usr/local instaed od /usr just in
case.
It was compiling fine until it hit this error:

gmake[4]: Entering directory
`/opt/mesa-gallium-sw-api-2/src/gallium/drivers/nv30'
gcc -c -I. -I../../../../src/gallium/include
-I../../../../src/gallium/auxiliary -I../../../../src/gallium/drivers  -g
-O2 -Wall -Wmissing-prototypes -std=c99 -ffast-math -fvisibility=hidden
-fno-strict-aliasing -m32 -g  -fPIC -m32 -DUSE_X86_ASM -DUSE_MMX_ASM
-DUSE_3DNOW_ASM -DUSE_SSE_ASM -D_GNU_SOURCE -DPTHREADS -DDEBUG
-DHAVE_POSIX_MEMALIGN -DUSE_XCB -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER
-DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS
-DHAVE_XEXTPROTO_71 -DMAX_WIDTH=4096 -DMAX_HEIGHT=4096  nv30_clear.c -o
nv30_clear.o
gcc -c -I. -I../../../../src/gallium/include
-I../../../../src/gallium/auxiliary -I../../../../src/gallium/drivers  -g
-O2 -Wall -Wmissing-prototypes -std=c99 -ffast-math -fvisibility=hidden
-fno-strict-aliasing -m32 -g  -fPIC -m32 -DUSE_X86_ASM -DUSE_MMX_ASM
-DUSE_3DNOW_ASM -DUSE_SSE_ASM -D_GNU_SOURCE -DPTHREADS -DDEBUG
-DHAVE_POSIX_MEMALIGN -DUSE_XCB -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER
-DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS
-DHAVE_XEXTPROTO_71 -DMAX_WIDTH=4096 -DMAX_HEIGHT=4096  nv30_context.c -o
nv30_context.o
gcc -c -I. -I../../../../src/gallium/include
-I../../../../src/gallium/auxiliary -I../../../../src/gallium/drivers  -g
-O2 -Wall -Wmissing-prototypes -std=c99 -ffast-math -fvisibility=hidden
-fno-strict-aliasing -m32 -g  -fPIC -m32 -DUSE_X86_ASM -DUSE_MMX_ASM
-DUSE_3DNOW_ASM -DUSE_SSE_ASM -D_GNU_SOURCE -DPTHREADS -DDEBUG
-DHAVE_POSIX_MEMALIGN -DUSE_XCB -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER
-DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS
-DHAVE_XEXTPROTO_71 -DMAX_WIDTH=4096 -DMAX_HEIGHT=4096  nv30_draw.c -o
nv30_draw.o
gcc -c -I. -I../../../../src/gallium/include
-I../../../../src/gallium/auxiliary -I../../../../src/gallium/drivers  -g
-O2 -Wall -Wmissing-prototypes -std=c99 -ffast-math -fvisibility=hidden
-fno-strict-aliasing -m32 -g  -fPIC -m32 -DUSE_X86_ASM -DUSE_MMX_ASM
-DUSE_3DNOW_ASM -DUSE_SSE_ASM -D_GNU_SOURCE -DPTHREADS -DDEBUG
-DHAVE_POSIX_MEMALIGN -DUSE_XCB -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER
-DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS
-DHAVE_XEXTPROTO_71 -DMAX_WIDTH=4096 -DMAX_HEIGHT=4096  nv30_fragprog.c -o
nv30_fragprog.o
gcc -c -I. -I../../../../src/gallium/include
-I../../../../src/gallium/auxiliary -I../../../../src/gallium/drivers  -g
-O2 -Wall -Wmissing-prototypes -std=c99 -ffast-math -fvisibility=hidden
-fno-strict-aliasing -m32 -g  -fPIC -m32 -DUSE_X86_ASM -DUSE_MMX_ASM
-DUSE_3DNOW_ASM -DUSE_SSE_ASM -D_GNU_SOURCE -DPTHREADS -DDEBUG
-DHAVE_POSIX_MEMALIGN -DUSE_XCB -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER
-DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS
-DHAVE_XEXTPROTO_71 -DMAX_WIDTH=4096 -DMAX_HEIGHT=4096  nv30_fragtex.c -o
nv30_fragtex.o
gcc -c -I. -I../../../../src/gallium/include
-I../../../../src/gallium/auxiliary -I../../../../src/gallium/drivers  -g
-O2 -Wall -Wmissing-prototypes -std=c99 -ffast-math -fvisibility=hidden
-fno-strict-aliasing -m32 -g  -fPIC -m32 -DUSE_X86_ASM -DUSE_MMX_ASM
-DUSE_3DNOW_ASM -DUSE_SSE_ASM -D_GNU_SOURCE -DPTHREADS -DDEBUG
-DHAVE_POSIX_MEMALIGN -DUSE_XCB -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER
-DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS
-DHAVE_XEXTPROTO_71 -DMAX_WIDTH=4096 -DMAX_HEIGHT=4096  nv30_miptree.c -o
nv30_miptree.o
nv30_miptree.c: In function ‘nv30_screen_init_miptree_functions’:
nv30_miptree.c:239: error: ‘nv50_miptree_blanket’ undeclared (first use in
this function)
nv30_miptree.c:239: error: (Each undeclared identifier is reported only once
nv30_miptree.c:239: error: for each function it appears in.)
gmake[4]: *** [nv30_miptree.o] Error 1
gmake[4]: Leaving directory
`/opt/mesa-gallium-sw-api-2/src/gallium/drivers/nv30'
gmake[3]: *** [default] Error 1
gmake[3]: Leaving directory `/opt/mesa-gallium-sw-api-2/src/gallium/drivers'
gmake[2]: *** [default] Error 1
gmake[2]: Leaving directory `/opt/mesa-gallium-sw-api-2/src/gallium'
gmake[1]: *** [subdirs] Error 1
gmake[1]: Leaving directory `/opt/mesa-gallium-sw-api-2/src'
gmake: *** [default] Error 1

Regards,
STEVE555

Keith Whitwell-3 wrote:
 
 This has reached a point where I could think about merging it.  There is
 plenty more cleanup to do, but the branch makes some big strides and
 introduces a couple of concepts that I've wanted for a long time. 
 
 In particular the idea of a designated targets subtree which has code
 for explicitly constructing driver stacks. 
 
 Secondly the ability to inject layers into (at least) the software
 stacks has been greatly improved, and I'd like to see us build on that
 for hardware drivers as well.
 
 There is probably still some bugfix to come,